Published 2 months ago
My latest obsession is astronomy. Mostly I observe from the backyard. However, I have also joined the Atlanta Astronomy Club so I have access to their sites as well. I’ve also started dabbling in astrophotography which I’ve been told over and over again is a slippery slope. So far I haven’t mortgaged anything, but then again I’m just getting started
.
Here are some details on my equipment (and dreams of the future).
And you can see some of my pictures here.
Category: Astronomy | Tags: | 1 Comment »
Published 1 year, 5 months ago
Eric asks a good question, too bad no one has commented… It would be nice to hear of a large scale app written with GWT, even better if there happened to be an open source one we could all get a look at.
Category: Java | Tags: | Be the First to Comment »
Published 1 year, 6 months ago
Well, today was my last day at Servidyne. It was really strange. I had one last deployment that had to be done in the morning, and then there was nothing to do. For the first time in 2 years, there was nothing to do. Strange…
Anyway, on Monday I head over to SilverPop and we’ll see what that brings. It should be fun as everyone I’ve met seems really cool and talented. Additionally, the technical environment there is remarkably similar to what I dealt with at Servidyne except with Oracle instead of Sybase (yeah!). Plus they have the same kind of foosball table so it can’t be all bad!
Category: General | Tags: | 1 Comment »
Published 1 year, 6 months ago
So, I finally got around to porting my little sample issue tracking app to Struts 2. I was looking forward to removing almost all of the mappings from my xwork.xml (now struts.xml) thanks to the new wildcard mapping functionality. However, I’ve run into a problem due to the fact that you cannot control the case of the matched values.
Here’s an example set of mappings that for a full CRUD on the Issue object. This pattern is repeated several times and seems like it should be replaceable with a wildcard mapping:
<action name=”issueList” class=”com.smitchelus.issue.action.IssueAction” method=”list”>
<result name=”success”>/WEB-INF/pages/issue/list.jsp</result>
</action>
<action name=”issueCreate” class=”com.smitchelus.issue.action.IssueAction” method=”create”>
<interceptor-ref name=”defaultStack”/>
<result name=”input” >/WEB-INF/pages/issue/edit.jsp</result>
<result name=”success”>/WEB-INF/pages/issue/edit.jsp</result>
</action>
<action name=”issueEdit” class=”com.smitchelus.issue.action.IssueAction” method=”edit”>
<interceptor-ref name=”defaultStack”/>
<result name=”input” >/WEB-INF/pages/issue/edit.jsp</result>
<result name=”success” >/WEB-INF/pages/issue/edit.jsp</result>
</action>
<action name=”issueSave” class=”com.smitchelus.issue.action.IssueAction” method=”save”>
<interceptor-ref name=”defaultStack”/>
<result name=”input” >/WEB-INF/pages/issue/edit.jsp</result>
<result name=”success” type=”redirect-action”>issueList</result>
</action>
So, let’s try to setup a wildcard mapping for the issue list page which would satisfy all list pages in the application:
<action name=”*List” class=”com.smitchelus.issue.action.{1}Action” method=”list”>
<result name=”success”>/WEB-INF/pages/{1}/list.jsp</result>
</action>
This works fine with the exception of the action class name which comes out as “issueAction” when the actual class name is “IssueAction”. I have not found any way to specify that the wildcard match should be init capped in the case of the action name.
If I make the wildcard mapping more like the examples in the documentation I run into another issue:
<action name=”list*” class=”com.smitchelus.issue.action.{1}Action” method=”list”>
<result name=”success”>/WEB-INF/pages/{1}/list.jsp</result>
</action>
By putting the verb before the noun I get the capital letter to construct the proper action class name, but now I have to init cap the directory that my JSPs live in!
So, I don’t have a solution yet. I will go post to the Struts mailing list and share if anything comes out of it. I’ve also started to dig through the XWork source, but at first blush I don’t see a solution hidden away there.
I wonder if it would be reasonable to have a special case with the action class name where it tried the current substitution logic, attempted to find the class and if it doesn’t exist then try the substitution again with the matched values init capped.
Category: Java | Tags: | 4 Comments »
Published 1 year, 8 months ago
I resolve that in 2007 I will upgrade to the latest Wordpress distribution and update the look and feel on this site.
Done! Ahh, isn’t it nice to actually keep a resolution for once…
Category: General | Tags: | Be the First to Comment »