The following issue has been updated:
Updater: Scott T Weaver (mailto:[EMAIL PROTECTED])
Date: Wed, 9 Jun 2004 7:26 AM
Changes:
description changed from I am refactoring all of the Jetspeed desccriptor
utility classes from static, utility classes into objects.
PortletDescriptorUtilities has been renamed to PortletApplicationDescriptor.
WebDescriptorUtilities has been refactored into WebApplicationDescriptor.
JetspeedDescriptorUtilities has been refactored into ExtendedPortletMetadata.
Besides the rename, the static methods have been converted into instance methods.
I have created a composite object, PortletApplicationWar, that uses these three
metadata classes to build up registry objects from a war file, which is either an
actual war file itself OR a war-like structure on the file system. I am using
commons-vfs to manipulate the WAR as this allows me to work on the war as a
FileObject, regardless if it is a file system directory or a WAR file.
All these descriptor classes have been moved to the
org.apache.jetspeed.util.descriptor package.
FileSystemPAM uses this class exclusively instead of directly using the metadata
classes themselves. This makes the FSPAM code much more readable and easier to debug.
Looking over the logic for processWebXML, it does not appear to be adding the
JetspeedContainer servlet nor its mapping. Also logic used to decide where to put the
new elements could possibly cause the elements to be placed in the wrong spot relative
to the DTD definition.
I rewrote this logic using JDom and XPath expressions. I am using an XPath query to
check for a specific servelet and servlet-mapping with the servlet-name
"JetspeedContainer". If these elements do not exist, I use JDom to walk the top-level
of elements until it finds the correct location, per the DTD, to insert both the
servlet and servlet-mapping elements.
I have added an additional test, testInfuseWebXML, to TestPortletDescriptor to verify
that the infusing works correctly. to I am refactoring all of the Jetspeed
desccriptor utility classes from static, utility classes into objects.
PortletDescriptorUtilities has been renamed to PortletApplicationDescriptor.
WebDescriptorUtilities has been refactored into WebApplicationDescriptor.
JetspeedDescriptorUtilities has been refactored into ExtendedPortletMetadata.
Besides the rename, the static methods have been converted into instance methods.
I have created a composite object, PortletApplicationWar, that uses these three
metadata classes to build up registry objects from a war file, which is either an
actual war file itself OR a war-like structure on the file system. I am using
commons-vfs to manipulate the WAR as this allows me to work on the war as a
FileObject, regardless if it is a file system directory or a WAR file.
All these descriptor classes have been moved to the
org.apache.jetspeed.util.descriptor package.
FileSystemPAM uses the PortletApplicationWar class exclusively instead of directly
using the metadata classes themselves. This makes the FSPAM code much more readable
and easier to debug.
Looking over the logic for processWebXML, it does not appear to be adding the
JetspeedContainer servlet nor its mapping. Also logic used to decide where to put the
new elements could possibly cause the elements to be placed in the wrong spot relative
to the DTD definition.
I rewrote this logic using JDom and XPath expressions. I am using an XPath query to
check for a specific servelet and servlet-mapping with the servlet-name
"JetspeedContainer". If these elements do not exist, I use JDom to walk the top-level
of elements until it finds the correct location, per the DTD, to insert both the
servlet and servlet-mapping elements.
I have added an additional test, testInfuseWebXML, to TestPortletDescriptor to verify
that the infusing works correctly.
---------------------------------------------------------------------
For a full history of the issue, see:
http://issues.apache.org/jira/browse/JS2-74?page=history
---------------------------------------------------------------------
View the issue:
http://issues.apache.org/jira/browse/JS2-74
Here is an overview of the issue:
---------------------------------------------------------------------
Key: JS2-74
Summary: Refactor PAM and Descriptor Utilities
Type: Improvement
Status: Open
Priority: Major
Project: Jetspeed 2
Components:
Deployment
Versions:
2.0-dev/cvs
2.0-a1
Assignee: Scott T Weaver
Reporter: Scott T Weaver
Created: Wed, 9 Jun 2004 7:25 AM
Updated: Wed, 9 Jun 2004 7:26 AM
Environment: Mandrake Linux 10, Tomcat 4.1.30, HSQL
Description:
I am refactoring all of the Jetspeed desccriptor utility classes from static, utility
classes into objects.
PortletDescriptorUtilities has been renamed to PortletApplicationDescriptor.
WebDescriptorUtilities has been refactored into WebApplicationDescriptor.
JetspeedDescriptorUtilities has been refactored into ExtendedPortletMetadata.
Besides the rename, the static methods have been converted into instance methods.
I have created a composite object, PortletApplicationWar, that uses these three
metadata classes to build up registry objects from a war file, which is either an
actual war file itself OR a war-like structure on the file system. I am using
commons-vfs to manipulate the WAR as this allows me to work on the war as a
FileObject, regardless if it is a file system directory or a WAR file.
All these descriptor classes have been moved to the
org.apache.jetspeed.util.descriptor package.
FileSystemPAM uses the PortletApplicationWar class exclusively instead of directly
using the metadata classes themselves. This makes the FSPAM code much more readable
and easier to debug.
Looking over the logic for processWebXML, it does not appear to be adding the
JetspeedContainer servlet nor its mapping. Also logic used to decide where to put the
new elements could possibly cause the elements to be placed in the wrong spot relative
to the DTD definition.
I rewrote this logic using JDom and XPath expressions. I am using an XPath query to
check for a specific servelet and servlet-mapping with the servlet-name
"JetspeedContainer". If these elements do not exist, I use JDom to walk the top-level
of elements until it finds the correct location, per the DTD, to insert both the
servlet and servlet-mapping elements.
I have added an additional test, testInfuseWebXML, to TestPortletDescriptor to verify
that the infusing works correctly.
---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]