Clinton Begin wrote:
Hi Ate,
Sorry for the delay. To answer your questions:
2) Yes, you are more than welcome to include JPetStore as a sample application with Jetspeed-2. It is licensed under the Apache license just like the rest of iBATIS.
Great. I wasn't sure because I used the 4.0.5 source which still contains a license.txt claiming only you to be the license holder... Have you already moved the source to an apache repository and if so, is it already available as such?
3) I am interested in the modifications you've made to the JSPs. However, JPetStore will eventually undergo a major rewrite to correct
a lot of the "historical scars" and to make it a better example
application. I'd prefer to wait for that before making any broad
changes.
As I said, I can provide you will all the changes I've made. Just let me know who/where I should mail it to. I have the below list of changes in different sets (1-3 ready) so you could use all, none or just a few :-)
You should know my intention is to use the JPetstore as an example/tutorial how to migrate a Struts web application to a portlet application. For that purpose, I changed the original sources in 5 iterations:
1) Reformat the html and jsp sources to get a readable indentation
and nesting of tags, and furthermore clean up a few superfluous
constructions.
To be able to compare the changes I make in each step, having
the source in comparable structure helps a lot!
No functional changes so far.
2) Split the product.description values in an imageName and description.
The product.description contained both the html markup as well as
the description of a pet image.
I've changed the Item.jsp to render the image now using these
two distinct properties.
The reason for this action is that for a JSR-168 Portlet Application
the rendering of an image url should be handled differently.
This is only a technical change.
3) Put a ASF license header in all source files.
As I need to check the sources into the Jetspeed-2 cvs/svn repository
this one is required. I guess the same applies for iBATIS when you
check in the sources in the apache svn repository.
No technical or functional changes.
4) Further "strutified" the application.
This concerns using more struts tags where appropriate, like replacing
<form with <html:form, <a with <html:link, <input type="image with
<html:image and <img with <html:img tags.
This also required me to change the index.html and help.html into jsp
files.
No functional changes.
5) The final step in migrating to a Portlet Application. This involves
a few changes to struts-config.xml like forwarding to actions instead of
jsp files directly and plugging in my own StrutsPortletRequestProcessor.
Furthermore, using relative url paths isn't always working in a portal
environment because the portlet specification doesn't say how portals
should provide a portlet with a proper context path during rendering.
For that, I needed to modify all image references to context path relative.
The Struts Portlet Bridge I've developed provides adapted versions of a few
Struts html tags. To use these transparently, I map a different tld in
web.xml for the struts-html tld.
I'm currently working on allowing the Bridge to be used in a web
application
context too. When that is complete the same jpetstore.war can be deployed
as portlet application or as web application without any needed change!The changes i needed to make between iteration 4 and 5 is what I'm really after. As I said, I'm still working on iteration 5 (and maybe some more on 4). When I have finished that (probably somewhere next week) I will check in the sources for iteration 3, 4 and 5 (the latter being used as example portlet in Jetspeed-2) in the Jetspeed-2 svn repository. I'll let you know when I've done so.
4) I have no personal plans to make iBATIS available via ibiblio, but I am not opposed to the idea.
Would be nice when that happens. Will make it much easier for maven based projects to use iBATIS.
Regards,
Ate
Cheers, Clinton
