JBoss Portal SVN: r10497 - in modules/presentation/trunk: presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui and 4 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-04-03 18:23:18 -0400 (Thu, 03 Apr 2008)
New Revision: 10497
Added:
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/TypeTestCase.java
Removed:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui/UIObjectImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ui/UIObject.java
Modified:
modules/presentation/trunk/classic/pom.xml
modules/presentation/trunk/classic/presentation-classic.iml
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/MockModelTestCase.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockModelImpl.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockObject.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockObjectImpl.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/AddChildTestCase.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/ModelTestCase.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/NodeDef.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/UIObjectNode.java
Log:
added test case for type
Modified: modules/presentation/trunk/classic/pom.xml
===================================================================
--- modules/presentation/trunk/classic/pom.xml 2008-04-03 21:44:21 UTC (rev 10496)
+++ modules/presentation/trunk/classic/pom.xml 2008-04-03 22:23:18 UTC (rev 10497)
@@ -13,12 +13,19 @@
<name>JBoss Portal Presentation Framework</name>
<dependencies>
+
<dependency>
- <groupId>sun-servlet</groupId>
- <artifactId>servlet-api</artifactId>
- </dependency>
+ <groupId>org.jboss.portal.presentation</groupId>
+ <artifactId>presentation-presentation</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<dependency>
+ <groupId>sun-servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
Modified: modules/presentation/trunk/classic/presentation-classic.iml
===================================================================
--- modules/presentation/trunk/classic/presentation-classic.iml 2008-04-03 21:44:21 UTC (rev 10496)
+++ modules/presentation/trunk/classic/presentation-classic.iml 2008-04-03 22:23:18 UTC (rev 10497)
@@ -12,6 +12,7 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="module" module-name="presentation" exported="" />
<orderEntry type="module-library" exported="">
<library name="javax.servlet:servlet-api:2.4">
<CLASSES>
@@ -39,6 +40,110 @@
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
+ <library name="httpunit:httpunit:1.6">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/httpunit/httpunit/1.6/httpunit-1.6.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/httpunit/httpunit/1.6/httpunit-1.6-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/httpunit/httpunit/1.6/httpunit-1.6-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="xerces:xmlParserAPIs:2.2.1">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/xerces/xmlParserAPIs/2.2.1/xmlParserAPIs-2.2.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/xerces/xmlParserAPIs/2.2.1/xmlParserAPIs-2.2.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/xerces/xmlParserAPIs/2.2.1/xmlParserAPIs-2.2.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="xerces:xercesImpl:2.6.2">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="nekohtml:nekohtml:0.9.1">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/nekohtml/nekohtml/0.9.1/nekohtml-0.9.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/nekohtml/nekohtml/0.9.1/nekohtml-0.9.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/nekohtml/nekohtml/0.9.1/nekohtml-0.9.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="rhino:js:1.5R4.1">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/rhino/js/1.5R4.1/js-1.5R4.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/rhino/js/1.5R4.1/js-1.5R4.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/rhino/js/1.5R4.1/js-1.5R4.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="jtidy:jtidy:4aug2000r7-dev">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="com.google.gwt:gwt-user:1.4.60">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/com/google/gwt/gwt-user/1.4.60/gwt-user-1.4.60.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/com/google/gwt/gwt-user/1.4.60/gwt-user-1.4.60-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/com/google/gwt/gwt-user/1.4.60/gwt-user-1.4.60-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="net.mygwt:mygwt:0.3.0">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/net/mygwt/mygwt/0.3.0/mygwt-0.3.0.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/net/mygwt/mygwt/0.3.0/mygwt-0.3.0-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/net/mygwt/mygwt/0.3.0/mygwt-0.3.0-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
<library name="org.jboss.portal.common:common-common:1.2.0.Beta3">
<CLASSES>
<root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/common/common-common/1.2.0.Beta3/common-common-1.2.0.Beta3.jar!/" />
@@ -130,15 +235,15 @@
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
- <library name="commons-logging:commons-logging:1.0.3">
+ <library name="commons-logging:commons-logging:1.1.1">
<CLASSES>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar!/" />
</CLASSES>
<JAVADOC>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3-javadoc.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3-sources.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
@@ -221,6 +326,58 @@
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
+ <library name="org.jboss.portal.portlet:portlet-jsr168api:2.0.0.CR2">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/portlet/portlet-jsr168api/2.0.0.CR2/portlet-jsr168api-2.0.0.CR2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/portlet/portlet-jsr168api/2.0.0.CR2/portlet-jsr168api-2.0.0.CR2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/portlet/portlet-jsr168api/2.0.0.CR2/portlet-jsr168api-2.0.0.CR2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.portal.portlet:portlet-portal:2.0.0.CR2">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/portlet/portlet-portal/2.0.0.CR2/portlet-portal-2.0.0.CR2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/portlet/portlet-portal/2.0.0.CR2/portlet-portal-2.0.0.CR2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/portlet/portlet-portal/2.0.0.CR2/portlet-portal-2.0.0.CR2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.portal.portlet:portlet-portlet:2.0.0.CR2">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/portlet/portlet-portlet/2.0.0.CR2/portlet-portlet-2.0.0.CR2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/portlet/portlet-portlet/2.0.0.CR2/portlet-portlet-2.0.0.CR2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/portlet/portlet-portlet/2.0.0.CR2/portlet-portlet-2.0.0.CR2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="javax.portlet:portlet-api:2.0">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/portlet/portlet-api/2.0/portlet-api-2.0.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/portlet/portlet-api/2.0/portlet-api-2.0-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/portlet/portlet-api/2.0/portlet-api-2.0-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
<library name="org.jboss.portal.web:web-web:1.2.0.Beta3">
<CLASSES>
<root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/web/web-web/1.2.0.Beta3/web-web-1.2.0.Beta3.jar!/" />
@@ -260,71 +417,84 @@
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
- <library name="org.jboss.microcontainer:jboss-container:2.0.0.Beta9">
+ <library name="javax.servlet.jsp:jsp-api:2.1">
<CLASSES>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-container/2.0.0.Beta9/jboss-container-2.0.0.Beta9.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1.jar!/" />
</CLASSES>
<JAVADOC>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-container/2.0.0.Beta9/jboss-container-2.0.0.Beta9-javadoc.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-container/2.0.0.Beta9/jboss-container-2.0.0.Beta9-sources.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
- <library name="org.jboss:javassist:3.6.0.GA">
+ <library name="sun-jaxb:jaxb-api:2.1.4">
<CLASSES>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/javassist/3.6.0.GA/javassist-3.6.0.GA.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/sun-jaxb/jaxb-api/2.1.4/jaxb-api-2.1.4.jar!/" />
</CLASSES>
<JAVADOC>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/javassist/3.6.0.GA/javassist-3.6.0.GA-javadoc.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/sun-jaxb/jaxb-api/2.1.4/jaxb-api-2.1.4-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/javassist/3.6.0.GA/javassist-3.6.0.GA-sources.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/sun-jaxb/jaxb-api/2.1.4/jaxb-api-2.1.4-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
- <library name="org.jboss:jbossxb:2.0.0.CR4">
+ <library name="javax.ccpp:ccpp:1.0">
<CLASSES>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jbossxb/2.0.0.CR4/jbossxb-2.0.0.CR4.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/ccpp/ccpp/1.0/ccpp-1.0.jar!/" />
</CLASSES>
<JAVADOC>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jbossxb/2.0.0.CR4/jbossxb-2.0.0.CR4-javadoc.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/ccpp/ccpp/1.0/ccpp-1.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jbossxb/2.0.0.CR4/jbossxb-2.0.0.CR4-sources.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/ccpp/ccpp/1.0/ccpp-1.0-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
- <library name="apache-xerces:xercesImpl:2.7.1">
+ <library name="org.jboss.portal.portlet:portlet-controller:2.0.0.CR2">
<CLASSES>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-xerces/xercesImpl/2.7.1/xercesImpl-2.7.1.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/portlet/portlet-controller/2.0.0.CR2/portlet-controller-2.0.0.CR2.jar!/" />
</CLASSES>
<JAVADOC>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-xerces/xercesImpl/2.7.1/xercesImpl-2.7.1-javadoc.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/portlet/portlet-controller/2.0.0.CR2/portlet-controller-2.0.0.CR2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-xerces/xercesImpl/2.7.1/xercesImpl-2.7.1-sources.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/portlet/portlet-controller/2.0.0.CR2/portlet-controller-2.0.0.CR2-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
- <library name="wutka-dtdparser:dtdparser121:1.2.1">
+ <library name="apache-xerces:resolver:2.7.1">
<CLASSES>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-xerces/resolver/2.7.1/resolver-2.7.1.jar!/" />
</CLASSES>
<JAVADOC>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1-javadoc.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-xerces/resolver/2.7.1/resolver-2.7.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1-sources.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-xerces/resolver/2.7.1/resolver-2.7.1-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
+ <library name="apache-xerces:xercesImpl:2.7.1">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-xerces/xercesImpl/2.7.1/xercesImpl-2.7.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-xerces/xercesImpl/2.7.1/xercesImpl-2.7.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-xerces/xercesImpl/2.7.1/xercesImpl-2.7.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
<library name="apache-xerces:xml-apis:2.7.1">
<CLASSES>
<root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-xerces/xml-apis/2.7.1/xml-apis-2.7.1.jar!/" />
@@ -338,6 +508,45 @@
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
+ <library name="org.jboss.portal.portlet:portlet-mc:2.0.0.CR2">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/portlet/portlet-mc/2.0.0.CR2/portlet-mc-2.0.0.CR2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/portlet/portlet-mc/2.0.0.CR2/portlet-mc-2.0.0.CR2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/portlet/portlet-mc/2.0.0.CR2/portlet-mc-2.0.0.CR2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss:jbossxb:2.0.0.CR4">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jbossxb/2.0.0.CR4/jbossxb-2.0.0.CR4.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jbossxb/2.0.0.CR4/jbossxb-2.0.0.CR4-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jbossxb/2.0.0.CR4/jbossxb-2.0.0.CR4-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="jboss:jboss-common-logging-spi:2.0.4.GA">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
<library name="org.jboss:jboss-common-core:2.2.3.GA">
<CLASSES>
<root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jboss-common-core/2.2.3.GA/jboss-common-core-2.2.3.GA.jar!/" />
@@ -377,19 +586,84 @@
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
- <library name="jboss:jboss-logging-spi:2.0.3.GA">
+ <library name="org.jboss.microcontainer:jboss-container:2.0.0.Beta9">
<CLASSES>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-logging-spi/2.0.3.GA/jboss-logging-spi-2.0.3.GA.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-container/2.0.0.Beta9/jboss-container-2.0.0.Beta9.jar!/" />
</CLASSES>
<JAVADOC>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-logging-spi/2.0.3.GA/jboss-logging-spi-2.0.3.GA-javadoc.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-container/2.0.0.Beta9/jboss-container-2.0.0.Beta9-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-logging-spi/2.0.3.GA/jboss-logging-spi-2.0.3.GA-sources.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-container/2.0.0.Beta9/jboss-container-2.0.0.Beta9-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
+ <library name="org.jboss:javassist:3.6.0.GA">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/javassist/3.6.0.GA/javassist-3.6.0.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/javassist/3.6.0.GA/javassist-3.6.0.GA-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/javassist/3.6.0.GA/javassist-3.6.0.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="wutka-dtdparser:dtdparser121:1.2.1">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.unit:jboss-unit:1.2.0.Beta2">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/unit/jboss-unit/1.2.0.Beta2/jboss-unit-1.2.0.Beta2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/unit/jboss-unit/1.2.0.Beta2/jboss-unit-1.2.0.Beta2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/unit/jboss-unit/1.2.0.Beta2/jboss-unit-1.2.0.Beta2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="concurrent:concurrent:1.3.4">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/concurrent/concurrent/1.3.4/concurrent-1.3.4-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/concurrent/concurrent/1.3.4/concurrent-1.3.4-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.portal.common:common-mc:1.2.0.Beta3">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/common/common-mc/1.2.0.Beta3/common-mc-1.2.0.Beta3.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/common/common-mc/1.2.0.Beta3/common-mc-1.2.0.Beta3-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/common/common-mc/1.2.0.Beta3/common-mc-1.2.0.Beta3-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
<library name="org.jboss.microcontainer:jboss-kernel:2.0.0.Beta9">
<CLASSES>
<root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-kernel/2.0.0.Beta9/jboss-kernel-2.0.0.Beta9.jar!/" />
@@ -416,41 +690,41 @@
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
- <library name="org.jboss.microcontainer:jboss-managed:2.0.0.Beta9">
+ <library name="jboss:jboss-logging-spi:2.0.3.GA">
<CLASSES>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-managed/2.0.0.Beta9/jboss-managed-2.0.0.Beta9.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-logging-spi/2.0.3.GA/jboss-logging-spi-2.0.3.GA.jar!/" />
</CLASSES>
<JAVADOC>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-managed/2.0.0.Beta9/jboss-managed-2.0.0.Beta9-javadoc.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-logging-spi/2.0.3.GA/jboss-logging-spi-2.0.3.GA-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-managed/2.0.0.Beta9/jboss-managed-2.0.0.Beta9-sources.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-logging-spi/2.0.3.GA/jboss-logging-spi-2.0.3.GA-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
- <library name="org.jboss.aop:jboss-aop:2.0.0.CR1">
+ <library name="org.jboss.microcontainer:jboss-managed:2.0.0.Beta9">
<CLASSES>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/aop/jboss-aop/2.0.0.CR1/jboss-aop-2.0.0.CR1.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-managed/2.0.0.Beta9/jboss-managed-2.0.0.Beta9.jar!/" />
</CLASSES>
<JAVADOC>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/aop/jboss-aop/2.0.0.CR1/jboss-aop-2.0.0.CR1-javadoc.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-managed/2.0.0.Beta9/jboss-managed-2.0.0.Beta9-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/aop/jboss-aop/2.0.0.CR1/jboss-aop-2.0.0.CR1-sources.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-managed/2.0.0.Beta9/jboss-managed-2.0.0.Beta9-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
- <library name="jboss:jboss-common-logging-spi:2.0.4.GA">
+ <library name="org.jboss.aop:jboss-aop:2.0.0.CR1">
<CLASSES>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/aop/jboss-aop/2.0.0.CR1/jboss-aop-2.0.0.CR1.jar!/" />
</CLASSES>
<JAVADOC>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA-javadoc.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/aop/jboss-aop/2.0.0.CR1/jboss-aop-2.0.0.CR1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
- <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA-sources.jar!/" />
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/aop/jboss-aop/2.0.0.CR1/jboss-aop-2.0.0.CR1-sources.jar!/" />
</SOURCES>
</library>
</orderEntry>
@@ -546,6 +820,162 @@
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
+ <library name="org.jboss.unit:jboss-unit-remote:1.2.0.Beta2">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/unit/jboss-unit-remote/1.2.0.Beta2/jboss-unit-remote-1.2.0.Beta2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/unit/jboss-unit-remote/1.2.0.Beta2/jboss-unit-remote-1.2.0.Beta2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/unit/jboss-unit-remote/1.2.0.Beta2/jboss-unit-remote-1.2.0.Beta2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.unit:portal-test:1.2.0.Beta2">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/unit/portal-test/1.2.0.Beta2/portal-test-1.2.0.Beta2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/unit/portal-test/1.2.0.Beta2/portal-test-1.2.0.Beta2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/unit/portal-test/1.2.0.Beta2/portal-test-1.2.0.Beta2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="cargo:core:0.9-portal">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/cargo/core/0.9-portal/core-0.9-portal.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/cargo/core/0.9-portal/core-0.9-portal-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/cargo/core/0.9-portal/core-0.9-portal-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="sun-opends:opends-core:legacy">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/sun-opends/opends-core/legacy/opends-core-legacy.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/sun-opends/opends-core/legacy/opends-core-legacy-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/sun-opends/opends-core/legacy/opends-core-legacy-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="hibernate:hibernate3:3.2.3.GA">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/hibernate/hibernate3/3.2.3.GA/hibernate3-3.2.3.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/hibernate/hibernate3/3.2.3.GA/hibernate3-3.2.3.GA-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/hibernate/hibernate3/3.2.3.GA/hibernate3-3.2.3.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="dom4j:dom4j:1.6.1">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="xml-apis:xml-apis:1.0.b2">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="jboss.jbossas.core-libs:jboss-transaction:4.0.4.GA">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jbossas/core-libs/jboss-transaction/4.0.4.GA/jboss-transaction-4.0.4.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jbossas/core-libs/jboss-transaction/4.0.4.GA/jboss-transaction-4.0.4.GA-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jbossas/core-libs/jboss-transaction/4.0.4.GA/jboss-transaction-4.0.4.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="jboss.jbossas.core-libs:jnpserver:4.0.4.GA">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jbossas/core-libs/jnpserver/4.0.4.GA/jnpserver-4.0.4.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jbossas/core-libs/jnpserver/4.0.4.GA/jnpserver-4.0.4.GA-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jbossas/core-libs/jnpserver/4.0.4.GA/jnpserver-4.0.4.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="jboss.jbossas.core-libs:jboss-jca:4.0.4.GA">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jbossas/core-libs/jboss-jca/4.0.4.GA/jboss-jca-4.0.4.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jbossas/core-libs/jboss-jca/4.0.4.GA/jboss-jca-4.0.4.GA-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jbossas/core-libs/jboss-jca/4.0.4.GA/jboss-jca-4.0.4.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="jboss.jbossas.core-libs:jboss-local-jdbc:4.0.4.GA">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jbossas/core-libs/jboss-local-jdbc/4.0.4.GA/jboss-local-jdbc-4.0.4.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jbossas/core-libs/jboss-local-jdbc/4.0.4.GA/jboss-local-jdbc-4.0.4.GA-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jbossas/core-libs/jboss-local-jdbc/4.0.4.GA/jboss-local-jdbc-4.0.4.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="jboss.jbossas.core-libs:jboss:4.0.4.GA">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jbossas/core-libs/jboss/4.0.4.GA/jboss-4.0.4.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jbossas/core-libs/jboss/4.0.4.GA/jboss-4.0.4.GA-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jbossas/core-libs/jboss/4.0.4.GA/jboss-4.0.4.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
<library name="jboss:jboss-common-core:2.0.3.GA">
<CLASSES>
<root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-common-core/2.0.3.GA/jboss-common-core-2.0.3.GA.jar!/" />
@@ -571,6 +1001,370 @@
</SOURCES>
</library>
</orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="jboss:jboss-system:4.2.0.GA">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-system/4.2.0.GA/jboss-system-4.2.0.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-system/4.2.0.GA/jboss-system-4.2.0.GA-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-system/4.2.0.GA/jboss-system-4.2.0.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.unit:jboss-unit-mc:1.2.0.Beta2">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/unit/jboss-unit-mc/1.2.0.Beta2/jboss-unit-mc-1.2.0.Beta2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/unit/jboss-unit-mc/1.2.0.Beta2/jboss-unit-mc-1.2.0.Beta2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/unit/jboss-unit-mc/1.2.0.Beta2/jboss-unit-mc-1.2.0.Beta2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.unit:jboss-unit-tooling-ant:1.2.0.Beta2">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/unit/jboss-unit-tooling-ant/1.2.0.Beta2/jboss-unit-tooling-ant-1.2.0.Beta2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/unit/jboss-unit-tooling-ant/1.2.0.Beta2/jboss-unit-tooling-ant-1.2.0.Beta2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/unit/jboss-unit-tooling-ant/1.2.0.Beta2/jboss-unit-tooling-ant-1.2.0.Beta2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.apache.ant:ant-junit:1.7.0">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/apache/ant/ant-junit/1.7.0/ant-junit-1.7.0.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/apache/ant/ant-junit/1.7.0/ant-junit-1.7.0-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/apache/ant/ant-junit/1.7.0/ant-junit-1.7.0-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.apache.ant:ant:1.7.0">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/apache/ant/ant/1.7.0/ant-1.7.0.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/apache/ant/ant/1.7.0/ant-1.7.0-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/apache/ant/ant/1.7.0/ant-1.7.0-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.apache.ant:ant-launcher:1.7.0">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.unit:jboss-unit-tooling-core:1.2.0.Beta2">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/unit/jboss-unit-tooling-core/1.2.0.Beta2/jboss-unit-tooling-core-1.2.0.Beta2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/unit/jboss-unit-tooling-core/1.2.0.Beta2/jboss-unit-tooling-core-1.2.0.Beta2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/unit/jboss-unit-tooling-core/1.2.0.Beta2/jboss-unit-tooling-core-1.2.0.Beta2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.unit:portal-test-generic:1.2.0.Beta2">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/unit/portal-test-generic/1.2.0.Beta2/portal-test-generic-1.2.0.Beta2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/unit/portal-test-generic/1.2.0.Beta2/portal-test-generic-1.2.0.Beta2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/unit/portal-test-generic/1.2.0.Beta2/portal-test-generic-1.2.0.Beta2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="jboss:jboss-logging-jdk:2.0.3.GA">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-logging-jdk/2.0.3.GA/jboss-logging-jdk-2.0.3.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-logging-jdk/2.0.3.GA/jboss-logging-jdk-2.0.3.GA-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-logging-jdk/2.0.3.GA/jboss-logging-jdk-2.0.3.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="jboss:jboss-logging-log4j:2.0.3.GA">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-logging-log4j/2.0.3.GA/jboss-logging-log4j-2.0.3.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-logging-log4j/2.0.3.GA/jboss-logging-log4j-2.0.3.GA-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-logging-log4j/2.0.3.GA/jboss-logging-log4j-2.0.3.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.microcontainer:jboss-aop-mc-int:2.0.0.Beta9">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-aop-mc-int/2.0.0.Beta9/jboss-aop-mc-int-2.0.0.Beta9.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-aop-mc-int/2.0.0.Beta9/jboss-aop-mc-int-2.0.0.Beta9-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-aop-mc-int/2.0.0.Beta9/jboss-aop-mc-int-2.0.0.Beta9-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.microcontainer:jboss-classloader:2.0.0.Beta9">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-classloader/2.0.0.Beta9/jboss-classloader-2.0.0.Beta9.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-classloader/2.0.0.Beta9/jboss-classloader-2.0.0.Beta9-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-classloader/2.0.0.Beta9/jboss-classloader-2.0.0.Beta9-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss:jboss-classloading-spi:5.0.0.Beta3">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jboss-classloading-spi/5.0.0.Beta3/jboss-classloading-spi-5.0.0.Beta3.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jboss-classloading-spi/5.0.0.Beta3/jboss-classloading-spi-5.0.0.Beta3-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jboss-classloading-spi/5.0.0.Beta3/jboss-classloading-spi-5.0.0.Beta3-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.microcontainer:jboss-deployers-client-spi:2.0.0.Beta9">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-client-spi/2.0.0.Beta9/jboss-deployers-client-spi-2.0.0.Beta9.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-client-spi/2.0.0.Beta9/jboss-deployers-client-spi-2.0.0.Beta9-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-client-spi/2.0.0.Beta9/jboss-deployers-client-spi-2.0.0.Beta9-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.microcontainer:jboss-deployers-core-spi:2.0.0.Beta9">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-core-spi/2.0.0.Beta9/jboss-deployers-core-spi-2.0.0.Beta9.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-core-spi/2.0.0.Beta9/jboss-deployers-core-spi-2.0.0.Beta9-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-core-spi/2.0.0.Beta9/jboss-deployers-core-spi-2.0.0.Beta9-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.microcontainer:jboss-deployers-client:2.0.0.Beta9">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-client/2.0.0.Beta9/jboss-deployers-client-2.0.0.Beta9.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-client/2.0.0.Beta9/jboss-deployers-client-2.0.0.Beta9-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-client/2.0.0.Beta9/jboss-deployers-client-2.0.0.Beta9-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.microcontainer:jboss-deployers-core:2.0.0.Beta9">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-core/2.0.0.Beta9/jboss-deployers-core-2.0.0.Beta9.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-core/2.0.0.Beta9/jboss-deployers-core-2.0.0.Beta9-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-core/2.0.0.Beta9/jboss-deployers-core-2.0.0.Beta9-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.microcontainer:jboss-deployers-impl:2.0.0.Beta9">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-impl/2.0.0.Beta9/jboss-deployers-impl-2.0.0.Beta9.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-impl/2.0.0.Beta9/jboss-deployers-impl-2.0.0.Beta9-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-impl/2.0.0.Beta9/jboss-deployers-impl-2.0.0.Beta9-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.microcontainer:jboss-deployers-structure-spi:2.0.0.Beta9">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-structure-spi/2.0.0.Beta9/jboss-deployers-structure-spi-2.0.0.Beta9.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-structure-spi/2.0.0.Beta9/jboss-deployers-structure-spi-2.0.0.Beta9-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-structure-spi/2.0.0.Beta9/jboss-deployers-structure-spi-2.0.0.Beta9-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.osgi:osgi_R4_core:1.0">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/osgi/osgi_R4_core/1.0/osgi_R4_core-1.0.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/osgi/osgi_R4_core/1.0/osgi_R4_core-1.0-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/osgi/osgi_R4_core/1.0/osgi_R4_core-1.0-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.microcontainer:jboss-deployers-spi:2.0.0.Beta9">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-spi/2.0.0.Beta9/jboss-deployers-spi-2.0.0.Beta9.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-spi/2.0.0.Beta9/jboss-deployers-spi-2.0.0.Beta9-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-spi/2.0.0.Beta9/jboss-deployers-spi-2.0.0.Beta9-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.microcontainer:jboss-deployers-vfs-spi:2.0.0.Beta9">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-vfs-spi/2.0.0.Beta9/jboss-deployers-vfs-spi-2.0.0.Beta9.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-vfs-spi/2.0.0.Beta9/jboss-deployers-vfs-spi-2.0.0.Beta9-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-vfs-spi/2.0.0.Beta9/jboss-deployers-vfs-spi-2.0.0.Beta9-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss:jboss-vfs:2.0.0.Beta6">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jboss-vfs/2.0.0.Beta6/jboss-vfs-2.0.0.Beta6.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jboss-vfs/2.0.0.Beta6/jboss-vfs-2.0.0.Beta6-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jboss-vfs/2.0.0.Beta6/jboss-vfs-2.0.0.Beta6-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="javax.xml.bind:jaxb-api:2.0">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/xml/bind/jaxb-api/2.0/jaxb-api-2.0.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/xml/bind/jaxb-api/2.0/jaxb-api-2.0-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/xml/bind/jaxb-api/2.0/jaxb-api-2.0-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="javax.xml.bind:jsr173_api:1.0">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/xml/bind/jsr173_api/1.0/jsr173_api-1.0.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/xml/bind/jsr173_api/1.0/jsr173_api-1.0-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/xml/bind/jsr173_api/1.0/jsr173_api-1.0-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.microcontainer:jboss-deployers-vfs:2.0.0.Beta9">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-vfs/2.0.0.Beta9/jboss-deployers-vfs-2.0.0.Beta9.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-vfs/2.0.0.Beta9/jboss-deployers-vfs-2.0.0.Beta9-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-deployers-vfs/2.0.0.Beta9/jboss-deployers-vfs-2.0.0.Beta9-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="apache-taglibs:jstl:1.1.2">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-taglibs/jstl/1.1.2/jstl-1.1.2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-taglibs/jstl/1.1.2/jstl-1.1.2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-taglibs/jstl/1.1.2/jstl-1.1.2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="apache-taglibs:standard:1.1.2">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-taglibs/standard/1.1.2/standard-1.1.2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-taglibs/standard/1.1.2/standard-1.1.2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-taglibs/standard/1.1.2/standard-1.1.2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
<orderEntryProperties />
</component>
</module>
Deleted: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui/UIObjectImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui/UIObjectImpl.java 2008-04-03 21:44:21 UTC (rev 10496)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui/UIObjectImpl.java 2008-04-03 22:23:18 UTC (rev 10497)
@@ -1,80 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2008, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
- ******************************************************************************/
-package org.jboss.portal.presentation.impl.model2.ui;
-
-import org.jboss.portal.presentation.model2.ui.UIObject;
-import org.jboss.portal.presentation.state.StateException;
-import org.jboss.portal.presentation.state.structural.StructuralObject;
-import org.jboss.portal.presentation.impl.model2.UIObjectRef;
-import org.jboss.portal.common.reflect.Reflection;
-
-import java.util.Map;
-import java.util.Set;
-
-/**
- * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
- * @version $Revision: 630 $
- */
-public class UIObjectImpl implements UIObject
-{
-
- /** . */
- public StructuralObject structuralObject;
-
- /** We keep track of what was loaded by the scope. */
- public Map<String, UIObjectRef> childRefs;
-
- public UIObjectImpl(StructuralObject structuralObject)
- {
- this.structuralObject = structuralObject;
- }
-
- public String getId()
- {
- return structuralObject.getId();
- }
-
- public String getName()
- {
- return structuralObject.getState().getName();
- }
-
- public <T> T getProperty(String propertyName, Class<T> propertyType) throws IllegalArgumentException, StateException
- {
- return Reflection.safeCast(getProperty(propertyName), propertyType);
- }
-
- public Set<String> getPropertyNames()
- {
- return structuralObject.getState().getProperties().keySet();
- }
-
- public Object getProperty(String propertyName) throws IllegalArgumentException, StateException
- {
- if (propertyName == null)
- {
- throw new IllegalArgumentException();
- }
- return structuralObject.getState().getProperties().get(propertyName);
- }
-}
\ No newline at end of file
Deleted: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ui/UIObject.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ui/UIObject.java 2008-04-03 21:44:21 UTC (rev 10496)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ui/UIObject.java 2008-04-03 22:23:18 UTC (rev 10497)
@@ -1,70 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2008, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
- ******************************************************************************/
-package org.jboss.portal.presentation.model2.ui;
-
-import org.jboss.portal.presentation.model.state.StateException;
-
-import java.util.Set;
-
-/**
- * A wrapper of a structural object. The main goal of this object is to let the viewport add custom payload
- * in addition of the structural state.
- *
- * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
- * @version $Revision: 630 $
- */
-public interface UIObject
-{
-
- /**
- * Returns the id.
- *
- * @return the id
- */
- String getId();
-
- /**
- * Returns the name.
- *
- * @return the name
- */
- String getName();
-
- /**
- * Returns a property value or null if it does not exist.
- *
- * @param propertyName the property name
- * @param propertyType the expected property type
- * @return the property value
- * @throws IllegalArgumentException if any argument is null or not valid
- * @throws org.jboss.portal.presentation.model.state.StateException any state exception
- */
- <T> T getProperty(String propertyName, Class<T> propertyType) throws IllegalArgumentException, StateException;
-
- /**
- * Returns the set of property names of this object
- *
- * @return the property names
- */
- Set<String> getPropertyNames();
-}
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/MockModelTestCase.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/MockModelTestCase.java 2008-04-03 21:44:21 UTC (rev 10496)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/MockModelTestCase.java 2008-04-03 22:23:18 UTC (rev 10497)
@@ -22,10 +22,8 @@
******************************************************************************/
package org.jboss.portal.presentation.test.model;
-import org.jboss.portal.presentation.model2.ui.UIContext;
import org.jboss.portal.presentation.model2.ui.UIPage;
import org.jboss.portal.presentation.model2.UIObject;
-import org.jboss.portal.presentation.model2.ui.UIWindow;
import org.jboss.portal.presentation.state.StaleStateException;
import org.jboss.portal.presentation.state.structural.StructuralObject;
import org.jboss.portal.presentation.state.structural.StructuralStateContext;
@@ -102,7 +100,7 @@
protected Class<? extends UIObject> getType(MockObject object)
{
- return object.getType().getModelClass();
+ return object.getType();
}
protected String getId(MockObject object)
@@ -121,27 +119,8 @@
}
- protected MockObject addChild(MockObject object, String name, Class<? extends UIObject> modelType)
+ protected MockObject addChild(MockObject object, String name, Class<? extends UIObject> type)
{
- MockObject.Type type;
- if (UIPage.class.equals(modelType))
- {
- type = MockObject.Type.PAGE;
- }
- else if (UIContext.class.equals(modelType))
- {
- type = MockObject.Type.CONTEXT;
- }
- else if (UIWindow.class.equals(modelType))
- {
- type = MockObject.Type.WINDOW;
- }
- else
- {
- throw new AssertionError();
- }
-
- //
return object.addChild(name, type);
}
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockModelImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockModelImpl.java 2008-04-03 21:44:21 UTC (rev 10496)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockModelImpl.java 2008-04-03 22:23:18 UTC (rev 10497)
@@ -24,8 +24,6 @@
import org.jboss.portal.presentation.model2.ui.UIContext;
import org.jboss.portal.presentation.model2.UIObject;
-import org.jboss.portal.presentation.model2.ui.UIPage;
-import org.jboss.portal.presentation.model2.ui.UIWindow;
import org.jboss.portal.presentation.state.NoSuchStateException;
import org.jboss.portal.presentation.state.StaleStateException;
import org.jboss.portal.presentation.state.StateException;
@@ -54,19 +52,8 @@
private final Map<String, MockObjectImpl> universe = new HashMap<String, MockObjectImpl>();
/** . */
- private final MockObjectImpl root = createObject(MockObject.Type.CONTEXT, "");
+ private final MockObjectImpl root = createObject(UIContext.class, "");
- /** . */
- private static final Map<Class<? extends UIObject>, MockObject.Type> map;
-
- static
- {
- map = new HashMap<Class<? extends UIObject>, MockObject.Type>();
- map.put(UIContext.class, MockObject.Type.CONTEXT);
- map.put(UIPage.class, MockObject.Type.PAGE);
- map.put(UIWindow.class, MockObject.Type.WINDOW);
- }
-
public StructuralStateContext getStructuralStateContext()
{
return structuralStateContext;
@@ -99,7 +86,7 @@
ids.add(object.getId());
}
- MockObjectImpl createObject(MockObject.Type type, String name)
+ MockObjectImpl createObject(Class<? extends UIObject> type, String name)
{
MockObjectImpl mockObject = new MockObjectImpl(this, name, type, "" + generator++);
universe.put(mockObject.getId(), mockObject);
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockObject.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockObject.java 2008-04-03 21:44:21 UTC (rev 10496)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockObject.java 2008-04-03 22:23:18 UTC (rev 10497)
@@ -39,28 +39,6 @@
public interface MockObject
{
- /**
- *
- */
- public enum Type
- {
-
- PAGE(UIPage.class), WINDOW(UIWindow.class), CONTEXT(UIContext.class);
-
- /** . */
- final Class<? extends UIObject> clazz;
-
- Type(Class<? extends UIObject> clazz)
- {
- this.clazz = clazz;
- }
-
- public Class<? extends UIObject> getModelClass()
- {
- return clazz;
- }
- }
-
public abstract static class UpdateBehavior
{
public static UpdateBehavior veto()
@@ -98,7 +76,7 @@
}
}
- Type getType();
+ Class<? extends UIObject> getType();
String getName();
@@ -116,9 +94,9 @@
Set<String> getPropertyNames();
- MockObject addChild(String name, Type type, Map<String, String> state) throws IllegalArgumentException, MockException;
+ MockObject addChild(String name, Class<? extends UIObject> type, Map<String, String> state) throws IllegalArgumentException, MockException;
- MockObject addChild(String name, Type type) throws IllegalArgumentException, MockException;
+ MockObject addChild(String name, Class<? extends UIObject> type) throws IllegalArgumentException, MockException;
MockObject getParent();
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockObjectImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockObjectImpl.java 2008-04-03 21:44:21 UTC (rev 10496)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockObjectImpl.java 2008-04-03 22:23:18 UTC (rev 10497)
@@ -22,6 +22,8 @@
******************************************************************************/
package org.jboss.portal.presentation.test.model.state.structural;
+import org.jboss.portal.presentation.model2.UIObject;
+
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
@@ -41,7 +43,7 @@
private static final Map<String, String> EMPTY_STATE = Collections.emptyMap();
/** . */
- private final MockObject.Type type;
+ private final Class<? extends UIObject> type;
/** . */
private final String name;
@@ -67,7 +69,7 @@
/** The version id. */
private StructuralObjectHandle handle;
- MockObjectImpl(MockModelImpl model, String name, MockObject.Type type, String id)
+ MockObjectImpl(MockModelImpl model, String name, Class<? extends UIObject> type, String id)
{
this.model = model;
this.name = name;
@@ -79,7 +81,7 @@
this.handle = new StructuralObjectHandle(id, 0);
}
- public MockObject.Type getType()
+ public Class<? extends UIObject> getType()
{
return type;
}
@@ -142,7 +144,7 @@
return null;
}
- public MockObjectImpl addChild(String name, MockObject.Type type) throws MockException
+ public MockObjectImpl addChild(String name, Class<? extends UIObject> type) throws MockException
{
return addChild(name, type, EMPTY_STATE);
}
@@ -152,7 +154,7 @@
return Collections.unmodifiableSet(propertyValues.keySet());
}
- public MockObjectImpl addChild(String name, Type type, Map<String, String> state) throws MockException
+ public MockObjectImpl addChild(String name, Class<? extends UIObject> type, Map<String, String> state) throws MockException
{
if (!valid)
{
@@ -254,7 +256,7 @@
}
//
- StructuralStateImpl state = new StructuralStateImpl(type.clazz, name, new HashMap<String, String>(propertyValues));
+ StructuralStateImpl state = new StructuralStateImpl(type, name, new HashMap<String, String>(propertyValues));
//
return new StructuralObjectImpl(handle, parentHandle, childrenHandles, state);
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/AddChildTestCase.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/AddChildTestCase.java 2008-04-03 21:44:21 UTC (rev 10496)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/AddChildTestCase.java 2008-04-03 22:23:18 UTC (rev 10497)
@@ -25,6 +25,7 @@
import org.jboss.portal.presentation.model2.ViewPortScope;
import org.jboss.portal.presentation.model2.ViewPort;
import org.jboss.portal.presentation.model2.ObjectTraversalType;
+import org.jboss.portal.presentation.model2.ui.UIPage;
import org.jboss.portal.presentation.test.model.state.structural.MockObject;
/**
@@ -59,7 +60,7 @@
context.assertConsistency(model.getRootId());
//
- mockModel.getRoot().getChild("foo").addChild("juu", MockObject.Type.PAGE);
+ mockModel.getRoot().getChild("foo").addChild("juu", UIPage.class);
fooDef.addChild("juu");
fooDef.setTraversal(after[0]);
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/ModelTestCase.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/ModelTestCase.java 2008-04-03 21:44:21 UTC (rev 10496)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/ModelTestCase.java 2008-04-03 22:23:18 UTC (rev 10497)
@@ -25,6 +25,10 @@
import org.jboss.portal.presentation.model2.ViewPortScope;
import org.jboss.portal.presentation.model2.ViewPort;
import org.jboss.portal.presentation.model2.ObjectTraversalType;
+import org.jboss.portal.presentation.model2.ui.UIPage;
+import org.jboss.portal.presentation.model2.ui.UIWindow;
+import org.jboss.portal.presentation.model2.ui.UIContext;
+import org.jboss.portal.presentation.test.model.state.structural.MockObject;
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/NodeDef.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/NodeDef.java 2008-04-03 21:44:21 UTC (rev 10496)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/NodeDef.java 2008-04-03 22:23:18 UTC (rev 10497)
@@ -23,6 +23,9 @@
package org.jboss.portal.presentation.test.model3;
import org.jboss.portal.presentation.model2.ObjectTraversalType;
+import org.jboss.portal.presentation.model2.UIObject;
+import org.jboss.portal.presentation.model2.ui.UIPage;
+import org.jboss.portal.presentation.model2.ui.UIContext;
import org.jboss.portal.presentation.test.model.state.structural.MockObject;
import org.jboss.portal.presentation.test.model.state.structural.MockModel;
@@ -42,7 +45,7 @@
public static NodeDef create()
{
- return new NodeDef("");
+ return new NodeDef("", UIContext.class);
}
/** . */
@@ -58,11 +61,15 @@
private NodeDef parent;
/** . */
+ private final Class<? extends UIObject> type;
+
+ /** . */
private final Map<String, String> properties;
- private NodeDef(String name)
+ private NodeDef(String name, Class<? extends UIObject> type)
{
this.name = name;
+ this.type = type;
this.children = new HashMap<String, NodeDef>();
this.traversal = ObjectTraversalType.RECURSIVE;
this.parent = null;
@@ -125,13 +132,18 @@
public NodeDef addChild(String name)
{
+ return addChild(name, UIPage.class);
+ }
+
+ public NodeDef addChild(String name, Class<? extends UIObject> type)
+ {
if (children.containsKey(name))
{
throw new IllegalStateException();
}
//
- NodeDef child = new NodeDef(name);
+ NodeDef child = new NodeDef(name, type);
//
children.put(name, child);
@@ -164,7 +176,7 @@
{
for (Map.Entry<String, NodeDef> childNodeEntry : children.entrySet())
{
- MockObject child = object.addChild(childNodeEntry.getKey(), MockObject.Type.PAGE, properties);
+ MockObject child = object.addChild(childNodeEntry.getKey(), childNodeEntry.getValue().type, properties);
childNodeEntry.getValue().populate(child);
}
}
Added: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/TypeTestCase.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/TypeTestCase.java (rev 0)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/TypeTestCase.java 2008-04-03 22:23:18 UTC (rev 10497)
@@ -0,0 +1,67 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.presentation.test.model3;
+
+import org.jboss.portal.presentation.model2.ui.UIPage;
+import org.jboss.portal.presentation.model2.ui.UIWindow;
+import org.jboss.portal.presentation.model2.ui.UIContext;
+import org.jboss.portal.presentation.model2.ViewPortScope;
+import org.jboss.portal.presentation.model2.ViewPort;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class TypeTestCase extends AbstractModelTestCase
+{
+
+ public void testType()
+ {
+ NodeDef rootDef = NodeDef.create();
+ NodeDef fooDef = rootDef.addChild("foo", UIPage.class);
+ NodeDef barDef = rootDef.addChild("bar", UIWindow.class);
+
+ //
+ rootDef.populate(mockModel);
+
+ //
+ ViewPortScope scope = new CustomScope(model, rootDef);
+ UIObjectTree context = new UIObjectTree();
+ ViewPort viewPort = model.createViewPort(context, scope);
+
+ //
+ viewPort.refresh();
+
+ //
+ UIObjectNode root = context.getNode(mockModel.getStructuralStateContext().getRootId());
+ UIObjectNode foo = root.getChild("foo");
+ UIObjectNode bar = root.getChild("bar");
+
+ //
+ assertTrue(root.getObject() instanceof UIContext);
+ assertTrue("was not expecting: " + foo.getObject().getClass().getName(), foo.getObject() instanceof UIPage);
+ assertTrue("was not expecting: " + bar.getObject().getClass().getName(), bar.getObject() instanceof UIWindow);
+
+ }
+
+}
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/UIObjectNode.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/UIObjectNode.java 2008-04-03 21:44:21 UTC (rev 10496)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/UIObjectNode.java 2008-04-03 22:23:18 UTC (rev 10497)
@@ -85,6 +85,11 @@
return children;
}
+ public UIObjectNode getChild(String name)
+ {
+ return children.get(name);
+ }
+
public void addChild(UIObjectNode child)
{
if (children == null)
16 years, 2 months
JBoss Portal SVN: r10496 - modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-04-03 17:44:21 -0400 (Thu, 03 Apr 2008)
New Revision: 10496
Removed:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/diff/
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/update/
Log:
- added uiobject subclasses implementation
- moved impl model subpackage to model package as those are really related and need to access package protected fields of some objects
16 years, 2 months
JBoss Portal SVN: r10495 - in modules/presentation/trunk/presentation/src: main/java/org/jboss/portal/presentation/impl/model2/diff and 13 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-04-03 17:40:50 -0400 (Thu, 03 Apr 2008)
New Revision: 10495
Added:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ChildrenVisit.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/CreateDiffPhase.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/CreateUpdatePhase.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ObjectUpdate.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ObjectVisit.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/UIObjectImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui/UIContextImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui/UIPageImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui/UIWindowImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/UIObject.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/StateType.java
Removed:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/diff/ChildrenVisit.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/diff/CreateDiffPhase.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/diff/ObjectVisit.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/update/CreateUpdatePhase.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/update/ObjectUpdate.java
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ViewPortImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/navigational/NavigationalStateContextImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/ContextNode.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/PageNode.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralNode.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralStateImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/WindowNode.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ViewPortContext.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ViewPortScope.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ui/UIContainer.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ui/UIContext.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ui/UIPage.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ui/UIWindow.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/navigational/NavigationalStateContext.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/structural/StructuralState.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/AbstractModelTestCase.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/MockModelTestCase.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockModelImpl.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockObject.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/StructuralStateImpl.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/CustomScope.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/UIObjectNode.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/UIObjectTree.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/state/structural/StructuralStateContextTestCase.java
Log:
- added uiobject subclasses implementation
- moved impl model subpackage to model package as those are really related and need to access package protected fields of some objects
Copied: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ChildrenVisit.java (from rev 10491, modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/diff/ChildrenVisit.java)
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ChildrenVisit.java (rev 0)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ChildrenVisit.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -0,0 +1,70 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.presentation.impl.model2;
+
+import java.util.Collection;
+import java.util.ArrayList;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class ChildrenVisit
+{
+
+ /** . */
+ final Collection<ObjectVisit> addedObjects = new ArrayList<ObjectVisit>();
+
+ /** . */
+ final Collection<ObjectVisit> validObjects = new ArrayList<ObjectVisit>();
+
+ /** . */
+ final Collection<ObjectVisit> staleObjects = new ArrayList<ObjectVisit>();
+
+ /** . */
+ final Collection<String> removedObjects = new ArrayList<String>();
+
+ ChildrenVisit()
+ {
+ }
+
+ public Collection<ObjectVisit> getAddedObjects()
+ {
+ return addedObjects;
+ }
+
+ public Collection<String> getRemovedObjects()
+ {
+ return removedObjects;
+ }
+
+ public Collection<ObjectVisit> getValidObjects()
+ {
+ return validObjects;
+ }
+
+ public Collection<ObjectVisit> getStaleObjects()
+ {
+ return staleObjects;
+ }
+}
Copied: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/CreateDiffPhase.java (from rev 10491, modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/diff/CreateDiffPhase.java)
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/CreateDiffPhase.java (rev 0)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/CreateDiffPhase.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -0,0 +1,193 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.presentation.impl.model2;
+
+import org.jboss.portal.presentation.model2.ViewPortScope;
+import org.jboss.portal.presentation.model2.ViewPortContext;
+import org.jboss.portal.presentation.model2.ObjectTraversalType;
+import org.jboss.portal.presentation.state.structural.StructuralStateContext;
+import org.jboss.portal.presentation.state.structural.StructuralObject;
+import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class CreateDiffPhase
+{
+
+ /** . */
+ private final ViewPortContext context;
+
+ /** . */
+ private final ViewPortScope scope;
+
+ /** . */
+ private final NavigationalStateContext navigationalStateContext;
+
+ /** . */
+ private final StructuralStateContext structuralStateContext;
+
+ /** . */
+ private ObjectVisit rootVisit;
+
+ public CreateDiffPhase(
+ ViewPortContext context,
+ ViewPortScope scope,
+ NavigationalStateContext navigationalStateContext,
+ StructuralStateContext structuralStateContext)
+ {
+ this.context = context;
+ this.scope = scope;
+ this.navigationalStateContext = navigationalStateContext;
+ this.structuralStateContext = structuralStateContext;
+ }
+
+ public void perform()
+ {
+ rootVisit = diff(scope.getRootId());
+ }
+
+ public ObjectVisit getRootVisit()
+ {
+ return rootVisit;
+ }
+
+ private ObjectVisit diff(String objectId)
+ {
+ UIObjectImpl object = (UIObjectImpl)context.getObject(objectId);
+
+ //
+ if (object == null)
+ {
+ StructuralObject structuralObject = structuralStateContext.load(objectId);
+
+ //
+ if (structuralObject == null)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ //
+ return load(structuralObject);
+ }
+ else
+ {
+ return diff(object);
+ }
+ }
+
+ private ObjectVisit diff(UIObjectImpl object)
+ {
+ ObjectTraversalType traversalType = scope.enterObject(object);
+
+ //
+ try
+ {
+ switch (traversalType)
+ {
+ case SKIP:
+ return new ObjectVisit(object, false);
+ case SINGLE:
+ return new ObjectVisit(object, true);
+ case RECURSIVE:
+ StructuralObject.Refresh refresh = structuralStateContext.refresh(object.structuralObject);
+ ChildrenVisit childrenVisit = new ChildrenVisit();
+
+ //
+ for (StructuralObject addedStructuralChild : refresh.getAddedChildren())
+ {
+ ObjectVisit childVisit = load(addedStructuralChild);
+ childrenVisit.addedObjects.add(childVisit);
+ }
+
+ //
+ for (StructuralObject staleStructuralChild : refresh.getStaleChildren().values())
+ {
+ ObjectVisit childVisit = diff(staleStructuralChild.getId());
+ childrenVisit.staleObjects.add(childVisit);
+ }
+
+ //
+ for (String validChildId : refresh.getValidChildren())
+ {
+ ObjectVisit childVisit = diff(validChildId);
+ childrenVisit.validObjects.add(childVisit);
+ }
+
+ //
+ childrenVisit.removedObjects.addAll(refresh.getRemovedChildren());
+
+ //
+ return new ObjectVisit(object, childrenVisit);
+ default:
+ throw new AssertionError();
+ }
+ }
+ finally
+ {
+ scope.leaveObject(object);
+ }
+ }
+
+ private ObjectVisit load(StructuralObject structuralObject)
+ {
+ UIObjectImpl object = UIObjectImpl.create(navigationalStateContext, structuralObject);
+
+ //
+ ObjectTraversalType traversalType = scope.enterObject(object);
+
+ //
+ try
+ {
+ ObjectVisit visit;
+ switch (traversalType)
+ {
+ case SKIP:
+ visit = new ObjectVisit(object, false);
+ break;
+ case SINGLE:
+ visit = new ObjectVisit(object, true);
+ break;
+ case RECURSIVE:
+ ChildrenVisit childrenVisit = new ChildrenVisit();
+ for (StructuralObject structuralChild : structuralStateContext.loadChildren(structuralObject))
+ {
+ ObjectVisit childVisit = load(structuralChild);
+ childrenVisit.addedObjects.add(childVisit);
+ }
+ visit = new ObjectVisit(object, childrenVisit);
+ break;
+ default:
+ throw new AssertionError();
+ }
+
+ //
+ return visit;
+ }
+ finally
+ {
+ scope.leaveObject(object);
+ }
+ }
+}
Copied: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/CreateUpdatePhase.java (from rev 10491, modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/update/CreateUpdatePhase.java)
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/CreateUpdatePhase.java (rev 0)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/CreateUpdatePhase.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -0,0 +1,300 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.presentation.impl.model2;
+
+import org.jboss.portal.presentation.model2.ViewPortContext;
+
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Set;
+import java.util.HashSet;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class CreateUpdatePhase
+{
+
+ /** . */
+ private final ViewPortContext context;
+
+ /** . */
+ private ObjectVisit rootVisit;
+
+ /** . */
+ private ObjectUpdate rootUpdate;
+
+ /** . */
+ private Map<String, ObjectUpdate.AddChild> deferredAddChildUpdates;
+
+ /** . */
+ private Set<String> removedChildren;
+
+ public CreateUpdatePhase(ViewPortContext context, ObjectVisit rootVisit)
+ {
+ this.context = context;
+ this.rootVisit = rootVisit;
+ }
+
+ public ObjectUpdate getRootUpdate()
+ {
+ return rootUpdate;
+ }
+
+ public void perform()
+ {
+ deferredAddChildUpdates = new HashMap<String, ObjectUpdate.AddChild>();
+ removedChildren = new HashSet<String>();
+
+ //
+ rootUpdate = createUpdate(rootVisit);
+
+ //
+ if (deferredAddChildUpdates.size() > 0)
+ {
+ throw new IllegalStateException("Was expecting the deferred update to be empty");
+ }
+ }
+
+ private ObjectUpdate createUpdate(ObjectVisit objectVisit)
+ {
+ UIObjectImpl object = (UIObjectImpl)context.getObject(objectVisit.getObjectId());
+
+ if (objectVisit.getLoaded())
+ {
+ ChildrenVisit childrenVisit = objectVisit.getChildrenVisit();
+
+ //
+ if (object != null)
+ {
+ if (object != objectVisit.getObject())
+ {
+ // The object is stale, we need to update the state maybe
+ }
+ }
+
+ //
+ if (childrenVisit != null)
+ {
+ Map<String, Boolean> childrenStatus = new HashMap<String, Boolean>();
+ List<ObjectUpdate.AddChild> addedChildrenUpdates = new ArrayList<ObjectUpdate.AddChild>();
+ List<ObjectUpdate.RemoveChild> removedChildrenUpdates = new ArrayList<ObjectUpdate.RemoveChild>();
+ List<ObjectUpdate.UpdateObject> updateChildrenUpdates = new ArrayList<ObjectUpdate.UpdateObject>();
+
+ //
+ for (ObjectVisit addedObjectVisit : childrenVisit.getAddedObjects())
+ {
+ ObjectUpdate childUpdate = createUpdate(addedObjectVisit);
+
+ //
+ if (childUpdate instanceof ObjectUpdate.AddObject)
+ {
+ addedChildrenUpdates.add(new ObjectUpdate.AddChild(objectVisit.getObjectId(), (ObjectUpdate.AddObject)childUpdate));
+ childrenStatus.put(addedObjectVisit.getObjectId(), true);
+ }
+ else if (childUpdate == null)
+ {
+ childrenStatus.put(addedObjectVisit.getObjectId(), false);
+ }
+ else if (childUpdate instanceof ObjectUpdate.UpdateObject)
+ {
+ // This is 'the' trick becaue this is likely a 'move' operation that we may need
+ // to handle differently as a deferred add child
+ ObjectUpdate.UpdateObject updateChildUpdate = (ObjectUpdate.UpdateObject)childUpdate;
+
+ //
+ ObjectUpdate.AddObject addObjectUpdate = new ObjectUpdate.AddObject(
+ addedObjectVisit.getObject(),
+ updateChildUpdate.childrenStatus,
+ updateChildUpdate.addedChildrenUpdates,
+ updateChildUpdate.removedChildrenUpdates,
+ updateChildUpdate.updateChildrenUpdates);
+
+ //
+ ObjectUpdate.AddChild addChildUpdate = new ObjectUpdate.AddChild(objectVisit.getObjectId(), addObjectUpdate);
+
+ //
+ if (removedChildren.contains(addedObjectVisit.getObjectId()))
+ {
+ addedChildrenUpdates.add(addChildUpdate);
+ }
+ else
+ {
+ deferredAddChildUpdates.put(addedObjectVisit.getObjectId(), addChildUpdate);
+ }
+
+ //
+ childrenStatus.put(addedObjectVisit.getObjectId(), true);
+ }
+ else
+ {
+ throw new UnsupportedOperationException("Was not expecting update of type " + childUpdate.getClass().getSimpleName());
+ }
+ }
+
+ //
+ for (String removeObjectId : childrenVisit.getRemovedObjects())
+ {
+ UIObjectImpl child = (UIObjectImpl)context.getObject(removeObjectId);
+ removedChildrenUpdates.add(new ObjectUpdate.RemoveChild(objectVisit.getObjectId(), createRemove(child)));
+ }
+
+ List<ObjectVisit> existingObjectVisits = new ArrayList<ObjectVisit>();
+ existingObjectVisits.addAll(childrenVisit.getValidObjects());
+ existingObjectVisits.addAll(childrenVisit.getStaleObjects());
+
+ //
+ for (ObjectVisit validObjectVisit : existingObjectVisits)
+ {
+ ObjectUpdate childUpdate = createUpdate(validObjectVisit);
+
+ //
+ if (childUpdate == null)
+ {
+ childrenStatus.put(validObjectVisit.getObjectId(), false);
+ }
+ else if (childUpdate instanceof ObjectUpdate.UpdateObject)
+ {
+ updateChildrenUpdates.add((ObjectUpdate.UpdateObject)childUpdate);
+ childrenStatus.put(validObjectVisit.getObjectId(), true);
+ }
+ else if (childUpdate instanceof ObjectUpdate.RemoveObject)
+ {
+ removedChildrenUpdates.add(new ObjectUpdate.RemoveChild(objectVisit.getObjectId(), (ObjectUpdate.RemoveObject)childUpdate));
+ childrenStatus.put(validObjectVisit.getObjectId(), false);
+ }
+ else if (childUpdate instanceof ObjectUpdate.AddObject)
+ {
+ addedChildrenUpdates.add(new ObjectUpdate.AddChild(objectVisit.getObjectId(), (ObjectUpdate.AddObject)childUpdate));
+ childrenStatus.put(validObjectVisit.getObjectId(), true);
+ }
+ else
+ {
+ throw new UnsupportedOperationException("Was not expecting update of type " + childUpdate.getClass().getSimpleName());
+ }
+ }
+
+ //
+ for (ObjectUpdate.RemoveChild removeChildUpdate : removedChildrenUpdates)
+ {
+ removedChildren.add(removeChildUpdate.removedObjectUpdate.objectId);
+ }
+
+ //
+ if (object != null)
+ {
+ return new ObjectUpdate.UpdateObject(
+ object.structuralObject,
+ childrenStatus,
+ addedChildrenUpdates,
+ removedChildrenUpdates,
+ updateChildrenUpdates);
+ }
+ else
+ {
+ return new ObjectUpdate.AddObject(
+ objectVisit.getObject(),
+ childrenStatus,
+ addedChildrenUpdates,
+ removedChildrenUpdates,
+ updateChildrenUpdates);
+ }
+ }
+ else
+ {
+ if (object != null)
+ {
+ List<ObjectUpdate.RemoveChild> removedChildrenUpdates = new ArrayList<ObjectUpdate.RemoveChild>();
+
+ //
+ if (object.childRefs != null)
+ {
+ for (UIObjectRef removedChildRef : object.childRefs.values())
+ {
+ if (removedChildRef.loaded)
+ {
+ UIObjectImpl child = (UIObjectImpl)context.getObject(removedChildRef.getId());
+
+ //
+ removedChildrenUpdates.add(new ObjectUpdate.RemoveChild(objectVisit.getObjectId(), createRemove(child)));
+ }
+ }
+ }
+
+ //
+ for (ObjectUpdate.RemoveChild removeChildUpdate : removedChildrenUpdates)
+ {
+ removedChildren.add(removeChildUpdate.removedObjectUpdate.objectId);
+ }
+
+ //
+ return new ObjectUpdate.UpdateObject(object.structuralObject, removedChildrenUpdates);
+ }
+ else
+ {
+ return new ObjectUpdate.AddObject(objectVisit.getObject());
+ }
+ }
+ }
+ else
+ {
+ if (object != null)
+ {
+ return createRemove(object);
+ }
+ else
+ {
+ return null;
+ }
+ }
+ }
+
+ private ObjectUpdate.RemoveObject createRemove(UIObjectImpl object)
+ {
+ List<ObjectUpdate.RemoveObject> removedChildrenUpdates = new ArrayList<ObjectUpdate.RemoveObject>();
+
+ //
+ if (object.childRefs != null)
+ {
+ for (UIObjectRef removedChildRef : object.childRefs.values())
+ {
+ if (removedChildRef.loaded)
+ {
+ UIObjectImpl removedChild = (UIObjectImpl)context.getObject(removedChildRef.getId());
+
+ //
+ removedChildrenUpdates.add(createRemove(removedChild));
+ }
+ }
+ }
+
+ //
+ ObjectUpdate.AddChild addChildUpdate = deferredAddChildUpdates.remove(object.getId());
+
+ //
+ return new ObjectUpdate.RemoveObject(object.getId(), removedChildrenUpdates, addChildUpdate);
+ }
+}
Copied: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ObjectUpdate.java (from rev 10491, modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/update/ObjectUpdate.java)
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ObjectUpdate.java (rev 0)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ObjectUpdate.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -0,0 +1,358 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.presentation.impl.model2;
+
+import org.jboss.portal.presentation.model2.ViewPortContext;
+import org.jboss.portal.presentation.state.structural.StructuralObject;
+
+import java.util.List;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public abstract class ObjectUpdate
+{
+
+ public abstract void execute(ViewPortContext context);
+
+ /**
+ * Not really carrying any state for now... until we really implement it.
+ */
+ public static class UpdateObject extends ObjectUpdate
+ {
+
+ /** . */
+ final StructuralObject structuralObject;
+
+ /** . */
+ final Map<String, Boolean> childrenStatus;
+
+ /** . */
+ final List<AddChild> addedChildrenUpdates;
+
+ /** . */
+ final List<RemoveChild> removedChildrenUpdates;
+
+ /** . */
+ final List<UpdateObject> updateChildrenUpdates;
+
+ public UpdateObject(StructuralObject structuralObject, List<RemoveChild> removeChildrenUpdates)
+ {
+ if (structuralObject == null)
+ {
+ throw new IllegalArgumentException("No null object id accepted");
+ }
+ if (removeChildrenUpdates == null)
+ {
+ throw new IllegalArgumentException("No null removed children accepted");
+ }
+
+ //
+ this.structuralObject = structuralObject;
+ this.childrenStatus = null;
+ this.addedChildrenUpdates = null;
+ this.removedChildrenUpdates = removeChildrenUpdates;
+ this.updateChildrenUpdates = null;
+ }
+
+ public UpdateObject(
+ StructuralObject structuralObject,
+ Map<String, Boolean> childrenStatus,
+ List<AddChild> addedChildrenUpdates,
+ List<RemoveChild> removedChildrenUpdates,
+ List<UpdateObject> updateChildrenUpdates)
+ {
+ if (structuralObject == null)
+ {
+ throw new IllegalArgumentException("No null object id accepted");
+ }
+ if (addedChildrenUpdates == null)
+ {
+ throw new IllegalArgumentException("No null added children accepted");
+ }
+ if (removedChildrenUpdates == null)
+ {
+ throw new IllegalArgumentException("No null removed children accepted");
+ }
+ if (updateChildrenUpdates == null)
+ {
+ throw new IllegalArgumentException("No null update children accepted");
+ }
+
+ //
+ this.structuralObject = structuralObject;
+ this.childrenStatus = childrenStatus;
+ this.addedChildrenUpdates = addedChildrenUpdates;
+ this.removedChildrenUpdates = removedChildrenUpdates;
+ this.updateChildrenUpdates = updateChildrenUpdates;
+ }
+
+ public void execute(ViewPortContext context)
+ {
+ UIObjectImpl object = (UIObjectImpl)context.getObject(structuralObject.getId());
+
+ // Normally should be ok because if we have removed children updates it means
+ // that it was created because the existing object was referencing children
+ for (RemoveChild removedChildUpdate : removedChildrenUpdates)
+ {
+ removedChildUpdate.execute(context);
+ }
+
+ // Perform state update
+ if (object.structuralObject.equals(structuralObject))
+ {
+ object.structuralObject = structuralObject;
+ context.updateObject(structuralObject.getId());
+ }
+
+ //
+ if (childrenStatus != null)
+ {
+ if (object.childRefs == null)
+ {
+ object.childRefs = new HashMap<String, UIObjectRef>();
+ for (Map.Entry<String, Boolean> childRefEntry : childrenStatus.entrySet())
+ {
+ object.childRefs.put(childRefEntry.getKey(), new UIObjectRef(childRefEntry.getKey(), childRefEntry.getValue()));
+ }
+
+ //
+ context.createChildren(structuralObject.getId());
+ }
+
+ //
+ for (AddChild addedChildUpdate : addedChildrenUpdates)
+ {
+ addedChildUpdate.execute(context);
+ }
+
+ //
+ for (UpdateObject updateChildUpdate : updateChildrenUpdates)
+ {
+ updateChildUpdate.execute(context);
+ }
+ }
+ else
+ {
+ if (object.childRefs != null)
+ {
+ context.destroyChildren(structuralObject.getId());
+ }
+ }
+ }
+ }
+
+ public static class AddObject extends ObjectUpdate
+ {
+
+ /** . */
+ private final UIObjectImpl object;
+
+ /** . */
+ private final Map<String, Boolean> childrenStatus;
+
+ /** . */
+ private final List<AddChild> addedChildrenUpdates;
+
+ /** . */
+ private final List<RemoveChild> removedChildrenUpdates;
+
+ /** . */
+ private final List<UpdateObject> updateChildrenUpdates;
+
+ public AddObject(UIObjectImpl object)
+ {
+ if (object == null)
+ {
+ throw new IllegalArgumentException("No null object accepted");
+ }
+
+ //
+ this.object = object;
+ this.childrenStatus = null;
+ this.addedChildrenUpdates = null;
+ this.removedChildrenUpdates = null;
+ this.updateChildrenUpdates = null;
+ }
+
+ public AddObject(
+ UIObjectImpl object,
+ Map<String, Boolean> childrenStatus,
+ List<AddChild> addedChildrenUpdates,
+ List<RemoveChild> removedChildrenUpdates,
+ List<UpdateObject> updateChildrenUpdates)
+ {
+ if (object == null)
+ {
+ throw new IllegalArgumentException("No null object accepted");
+ }
+ if (addedChildrenUpdates == null)
+ {
+ throw new IllegalArgumentException("No null added children accepted");
+ }
+ if (removedChildrenUpdates == null)
+ {
+ throw new IllegalArgumentException("No null removed children accepted");
+ }
+ if (updateChildrenUpdates == null)
+ {
+ throw new IllegalArgumentException("No null update children accepted");
+ }
+
+
+ //
+ this.object = object;
+ this.childrenStatus = childrenStatus;
+ this.addedChildrenUpdates = addedChildrenUpdates;
+ this.removedChildrenUpdates = removedChildrenUpdates;
+ this.updateChildrenUpdates = updateChildrenUpdates;
+ }
+
+ public void execute(ViewPortContext context)
+ {
+ context.addObject(object);
+
+ //
+ if (childrenStatus != null)
+ {
+ object.childRefs = new HashMap<String, UIObjectRef>();
+ for (Map.Entry<String, Boolean> childRefEntry : childrenStatus.entrySet())
+ {
+ object.childRefs.put(childRefEntry.getKey(), new UIObjectRef(childRefEntry.getKey(), childRefEntry.getValue()));
+ }
+
+ //
+ context.createChildren(object.getId());
+
+ //
+ for (AddChild addedChildUpdate : addedChildrenUpdates)
+ {
+ addedChildUpdate.execute(context);
+ }
+
+ //
+ for (RemoveChild removedChildUpdate : removedChildrenUpdates)
+ {
+ removedChildUpdate.execute(context);
+ }
+
+ //
+ for (UpdateObject updateChildUpdate : updateChildrenUpdates)
+ {
+ updateChildUpdate.execute(context);
+ }
+ }
+ }
+ }
+
+ public static class RemoveObject extends ObjectUpdate
+ {
+
+ /** . */
+ final String objectId;
+
+ /** . */
+ private final List<RemoveObject> removedChildrenUpdates;
+
+ /** . */
+ private final AddChild addChildUpdate;
+
+ public RemoveObject(String objectId, List<RemoveObject> removedChildrenUpdates, AddChild addChildUpdate)
+ {
+ this.objectId = objectId;
+ this.removedChildrenUpdates = removedChildrenUpdates;
+ this.addChildUpdate = addChildUpdate;
+ }
+
+ public void execute(ViewPortContext context)
+ {
+ for (RemoveObject removedChildUpdate : removedChildrenUpdates)
+ {
+ context.removeChild(objectId, removedChildUpdate.objectId);
+
+ //
+ removedChildUpdate.execute(context);
+ }
+
+ //
+ context.removeObject(objectId);
+
+ //
+ if (addChildUpdate != null)
+ {
+ addChildUpdate.execute(context);
+ }
+ }
+ }
+
+ public static class AddChild extends ObjectUpdate
+ {
+
+ /** . */
+ private final String parentId;
+
+ /** . */
+ private final AddObject addedObjectUpdate;
+
+ public AddChild(String parentId, AddObject addedObjectUpdate)
+ {
+ this.parentId = parentId;
+ this.addedObjectUpdate = addedObjectUpdate;
+ }
+
+ public void execute(ViewPortContext context)
+ {
+ addedObjectUpdate.execute(context);
+
+ //
+ context.addChild(parentId, addedObjectUpdate.object.getId());
+ }
+ }
+
+ public static class RemoveChild extends ObjectUpdate
+ {
+
+ /** . */
+ private final String parentId;
+
+ /** . */
+ final RemoveObject removedObjectUpdate;
+
+ public RemoveChild(String parentId, RemoveObject removedObjectUpdate)
+ {
+ this.parentId = parentId;
+ this.removedObjectUpdate = removedObjectUpdate;
+ }
+
+ public void execute(ViewPortContext context)
+ {
+ context.removeChild(parentId, removedObjectUpdate.objectId);
+
+ //
+ removedObjectUpdate.execute(context);
+ }
+ }
+}
Copied: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ObjectVisit.java (from rev 10491, modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/diff/ObjectVisit.java)
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ObjectVisit.java (rev 0)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ObjectVisit.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -0,0 +1,74 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.presentation.impl.model2;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class ObjectVisit
+{
+
+ /** . */
+ private final UIObjectImpl object;
+
+ /** . */
+ private final boolean loaded;
+
+ /** . */
+ private final ChildrenVisit children;
+
+ ObjectVisit(UIObjectImpl object, ChildrenVisit children)
+ {
+ this.object = object;
+ this.loaded = true;
+ this.children = children;
+ }
+
+ ObjectVisit(UIObjectImpl object, boolean loaded)
+ {
+ this.object = object;
+ this.loaded = loaded;
+ this.children = null;
+ }
+
+ public String getObjectId()
+ {
+ return object.getId();
+ }
+
+ public UIObjectImpl getObject()
+ {
+ return object;
+ }
+
+ public boolean getLoaded()
+ {
+ return loaded;
+ }
+
+ public ChildrenVisit getChildrenVisit()
+ {
+ return children;
+ }
+}
Copied: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/UIObjectImpl.java (from rev 10491, modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui/UIObjectImpl.java)
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/UIObjectImpl.java (rev 0)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/UIObjectImpl.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -0,0 +1,148 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.presentation.impl.model2;
+
+import org.jboss.portal.presentation.model2.UIObject;
+import org.jboss.portal.presentation.model2.ui.UIWindow;
+import org.jboss.portal.presentation.model2.ui.UIPage;
+import org.jboss.portal.presentation.model2.ui.UIContext;
+import org.jboss.portal.presentation.state.StateException;
+import org.jboss.portal.presentation.state.StateType;
+import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
+import org.jboss.portal.presentation.state.structural.StructuralObject;
+import org.jboss.portal.presentation.impl.model2.ui.UIWindowImpl;
+import org.jboss.portal.presentation.impl.model2.ui.UIContextImpl;
+import org.jboss.portal.presentation.impl.model2.ui.UIPageImpl;
+import org.jboss.portal.common.reflect.Reflection;
+import org.jboss.portal.common.NotYetImplemented;
+
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public abstract class UIObjectImpl implements UIObject
+{
+
+ /** . */
+ private final NavigationalStateContext navigationalStateContext;
+
+ /** . */
+ StructuralObject structuralObject;
+
+ /** We keep track of what was loaded by the scope. */
+ Map<String, UIObjectRef> childRefs;
+
+ public static UIObjectImpl create(NavigationalStateContext navigationalStateContext, StructuralObject structuralObject)
+ {
+ UIObjectImpl object;
+
+ //
+ Class type = structuralObject.getState().getType();
+
+ //
+ if (type == UIWindow.class)
+ {
+ object = new UIWindowImpl(navigationalStateContext, structuralObject);
+ }
+ else if (type == UIPage.class)
+ {
+ object = new UIPageImpl(navigationalStateContext, structuralObject);
+ }
+ else if (type == UIContext.class)
+ {
+ object = new UIContextImpl(navigationalStateContext, structuralObject);
+ }
+ else
+ {
+ throw new NotYetImplemented();
+ }
+
+ //
+ return object;
+ }
+
+ public UIObjectImpl(NavigationalStateContext navigationalStateContext, StructuralObject structuralObject)
+ {
+ this.navigationalStateContext = navigationalStateContext;
+ this.structuralObject = structuralObject;
+ }
+
+ public String getId()
+ {
+ return structuralObject.getId();
+ }
+
+ public String getName()
+ {
+ return structuralObject.getState().getName();
+ }
+
+ public <T> T getProperty(StateType stateType, String propertyName, Class<T> propertyType) throws IllegalArgumentException, StateException
+ {
+ if (stateType == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ if (propertyName == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ if (propertyType == null)
+ {
+ throw new IllegalArgumentException();
+ }
+
+ //
+ switch (stateType)
+ {
+ case STRUCTURAL:
+ return Reflection.safeCast(structuralObject.getState().getProperties().get(propertyName), propertyType);
+ case NAVIGATIONAL:
+ return Reflection.safeCast(navigationalStateContext.getProperty(structuralObject.getId(), propertyName), propertyType);
+ default:
+ throw new AssertionError();
+ }
+ }
+
+ public Set<String> getPropertyNames(StateType stateType)
+ {
+ if (stateType == null)
+ {
+ throw new IllegalArgumentException();
+ }
+
+ //
+ switch (stateType)
+ {
+ case STRUCTURAL:
+ return structuralObject.getState().getProperties().keySet();
+ case NAVIGATIONAL:
+ return navigationalStateContext.getPropertyNames(structuralObject.getId());
+ default:
+ throw new AssertionError();
+ }
+ }
+}
\ No newline at end of file
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ViewPortImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ViewPortImpl.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ViewPortImpl.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -25,10 +25,6 @@
import org.jboss.portal.presentation.model2.ViewPort;
import org.jboss.portal.presentation.model2.ViewPortContext;
import org.jboss.portal.presentation.model2.ViewPortScope;
-import org.jboss.portal.presentation.impl.model2.diff.CreateDiffPhase;
-import org.jboss.portal.presentation.impl.model2.diff.ObjectVisit;
-import org.jboss.portal.presentation.impl.model2.update.CreateUpdatePhase;
-import org.jboss.portal.presentation.impl.model2.update.ObjectUpdate;
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
@@ -55,7 +51,7 @@
public void refresh()
{
- CreateDiffPhase createDiffPhase = new CreateDiffPhase(context, scope, model.structuralStateContext);
+ CreateDiffPhase createDiffPhase = new CreateDiffPhase(context, scope, model.navigationalStateContext, model.structuralStateContext);
//
createDiffPhase.perform();
Deleted: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/diff/ChildrenVisit.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/diff/ChildrenVisit.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/diff/ChildrenVisit.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -1,70 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2008, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
- ******************************************************************************/
-package org.jboss.portal.presentation.impl.model2.diff;
-
-import java.util.Collection;
-import java.util.ArrayList;
-
-/**
- * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
- * @version $Revision: 630 $
- */
-public class ChildrenVisit
-{
-
- /** . */
- final Collection<ObjectVisit> addedObjects = new ArrayList<ObjectVisit>();
-
- /** . */
- final Collection<ObjectVisit> validObjects = new ArrayList<ObjectVisit>();
-
- /** . */
- final Collection<ObjectVisit> staleObjects = new ArrayList<ObjectVisit>();
-
- /** . */
- final Collection<String> removedObjects = new ArrayList<String>();
-
- ChildrenVisit()
- {
- }
-
- public Collection<ObjectVisit> getAddedObjects()
- {
- return addedObjects;
- }
-
- public Collection<String> getRemovedObjects()
- {
- return removedObjects;
- }
-
- public Collection<ObjectVisit> getValidObjects()
- {
- return validObjects;
- }
-
- public Collection<ObjectVisit> getStaleObjects()
- {
- return staleObjects;
- }
-}
Deleted: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/diff/CreateDiffPhase.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/diff/CreateDiffPhase.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/diff/CreateDiffPhase.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -1,188 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2008, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
- ******************************************************************************/
-package org.jboss.portal.presentation.impl.model2.diff;
-
-import org.jboss.portal.presentation.model2.ViewPortScope;
-import org.jboss.portal.presentation.model2.ViewPortContext;
-import org.jboss.portal.presentation.model2.ObjectTraversalType;
-import org.jboss.portal.presentation.impl.model2.ui.UIObjectImpl;
-import org.jboss.portal.presentation.state.structural.StructuralStateContext;
-import org.jboss.portal.presentation.state.structural.StructuralObject;
-
-/**
- * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
- * @version $Revision: 630 $
- */
-public class CreateDiffPhase
-{
-
- /** . */
- private final ViewPortContext context;
-
- /** . */
- private final ViewPortScope scope;
-
- /** . */
- private final StructuralStateContext structuralStateContext;
-
- /** . */
- private ObjectVisit rootVisit;
-
- public CreateDiffPhase(
- ViewPortContext context,
- ViewPortScope scope,
- StructuralStateContext structuralStateContext)
- {
- this.context = context;
- this.scope = scope;
- this.structuralStateContext = structuralStateContext;
- }
-
- public void perform()
- {
- rootVisit = diff(scope.getRootId());
- }
-
- public ObjectVisit getRootVisit()
- {
- return rootVisit;
- }
-
- private ObjectVisit diff(String objectId)
- {
- UIObjectImpl object = (UIObjectImpl)context.getObject(objectId);
-
- //
- if (object == null)
- {
- StructuralObject structuralObject = structuralStateContext.load(objectId);
-
- //
- if (structuralObject == null)
- {
- throw new UnsupportedOperationException();
- }
-
- //
- return load(structuralObject);
- }
- else
- {
- return diff(object);
- }
- }
-
- private ObjectVisit diff(UIObjectImpl object)
- {
- ObjectTraversalType traversalType = scope.enterObject(object);
-
- //
- try
- {
- switch (traversalType)
- {
- case SKIP:
- return new ObjectVisit(object, false);
- case SINGLE:
- return new ObjectVisit(object, true);
- case RECURSIVE:
- StructuralObject.Refresh refresh = structuralStateContext.refresh(object.structuralObject);
- ChildrenVisit childrenVisit = new ChildrenVisit();
-
- //
- for (StructuralObject addedStructuralChild : refresh.getAddedChildren())
- {
- ObjectVisit childVisit = load(addedStructuralChild);
- childrenVisit.addedObjects.add(childVisit);
- }
-
- //
- for (StructuralObject staleStructuralChild : refresh.getStaleChildren().values())
- {
- ObjectVisit childVisit = diff(staleStructuralChild.getId());
- childrenVisit.staleObjects.add(childVisit);
- }
-
- //
- for (String validChildId : refresh.getValidChildren())
- {
- ObjectVisit childVisit = diff(validChildId);
- childrenVisit.validObjects.add(childVisit);
- }
-
- //
- childrenVisit.removedObjects.addAll(refresh.getRemovedChildren());
-
- //
- return new ObjectVisit(object, childrenVisit);
- default:
- throw new AssertionError();
- }
- }
- finally
- {
- scope.leaveObject(object);
- }
- }
-
- private ObjectVisit load(StructuralObject structuralObject)
- {
- UIObjectImpl object = new UIObjectImpl(structuralObject);
-
- //
- ObjectTraversalType traversalType = scope.enterObject(object);
-
- //
- try
- {
- ObjectVisit visit;
- switch (traversalType)
- {
- case SKIP:
- visit = new ObjectVisit(object, false);
- break;
- case SINGLE:
- visit = new ObjectVisit(object, true);
- break;
- case RECURSIVE:
- ChildrenVisit childrenVisit = new ChildrenVisit();
- for (StructuralObject structuralChild : structuralStateContext.loadChildren(structuralObject))
- {
- ObjectVisit childVisit = load(structuralChild);
- childrenVisit.addedObjects.add(childVisit);
- }
- visit = new ObjectVisit(object, childrenVisit);
- break;
- default:
- throw new AssertionError();
- }
-
- //
- return visit;
- }
- finally
- {
- scope.leaveObject(object);
- }
- }
-}
Deleted: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/diff/ObjectVisit.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/diff/ObjectVisit.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/diff/ObjectVisit.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -1,76 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2008, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
- ******************************************************************************/
-package org.jboss.portal.presentation.impl.model2.diff;
-
-import org.jboss.portal.presentation.impl.model2.ui.UIObjectImpl;
-
-/**
- * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
- * @version $Revision: 630 $
- */
-public class ObjectVisit
-{
-
- /** . */
- private final UIObjectImpl object;
-
- /** . */
- private final boolean loaded;
-
- /** . */
- private final ChildrenVisit children;
-
- ObjectVisit(UIObjectImpl object, ChildrenVisit children)
- {
- this.object = object;
- this.loaded = true;
- this.children = children;
- }
-
- ObjectVisit(UIObjectImpl object, boolean loaded)
- {
- this.object = object;
- this.loaded = loaded;
- this.children = null;
- }
-
- public String getObjectId()
- {
- return object.getId();
- }
-
- public UIObjectImpl getObject()
- {
- return object;
- }
-
- public boolean getLoaded()
- {
- return loaded;
- }
-
- public ChildrenVisit getChildrenVisit()
- {
- return children;
- }
-}
Added: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui/UIContextImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui/UIContextImpl.java (rev 0)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui/UIContextImpl.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -0,0 +1,40 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.presentation.impl.model2.ui;
+
+import org.jboss.portal.presentation.model2.ui.UIContext;
+import org.jboss.portal.presentation.state.structural.StructuralObject;
+import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
+import org.jboss.portal.presentation.impl.model2.UIObjectImpl;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class UIContextImpl extends UIObjectImpl implements UIContext
+{
+ public UIContextImpl(NavigationalStateContext navigationalStateContext, StructuralObject structuralObject)
+ {
+ super(navigationalStateContext, structuralObject);
+ }
+}
\ No newline at end of file
Added: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui/UIPageImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui/UIPageImpl.java (rev 0)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui/UIPageImpl.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -0,0 +1,40 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.presentation.impl.model2.ui;
+
+import org.jboss.portal.presentation.model2.ui.UIPage;
+import org.jboss.portal.presentation.state.structural.StructuralObject;
+import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
+import org.jboss.portal.presentation.impl.model2.UIObjectImpl;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class UIPageImpl extends UIObjectImpl implements UIPage
+{
+ public UIPageImpl(NavigationalStateContext navigationalStateContext, StructuralObject structuralObject)
+ {
+ super(navigationalStateContext, structuralObject);
+ }
+}
Added: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui/UIWindowImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui/UIWindowImpl.java (rev 0)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui/UIWindowImpl.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -0,0 +1,54 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.presentation.impl.model2.ui;
+
+import org.jboss.portal.presentation.model2.ui.UIWindow;
+import org.jboss.portal.presentation.state.structural.StructuralObject;
+import org.jboss.portal.presentation.state.StateType;
+import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
+import org.jboss.portal.presentation.impl.model2.UIObjectImpl;
+import org.jboss.portal.WindowState;
+import org.jboss.portal.Mode;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class UIWindowImpl extends UIObjectImpl implements UIWindow
+{
+
+ public UIWindowImpl(NavigationalStateContext navigationalStateContext, StructuralObject structuralObject)
+ {
+ super(navigationalStateContext, structuralObject);
+ }
+
+ public WindowState getWindowState()
+ {
+ return getProperty(StateType.NAVIGATIONAL, "windowstate", WindowState.class);
+ }
+
+ public Mode getMode()
+ {
+ return getProperty(StateType.NAVIGATIONAL, "mode", Mode.class);
+ }
+}
Deleted: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/update/CreateUpdatePhase.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/update/CreateUpdatePhase.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/update/CreateUpdatePhase.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -1,304 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2008, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
- ******************************************************************************/
-package org.jboss.portal.presentation.impl.model2.update;
-
-import org.jboss.portal.presentation.model2.ViewPortContext;
-import org.jboss.portal.presentation.impl.model2.diff.ObjectVisit;
-import org.jboss.portal.presentation.impl.model2.diff.ChildrenVisit;
-import org.jboss.portal.presentation.impl.model2.ui.UIObjectImpl;
-import org.jboss.portal.presentation.impl.model2.UIObjectRef;
-
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Set;
-import java.util.HashSet;
-
-/**
- * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
- * @version $Revision: 630 $
- */
-public class CreateUpdatePhase
-{
-
- /** . */
- private final ViewPortContext context;
-
- /** . */
- private ObjectVisit rootVisit;
-
- /** . */
- private ObjectUpdate rootUpdate;
-
- /** . */
- private Map<String, ObjectUpdate.AddChild> deferredAddChildUpdates;
-
- /** . */
- private Set<String> removedChildren;
-
- public CreateUpdatePhase(ViewPortContext context, ObjectVisit rootVisit)
- {
- this.context = context;
- this.rootVisit = rootVisit;
- }
-
- public ObjectUpdate getRootUpdate()
- {
- return rootUpdate;
- }
-
- public void perform()
- {
- deferredAddChildUpdates = new HashMap<String, ObjectUpdate.AddChild>();
- removedChildren = new HashSet<String>();
-
- //
- rootUpdate = createUpdate(rootVisit);
-
- //
- if (deferredAddChildUpdates.size() > 0)
- {
- throw new IllegalStateException("Was expecting the deferred update to be empty");
- }
- }
-
- private ObjectUpdate createUpdate(ObjectVisit objectVisit)
- {
- UIObjectImpl object = (UIObjectImpl)context.getObject(objectVisit.getObjectId());
-
- if (objectVisit.getLoaded())
- {
- ChildrenVisit childrenVisit = objectVisit.getChildrenVisit();
-
- //
- if (object != null)
- {
- if (object != objectVisit.getObject())
- {
- // The object is stale, we need to update the state maybe
- }
- }
-
- //
- if (childrenVisit != null)
- {
- Map<String, Boolean> childrenStatus = new HashMap<String, Boolean>();
- List<ObjectUpdate.AddChild> addedChildrenUpdates = new ArrayList<ObjectUpdate.AddChild>();
- List<ObjectUpdate.RemoveChild> removedChildrenUpdates = new ArrayList<ObjectUpdate.RemoveChild>();
- List<ObjectUpdate.UpdateObject> updateChildrenUpdates = new ArrayList<ObjectUpdate.UpdateObject>();
-
- //
- for (ObjectVisit addedObjectVisit : childrenVisit.getAddedObjects())
- {
- ObjectUpdate childUpdate = createUpdate(addedObjectVisit);
-
- //
- if (childUpdate instanceof ObjectUpdate.AddObject)
- {
- addedChildrenUpdates.add(new ObjectUpdate.AddChild(objectVisit.getObjectId(), (ObjectUpdate.AddObject)childUpdate));
- childrenStatus.put(addedObjectVisit.getObjectId(), true);
- }
- else if (childUpdate == null)
- {
- childrenStatus.put(addedObjectVisit.getObjectId(), false);
- }
- else if (childUpdate instanceof ObjectUpdate.UpdateObject)
- {
- // This is 'the' trick becaue this is likely a 'move' operation that we may need
- // to handle differently as a deferred add child
- ObjectUpdate.UpdateObject updateChildUpdate = (ObjectUpdate.UpdateObject)childUpdate;
-
- //
- ObjectUpdate.AddObject addObjectUpdate = new ObjectUpdate.AddObject(
- addedObjectVisit.getObject(),
- updateChildUpdate.childrenStatus,
- updateChildUpdate.addedChildrenUpdates,
- updateChildUpdate.removedChildrenUpdates,
- updateChildUpdate.updateChildrenUpdates);
-
- //
- ObjectUpdate.AddChild addChildUpdate = new ObjectUpdate.AddChild(objectVisit.getObjectId(), addObjectUpdate);
-
- //
- if (removedChildren.contains(addedObjectVisit.getObjectId()))
- {
- addedChildrenUpdates.add(addChildUpdate);
- }
- else
- {
- deferredAddChildUpdates.put(addedObjectVisit.getObjectId(), addChildUpdate);
- }
-
- //
- childrenStatus.put(addedObjectVisit.getObjectId(), true);
- }
- else
- {
- throw new UnsupportedOperationException("Was not expecting update of type " + childUpdate.getClass().getSimpleName());
- }
- }
-
- //
- for (String removeObjectId : childrenVisit.getRemovedObjects())
- {
- UIObjectImpl child = (UIObjectImpl)context.getObject(removeObjectId);
- removedChildrenUpdates.add(new ObjectUpdate.RemoveChild(objectVisit.getObjectId(), createRemove(child)));
- }
-
- List<ObjectVisit> existingObjectVisits = new ArrayList<ObjectVisit>();
- existingObjectVisits.addAll(childrenVisit.getValidObjects());
- existingObjectVisits.addAll(childrenVisit.getStaleObjects());
-
- //
- for (ObjectVisit validObjectVisit : existingObjectVisits)
- {
- ObjectUpdate childUpdate = createUpdate(validObjectVisit);
-
- //
- if (childUpdate == null)
- {
- childrenStatus.put(validObjectVisit.getObjectId(), false);
- }
- else if (childUpdate instanceof ObjectUpdate.UpdateObject)
- {
- updateChildrenUpdates.add((ObjectUpdate.UpdateObject)childUpdate);
- childrenStatus.put(validObjectVisit.getObjectId(), true);
- }
- else if (childUpdate instanceof ObjectUpdate.RemoveObject)
- {
- removedChildrenUpdates.add(new ObjectUpdate.RemoveChild(objectVisit.getObjectId(), (ObjectUpdate.RemoveObject)childUpdate));
- childrenStatus.put(validObjectVisit.getObjectId(), false);
- }
- else if (childUpdate instanceof ObjectUpdate.AddObject)
- {
- addedChildrenUpdates.add(new ObjectUpdate.AddChild(objectVisit.getObjectId(), (ObjectUpdate.AddObject)childUpdate));
- childrenStatus.put(validObjectVisit.getObjectId(), true);
- }
- else
- {
- throw new UnsupportedOperationException("Was not expecting update of type " + childUpdate.getClass().getSimpleName());
- }
- }
-
- //
- for (ObjectUpdate.RemoveChild removeChildUpdate : removedChildrenUpdates)
- {
- removedChildren.add(removeChildUpdate.removedObjectUpdate.objectId);
- }
-
- //
- if (object != null)
- {
- return new ObjectUpdate.UpdateObject(
- object.structuralObject,
- childrenStatus,
- addedChildrenUpdates,
- removedChildrenUpdates,
- updateChildrenUpdates);
- }
- else
- {
- return new ObjectUpdate.AddObject(
- objectVisit.getObject(),
- childrenStatus,
- addedChildrenUpdates,
- removedChildrenUpdates,
- updateChildrenUpdates);
- }
- }
- else
- {
- if (object != null)
- {
- List<ObjectUpdate.RemoveChild> removedChildrenUpdates = new ArrayList<ObjectUpdate.RemoveChild>();
-
- //
- if (object.childRefs != null)
- {
- for (UIObjectRef removedChildRef : object.childRefs.values())
- {
- if (removedChildRef.loaded)
- {
- UIObjectImpl child = (UIObjectImpl)context.getObject(removedChildRef.getId());
-
- //
- removedChildrenUpdates.add(new ObjectUpdate.RemoveChild(objectVisit.getObjectId(), createRemove(child)));
- }
- }
- }
-
- //
- for (ObjectUpdate.RemoveChild removeChildUpdate : removedChildrenUpdates)
- {
- removedChildren.add(removeChildUpdate.removedObjectUpdate.objectId);
- }
-
- //
- return new ObjectUpdate.UpdateObject(object.structuralObject, removedChildrenUpdates);
- }
- else
- {
- return new ObjectUpdate.AddObject(objectVisit.getObject());
- }
- }
- }
- else
- {
- if (object != null)
- {
- return createRemove(object);
- }
- else
- {
- return null;
- }
- }
- }
-
- private ObjectUpdate.RemoveObject createRemove(UIObjectImpl object)
- {
- List<ObjectUpdate.RemoveObject> removedChildrenUpdates = new ArrayList<ObjectUpdate.RemoveObject>();
-
- //
- if (object.childRefs != null)
- {
- for (UIObjectRef removedChildRef : object.childRefs.values())
- {
- if (removedChildRef.loaded)
- {
- UIObjectImpl removedChild = (UIObjectImpl)context.getObject(removedChildRef.getId());
-
- //
- removedChildrenUpdates.add(createRemove(removedChild));
- }
- }
- }
-
- //
- ObjectUpdate.AddChild addChildUpdate = deferredAddChildUpdates.remove(object.getId());
-
- //
- return new ObjectUpdate.RemoveObject(object.getId(), removedChildrenUpdates, addChildUpdate);
- }
-}
Deleted: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/update/ObjectUpdate.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/update/ObjectUpdate.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/update/ObjectUpdate.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -1,360 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2008, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
- ******************************************************************************/
-package org.jboss.portal.presentation.impl.model2.update;
-
-import org.jboss.portal.presentation.impl.model2.ui.UIObjectImpl;
-import org.jboss.portal.presentation.impl.model2.UIObjectRef;
-import org.jboss.portal.presentation.model2.ViewPortContext;
-import org.jboss.portal.presentation.state.structural.StructuralObject;
-
-import java.util.List;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
- * @version $Revision: 630 $
- */
-public abstract class ObjectUpdate
-{
-
- public abstract void execute(ViewPortContext context);
-
- /**
- * Not really carrying any state for now... until we really implement it.
- */
- public static class UpdateObject extends ObjectUpdate
- {
-
- /** . */
- final StructuralObject structuralObject;
-
- /** . */
- final Map<String, Boolean> childrenStatus;
-
- /** . */
- final List<AddChild> addedChildrenUpdates;
-
- /** . */
- final List<RemoveChild> removedChildrenUpdates;
-
- /** . */
- final List<UpdateObject> updateChildrenUpdates;
-
- public UpdateObject(StructuralObject structuralObject, List<RemoveChild> removeChildrenUpdates)
- {
- if (structuralObject == null)
- {
- throw new IllegalArgumentException("No null object id accepted");
- }
- if (removeChildrenUpdates == null)
- {
- throw new IllegalArgumentException("No null removed children accepted");
- }
-
- //
- this.structuralObject = structuralObject;
- this.childrenStatus = null;
- this.addedChildrenUpdates = null;
- this.removedChildrenUpdates = removeChildrenUpdates;
- this.updateChildrenUpdates = null;
- }
-
- public UpdateObject(
- StructuralObject structuralObject,
- Map<String, Boolean> childrenStatus,
- List<AddChild> addedChildrenUpdates,
- List<RemoveChild> removedChildrenUpdates,
- List<UpdateObject> updateChildrenUpdates)
- {
- if (structuralObject == null)
- {
- throw new IllegalArgumentException("No null object id accepted");
- }
- if (addedChildrenUpdates == null)
- {
- throw new IllegalArgumentException("No null added children accepted");
- }
- if (removedChildrenUpdates == null)
- {
- throw new IllegalArgumentException("No null removed children accepted");
- }
- if (updateChildrenUpdates == null)
- {
- throw new IllegalArgumentException("No null update children accepted");
- }
-
- //
- this.structuralObject = structuralObject;
- this.childrenStatus = childrenStatus;
- this.addedChildrenUpdates = addedChildrenUpdates;
- this.removedChildrenUpdates = removedChildrenUpdates;
- this.updateChildrenUpdates = updateChildrenUpdates;
- }
-
- public void execute(ViewPortContext context)
- {
- UIObjectImpl object = (UIObjectImpl)context.getObject(structuralObject.getId());
-
- // Normally should be ok because if we have removed children updates it means
- // that it was created because the existing object was referencing children
- for (RemoveChild removedChildUpdate : removedChildrenUpdates)
- {
- removedChildUpdate.execute(context);
- }
-
- // Perform state update
- if (object.structuralObject.equals(structuralObject))
- {
- object.structuralObject = structuralObject;
- context.updateObject(structuralObject.getId());
- }
-
- //
- if (childrenStatus != null)
- {
- if (object.childRefs == null)
- {
- object.childRefs = new HashMap<String, UIObjectRef>();
- for (Map.Entry<String, Boolean> childRefEntry : childrenStatus.entrySet())
- {
- object.childRefs.put(childRefEntry.getKey(), new UIObjectRef(childRefEntry.getKey(), childRefEntry.getValue()));
- }
-
- //
- context.createChildren(structuralObject.getId());
- }
-
- //
- for (AddChild addedChildUpdate : addedChildrenUpdates)
- {
- addedChildUpdate.execute(context);
- }
-
- //
- for (UpdateObject updateChildUpdate : updateChildrenUpdates)
- {
- updateChildUpdate.execute(context);
- }
- }
- else
- {
- if (object.childRefs != null)
- {
- context.destroyChildren(structuralObject.getId());
- }
- }
- }
- }
-
- public static class AddObject extends ObjectUpdate
- {
-
- /** . */
- private final UIObjectImpl object;
-
- /** . */
- private final Map<String, Boolean> childrenStatus;
-
- /** . */
- private final List<AddChild> addedChildrenUpdates;
-
- /** . */
- private final List<RemoveChild> removedChildrenUpdates;
-
- /** . */
- private final List<UpdateObject> updateChildrenUpdates;
-
- public AddObject(UIObjectImpl object)
- {
- if (object == null)
- {
- throw new IllegalArgumentException("No null object accepted");
- }
-
- //
- this.object = object;
- this.childrenStatus = null;
- this.addedChildrenUpdates = null;
- this.removedChildrenUpdates = null;
- this.updateChildrenUpdates = null;
- }
-
- public AddObject(
- UIObjectImpl object,
- Map<String, Boolean> childrenStatus,
- List<AddChild> addedChildrenUpdates,
- List<RemoveChild> removedChildrenUpdates,
- List<UpdateObject> updateChildrenUpdates)
- {
- if (object == null)
- {
- throw new IllegalArgumentException("No null object accepted");
- }
- if (addedChildrenUpdates == null)
- {
- throw new IllegalArgumentException("No null added children accepted");
- }
- if (removedChildrenUpdates == null)
- {
- throw new IllegalArgumentException("No null removed children accepted");
- }
- if (updateChildrenUpdates == null)
- {
- throw new IllegalArgumentException("No null update children accepted");
- }
-
-
- //
- this.object = object;
- this.childrenStatus = childrenStatus;
- this.addedChildrenUpdates = addedChildrenUpdates;
- this.removedChildrenUpdates = removedChildrenUpdates;
- this.updateChildrenUpdates = updateChildrenUpdates;
- }
-
- public void execute(ViewPortContext context)
- {
- context.addObject(object);
-
- //
- if (childrenStatus != null)
- {
- object.childRefs = new HashMap<String, UIObjectRef>();
- for (Map.Entry<String, Boolean> childRefEntry : childrenStatus.entrySet())
- {
- object.childRefs.put(childRefEntry.getKey(), new UIObjectRef(childRefEntry.getKey(), childRefEntry.getValue()));
- }
-
- //
- context.createChildren(object.getId());
-
- //
- for (AddChild addedChildUpdate : addedChildrenUpdates)
- {
- addedChildUpdate.execute(context);
- }
-
- //
- for (RemoveChild removedChildUpdate : removedChildrenUpdates)
- {
- removedChildUpdate.execute(context);
- }
-
- //
- for (UpdateObject updateChildUpdate : updateChildrenUpdates)
- {
- updateChildUpdate.execute(context);
- }
- }
- }
- }
-
- public static class RemoveObject extends ObjectUpdate
- {
-
- /** . */
- final String objectId;
-
- /** . */
- private final List<RemoveObject> removedChildrenUpdates;
-
- /** . */
- private final AddChild addChildUpdate;
-
- public RemoveObject(String objectId, List<RemoveObject> removedChildrenUpdates, AddChild addChildUpdate)
- {
- this.objectId = objectId;
- this.removedChildrenUpdates = removedChildrenUpdates;
- this.addChildUpdate = addChildUpdate;
- }
-
- public void execute(ViewPortContext context)
- {
- for (RemoveObject removedChildUpdate : removedChildrenUpdates)
- {
- context.removeChild(objectId, removedChildUpdate.objectId);
-
- //
- removedChildUpdate.execute(context);
- }
-
- //
- context.removeObject(objectId);
-
- //
- if (addChildUpdate != null)
- {
- addChildUpdate.execute(context);
- }
- }
- }
-
- public static class AddChild extends ObjectUpdate
- {
-
- /** . */
- private final String parentId;
-
- /** . */
- private final AddObject addedObjectUpdate;
-
- public AddChild(String parentId, AddObject addedObjectUpdate)
- {
- this.parentId = parentId;
- this.addedObjectUpdate = addedObjectUpdate;
- }
-
- public void execute(ViewPortContext context)
- {
- addedObjectUpdate.execute(context);
-
- //
- context.addChild(parentId, addedObjectUpdate.object.getId());
- }
- }
-
- public static class RemoveChild extends ObjectUpdate
- {
-
- /** . */
- private final String parentId;
-
- /** . */
- final RemoveObject removedObjectUpdate;
-
- public RemoveChild(String parentId, RemoveObject removedObjectUpdate)
- {
- this.parentId = parentId;
- this.removedObjectUpdate = removedObjectUpdate;
- }
-
- public void execute(ViewPortContext context)
- {
- context.removeChild(parentId, removedObjectUpdate.objectId);
-
- //
- removedObjectUpdate.execute(context);
- }
- }
-}
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/navigational/NavigationalStateContextImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/navigational/NavigationalStateContextImpl.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/navigational/NavigationalStateContextImpl.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -28,6 +28,7 @@
import java.util.Map;
import java.util.HashMap;
+import java.util.Set;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -37,77 +38,92 @@
{
/** . */
- private final Map<Key, Object> map;
+ private final Map<String, Map<String, Object>> map;
- public NavigationalStateContextImpl(Map<Key, Object> map)
+ public NavigationalStateContextImpl(Map<String, Map<String, Object>> map)
{
this.map = map;
}
public NavigationalStateContextImpl()
{
- this(new HashMap<Key, Object>());
+ this(new HashMap<String, Map<String, Object>>());
}
- public void set(String objectId, String key, Object navigationalState) throws StateChangeVetoException, StateException, IllegalArgumentException
+ public Set<String> getPropertyNames(String objectId)
{
- Key key2 = new Key(objectId, key);
+ if (objectId == null)
+ {
+ throw new IllegalArgumentException();
+ }
//
- if (navigationalState != null)
+ return map.get(objectId).keySet();
+ }
+
+ public void setProperty(String objectId, String key, Object navigationalState) throws StateChangeVetoException, StateException, IllegalArgumentException
+ {
+ if (objectId == null)
{
- map.put(key2, navigationalState);
+ throw new IllegalArgumentException();
}
- else
+ if (key == null)
{
- map.remove(key2);
+ throw new IllegalArgumentException();
}
- }
- public Object get(String objectId, String key) throws IllegalArgumentException
- {
- return map.get(new Key(objectId, key));
- }
+ //
+ Map<String, Object> properties = map.get(objectId);
- private final class Key
- {
- /** . */
- private final String objectId;
-
- /** . */
- private final String key;
-
- private Key(String objectId, String key)
+ //
+ if (navigationalState != null)
{
- if (objectId == null)
+ if (properties == null)
{
- throw new IllegalArgumentException();
+ properties = new HashMap<String, Object>();
+ map.put(objectId, properties);
}
- if (key == null)
+
+ //
+ properties.put(key, navigationalState);
+ }
+ else
+ {
+ if (properties != null)
{
- throw new IllegalArgumentException();
+ properties.remove(key);
+
+ //
+ if (properties.isEmpty())
+ {
+ map.remove(objectId);
+ }
}
- this.objectId = objectId;
- this.key = key;
}
+ }
- public int hashCode()
+ public Object getProperty(String objectId, String key) throws IllegalArgumentException
+ {
+ if (objectId == null)
{
- return objectId.hashCode() * 43 + key.hashCode();
+ throw new IllegalArgumentException();
}
+ if (key == null)
+ {
+ throw new IllegalArgumentException();
+ }
- public boolean equals(Object o)
+ //
+ Map<String, Object> properties = map.get(objectId);
+
+ //
+ if (properties != null)
{
- if (o == this)
- {
- return true;
- }
- if (o instanceof Key)
- {
- Key that = (Key)o;
- return objectId.equals(that.objectId) && key.equals(that.key);
- }
- return false;
+ return properties.get(key);
}
+ else
+ {
+ return null;
+ }
}
}
\ No newline at end of file
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/ContextNode.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/ContextNode.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/ContextNode.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -22,7 +22,7 @@
******************************************************************************/
package org.jboss.portal.presentation.impl.state.structural;
-import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.UIObject;
import org.jboss.portal.presentation.model2.ui.UIContext;
/**
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/PageNode.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/PageNode.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/PageNode.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -22,7 +22,7 @@
******************************************************************************/
package org.jboss.portal.presentation.impl.state.structural;
-import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.UIObject;
import org.jboss.portal.presentation.model2.ui.UIPage;
/**
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralNode.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralNode.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralNode.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -24,7 +24,7 @@
import org.jboss.portal.presentation.state.structural.StructuralObject;
import org.jboss.portal.presentation.state.StaleStateException;
-import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.UIObject;
import java.util.Map;
import java.util.HashMap;
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralStateImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralStateImpl.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralStateImpl.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -23,7 +23,7 @@
package org.jboss.portal.presentation.impl.state.structural;
import org.jboss.portal.presentation.state.structural.StructuralState;
-import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.UIObject;
import java.util.Map;
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/WindowNode.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/WindowNode.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/WindowNode.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -22,7 +22,7 @@
******************************************************************************/
package org.jboss.portal.presentation.impl.state.structural;
-import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.UIObject;
import org.jboss.portal.presentation.model2.ui.UIWindow;
/**
Copied: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/UIObject.java (from rev 10491, modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ui/UIObject.java)
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/UIObject.java (rev 0)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/UIObject.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -0,0 +1,73 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.presentation.model2;
+
+import org.jboss.portal.presentation.model.state.StateException;
+import org.jboss.portal.presentation.state.StateType;
+
+import java.util.Set;
+
+/**
+ * A wrapper of a structural object. The main goal of this object is to let the viewport add custom payload
+ * in addition of the structural state.
+ *
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public interface UIObject
+{
+
+ /**
+ * Returns the id.
+ *
+ * @return the id
+ */
+ String getId();
+
+ /**
+ * Returns the name.
+ *
+ * @return the name
+ */
+ String getName();
+
+ /**
+ * Returns a property value or null if it does not exist.
+ *
+ * @param stateType the state type
+ * @param propertyName the property name
+ * @param propertyType the expected property type @return the property value @return the property value
+ * @return the property value
+ * @throws IllegalArgumentException if any argument is null or not valid
+ * @throws StateException any state exception
+ */
+ <T> T getProperty(StateType stateType, String propertyName, Class<T> propertyType) throws IllegalArgumentException, StateException;
+
+ /**
+ * Returns the set of property names of this object
+ *
+ * @param stateType the state type
+ * @return the property names
+ */
+ Set<String> getPropertyNames(StateType stateType);
+}
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ViewPortContext.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ViewPortContext.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ViewPortContext.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -22,7 +22,7 @@
******************************************************************************/
package org.jboss.portal.presentation.model2;
-import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.UIObject;
/**
* This interface defines read-write access to the structural information of a viewport.
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ViewPortScope.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ViewPortScope.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ViewPortScope.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -22,7 +22,7 @@
******************************************************************************/
package org.jboss.portal.presentation.model2;
-import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.UIObject;
/**
* Defines the scope of a viewport. This interface is separated from the viewport context in order to
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ui/UIContainer.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ui/UIContainer.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ui/UIContainer.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -22,6 +22,8 @@
******************************************************************************/
package org.jboss.portal.presentation.model2.ui;
+import org.jboss.portal.presentation.model2.UIObject;
+
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ui/UIContext.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ui/UIContext.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ui/UIContext.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -22,6 +22,8 @@
******************************************************************************/
package org.jboss.portal.presentation.model2.ui;
+import org.jboss.portal.presentation.model2.UIObject;
+
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ui/UIPage.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ui/UIPage.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ui/UIPage.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -22,6 +22,8 @@
******************************************************************************/
package org.jboss.portal.presentation.model2.ui;
+import org.jboss.portal.presentation.model2.UIObject;
+
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ui/UIWindow.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ui/UIWindow.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/ui/UIWindow.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -24,6 +24,7 @@
import org.jboss.portal.WindowState;
import org.jboss.portal.Mode;
+import org.jboss.portal.presentation.model2.UIObject;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
Added: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/StateType.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/StateType.java (rev 0)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/StateType.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -0,0 +1,42 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2006, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.presentation.state;
+
+/**
+ * Qualifier for a type of state.
+ *
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public enum StateType
+{
+ /**
+ * The navigational state type.
+ */
+ NAVIGATIONAL,
+
+ /**
+ * The structural state type.
+ */
+ STRUCTURAL
+}
\ No newline at end of file
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/navigational/NavigationalStateContext.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/navigational/NavigationalStateContext.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/navigational/NavigationalStateContext.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -24,14 +24,19 @@
import org.jboss.portal.presentation.state.StateException;
+import java.util.Set;
+
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 630 $
*/
public interface NavigationalStateContext
{
- Object get(String objectId, String key) throws IllegalArgumentException;
- void set(String objectId, String key, Object navigationalState) throws StateException, IllegalArgumentException;
+ Set<String> getPropertyNames(String objectId);
+ Object getProperty(String objectId, String key) throws IllegalArgumentException;
+
+ void setProperty(String objectId, String key, Object navigationalState) throws StateException, IllegalArgumentException;
+
}
\ No newline at end of file
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/structural/StructuralState.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/structural/StructuralState.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/structural/StructuralState.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -22,7 +22,7 @@
******************************************************************************/
package org.jboss.portal.presentation.state.structural;
-import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.UIObject;
import java.util.Map;
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/AbstractModelTestCase.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/AbstractModelTestCase.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/AbstractModelTestCase.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -23,7 +23,7 @@
package org.jboss.portal.presentation.test.model;
import junit.framework.TestCase;
-import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.UIObject;
import org.jboss.portal.presentation.model2.ui.UIContext;
import org.jboss.portal.presentation.model2.ui.UIPage;
import org.jboss.portal.presentation.state.structural.StructuralObject;
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/MockModelTestCase.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/MockModelTestCase.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/MockModelTestCase.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -24,12 +24,10 @@
import org.jboss.portal.presentation.model2.ui.UIContext;
import org.jboss.portal.presentation.model2.ui.UIPage;
-import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.UIObject;
import org.jboss.portal.presentation.model2.ui.UIWindow;
import org.jboss.portal.presentation.state.StaleStateException;
-import org.jboss.portal.presentation.state.NoSuchStateException;
import org.jboss.portal.presentation.state.structural.StructuralObject;
-import org.jboss.portal.presentation.state.structural.StructuralState;
import org.jboss.portal.presentation.state.structural.StructuralStateContext;
import org.jboss.portal.presentation.test.model.state.structural.MockModel;
import org.jboss.portal.presentation.test.model.state.structural.MockObject;
@@ -38,7 +36,6 @@
import java.util.Collections;
import java.util.Set;
-import java.util.Map;
import java.util.List;
/**
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockModelImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockModelImpl.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockModelImpl.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -23,7 +23,7 @@
package org.jboss.portal.presentation.test.model.state.structural;
import org.jboss.portal.presentation.model2.ui.UIContext;
-import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.UIObject;
import org.jboss.portal.presentation.model2.ui.UIPage;
import org.jboss.portal.presentation.model2.ui.UIWindow;
import org.jboss.portal.presentation.state.NoSuchStateException;
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockObject.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockObject.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockObject.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -23,7 +23,7 @@
package org.jboss.portal.presentation.test.model.state.structural;
import org.jboss.portal.presentation.model2.ui.UIContext;
-import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.UIObject;
import org.jboss.portal.presentation.model2.ui.UIPage;
import org.jboss.portal.presentation.model2.ui.UIWindow;
import org.jboss.portal.presentation.state.structural.StructuralObject;
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/StructuralStateImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/StructuralStateImpl.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/StructuralStateImpl.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -23,7 +23,7 @@
package org.jboss.portal.presentation.test.model.state.structural;
import org.jboss.portal.presentation.state.structural.StructuralState;
-import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.UIObject;
import java.util.Map;
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/CustomScope.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/CustomScope.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/CustomScope.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -24,7 +24,7 @@
import org.jboss.portal.presentation.model2.ViewPortScope;
import org.jboss.portal.presentation.model2.ObjectTraversalType;
-import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.UIObject;
import org.jboss.portal.presentation.model2.UIModel;
/**
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/UIObjectNode.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/UIObjectNode.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/UIObjectNode.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -22,7 +22,8 @@
******************************************************************************/
package org.jboss.portal.presentation.test.model3;
-import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.UIObject;
+import org.jboss.portal.presentation.state.StateType;
import java.util.Map;
import java.util.HashMap;
@@ -67,9 +68,9 @@
{
properties.clear();
- for (String name : object.getPropertyNames())
+ for (String name : object.getPropertyNames(StateType.STRUCTURAL))
{
- String value = object.getProperty(name, String.class);
+ String value = object.getProperty(StateType.STRUCTURAL, name, String.class);
properties.put(name, value);
}
}
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/UIObjectTree.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/UIObjectTree.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/UIObjectTree.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -23,7 +23,7 @@
package org.jboss.portal.presentation.test.model3;
import org.jboss.portal.presentation.model2.ViewPortContext;
-import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.UIObject;
import java.util.Map;
import java.util.HashMap;
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/state/structural/StructuralStateContextTestCase.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/state/structural/StructuralStateContextTestCase.java 2008-04-03 19:45:14 UTC (rev 10494)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/state/structural/StructuralStateContextTestCase.java 2008-04-03 21:40:50 UTC (rev 10495)
@@ -30,7 +30,7 @@
import org.jboss.portal.presentation.state.structural.StructuralStateContext;
import org.jboss.portal.presentation.model2.ui.UIContext;
import org.jboss.portal.presentation.model2.ui.UIPage;
-import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.UIObject;
import org.jboss.portal.presentation.model2.ui.UIWindow;
import org.jboss.portal.presentation.test.model.AbstractModelTestCase;
16 years, 2 months
JBoss Portal SVN: r10494 - modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-04-03 15:45:14 -0400 (Thu, 03 Apr 2008)
New Revision: 10494
Removed:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/UIObjectImpl.java
Log:
removed unused class that should already have been removed (grrr)
Deleted: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/UIObjectImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/UIObjectImpl.java 2008-04-03 18:08:55 UTC (rev 10493)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/UIObjectImpl.java 2008-04-03 19:45:14 UTC (rev 10494)
@@ -1,109 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2008, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
- ******************************************************************************/
-package org.jboss.portal.presentation.impl.model2;
-
-import org.jboss.portal.presentation.model2.ui.UIObject;
-import org.jboss.portal.presentation.state.StateException;
-import org.jboss.portal.presentation.state.structural.StructuralObject;
-
-import java.util.Map;
-import java.util.Set;
-
-/**
- * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
- * @version $Revision: 630 $
- */
-public class UIObjectImpl implements UIObject
-{
-
- /** . */
- public StructuralObject structuralObject;
-
- /** We keep track of what was loaded by the scope. */
- public Map<String, UIObjectRef> childRefs;
-
- public UIObjectImpl(StructuralObject structuralObject)
- {
- this.structuralObject = structuralObject;
- }
-
- public String getId()
- {
- return structuralObject.getId();
- }
-
- public String getName()
- {
- return structuralObject.getState().getName();
- }
-
- public <T> T getProperty(String propertyName, Class<T> propertyType) throws IllegalArgumentException, StateException
- {
- return safeCast(getProperty(propertyName), propertyType);
- }
-
- public Set<String> getPropertyNames()
- {
- return structuralObject.getState().getProperties().keySet();
- }
-
- public Object getProperty(String propertyName) throws IllegalArgumentException, StateException
- {
- if (propertyName == null)
- {
- throw new IllegalArgumentException();
- }
- return structuralObject.getState().getProperties().get(propertyName);
- }
-
- /**
- * Attempt to cast the value argument to the provided type argument. If the value argument type is assignable
- * to the provided type, the value is returned, otherwise if it is not or the value is null, null is returned.
- *
- * @param value the value to cast
- * @param type the type to downcast
- * @return the casted value or null
- */
- private <T> T safeCast(Object value, Class<T> type)
- {
- if (type == null)
- {
- throw new IllegalArgumentException();
- }
- if (value == null)
- {
- return null;
- }
- else
- {
- if (type.isAssignableFrom(value.getClass()))
- {
- return type.cast(value);
- }
- else
- {
- return null;
- }
- }
- }
-}
\ No newline at end of file
16 years, 2 months
JBoss Portal SVN: r10493 - in modules/presentation/trunk: classic and 8 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-04-03 14:08:55 -0400 (Thu, 03 Apr 2008)
New Revision: 10493
Added:
modules/presentation/trunk/classic/
modules/presentation/trunk/classic/pom.xml
modules/presentation/trunk/classic/presentation-classic.iml
modules/presentation/trunk/classic/src/
modules/presentation/trunk/classic/src/main/
modules/presentation/trunk/classic/src/main/java/
modules/presentation/trunk/classic/src/main/java/org/
modules/presentation/trunk/classic/src/main/java/org/jboss/
modules/presentation/trunk/classic/src/main/java/org/jboss/portal/
modules/presentation/trunk/classic/src/main/java/org/jboss/portal/presentation/
modules/presentation/trunk/classic/src/main/java/org/jboss/portal/presentation/classic/
modules/presentation/trunk/classic/src/main/resources/
modules/presentation/trunk/classic/src/test/
modules/presentation/trunk/classic/src/test/java/
modules/presentation/trunk/classic/src/test/resources/
Modified:
modules/presentation/trunk/pom.xml
Log:
added classic module in presentation module
Added: modules/presentation/trunk/classic/pom.xml
===================================================================
--- modules/presentation/trunk/classic/pom.xml (rev 0)
+++ modules/presentation/trunk/classic/pom.xml 2008-04-03 18:08:55 UTC (rev 10493)
@@ -0,0 +1,72 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.jboss.portal.presentation</groupId>
+ <artifactId>module-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../build/pom.xml</relativePath>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>presentation-classic</artifactId>
+ <packaging>jar</packaging>
+ <name>JBoss Portal Presentation Framework</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>sun-servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.portal.common</groupId>
+ <artifactId>common-common</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.portal.common</groupId>
+ <artifactId>common-portal</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.portal.web</groupId>
+ <artifactId>web-web</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-container</artifactId>
+ <version>${version.jboss.microcontainer}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-kernel</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-dependency</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-remoting</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ </plugins>
+ </build>
+</project>
Added: modules/presentation/trunk/classic/presentation-classic.iml
===================================================================
--- modules/presentation/trunk/classic/presentation-classic.iml (rev 0)
+++ modules/presentation/trunk/classic/presentation-classic.iml 2008-04-03 18:08:55 UTC (rev 10493)
@@ -0,0 +1,577 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module relativePaths="true" type="JAVA_MODULE" version="4">
+ <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5" inherit-compiler-output="false">
+ <output url="file://$MODULE_DIR$/target/classes" />
+ <exclude-output />
+ <output-test url="file://$MODULE_DIR$/target/test-classes" />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/resources" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/src/test/resources" isTestSource="true" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="module-library" exported="">
+ <library name="javax.servlet:servlet-api:2.4">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/servlet/servlet-api/2.4/servlet-api-2.4.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/servlet/servlet-api/2.4/servlet-api-2.4-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/servlet/servlet-api/2.4/servlet-api-2.4-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="junit:junit:3.8.1">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/junit/junit/3.8.1/junit-3.8.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/junit/junit/3.8.1/junit-3.8.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.portal.common:common-common:1.2.0.Beta3">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/common/common-common/1.2.0.Beta3/common-common-1.2.0.Beta3.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/common/common-common/1.2.0.Beta3/common-common-1.2.0.Beta3-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/common/common-common/1.2.0.Beta3/common-common-1.2.0.Beta3-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="apache-log4j:log4j:1.2.8">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-log4j/log4j/1.2.8/log4j-1.2.8.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-log4j/log4j/1.2.8/log4j-1.2.8-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-log4j/log4j/1.2.8/log4j-1.2.8-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="javax.activation:activation:1.1">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/activation/activation/1.1/activation-1.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/activation/activation/1.1/activation-1.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/activation/activation/1.1/activation-1.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="jboss:jboss-j2ee:4.2.0.GA">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-j2ee/4.2.0.GA/jboss-j2ee-4.2.0.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-j2ee/4.2.0.GA/jboss-j2ee-4.2.0.GA-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-j2ee/4.2.0.GA/jboss-j2ee-4.2.0.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="ant:ant:1.6.5">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/ant/ant/1.6.5/ant-1.6.5.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/ant/ant/1.6.5/ant-1.6.5-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/ant/ant/1.6.5/ant-1.6.5-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="jboss:jboss-jmx:4.2.0.GA">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-jmx/4.2.0.GA/jboss-jmx-4.2.0.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-jmx/4.2.0.GA/jboss-jmx-4.2.0.GA-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-jmx/4.2.0.GA/jboss-jmx-4.2.0.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="commons-httpclient:commons-httpclient:3.0.1">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/commons-httpclient/commons-httpclient/3.0.1/commons-httpclient-3.0.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/commons-httpclient/commons-httpclient/3.0.1/commons-httpclient-3.0.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/commons-httpclient/commons-httpclient/3.0.1/commons-httpclient-3.0.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="commons-logging:commons-logging:1.0.3">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="commons-codec:commons-codec:1.2">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/commons-codec/commons-codec/1.2/commons-codec-1.2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/commons-codec/commons-codec/1.2/commons-codec-1.2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/commons-codec/commons-codec/1.2/commons-codec-1.2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="ant:ant-junit:1.6.5">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/ant/ant-junit/1.6.5/ant-junit-1.6.5.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/ant/ant-junit/1.6.5/ant-junit-1.6.5-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/ant/ant-junit/1.6.5/ant-junit-1.6.5-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.codehaus.cargo:cargo-core-uberjar:0.8">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/codehaus/cargo/cargo-core-uberjar/0.8/cargo-core-uberjar-0.8.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/codehaus/cargo/cargo-core-uberjar/0.8/cargo-core-uberjar-0.8-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/codehaus/cargo/cargo-core-uberjar/0.8/cargo-core-uberjar-0.8-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="ant:ant-nodeps:1.6.5">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/ant/ant-nodeps/1.6.5/ant-nodeps-1.6.5.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/ant/ant-nodeps/1.6.5/ant-nodeps-1.6.5-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/ant/ant-nodeps/1.6.5/ant-nodeps-1.6.5-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="ant:ant-launcher:1.6.5">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/ant/ant-launcher/1.6.5/ant-launcher-1.6.5.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/ant/ant-launcher/1.6.5/ant-launcher-1.6.5-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/ant/ant-launcher/1.6.5/ant-launcher-1.6.5-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.portal.common:common-portal:1.2.0.Beta3">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/common/common-portal/1.2.0.Beta3/common-portal-1.2.0.Beta3.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/common/common-portal/1.2.0.Beta3/common-portal-1.2.0.Beta3-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/common/common-portal/1.2.0.Beta3/common-portal-1.2.0.Beta3-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.portal.web:web-web:1.2.0.Beta3">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/web/web-web/1.2.0.Beta3/web-web-1.2.0.Beta3.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/web/web-web/1.2.0.Beta3/web-web-1.2.0.Beta3-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/portal/web/web-web/1.2.0.Beta3/web-web-1.2.0.Beta3-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="apache-tomcat:catalina:5.5.12">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-tomcat/catalina/5.5.12/catalina-5.5.12.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-tomcat/catalina/5.5.12/catalina-5.5.12-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-tomcat/catalina/5.5.12/catalina-5.5.12-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="jboss:jboss-remoting:2.2.1.GA">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-remoting/2.2.1.GA/jboss-remoting-2.2.1.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-remoting/2.2.1.GA/jboss-remoting-2.2.1.GA-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-remoting/2.2.1.GA/jboss-remoting-2.2.1.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.microcontainer:jboss-container:2.0.0.Beta9">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-container/2.0.0.Beta9/jboss-container-2.0.0.Beta9.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-container/2.0.0.Beta9/jboss-container-2.0.0.Beta9-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-container/2.0.0.Beta9/jboss-container-2.0.0.Beta9-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss:javassist:3.6.0.GA">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/javassist/3.6.0.GA/javassist-3.6.0.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/javassist/3.6.0.GA/javassist-3.6.0.GA-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/javassist/3.6.0.GA/javassist-3.6.0.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss:jbossxb:2.0.0.CR4">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jbossxb/2.0.0.CR4/jbossxb-2.0.0.CR4.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jbossxb/2.0.0.CR4/jbossxb-2.0.0.CR4-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jbossxb/2.0.0.CR4/jbossxb-2.0.0.CR4-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="apache-xerces:xercesImpl:2.7.1">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-xerces/xercesImpl/2.7.1/xercesImpl-2.7.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-xerces/xercesImpl/2.7.1/xercesImpl-2.7.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-xerces/xercesImpl/2.7.1/xercesImpl-2.7.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="wutka-dtdparser:dtdparser121:1.2.1">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="apache-xerces:xml-apis:2.7.1">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-xerces/xml-apis/2.7.1/xml-apis-2.7.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-xerces/xml-apis/2.7.1/xml-apis-2.7.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-xerces/xml-apis/2.7.1/xml-apis-2.7.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss:jboss-common-core:2.2.3.GA">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jboss-common-core/2.2.3.GA/jboss-common-core-2.2.3.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jboss-common-core/2.2.3.GA/jboss-common-core-2.2.3.GA-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jboss-common-core/2.2.3.GA/jboss-common-core-2.2.3.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="apache-httpclient:commons-httpclient:2.0.2">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-httpclient/commons-httpclient/2.0.2/commons-httpclient-2.0.2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-httpclient/commons-httpclient/2.0.2/commons-httpclient-2.0.2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-httpclient/commons-httpclient/2.0.2/commons-httpclient-2.0.2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="apache-slide:webdavlib:2.0">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-slide/webdavlib/2.0/webdavlib-2.0.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-slide/webdavlib/2.0/webdavlib-2.0-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/apache-slide/webdavlib/2.0/webdavlib-2.0-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="jboss:jboss-logging-spi:2.0.3.GA">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-logging-spi/2.0.3.GA/jboss-logging-spi-2.0.3.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-logging-spi/2.0.3.GA/jboss-logging-spi-2.0.3.GA-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-logging-spi/2.0.3.GA/jboss-logging-spi-2.0.3.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.microcontainer:jboss-kernel:2.0.0.Beta9">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-kernel/2.0.0.Beta9/jboss-kernel-2.0.0.Beta9.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-kernel/2.0.0.Beta9/jboss-kernel-2.0.0.Beta9-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-kernel/2.0.0.Beta9/jboss-kernel-2.0.0.Beta9-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.microcontainer:jboss-dependency:2.0.0.Beta9">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-dependency/2.0.0.Beta9/jboss-dependency-2.0.0.Beta9.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-dependency/2.0.0.Beta9/jboss-dependency-2.0.0.Beta9-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-dependency/2.0.0.Beta9/jboss-dependency-2.0.0.Beta9-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.microcontainer:jboss-managed:2.0.0.Beta9">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-managed/2.0.0.Beta9/jboss-managed-2.0.0.Beta9.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-managed/2.0.0.Beta9/jboss-managed-2.0.0.Beta9-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-managed/2.0.0.Beta9/jboss-managed-2.0.0.Beta9-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.aop:jboss-aop:2.0.0.CR1">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/aop/jboss-aop/2.0.0.CR1/jboss-aop-2.0.0.CR1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/aop/jboss-aop/2.0.0.CR1/jboss-aop-2.0.0.CR1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/aop/jboss-aop/2.0.0.CR1/jboss-aop-2.0.0.CR1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="jboss:jboss-common-logging-spi:2.0.4.GA">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="qdox:qdox:1.6">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/qdox/qdox/1.6/qdox-1.6.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/qdox/qdox/1.6/qdox-1.6-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/qdox/qdox/1.6/qdox-1.6-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="trove:trove:2.1.1">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/trove/trove/2.1.1/trove-2.1.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/trove/trove/2.1.1/trove-2.1.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/trove/trove/2.1.1/trove-2.1.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss.microcontainer:jboss-metatype:2.0.0.Beta9">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-metatype/2.0.0.Beta9/jboss-metatype-2.0.0.Beta9.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-metatype/2.0.0.Beta9/jboss-metatype-2.0.0.Beta9-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/microcontainer/jboss-metatype/2.0.0.Beta9/jboss-metatype-2.0.0.Beta9-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.jboss:jboss-test:1.0.4.GA">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jboss-test/1.0.4.GA/jboss-test-1.0.4.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jboss-test/1.0.4.GA/jboss-test-1.0.4.GA-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/org/jboss/jboss-test/1.0.4.GA/jboss-test-1.0.4.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="jboss:jboss-common-logging-log4j:2.0.4.GA">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-common-logging-log4j/2.0.4.GA/jboss-common-logging-log4j-2.0.4.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-common-logging-log4j/2.0.4.GA/jboss-common-logging-log4j-2.0.4.GA-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-common-logging-log4j/2.0.4.GA/jboss-common-logging-log4j-2.0.4.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="log4j:log4j:1.2.14">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="jboss.profiler.jvmti:jboss-profiler-jvmti:1.0.0.CR5">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/profiler/jvmti/jboss-profiler-jvmti/1.0.0.CR5/jboss-profiler-jvmti-1.0.0.CR5.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/profiler/jvmti/jboss-profiler-jvmti/1.0.0.CR5/jboss-profiler-jvmti-1.0.0.CR5-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/profiler/jvmti/jboss-profiler-jvmti/1.0.0.CR5/jboss-profiler-jvmti-1.0.0.CR5-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="jboss:jboss-common-core:2.0.3.GA">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-common-core/2.0.3.GA/jboss-common-core-2.0.3.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-common-core/2.0.3.GA/jboss-common-core-2.0.3.GA-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/jboss/jboss-common-core/2.0.3.GA/jboss-common-core-2.0.3.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="oswego-concurrent:concurrent:1.3.4">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/oswego-concurrent/concurrent/1.3.4/concurrent-1.3.4.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/oswego-concurrent/concurrent/1.3.4/concurrent-1.3.4-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../.m2/repository/oswego-concurrent/concurrent/1.3.4/concurrent-1.3.4-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntryProperties />
+ </component>
+</module>
+
Modified: modules/presentation/trunk/pom.xml
===================================================================
--- modules/presentation/trunk/pom.xml 2008-04-03 18:00:53 UTC (rev 10492)
+++ modules/presentation/trunk/pom.xml 2008-04-03 18:08:55 UTC (rev 10493)
@@ -28,5 +28,6 @@
<modules>
<module>build</module>
<module>presentation</module>
+ <module>classic</module>
</modules>
</project>
16 years, 2 months
JBoss Portal SVN: r10492 - in modules/presentation/trunk/presentation/src: main/java/org/jboss/portal/presentation/impl/state/navigational and 2 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-04-03 14:00:53 -0400 (Thu, 03 Apr 2008)
New Revision: 10492
Added:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/navigational/
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/navigational/NavigationalStateContextImpl.java
Removed:
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/navigational/
Modified:
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/AbstractModelTestCase.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/TraversalModelTestCase.java
Log:
moved NavigationalStateContextImpl in a better place
Added: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/navigational/NavigationalStateContextImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/navigational/NavigationalStateContextImpl.java (rev 0)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/navigational/NavigationalStateContextImpl.java 2008-04-03 18:00:53 UTC (rev 10492)
@@ -0,0 +1,113 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2006, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.presentation.impl.state.navigational;
+
+import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
+import org.jboss.portal.presentation.state.StateChangeVetoException;
+import org.jboss.portal.presentation.state.StateException;
+
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class NavigationalStateContextImpl implements NavigationalStateContext
+{
+
+ /** . */
+ private final Map<Key, Object> map;
+
+ public NavigationalStateContextImpl(Map<Key, Object> map)
+ {
+ this.map = map;
+ }
+
+ public NavigationalStateContextImpl()
+ {
+ this(new HashMap<Key, Object>());
+ }
+
+ public void set(String objectId, String key, Object navigationalState) throws StateChangeVetoException, StateException, IllegalArgumentException
+ {
+ Key key2 = new Key(objectId, key);
+
+ //
+ if (navigationalState != null)
+ {
+ map.put(key2, navigationalState);
+ }
+ else
+ {
+ map.remove(key2);
+ }
+ }
+
+ public Object get(String objectId, String key) throws IllegalArgumentException
+ {
+ return map.get(new Key(objectId, key));
+ }
+
+ private final class Key
+ {
+ /** . */
+ private final String objectId;
+
+ /** . */
+ private final String key;
+
+ private Key(String objectId, String key)
+ {
+ if (objectId == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ if (key == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ this.objectId = objectId;
+ this.key = key;
+ }
+
+ public int hashCode()
+ {
+ return objectId.hashCode() * 43 + key.hashCode();
+ }
+
+ public boolean equals(Object o)
+ {
+ if (o == this)
+ {
+ return true;
+ }
+ if (o instanceof Key)
+ {
+ Key that = (Key)o;
+ return objectId.equals(that.objectId) && key.equals(that.key);
+ }
+ return false;
+ }
+ }
+}
\ No newline at end of file
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/AbstractModelTestCase.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/AbstractModelTestCase.java 2008-04-03 15:04:02 UTC (rev 10491)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/AbstractModelTestCase.java 2008-04-03 18:00:53 UTC (rev 10492)
@@ -25,7 +25,7 @@
import org.jboss.portal.presentation.model2.UIModel;
import org.jboss.portal.presentation.test.model.state.structural.MockModel;
import org.jboss.portal.presentation.test.model.state.structural.MockModelImpl;
-import org.jboss.portal.presentation.test.model.state.navigational.NavigationalStateContextImpl;
+import org.jboss.portal.presentation.impl.state.navigational.NavigationalStateContextImpl;
import org.jboss.portal.presentation.state.structural.StructuralStateContext;
import org.jboss.portal.presentation.impl.model2.UIModelImpl;
import junit.framework.TestCase;
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/TraversalModelTestCase.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/TraversalModelTestCase.java 2008-04-03 15:04:02 UTC (rev 10491)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/TraversalModelTestCase.java 2008-04-03 18:00:53 UTC (rev 10492)
@@ -26,7 +26,7 @@
import org.jboss.portal.presentation.model2.UIModel;
import org.jboss.portal.presentation.test.model.state.structural.MockModel;
import org.jboss.portal.presentation.test.model.state.structural.MockModelImpl;
-import org.jboss.portal.presentation.test.model.state.navigational.NavigationalStateContextImpl;
+import org.jboss.portal.presentation.impl.state.navigational.NavigationalStateContextImpl;
import org.jboss.portal.presentation.state.structural.StructuralStateContext;
import org.jboss.portal.presentation.impl.model2.UIModelImpl;
16 years, 2 months
JBoss Portal SVN: r10491 - in modules/presentation/trunk/presentation/src: main/java/org/jboss/portal/presentation/impl/state and 6 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-04-03 11:04:02 -0400 (Thu, 03 Apr 2008)
New Revision: 10491
Added:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/ContextNode.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/PageNode.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralNode.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralObjectImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralStateContextImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralStateImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/WindowNode.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/state/
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/state/structural/
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/state/structural/StructuralStateContextTestCase.java
Modified:
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/AbstractModelTestCase.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/MockModelTestCase.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockObject.java
Log:
implementation of structural state context that is not based on versioning (that uses state comparison during refresh)
Added: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/ContextNode.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/ContextNode.java (rev 0)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/ContextNode.java 2008-04-03 15:04:02 UTC (rev 10491)
@@ -0,0 +1,43 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.presentation.impl.state.structural;
+
+import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.ui.UIContext;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class ContextNode extends StructuralNode
+{
+ public ContextNode(String name, StructuralStateContextImpl structuralStateContext)
+ {
+ super(name, structuralStateContext);
+ }
+
+ public Class<? extends UIObject> getType()
+ {
+ return UIContext.class;
+ }
+}
Added: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/PageNode.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/PageNode.java (rev 0)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/PageNode.java 2008-04-03 15:04:02 UTC (rev 10491)
@@ -0,0 +1,43 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.presentation.impl.state.structural;
+
+import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.ui.UIPage;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class PageNode extends StructuralNode
+{
+ public PageNode(String name, StructuralStateContextImpl structuralStateContext)
+ {
+ super(name, structuralStateContext);
+ }
+
+ public Class<? extends UIObject> getType()
+ {
+ return UIPage.class;
+ }
+}
Added: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralNode.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralNode.java (rev 0)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralNode.java 2008-04-03 15:04:02 UTC (rev 10491)
@@ -0,0 +1,352 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.presentation.impl.state.structural;
+
+import org.jboss.portal.presentation.state.structural.StructuralObject;
+import org.jboss.portal.presentation.state.StaleStateException;
+import org.jboss.portal.presentation.model2.ui.UIObject;
+
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Collections;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.Collection;
+import java.util.ArrayList;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public abstract class StructuralNode
+{
+
+ /** . */
+ private final Set<String> EMPTY_STRING_SET = Collections.emptySet();
+
+ /** . */
+ private StructuralNode parent;
+
+ /** . */
+ private final Map<String, StructuralNode> children = new HashMap<String, StructuralNode>();
+
+ /** . */
+ private final StructuralStateContextImpl structuralStateContext;
+
+ /** . */
+ private final String id;
+
+ /** . */
+ private final String name;
+
+ /** . */
+ private boolean valid;
+
+ /** . */
+ private final Map<String, String> properties;
+
+ protected StructuralNode(String name, StructuralStateContextImpl structuralStateContext)
+ {
+ this.name = name;
+ this.id = structuralStateContext.nextId();
+ this.structuralStateContext = structuralStateContext;
+ this.properties = new HashMap<String, String>();
+ this.valid = true;
+ }
+
+ public abstract Class<? extends UIObject> getType();
+
+ Collection<StructuralObject> takeChildrenSnapshot(StructuralObject structuralObject)
+ {
+ synchronized (this)
+ {
+ if (!takeSnapshot().equals(structuralObject))
+ {
+ throw new StaleStateException();
+ }
+
+ //
+ Set<StructuralObject> structuralChildren = new HashSet<StructuralObject>();
+ for (StructuralNode child : children.values())
+ {
+ structuralChildren.add(child.takeSnapshot());
+ }
+
+ //
+ return structuralChildren;
+ }
+ }
+
+ StructuralObject takeParentSnapshot(StructuralObject structuralObject)
+ {
+ synchronized (this)
+ {
+ if (!takeSnapshot().equals(structuralObject))
+ {
+ throw new StaleStateException();
+ }
+
+ //
+ return parent != null ? parent.takeSnapshot() : null;
+ }
+ }
+
+ StructuralObject takeSnapshot()
+ {
+ synchronized (this)
+ {
+ StructuralStateImpl state = new StructuralStateImpl(
+ getType(),
+ name,
+ Collections.unmodifiableMap(new HashMap<String, String>(properties)));
+
+ //
+ Set<String> childrenIds = new HashSet<String>();
+ for (StructuralNode child : children.values())
+ {
+ childrenIds.add(child.id);
+ }
+
+ //
+ String parentId = parent != null ? parent.id : null;
+
+ //
+ return new StructuralObjectImpl(id, parentId, Collections.unmodifiableSet(childrenIds), state);
+ }
+ }
+
+ StructuralObject.Refresh refresh(StructuralObjectImpl structuralObject)
+ {
+ synchronized (this)
+ {
+ Map<String, StructuralNode> childrenMap = new HashMap<String, StructuralNode>();
+ for (StructuralNode child : children.values())
+ {
+ childrenMap.put(child.getId(), child);
+ }
+
+ //
+ Map<String, StructuralNode> addedChildrenMap = new HashMap<String, StructuralNode>(childrenMap);
+ addedChildrenMap.keySet().removeAll(structuralObject.getChildrenIds());
+
+ //
+ Map<String, StructuralNode> staleChildren = new HashMap<String, StructuralNode>(childrenMap);
+ staleChildren.keySet().retainAll(structuralObject.getChildrenIds());
+
+ //
+ Set<String> removedChildrenIds = new HashSet<String>(structuralObject.getChildrenIds());
+ removedChildrenIds.removeAll(staleChildren.keySet());
+
+ //
+ Set<StructuralObject> addedStructuralChildren = new HashSet<StructuralObject>();
+ for (StructuralNode addedChild : addedChildrenMap.values())
+ {
+ addedStructuralChildren.add(addedChild.takeSnapshot());
+ }
+
+ //
+ Map<String, StructuralObject> staleStructuralChildren = new HashMap<String, StructuralObject>();
+ for (StructuralNode stateChild : staleChildren.values())
+ {
+ staleStructuralChildren.put(stateChild.getId(), stateChild.takeSnapshot());
+ }
+
+ //
+ return new StructuralObject.Refresh(
+ parent != null ? parent.takeSnapshot() : null,
+ takeSnapshot(),
+ addedStructuralChildren,
+ removedChildrenIds,
+ staleStructuralChildren,
+ EMPTY_STRING_SET);
+ }
+ }
+
+ public boolean isValid()
+ {
+ return valid;
+ }
+
+ public String getId()
+ {
+ return id;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public StructuralNode getParent()
+ {
+ return parent;
+ }
+
+ public Set<String> getPropertyNames()
+ {
+ return Collections.unmodifiableSet(properties.keySet());
+ }
+
+ public String getProperty(String propertyName)
+ {
+ if (propertyName == null)
+ {
+ throw new IllegalArgumentException("No null property name");
+ }
+
+ //
+ synchronized (this)
+ {
+ return properties.get(propertyName);
+ }
+ }
+
+ public void setProperty(String propertyName, String propertyValue)
+ {
+ if (propertyName == null)
+ {
+ throw new IllegalArgumentException("No null property name");
+ }
+
+ //
+ synchronized (this)
+ {
+ if (propertyValue != null)
+ {
+ properties.put(propertyName, propertyValue);
+ }
+ else
+ {
+ properties.remove(propertyName);
+ }
+ }
+ }
+
+ public Collection<? extends StructuralNode> getChildren()
+ {
+ return Collections.unmodifiableCollection(children.values());
+ }
+
+ public <T extends StructuralNode> T addChild(String name, Class<T> type)
+ {
+ if (name == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ if (type == null)
+ {
+ throw new IllegalArgumentException();
+ }
+
+ //
+ T child;
+ try
+ {
+ Constructor<T> ctor = type.getConstructor(String.class, StructuralStateContextImpl.class);
+ child = ctor.newInstance(name, structuralStateContext);
+ }
+ catch (InstantiationException e)
+ {
+ throw new AssertionError(e);
+ }
+ catch (IllegalAccessException e)
+ {
+ throw new AssertionError(e);
+ }
+ catch (NoSuchMethodException e)
+ {
+ throw new AssertionError(e);
+ }
+ catch (InvocationTargetException e)
+ {
+ throw new AssertionError(e);
+ }
+
+ //
+ synchronized (this)
+ {
+ if (children.containsKey(name))
+ {
+ throw new IllegalArgumentException("Child already exist");
+ }
+ children.put(name, child);
+ child.parent = this;
+ }
+
+ //
+ structuralStateContext.nodes.put(child.id, child);
+
+ //
+ return child;
+ }
+
+ public void destroyChild(String name)
+ {
+ if (name == null)
+ {
+ throw new IllegalArgumentException();
+ }
+
+ //
+ StructuralNode child;
+ synchronized (this)
+ {
+ if (!children.containsKey(name))
+ {
+ throw new IllegalArgumentException("No such child " + name);
+ }
+
+ child = children.get(name);
+
+ //
+ for (String blah : new ArrayList<String>(child.children.keySet()))
+ {
+ child.destroyChild(blah);
+ }
+
+ //
+ children.remove(name);
+ structuralStateContext.nodes.remove(child.id);
+
+ //
+ child.valid = false;
+ child.parent = null;
+ }
+ }
+
+ public StructuralNode getChild(String name)
+ {
+ if (name == null)
+ {
+ throw new IllegalArgumentException();
+ }
+
+ //
+ synchronized (this)
+ {
+ return children.get(name);
+ }
+ }
+}
Added: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralObjectImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralObjectImpl.java (rev 0)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralObjectImpl.java 2008-04-03 15:04:02 UTC (rev 10491)
@@ -0,0 +1,121 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.presentation.impl.state.structural;
+
+import org.jboss.portal.presentation.state.structural.StructuralObject;
+import org.jboss.portal.presentation.state.structural.StructuralState;
+
+import java.util.Set;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class StructuralObjectImpl implements StructuralObject
+{
+
+ /** . */
+ private final String id;
+
+ /** . */
+ private final StructuralStateImpl state;
+
+ /** . */
+ private final String parentId;
+
+ /** . */
+ private final Set<String> childrenIds;
+
+ public StructuralObjectImpl(
+ String id,
+ String parentId,
+ Set<String> childrenIds,
+ StructuralStateImpl state)
+ {
+ this.id = id;
+ this.parentId = parentId;
+ this.childrenIds = childrenIds;
+ this.state = state;
+ }
+
+ String getParentId()
+ {
+ return parentId;
+ }
+
+ Set<String> getChildrenIds()
+ {
+ return childrenIds;
+ }
+
+ public String getId()
+ {
+ return id;
+ }
+
+ public StructuralState getState()
+ {
+ return state;
+ }
+
+ public boolean equals(Object obj)
+ {
+ if (obj == this)
+ {
+ return true;
+ }
+ if (obj instanceof StructuralObjectImpl)
+ {
+ StructuralObjectImpl that = (StructuralObjectImpl)obj;
+
+ //
+ if (!that.id.equals(this.id))
+ {
+ return false;
+ }
+
+ //
+ if (!that.state.equals(this.state))
+ {
+ return false;
+ }
+
+ //
+ if (that.parentId == null)
+ {
+ if (this.parentId != null)
+ {
+ return false;
+ }
+ }
+ else if (!that.parentId.equals(this.parentId))
+ {
+ return false;
+ }
+
+ //
+ return that.childrenIds.equals(this.childrenIds);
+ }
+ return false;
+ }
+}
Added: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralStateContextImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralStateContextImpl.java (rev 0)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralStateContextImpl.java 2008-04-03 15:04:02 UTC (rev 10491)
@@ -0,0 +1,193 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.presentation.impl.state.structural;
+
+import org.jboss.portal.presentation.state.structural.StructuralObject;
+import org.jboss.portal.presentation.state.structural.StructuralStateContext;
+import org.jboss.portal.presentation.state.StateException;
+import org.jboss.portal.presentation.state.NoSuchStateException;
+import org.jboss.portal.presentation.state.StaleStateException;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class StructuralStateContextImpl implements StructuralStateContext
+{
+
+ /** . */
+ private final AtomicLong sequence = new AtomicLong();
+
+ /** . */
+ final ConcurrentMap<String, StructuralNode> nodes = new ConcurrentHashMap<String, StructuralNode>();
+
+ /** . */
+ private final ContextNode root = new ContextNode("", this);
+
+ public StructuralStateContextImpl()
+ {
+ nodes.put(root.getId(), root);
+ }
+
+ String nextId()
+ {
+ return Long.toString(sequence.getAndIncrement());
+ }
+
+ public ContextNode getRoot()
+ {
+ return root;
+ }
+
+ public void destroy(String objectId)
+ {
+ if (objectId == null)
+ {
+ throw new IllegalArgumentException();
+ }
+
+ //
+ StructuralNode node = nodes.get(objectId);
+
+ //
+ StructuralNode parent = node.getParent();
+
+ //
+ if (parent == null)
+ {
+ throw new IllegalArgumentException("Cannot destroy root");
+ }
+
+ //
+ parent.destroyChild(node.getName());
+ }
+
+ public StructuralObject load(String objectId) throws IllegalArgumentException
+ {
+ if (objectId == null)
+ {
+ throw new IllegalArgumentException();
+ }
+
+ //
+ StructuralNode node = nodes.get(objectId);
+
+ //
+ return node != null ? node.takeSnapshot() : null;
+ }
+
+ public Collection<StructuralObject> loadChildren(StructuralObject structuralParent) throws IllegalArgumentException, StateException
+ {
+ if (structuralParent == null)
+ {
+ throw new IllegalArgumentException();
+ }
+
+ //
+ StructuralNode parentNode = nodes.get(structuralParent.getId());
+
+ //
+ if (parentNode == null)
+ {
+ throw new NoSuchStateException();
+ }
+
+ //
+ return parentNode.takeChildrenSnapshot(structuralParent);
+ }
+
+ public StructuralObject loadParent(StructuralObject structuralChild) throws IllegalArgumentException, StateException
+ {
+ if (structuralChild == null)
+ {
+ throw new IllegalArgumentException();
+ }
+
+ //
+ StructuralNode childNode = nodes.get(structuralChild.getId());
+
+ //
+ if (childNode == null)
+ {
+ throw new NoSuchStateException();
+ }
+
+ //
+ return childNode.takeParentSnapshot(structuralChild);
+ }
+
+ public String getRootId()
+ {
+ return root.getId();
+ }
+
+ public void validate(StructuralObject structuralObject) throws IllegalArgumentException, StateException
+ {
+ if (structuralObject == null)
+ {
+ throw new IllegalArgumentException();
+ }
+
+ //
+ StructuralNode structuralNode = nodes.get(structuralObject.getId());
+
+ //
+ if (structuralNode == null)
+ {
+ throw new NoSuchStateException();
+ }
+
+ //
+ if (!structuralNode.takeSnapshot().equals(structuralObject))
+ {
+ throw new StaleStateException();
+ }
+ }
+
+ public StructuralObject.Refresh refresh(StructuralObject structuralObject) throws IllegalArgumentException, StateException
+ {
+ if (structuralObject == null)
+ {
+ throw new IllegalArgumentException();
+ }
+
+ //
+ StructuralNode structuralNode = nodes.get(structuralObject.getId());
+
+ //
+ if (structuralNode == null)
+ {
+ throw new NoSuchStateException();
+ }
+
+ //
+ return structuralNode.refresh((StructuralObjectImpl)structuralObject);
+ }
+}
Added: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralStateImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralStateImpl.java (rev 0)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/StructuralStateImpl.java 2008-04-03 15:04:02 UTC (rev 10491)
@@ -0,0 +1,98 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.presentation.impl.state.structural;
+
+import org.jboss.portal.presentation.state.structural.StructuralState;
+import org.jboss.portal.presentation.model2.ui.UIObject;
+
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class StructuralStateImpl implements StructuralState
+{
+
+ /** . */
+ private final Class<? extends UIObject> type;
+
+ /** . */
+ private final String name;
+
+ /** . */
+ private final Map<String, String> properties;
+
+ public StructuralStateImpl(
+ Class<? extends UIObject> type,
+ String name,
+ Map<String, String> properties)
+ {
+ this.type = type;
+ this.name = name;
+ this.properties = properties;
+ }
+
+ public Class<? extends UIObject> getType()
+ {
+ return type;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public Map<String, String> getProperties()
+ {
+ return properties;
+ }
+
+ public boolean equals(Object obj)
+ {
+ if (obj == this)
+ {
+ return true;
+ }
+ if (obj instanceof StructuralStateImpl)
+ {
+ StructuralStateImpl that = (StructuralStateImpl)obj;
+
+ //
+ if (!that.type.equals(this.type))
+ {
+ return false;
+ }
+
+ //
+ if (!that.name.equals(this.name))
+ {
+ return false;
+ }
+
+ //
+ return that.properties.equals(this.properties);
+ }
+ return false;
+ }
+}
Added: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/WindowNode.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/WindowNode.java (rev 0)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/state/structural/WindowNode.java 2008-04-03 15:04:02 UTC (rev 10491)
@@ -0,0 +1,43 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.presentation.impl.state.structural;
+
+import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.ui.UIWindow;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class WindowNode extends StructuralNode
+{
+ public WindowNode(String name, StructuralStateContextImpl structuralStateContext)
+ {
+ super(name, structuralStateContext);
+ }
+
+ public Class<? extends UIObject> getType()
+ {
+ return UIWindow.class;
+ }
+}
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/AbstractModelTestCase.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/AbstractModelTestCase.java 2008-04-03 09:16:19 UTC (rev 10490)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/AbstractModelTestCase.java 2008-04-03 15:04:02 UTC (rev 10491)
@@ -22,20 +22,31 @@
******************************************************************************/
package org.jboss.portal.presentation.test.model;
-import org.jboss.portal.presentation.test.model.state.structural.MockModel;
-import org.jboss.portal.presentation.test.model.state.structural.MockModelImpl;
import junit.framework.TestCase;
+import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.ui.UIContext;
+import org.jboss.portal.presentation.model2.ui.UIPage;
+import org.jboss.portal.presentation.state.structural.StructuralObject;
+import org.jboss.portal.presentation.state.structural.StructuralState;
+import org.jboss.portal.presentation.state.structural.StructuralStateContext;
+import org.jboss.portal.presentation.state.StateException;
+import org.jboss.portal.presentation.state.StaleStateException;
+import org.jboss.portal.presentation.state.NoSuchStateException;
+import org.jboss.portal.presentation.test.model.state.structural.MockException;
+import java.util.Set;
+import java.util.List;
+import java.util.Collections;
+import java.util.Collection;
+import java.util.Map;
+
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 630 $
*/
-public class AbstractModelTestCase extends TestCase
+public abstract class AbstractModelTestCase<MockObject> extends TestCase
{
- /** . */
- protected MockModel model;
-
public AbstractModelTestCase()
{
}
@@ -45,18 +56,391 @@
super(testName);
}
- protected void setUp() throws Exception
+ protected abstract StructuralStateContext getStructuralStateContext();
+
+ protected abstract MockObject getRoot();
+
+ protected abstract Set<String> getPropertyNames(MockObject object);
+
+ protected abstract MockObject getParent(MockObject object);
+
+ protected abstract List<? extends MockObject> getChildren(MockObject object);
+
+ protected abstract String getName(MockObject object);
+
+ protected abstract boolean isValid(MockObject object);
+
+ protected abstract Class<? extends UIObject> getType(MockObject object);
+
+ protected abstract String getId(MockObject object);
+
+ protected abstract MockObject addChild(MockObject object, String name, Class<? extends UIObject> modelType);
+
+ protected abstract void destroy(MockObject object);
+
+ protected abstract void setProperty(MockObject object, String propertyName, String propertyValue);
+
+ protected abstract String getProperty(MockObject object, String name);
+
+ protected final StructuralObject getStructuralObject(MockObject object)
{
- this.model = new MockModelImpl();
+ return getStructuralStateContext().load(getId(object));
}
- protected void tearDown() throws Exception
+ public void testRoot()
{
- this.model = null;
+ MockObject mockRoot = getRoot();
+ assertNotNull(mockRoot);
+ assertEquals(Collections.EMPTY_SET, getPropertyNames(mockRoot));
+ assertNull(getParent(mockRoot));
+ assertEquals(Collections.EMPTY_LIST, getChildren(mockRoot));
+ assertEquals(UIContext.class, getType(mockRoot));
+ assertEquals("", getName(mockRoot));
+ assertEquals(true, isValid(mockRoot));
+
+ //
+ String rootId = getStructuralStateContext().getRootId();
+ assertNotNull(rootId);
+ StructuralObject root = getStructuralStateContext().load(rootId);
+ assertNotNull(root);
+ assertEquals(rootId, root.getId());
+ StructuralState state = root.getState();
+ assertEquals(UIContext.class, state.getType());
+ assertEquals("", state.getName());
+ assertEquals(Collections.EMPTY_MAP, state.getProperties());
}
- protected final void resetModel()
+ public void testAddChild()
{
- this.model = new MockModelImpl();
+ MockObject mockRoot = getRoot();
+ // int rootV0 = mockRoot.getVersion();
+
+ //
+ String rootId = getId(mockRoot);
+ StructuralObject root = getStructuralStateContext().load(rootId);
+
+ //
+ MockObject mockFoo = addChild(mockRoot, "foo", UIPage.class);
+ assertNotNull(mockFoo);
+ String fooId = getId(mockFoo);
+
+ //
+ assertNotNull(fooId);
+ assertEquals("foo", getName(mockFoo));
+ assertEquals(UIPage.class, getType(mockFoo));
+ assertSame(mockRoot, getParent(mockFoo));
+ assertEquals(Collections.singletonList(mockFoo), getChildren(mockRoot));
+ assertEquals(Collections.EMPTY_SET, getPropertyNames(mockFoo));
+ // assertTrue(mockRoot.getVersion() > rootV0);
+
+ //
+ try
+ {
+ getStructuralStateContext().loadParent(root);
+ fail();
+ }
+ catch (StaleStateException ignore)
+ {
+ }
+ try
+ {
+ getStructuralStateContext().loadChildren(root);
+ fail();
+ }
+ catch (StaleStateException ignore)
+ {
+ }
+
+ //
+ root = getStructuralStateContext().load(rootId);
+ assertNotNull(root);
+ assertEquals(rootId, root.getId());
+
+ //
+ Collection<StructuralObject> children = getStructuralStateContext().loadChildren(root);
+ assertNotNull(children);
+ assertEquals(1, children.size());
+ StructuralObject foo = children.iterator().next();
+ assertNotNull(foo);
+ assertEquals(fooId, foo.getId());
+ StructuralState fooState = foo.getState();
+ assertNotNull(fooState);
+ assertEquals("foo", fooState.getName());
+ assertEquals(Collections.EMPTY_MAP, fooState.getProperties());
+ assertEquals(UIPage.class, fooState.getType());
+ root = getStructuralStateContext().loadParent(foo);
+ assertNotNull(root);
+ assertEquals(rootId, root.getId());
}
+
+ public void testDestroy() throws MockException
+ {
+ MockObject mockRoot = getRoot();
+ MockObject mockFoo = addChild(mockRoot, "foo", UIPage.class);
+ MockObject mockBar = addChild(mockFoo, "bar", UIPage.class);
+ MockObject mockJuu = addChild(mockFoo, "juu", UIPage.class);
+// int rootV0 = mockRoot.getVersion();
+// int fooV0 = mockFoo.getVersion();
+// int barV0 = mockBar.getVersion();
+ String fooId = getId(mockFoo);
+ String barId = getId(mockBar);
+ String juuId = getId(mockJuu);
+ StructuralObject foo0 = getStructuralStateContext().load(fooId);
+ StructuralObject bar0 = getStructuralStateContext().load(barId);
+ StructuralObject juu0 = getStructuralStateContext().load(juuId);
+
+ //
+ destroy(mockJuu);
+
+ //
+ StructuralObject foo1 = getStructuralStateContext().load(fooId);
+ StructuralObject bar1 = getStructuralStateContext().load(barId);
+ StructuralObject juu1 = getStructuralStateContext().load(juuId);
+// int rootV1 = mockRoot.getVersion();
+// int fooV1 = mockFoo.getVersion();
+// int barV1 = mockBar.getVersion();
+
+ //
+ assertStale(juu0);
+ assertStale(foo0);
+ assertNotStale(bar0);
+ assertNull(juu1);
+ assertNotStale(foo1);
+ assertNotStale(bar1);
+ assertEquals(Collections.singletonList(mockFoo), getChildren(mockRoot));
+ assertEquals(Collections.singletonList(mockBar), getChildren(mockFoo));
+ assertTrue(isValid(mockFoo));
+ assertTrue(isValid(mockBar));
+ assertFalse(isValid(mockJuu));
+// assertTrue(rootV1 == rootV0);
+// assertTrue(fooV1 > fooV0);
+// assertTrue(barV1 == barV0);
+
+ //
+ destroy(mockFoo);
+
+// int rootV2 = mockRoot.getVersion();
+ StructuralObject foo2 = getStructuralStateContext().load(fooId);
+ StructuralObject bar2 = getStructuralStateContext().load(barId);
+ StructuralObject juu2 = getStructuralStateContext().load(juuId);
+
+ //
+ assertStale(juu0);
+ assertStale(foo0);
+ assertStale(bar0);
+ assertNull(juu1);
+ assertStale(foo1);
+ assertStale(bar1);
+ assertNull(foo2);
+ assertNull(bar2);
+ assertNull(juu2);
+ assertEquals(Collections.emptyList(), getChildren(mockRoot));
+ assertFalse(isValid(mockFoo));
+ assertFalse(isValid(mockBar));
+ assertFalse(isValid(mockJuu));
+// assertTrue(rootV2 > rootV1);
+ }
+
+ public void testUpdateProperty() throws MockException
+ {
+ MockObject mockRoot = getRoot();
+ String rootId = getId(mockRoot);
+// int rootV0 = mockRoot.getVersion();
+
+ //
+ StructuralObject root0 = getStructuralStateContext().load(rootId);
+ StructuralState rootState0 = root0.getState();
+ assertEquals(Collections.EMPTY_MAP, rootState0.getProperties());
+
+ // Set
+ setProperty(mockRoot, "foo", "bar");
+
+ //
+// int rootV1 = mockRoot.getVersion();
+// assertTrue(rootV1 > rootV0);
+ assertEquals(Collections.singleton("foo"), getPropertyNames(mockRoot));
+ assertEquals("bar", getProperty(mockRoot, "foo"));
+ assertEquals(Collections.EMPTY_MAP, rootState0.getProperties());
+ assertStale(root0);
+ StructuralObject root1 = getStructuralStateContext().load(rootId);
+ assertNotNull(root1);
+ assertNotStale(root1);
+ StructuralState rootState1 = root1.getState();
+ assertEquals(Collections.singletonMap("foo", "bar"), rootState1.getProperties());
+ }
+
+ public void testInvalidatedByDestruction() throws MockException
+ {
+ MockObject mockRoot = getRoot();
+
+ //
+ MockObject mockFoo = addChild(mockRoot, "foo", UIPage.class);
+ MockObject mockBar = addChild(mockRoot, "bar", UIPage.class);
+
+ //
+ StructuralObject foo = getStructuralObject(mockFoo);
+
+ //
+ destroy(mockFoo);
+
+ //
+ assertValidity(foo, NoSuchStateException.class);
+ }
+
+ public void testInvalidatedByPropertyUpdate() throws MockException
+ {
+ MockObject mockRoot = getRoot();
+
+ //
+ MockObject mockFoo = addChild(mockRoot, "foo", UIPage.class);
+
+ //
+ StructuralObject foo = getStructuralObject(mockFoo);
+
+ //
+ setProperty(mockFoo, "a", "b");
+
+ //
+ assertValidity(foo, StaleStateException.class);
+ }
+
+ public void testInvalidatedByChildCreation() throws MockException
+ {
+ MockObject mockRoot = getRoot();
+
+ //
+ MockObject mockFoo = addChild(mockRoot, "foo", UIPage.class);
+
+ //
+ StructuralObject foo = getStructuralObject(mockFoo);
+
+ //
+ addChild(mockFoo, "juu", UIPage.class);
+
+ //
+ assertValidity(foo, StaleStateException.class);
+ }
+
+ public void testInvalidatedByChildDestruction() throws MockException
+ {
+ MockObject mockRoot = getRoot();
+
+ //
+ MockObject mockFoo = addChild(mockRoot, "foo", UIPage.class);
+ MockObject mockJuu = addChild(mockFoo, "juu", UIPage.class);
+
+ //
+ StructuralObject foo = getStructuralObject(mockFoo);
+
+ //
+ destroy(mockJuu);
+
+ //
+ assertValidity(foo, StaleStateException.class);
+ }
+
+
+ public void testRefresh() throws MockException
+ {
+ MockObject mockRoot = getRoot();
+ String rootId = getId(mockRoot);
+ MockObject mockFoo = addChild(mockRoot, "foo", UIPage.class);
+ String fooId = getId(mockFoo);
+ MockObject mockJuu = addChild(mockRoot, "juu", UIPage.class);
+ String juuId = getId(mockJuu);
+ MockObject mockFaa = addChild(mockRoot, "faa", UIPage.class);
+ String faaId = getId(mockFaa);
+ StructuralObject rootV0 = getStructuralStateContext().load(rootId);
+
+ //
+ MockObject mockBar = addChild(mockRoot, "bar", UIPage.class);
+ String barId = getId(mockBar);
+ destroy(mockFoo);
+ setProperty(mockJuu, "blah", "blah");
+
+ //
+ StructuralObject.Refresh comparison = getStructuralStateContext().refresh(rootV0);
+ assertNotNull(comparison);
+ Set<String> removed = comparison.getRemovedChildren();
+ assertNotNull(removed);
+ assertEquals(1, removed.size());
+ assertEquals(fooId, removed.iterator().next());
+
+ //
+ Set<StructuralObject> added = comparison.getAddedChildren();
+ assertNotNull(added);
+ assertEquals(1, added.size());
+ assertEquals(barId, added.iterator().next().getId());
+
+ //
+ Map<String, StructuralObject> stale = comparison.getStaleChildren();
+ assertNotNull(stale);
+ assertTrue(stale.size() >= 1);
+ StructuralObject juu = stale.get(getId(mockJuu));
+ assertNotNull(juu);
+ assertEquals(juuId, juu.getId());
+ assertEquals("blah", juu.getState().getProperties().get("blah"));
+
+ //
+ Set<String> valid = comparison.getValidChildren();
+ assertNotNull(valid);
+ assertEquals(2 - stale.size(), valid.size());
+ if (valid.size() >= 1)
+ {
+ assertTrue(valid.contains(faaId));
+ }
+ }
+
+ protected final void assertValidity(StructuralObject object, Class<? extends StateException> expected) throws MockException
+ {
+ try
+ {
+ getStructuralStateContext().validate(object);
+ fail();
+ }
+ catch (StateException e)
+ {
+ assertTrue(expected.isInstance(e));
+ }
+
+ //
+ try
+ {
+ getStructuralStateContext().loadChildren(object);
+ fail();
+ }
+ catch (StateException e)
+ {
+ assertTrue(expected.isInstance(e));
+ }
+
+ //
+ try
+ {
+ getStructuralStateContext().loadParent(object);
+ fail();
+ }
+ catch (StateException e)
+ {
+ assertTrue(expected.isInstance(e));
+ }
+
+ }
+
+ protected final void assertStale(StructuralObject object)
+ {
+ try
+ {
+ getStructuralStateContext().validate(object);
+ fail();
+ }
+ catch (StateException ignore)
+ {
+ }
+ }
+
+ protected final void assertNotStale(StructuralObject object)
+ {
+ getStructuralStateContext().validate(object);
+ }
}
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/MockModelTestCase.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/MockModelTestCase.java 2008-04-03 09:16:19 UTC (rev 10490)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/MockModelTestCase.java 2008-04-03 15:04:02 UTC (rev 10491)
@@ -22,11 +22,11 @@
******************************************************************************/
package org.jboss.portal.presentation.test.model;
-import junit.framework.TestCase;
import org.jboss.portal.presentation.model2.ui.UIContext;
import org.jboss.portal.presentation.model2.ui.UIPage;
+import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.ui.UIWindow;
import org.jboss.portal.presentation.state.StaleStateException;
-import org.jboss.portal.presentation.state.StateException;
import org.jboss.portal.presentation.state.NoSuchStateException;
import org.jboss.portal.presentation.state.structural.StructuralObject;
import org.jboss.portal.presentation.state.structural.StructuralState;
@@ -39,7 +39,7 @@
import java.util.Collections;
import java.util.Set;
import java.util.Map;
-import java.util.Collection;
+import java.util.List;
/**
* Test that the mock model we are using behaves in an expected manner
@@ -47,222 +47,125 @@
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 630 $
*/
-public class MockModelTestCase extends TestCase
+public class MockModelTestCase extends AbstractModelTestCase<MockObject>
{
/** . */
private MockModel model;
/** . */
- private StructuralStateContext ssc;
+ private StructuralStateContext structuralStateContext;
protected void setUp() throws Exception
{
model = new MockModelImpl();
- ssc = model.getStructuralStateContext();
+ structuralStateContext = model.getStructuralStateContext();
}
protected void tearDown() throws Exception
{
model = null;
- ssc = null;
+ structuralStateContext = null;
}
- public void testRoot()
+ protected MockObject getRoot()
{
- MockObject mockRoot = model.getRoot();
- assertNotNull(mockRoot);
- assertEquals(Collections.EMPTY_SET, mockRoot.getPropertyNames());
- assertNull(mockRoot.getParent());
- assertEquals(Collections.EMPTY_LIST, mockRoot.getChildren());
- assertEquals(MockObject.Type.CONTEXT, mockRoot.getType());
- assertEquals("", mockRoot.getName());
- assertEquals(true, mockRoot.isValid());
+ return model.getRoot();
+ }
- //
- String rootId = ssc.getRootId();
- assertNotNull(rootId);
- StructuralObject root = ssc.load(rootId);
- assertNotNull(root);
- assertEquals(rootId, root.getId());
- StructuralState state = root.getState();
- assertEquals(UIContext.class, state.getType());
- assertEquals("", state.getName());
- assertEquals(Collections.EMPTY_MAP, state.getProperties());
+ public StructuralStateContext getStructuralStateContext()
+ {
+ return structuralStateContext;
}
- public void testUpdateProperty() throws MockException
+ protected Set<String> getPropertyNames(MockObject object)
{
- MockObject mockRoot = model.getRoot();
- String rootId = mockRoot.getId();
- int rootV0 = mockRoot.getVersion();
+ return object.getPropertyNames();
+ }
- //
- StructuralObject root0 = ssc.load(rootId);
- StructuralState rootState0 = root0.getState();
- assertEquals(Collections.EMPTY_MAP, rootState0.getProperties());
+ protected MockObject getParent(MockObject object)
+ {
+ return object.getParent();
+ }
- // Set
- mockRoot.setPropertyValue("foo", "bar");
+ protected List<? extends MockObject> getChildren(MockObject object)
+ {
+ return object.getChildren();
+ }
- //
- int rootV1 = mockRoot.getVersion();
- assertTrue(rootV1 > rootV0);
- assertEquals(Collections.singleton("foo"), mockRoot.getPropertyNames());
- assertEquals("bar", mockRoot.getPropertyValue("foo"));
- assertEquals(Collections.EMPTY_MAP, rootState0.getProperties());
- assertStale(root0);
- StructuralObject root1 = ssc.load(rootId);
- assertNotNull(root1);
- assertNotStale(root1);
- StructuralState rootState1 = root1.getState();
- assertEquals(Collections.singletonMap("foo", "bar"), rootState1.getProperties());
+ protected String getName(MockObject object)
+ {
+ return object.getName();
}
- public void testAddChild() throws MockException
+ protected boolean isValid(MockObject object)
{
- MockObject mockRoot = model.getRoot();
- int rootV0 = mockRoot.getVersion();
+ return object.isValid();
+ }
- //
- String rootId = mockRoot.getId();
- StructuralObject root = ssc.load(rootId);
+ protected Class<? extends UIObject> getType(MockObject object)
+ {
+ return object.getType().getModelClass();
+ }
- //
- MockObject mockFoo = mockRoot.addChild("foo", MockObject.Type.PAGE);
- assertNotNull(mockFoo);
- String fooId = mockFoo.getId();
+ protected String getId(MockObject object)
+ {
+ return object.getId();
+ }
- //
- assertNotNull(fooId);
- assertEquals("foo", mockFoo.getName());
- assertEquals(MockObject.Type.PAGE, mockFoo.getType());
- assertSame(mockRoot, mockFoo.getParent());
- assertEquals(Collections.singletonList(mockFoo), mockRoot.getChildren());
- assertEquals(Collections.EMPTY_SET, mockFoo.getPropertyNames());
- assertTrue(mockRoot.getVersion() > rootV0);
+ protected void setProperty(MockObject object, String propertyName, String propertyValue)
+ {
+ object.setPropertyValue(propertyName, propertyValue);
+ }
- //
- try
+ protected String getProperty(MockObject mockRoot, String name)
+ {
+ return mockRoot.getPropertyValue(name);
+ }
+
+
+ protected MockObject addChild(MockObject object, String name, Class<? extends UIObject> modelType)
+ {
+ MockObject.Type type;
+ if (UIPage.class.equals(modelType))
{
- ssc.loadParent(root);
- fail();
+ type = MockObject.Type.PAGE;
}
- catch (StaleStateException ignore)
+ else if (UIContext.class.equals(modelType))
{
+ type = MockObject.Type.CONTEXT;
}
- try
+ else if (UIWindow.class.equals(modelType))
{
- ssc.loadChildren(root);
- fail();
+ type = MockObject.Type.WINDOW;
}
- catch (StaleStateException ignore)
+ else
{
+ throw new AssertionError();
}
//
- root = ssc.load(rootId);
- assertNotNull(root);
- assertEquals(rootId, root.getId());
-
- //
- Collection<StructuralObject> children = ssc.loadChildren(root);
- assertNotNull(children);
- assertEquals(1, children.size());
- StructuralObject foo = children.iterator().next();
- assertNotNull(foo);
- assertEquals(fooId, foo.getId());
- StructuralState fooState = foo.getState();
- assertNotNull(fooState);
- assertEquals("foo", fooState.getName());
- assertEquals(Collections.EMPTY_MAP, fooState.getProperties());
- assertEquals(UIPage.class, fooState.getType());
- root = ssc.loadParent(foo);
- assertNotNull(root);
- assertEquals(rootId, root.getId());
+ return object.addChild(name, type);
}
- public void testDestroy() throws MockException
+ protected void destroy(MockObject object)
{
- MockObject mockRoot = model.getRoot();
- MockObject mockFoo = mockRoot.addChild("foo", MockObject.Type.PAGE);
- MockObject mockBar = mockFoo.addChild("bar", MockObject.Type.PAGE);
- MockObject mockJuu = mockFoo.addChild("juu", MockObject.Type.PAGE);
- int rootV0 = mockRoot.getVersion();
- int fooV0 = mockFoo.getVersion();
- int barV0 = mockBar.getVersion();
- String fooId = mockFoo.getId();
- String barId = mockBar.getId();
- String juuId = mockJuu.getId();
- StructuralObject foo0 = ssc.load(fooId);
- StructuralObject bar0 = ssc.load(barId);
- StructuralObject juu0 = ssc.load(juuId);
-
- //
- model.destroy(mockJuu);
-
- //
- StructuralObject foo1 = ssc.load(fooId);
- StructuralObject bar1 = ssc.load(barId);
- StructuralObject juu1 = ssc.load(juuId);
- int rootV1 = mockRoot.getVersion();
- int fooV1 = mockFoo.getVersion();
- int barV1 = mockBar.getVersion();
-
- //
- assertStale(juu0);
- assertStale(foo0);
- assertNotStale(bar0);
- assertNull(juu1);
- assertNotStale(foo1);
- assertNotStale(bar1);
- assertEquals(Collections.singletonList(mockFoo), mockRoot.getChildren());
- assertEquals(Collections.singletonList(mockBar), mockFoo.getChildren());
- assertTrue(mockFoo.isValid());
- assertTrue(mockBar.isValid());
- assertFalse(mockJuu.isValid());
- assertTrue(rootV1 == rootV0);
- assertTrue(fooV1 > fooV0);
- assertTrue(barV1 == barV0);
-
- //
- model.destroy(mockFoo);
-
- int rootV2 = mockRoot.getVersion();
- StructuralObject foo2 = ssc.load(fooId);
- StructuralObject bar2 = ssc.load(barId);
- StructuralObject juu2 = ssc.load(juuId);
-
- //
- assertStale(juu0);
- assertStale(foo0);
- assertStale(bar0);
- assertNull(juu1);
- assertStale(foo1);
- assertStale(bar1);
- assertNull(foo2);
- assertNull(bar2);
- assertNull(juu2);
- assertEquals(Collections.emptyList(), mockRoot.getChildren());
- assertFalse(mockFoo.isValid());
- assertFalse(mockBar.isValid());
- assertFalse(mockJuu.isValid());
- assertTrue(rootV2 > rootV1);
+ model.destroy(object);
}
public void testDestroyInvalidates() throws MockException
{
- MockObject mockRoot = model.getRoot();
- MockObject mockFoo = mockRoot.addChild("foo", MockObject.Type.PAGE);
+ MockObject mockRoot = getRoot();
+ MockObject mockFoo = addChild(mockRoot, "foo", UIPage.class);
//
- model.destroy(mockFoo);
+ destroy(mockFoo);
//
- assertEquals(false, mockFoo.isValid());
+ assertEquals(false, isValid(mockFoo));
try
{
- mockFoo.addChild("juu", MockObject.Type.PAGE);
+ addChild(mockFoo, "juu", UIPage.class);
}
catch (MockException e)
{
@@ -270,7 +173,7 @@
}
try
{
- model.destroy(mockFoo);
+ destroy(mockFoo);
}
catch (MockException e)
{
@@ -278,7 +181,7 @@
}
try
{
- mockFoo.setPropertyValue("blah", "bluh");
+ setProperty(mockFoo, "blah", "bluh");
}
catch (MockException e)
{
@@ -288,25 +191,25 @@
public void testMove() throws MockException
{
- MockObject mockRoot = model.getRoot();
+ MockObject mockRoot = getRoot();
- MockObject mockFoo = mockRoot.addChild("foo", MockObject.Type.PAGE);
- MockObject mockBar = mockRoot.addChild("bar", MockObject.Type.PAGE);
+ MockObject mockFoo = addChild(mockRoot, "foo", UIPage.class);
+ MockObject mockBar = addChild(mockRoot, "bar", UIPage.class);
mockFoo.move(mockBar);
- assertSame(mockBar, mockFoo.getParent());
- assertEquals(Collections.singletonList(mockFoo), mockBar.getChildren());
- assertEquals(Collections.singletonList(mockBar), mockRoot.getChildren());
+ assertSame(mockBar, getParent(mockFoo));
+ assertEquals(Collections.singletonList(mockFoo), getChildren(mockBar));
+ assertEquals(Collections.singletonList(mockBar), getChildren(mockRoot));
}
public void testMoveViolatesConstraint() throws MockException
{
- MockObject mockRoot = model.getRoot();
+ MockObject mockRoot = getRoot();
- MockObject mockFoo = mockRoot.addChild("foo", MockObject.Type.PAGE);
- MockObject mockBar = mockRoot.addChild("bar", MockObject.Type.PAGE);
- MockObject mockJuu = mockBar.addChild("juu", MockObject.Type.PAGE);
+ MockObject mockFoo = addChild(mockRoot, "foo", UIPage.class);
+ MockObject mockBar = addChild(mockRoot, "bar", UIPage.class);
+ MockObject mockJuu = addChild(mockBar, "juu", UIPage.class);
//
try
@@ -349,84 +252,14 @@
}
}
- public void testInvalidatedByDestruction() throws MockException
- {
- MockObject mockRoot = model.getRoot();
-
- //
- MockObject mockFoo = mockRoot.addChild("foo", MockObject.Type.PAGE);
- MockObject mockBar = mockRoot.addChild("bar", MockObject.Type.PAGE);
-
- //
- StructuralObject foo = mockFoo.takeSnapshot();
-
- //
- model.destroy(mockFoo);
-
- //
- assertValidity(foo, NoSuchStateException.class);
- }
-
- public void testInvalidatedByPropertyUpdate() throws MockException
- {
- MockObject mockRoot = model.getRoot();
-
- //
- MockObject mockFoo = mockRoot.addChild("foo", MockObject.Type.PAGE);
-
- //
- StructuralObject foo = mockFoo.takeSnapshot();
-
- //
- mockFoo.setPropertyValue("a", "b");
-
- //
- assertValidity(foo, StaleStateException.class);
- }
-
- public void testInvalidatedByChildCreation() throws MockException
- {
- MockObject mockRoot = model.getRoot();
-
- //
- MockObject mockFoo = mockRoot.addChild("foo", MockObject.Type.PAGE);
-
- //
- StructuralObject foo = mockFoo.takeSnapshot();
-
- //
- mockFoo.addChild("juu", MockObject.Type.PAGE);
-
- //
- assertValidity(foo, StaleStateException.class);
- }
-
- public void testInvalidatedByChildDestruction() throws MockException
- {
- MockObject mockRoot = model.getRoot();
-
- //
- MockObject mockFoo = mockRoot.addChild("foo", MockObject.Type.PAGE);
- MockObject mockJuu = mockFoo.addChild("juu", MockObject.Type.PAGE);
-
- //
- StructuralObject foo = mockFoo.takeSnapshot();
-
- //
- model.destroy(mockJuu);
-
- //
- assertValidity(foo, StaleStateException.class);
- }
-
public void testInvalidatedByMove() throws MockException
{
- MockObject mockRoot = model.getRoot();
+ MockObject mockRoot = getRoot();
//
- MockObject mockFoo = mockRoot.addChild("foo", MockObject.Type.PAGE);
- MockObject mockBar = mockFoo.addChild("bar", MockObject.Type.PAGE);
- MockObject mockJuu = mockFoo.addChild("juu", MockObject.Type.PAGE);
+ MockObject mockFoo = addChild(mockRoot, "foo", UIPage.class);
+ MockObject mockBar = addChild(mockFoo, "bar", UIPage.class);
+ MockObject mockJuu = addChild(mockFoo, "juu", UIPage.class);
//
StructuralObject foo = mockFoo.takeSnapshot();
@@ -441,106 +274,4 @@
assertValidity(bar, StaleStateException.class);
assertValidity(juu, StaleStateException.class);
}
-
- public void testRefresh() throws MockException
- {
- MockObject mockRoot = model.getRoot();
- String rootId = mockRoot.getId();
- MockObject mockFoo = mockRoot.addChild("foo", MockObject.Type.PAGE);
- String fooId = mockFoo.getId();
- MockObject mockJuu = mockRoot.addChild("juu", MockObject.Type.PAGE);
- String juuId = mockJuu.getId();
- MockObject mockFaa = mockRoot.addChild("faa", MockObject.Type.PAGE);
- String faaId = mockFaa.getId();
- StructuralObject rootV0 = ssc.load(rootId);
-
- //
- MockObject mockBar = mockRoot.addChild("bar", MockObject.Type.PAGE);
- String barId = mockBar.getId();
- model.destroy(mockFoo);
- mockJuu.setPropertyValue("blah", "blah");
-
- //
- StructuralObject.Refresh comparison = ssc.refresh(rootV0);
- assertNotNull(comparison);
- Set<String> removed = comparison.getRemovedChildren();
- assertNotNull(removed);
- assertEquals(1, removed.size());
- assertEquals(fooId, removed.iterator().next());
-
- //
- Set<StructuralObject> added = comparison.getAddedChildren();
- assertNotNull(added);
- assertEquals(1, added.size());
- assertEquals(barId, added.iterator().next().getId());
-
- //
- Map<String, StructuralObject> stale = comparison.getStaleChildren();
- assertNotNull(stale);
- assertEquals(1, stale.size());
- StructuralObject juu = stale.values().iterator().next();
- assertNotNull(juu);
- assertEquals(juuId, juu.getId());
- assertEquals("blah", juu.getState().getProperties().get("blah"));
-
- //
- Set<String> valid = comparison.getValidChildren();
- assertNotNull(valid);
- assertEquals(1, valid.size());
- assertEquals(faaId, valid.iterator().next());
- }
-
- private void assertValidity(StructuralObject object, Class<? extends StateException> expected) throws MockException
- {
- //
- try
- {
- ssc.validate(object);
- fail();
- }
- catch (StateException e)
- {
- assertTrue(expected.isInstance(e));
- }
-
- //
- try
- {
- ssc.loadChildren(object);
- fail();
- }
- catch (StateException e)
- {
- assertTrue(expected.isInstance(e));
- }
-
- //
- try
- {
- ssc.loadParent(object);
- fail();
- }
- catch (StateException e)
- {
- assertTrue(expected.isInstance(e));
- }
-
- }
-
- private void assertStale(StructuralObject object)
- {
- try
- {
- ssc.validate(object);
- fail();
- }
- catch (StateException ignore)
- {
- }
- }
-
- private void assertNotStale(StructuralObject object)
- {
- ssc.validate(object);
- }
}
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockObject.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockObject.java 2008-04-03 09:16:19 UTC (rev 10490)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockObject.java 2008-04-03 15:04:02 UTC (rev 10491)
@@ -54,6 +54,11 @@
{
this.clazz = clazz;
}
+
+ public Class<? extends UIObject> getModelClass()
+ {
+ return clazz;
+ }
}
public abstract static class UpdateBehavior
Added: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/state/structural/StructuralStateContextTestCase.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/state/structural/StructuralStateContextTestCase.java (rev 0)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/state/structural/StructuralStateContextTestCase.java 2008-04-03 15:04:02 UTC (rev 10491)
@@ -0,0 +1,141 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2008, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.presentation.test.state.structural;
+
+import org.jboss.portal.presentation.impl.state.structural.StructuralStateContextImpl;
+import org.jboss.portal.presentation.impl.state.structural.ContextNode;
+import org.jboss.portal.presentation.impl.state.structural.StructuralNode;
+import org.jboss.portal.presentation.impl.state.structural.PageNode;
+import org.jboss.portal.presentation.impl.state.structural.WindowNode;
+import org.jboss.portal.presentation.state.structural.StructuralStateContext;
+import org.jboss.portal.presentation.model2.ui.UIContext;
+import org.jboss.portal.presentation.model2.ui.UIPage;
+import org.jboss.portal.presentation.model2.ui.UIObject;
+import org.jboss.portal.presentation.model2.ui.UIWindow;
+import org.jboss.portal.presentation.test.model.AbstractModelTestCase;
+
+import java.util.ArrayList;
+import java.util.Set;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
+ * @version $Revision: 630 $
+ */
+public class StructuralStateContextTestCase extends AbstractModelTestCase<StructuralNode>
+{
+
+ /** . */
+ private StructuralStateContextImpl structuralStateContext;
+
+ protected StructuralStateContext getStructuralStateContext()
+ {
+ return structuralStateContext;
+ }
+
+ protected StructuralNode getRoot()
+ {
+ return structuralStateContext.getRoot();
+ }
+
+ protected Set<String> getPropertyNames(StructuralNode structuralNode)
+ {
+ return structuralNode.getPropertyNames();
+ }
+
+ protected StructuralNode getParent(StructuralNode structuralNode)
+ {
+ return structuralNode.getParent();
+ }
+
+ protected List<? extends StructuralNode> getChildren(StructuralNode structuralNode)
+ {
+ return new ArrayList<StructuralNode>(structuralNode.getChildren());
+ }
+
+ protected String getName(StructuralNode structuralNode)
+ {
+ return structuralNode.getName();
+ }
+
+ protected boolean isValid(StructuralNode structuralNode)
+ {
+ return structuralNode.isValid();
+ }
+
+ protected Class<? extends UIObject> getType(StructuralNode structuralNode)
+ {
+ return structuralNode.getType();
+ }
+
+ protected String getId(StructuralNode structuralNode)
+ {
+ return structuralNode.getId();
+ }
+
+ protected StructuralNode addChild(StructuralNode structuralNode, String name, Class<? extends UIObject> modelType)
+ {
+ Class<? extends StructuralNode> structuralNodeType;
+
+ //
+ if (modelType == UIContext.class)
+ {
+ structuralNodeType = ContextNode.class;
+ }
+ else if (modelType == UIPage.class)
+ {
+ structuralNodeType = PageNode.class;
+ }
+ else if (modelType == UIWindow.class)
+ {
+ structuralNodeType = WindowNode.class;
+ }
+ else
+ {
+ throw new AssertionError();
+ }
+
+ //
+ return structuralNode.addChild(name, structuralNodeType);
+ }
+
+ protected void setProperty(StructuralNode structuralNode, String propertyName, String propertyValue)
+ {
+ structuralNode.setProperty(propertyName, propertyValue);
+ }
+
+ protected String getProperty(StructuralNode structuralNode, String name)
+ {
+ return structuralNode.getProperty(name);
+ }
+
+ protected void destroy(StructuralNode structuralNode)
+ {
+ structuralStateContext.destroy(structuralNode.getId());
+ }
+
+ protected void setUp() throws Exception
+ {
+ structuralStateContext = new StructuralStateContextImpl();
+ }
+}
16 years, 2 months
JBoss Portal SVN: r10490 - modules/identity/branches/JBP_IDENTITY_BRANCH_1_0/identity/src/main/org/jboss/portal/identity/boot.
by portal-commits@lists.jboss.org
Author: thomas.heute(a)jboss.com
Date: 2008-04-03 05:16:19 -0400 (Thu, 03 Apr 2008)
New Revision: 10490
Modified:
modules/identity/branches/JBP_IDENTITY_BRANCH_1_0/identity/src/main/org/jboss/portal/identity/boot/IdentityServiceLoader.java
Log:
JBPORTAL-1730: IdentityServiceControllerImpl : unregister existing MBean service before to re register them
(Applied to Branch_1_0)
Modified: modules/identity/branches/JBP_IDENTITY_BRANCH_1_0/identity/src/main/org/jboss/portal/identity/boot/IdentityServiceLoader.java
===================================================================
--- modules/identity/branches/JBP_IDENTITY_BRANCH_1_0/identity/src/main/org/jboss/portal/identity/boot/IdentityServiceLoader.java 2008-04-03 09:01:50 UTC (rev 10489)
+++ modules/identity/branches/JBP_IDENTITY_BRANCH_1_0/identity/src/main/org/jboss/portal/identity/boot/IdentityServiceLoader.java 2008-04-03 09:16:19 UTC (rev 10490)
@@ -97,9 +97,8 @@
//register as an mbean
if (isRegisterMBeans() && (ds.getServiceName() != null))
{
-
+ unregisterMBean(ds.getServiceName());
registerMBean(ds.getServiceName(), datasource);
-
}
@@ -149,12 +148,23 @@
//register as an mbean
if (isRegisterMBeans() && (module.getServiceName() != null))
{
+ unregisterMBean(module.getServiceName());
registerMBean(module.getServiceName(), moduleServiceObject);
}
}
}
+
+ /**
+ * Should be extended to provide mbean registration
+ * @param serviceName
+ * @param serviceObject
+ */
+ protected void unregisterMBean(String serviceName) throws Exception
+ {
+ //does nothing
+ }
/**
* Should be extended to provide mbean registration
16 years, 2 months
JBoss Portal SVN: r10489 - modules/identity/trunk/identity/src/main/java/org/jboss/portal/identity/ldap.
by portal-commits@lists.jboss.org
Author: bdaw
Date: 2008-04-03 05:01:50 -0400 (Thu, 03 Apr 2008)
New Revision: 10489
Modified:
modules/identity/trunk/identity/src/main/java/org/jboss/portal/identity/ldap/LDAPStaticGroupMembershipModuleImpl.java
modules/identity/trunk/identity/src/main/java/org/jboss/portal/identity/ldap/LDAPUserProfileModuleImpl.java
Log:
(syncing from 1.0 branch)
- http://jira.jboss.com/jira/browse/JBPORTAL-1941
- http://jira.jboss.com/jira/browse/JBPORTAL-1934
Modified: modules/identity/trunk/identity/src/main/java/org/jboss/portal/identity/ldap/LDAPStaticGroupMembershipModuleImpl.java
===================================================================
--- modules/identity/trunk/identity/src/main/java/org/jboss/portal/identity/ldap/LDAPStaticGroupMembershipModuleImpl.java 2008-04-02 20:53:03 UTC (rev 10488)
+++ modules/identity/trunk/identity/src/main/java/org/jboss/portal/identity/ldap/LDAPStaticGroupMembershipModuleImpl.java 2008-04-03 09:01:50 UTC (rev 10489)
@@ -170,39 +170,46 @@
Attributes attrs = ldapContext.getAttributes(ldapRole.getDn());
//log.debug("Role attributes: " + attrs);
- if (attrs == null )
+ if (attrs == null)
{
throw new IdentityException("Cannot find Role with DN: " + ldapRole.getDn());
}
//iterate over user names belonging to this role
- NamingEnumeration values = attrs.get(getMemberAttributeID()).getAll();
- while (values.hasMoreElements())
+ Attribute memberAttr = attrs.get(getMemberAttributeID());
+
+ if (memberAttr != null)
{
- String value = values.nextElement().toString();
- String name = value;
- if (userNameFilter != null && userNameFilter.length() != 0 && !name.matches(".*" + userNameFilter + ".*"))
+ NamingEnumeration values = memberAttr.getAll();
+
+ while (values.hasMoreElements())
{
- continue;
- }
+ String value = values.nextElement().toString();
+ String name = value;
- try
- {
- //if user is pointed as DN get only it's name
- if (isUidAttributeIsDN())
+ if (userNameFilter != null && userNameFilter.length() != 0 && !name.matches(".*" + userNameFilter + ".*"))
{
- users.add(getUserModule().findUserByDN(name));
+ continue;
}
- else
+
+ try
{
- users.add(getUserModule().findUserByUserName(name));
+ //if user is pointed as DN get only it's name
+ if (isUidAttributeIsDN())
+ {
+ users.add(getUserModule().findUserByDN(name));
+ }
+ else
+ {
+ users.add(getUserModule().findUserByUserName(name));
+ }
}
- }
- catch(IdentityException ie)
- {
- log.error("Failed to find user: " + name + "/" + value, ie);
+ catch(IdentityException ie)
+ {
+ log.error("Failed to find user: " + name + "/" + value, ie);
+ }
}
}
}
Modified: modules/identity/trunk/identity/src/main/java/org/jboss/portal/identity/ldap/LDAPUserProfileModuleImpl.java
===================================================================
--- modules/identity/trunk/identity/src/main/java/org/jboss/portal/identity/ldap/LDAPUserProfileModuleImpl.java 2008-04-02 20:53:03 UTC (rev 10488)
+++ modules/identity/trunk/identity/src/main/java/org/jboss/portal/identity/ldap/LDAPUserProfileModuleImpl.java 2008-04-03 09:01:50 UTC (rev 10489)
@@ -187,7 +187,7 @@
throw new IdentityException("Property has read only access - cannot set: " + propertyName);
}
- if (!pi.getType().equals(property.getClass().getName()))
+ if (property != null && !pi.getType().equals(property.getClass().getName()))
{
throw new IdentityException("Wrong property type. Must be: " + pi.getType() + "; and found: " + property.getClass().getName());
}
16 years, 2 months
JBoss Portal SVN: r10488 - in modules/presentation/trunk/presentation: src/main/java/org/jboss/portal/presentation and 14 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2008-04-02 16:53:03 -0400 (Wed, 02 Apr 2008)
New Revision: 10488
Added:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/
Removed:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/state/
Modified:
modules/presentation/trunk/presentation/pom.xml
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/client2/PresentationClient.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/UIModelImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/UIObjectImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/diff/CreateDiffPhase.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui/UIObjectImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/update/ObjectUpdate.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/server2/PresentationServer.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/ConstraintViolationException.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/NoSuchStateException.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/StaleStateException.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/StateChangeVetoException.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/StateException.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/navigational/NavigationalStateContext.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/structural/StructuralObject.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/structural/StructuralState.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/structural/StructuralStateContext.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/MockModelTestCase.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/navigational/NavigationalStateContextImpl.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockModel.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockModelImpl.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockObject.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/StructuralObjectImpl.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/StructuralStateImpl.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/AbstractModelTestCase.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/TraversalModelTestCase.java
Log:
move the state package under o.j.p.presentation
Modified: modules/presentation/trunk/presentation/pom.xml
===================================================================
--- modules/presentation/trunk/presentation/pom.xml 2008-04-02 20:43:58 UTC (rev 10487)
+++ modules/presentation/trunk/presentation/pom.xml 2008-04-02 20:53:03 UTC (rev 10488)
@@ -158,9 +158,11 @@
<property name="dependency.gwt-user.jar" value="${maven.dependency.com.google.gwt.gwt-user.jar.path}"/>
<property name="dependency.presentation.jar" value="${basedir}/target/presentation-presentation-${project.version}.jar"/>
+<!--
<ant antfile="${basedir}/build.xml">
<target name="install"/>
</ant>
+-->
</tasks>
</configuration>
<goals>
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/client2/PresentationClient.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/client2/PresentationClient.java 2008-04-02 20:43:58 UTC (rev 10487)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/client2/PresentationClient.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -22,7 +22,7 @@
******************************************************************************/
package org.jboss.portal.presentation.client2;
-import org.jboss.portal.presentation.model2.state.navigational.NavigationalStateContext;
+import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
/**
* The contract that defines the services that the client provides to the server during a presentation server invocation.
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/UIModelImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/UIModelImpl.java 2008-04-02 20:43:58 UTC (rev 10487)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/UIModelImpl.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -22,8 +22,8 @@
******************************************************************************/
package org.jboss.portal.presentation.impl.model2;
-import org.jboss.portal.presentation.model2.state.structural.StructuralStateContext;
-import org.jboss.portal.presentation.model2.state.navigational.NavigationalStateContext;
+import org.jboss.portal.presentation.state.structural.StructuralStateContext;
+import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
import org.jboss.portal.presentation.model2.UIModel;
import org.jboss.portal.presentation.model2.ViewPortContext;
import org.jboss.portal.presentation.model2.ViewPortScope;
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/UIObjectImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/UIObjectImpl.java 2008-04-02 20:43:58 UTC (rev 10487)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/UIObjectImpl.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -23,8 +23,8 @@
package org.jboss.portal.presentation.impl.model2;
import org.jboss.portal.presentation.model2.ui.UIObject;
-import org.jboss.portal.presentation.model2.state.StateException;
-import org.jboss.portal.presentation.model2.state.structural.StructuralObject;
+import org.jboss.portal.presentation.state.StateException;
+import org.jboss.portal.presentation.state.structural.StructuralObject;
import java.util.Map;
import java.util.Set;
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/diff/CreateDiffPhase.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/diff/CreateDiffPhase.java 2008-04-02 20:43:58 UTC (rev 10487)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/diff/CreateDiffPhase.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -26,8 +26,8 @@
import org.jboss.portal.presentation.model2.ViewPortContext;
import org.jboss.portal.presentation.model2.ObjectTraversalType;
import org.jboss.portal.presentation.impl.model2.ui.UIObjectImpl;
-import org.jboss.portal.presentation.model2.state.structural.StructuralStateContext;
-import org.jboss.portal.presentation.model2.state.structural.StructuralObject;
+import org.jboss.portal.presentation.state.structural.StructuralStateContext;
+import org.jboss.portal.presentation.state.structural.StructuralObject;
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien Viet</a>
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui/UIObjectImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui/UIObjectImpl.java 2008-04-02 20:43:58 UTC (rev 10487)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/ui/UIObjectImpl.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -23,8 +23,8 @@
package org.jboss.portal.presentation.impl.model2.ui;
import org.jboss.portal.presentation.model2.ui.UIObject;
-import org.jboss.portal.presentation.model2.state.StateException;
-import org.jboss.portal.presentation.model2.state.structural.StructuralObject;
+import org.jboss.portal.presentation.state.StateException;
+import org.jboss.portal.presentation.state.structural.StructuralObject;
import org.jboss.portal.presentation.impl.model2.UIObjectRef;
import org.jboss.portal.common.reflect.Reflection;
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/update/ObjectUpdate.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/update/ObjectUpdate.java 2008-04-02 20:43:58 UTC (rev 10487)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model2/update/ObjectUpdate.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -25,7 +25,7 @@
import org.jboss.portal.presentation.impl.model2.ui.UIObjectImpl;
import org.jboss.portal.presentation.impl.model2.UIObjectRef;
import org.jboss.portal.presentation.model2.ViewPortContext;
-import org.jboss.portal.presentation.model2.state.structural.StructuralObject;
+import org.jboss.portal.presentation.state.structural.StructuralObject;
import java.util.List;
import java.util.HashMap;
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/server2/PresentationServer.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/server2/PresentationServer.java 2008-04-02 20:43:58 UTC (rev 10487)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/server2/PresentationServer.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -22,7 +22,7 @@
******************************************************************************/
package org.jboss.portal.presentation.server2;
-import org.jboss.portal.presentation.model2.state.structural.StructuralStateContext;
+import org.jboss.portal.presentation.state.structural.StructuralStateContext;
import org.jboss.portal.presentation.model.content.WindowContent;
import org.jboss.portal.presentation.client2.PresentationClient;
import org.jboss.portal.presentation.protocol.ProtocolAction;
Copied: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state (from rev 10484, modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/state)
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/ConstraintViolationException.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/state/ConstraintViolationException.java 2008-04-02 15:29:09 UTC (rev 10484)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/ConstraintViolationException.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
* 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
******************************************************************************/
-package org.jboss.portal.presentation.model2.state;
+package org.jboss.portal.presentation.state;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/NoSuchStateException.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/state/NoSuchStateException.java 2008-04-02 15:29:09 UTC (rev 10484)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/NoSuchStateException.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
* 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
******************************************************************************/
-package org.jboss.portal.presentation.model2.state;
+package org.jboss.portal.presentation.state;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/StaleStateException.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/state/StaleStateException.java 2008-04-02 15:29:09 UTC (rev 10484)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/StaleStateException.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
* 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
******************************************************************************/
-package org.jboss.portal.presentation.model2.state;
+package org.jboss.portal.presentation.state;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/StateChangeVetoException.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/state/StateChangeVetoException.java 2008-04-02 15:29:09 UTC (rev 10484)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/StateChangeVetoException.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
* 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
******************************************************************************/
-package org.jboss.portal.presentation.model2.state;
+package org.jboss.portal.presentation.state;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/StateException.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/state/StateException.java 2008-04-02 15:29:09 UTC (rev 10484)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/StateException.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
* 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
******************************************************************************/
-package org.jboss.portal.presentation.model2.state;
+package org.jboss.portal.presentation.state;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/navigational/NavigationalStateContext.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/state/navigational/NavigationalStateContext.java 2008-04-02 15:29:09 UTC (rev 10484)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/navigational/NavigationalStateContext.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -20,9 +20,9 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
* 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
******************************************************************************/
-package org.jboss.portal.presentation.model2.state.navigational;
+package org.jboss.portal.presentation.state.navigational;
-import org.jboss.portal.presentation.model2.state.StateException;
+import org.jboss.portal.presentation.state.StateException;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/structural/StructuralObject.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/state/structural/StructuralObject.java 2008-04-02 15:29:09 UTC (rev 10484)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/structural/StructuralObject.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
* 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
******************************************************************************/
-package org.jboss.portal.presentation.model2.state.structural;
+package org.jboss.portal.presentation.state.structural;
import java.util.Set;
import java.util.Map;
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/structural/StructuralState.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/state/structural/StructuralState.java 2008-04-02 15:29:09 UTC (rev 10484)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/structural/StructuralState.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
* 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
******************************************************************************/
-package org.jboss.portal.presentation.model2.state.structural;
+package org.jboss.portal.presentation.state.structural;
import org.jboss.portal.presentation.model2.ui.UIObject;
Modified: modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/structural/StructuralStateContext.java
===================================================================
--- modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model2/state/structural/StructuralStateContext.java 2008-04-02 15:29:09 UTC (rev 10484)
+++ modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/state/structural/StructuralStateContext.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -20,9 +20,9 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
* 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
******************************************************************************/
-package org.jboss.portal.presentation.model2.state.structural;
+package org.jboss.portal.presentation.state.structural;
-import org.jboss.portal.presentation.model2.state.StateException;
+import org.jboss.portal.presentation.state.StateException;
import java.util.Collection;
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/MockModelTestCase.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/MockModelTestCase.java 2008-04-02 20:43:58 UTC (rev 10487)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/MockModelTestCase.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -25,12 +25,12 @@
import junit.framework.TestCase;
import org.jboss.portal.presentation.model2.ui.UIContext;
import org.jboss.portal.presentation.model2.ui.UIPage;
-import org.jboss.portal.presentation.model2.state.StaleStateException;
-import org.jboss.portal.presentation.model2.state.StateException;
-import org.jboss.portal.presentation.model2.state.NoSuchStateException;
-import org.jboss.portal.presentation.model2.state.structural.StructuralObject;
-import org.jboss.portal.presentation.model2.state.structural.StructuralState;
-import org.jboss.portal.presentation.model2.state.structural.StructuralStateContext;
+import org.jboss.portal.presentation.state.StaleStateException;
+import org.jboss.portal.presentation.state.StateException;
+import org.jboss.portal.presentation.state.NoSuchStateException;
+import org.jboss.portal.presentation.state.structural.StructuralObject;
+import org.jboss.portal.presentation.state.structural.StructuralState;
+import org.jboss.portal.presentation.state.structural.StructuralStateContext;
import org.jboss.portal.presentation.test.model.state.structural.MockModel;
import org.jboss.portal.presentation.test.model.state.structural.MockObject;
import org.jboss.portal.presentation.test.model.state.structural.MockException;
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/navigational/NavigationalStateContextImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/navigational/NavigationalStateContextImpl.java 2008-04-02 20:43:58 UTC (rev 10487)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/navigational/NavigationalStateContextImpl.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -22,9 +22,9 @@
******************************************************************************/
package org.jboss.portal.presentation.test.model.state.navigational;
-import org.jboss.portal.presentation.model2.state.navigational.NavigationalStateContext;
-import org.jboss.portal.presentation.model2.state.StateChangeVetoException;
-import org.jboss.portal.presentation.model2.state.StateException;
+import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
+import org.jboss.portal.presentation.state.StateChangeVetoException;
+import org.jboss.portal.presentation.state.StateException;
import java.util.Map;
import java.util.HashMap;
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockModel.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockModel.java 2008-04-02 20:43:58 UTC (rev 10487)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockModel.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -22,7 +22,7 @@
******************************************************************************/
package org.jboss.portal.presentation.test.model.state.structural;
-import org.jboss.portal.presentation.model2.state.structural.StructuralStateContext;
+import org.jboss.portal.presentation.state.structural.StructuralStateContext;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockModelImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockModelImpl.java 2008-04-02 20:43:58 UTC (rev 10487)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockModelImpl.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -26,11 +26,11 @@
import org.jboss.portal.presentation.model2.ui.UIObject;
import org.jboss.portal.presentation.model2.ui.UIPage;
import org.jboss.portal.presentation.model2.ui.UIWindow;
-import org.jboss.portal.presentation.model2.state.NoSuchStateException;
-import org.jboss.portal.presentation.model2.state.StaleStateException;
-import org.jboss.portal.presentation.model2.state.StateException;
-import org.jboss.portal.presentation.model2.state.structural.StructuralObject;
-import org.jboss.portal.presentation.model2.state.structural.StructuralStateContext;
+import org.jboss.portal.presentation.state.NoSuchStateException;
+import org.jboss.portal.presentation.state.StaleStateException;
+import org.jboss.portal.presentation.state.StateException;
+import org.jboss.portal.presentation.state.structural.StructuralObject;
+import org.jboss.portal.presentation.state.structural.StructuralStateContext;
import java.util.ArrayList;
import java.util.HashMap;
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockObject.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockObject.java 2008-04-02 20:43:58 UTC (rev 10487)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/MockObject.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -26,7 +26,7 @@
import org.jboss.portal.presentation.model2.ui.UIObject;
import org.jboss.portal.presentation.model2.ui.UIPage;
import org.jboss.portal.presentation.model2.ui.UIWindow;
-import org.jboss.portal.presentation.model2.state.structural.StructuralObject;
+import org.jboss.portal.presentation.state.structural.StructuralObject;
import java.util.List;
import java.util.Map;
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/StructuralObjectImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/StructuralObjectImpl.java 2008-04-02 20:43:58 UTC (rev 10487)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/StructuralObjectImpl.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -22,8 +22,8 @@
******************************************************************************/
package org.jboss.portal.presentation.test.model.state.structural;
-import org.jboss.portal.presentation.model2.state.structural.StructuralObject;
-import org.jboss.portal.presentation.model2.state.structural.StructuralState;
+import org.jboss.portal.presentation.state.structural.StructuralObject;
+import org.jboss.portal.presentation.state.structural.StructuralState;
import java.util.List;
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/StructuralStateImpl.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/StructuralStateImpl.java 2008-04-02 20:43:58 UTC (rev 10487)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/state/structural/StructuralStateImpl.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -22,7 +22,7 @@
******************************************************************************/
package org.jboss.portal.presentation.test.model.state.structural;
-import org.jboss.portal.presentation.model2.state.structural.StructuralState;
+import org.jboss.portal.presentation.state.structural.StructuralState;
import org.jboss.portal.presentation.model2.ui.UIObject;
import java.util.Map;
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/AbstractModelTestCase.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/AbstractModelTestCase.java 2008-04-02 20:43:58 UTC (rev 10487)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/AbstractModelTestCase.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -26,7 +26,7 @@
import org.jboss.portal.presentation.test.model.state.structural.MockModel;
import org.jboss.portal.presentation.test.model.state.structural.MockModelImpl;
import org.jboss.portal.presentation.test.model.state.navigational.NavigationalStateContextImpl;
-import org.jboss.portal.presentation.model2.state.structural.StructuralStateContext;
+import org.jboss.portal.presentation.state.structural.StructuralStateContext;
import org.jboss.portal.presentation.impl.model2.UIModelImpl;
import junit.framework.TestCase;
Modified: modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/TraversalModelTestCase.java
===================================================================
--- modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/TraversalModelTestCase.java 2008-04-02 20:43:58 UTC (rev 10487)
+++ modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model3/TraversalModelTestCase.java 2008-04-02 20:53:03 UTC (rev 10488)
@@ -27,7 +27,7 @@
import org.jboss.portal.presentation.test.model.state.structural.MockModel;
import org.jboss.portal.presentation.test.model.state.structural.MockModelImpl;
import org.jboss.portal.presentation.test.model.state.navigational.NavigationalStateContextImpl;
-import org.jboss.portal.presentation.model2.state.structural.StructuralStateContext;
+import org.jboss.portal.presentation.state.structural.StructuralStateContext;
import org.jboss.portal.presentation.impl.model2.UIModelImpl;
import java.util.Collection;
16 years, 2 months