From 99229af48a9e3a7d882b73aa435a237a7be59784 Mon Sep 17 00:00:00 2001 From: ralfbattenfeld Date: Sat, 7 Apr 2012 11:12:11 +0200 Subject: [PATCH 1/8] [SHRINKDESC-21] Added DescriptorReaders for all existing Descriptors --- .gitignore | 11 +- .../api/DescriptorNamespaceReader.java | 14 + gen/pom.xml | 42 +- ...s.shrinkwrap.descriptor.api.TestDescriptor | 3 - ...tor.api.application5.ApplicationDescriptor | 3 - ...tor.api.application6.ApplicationDescriptor | 3 - ...rap.descriptor.api.beans10.BeansDescriptor | 3 - ...riptor.api.connector10.ConnectorDescriptor | 3 - ...riptor.api.connector15.ConnectorDescriptor | 3 - ...riptor.api.connector16.ConnectorDescriptor | 3 - ...p.descriptor.api.ejbjar30.EjbJarDescriptor | 3 - ...p.descriptor.api.ejbjar31.EjbJarDescriptor | 3 - ...aglibrary20.WebFacelettaglibraryDescriptor | 3 - ...api.facesconfig20.WebFacesConfigDescriptor | 3 - ...api.facesconfig21.WebFacesConfigDescriptor | 3 - ...sponse20.WebFacesPartialResponseDescriptor | 3 - ...icomponent20.WebFacesUIComponentDescriptor | 3 - ...jsptaglibrary20.WebJsptaglibraryDescriptor | 3 - ...jsptaglibrary21.WebJsptaglibraryDescriptor | 3 - ...or.api.persistence10.PersistenceDescriptor | 3 - ...or.api.persistence20.PersistenceDescriptor | 3 - ...criptor.api.portletapp20.PortletDescriptor | 2 +- ...p.descriptor.api.webapp30.WebAppDescriptor | 3 - ...or.api.webfragment30.WebFragmentDescriptor | 3 - ...or.api.datasources10.DatasourcesDescriptor | 3 - ...or.api.ironjacamar10.IronjacamarDescriptor | 3 - ...rap.descriptor.api.jboss51.JbossDescriptor | 3 - ...scriptor.api.jbossweb60.JbossWebDescriptor | 3 - ...ourceadapters10.ResourceAdaptersDescriptor | 3 - ...wrap.descriptor.api.jetty7.JettyDescriptor | 3 - metadata-parser-test/pom.xml | 4 + ...boss.datasources.api.DatasourcesDescriptor | 3 - ...boss.ironjacamar.api.IronjacamarDescriptor | 3 - ...rceadapters.api.ResourceAdaptersDescriptor | 3 - .../metadata/MetadataDescriptor.java | 11 + .../descriptor/metadata/MetadataParser.java | 21 +- .../metadata/MetadataParserConfiguration.java | 14 + .../descriptor/metadata/dom/DomWriter.java | 7 +- .../src/main/resources/META-INF/ddJavaAll.xsl | 1003 ++++++++++++----- .../EjbJarDescriptorReaderTestCase.java | 556 +++++++++ 40 files changed, 1404 insertions(+), 368 deletions(-) create mode 100644 api-base/src/main/java/org/jboss/shrinkwrap/descriptor/api/DescriptorNamespaceReader.java delete mode 100644 impl-base/src/test/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.TestDescriptor delete mode 100644 impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.application5.ApplicationDescriptor delete mode 100644 impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.application6.ApplicationDescriptor delete mode 100644 impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.beans10.BeansDescriptor delete mode 100644 impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.connector10.ConnectorDescriptor delete mode 100644 impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.connector15.ConnectorDescriptor delete mode 100644 impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.connector16.ConnectorDescriptor delete mode 100644 impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.ejbjar30.EjbJarDescriptor delete mode 100644 impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.ejbjar31.EjbJarDescriptor delete mode 100644 impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.facelettaglibrary20.WebFacelettaglibraryDescriptor delete mode 100644 impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.facesconfig20.WebFacesConfigDescriptor delete mode 100644 impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.facesconfig21.WebFacesConfigDescriptor delete mode 100644 impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.facespartialresponse20.WebFacesPartialResponseDescriptor delete mode 100644 impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.facesuicomponent20.WebFacesUIComponentDescriptor delete mode 100644 impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.jsptaglibrary20.WebJsptaglibraryDescriptor delete mode 100644 impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.jsptaglibrary21.WebJsptaglibraryDescriptor delete mode 100644 impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.persistence10.PersistenceDescriptor delete mode 100644 impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.persistence20.PersistenceDescriptor delete mode 100644 impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor delete mode 100644 impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.webfragment30.WebFragmentDescriptor delete mode 100644 impl-jboss/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.datasources10.DatasourcesDescriptor delete mode 100644 impl-jboss/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.ironjacamar10.IronjacamarDescriptor delete mode 100644 impl-jboss/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.jboss51.JbossDescriptor delete mode 100644 impl-jboss/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.jbossweb60.JbossWebDescriptor delete mode 100644 impl-jboss/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.resourceadapters10.ResourceAdaptersDescriptor delete mode 100644 impl-misc/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.jetty7.JettyDescriptor delete mode 100644 metadata-parser-test/src/main/resources/META-INF/services/org.jboss.datasources.api.DatasourcesDescriptor delete mode 100644 metadata-parser-test/src/main/resources/META-INF/services/org.jboss.ironjacamar.api.IronjacamarDescriptor delete mode 100644 metadata-parser-test/src/main/resources/META-INF/services/org.jboss.resourceadapters.api.ResourceAdaptersDescriptor create mode 100644 test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejbjar31/EjbJarDescriptorReaderTestCase.java diff --git a/.gitignore b/.gitignore index 1b15e100..a0deefa2 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,10 @@ target bin metadata-parser-test/src/main/resources/META-INF metadata-parser-test/src/test/java -api-javaee/src/ -api-misc/src/ -impl-jboss/src/main/java/ -impl-misc/src/main/java/ +api-javaee/src +api-misc/src +impl-jboss/src +impl-misc/src +impl-javaee/src +impl-jboss/src +impl-misc/src diff --git a/api-base/src/main/java/org/jboss/shrinkwrap/descriptor/api/DescriptorNamespaceReader.java b/api-base/src/main/java/org/jboss/shrinkwrap/descriptor/api/DescriptorNamespaceReader.java new file mode 100644 index 00000000..adfcf5f5 --- /dev/null +++ b/api-base/src/main/java/org/jboss/shrinkwrap/descriptor/api/DescriptorNamespaceReader.java @@ -0,0 +1,14 @@ +package org.jboss.shrinkwrap.descriptor.api; + +import java.util.List; + +public interface DescriptorNamespaceReader +{ + + /** + * Returns all existing namespaces. + * @return a list of all existing namespaces. + */ + public List getNamespaces(); + +} diff --git a/gen/pom.xml b/gen/pom.xml index 0722cc86..6c7ede92 100644 --- a/gen/pom.xml +++ b/gen/pom.xml @@ -115,6 +115,7 @@ ${basedir}/../api-javaee/src/main/java ${basedir}/../impl-javaee/src/main/java + ${basedir}/../impl-javaee/src/main/resources/META-INF/services @@ -122,9 +123,10 @@ j2ee org.jboss.shrinkwrap.descriptor.api.connector10 org.jboss.shrinkwrap.descriptor.impl.connector10 - ConnectorDescriptor + ConnectorDescriptor connector j2ee:connector + ra.xml @@ -141,7 +143,7 @@ ${basedir}/../api-javaee/src/main/java ${basedir}/../impl-javaee/src/main/java - + ${basedir}/../impl-javaee/src/main/resources/META-INF/services @@ -169,8 +171,9 @@ ConnectorDescriptor connector j2ee:connectorType + ra.xml - xmlnshttp://java.sun.com/xml/ns/j2ee + xmlnshttp://java.sun.com/xml/ns/j2ee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd @@ -184,6 +187,7 @@ WebJsptaglibraryDescriptor taglib j2ee:tldTaglibType + taglibrary.tld xmlnshttp://java.sun.com/xml/ns/j2ee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -199,6 +203,7 @@ PortletDescriptor portlet-app portlet:portlet-appType + portlet.xml xmlnshttp://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -220,7 +225,7 @@ ${basedir}/../api-javaee/src/main/java ${basedir}/../impl-javaee/src/main/java - + ${basedir}/../impl-javaee/src/main/resources/META-INF/services @@ -247,6 +252,7 @@ ApplicationDescriptor application javaee:applicationType + application.xml xmlnshttp://java.sun.com/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -262,6 +268,7 @@ PersistenceDescriptor persistence persistence:persistence + persistence.xml xmlnshttp://java.sun.com/xml/ns/persistence xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -277,6 +284,7 @@ OrmDescriptor entity-mappings orm:entity-mappings + orm.xml xmlnshttp://java.sun.com/xml/ns/persistence/orm xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -292,6 +300,7 @@ EjbJarDescriptor ejb-jar javaee:ejb-jarType + ejb-jar.xml xmlnshttp://java.sun.com/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -307,6 +316,7 @@ WebJsptaglibraryDescriptor taglib javaee:tldTaglibType + taglibrary.tld xmlnshttp://java.sun.com/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -322,6 +332,7 @@ WebFacelettaglibraryDescriptor facelet-taglib javaee:facelet-taglibType + taglib.xml xmlnshttp://java.sun.com/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -337,6 +348,7 @@ WebFacesConfigDescriptor faces-config javaee:faces-configType + faces-config.xml xmlnshttp://java.sun.com/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -352,6 +364,7 @@ WebFacesConfigDescriptor faces-config javaee:faces-configType + faces-config.xml xmlnshttp://java.sun.com/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -367,6 +380,7 @@ WebFacesUIComponentDescriptor attribute javaee:uicomponent-attributeType + default.xml xmlnshttp://java.sun.com/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -382,6 +396,7 @@ WebFacesPartialResponseDescriptor partial-response javaee:partial-responseType + default.xml xmlnshttp://java.sun.com/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -404,7 +419,7 @@ ${basedir}/../api-javaee/src/main/java ${basedir}/../impl-javaee/src/main/java - + ${basedir}/../impl-javaee/src/main/resources/META-INF/services @@ -447,6 +462,7 @@ ApplicationDescriptor application javaee:applicationType + application.xml xmlnshttp://java.sun.com/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -462,6 +478,7 @@ WebAppDescriptor web-app javaee:web-appType + web.xml xmlnshttp://java.sun.com/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -477,6 +494,7 @@ PersistenceDescriptor persistence persistence:persistence + persistence.xml xmlnshttp://java.sun.com/xml/ns/persistence xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -492,6 +510,7 @@ OrmDescriptor entity-mappings orm:entity-mappings + orm.xml xmlnshttp://java.sun.com/xml/ns/persistence/orm xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -506,6 +525,7 @@ WebFragmentDescriptor web-fragment javaee:web-fragmentType + webfragment.xml xmlnshttp://java.sun.com/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -521,6 +541,7 @@ EjbJarDescriptor ejb-jar javaee:ejb-jarType + ejb-jar.xml xmlnshttp://java.sun.com/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -536,6 +557,7 @@ ConnectorDescriptor connector javaee:connectorType + ra.xml xmlnshttp://java.sun.com/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -551,6 +573,7 @@ BeansDescriptor beans javaee:beans + beans.xml xmlnshttp://java.sun.com/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -572,7 +595,8 @@ false ${basedir}/../api-jboss/src/main/java - ${basedir}/../impl-jboss/src/main/java + ${basedir}/../impl-jboss/src/main/java + ${basedir}/../impl-jboss/src/main/resources/META-INF/services @@ -615,6 +639,7 @@ JbossDescriptor jboss jboss:jbossType + jboss.xml xmlnshttp://www.jboss.com/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -635,7 +660,8 @@ false ${basedir}/../api-jboss/src/main/java - ${basedir}/../impl-jboss/src/main/java + ${basedir}/../impl-jboss/src/main/java + ${basedir}/../impl-jboss/src/main/resources/META-INF/services @@ -678,6 +704,7 @@ JbossWebDescriptor jboss-web jboss:jboss-webType + jboss-web.xml xmlnshttp://www.jboss.com/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance @@ -710,6 +737,7 @@ JettyDescriptor Configure jetty7:Configure + jetty.xml diff --git a/impl-base/src/test/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.TestDescriptor b/impl-base/src/test/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.TestDescriptor deleted file mode 100644 index ddcbe028..00000000 --- a/impl-base/src/test/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.TestDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.api.TestDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=test.xml \ No newline at end of file diff --git a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.application5.ApplicationDescriptor b/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.application5.ApplicationDescriptor deleted file mode 100644 index 152f345a..00000000 --- a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.application5.ApplicationDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.application5.ApplicationDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=application.xml \ No newline at end of file diff --git a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.application6.ApplicationDescriptor b/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.application6.ApplicationDescriptor deleted file mode 100644 index 6a37861b..00000000 --- a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.application6.ApplicationDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.application6.ApplicationDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=application.xml \ No newline at end of file diff --git a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.beans10.BeansDescriptor b/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.beans10.BeansDescriptor deleted file mode 100644 index 90b46cc5..00000000 --- a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.beans10.BeansDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.beans10.BeansDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=beans.xml \ No newline at end of file diff --git a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.connector10.ConnectorDescriptor b/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.connector10.ConnectorDescriptor deleted file mode 100644 index 5bd7e38c..00000000 --- a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.connector10.ConnectorDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.connector10.ConnectorDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=ra.xml \ No newline at end of file diff --git a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.connector15.ConnectorDescriptor b/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.connector15.ConnectorDescriptor deleted file mode 100644 index d280bb55..00000000 --- a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.connector15.ConnectorDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.connector15.ConnectorDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=ra.xml \ No newline at end of file diff --git a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.connector16.ConnectorDescriptor b/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.connector16.ConnectorDescriptor deleted file mode 100644 index 6b689bbf..00000000 --- a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.connector16.ConnectorDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.connector16.ConnectorDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=ra.xml \ No newline at end of file diff --git a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.ejbjar30.EjbJarDescriptor b/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.ejbjar30.EjbJarDescriptor deleted file mode 100644 index ddea3a82..00000000 --- a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.ejbjar30.EjbJarDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.ejbjar30.EjbJarDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=ejb-jar.xml \ No newline at end of file diff --git a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.ejbjar31.EjbJarDescriptor b/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.ejbjar31.EjbJarDescriptor deleted file mode 100644 index eaf3ef65..00000000 --- a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.ejbjar31.EjbJarDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.ejbjar31.EjbJarDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=ejb-jar.xml \ No newline at end of file diff --git a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.facelettaglibrary20.WebFacelettaglibraryDescriptor b/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.facelettaglibrary20.WebFacelettaglibraryDescriptor deleted file mode 100644 index e07f0c01..00000000 --- a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.facelettaglibrary20.WebFacelettaglibraryDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.facelettaglibrary20.WebFacelettaglibraryDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=taglib.xml diff --git a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.facesconfig20.WebFacesConfigDescriptor b/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.facesconfig20.WebFacesConfigDescriptor deleted file mode 100644 index 4a15fcac..00000000 --- a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.facesconfig20.WebFacesConfigDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.facesconfig20.WebFacesConfigDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=faces-config.xml diff --git a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.facesconfig21.WebFacesConfigDescriptor b/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.facesconfig21.WebFacesConfigDescriptor deleted file mode 100644 index 4008f608..00000000 --- a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.facesconfig21.WebFacesConfigDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.facesconfig21.WebFacesConfigDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=faces-config.xml diff --git a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.facespartialresponse20.WebFacesPartialResponseDescriptor b/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.facespartialresponse20.WebFacesPartialResponseDescriptor deleted file mode 100644 index 00f41681..00000000 --- a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.facespartialresponse20.WebFacesPartialResponseDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.facespartialresponse20.WebFacesPartialResponseDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=default.xml diff --git a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.facesuicomponent20.WebFacesUIComponentDescriptor b/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.facesuicomponent20.WebFacesUIComponentDescriptor deleted file mode 100644 index 2f06c29e..00000000 --- a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.facesuicomponent20.WebFacesUIComponentDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.facesuicomponent20.WebFacesUIComponentDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=default.xml diff --git a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.jsptaglibrary20.WebJsptaglibraryDescriptor b/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.jsptaglibrary20.WebJsptaglibraryDescriptor deleted file mode 100644 index cdd745a9..00000000 --- a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.jsptaglibrary20.WebJsptaglibraryDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.jsptaglibrary20.WebJsptaglibraryDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=taglibrary.tld \ No newline at end of file diff --git a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.jsptaglibrary21.WebJsptaglibraryDescriptor b/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.jsptaglibrary21.WebJsptaglibraryDescriptor deleted file mode 100644 index b174b263..00000000 --- a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.jsptaglibrary21.WebJsptaglibraryDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.jsptaglibrary21.WebJsptaglibraryDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=taglibrary.tld \ No newline at end of file diff --git a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.persistence10.PersistenceDescriptor b/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.persistence10.PersistenceDescriptor deleted file mode 100644 index 3ab5b87a..00000000 --- a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.persistence10.PersistenceDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.persistence10.PersistenceDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=persistence.xml \ No newline at end of file diff --git a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.persistence20.PersistenceDescriptor b/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.persistence20.PersistenceDescriptor deleted file mode 100644 index 1748877e..00000000 --- a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.persistence20.PersistenceDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.persistence20.PersistenceDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=persistence.xml \ No newline at end of file diff --git a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.portletapp20.PortletDescriptor b/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.portletapp20.PortletDescriptor index 7d3b5779..dd3696c0 100644 --- a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.portletapp20.PortletDescriptor +++ b/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.portletapp20.PortletDescriptor @@ -1,3 +1,3 @@ implClass=org.jboss.shrinkwrap.descriptor.impl.portletapp20.PortletDescriptorImpl importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=portlet.xml \ No newline at end of file +defaultName=portlet.xml diff --git a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor b/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor deleted file mode 100644 index fdff5f16..00000000 --- a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.webapp30.WebAppDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=web.xml \ No newline at end of file diff --git a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.webfragment30.WebFragmentDescriptor b/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.webfragment30.WebFragmentDescriptor deleted file mode 100644 index fe3aebd7..00000000 --- a/impl-javaee/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.webfragment30.WebFragmentDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.webfragment30.WebFragmentDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=web-fragment.xml \ No newline at end of file diff --git a/impl-jboss/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.datasources10.DatasourcesDescriptor b/impl-jboss/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.datasources10.DatasourcesDescriptor deleted file mode 100644 index 3a42f91a..00000000 --- a/impl-jboss/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.datasources10.DatasourcesDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.datasources10.DatasourcesDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=datasources.xml \ No newline at end of file diff --git a/impl-jboss/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.ironjacamar10.IronjacamarDescriptor b/impl-jboss/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.ironjacamar10.IronjacamarDescriptor deleted file mode 100644 index 9c3ca305..00000000 --- a/impl-jboss/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.ironjacamar10.IronjacamarDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.ironjacamar10.IronjacamarDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=ironjacamar.xml \ No newline at end of file diff --git a/impl-jboss/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.jboss51.JbossDescriptor b/impl-jboss/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.jboss51.JbossDescriptor deleted file mode 100644 index 35e1da52..00000000 --- a/impl-jboss/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.jboss51.JbossDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.jboss51.JbossDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=jboss.xml \ No newline at end of file diff --git a/impl-jboss/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.jbossweb60.JbossWebDescriptor b/impl-jboss/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.jbossweb60.JbossWebDescriptor deleted file mode 100644 index e64a11dc..00000000 --- a/impl-jboss/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.jbossweb60.JbossWebDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.jbossweb60.JbossWebDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=jboss-web.xml \ No newline at end of file diff --git a/impl-jboss/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.resourceadapters10.ResourceAdaptersDescriptor b/impl-jboss/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.resourceadapters10.ResourceAdaptersDescriptor deleted file mode 100644 index 33ab8e4e..00000000 --- a/impl-jboss/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.resourceadapters10.ResourceAdaptersDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.resourceadapters10.ResourceAdaptersDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=resourceadapters.xml \ No newline at end of file diff --git a/impl-misc/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.jetty7.JettyDescriptor b/impl-misc/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.jetty7.JettyDescriptor deleted file mode 100644 index 894d4c34..00000000 --- a/impl-misc/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.jetty7.JettyDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.shrinkwrap.descriptor.impl.jetty7.JettyDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=default.xml diff --git a/metadata-parser-test/pom.xml b/metadata-parser-test/pom.xml index 0db0a8a0..3a3ab04f 100644 --- a/metadata-parser-test/pom.xml +++ b/metadata-parser-test/pom.xml @@ -73,6 +73,7 @@ IronjacamarDescriptor ironjacamar ironjacamar:ironjacamarType + default.xml @@ -83,6 +84,7 @@ DatasourcesDescriptor datasources datasources:datasourcesType + default.xml @@ -93,6 +95,7 @@ ResourceadapterDescriptor resource-adapters resourceadapters:resource-adaptersType + default.xml @@ -103,6 +106,7 @@ ConnectorDescriptor connector j2ee:connector + ra.xml diff --git a/metadata-parser-test/src/main/resources/META-INF/services/org.jboss.datasources.api.DatasourcesDescriptor b/metadata-parser-test/src/main/resources/META-INF/services/org.jboss.datasources.api.DatasourcesDescriptor deleted file mode 100644 index 2d927c22..00000000 --- a/metadata-parser-test/src/main/resources/META-INF/services/org.jboss.datasources.api.DatasourcesDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.datasources.impl.DatasourcesDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=default.xml diff --git a/metadata-parser-test/src/main/resources/META-INF/services/org.jboss.ironjacamar.api.IronjacamarDescriptor b/metadata-parser-test/src/main/resources/META-INF/services/org.jboss.ironjacamar.api.IronjacamarDescriptor deleted file mode 100644 index 12d9b536..00000000 --- a/metadata-parser-test/src/main/resources/META-INF/services/org.jboss.ironjacamar.api.IronjacamarDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.ironjacamar.impl.IronjacamarDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=default.xml diff --git a/metadata-parser-test/src/main/resources/META-INF/services/org.jboss.resourceadapters.api.ResourceAdaptersDescriptor b/metadata-parser-test/src/main/resources/META-INF/services/org.jboss.resourceadapters.api.ResourceAdaptersDescriptor deleted file mode 100644 index 0b84dedc..00000000 --- a/metadata-parser-test/src/main/resources/META-INF/services/org.jboss.resourceadapters.api.ResourceAdaptersDescriptor +++ /dev/null @@ -1,3 +0,0 @@ -implClass=org.jboss.resourceadapters.impl.ResourceAdaptersDescriptorImpl -importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl -defaultName=default.xml diff --git a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataDescriptor.java b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataDescriptor.java index 0766b750..d10ee499 100644 --- a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataDescriptor.java +++ b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataDescriptor.java @@ -30,6 +30,8 @@ public class MetadataDescriptor extends BaseMetadataItem private String rootElementName; private String rootElementType; + + private String defaultFileName; private boolean generateClasses; @@ -78,5 +80,14 @@ public boolean isGenerateClasses() public void setGenerateClasses(final boolean generateClasses) { this.generateClasses = generateClasses; + } + + public String getDefaultFileName() { + return defaultFileName; + } + + public void setDefaultFileName(final String defaultFileName) { + this.defaultFileName = defaultFileName; } + } diff --git a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParser.java b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParser.java index 46b78359..06cea0ce 100644 --- a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParser.java +++ b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParser.java @@ -88,16 +88,17 @@ public void parse(final MetadataParserPath path, final List confList, final b metadata.setCurrentPackageApi(metadataConf.getPackageApi()); metadata.setCurrentPackageImpl(metadataConf.getPackageImpl()); - final MetadataDescriptor metadataDescriptor = new MetadataDescriptor(metadataConf.getDescriptorName()); - metadataDescriptor.setRootElementName(metadataConf.getElementName()); - metadataDescriptor.setRootElementType(metadataConf.getElementType()); - metadataDescriptor.setSchemaName(metadataConf.getPathToXsd()); - metadataDescriptor.setPackageApi(metadataConf.getPackageApi()); - metadataDescriptor.setPackageImpl(metadataConf.getPackageImpl()); - metadataDescriptor.setNamespace(metadataConf.getNameSpace()); - metadataDescriptor.setNamespaces(metadataConf.getNamespaces()); - metadataDescriptor.setGenerateClasses(metadataConf.generateClasses); - metadata.getMetadataDescriptorList().add(metadataDescriptor); + final MetadataDescriptor metadataDescriptor = new MetadataDescriptor(metadataConf.getDescriptorName()); + metadataDescriptor.setRootElementName(metadataConf.getElementName()); + metadataDescriptor.setRootElementType(metadataConf.getElementType()); + metadataDescriptor.setSchemaName(metadataConf.getPathToXsd()); + metadataDescriptor.setPackageApi(metadataConf.getPackageApi()); + metadataDescriptor.setPackageImpl(metadataConf.getPackageImpl()); + metadataDescriptor.setNamespace(metadataConf.getNameSpace()); + metadataDescriptor.setNamespaces(metadataConf.getNamespaces()); + metadataDescriptor.setGenerateClasses(metadataConf.generateClasses); + metadataDescriptor.setDefaultFileName(metadataConf.getDefaultFileName()); + metadata.getMetadataDescriptorList().add(metadataDescriptor); log.info(metadataConf.getPathToXsd()); if (metadataConf.getPathToXsd().endsWith(".dtd")) diff --git a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParserConfiguration.java b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParserConfiguration.java index cd5aec3a..f0896de3 100644 --- a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParserConfiguration.java +++ b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParserConfiguration.java @@ -68,6 +68,12 @@ public class MetadataParserConfiguration * */ protected String elementType; + + /** + * The default descriptor file name. + * + */ + protected String defaultFileName; /** * If true, then the classes for this descriptor are generated, otherwise this descriptor @@ -186,5 +192,13 @@ public void setGenerateClasses(final boolean generateClasses) { this.generateClasses = generateClasses; } + + public String getDefaultFileName() { + return defaultFileName; + } + + public void setDefaultFileName(final String defaultFileName) { + this.defaultFileName = defaultFileName; + } } diff --git a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/dom/DomWriter.java b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/dom/DomWriter.java index a8e6f54f..8ca661a8 100644 --- a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/dom/DomWriter.java +++ b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/dom/DomWriter.java @@ -129,6 +129,7 @@ public void write(final Metadata metadata, final String pathToMetadata) final Attr generateClassImpl = doc.createAttribute("generateClass"); generateClassImpl.setValue(Boolean.toString(descriptor.isGenerateClasses())); packageImpl.setAttributeNode(generateClassImpl); + packages.appendChild(packageImpl); } @@ -365,7 +366,11 @@ public void write(final Metadata metadata, final String pathToMetadata) final Attr attrPackageImpl = doc.createAttribute("packageImpl"); attrPackageImpl.setValue(descriptor.getPackageImpl()); - descriptorElement.setAttributeNode(attrPackageImpl); + descriptorElement.setAttributeNode(attrPackageImpl); + + final Attr defaultFileName = doc.createAttribute("defaultFileName"); + defaultFileName.setValue(descriptor.getDefaultFileName()); + descriptorElement.setAttributeNode(defaultFileName); final Element element = doc.createElement("element"); descriptorElement.appendChild(element); diff --git a/metadata-parser/src/main/resources/META-INF/ddJavaAll.xsl b/metadata-parser/src/main/resources/META-INF/ddJavaAll.xsl index 80e12fae..3b0841b8 100644 --- a/metadata-parser/src/main/resources/META-INF/ddJavaAll.xsl +++ b/metadata-parser/src/main/resources/META-INF/ddJavaAll.xsl @@ -18,37 +18,11 @@ - - javaee:emptyType; - javaee:ordering-othersType; - javaee:facelet-taglib-extensionType; - javaee:facelet-taglib-tag-behavior-extensionType; - javaee:facelet-taglib-tag-component-extensionType; - javaee:facelet-taglib-tag-converter-extensionType; - javaee:facelet-taglib-tag-extensionType; - javaee:facelet-taglib-tag-validator-extensionType; - javaee:faces-config-application-extensionType; - javaee:faces-config-attribute-extensionType; - javaee:faces-config-behavior-extensionType; - javaee:faces-config-component-extensionType; - javaee:faces-config-converter-extensionType; - javaee:faces-config-extensionType; - javaee:faces-config-facet-extensionType; - javaee:faces-config-factory-extensionType; - javaee:faces-config-lifecycle-extensionType; - javaee:faces-config-managed-bean-extensionType; - javaee:faces-config-navigation-rule-extensionType; - javaee:faces-config-null-valueType; - javaee:faces-config-ordering-othersType; - javaee:faces-config-property-extensionType; - javaee:faces-config-render-kit-extensionType; - javaee:faces-config-renderer-extensionType; - javaee:faces-config-validator-extensionType; - javaee:partial-response-extensionType; - extensibleType; - - - + javaee:emptyType; javaee:ordering-othersType; javaee:facelet-taglib-extensionType; javaee:facelet-taglib-tag-behavior-extensionType; javaee:facelet-taglib-tag-component-extensionType; javaee:facelet-taglib-tag-converter-extensionType; javaee:facelet-taglib-tag-extensionType; javaee:facelet-taglib-tag-validator-extensionType; javaee:faces-config-application-extensionType; javaee:faces-config-attribute-extensionType; + javaee:faces-config-behavior-extensionType; javaee:faces-config-component-extensionType; javaee:faces-config-converter-extensionType; javaee:faces-config-extensionType; javaee:faces-config-facet-extensionType; javaee:faces-config-factory-extensionType; javaee:faces-config-lifecycle-extensionType; javaee:faces-config-managed-bean-extensionType; javaee:faces-config-navigation-rule-extensionType; javaee:faces-config-null-valueType; javaee:faces-config-ordering-othersType; + javaee:faces-config-property-extensionType; javaee:faces-config-render-kit-extensionType; javaee:faces-config-renderer-extensionType; javaee:faces-config-validator-extensionType; javaee:partial-response-extensionType; extensibleType; + + @@ -68,7 +42,14 @@ - + + + + + + + + @@ -174,6 +155,13 @@ + + + + + + + @@ -183,24 +171,42 @@ - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -213,7 +219,14 @@ - + + + + + + + + @@ -222,9 +235,9 @@ - + - + @@ -238,7 +251,54 @@ - + + + + <T> + extends Child<T> + + { + + + + + + + + + + + + + + + + + } + + + + + + + + + + + + + + + : : + + + + + + + + + <T> @@ -247,14 +307,14 @@ { - + - + @@ -277,6 +337,11 @@ + + + + + @@ -289,6 +354,11 @@ + + + + + @@ -302,7 +372,13 @@ - + + + + + + + @@ -344,7 +420,6 @@ - @@ -356,7 +431,7 @@ - + import org.jboss.shrinkwrap.descriptor.api.Descriptor; import org.jboss.shrinkwrap.descriptor.api.DescriptorNamespace; @@ -368,11 +443,53 @@ - + + + + + + + + } + + + + + + + + + + + + + + + + + + + + + + + + + import org.jboss.shrinkwrap.descriptor.api.Descriptor; + import org.jboss.shrinkwrap.descriptor.api.DescriptorNamespaceReader; + + + + { + + + + + - + } @@ -399,7 +516,7 @@ - + @@ -415,14 +532,14 @@ - + - + @@ -435,6 +552,59 @@ + + + + + + + + + + + + + + + import org.jboss.shrinkwrap.descriptor.spi.node.Node; + + + + + + + + + <T> + implements Child<T>, + + + { + + + + + + + + + + + + + + + + + + + + + } + + + + @@ -444,12 +614,8 @@ - - - @@ -462,9 +628,10 @@ - + import org.jboss.shrinkwrap.descriptor.api.DescriptorNamespace; + import org.jboss.shrinkwrap.descriptor.api.DescriptorNamespaceReader; import org.jboss.shrinkwrap.descriptor.spi.node.NodeDescriptorImplBase; import org.jboss.shrinkwrap.descriptor.impl.base.XMLDate; import org.jboss.shrinkwrap.descriptor.spi.node.Node; @@ -472,7 +639,7 @@ - + { @@ -483,16 +650,16 @@ - + - + - + @@ -503,6 +670,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + import org.jboss.shrinkwrap.descriptor.api.DescriptorNamespaceReader; + import org.jboss.shrinkwrap.descriptor.spi.node.NodeDescriptorImplBase; + import org.jboss.shrinkwrap.descriptor.impl.base.XMLDate; + import org.jboss.shrinkwrap.descriptor.spi.node.Node; + + + + + + { + + + + + + + + + + + + + + + + + + + + + + + } + + + + + @@ -535,11 +766,11 @@ - + - + @@ -831,22 +1062,23 @@ + - + - + - + @@ -864,6 +1096,7 @@ + @@ -871,54 +1104,87 @@ - + - + - + - + - - + - - - - + + + + + + + + + + + - + + + + + + + + + + - - - - - + + + + + + + + + + + + - + + + + + + + + + + + + @@ -932,38 +1198,39 @@ + - + - + - + - + - + - + @@ -974,6 +1241,7 @@ + @@ -981,10 +1249,30 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + + + @@ -1001,6 +1289,7 @@ + @@ -1018,12 +1307,32 @@ - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1108,7 +1417,7 @@ - + @@ -1127,10 +1436,10 @@ - + - + @@ -1149,7 +1458,7 @@ - + @@ -1166,8 +1475,54 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1256,10 +1611,18 @@ - - - - + + + + + + + + + + + + @@ -1428,8 +1791,16 @@ - - + + + + + + + + + + @@ -1496,14 +1867,14 @@ - - + + - + @@ -1516,27 +1887,49 @@ + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -1822,20 +2215,38 @@ + + - - - - - - + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + @@ -1988,23 +2399,38 @@ + - - - - + + + + + + + + + - - + + + + - + + + + + + + + + + - - @@ -2292,7 +2718,7 @@ - + @@ -2356,10 +2782,17 @@ - - - - + + + + + + + + + + + @@ -2453,8 +2886,8 @@ - - + + @@ -2462,8 +2895,8 @@ package ; - - + + @@ -2483,8 +2916,8 @@ - - + + @@ -2524,7 +2957,7 @@ - + @@ -2651,75 +3084,130 @@ + // -------------------------------------------------------------------------------------|| // Namespace // -------------------------------------------------------------------------------------|| - - - - - - - { - - - - - } - - - - - - - { - - - } - - - - - - public List<String> getNamespaces() - { - - - - - - - - - - - - } - - - - - - - { - - - - - - - - - - - - - - - - } + + + + + + + + + + { + + + + + } + + + + + + + public List<String> getNamespaces() + { + + + + + + + + + + + + } + + + + + + + + { + + + } + + + + + + + + + + { + + + + + } + + + + + + + + { + + + } + + + + + + + public List<String> getNamespaces() + { + + + + + + + + + + + + } + + + + + + + + { + + + + + + + + + + + + + + + + } + + @@ -2789,8 +3277,8 @@ - - + + @@ -2811,8 +3299,8 @@ - - + + @@ -2829,8 +3317,8 @@ - - + + @@ -2852,7 +3340,7 @@ - + @@ -2914,9 +3402,9 @@ - + - + + "/> @@ -2987,8 +3474,8 @@ " /> - - + + @@ -3030,7 +3517,7 @@ - + @@ -3083,8 +3570,8 @@ - - + + @@ -3109,7 +3596,7 @@ - @@ -3134,7 +3621,7 @@ - + @@ -3179,5 +3666,5 @@ - + diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejbjar31/EjbJarDescriptorReaderTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejbjar31/EjbJarDescriptorReaderTestCase.java new file mode 100644 index 00000000..6b7f9727 --- /dev/null +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejbjar31/EjbJarDescriptorReaderTestCase.java @@ -0,0 +1,556 @@ +package org.jboss.shrinkwrap.descriptor.test.ejbjar31; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; + +import java.io.BufferedReader; +import java.io.FileReader; +import java.text.SimpleDateFormat; +import java.util.TimeZone; +import java.util.logging.Logger; + +import org.jboss.shrinkwrap.descriptor.api.Descriptors; +import org.jboss.shrinkwrap.descriptor.api.ejbjar31.EjbJarDescriptorReader; +import org.jboss.shrinkwrap.descriptor.api.ejbjar31.EnterpriseBeansTypeReader; +import org.jboss.shrinkwrap.descriptor.api.ejbjar31.MessageDrivenBeanTypeReader; +import org.jboss.shrinkwrap.descriptor.api.ejbjar31.MethodParamsTypeReader; +import org.jboss.shrinkwrap.descriptor.api.ejbjar31.NamedMethodTypeReader; +import org.jboss.shrinkwrap.descriptor.api.ejbjar31.TimerScheduleTypeReader; +import org.jboss.shrinkwrap.descriptor.api.ejbjar31.TimerTypeReader; +import org.jboss.shrinkwrap.descriptor.api.javaee6.IconTypeReader; +import org.jboss.shrinkwrap.descriptor.test.util.XmlAssert; +import org.junit.Before; +import org.junit.Test; + + +public class EjbJarDescriptorReaderTestCase +{ + final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-DD hh:mm:ss"); + + /** + * Logger + */ + private static final Logger log = Logger.getLogger(EjbJarDescriptorReaderTestCase.class.getName()); + + @Before + public void init() + { + sdf.setTimeZone(TimeZone.getTimeZone("GMT")); + } + + @Test + public void testGeneratedEjbJarReaderXml() throws Exception + { + final EjbJarDescriptorReader ejbJarReader = importFromString(getResourceContents("src/test/resources/test-gen-ejbjar31.xml")); + assertEquals(ejbJarReader.getVersion(), "3.1"); + assertEquals(ejbJarReader.getModuleName(), "module-name0"); + assertEquals(ejbJarReader.getAllDescription().get(0), "description0"); + assertEquals(ejbJarReader.getAllDisplayName().get(0), "display-name0"); + + final IconTypeReader iconTypeReader = ejbJarReader.getAllIcon().get(0); + assertEquals(iconTypeReader.getSmallIcon(), "small-icon0"); + assertEquals(iconTypeReader.getLargeIcon(), "large-icon0"); + + final EnterpriseBeansTypeReader enterpriseBeansTypeReader = ejbJarReader.getEnterpriseBeans(); + final MessageDrivenBeanTypeReader messageDrivenBeanTypeReader = (MessageDrivenBeanTypeReader) enterpriseBeansTypeReader.getAllMessageDriven().get(0); + + assertEquals(messageDrivenBeanTypeReader.getAllDescription().get(0), "description1"); + assertEquals(messageDrivenBeanTypeReader.getAllDisplayName().get(0), "display-name1"); + + final IconTypeReader iconTypeReader2 = (IconTypeReader) messageDrivenBeanTypeReader.getAllIcon().get(0); + assertEquals(iconTypeReader2.getSmallIcon(), "small-icon1"); + assertEquals(iconTypeReader2.getLargeIcon(), "large-icon1"); + + assertEquals(messageDrivenBeanTypeReader.getEjbName(), "ejb-name0"); + assertEquals(messageDrivenBeanTypeReader.getMappedName(), "mapped-name0"); + assertEquals(messageDrivenBeanTypeReader.getEjbClass(), "ejb-class0"); + assertEquals(messageDrivenBeanTypeReader.getMessagingType(), "messaging-type0"); + + final NamedMethodTypeReader namedMethodTypeReader = messageDrivenBeanTypeReader.getTimeoutMethod(); + assertEquals(namedMethodTypeReader.getMethodName(), "method-name0"); + + final MethodParamsTypeReader methodParamsTypeReader = namedMethodTypeReader.getMethodParams(); + assertEquals(methodParamsTypeReader.getAllMethodParam().get(0), "method-param0"); + + final TimerTypeReader timerTypeReader = (TimerTypeReader) messageDrivenBeanTypeReader.getAllTimer().get(0); + assertEquals(timerTypeReader.getAllDescription().get(0), "description2"); + + final TimerScheduleTypeReader timerScheduleTypeReader = timerTypeReader.getSchedule(); + assertEquals(timerScheduleTypeReader.getSecond(), "second0"); + assertEquals(timerScheduleTypeReader.getMinute(), "minute0"); + assertEquals(timerScheduleTypeReader.getHour(), "hour0"); + assertEquals(timerScheduleTypeReader.getDayOfMonth(), "day-of-month0"); + assertEquals(timerScheduleTypeReader.getMonth(), "month0"); + assertEquals(timerScheduleTypeReader.getDayOfWeek(), "day-of-week0"); + assertEquals(timerScheduleTypeReader.getYear(), "year0"); + + final NamedMethodTypeReader namedMethodTypeReader2 = messageDrivenBeanTypeReader.getTimeoutMethod(); + assertEquals(namedMethodTypeReader2.getMethodName(), "method-name0"); + + final MethodParamsTypeReader methodParamsTypeReader2 = namedMethodTypeReader2.getMethodParams(); + assertEquals(methodParamsTypeReader2.getAllMethodParam().get(0), "method-param0"); + + assertFalse(timerTypeReader.isPersistent()); + assertEquals(timerTypeReader.getTimezone(), "timezone0"); + assertEquals(timerTypeReader.getInfo(), "info0"); + + assertEquals(messageDrivenBeanTypeReader.getTransactionTypeAsString(), "Bean"); + assertEquals(messageDrivenBeanTypeReader.getMessageDestinationType(), "message-destination-type0"); + assertEquals(messageDrivenBeanTypeReader.getMessageDestinationLink(), "message-destination-link0"); + +// rest comes later ... + +// .getOrCreateActivationConfig() +// .description("description3") +// .createActivationConfigProperty() +// .activationConfigPropertyName("activation-config-property-name0") +// .activationConfigPropertyValue("activation-config-property-value0").up().up() +// .createAroundInvoke() +// .clazz("class0") +// .methodName("$").up() +// .createAroundTimeout() +// .clazz("class1") +// .methodName("$").up() +// .createEnvEntry() +// .description("description4") +// .envEntryName("env-entry-name0") +// .envEntryType("env-entry-type0") +// .envEntryValue("env-entry-value0") +// .mappedName("mapped-name1") +// .createInjectionTarget() +// .injectionTargetClass("injection-target-class0") +// .injectionTargetName("$").up() +// .lookupName("lookup-name0").up() +// .createEjbRef() +// .description("description5") +// .ejbRefName("ejb-ref-name0") +// .ejbRefType("Entity") +// .home("home0") +// .remote("remote0") +// .ejbLink("ejb-link0") +// .mappedName("mapped-name2") +// .createInjectionTarget() +// .injectionTargetClass("injection-target-class1") +// .injectionTargetName("$").up() +// .lookupName("lookup-name1").up() +// .createEjbLocalRef() +// .description("description6") +// .ejbRefName("ejb-ref-name1") +// .ejbRefType("Entity") +// .localHome("local-home0") +// .local("local0") +// .ejbLink("ejb-link1") +// .mappedName("mapped-name3") +// .createInjectionTarget() +// .injectionTargetClass("injection-target-class2") +// .injectionTargetName("$").up() +// .lookupName("lookup-name2").up() +// .createServiceRef() +// .description("description7") +// .displayName("display-name2") +// .createIcon() +// .smallIcon("small-icon2") +// .largeIcon("large-icon2").up() +// .serviceRefName("service-ref-name0") +// .serviceInterface("service-interface0") +// .serviceRefType("service-ref-type0") +// .wsdlFile("http://www.oxygenxml.com/") +// .jaxrpcMappingFile("jaxrpc-mapping-file0") +// .serviceQname("qName") +// .createPortComponentRef() +// .serviceEndpointInterface("service-endpoint-interface0") +// .enableMtom(false) +// .mtomThreshold(50) +// .getOrCreateAddressing() +// .enabled(false) +// .required(false) +// .responses("ANONYMOUS").up() +// .getOrCreateRespectBinding() +// .enabled(false).up() +// .portComponentLink("port-component-link0").up() +// .getOrCreateHandlerChains() +// .createHandlerChain() +// .protocolBindings("##a ##a http://www.oxygenxml.com/") +// .createHandler() +// .handlerName("handler-name0") +// .handlerClass("handler-class0").up().up().up() +// .mappedName("mapped-name4") +// .createInjectionTarget() +// .injectionTargetClass("injection-target-class3") +// .injectionTargetName("$").up() +// .lookupName("lookup-name3").up() +// .createResourceRef() +// .description("description8") +// .resRefName("res-ref-name0") +// .resType("res-type0") +// .resAuth("Application") +// .resSharingScope("Shareable") +// .mappedName("mapped-name5") +// .createInjectionTarget() +// .injectionTargetClass("injection-target-class4") +// .injectionTargetName("$").up() +// .lookupName("lookup-name4").up() +// .createResourceEnvRef() +// .description("description9") +// .resourceEnvRefName("resource-env-ref-name0") +// .resourceEnvRefType("resource-env-ref-type0") +// .mappedName("mapped-name6") +// .createInjectionTarget() +// .injectionTargetClass("injection-target-class5") +// .injectionTargetName("$").up() +// .lookupName("lookup-name5").up() +// .createMessageDestinationRef() +// .description("description10") +// .messageDestinationRefName("message-destination-ref-name0") +// .messageDestinationType("message-destination-type1") +// .messageDestinationUsage("Consumes") +// .messageDestinationLink("message-destination-link1") +// .mappedName("mapped-name7") +// .createInjectionTarget() +// .injectionTargetClass("injection-target-class6") +// .injectionTargetName("$").up() +// .lookupName("lookup-name6").up() +// .createPersistenceContextRef() +// .description("description11") +// .persistenceContextRefName("persistence-context-ref-name0") +// .persistenceUnitName("persistence-unit-name0") +// .persistenceContextType("Transaction") +// .createPersistenceProperty() +// .name("name0") +// .value("value0").up() +// .mappedName("mapped-name8") +// .createInjectionTarget() +// .injectionTargetClass("injection-target-class7") +// .injectionTargetName("$").up().up() +// .createPersistenceUnitRef() +// .description("description12") +// .persistenceUnitRefName("persistence-unit-ref-name0") +// .persistenceUnitName("persistence-unit-name1") +// .mappedName("mapped-name9") +// .createInjectionTarget() +// .injectionTargetClass("injection-target-class8") +// .injectionTargetName("$").up().up() +// .createPostConstruct() +// .lifecycleCallbackClass("lifecycle-callback-class0") +// .lifecycleCallbackMethod("$").up() +// .createPreDestroy() +// .lifecycleCallbackClass("lifecycle-callback-class1") +// .lifecycleCallbackMethod("$").up() +// .createDataSource() +// .description("description13") +// .name("name1") +// .className("class-name0") +// .serverName("server-name0") +// .portNumber(0) +// .databaseName("database-name0") +// .url("jdbc::") +// .user("user0") +// .password("password0") +// .createProperty() +// .name("name2") +// .value("value1").up() +// .loginTimeout(0) +// .transactional(false) +// .isolationLevel("TRANSACTION_READ_UNCOMMITTED") +// .initialPoolSize(0) +// .maxPoolSize(0) +// .minPoolSize(0) +// .maxIdleTime(0) +// .maxStatements(0).up() +// .createSecurityRoleRef() +// .description("description14") +// .roleName("role-name0") +// .roleLink("role-link0").up() +// .getOrCreateSecurityIdentity() +// .description("description15") +// .getOrCreateRunAs() +// .description("description16") +// .roleName("role-name1").up().up().up().up() +// .getOrCreateInterceptors() +// .description("description17") +// .createInterceptor() +// .description("description18") +// .interceptorClass("interceptor-class0") +// .createAroundInvoke() +// .clazz("class2") +// .methodName("$").up() +// .createAroundTimeout() +// .clazz("class3") +// .methodName("$").up() +// .createEnvEntry() +// .description("description19") +// .envEntryName("env-entry-name1") +// .envEntryType("env-entry-type1") +// .envEntryValue("env-entry-value1") +// .mappedName("mapped-name10") +// .createInjectionTarget() +// .injectionTargetClass("injection-target-class9") +// .injectionTargetName("$").up() +// .lookupName("lookup-name7").up() +// .createEjbRef() +// .description("description20") +// .ejbRefName("ejb-ref-name2") +// .ejbRefType("Entity") +// .home("home1") +// .remote("remote1") +// .ejbLink("ejb-link2") +// .mappedName("mapped-name11") +// .createInjectionTarget() +// .injectionTargetClass("injection-target-class10") +// .injectionTargetName("$").up() +// .lookupName("lookup-name8").up() +// .createEjbLocalRef() +// .description("description21") +// .ejbRefName("ejb-ref-name3") +// .ejbRefType("Entity") +// .localHome("local-home1") +// .local("local1") +// .ejbLink("ejb-link3") +// .mappedName("mapped-name12") +// .createInjectionTarget() +// .injectionTargetClass("injection-target-class11") +// .injectionTargetName("$").up() +// .lookupName("lookup-name9").up() +// .createServiceRef() +// .description("description22") +// .displayName("display-name3") +// .createIcon() +// .smallIcon("small-icon3") +// .largeIcon("large-icon3").up() +// .serviceRefName("service-ref-name1") +// .serviceInterface("service-interface1") +// .serviceRefType("service-ref-type1") +// .wsdlFile("http://www.oxygenxml.com/") +// .jaxrpcMappingFile("jaxrpc-mapping-file1") +// .serviceQname("qName") +// .createPortComponentRef() +// .serviceEndpointInterface("service-endpoint-interface1") +// .enableMtom(false) +// .mtomThreshold(50) +// .getOrCreateAddressing() +// .enabled(false) +// .required(false) +// .responses("ANONYMOUS").up() +// .getOrCreateRespectBinding() +// .enabled(false).up() +// .portComponentLink("port-component-link1").up() +// .createHandler() +// .description("description23") +// .displayName("display-name4") +// .createIcon() +// .smallIcon("small-icon1") +// .largeIcon("large-icon1").up() +// .handlerName("handler-name1") +// .handlerClass("handler-class1") +// .createInitParam() +// .paramName("param-name0") +// .paramValue("param-value0").up() +// .soapHeader("qName") +// .soapRole("soap-role0") +// .portName("port-name0").up() +// .mappedName("mapped-name13") +// .createInjectionTarget() +// .injectionTargetClass("injection-target-class12") +// .injectionTargetName("$").up() +// .lookupName("lookup-name10").up() +// .createResourceRef() +// .description("description24") +// .resRefName("res-ref-name1") +// .resType("res-type1") +// .resAuth("Application") +// .resSharingScope("Shareable") +// .mappedName("mapped-name14") +// .createInjectionTarget() +// .injectionTargetClass("injection-target-class13") +// .injectionTargetName("$").up() +// .lookupName("lookup-name11").up() +// .createResourceEnvRef() +// .description("description25") +// .resourceEnvRefName("resource-env-ref-name1") +// .resourceEnvRefType("resource-env-ref-type1") +// .mappedName("mapped-name15") +// .createInjectionTarget() +// .injectionTargetClass("injection-target-class14") +// .injectionTargetName("$").up() +// .lookupName("lookup-name12").up() +// .createMessageDestinationRef() +// .description("description26") +// .messageDestinationRefName("message-destination-ref-name1") +// .messageDestinationType("message-destination-type2") +// .messageDestinationUsage("Consumes") +// .messageDestinationLink("message-destination-link2") +// .mappedName("mapped-name16") +// .createInjectionTarget() +// .injectionTargetClass("injection-target-class15") +// .injectionTargetName("$").up() +// .lookupName("lookup-name13").up() +// .createPersistenceContextRef() +// .description("description27") +// .persistenceContextRefName("persistence-context-ref-name1") +// .persistenceUnitName("persistence-unit-name2") +// .persistenceContextType("Transaction") +// .createPersistenceProperty() +// .name("name3") +// .value("value2").up() +// .mappedName("mapped-name17") +// .createInjectionTarget() +// .injectionTargetClass("injection-target-class16") +// .injectionTargetName("$").up().up() +// .createPersistenceUnitRef() +// .description("description28") +// .persistenceUnitRefName("persistence-unit-ref-name1") +// .persistenceUnitName("persistence-unit-name3") +// .mappedName("mapped-name18") +// .createInjectionTarget() +// .injectionTargetClass("injection-target-class17") +// .injectionTargetName("$").up().up() +// .createPostConstruct() +// .lifecycleCallbackClass("lifecycle-callback-class2") +// .lifecycleCallbackMethod("$").up() +// .createPreDestroy() +// .lifecycleCallbackClass("lifecycle-callback-class3") +// .lifecycleCallbackMethod("$").up() +// .createDataSource() +// .description("description29") +// .name("name4") +// .className("class-name1") +// .serverName("server-name1") +// .portNumber(0) +// .databaseName("database-name1") +// .url("jdbc::") +// .user("user1") +// .password("password1") +// .createProperty() +// .name("name5") +// .value("value3").up() +// .loginTimeout(0) +// .transactional(false) +// .isolationLevel("TRANSACTION_READ_UNCOMMITTED") +// .initialPoolSize(0) +// .maxPoolSize(0) +// .minPoolSize(0) +// .maxIdleTime(0) +// .maxStatements(0).up() +// .createPostActivate() +// .lifecycleCallbackClass("lifecycle-callback-class4") +// .lifecycleCallbackMethod("$").up() +// .createPrePassivate() +// .lifecycleCallbackClass("lifecycle-callback-class5") +// .lifecycleCallbackMethod("$").up() .up().up() +// .getOrCreateRelationships() +// .description("description30") +// .createEjbRelation() +// .description("description31") +// .ejbRelationName("ejb-relation-name0") +// .createEjbRelationshipRole() +// .description("description32") +// .ejbRelationshipRoleName("ejb-relationship-role-name0") +// .multiplicity("One") +// .getOrCreateRelationshipRoleSource() +// .description("description33") +// .ejbName("ejb-name1").up() +// .getOrCreateCmrField() +// .description("description34") +// .cmrFieldName("cmr-field-name0") +// .cmrFieldType("java.util.Collection").up().up() +// .createEjbRelationshipRole() +// .description("description35") +// .ejbRelationshipRoleName("ejb-relationship-role-name1") +// .multiplicity("One") +// .cascadeDelete() +// .getOrCreateRelationshipRoleSource() +// .description("description36") +// .ejbName("ejb-name2").up() +// .getOrCreateCmrField() +// .description("description37") +// .cmrFieldName("cmr-field-name1") +// .cmrFieldType("java.util.Collection").up().up().up().up() +// .getOrCreateAssemblyDescriptor() +// .createSecurityRole() +// .description("description38") +// .roleName("role-name2").up() +// .createMethodPermission() +// .description("description39") +// .unchecked() +// .createMethod() +// .description("description40") +// .ejbName("ejb-name3") +// .methodIntf("Home") +// .methodName("method-name6") +// .getOrCreateMethodParams() +// .methodParam("method-param1").up().up().up() +// .createContainerTransaction() +// .description("description41") +// .createMethod() +// .description("description42") +// .ejbName("ejb-name4") +// .methodIntf("Home") +// .methodName("method-name7") +// .getOrCreateMethodParams() +// .methodParam("method-param2").up().up() +// .transAttribute("NotSupported").up() +// .createInterceptorBinding() +// .description("description43") +// .ejbName("ejb-name5") +// .interceptorClass("interceptor-class1") +// .excludeDefaultInterceptors(false) +// .excludeClassInterceptors(false) +// .getOrCreateMethod() +// .methodName("method-name8") +// .getOrCreateMethodParams() +// .methodParam("method-param3").up().up().up() +// .createMessageDestination() +// .description("description44") +// .displayName("display-name5") +// .createIcon() +// .smallIcon("small-icon4") +// .largeIcon("large-icon4").up() +// .messageDestinationName("message-destination-name0") +// .mappedName("mapped-name19") +// .lookupName("lookup-name14").up() +// .getOrCreateExcludeList() +// .description("description45") +// .createMethod() +// .description("description46") +// .ejbName("ejb-name6") +// .methodIntf("Home") +// .methodName("method-name9") +// .getOrCreateMethodParams() +// .methodParam("method-param4").up().up().up() +// .createApplicationException() +// .exceptionClass("exception-class0") +// .rollback(false) +// .inherited(false).up().up() +// .ejbClientJar("ejb-client-jar0"); + + String webXmlGenerated = ejbJarReader.exportAsString(); + String webXmlOriginal = getResourceContents("src/test/resources/test-gen-ejbjar31.xml"); + + XmlAssert.assertIdentical(webXmlOriginal, webXmlGenerated); + } + + + // -------------------------------------------------------------------------------------|| + // Helper Methods ----------------------------------------------------------------------|| + // -------------------------------------------------------------------------------------|| + + private String getResourceContents(String resource) throws Exception + { + assert resource != null && resource.length() > 0 : "Resource must be specified"; + final BufferedReader reader = new BufferedReader(new FileReader(resource)); + final StringBuilder builder = new StringBuilder(); + String line; + while ((line = reader.readLine()) != null) + { + builder.append(line); + builder.append("\n"); + } + return builder.toString(); + } + + private EjbJarDescriptorReader importFromString(final String str) + { + return Descriptors.importAs(EjbJarDescriptorReader.class).from(str); + } + +} From 44099f250471ed54655775e829d4c22650f16693 Mon Sep 17 00:00:00 2001 From: Andrew Lee Rubinger Date: Mon, 9 Apr 2012 17:01:34 -0700 Subject: [PATCH 2/8] [SHRINKDESC-21] Working version of POC with test coverage --- .../shrinkwrap/descriptor/api/Immutable.java | 32 +++++ .../shrinkwrap/descriptor/api/Mutable.java | 32 +++++ api-javaee-prototype/pom.xml | 30 +++++ .../api/webapp30/WebAppDescriptor.java | 33 +++++ .../api/webapp30/WebAppDescriptorBase.java | 54 ++++++++ .../api/webapp30/WebAppMutableDescriptor.java | 65 +++++++++ .../api/webcommon30/FilterMutableType.java | 77 +++++++++++ .../api/webcommon30/FilterType.java | 31 +++++ .../api/webcommon30/FilterTypeBase.java | 53 ++++++++ ...s.shrinkwrap.descriptor.api.TestDescriptor | 3 + impl-javaee-prototype/pom.xml | 63 +++++++++ .../impl/webapp30/WebAppDescriptorImpl.java | 65 +++++++++ .../webapp30/WebAppDescriptorImplBase.java | 94 +++++++++++++ .../webapp30/WebAppMutableDescriptorImpl.java | 109 +++++++++++++++ .../impl/webcommon30/FilterTypeImpl.java | 41 ++++++ .../impl/webcommon30/FilterTypeImplBase.java | 87 ++++++++++++ .../webcommon30/FilterTypeMutableImpl.java | 124 +++++++++++++++++ ...p.descriptor.api.webapp30.WebAppDescriptor | 3 + ...iptor.api.webapp30.WebAppMutableDescriptor | 3 + .../common/DescriptorNameTestDelegate.java | 71 ++++++++++ .../webapp30/WebAppDescriptorTestCase.java | 105 +++++++++++++++ .../WebAppMutableDescriptorTestCase.java | 111 ++++++++++++++++ .../FilterMutableTypeTestCase.java | 125 ++++++++++++++++++ .../impl/webcommon30/FilterTypeTestCase.java | 55 ++++++++ pom.xml | 2 + .../descriptor/spi/node/NodeDescriptor.java | 14 +- .../descriptor/spi/node/NodeModel.java | 31 +++++ 27 files changed, 1502 insertions(+), 11 deletions(-) create mode 100644 api-base/src/main/java/org/jboss/shrinkwrap/descriptor/api/Immutable.java create mode 100644 api-base/src/main/java/org/jboss/shrinkwrap/descriptor/api/Mutable.java create mode 100644 api-javaee-prototype/pom.xml create mode 100644 api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webapp30/WebAppDescriptor.java create mode 100644 api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webapp30/WebAppDescriptorBase.java create mode 100644 api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webapp30/WebAppMutableDescriptor.java create mode 100644 api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webcommon30/FilterMutableType.java create mode 100644 api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webcommon30/FilterType.java create mode 100644 api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webcommon30/FilterTypeBase.java create mode 100644 impl-base/src/test/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.TestDescriptor create mode 100644 impl-javaee-prototype/pom.xml create mode 100644 impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppDescriptorImpl.java create mode 100644 impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppDescriptorImplBase.java create mode 100644 impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppMutableDescriptorImpl.java create mode 100644 impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webcommon30/FilterTypeImpl.java create mode 100644 impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webcommon30/FilterTypeImplBase.java create mode 100644 impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webcommon30/FilterTypeMutableImpl.java create mode 100644 impl-javaee-prototype/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor create mode 100644 impl-javaee-prototype/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppMutableDescriptor create mode 100644 impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/common/DescriptorNameTestDelegate.java create mode 100644 impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppDescriptorTestCase.java create mode 100644 impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppMutableDescriptorTestCase.java create mode 100644 impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/webcommon30/FilterMutableTypeTestCase.java create mode 100644 impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/webcommon30/FilterTypeTestCase.java create mode 100644 spi/src/main/java/org/jboss/shrinkwrap/descriptor/spi/node/NodeModel.java diff --git a/api-base/src/main/java/org/jboss/shrinkwrap/descriptor/api/Immutable.java b/api-base/src/main/java/org/jboss/shrinkwrap/descriptor/api/Immutable.java new file mode 100644 index 00000000..b57c40b0 --- /dev/null +++ b/api-base/src/main/java/org/jboss/shrinkwrap/descriptor/api/Immutable.java @@ -0,0 +1,32 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.api; + +/** + * A read-only view which supports conversion to a {@link Mutable} view. + * + * @author Andrew Lee Rubinger + */ +public interface Immutable, IMMUTABLEVIEW extends Immutable> { + + /** + * Returns the mutable view of this object. + * + * @return + */ + MUTABLEVIEW toMutable(); +} diff --git a/api-base/src/main/java/org/jboss/shrinkwrap/descriptor/api/Mutable.java b/api-base/src/main/java/org/jboss/shrinkwrap/descriptor/api/Mutable.java new file mode 100644 index 00000000..50859fdd --- /dev/null +++ b/api-base/src/main/java/org/jboss/shrinkwrap/descriptor/api/Mutable.java @@ -0,0 +1,32 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.api; + +/** + * A mutable view which supports converstion to a read-only {@link Immutable} view. + * + * @author Andrew Lee Rubinger + */ +public interface Mutable, MUTABLEVIEW extends Mutable> { + + /** + * Returns the immutable view of this object. + * + * @return + */ + IMMUTABLEVIEW toImmutable(); +} \ No newline at end of file diff --git a/api-javaee-prototype/pom.xml b/api-javaee-prototype/pom.xml new file mode 100644 index 00000000..298d2dde --- /dev/null +++ b/api-javaee-prototype/pom.xml @@ -0,0 +1,30 @@ + + + + + + org.jboss.shrinkwrap.descriptors + shrinkwrap-descriptors-parent + 2.0.0-alpha-3-SNAPSHOT + ../pom.xml + + + + 4.0.0 + + + shrinkwrap-descriptors-api-javaee-prototype + ShrinkWrap Descriptors Prototype Java EE API + Client View of the ShrinkWrap Descriptors Project + + + + + org.jboss.shrinkwrap.descriptors + shrinkwrap-descriptors-api-base + ${project.version} + + + + + diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webapp30/WebAppDescriptor.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webapp30/WebAppDescriptor.java new file mode 100644 index 00000000..b8e1fac3 --- /dev/null +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webapp30/WebAppDescriptor.java @@ -0,0 +1,33 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.api.webapp30; + +import org.jboss.shrinkwrap.descriptor.api.Immutable; +import org.jboss.shrinkwrap.descriptor.api.webcommon30.FilterType; + +/** + * Read-only view of a web application deployment descriptor (ie. web.xml). + * + * @author Andrew Lee Rubinger + */ +/* + * TODO: This is for use by end-users, and correctly closes the generic context + */ +public interface WebAppDescriptor extends WebAppDescriptorBase, + Immutable { + +} diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webapp30/WebAppDescriptorBase.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webapp30/WebAppDescriptorBase.java new file mode 100644 index 00000000..84b6dee4 --- /dev/null +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webapp30/WebAppDescriptorBase.java @@ -0,0 +1,54 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.api.webapp30; + +import java.util.List; + +import org.jboss.shrinkwrap.descriptor.api.Descriptor; +import org.jboss.shrinkwrap.descriptor.api.webcommon30.FilterTypeBase; + +/** + * Base support for read-only views of the "web-app" element. Not intended for direct use by users; instead use + * {@link WebAppDescriptor}. + * + * @author Andrew Lee Rubinger + * @param + * The return type representing filterelements + */ +/* + * TODO: Each element type will need a generic param, which admittedly will make this declaration really verbose. + */ +public interface WebAppDescriptorBase, WEBAPPDESCRIPTORTYPE extends WebAppDescriptorBase> + extends Descriptor { + + /** + * Returns a copied view of all filter elements, such that changes to the returned {@link List} will + * have no impact on this object. + * + * @return list of filter + */ + /* + * TODO: Must return a copied view, note changed documentation above to reflect this. + */ + List getAllFilter(); + + /* + * TODO: We need to account for removing a single Filter. To do this, FILTERTYPE should support .equals and + * .hashCode implementations such that one may be removed + */ + +} diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webapp30/WebAppMutableDescriptor.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webapp30/WebAppMutableDescriptor.java new file mode 100644 index 00000000..507ea488 --- /dev/null +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webapp30/WebAppMutableDescriptor.java @@ -0,0 +1,65 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.api.webapp30; + +import org.jboss.shrinkwrap.descriptor.api.Mutable; +import org.jboss.shrinkwrap.descriptor.api.webcommon30.FilterMutableType; + +/** + * Mutable view of a web application deployment descriptor (ie. web.xml). + * + * @author Andrew Lee Rubinger + */ +/* + * TODO: This is for use by end-users, and correctly closes the generic context + */ +public interface WebAppMutableDescriptor extends WebAppDescriptorBase, + Mutable { + + /* + * TODO: Methods below this line copied / modified from existing WebAppDescriptor + */ + + /** + * If not already created, a new filter element will be created and returned. Otherwise, the first + * existing filter element will be returned. + * + * @return the instance defined for the element filter + */ + public FilterMutableType getOrCreateFilter(); + + /** + * Creates a new filter element + * + * @return the new created instance of FilterType + */ + /* + * TODO: Note error in @return documentation above, to be fixed TODO: Return FILTERTYPE + */ + public FilterMutableType createFilter(); + + /** + * Removes all filter elements + * + * @return the current instance of FilterType + */ + /* + * TODO: Note error in @return documentation above, to be fixed TODO: Return FILTERTYPE TODO: API Naming, should be + * "removeAllFilterElements?" To be discussed. + */ + public WebAppMutableDescriptor removeAllFilter(); +} diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webcommon30/FilterMutableType.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webcommon30/FilterMutableType.java new file mode 100644 index 00000000..2d052f4e --- /dev/null +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webcommon30/FilterMutableType.java @@ -0,0 +1,77 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.api.webcommon30; + +import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppMutableDescriptor; + +/** + * End-user view of a "web-app/filter" element which is mutable. + * + * @author Andrew Lee Rubinger + */ +/* + * TODO: Note how we close the generic context in the type declaration + */ +public interface FilterMutableType extends FilterTypeBase { + + /* + * TODO: This method ADDED as part of prototyping + */ + + /** + * Removes the description element with the specified value. If the specified value is not a current + * description, this call will be a no-op. + * + * @param value + * @return This instance + * @throws IllegalArgumentException + * If the value is not specified + */ + FilterMutableType removeDescription(String value) throws IllegalArgumentException; + + /* + * TODO: Methods below this line ported from existing impl, with changes as noted. + */ + + // TODO: Update documentation to explain we're removing *all* X elements. + /** + * Removes the description element + * + * @return the current instance of FilterType + */ + /* + * TODO: Changed return type TODO: API Naming: would it work to make this: "removeAll[X]Elements" ie. + * "removeAllDescriptionElements"? + */ + public FilterMutableType removeAllDescription(); + + /** + * Creates for all String objects representing description elements, a new description + * element + * + * @param values + * list of description objects + * @return the current instance of FilterType + * @throws IllegalArgumentException + * If no values are specified or if any specified value is blank or null + */ + /* + * TODO: Changed return type to TRUETYPE TODO: Added throws clause and its JavaDoc TODO: Implementation will need to + * perform precondition check to validate throws clause + */ + public FilterMutableType description(String... values) throws IllegalArgumentException; +} diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webcommon30/FilterType.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webcommon30/FilterType.java new file mode 100644 index 00000000..0d4ce3b3 --- /dev/null +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webcommon30/FilterType.java @@ -0,0 +1,31 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.api.webcommon30; + +import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor; + +/** + * End-user read-only view of the "web-app/filter" element + * + * @author Andrew Lee Rubinger + */ +/* + * TODO: Note how we close the generic context in the type declaration + */ +public interface FilterType extends FilterTypeBase { + +} diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webcommon30/FilterTypeBase.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webcommon30/FilterTypeBase.java new file mode 100644 index 00000000..9fd80b89 --- /dev/null +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webcommon30/FilterTypeBase.java @@ -0,0 +1,53 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.api.webcommon30; + +import java.util.List; + +import org.jboss.shrinkwrap.descriptor.api.Child; + +/** + * Base support for read-only views of the "web-app/filter" element. Not intended for direct use by users; instead use + * {@link FilterType}. + * + * @author Andrew Lee Rubinger + * @param + * The true type to be returned for this references (covarient return) + * @param + * The type of this element's parent + */ +/* + * TODO: Note changed interface signature to accommodate covarient return TODO: Note additional documentation above for + * generic types + */ +public interface FilterTypeBase, PARENTTYPE> extends + Child { + + /* + * TODO: + * + * This method is always to return a *copied* view, as noted in the changed description in the API JavaDoc below. + */ + + /** + * Returns a copied view of all description elements, such that changes to the returned {@link List} + * will have no impact on this object. + * + * @return list of description + */ + public List getAllDescription(); +} diff --git a/impl-base/src/test/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.TestDescriptor b/impl-base/src/test/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.TestDescriptor new file mode 100644 index 00000000..ddcbe028 --- /dev/null +++ b/impl-base/src/test/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.TestDescriptor @@ -0,0 +1,3 @@ +implClass=org.jboss.shrinkwrap.descriptor.api.TestDescriptorImpl +importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl +defaultName=test.xml \ No newline at end of file diff --git a/impl-javaee-prototype/pom.xml b/impl-javaee-prototype/pom.xml new file mode 100644 index 00000000..24af3e75 --- /dev/null +++ b/impl-javaee-prototype/pom.xml @@ -0,0 +1,63 @@ + + + + + + org.jboss.shrinkwrap.descriptors + shrinkwrap-descriptors-parent + 2.0.0-alpha-3-SNAPSHOT + ../pom.xml + + + + 4.0.0 + + + shrinkwrap-descriptors-impl-javaee-prototype + ShrinkWrap Descriptors Prototype Java EE Impl + Prototype Implementation of the ShrinkWrap Descriptors Project + + + + + org.jboss.shrinkwrap.descriptors + shrinkwrap-descriptors-api-javaee-prototype + ${project.version} + + + org.jboss.shrinkwrap.descriptors + shrinkwrap-descriptors-impl-base + ${project.version} + + + org.jboss.shrinkwrap.descriptors + shrinkwrap-descriptors-impl-base + ${project.version} + test-jar + test + + + + junit + junit + test + + + + + + + + + maven-surefire-plugin + + + ${env.JAVA5_HOME}/bin/java + + once + + + + + diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppDescriptorImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppDescriptorImpl.java new file mode 100644 index 00000000..7e40cb10 --- /dev/null +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppDescriptorImpl.java @@ -0,0 +1,65 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.impl.webapp30; + +import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor; +import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppMutableDescriptor; +import org.jboss.shrinkwrap.descriptor.api.webcommon30.FilterType; +import org.jboss.shrinkwrap.descriptor.impl.webcommon30.FilterTypeImpl; +import org.jboss.shrinkwrap.descriptor.spi.node.Node; + +/** + * Concrete implementation of {@link WebAppDescriptor} + * + * @author Andrew Lee Rubinger + */ +public final class WebAppDescriptorImpl extends WebAppDescriptorImplBase implements + WebAppDescriptor { + + public WebAppDescriptorImpl(final String descriptorName) { + super(descriptorName); + } + + /* + * TODO: This ctor: package-private + */ + WebAppDescriptorImpl(final String descriptorName, final Node model) { + super(descriptorName, model); + } + + /** + * {@inheritDoc} + * + * @see org.jboss.shrinkwrap.descriptor.impl.webapp30.WebAppDescriptorImplBase#createNewFilterViewForModel(org.jboss.shrinkwrap.descriptor.spi.node.Node) + */ + @Override + FilterType createNewFilterViewForModel(final Node filterModel) { + assert filterModel != null : "filter model must be specified"; + return new FilterTypeImpl(this, filterModel); + } + + /** + * {@inheritDoc} + * + * @see org.jboss.shrinkwrap.descriptor.api.Immutable#toMutable() + */ + @Override + public WebAppMutableDescriptor toMutable() { + return new WebAppMutableDescriptorImpl(this.getDescriptorName(), this.getRootNode()); + } + +} diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppDescriptorImplBase.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppDescriptorImplBase.java new file mode 100644 index 00000000..008b378f --- /dev/null +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppDescriptorImplBase.java @@ -0,0 +1,94 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.impl.webapp30; + +import java.util.ArrayList; +import java.util.List; + +import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor; +import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptorBase; +import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppMutableDescriptor; +import org.jboss.shrinkwrap.descriptor.api.webcommon30.FilterTypeBase; +import org.jboss.shrinkwrap.descriptor.spi.node.Node; +import org.jboss.shrinkwrap.descriptor.spi.node.NodeDescriptorImplBase; + +/** + * Base support for building implementations of {@link WebAppDescriptor} and {@link WebAppMutableDescriptor} + * + * @author Andrew Lee Rubinger + */ +abstract class WebAppDescriptorImplBase, WEBAPPDESCRIPTORTYPE extends WebAppDescriptorBase> + extends NodeDescriptorImplBase implements WebAppDescriptorBase { + + /** + * Backing model for this view + */ + private Node model; + + public WebAppDescriptorImplBase(final String descriptorName) { + this(descriptorName, new Node("web-app")); + } + + public WebAppDescriptorImplBase(final String descriptorName, final Node model) { + super(descriptorName); + this.model = model; + // Add default namespaces + this.model + .attribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance") + .attribute("xsi:schemaLocation", + "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd") + .attribute("xmlns", "http://java.sun.com/xml/ns/javaee"); + } + + /** + * {@inheritDoc} + * + * @see org.jboss.shrinkwrap.descriptor.spi.node.NodeDescriptor#getRootNode() + */ + @Override + public Node getRootNode() { + return this.model; + } + + /** + * {@inheritDoc} + * + * @see org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptorBase#getAllFilter() + */ + // TODO Update doc to the above + // TODO Add @Override + @Override + public List getAllFilter() { + + final List list = new ArrayList(); + final List nodeList = model.get("filter"); + for (final Node node : nodeList) { + final FILTERTYPE filter = this.createNewFilterViewForModel(node); + list.add(filter); + } + + return list; + } + + /** + * Creates and returns a typesafe view of the FILTERTYPE + * + * @param filterModel + * @return + */ + abstract FILTERTYPE createNewFilterViewForModel(final Node filterModel); +} diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppMutableDescriptorImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppMutableDescriptorImpl.java new file mode 100644 index 00000000..e8f8e03f --- /dev/null +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppMutableDescriptorImpl.java @@ -0,0 +1,109 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.impl.webapp30; + +import java.util.List; + +import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor; +import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppMutableDescriptor; +import org.jboss.shrinkwrap.descriptor.api.webcommon30.FilterMutableType; +import org.jboss.shrinkwrap.descriptor.impl.webcommon30.FilterTypeMutableImpl; +import org.jboss.shrinkwrap.descriptor.spi.node.Node; + +/** + * Concrete implementation of {@link WebAppMutableDescriptor} + * + * @author Andrew Lee Rubinger + */ +public final class WebAppMutableDescriptorImpl extends + WebAppDescriptorImplBase implements WebAppMutableDescriptor { + + public WebAppMutableDescriptorImpl(final String descriptorName) { + super(descriptorName); + } + + /* + * TODO: This ctor: package-private + */ + WebAppMutableDescriptorImpl(final String descriptorName, final Node model) { + super(descriptorName, model); + } + + /** + * {@inheritDoc} + * + * @see org.jboss.shrinkwrap.descriptor.impl.webapp30.WebAppDescriptorImplBase#createNewFilterViewForModel(org.jboss.shrinkwrap.descriptor.spi.node.Node) + */ + @Override + FilterMutableType createNewFilterViewForModel(final Node filterModel) { + assert filterModel != null : "filter model must be specified"; + return new FilterTypeMutableImpl(this, filterModel); + } + + /** + * {@inheritDoc} + * + * @see org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppMutableDescriptorBase#getOrCreateFilter() + */ + // TODO Update doc to the above + // TODO Add @Override + @Override + public FilterMutableType getOrCreateFilter() { + final List nodeList = this.getRootNode().get("filter"); + if (nodeList.size() > 0) { + return createNewFilterViewForModel(nodeList.get(0)); + } + return createFilter(); + } + + /** + * {@inheritDoc} + * + * @see org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppMutableDescriptorBase#createFilter() + */ + // TODO Update doc to the above + // TODO Add @Override + @Override + public FilterMutableType createFilter() { + final Node filter = this.getRootNode().createChild("filter"); + return this.createNewFilterViewForModel(filter); + } + + /** + * {@inheritDoc} + * + * @see org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppMutableDescriptorBase#removeAllFilter() + */ + // TODO Update doc to the above + // TODO Add @Override + @Override + public WebAppMutableDescriptor removeAllFilter() { + this.getRootNode().removeChildren("filter"); + return this; + } + + /** + * {@inheritDoc} + * + * @see org.jboss.shrinkwrap.descriptor.api.Mutable#toImmutable() + */ + @Override + public WebAppDescriptor toImmutable() { + return new WebAppDescriptorImpl(this.getDescriptorName(), this.getRootNode()); + } + +} diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webcommon30/FilterTypeImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webcommon30/FilterTypeImpl.java new file mode 100644 index 00000000..958b68a5 --- /dev/null +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webcommon30/FilterTypeImpl.java @@ -0,0 +1,41 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.impl.webcommon30; + +import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor; +import org.jboss.shrinkwrap.descriptor.api.webcommon30.FilterType; +import org.jboss.shrinkwrap.descriptor.spi.node.Node; + +/** + * Concrete implementation of {@link FilterType} + * + * @author Andrew Lee Rubinger + */ +public final class FilterTypeImpl extends FilterTypeImplBase implements FilterType { + + /** + * Create a new instance with the specified parent and using the specified model + * + * @param parent + * @param model + * @throws IllegalArgumentException + * If either the parent of model is not specified + */ + public FilterTypeImpl(final WebAppDescriptor parent, final Node model) throws IllegalArgumentException { + super(parent, model); + } +} diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webcommon30/FilterTypeImplBase.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webcommon30/FilterTypeImplBase.java new file mode 100644 index 00000000..4e7fbb15 --- /dev/null +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webcommon30/FilterTypeImplBase.java @@ -0,0 +1,87 @@ +package org.jboss.shrinkwrap.descriptor.impl.webcommon30; + +import java.util.ArrayList; +import java.util.List; + +import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptorBase; +import org.jboss.shrinkwrap.descriptor.api.webcommon30.FilterMutableType; +import org.jboss.shrinkwrap.descriptor.api.webcommon30.FilterType; +import org.jboss.shrinkwrap.descriptor.api.webcommon30.FilterTypeBase; +import org.jboss.shrinkwrap.descriptor.spi.node.Node; +import org.jboss.shrinkwrap.descriptor.spi.node.NodeModel; + +/** + * Base support for building implementations of {@link FilterType} and {@link FilterMutableType}. + * + * @author Andrew Lee Rubinger + * @author Ralf Battenfeld + */ +abstract class FilterTypeImplBase, WEBAPPDESCRIPTORTYPE extends WebAppDescriptorBase> + implements FilterTypeBase, NodeModel { + + private WEBAPPDESCRIPTORTYPE parent; + private Node model; + + /** + * Creates a new instance using the specified parent and the specified backing {@link Node} model + * + * @param parent + * @param model + * @throws IllegalArgumentException + * If either the parent or model is not specified + */ + FilterTypeImplBase(final WEBAPPDESCRIPTORTYPE parent, final Node model) throws IllegalArgumentException { + if (parent == null) { + throw new IllegalArgumentException("parent must be specified"); + } + if (model == null) { + throw new IllegalArgumentException("model must be specified"); + } + this.parent = parent; + this.model = model; + } + + // TODO Add @Override + // TODO Use the below JavaDoc + /** + * {@inheritDoc} + * + * @see org.jboss.shrinkwrap.descriptor.api.Child#up() + */ + @Override + public final WEBAPPDESCRIPTORTYPE up() { + return parent; + } + + /** + * Returns all description elements + * + * @return list of description + */ + // TODO Update documentation to the following: + /** + * {@inheritDoc} + * + * @see org.jboss.shrinkwrap.descriptor.api.webcommon30.FilterTypeBase#getAllDescription() + */ + // TODO Add @Override + @Override + public List getAllDescription() { + final List result = new ArrayList(); + final List nodes = this.getRootNode().get("description"); + for (final Node node : nodes) { + result.add(node.getText()); + } + return result; + } + + /** + * {@inheritDoc} + * + * @see org.jboss.shrinkwrap.descriptor.spi.node.NodeModel#getRootNode() + */ + @Override + public Node getRootNode() { + return this.model; + } +} diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webcommon30/FilterTypeMutableImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webcommon30/FilterTypeMutableImpl.java new file mode 100644 index 00000000..6f9d54c4 --- /dev/null +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webcommon30/FilterTypeMutableImpl.java @@ -0,0 +1,124 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.impl.webcommon30; + +import java.util.List; + +import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppMutableDescriptor; +import org.jboss.shrinkwrap.descriptor.api.webcommon30.FilterMutableType; +import org.jboss.shrinkwrap.descriptor.spi.node.Node; + +/** + * Concrete implementation of {@link FilterMutableType} + * + * @author Andrew Lee Rubinger + */ +public final class FilterTypeMutableImpl extends FilterTypeImplBase + implements FilterMutableType { + + /** + * Create a new instance with the specified parent and using the specified model + * + * @param parent + * @param model + * @throws IllegalArgumentException + * If either the parent of model is not specified + */ + public FilterTypeMutableImpl(final WebAppMutableDescriptor parent, final Node model) + throws IllegalArgumentException { + super(parent, model); + } + + /** + * Creates for all String objects representing description elements, a new description + * element + * + * @param values + * list of description objects + * @return the current instance of FilterType + */ + // TODO: Update documentation to the following: + /** + * {@inheritDoc} + * + * @see org.jboss.shrinkwrap.descriptor.api.webcommon30.FilterMutableType#description(java.lang.String[]) + */ + // TODO Add @Override + @Override + // TODO Accept final values + // TODO put explicit IllegalArgumentException in throws clause (just to be clear) + public FilterMutableType description(final String... values) throws IllegalArgumentException { + // TODO Added precondition checks per the docs + for (final String name : values) { + if (name == null || name.length() == 0) { + throw new IllegalArgumentException("no value for description may be null or blank"); + } + this.getRootNode().createChild("description").text(name); + } + return this; + } + + /** + * Removes the description element + * + * @return the current instance of FilterType + */ + // TODO Update documentation to the following: + /** + * {@inheritDoc} + * + * @see org.jboss.shrinkwrap.descriptor.api.webcommon30.FilterMutableTypeBase#removeAllDescription() + */ + // TODO Add @Override + @Override + public FilterMutableType removeAllDescription() { + this.getRootNode().removeChildren("description"); + return this; + } + + // TODO This method is new, added as part of prototyping + /** + * {@inheritDoc} + * + * @see org.jboss.shrinkwrap.descriptor.api.webcommon30.FilterMutableTypeBase#removeDescription(java.lang.String) + */ + @Override + public FilterMutableType removeDescription(final String value) throws IllegalArgumentException { + // Precondition checks + if (value == null || value.length() == 0) { + throw new IllegalArgumentException("value must be specified"); + } + + // Get all "description" elements + final List descriptions = this.getRootNode().get("description"); + if (descriptions != null) { + // For each description + for (final Node description : descriptions) { + // If matches + if (description.getText().equals(value)) { + // Remove + description.getParent().removeChild(description); + System.out.println(description); + } + } + } + + // Return + return this; + } + +} diff --git a/impl-javaee-prototype/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor b/impl-javaee-prototype/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor new file mode 100644 index 00000000..fdff5f16 --- /dev/null +++ b/impl-javaee-prototype/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor @@ -0,0 +1,3 @@ +implClass=org.jboss.shrinkwrap.descriptor.impl.webapp30.WebAppDescriptorImpl +importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl +defaultName=web.xml \ No newline at end of file diff --git a/impl-javaee-prototype/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppMutableDescriptor b/impl-javaee-prototype/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppMutableDescriptor new file mode 100644 index 00000000..a35049e7 --- /dev/null +++ b/impl-javaee-prototype/src/main/resources/META-INF/services/org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppMutableDescriptor @@ -0,0 +1,3 @@ +implClass=org.jboss.shrinkwrap.descriptor.impl.webapp30.WebAppMutableDescriptorImpl +importerClass=org.jboss.shrinkwrap.descriptor.spi.node.dom.XmlDomNodeDescriptorImporterImpl +defaultName=web.xml \ No newline at end of file diff --git a/impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/common/DescriptorNameTestDelegate.java b/impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/common/DescriptorNameTestDelegate.java new file mode 100644 index 00000000..e795fd1e --- /dev/null +++ b/impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/common/DescriptorNameTestDelegate.java @@ -0,0 +1,71 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.impl.common; + +import junit.framework.Assert; + +import org.jboss.shrinkwrap.descriptor.api.Descriptor; +import org.jboss.shrinkwrap.descriptor.api.Descriptors; + +/** + * Centralizes name-based assertions for {@link Descriptor} tests + * + * @author Andrew Lee Rubinger + */ +public class DescriptorNameTestDelegate { + + /** + * Ensures that a newly-created {@link Descriptor} of the specified type defaults to the specified name + * + * @param descriptorType + * @param expectedDefaultName + * @throws IllegalArgumentException + * If either argument is not provided + */ + public void assertDefaultName(final Class descriptorType, final String expectedDefaultName) + throws IllegalArgumentException { + if (descriptorType == null) { + throw new IllegalArgumentException("descriptor type must be specified"); + } + if (expectedDefaultName == null || expectedDefaultName.length() == 0) { + throw new IllegalArgumentException("expected default name must be specified"); + } + final Descriptor descriptor = Descriptors.create(descriptorType); + Assert.assertEquals("Default name was not as expected", expectedDefaultName, descriptor.getDescriptorName()); + } + + /** + * Ensures that a newly-created {@link Descriptor} of the specified type is assigned the specified name + * + * @param descriptorType + * @param explicitName + * @throws IllegalArgumentException + * If either argument is not provided + */ + public void assertExplicitName(final Class descriptorType, final String explicitName) + throws IllegalArgumentException { + if (descriptorType == null) { + throw new IllegalArgumentException("descriptor type must be specified"); + } + if (explicitName == null || explicitName.length() == 0) { + throw new IllegalArgumentException("explicit name must be specified"); + } + final Descriptor descriptor = Descriptors.create(descriptorType, explicitName); + Assert.assertEquals("Explicit name was not assigned as expected", explicitName, descriptor.getDescriptorName()); + } + +} diff --git a/impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppDescriptorTestCase.java b/impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppDescriptorTestCase.java new file mode 100644 index 00000000..6279e796 --- /dev/null +++ b/impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppDescriptorTestCase.java @@ -0,0 +1,105 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.impl.webapp30; + +import java.util.List; + +import org.jboss.shrinkwrap.descriptor.api.Descriptors; +import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor; +import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppMutableDescriptor; +import org.jboss.shrinkwrap.descriptor.api.webcommon30.FilterType; +import org.jboss.shrinkwrap.descriptor.impl.common.DescriptorNameTestDelegate; +import org.junit.Assert; +import org.junit.Test; + +/** + * Test cases asserting the validity of {@link WebAppDescriptor} operations + * + * @author Andrew Lee Rubinger + */ +public class WebAppDescriptorTestCase { + + /** + * Ensures that adding a {@link FilterType} to the {@link List} returned from the read-only view of + * {@link WebAppDescriptor} does not affect the descriptor's model. + */ + @Test + public void addFilterToCopiedListDoesNotAffectDescriptor() { + // Make a new descriptor + final WebAppDescriptor descriptor = Descriptors.create(WebAppDescriptor.class); + + // Get the filters and ensure empty to start + final List filters = descriptor.getAllFilter(); + Assert.assertTrue("filters should be empty to start", filters.size() == 0); + + // Add manually to the returned list + filters.add(new FilterType() { + @Override + public WebAppDescriptor up() { + return null; + } + + @Override + public List getAllDescription() { + return null; + } + }); + + // Ensure that the filters in the descriptor are still empty even + // though we added to the reference returned from the descriptor + Assert.assertTrue("filters in the descriptor should be empty", descriptor.getAllFilter().size() == 0); + } + + /** + * Ensures that an explicit name may be assigned to {@link WebAppDescriptor} + */ + @Test + public void explicitName() { + new DescriptorNameTestDelegate().assertExplicitName(WebAppDescriptor.class, "alrWeb.xml"); + } + + /** + * Ensures that the correct default name is assigned for {@link WebAppDescriptor} + */ + @Test + public void defaultName() { + new DescriptorNameTestDelegate().assertDefaultName(WebAppDescriptor.class, "web.xml"); + } + + /** + * Ensures that the read-only view may be converted to a mutable view, support adding data, conversion back to a + * read-only view, and keep the data model intact. + */ + @Test + public void mutableRoundtrip() { + // Make a new descriptor + final WebAppDescriptor readonly = Descriptors.create(WebAppDescriptor.class); + + // Get a mutable view + final WebAppMutableDescriptor mutable = readonly.toMutable(); + + // Add a filter with two descriptions + Assert.assertEquals(2, mutable.getOrCreateFilter().description("one", "two").getAllDescription().size()); + + // Roundtrip to immutable + final WebAppDescriptor roundtrip = mutable.toImmutable(); + + // Ensure the roundtrip still has a filter w/ two descriptions + Assert.assertEquals(2, roundtrip.getAllFilter().get(0).getAllDescription().size()); + } + +} diff --git a/impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppMutableDescriptorTestCase.java b/impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppMutableDescriptorTestCase.java new file mode 100644 index 00000000..9ce6ae40 --- /dev/null +++ b/impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppMutableDescriptorTestCase.java @@ -0,0 +1,111 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.impl.webapp30; + +import org.jboss.shrinkwrap.descriptor.api.Descriptors; +import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppMutableDescriptor; +import org.jboss.shrinkwrap.descriptor.api.webcommon30.FilterMutableType; +import org.jboss.shrinkwrap.descriptor.impl.common.DescriptorNameTestDelegate; +import org.junit.Assert; +import org.junit.Test; + +/** + * Test cases asserting the validity of {@link WebAppMutableDescriptor} operations + * + * @author Andrew Lee Rubinger + */ +public class WebAppMutableDescriptorTestCase { + + /** + * Ensures that an explicit name may be assigned to {@link WebAppMutableDescriptor} + */ + @Test + public void explicitName() { + new DescriptorNameTestDelegate().assertExplicitName(WebAppMutableDescriptor.class, "alrWeb.xml"); + } + + /** + * Ensures that the correct default name is assigned for {@link WebAppMutableDescriptor} + */ + @Test + public void defaultName() { + new DescriptorNameTestDelegate().assertDefaultName(WebAppMutableDescriptor.class, "web.xml"); + } + + /** + * Ensures that the mutable view may be converted to a read-only view, converted back to a mutable view, and keep + * the data model intact. + */ + @Test + public void immutableRoundtrip() { + // Make a new descriptor + final WebAppMutableDescriptor mutable = Descriptors.create(WebAppMutableDescriptor.class); + + // Add a filter with two descriptions + Assert.assertEquals(2, mutable.getOrCreateFilter().description("one", "two").getAllDescription().size()); + + // Roundtrip to mutable + final WebAppMutableDescriptor roundtrip = mutable.toImmutable().toMutable(); + + // Ensure the roundtrip still has a filter w/ two descriptions + Assert.assertEquals(2, roundtrip.getAllFilter().get(0).getAllDescription().size()); + } + + /** + * Ensures that {@link WebAppMutableDescriptor#getOrCreateFilter()}, when invoked, creates a + * {@link FilterMutableType} first if no filters exist, and returns a {@link FilterMutableType} for the + * previously-created model if it's already been created. + */ + @Test + public void getOrCreateFilter() { + // Make a new descriptor + final WebAppMutableDescriptor descriptor = Descriptors.create(WebAppMutableDescriptor.class); + + // Ensure no filters + Assert.assertEquals(0, descriptor.getAllFilter().size()); + + // Create a filter with some descriptions + descriptor.getOrCreateFilter().description("one", "two", "three"); + + // Get a new filter view + final FilterMutableType secondFilterView = descriptor.getOrCreateFilter(); + + // Ensure the new view returns the same model that's been created before + Assert.assertEquals(1, descriptor.getAllFilter().size()); + Assert.assertEquals(3, secondFilterView.getAllDescription().size()); + } + + /** + * Ensures that a call to {@link WebAppMutableDescriptor#removeAllFilter()} removes all current filter elements + */ + @Test + public void removeAllFilter() { + // Make a new descriptor with 3 filters + final WebAppMutableDescriptor descriptor = Descriptors.create(WebAppMutableDescriptor.class).createFilter() + .up().createFilter().up().createFilter().up(); + + // Ensure 3 filters + Assert.assertEquals(3, descriptor.getAllFilter().size()); + + // Remove all filters + descriptor.removeAllFilter(); + + // Ensure no filters + Assert.assertEquals(0, descriptor.getAllFilter().size()); + } + +} diff --git a/impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/webcommon30/FilterMutableTypeTestCase.java b/impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/webcommon30/FilterMutableTypeTestCase.java new file mode 100644 index 00000000..280a837a --- /dev/null +++ b/impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/webcommon30/FilterMutableTypeTestCase.java @@ -0,0 +1,125 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.impl.webcommon30; + +import java.util.List; + +import org.jboss.shrinkwrap.descriptor.api.Descriptors; +import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppMutableDescriptor; +import org.jboss.shrinkwrap.descriptor.api.webcommon30.FilterMutableType; +import org.junit.Assert; +import org.junit.Test; + +/** + * Test cases asserting the validity of {@link FilterMutableType} operations + * + * @author Andrew Lee Rubinger + */ +public class FilterMutableTypeTestCase { + + /** + * Ensures that {@link FilterMutableType#description(String...)} rejects null input + */ + @Test(expected = IllegalArgumentException.class) + public void descriptionRejectsNullInput() { + Descriptors.create(WebAppMutableDescriptor.class).getOrCreateFilter().description((String) null); + } + + /** + * Ensures that {@link FilterMutableType#description(String...)} rejects null input even in presence of valid vararg + * preceding it + */ + @Test(expected = IllegalArgumentException.class) + public void descriptionRequiresAllParamsToNotBeNull() { + Descriptors.create(WebAppMutableDescriptor.class).getOrCreateFilter().description("valid", null); + } + + /** + * Ensures that {@link FilterMutableType#description(String...)} rejects blank input even in presence of valid + * vararg preceding it + */ + @Test(expected = IllegalArgumentException.class) + public void descriptionRequiresAllParamsToNotBeBlank() { + Descriptors.create(WebAppMutableDescriptor.class).getOrCreateFilter().description("valid", ""); + } + + /** + * Ensures we can add filter/description elements + */ + @Test + public void addDescriptions() { + // Delegate + this.createAndValidateDescriptorWithFilterDescriptions(); + } + + /** + * Ensures we can add filter/description elements + */ + @Test + public void removeDescriptions() { + // Delegate for creation + final WebAppMutableDescriptor descriptor = this.createAndValidateDescriptorWithFilterDescriptions(); + + // Now remove all descriptions + final FilterMutableType filter = descriptor.getAllFilter().get(0); + filter.removeAllDescription(); + + // Ensure all removed + Assert.assertEquals(0, filter.getAllDescription().size()); + } + + /** + * Ensures we can remove a single filter description + */ + @Test + public void removeDescription() { + // Delegate for creation + final WebAppMutableDescriptor descriptor = this.createAndValidateDescriptorWithFilterDescriptions(); + + // Remove a single description + final FilterMutableType filter = descriptor.getAllFilter().get(0); + filter.removeDescription("Lee"); + final List descriptions = filter.getAllDescription(); + + // Ensure the other descriptions are intact + Assert.assertEquals(2, filter.getAllDescription().size()); + Assert.assertEquals("Andrew", descriptions.get(0)); + Assert.assertEquals("Rubinger", descriptions.get(1)); + } + + /** + * Centralized helper to create and assert upon new filter descriptions + * + * @return + */ + private WebAppMutableDescriptor createAndValidateDescriptorWithFilterDescriptions() { + // Make a new descriptor and add filter descriptions + final WebAppMutableDescriptor descriptor = Descriptors.create(WebAppMutableDescriptor.class) + .getOrCreateFilter().description("Andrew", "Lee", "Rubinger").up(); + + // Get the descriptions back out and ensure they're correct + final List descriptions = descriptor.getAllFilter().get(0).getAllDescription(); + Assert.assertEquals(3, descriptions.size()); + Assert.assertEquals("Andrew", descriptions.get(0)); + Assert.assertEquals("Lee", descriptions.get(1)); + Assert.assertEquals("Rubinger", descriptions.get(2)); + + // Return + return descriptor; + } + +} diff --git a/impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/webcommon30/FilterTypeTestCase.java b/impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/webcommon30/FilterTypeTestCase.java new file mode 100644 index 00000000..816af941 --- /dev/null +++ b/impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/webcommon30/FilterTypeTestCase.java @@ -0,0 +1,55 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.impl.webcommon30; + +import java.util.List; + +import junit.framework.Assert; + +import org.jboss.shrinkwrap.descriptor.api.Descriptors; +import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor; +import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppMutableDescriptor; +import org.jboss.shrinkwrap.descriptor.api.webcommon30.FilterType; +import org.junit.Test; + +/** + * Test cases asserting the validity of {@link FilterType} operations + * + * @author Andrew Lee Rubinger + */ +public class FilterTypeTestCase { + + /** + * Ensures that {@link FilterType#getAllDescription()} is working as contracted + */ + @Test + public void getAllDescription() { + // Make a descriptor and populate with description elements + final WebAppDescriptor descriptor = Descriptors.create(WebAppMutableDescriptor.class).getOrCreateFilter() + .description("one", "two", "three").up().toImmutable(); + + // Ensure the three descriptions are as specified via the immutable view + final List filters = descriptor.getAllFilter(); + Assert.assertEquals(1, filters.size()); + final FilterType filter = filters.get(0); + final List descriptions = filter.getAllDescription(); + Assert.assertEquals("one", descriptions.get(0)); + Assert.assertEquals("two", descriptions.get(1)); + Assert.assertEquals("three", descriptions.get(2)); + } + +} diff --git a/pom.xml b/pom.xml index 84a04c99..93dab430 100644 --- a/pom.xml +++ b/pom.xml @@ -56,6 +56,7 @@ api-base api-javaee + api-javaee-prototype api-jboss api-misc bom @@ -63,6 +64,7 @@ gen impl-base impl-javaee + impl-javaee-prototype impl-jboss impl-misc spi diff --git a/spi/src/main/java/org/jboss/shrinkwrap/descriptor/spi/node/NodeDescriptor.java b/spi/src/main/java/org/jboss/shrinkwrap/descriptor/spi/node/NodeDescriptor.java index 77d60f2e..461b9e4b 100644 --- a/spi/src/main/java/org/jboss/shrinkwrap/descriptor/spi/node/NodeDescriptor.java +++ b/spi/src/main/java/org/jboss/shrinkwrap/descriptor/spi/node/NodeDescriptor.java @@ -19,18 +19,10 @@ import org.jboss.shrinkwrap.descriptor.api.Descriptor; /** - * A {@link Descriptor} based on a {@link Node} model - * (ie. hierarchal, typically representing XML metadata). - * + * A {@link Descriptor} based on a {@link NodeModel} (ie. hierarchal, typically representing XML metadata). + * * @author Aslak Knutsen * @author ALR */ -public interface NodeDescriptor extends Descriptor -{ - /** - * Obtains the top-level root {@link Node} for this - * {@link NodeDescriptor} - * @return - */ - Node getRootNode(); +public interface NodeDescriptor extends Descriptor, NodeModel { } diff --git a/spi/src/main/java/org/jboss/shrinkwrap/descriptor/spi/node/NodeModel.java b/spi/src/main/java/org/jboss/shrinkwrap/descriptor/spi/node/NodeModel.java new file mode 100644 index 00000000..fccdaf7f --- /dev/null +++ b/spi/src/main/java/org/jboss/shrinkwrap/descriptor/spi/node/NodeModel.java @@ -0,0 +1,31 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.spi.node; + +/** + * Any model based on a root {@link Node} structure (ie. hierarchal, typically representing XML metadata). + * + * @author Andrew Lee Rubinger + */ +public interface NodeModel { + /** + * Obtains the top-level root {@link Node} for this {@link NodeModel} + * + * @return + */ + Node getRootNode(); +} From e9ec2135c91ec2e013cb018262a4a4e1d0016427 Mon Sep 17 00:00:00 2001 From: Andrew Lee Rubinger Date: Tue, 24 Apr 2012 15:27:37 -0400 Subject: [PATCH 3/8] [SHRINKDESC-21] Implement deep-copy and ensure that toMutable() returns a copy such that the immutable reference cannot be changed under the hood when passed to clients --- .../impl/webapp30/WebAppDescriptorImpl.java | 2 +- .../webapp30/WebAppDescriptorTestCase.java | 38 +++++++++++++- .../shrinkwrap/descriptor/spi/node/Node.java | 50 +++++++++++++++++++ .../descriptor/spi/node/NodeTestCase.java | 38 ++++++++++++++ 4 files changed, 126 insertions(+), 2 deletions(-) diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppDescriptorImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppDescriptorImpl.java index 7e40cb10..ee0d2667 100644 --- a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppDescriptorImpl.java +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppDescriptorImpl.java @@ -59,7 +59,7 @@ FilterType createNewFilterViewForModel(final Node filterModel) { */ @Override public WebAppMutableDescriptor toMutable() { - return new WebAppMutableDescriptorImpl(this.getDescriptorName(), this.getRootNode()); + return new WebAppMutableDescriptorImpl(this.getDescriptorName(), this.getRootNode().deepCopy()); } } diff --git a/impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppDescriptorTestCase.java b/impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppDescriptorTestCase.java index 6279e796..237277e0 100644 --- a/impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppDescriptorTestCase.java +++ b/impl-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/impl/webapp30/WebAppDescriptorTestCase.java @@ -85,7 +85,7 @@ public void defaultName() { * read-only view, and keep the data model intact. */ @Test - public void mutableRoundtrip() { + public void mutableViewToImmutableRetainsDataModel() { // Make a new descriptor final WebAppDescriptor readonly = Descriptors.create(WebAppDescriptor.class); @@ -101,5 +101,41 @@ public void mutableRoundtrip() { // Ensure the roundtrip still has a filter w/ two descriptions Assert.assertEquals(2, roundtrip.getAllFilter().get(0).getAllDescription().size()); } + + /** + * Ensures that changes made to the model of a mutable view + * obtained via an immutable view do not affect the original + * immutable view + */ + @Test + public void immutableViewToMutableReturnsCopy() { + // Make a new descriptor + final WebAppDescriptor readonly = Descriptors.create(WebAppDescriptor.class); + + // Ensure the original immutable view still has no filters + Assert.assertEquals(0, readonly.getAllFilter().size()); + + // Get a mutable view + final WebAppMutableDescriptor mutable = readonly.toMutable(); + + // Add a filter with two descriptions + Assert.assertEquals(2, mutable.getOrCreateFilter().description("one", "two").getAllDescription().size()); + + // Ensure the original immutable view still has no filters + Assert.assertEquals( + "Changes to a mutable view obtained from an immutable view should not affect the original immutable view", + 0, readonly.getAllFilter().size()); + } + + /** + * Ensures we cannot simply cast from an immutable view to a mutable one (ensuring we cannot write to the impl + * without invoking on the copy operation {@link WebAppDescriptor#toMutable()}). + */ + @Test(expected = ClassCastException.class) + public void cannotCastFromImmutableToMutable() { + // Make a new descriptor + final WebAppDescriptor readonly = Descriptors.create(WebAppDescriptor.class); + WebAppMutableDescriptor.class.cast(readonly); + } } diff --git a/spi/src/main/java/org/jboss/shrinkwrap/descriptor/spi/node/Node.java b/spi/src/main/java/org/jboss/shrinkwrap/descriptor/spi/node/Node.java index 35a61512..73b653dd 100644 --- a/spi/src/main/java/org/jboss/shrinkwrap/descriptor/spi/node/Node.java +++ b/spi/src/main/java/org/jboss/shrinkwrap/descriptor/spi/node/Node.java @@ -21,6 +21,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; /** @@ -520,6 +521,55 @@ public List getChildren() { return Collections.unmodifiableList(children); } + + /** + * Returns a deep copy of this {@link Node} + * + * @return + */ + public Node deepCopy() { + // Create new Node + final Node newRoot = new Node(this.getName()); + + // Set attributes + this.deepCopy(newRoot); + + // Return + return newRoot; + } + + /** + * Copies this reference to the specified {@link Node} + * @param copyTarget + * @return + */ + private Node deepCopy(final Node copyTarget){ + + // Precondition checks + assert copyTarget != null : "Node to copy information into must be specified"; + + // Set attributes + final Map attributes = this.getAttributes(); + final Set attributeKeys = attributes.keySet(); + for (final String key : attributeKeys) { + final String value = attributes.get(key); + copyTarget.attribute(key, value); + } + + // Set text + copyTarget.text(this.getText()); + + // Set children + final List children = this.getChildren(); + for (final Node child : children) { + final Node newChild = copyTarget.createChild(child.getName()); + // Recurse in + child.deepCopy(newChild); + } + + // Return + return this; + } // -------------------------------------------------------------------------------------|| // Override ----------------------------------------------------------------------------|| diff --git a/spi/src/test/java/org/jboss/shrinkwrap/descriptor/spi/node/NodeTestCase.java b/spi/src/test/java/org/jboss/shrinkwrap/descriptor/spi/node/NodeTestCase.java index 934d87df..1f7bbab5 100644 --- a/spi/src/test/java/org/jboss/shrinkwrap/descriptor/spi/node/NodeTestCase.java +++ b/spi/src/test/java/org/jboss/shrinkwrap/descriptor/spi/node/NodeTestCase.java @@ -638,4 +638,42 @@ public void shouldBeAbleToCreateNodeWithValueWithEqualsInIt() Assert.assertEquals("Verify correct value set", child3ValueNotEscaped, found.getText()); } + @Test + public void deepCopyUnequalByReference() { + final Node node = new Node("ALR"); + final Node copy = node.deepCopy(); + Assert.assertTrue("Deep copy should be unequal by reference to original", node != copy); + } + + @Test + public void deepCopyEqualityByValue() { + + // Make a node with some child content + final Node node = new Node("ALR"); + final Node child = node.createChild("child"); + node.createChild("secondChild"); + child.attribute("key", "value"); + child.text("text"); + final Node grandChild = child.createChild("grandChild"); + grandChild.text("grandText"); + + System.out.println(node.toString(true)); + + // Copy it + final Node copy = node.deepCopy(); + + System.out.println(copy.toString(true)); + final Node copyChild = copy.getChildren().get(0); + + // Check values + Assert.assertEquals(2, copy.getChildren().size()); + Assert.assertEquals("ALR", copy.getName()); + Assert.assertEquals("text", copyChild.getText()); + Assert.assertEquals("value", copyChild.getAttributes().get("key")); + Assert.assertEquals(1, copyChild.getAttributes().keySet().size()); + final Node copyGrandChild = copyChild.getChildren().get(0); + Assert.assertEquals("grandText", copyGrandChild.getText()); + } + + } \ No newline at end of file From b2f4f8a7dc09536189942c41a9e653d58e96f96d Mon Sep 17 00:00:00 2001 From: Andrew Lee Rubinger Date: Tue, 29 May 2012 19:17:34 -0400 Subject: [PATCH 4/8] [SHRINKDESC-21] Update after rebase w/ master --- api-javaee-prototype/pom.xml | 2 +- .../shrinkwrap/descriptor/api/webapp30/WebAppDescriptor.java | 2 +- impl-javaee-prototype/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/api-javaee-prototype/pom.xml b/api-javaee-prototype/pom.xml index 298d2dde..bf408714 100644 --- a/api-javaee-prototype/pom.xml +++ b/api-javaee-prototype/pom.xml @@ -5,7 +5,7 @@ org.jboss.shrinkwrap.descriptors shrinkwrap-descriptors-parent - 2.0.0-alpha-3-SNAPSHOT + 2.0.0-alpha-4-SNAPSHOT ../pom.xml diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webapp30/WebAppDescriptor.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webapp30/WebAppDescriptor.java index b8e1fac3..c08672ec 100644 --- a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webapp30/WebAppDescriptor.java +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/webapp30/WebAppDescriptor.java @@ -21,7 +21,7 @@ /** * Read-only view of a web application deployment descriptor (ie. web.xml). - * + * * @author Andrew Lee Rubinger */ /* diff --git a/impl-javaee-prototype/pom.xml b/impl-javaee-prototype/pom.xml index 24af3e75..1cde85a1 100644 --- a/impl-javaee-prototype/pom.xml +++ b/impl-javaee-prototype/pom.xml @@ -5,7 +5,7 @@ org.jboss.shrinkwrap.descriptors shrinkwrap-descriptors-parent - 2.0.0-alpha-3-SNAPSHOT + 2.0.0-alpha-4-SNAPSHOT ../pom.xml From 9811a90a2dd3061b5f3a1449ad70ca5c64da93cf Mon Sep 17 00:00:00 2001 From: ralfbattenfeld Date: Mon, 18 Jun 2012 13:27:35 -0400 Subject: [PATCH 5/8] [SHRINKDESC-21] Enhancements for a possible API change --- gen/pom.xml | 7 + metadata-parser-test/pom.xml | 1 + .../descriptor/metadata/Metadata.java | 22 ++- .../descriptor/metadata/MetadataParser.java | 5 +- .../metadata/MetadataParserConfiguration.java | 1 + .../descriptor/metadata/dom/DomWriter.java | 52 ++++++ .../metadata/mojo/MetadataParserMojo.java | 9 +- .../src/main/resources/META-INF/ddJavaAll.xsl | 148 +++++++++++++++++- .../metadata/MetadataParserTest.java | 8 +- 9 files changed, 242 insertions(+), 11 deletions(-) diff --git a/gen/pom.xml b/gen/pom.xml index 6c7ede92..76ff977f 100644 --- a/gen/pom.xml +++ b/gen/pom.xml @@ -111,6 +111,7 @@ executionJ2ee13 validate + J2ee13 false ${basedir}/../api-javaee/src/main/java @@ -139,6 +140,7 @@ executionJ2ee14 validate + J2ee14 false ${basedir}/../api-javaee/src/main/java @@ -221,6 +223,7 @@ executionJavaEE5 validate + JavaEE5 false ${basedir}/../api-javaee/src/main/java @@ -415,6 +418,7 @@ executionJavaEE6 validate + JavaEE6 false ${basedir}/../api-javaee/src/main/java @@ -592,6 +596,7 @@ executionJBossEE5 validate + JBossEE5 false ${basedir}/../api-jboss/src/main/java @@ -657,6 +662,7 @@ executionJBossEE6 validate + JBossEE6 false ${basedir}/../api-jboss/src/main/java @@ -722,6 +728,7 @@ executionMisc validate + Misc false ${basedir}/../api-misc/src/main/java diff --git a/metadata-parser-test/pom.xml b/metadata-parser-test/pom.xml index 3a3ab04f..1b05f5be 100644 --- a/metadata-parser-test/pom.xml +++ b/metadata-parser-test/pom.xml @@ -58,6 +58,7 @@ execution1 validate + IronJacamer false ${basedir}/src/main/java diff --git a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/Metadata.java b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/Metadata.java index c2a6dd25..312ea3af 100644 --- a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/Metadata.java +++ b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/Metadata.java @@ -37,6 +37,7 @@ public class Metadata private final List packageImplList = new ArrayList(); private List metadataDescriptorList = new ArrayList(); private String currentNamespace; + private String currentContext; private String currentSchmema; private String currentPackageApi; private String currentPackageImpl; @@ -123,6 +124,24 @@ public List getPackageImplList() return packageImplList; } + public Integer getCurrentSeqNo() + { + return currentSeqNo; + } + + public void setCurrentSeqNo(final Integer currentSeqNo) + { + this.currentSeqNo = currentSeqNo; + } + + public String getCurrentContext() { + return currentContext; + } + + public void setCurrentContext(final String currentContext) { + this.currentContext = currentContext; + } + /** * Adds a enumeration value to the specified enumeration name. If no enumeration class is * found, then a new enumeration class will be created. @@ -210,6 +229,7 @@ public void addGroupReference(final String groupName, final MetadataElement grou public void addClassElement(final String className, final MetadataElement classElement) { classElement.setType(getNamespaceValue(classElement.getType())); + classElement.setSeqNo(currentSeqNo); for (MetadataItem item: classList) { if (item.getName().equals(className) && item.getNamespace().equals(getCurrentNamespace()) @@ -334,4 +354,4 @@ private void preResolveDataTypeImpl(final MetadataItem metadataClass) } } -} \ No newline at end of file +} diff --git a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParser.java b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParser.java index 06cea0ce..ed6572ea 100644 --- a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParser.java +++ b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParser.java @@ -72,7 +72,7 @@ public Metadata getMetadata() * @param verbose if true, additional parsing information are printed out, otherwise not. * @throws Exception */ - public void parse(final MetadataParserPath path, final List confList, final boolean verbose) throws Exception + public void parse(final MetadataParserPath path, final List confList, final boolean verbose, final String context) throws Exception { checkArguments(path, confList); @@ -87,7 +87,8 @@ public void parse(final MetadataParserPath path, final List confList, final b metadata.setCurrentSchmema(metadataConf.getPathToXsd()); metadata.setCurrentPackageApi(metadataConf.getPackageApi()); metadata.setCurrentPackageImpl(metadataConf.getPackageImpl()); - + metadata.setCurrentContext(context); + final MetadataDescriptor metadataDescriptor = new MetadataDescriptor(metadataConf.getDescriptorName()); metadataDescriptor.setRootElementName(metadataConf.getElementName()); metadataDescriptor.setRootElementType(metadataConf.getElementType()); diff --git a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParserConfiguration.java b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParserConfiguration.java index f0896de3..8648458b 100644 --- a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParserConfiguration.java +++ b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParserConfiguration.java @@ -27,6 +27,7 @@ */ public class MetadataParserConfiguration { + /** * Path to the XSD file to be parsed * diff --git a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/dom/DomWriter.java b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/dom/DomWriter.java index 8ca661a8..4615e329 100644 --- a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/dom/DomWriter.java +++ b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/dom/DomWriter.java @@ -292,6 +292,11 @@ public void write(final Metadata metadata, final String pathToMetadata) attrDocumentation.setValue(""); classElement.setAttributeNode(attrDocumentation); + final Attr attrContext = doc.createAttribute("context"); + attrContext.setValue(metadata.getCurrentContext()); + classElement.setAttributeNode(attrContext); + + checkClassElementSequence(doc, classElement, metadataClass.getElements()); for(MetadataElement element: metadataClass.getElements()) { final Element childElement = doc.createElement("element"); @@ -424,4 +429,51 @@ public void write(final Metadata metadata, final String pathToMetadata) tfe.printStackTrace(); } } + + /** + * Checks the existence of sequenced class elements and tries to + * to reflect that into the metadata XML tree. + * @param doc + * @param classElement + * @param classElementList + */ + private void checkClassElementSequence(final Document doc, final Element classElement, final List classElementList) { + final Map> sequencedElementList = new HashMap>(); + for(final MetadataElement metadataElement: classElementList) { + if (metadataElement.getSeqNo() != null) { + if (!sequencedElementList.containsKey(metadataElement.getSeqNo())) { + sequencedElementList.put(metadataElement.getSeqNo(), new ArrayList()); + } + sequencedElementList.get(metadataElement.getSeqNo()).add(metadataElement); + } + } + + for (final List elementList: sequencedElementList.values()) { + if (elementList.size() > 1 && elementList.size() < 6) { + final Element childElement = doc.createElement("sequence"); + + for (MetadataElement element: elementList) { + final Element sequenceElement = doc.createElement("element"); + + final Attr elName = doc.createAttribute("name"); + elName.setValue(element.getName()); + sequenceElement.setAttributeNode(elName); + + final Attr elType = doc.createAttribute("type"); + elType.setValue(element.getType()); + sequenceElement.setAttributeNode(elType); + + if (element.getMaxOccurs() != null) + { + final Attr elMaxOccurs = doc.createAttribute("maxOccurs"); + elMaxOccurs.setValue(element.getMaxOccurs()); + sequenceElement.setAttributeNode(elMaxOccurs); + } + childElement.appendChild(sequenceElement); + } + + classElement.appendChild(childElement); + } + } + } } diff --git a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/mojo/MetadataParserMojo.java b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/mojo/MetadataParserMojo.java index ec95a5bd..3099beb2 100644 --- a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/mojo/MetadataParserMojo.java +++ b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/mojo/MetadataParserMojo.java @@ -50,6 +50,13 @@ public class MetadataParserMojo extends AbstractMojo * @parameter */ protected boolean verbose; + + /** + * Defines the context for this configuration. E.g. JavaEE5. + * + * @parameter + */ + protected String context; @Override public void execute() throws MojoExecutionException, MojoFailureException @@ -57,7 +64,7 @@ public void execute() throws MojoExecutionException, MojoFailureException try { final MetadataParser metadataParser = new MetadataParser(); - metadataParser.parse(path, descriptors, verbose); + metadataParser.parse(path, descriptors, verbose, context); } catch (final Throwable t) { diff --git a/metadata-parser/src/main/resources/META-INF/ddJavaAll.xsl b/metadata-parser/src/main/resources/META-INF/ddJavaAll.xsl index 3b0841b8..75d022e5 100644 --- a/metadata-parser/src/main/resources/META-INF/ddJavaAll.xsl +++ b/metadata-parser/src/main/resources/META-INF/ddJavaAll.xsl @@ -40,6 +40,7 @@ + @@ -259,6 +260,9 @@ { + + + @@ -455,6 +459,49 @@ + + + + + + + + + + + + + + + + + + + { + + + + + + + + + + + + + + + + + + + } + + + + + @@ -531,6 +578,9 @@ + + + @@ -1592,6 +1642,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2427,7 +2535,7 @@ - + @@ -3596,8 +3704,8 @@ - @@ -3606,6 +3714,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/metadata-parser/src/test/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParserTest.java b/metadata-parser/src/test/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParserTest.java index d495334a..a135b6b9 100644 --- a/metadata-parser/src/test/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParserTest.java +++ b/metadata-parser/src/test/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParserTest.java @@ -23,7 +23,7 @@ public void testParseWithNullArguments() throws Exception { final MetadataParser parser = new MetadataParser(); boolean isRuntimeExceptionThrown = false; try { - parser.parse(null, null, false); + parser.parse(null, null, false, ""); } catch(IllegalArgumentException ex) { isRuntimeExceptionThrown = true; @@ -37,7 +37,7 @@ public void testParseWithPathNull() throws Exception { final MetadataParser parser = new MetadataParser(); boolean isRuntimeExceptionThrown = false; try { - parser.parse(null, new ArrayList(), false); + parser.parse(null, new ArrayList(), false, ""); } catch(IllegalArgumentException ex) { isRuntimeExceptionThrown = true; @@ -51,7 +51,7 @@ public void testParseWithDescriptorsNull() throws Exception { final MetadataParser parser = new MetadataParser(); boolean isRuntimeExceptionThrown = false; try { - parser.parse(new MetadataParserPath(), null, false); + parser.parse(new MetadataParserPath(), null, false, ""); } catch(IllegalArgumentException ex) { isRuntimeExceptionThrown = true; @@ -96,7 +96,7 @@ public void testParseAndMetadataGeneration() throws Exception { confList.add(conf); final MetadataParser parser = new MetadataParser(); - parser.parse(path, confList, true); + parser.parse(path, confList, true, ""); final String pathToMetadata = parser.getPathToMetadataFile(); Assert.assertNotNull(pathToMetadata); From a6c69fa7f7e8f1258c2adee538fc5932c5b2dda4 Mon Sep 17 00:00:00 2001 From: ralfbattenfeld Date: Fri, 15 Jun 2012 17:53:04 -0400 Subject: [PATCH 6/8] [SHRINKDESC-21] Synced with POC from Andrew --- api-javaee-prototype/pom.xml | 6 + .../application5/ApplicationDescriptor.java | 33 + .../api/application5/ApplicationType.java | 46 + .../api/application5/ModuleType.java | 43 + .../MutableApplicationDescriptor.java | 28 + .../application5/MutableApplicationType.java | 144 ++ .../api/application5/MutableModuleType.java | 138 ++ .../api/application5/MutableWebType.java | 63 + .../descriptor/api/application5/WebType.java | 25 + .../ApplicationDescriptorTestCase.java | 261 +++ gen/pom.xml | 95 +- .../ConnectorDescriptorTestCase.java | 9 +- .../test/ironjacamar/DataSourcesTestCase.java | 12 +- .../test/ironjacamar/IronJacamarTestCase.java | 11 +- .../ironjacamar/ResourceAdaptersTestCase.java | 12 +- .../descriptor/metadata/FilterChain.java | 17 +- .../descriptor/metadata/Metadata.java | 1 + .../descriptor/metadata/MetadataElement.java | 11 + .../descriptor/metadata/MetadataParser.java | 2 +- .../descriptor/metadata/dom/DomWriter.java | 4 + .../src/main/resources/META-INF/ddJavaAll.xsl | 1453 ++++++++++++++++- .../descriptor/metadata/DomTestUtil.java | 2 +- .../filter/ElementFilterTestCase.java | 85 +- .../ApplicationDescriptorTestCase.java | 19 +- .../ApplicationDescriptorTestCase.java | 10 +- .../test/beans10/BeansDescriptorTestCase.java | 11 +- .../ConnectorDescriptorTestCase.java | 9 +- .../ConnectorDescriptorTestCase.java | 11 +- .../ConnectorDescriptorTestCase.java | 11 +- .../test/ejb30/EjbJarDescriptorTestCase.java | 7 +- .../EjbJarDescriptorReaderTestCase.java | 20 +- .../ejbjar31/EjbJarDescriptorTestCase.java | 17 +- .../FacesConfigDescriptorTestCase.java | 25 +- .../JbossWebDescriptorTestCase.java | 11 +- .../test/jetty7/Jetty7TestCase.java | 10 +- .../WebJspTagLibraryDescriptorTestCase.java | 11 +- .../WebJspTagLibraryDescriptorTestCase.java | 11 +- .../PersistenceDescriptorTestCase.java | 11 +- .../PersistenceDescriptorTestCase.java | 11 +- .../BeansDescriptorTestCase.java | 53 +- .../DescriptorExporterTestCase.java | 3 +- .../portedfrompoc/DescriptorsTestCase.java | 4 +- ...sistenceDescriptorEclipseLinkTestCase.java | 5 +- ...ersistenceDescriptorHibernateTestCase.java | 7 +- .../PersistenceDescriptorTestCase.java | 74 +- .../test/portedfrompoc/WebAppDefTestCase.java | 32 +- .../portlet20/PortletDescriptorTestCase.java | 11 +- ...ebAppDescriptorAttributeGroupTestCase.java | 39 +- .../WebAppDescriptorComplexTypeTestCase.java | 57 +- .../WebAppDescriptorImportAsTestCase.java | 165 +- .../WebAppDescriptorNamespaceTestCase.java | 60 +- .../WebAppDescriptorSimpleTypeTestCase.java | 21 +- .../webapp30/WebAppDescriptorTestCase.java | 52 +- 53 files changed, 2799 insertions(+), 490 deletions(-) create mode 100644 api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptor.java create mode 100644 api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationType.java create mode 100644 api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ModuleType.java create mode 100644 api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationDescriptor.java create mode 100644 api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationType.java create mode 100644 api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableModuleType.java create mode 100644 api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableWebType.java create mode 100644 api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/WebType.java create mode 100644 api-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptorTestCase.java diff --git a/api-javaee-prototype/pom.xml b/api-javaee-prototype/pom.xml index bf408714..4a7054b0 100644 --- a/api-javaee-prototype/pom.xml +++ b/api-javaee-prototype/pom.xml @@ -25,6 +25,12 @@ ${project.version} + + junit + junit + test + + diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptor.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptor.java new file mode 100644 index 00000000..1519fc19 --- /dev/null +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptor.java @@ -0,0 +1,33 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.api.application5; + +import org.jboss.shrinkwrap.descriptor.api.Descriptor; +import org.jboss.shrinkwrap.descriptor.api.DescriptorNamespace; + + +/** + * Read-only view of a web application deployment descriptor (ie. web.xml). + * + * @author Andrew Lee Rubinger + */ +/* + * TODO: This is for use by end-users, and correctly closes the generic context + */ +public interface ApplicationDescriptor extends Descriptor, ApplicationType { + +} diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationType.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationType.java new file mode 100644 index 00000000..d014a5b2 --- /dev/null +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationType.java @@ -0,0 +1,46 @@ +package org.jboss.shrinkwrap.descriptor.api.application5; + +import java.util.List; + +/** + * This interface defines the contract for the applicationType xsd type + * @author Ralf Battenfeld + * @author Andrew Lee Rubinger + * @since Generation date :2012-04-29T13:08:39.494+02:00 + */ +public interface ApplicationType

+{ + public MutableApplicationType

toMutable(); + + /** + * Returns all description elements + * @return list of description + */ + public List getAllDescription(); + + /** + * Returns all display-name elements + * @return list of display-name + */ + public List getAllDisplayName(); + + + /** + * Returns all module elements + * @return list of module + */ + public List> getAllModule(); + + /** + * Returns the library-directory element + * @return the node defined for the element library-directory + */ + public String getLibraryDirectory(); + + + /** + * Returns the version attribute + * @return the value defined for the attribute version + */ + public String getVersion(); +} diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ModuleType.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ModuleType.java new file mode 100644 index 00000000..b3dca932 --- /dev/null +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ModuleType.java @@ -0,0 +1,43 @@ +package org.jboss.shrinkwrap.descriptor.api.application5; + +import org.jboss.shrinkwrap.descriptor.api.Child; + +/** + * This interface defines the contract for the moduleType xsd type. + */ +public interface ModuleType

extends Child

+{ + public MutableModuleType

toMutable(); + + /** + * Returns the connector element + * @return the node defined for the element connector + */ + public String getConnector(); + + + /** + * Returns the ejb element + * @return the node defined for the element ejb + */ + public String getEjb(); + + /** + * Returns the java element + * @return the node defined for the element java + */ + public String getJava(); + + /** + * Returns the web element. + * @return the existing instance of WebType>, or null if not found + */ + public WebType> getWeb(); + + /** + * Returns the alt-dd element + * @return the node defined for the element alt-dd + */ + public String getAltDd(); + +} diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationDescriptor.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationDescriptor.java new file mode 100644 index 00000000..8cc75351 --- /dev/null +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationDescriptor.java @@ -0,0 +1,28 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2012, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.api.application5; + +import org.jboss.shrinkwrap.descriptor.api.Descriptor; +import org.jboss.shrinkwrap.descriptor.api.DescriptorNamespace; + + +/** + * Mutable view of a web application deployment descriptor (ie. web.xml). + */ +public interface MutableApplicationDescriptor extends Descriptor, MutableApplicationType { + +} diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationType.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationType.java new file mode 100644 index 00000000..0ab6ad57 --- /dev/null +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationType.java @@ -0,0 +1,144 @@ +package org.jboss.shrinkwrap.descriptor.api.application5; + +import java.util.List; + +/** + * This interface defines the contract for the applicationType xsd type. + * This is the root element. Because of this, this interface doesn't need to extends Child

+ */ +public interface MutableApplicationType

+{ + public ApplicationType

toImmutable(); + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationTypeMutable ElementName: xsd:string ElementType : description + // MaxOccurs: -unbounded isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Creates for all String objects representing description elements, + * a new description element + * @param values list of description objects + * @return the current instance of ApplicationTypeMutable + */ + public P description(String ... values); + + /** + * Returns all description elements + * @return list of description + */ + public List getAllDescription(); + + /** + * Removes the description element + * @return the current instance of ApplicationTypeMutable + */ + public P removeAllDescription(); + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationTypeMutable ElementName: xsd:token ElementType : display-name + // MaxOccurs: -unbounded isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Creates for all String objects representing display-name elements, + * a new display-name element + * @param values list of display-name objects + * @return the current instance of ApplicationTypeMutable + */ + public P displayName(String ... values); + + /** + * Returns all display-name elements + * @return list of display-name + */ + public List getAllDisplayName(); + + /** + * Removes the display-name element + * @return the current instance of ApplicationTypeMutable + */ + public P removeAllDisplayName(); + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationTypeMutable ElementName: javaee:moduleType ElementType : module + // MaxOccurs: -unbounded isGeneric: true isAttribute: false isEnum: false isDataType: false + // --------------------------------------------------------------------------------------------------------|| + + /** + * If not already created, a new module element will be created and returned. + * Otherwise, the first existing module element will be returned. + * @return the instance defined for the element module + */ + public MutableModuleType

getOrCreateModule(); + + /** + * Creates a new module element + * @return the new created instance of ModuleType> + */ + public MutableModuleType

createModule(); + + /** + * Returns all module elements + * @return list of module + */ + public List> getAllModule(); + + /** + * Removes all module elements + * @return the current instance of ModuleType> + */ + public P removeAllModule(); + + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationTypeMutable ElementName: xsd:token ElementType : library-directory + // MaxOccurs: -1 isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the library-directory element + * @param libraryDirectory the value for the element library-directory + * @return the current instance of ApplicationTypeMutable + */ + public P libraryDirectory(String libraryDirectory); + + /** + * Returns the library-directory element + * @return the node defined for the element library-directory + */ + public String getLibraryDirectory(); + + /** + * Removes the library-directory element + * @return the current instance of ApplicationTypeMutable + */ + public P removeLibraryDirectory(); + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationTypeMutable ElementName: xsd:token ElementType : version + // MaxOccurs: - isGeneric: true isAttribute: true isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the version attribute + * @param version the value for the attribute version + * @return the current instance of ApplicationTypeMutable + */ + public P version(String version); + + /** + * Returns the version attribute + * @return the value defined for the attribute version + */ + public String getVersion(); + + /** + * Removes the version attribute + * @return the current instance of ApplicationTypeMutable + */ + public P removeVersion(); +} diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableModuleType.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableModuleType.java new file mode 100644 index 00000000..63a66532 --- /dev/null +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableModuleType.java @@ -0,0 +1,138 @@ +package org.jboss.shrinkwrap.descriptor.api.application5; + +import org.jboss.shrinkwrap.descriptor.api.Child; +/** + * This interface defines the contract for the moduleType xsd type + * @author Ralf Battenfeld + * @author Andrew Lee Rubinger + * @since Generation date :2012-04-28T09:04:01.259+02:00 + */ +public interface MutableModuleType

extends Child

+{ + public ModuleType

toImmutable(); + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleTypeMutable ElementName: xsd:token ElementType : connector + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the connector element + * @param connector the value for the element connector + * @return the current instance of ModuleTypeMutable + */ + public MutableModuleType

connector(String connector); + + /** + * Returns the connector element + * @return the node defined for the element connector + */ + public String getConnector(); + + /** + * Removes the connector element + * @return the current instance of ModuleTypeMutable + */ + public MutableModuleType

removeConnector(); + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleTypeMutable ElementName: xsd:token ElementType : ejb + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the ejb element + * @param ejb the value for the element ejb + * @return the current instance of ModuleTypeMutable + */ + public MutableModuleType

ejb(String ejb); + + /** + * Returns the ejb element + * @return the node defined for the element ejb + */ + public String getEjb(); + + /** + * Removes the ejb element + * @return the current instance of ModuleTypeMutable + */ + public MutableModuleType

removeEjb(); + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleTypeMutable ElementName: xsd:token ElementType : java + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the java element + * @param java the value for the element java + * @return the current instance of ModuleTypeMutable + */ + public MutableModuleType

java(String java); + + /** + * Returns the java element + * @return the node defined for the element java + */ + public String getJava(); + + /** + * Removes the java element + * @return the current instance of ModuleTypeMutable + */ + public MutableModuleType

removeJava(); + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleTypeMutable ElementName: javaee:webType ElementType : web + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: false + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the web element. + * @return the existing instance of WebType>, or null if not found + */ + public MutableWebType> getWeb(); + + /** + * If not already created, a new web element with the given value will be created. + * Otherwise, the existing web element will be returned. + * @return + * @return a new or existing instance of WebType> + */ + public MutableWebType> getOrCreateWeb(); + + /** + * Removes the web element + * @return the current instance of ModuleTypeMutable + */ + public MutableModuleType

removeWeb(); + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleTypeMutable ElementName: xsd:token ElementType : alt-dd + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the alt-dd element + * @param altDd the value for the element alt-dd + * @return the current instance of ModuleTypeMutable + */ + public MutableModuleType

altDd(String altDd); + + /** + * Returns the alt-dd element + * @return the node defined for the element alt-dd + */ + public String getAltDd(); + + /** + * Removes the alt-dd element + * @return the current instance of ModuleTypeMutable + */ + public MutableModuleType

removeAltDd(); +} diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableWebType.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableWebType.java new file mode 100644 index 00000000..b548b6c7 --- /dev/null +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableWebType.java @@ -0,0 +1,63 @@ +package org.jboss.shrinkwrap.descriptor.api.application5; + +import org.jboss.shrinkwrap.descriptor.api.Child; + +/** + * This interface defines the contract for the webType xsd type + * @author Ralf Battenfeld + * @author Andrew Lee Rubinger + * @since Generation date :2012-04-28T09:04:01.259+02:00 + */ +public interface MutableWebType

extends Child

+{ + public WebType

toImmutable(); + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: WebTypeMutable ElementName: xsd:token ElementType : web-uri + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the web-uri element + * @param webUri the value for the element web-uri + * @return the current instance of WebTypeMutable + */ + public MutableWebType

webUri(String webUri); + + /** + * Returns the web-uri element + * @return the node defined for the element web-uri + */ + public String getWebUri(); + + /** + * Removes the web-uri element + * @return the current instance of WebTypeMutable + */ + public MutableWebType

removeWebUri(); + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: WebTypeMutable ElementName: xsd:token ElementType : context-root + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the context-root element + * @param contextRoot the value for the element context-root + * @return the current instance of WebTypeMutable + */ + public MutableWebType

contextRoot(String contextRoot); + + /** + * Returns the context-root element + * @return the node defined for the element context-root + */ + public String getContextRoot(); + + /** + * Removes the context-root element + * @return the current instance of WebTypeMutable + */ + public MutableWebType

removeContextRoot(); +} diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/WebType.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/WebType.java new file mode 100644 index 00000000..418a9df9 --- /dev/null +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/WebType.java @@ -0,0 +1,25 @@ +package org.jboss.shrinkwrap.descriptor.api.application5; + +import org.jboss.shrinkwrap.descriptor.api.Child; +/** + * This interface defines the contract for the webType xsd type + * @author Ralf Battenfeld + * @author Andrew Lee Rubinger + * @since Generation date :2012-04-28T09:04:01.259+02:00 + */ +public interface WebType

extends Child

+{ + public MutableWebType

toMutable(); + + /** + * Returns the web-uri element + * @return the node defined for the element web-uri + */ + public String getWebUri(); + + /** + * Returns the context-root element + * @return the node defined for the element context-root + */ + public String getContextRoot(); +} diff --git a/api-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptorTestCase.java b/api-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptorTestCase.java new file mode 100644 index 00000000..ddce58b1 --- /dev/null +++ b/api-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptorTestCase.java @@ -0,0 +1,261 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2010, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.descriptor.api.application5; + + +import org.junit.Ignore; +import org.junit.Test; + + +/** + * Tests to ensure that the API contract for {@link ApplicationDescriptor} + * is working as expected + * + */ +@Ignore +public class ApplicationDescriptorTestCase +{ + + @Test + public void subElementRoundtrip() + { + final ApplicationDescriptor appDescriptor = null; + final MutableApplicationDescriptor appDescriptorMutable = null; + + // test all nested elements are immutable by default + appDescriptor.getAllModule().get(0).getWeb().getContextRoot(); + appDescriptor.getAllModule().get(0).getWeb().getWebUri(); + appDescriptor.getAllDescription(); + appDescriptor.getAllDisplayName(); + appDescriptor.getLibraryDirectory(); + appDescriptor.getAllModule().get(0).getWeb().up().up(); + + // test toMutable() and traversing back to the original descriptor + appDescriptor.getAllModule().get(0).toMutable().getOrCreateWeb().removeContextRoot().removeWebUri().up().up(); + + appDescriptorMutable.createModule().altDd("").connector("").ejb("").getOrCreateWeb().up().up(); + + +// appTypeImmutable.; +// appTypeMutable.toImmutable().toMutable(); + +// appTypeMutable.createModule(). + } + +// @Test +// public void subElementRoundtripCopy() +// { +// final org.jboss.shrinkwrap.descriptor.api.application5.copy.ModuleTypeMutable moduleType = null; +// moduleType. +// +// +// +// +// final ApplicationTypeMutable appTypeMutable = null; +// final ApplicationTypeImmutable appTypeImmutable; +// +// appTypeMutable.toImmutable().toMutable(); +// +// appTypeMutable.createModule().getOrCreateWeb(). +// } + + + @Test + public void mutableRoundtrip() + { +// // Make a new descriptor +// final ApplicationDescriptor readonly = Descriptors.create(ApplicationDescriptor.class); +// +// // Get a mutable view +// final ApplicationDescriptorMutable mutable = readonly.toMutable(); +// +// mutable.getOrCreateModule().getOrCreateWeb().webUri("two").up().up().up(); +// +// // Roundtrip to immutable +// final ApplicationDescriptor roundtrip = mutable.toImmutable(); +// +// roundtrip.getAllModule().get(0).getWeb().getWebUri(); +// roundtrip.getAllModule().get(0).getWeb().removeWebUri(); // not allowed ... +// +// System.out.println("Roundtrip: "+roundtrip.exportAsString()); + + // Ensure the roundtrip still has a filter w/ two descriptions +// Assert.assertEquals(2, roundtrip..getAllFilter().get(0).getAllDescription().size()); + + + } + +// This experiment shows that there are fundamental design issues not solved ... I believe +// that after the API change this will be easier to solve. + +// private class ApplicationDescriptorImpl implements ApplicationDescriptor, MutableApplicationDescriptor +// { +// +// @Override +// public String getDescriptorName() +// { +// // TODO Auto-generated method stub +// return null; +// } +// +// @Override +// public String exportAsString() throws DescriptorExportException +// { +// // TODO Auto-generated method stub +// return null; +// } +// +// @Override +// public void exportTo(OutputStream output) throws DescriptorExportException, IllegalArgumentException +// { +// // TODO Auto-generated method stub +// +// } +// +// @Override +// public MutableApplicationType toMutable() +// { +// // TODO Auto-generated method stub +// return null; +// } +// +// @Override +// public List getAllDescription() +// { +// // TODO Auto-generated method stub +// return null; +// } +// +// @Override +// public List getAllDisplayName() +// { +// // TODO Auto-generated method stub +// return null; +// } +// +// @Override +// public List> getAllModule() +// { +// // TODO Auto-generated method stub +// return null; +// } +// +// public List> getAllModule() { +// // TODO Auto-generated method stub +// return null; +// } +// +// @Override +// public String getLibraryDirectory() +// { +// // TODO Auto-generated method stub +// return null; +// } +// +// @Override +// public String getVersion() +// { +// // TODO Auto-generated method stub +// return null; +// } +// +// @Override +// public ApplicationType toImmutable() +// { +// // TODO Auto-generated method stub +// return null; +// } +// +// @Override +// public MutableApplicationDescriptor description(String... values) +// { +// // TODO Auto-generated method stub +// return null; +// } +// +// @Override +// public MutableApplicationDescriptor removeAllDescription() +// { +// // TODO Auto-generated method stub +// return null; +// } +// +// @Override +// public MutableApplicationDescriptor displayName(String... values) +// { +// // TODO Auto-generated method stub +// return null; +// } +// +// @Override +// public MutableApplicationDescriptor removeAllDisplayName() +// { +// // TODO Auto-generated method stub +// return null; +// } +// +// @Override +// public MutableModuleType getOrCreateModule() +// { +// // TODO Auto-generated method stub +// return null; +// } +// +// @Override +// public MutableModuleType createModule() +// { +// // TODO Auto-generated method stub +// return null; +// } +// +// @Override +// public MutableApplicationDescriptor removeAllModule() +// { +// // TODO Auto-generated method stub +// return null; +// } +// +// @Override +// public MutableApplicationDescriptor libraryDirectory(String libraryDirectory) +// { +// // TODO Auto-generated method stub +// return null; +// } +// +// @Override +// public MutableApplicationDescriptor removeLibraryDirectory() +// { +// // TODO Auto-generated method stub +// return null; +// } +// +// @Override +// public MutableApplicationDescriptor version(String version) +// { +// // TODO Auto-generated method stub +// return null; +// } +// +// @Override +// public MutableApplicationDescriptor removeVersion() +// { +// // TODO Auto-generated method stub +// return null; +// } +// +// } +} diff --git a/gen/pom.xml b/gen/pom.xml index 76ff977f..e67a6f7a 100644 --- a/gen/pom.xml +++ b/gen/pom.xml @@ -359,61 +359,98 @@ + + + + + + + + + + + + + + + + + - ${basedir}/src/main/resources/xsd/web-facesconfig_2_1.xsd + ${basedir}/src/main/resources/xsd/web-partialresponse_2_0.xsd javaee - org.jboss.shrinkwrap.descriptor.api.facesconfig21 - org.jboss.shrinkwrap.descriptor.impl.facesconfig21 - WebFacesConfigDescriptor - faces-config - javaee:faces-configType - faces-config.xml + org.jboss.shrinkwrap.descriptor.api.facespartialresponse20 + org.jboss.shrinkwrap.descriptor.impl.facespartialresponse20 + WebFacesPartialResponseDescriptor + partial-response + javaee:partial-responseType + default.xml xmlnshttp://java.sun.com/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance - xsi:schemaLocationhttp://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd + xsi:schemaLocationhttp://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-partialresponse_2_0.xsd + + + + parse + + + + + executionJavaEE5_facesconfig_2_1 + validate + + JavaEE5_facesconfig_2_1 + false + + ${basedir}/../api-javaee/src/main/java + ${basedir}/../impl-javaee/src/main/java + ${basedir}/../impl-javaee/src/main/resources/META-INF/services + + - ${basedir}/src/main/resources/xsd/web-facesuicomponent_2_0.xsd + ${basedir}/src/main/resources/xsd/javaee_5.xsd javaee - org.jboss.shrinkwrap.descriptor.api.facesuicomponent20 - org.jboss.shrinkwrap.descriptor.impl.facesuicomponent20 - WebFacesUIComponentDescriptor - attribute - javaee:uicomponent-attributeType - default.xml - - xmlnshttp://java.sun.com/xml/ns/javaee - xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance - xsi:schemaLocationhttp://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesuicomponent_2_0.xsd - + org.jboss.shrinkwrap.descriptor.api.javaee5 + org.jboss.shrinkwrap.descriptor.impl.javaee5 + false - ${basedir}/src/main/resources/xsd/web-partialresponse_2_0.xsd + ${basedir}/src/main/resources/xsd/javaee_web_services_client_1_2.xsd javaee - org.jboss.shrinkwrap.descriptor.api.facespartialresponse20 - org.jboss.shrinkwrap.descriptor.impl.facespartialresponse20 - WebFacesPartialResponseDescriptor - partial-response - javaee:partial-responseType - default.xml + org.jboss.shrinkwrap.descriptor.api.javaeewebservicesclient12 + org.jboss.shrinkwrap.descriptor.impl.javaeewebservicesclient12 + false + + + + ${basedir}/src/main/resources/xsd/web-facesconfig_2_1.xsd + javaee + org.jboss.shrinkwrap.descriptor.api.facesconfig21 + org.jboss.shrinkwrap.descriptor.impl.facesconfig21 + WebFacesConfigDescriptor + faces-config + javaee:faces-configType + faces-config.xml xmlnshttp://java.sun.com/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance - xsi:schemaLocationhttp://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-partialresponse_2_0.xsd + xsi:schemaLocationhttp://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd + parse - + executionJavaEE6 validate diff --git a/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/ConnectorDescriptorTestCase.java b/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/ConnectorDescriptorTestCase.java index 4be5c14e..b4fb0c5e 100644 --- a/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/ConnectorDescriptorTestCase.java +++ b/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/ConnectorDescriptorTestCase.java @@ -23,6 +23,7 @@ import org.jboss.shrinkwrap.descriptor.api.Descriptors; import org.jboss.shrinkwrap.descriptor.api.connector10.ConnectorDescriptor; +import org.jboss.shrinkwrap.descriptor.api.connector10.MutableConnectorDescriptor; import org.jboss.shrinkwrap.descriptor.test.util.XmlAssert; import org.junit.Test; @@ -43,7 +44,7 @@ public void testSetName() throws Exception @Test public void testHornetQExample() throws Exception { - ConnectorDescriptor jca10Generated = create() + MutableConnectorDescriptor jca10Generated = create().getRoot() .displayName("Sample Adapter") .description("It is a sample resource adapter") .vendorName("JBoss") @@ -69,7 +70,7 @@ public void testHornetQExample() throws Exception .authenticationMechanismType("BasicPassword") .credentialInterface("javax.resource.security.PasswordCredential").up() .reauthenticationSupport("false") - .up(); + .up().up(); String generatedRaXml = jca10Generated.exportAsString(); String originalRaXml = this.getResourceContents("src/test/resources/test-orig-connector10.xml"); @@ -98,9 +99,9 @@ private String getResourceContents(String resource) throws Exception return builder.toString(); } - private ConnectorDescriptor create() + private MutableConnectorDescriptor create() { - return Descriptors.create(ConnectorDescriptor.class); + return Descriptors.create(MutableConnectorDescriptor.class); } } diff --git a/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/DataSourcesTestCase.java b/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/DataSourcesTestCase.java index 95de2be1..a6bf326b 100644 --- a/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/DataSourcesTestCase.java +++ b/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/DataSourcesTestCase.java @@ -5,7 +5,7 @@ import java.text.SimpleDateFormat; import java.util.TimeZone; -import org.jboss.datasources.api.DatasourcesDescriptor; +import org.jboss.datasources.api.MutableDatasourcesDescriptor; import org.jboss.shrinkwrap.descriptor.api.Descriptors; import org.jboss.shrinkwrap.descriptor.test.util.XmlAssert; import org.junit.Before; @@ -25,8 +25,8 @@ public void init() @Test public void testGeneratedDataSourcesXml() throws Exception { - DatasourcesDescriptor dataSourcesGenerated = create() - .addDefaultNamespaces() + MutableDatasourcesDescriptor dataSourcesGenerated = create().getRoot() +// .addDefaultNamespaces() .createDatasource() .jta(true).jndiName("jndi-name1").poolName("pool-name1") .enabled(true).useJavaContext(true).spy(false).useCcm(true) @@ -164,7 +164,7 @@ public void testGeneratedDataSourcesXml() throws Exception .datasourceClass("datasource-class3") .xaDatasourceClass("xa-datasource-class1") .up() - .up(); + .up().up(); String dataSourcesGeneratedXmlGenerated = dataSourcesGenerated.exportAsString(); @@ -193,9 +193,9 @@ private String getResourceContents(String resource) throws Exception return builder.toString(); } - private DatasourcesDescriptor create() + private MutableDatasourcesDescriptor create() { - return Descriptors.create(DatasourcesDescriptor.class); + return Descriptors.create(MutableDatasourcesDescriptor.class); } } diff --git a/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/IronJacamarTestCase.java b/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/IronJacamarTestCase.java index 361ef097..12b56ee0 100644 --- a/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/IronJacamarTestCase.java +++ b/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/IronJacamarTestCase.java @@ -6,6 +6,7 @@ import java.util.TimeZone; import org.jboss.ironjacamar.api.IronjacamarDescriptor; +import org.jboss.ironjacamar.api.MutableIronjacamarDescriptor; import org.jboss.shrinkwrap.descriptor.api.Descriptors; import org.jboss.shrinkwrap.descriptor.test.util.XmlAssert; import org.junit.Before; @@ -25,8 +26,8 @@ public void init() @Test public void testGeneratedIronJacamarXml() throws Exception { - IronjacamarDescriptor ironJacamarGenerated = create() - .addDefaultNamespaces() + MutableIronjacamarDescriptor ironJacamarGenerated = create().getRoot() +// .addDefaultNamespaces() .getOrCreateBeanValidationGroups() .beanValidationGroup("bean-validation-group0") .beanValidationGroup("bean-validation-group1").up() @@ -115,7 +116,7 @@ public void testGeneratedIronJacamarXml() throws Exception .useJavaContext(true).poolName("pool-name7") .createConfigProperty().name("name21").text("config-property10").up() .createConfigProperty().name("name23").text("config-property11").up().up() - .up() + .up().up() ; String ironJacamarXmlGenerated = ironJacamarGenerated.exportAsString(); @@ -144,9 +145,9 @@ private String getResourceContents(String resource) throws Exception return builder.toString(); } - private IronjacamarDescriptor create() + private MutableIronjacamarDescriptor create() { - return Descriptors.create(IronjacamarDescriptor.class); + return Descriptors.create(MutableIronjacamarDescriptor.class); } } diff --git a/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/ResourceAdaptersTestCase.java b/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/ResourceAdaptersTestCase.java index b044a029..0a2d58e4 100644 --- a/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/ResourceAdaptersTestCase.java +++ b/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/ResourceAdaptersTestCase.java @@ -5,7 +5,7 @@ import java.text.SimpleDateFormat; import java.util.TimeZone; -import org.jboss.resourceadapters.api.ResourceadapterDescriptor; +import org.jboss.resourceadapters.api.MutableResourceadapterDescriptor; import org.jboss.shrinkwrap.descriptor.api.Descriptors; import org.jboss.shrinkwrap.descriptor.test.util.XmlAssert; import org.junit.Before; @@ -25,8 +25,8 @@ public void init() @Test public void testGeneratedDataSourcesXml() throws Exception { - ResourceadapterDescriptor resourceAdaptersGenerated = create() - .addDefaultNamespaces() + MutableResourceadapterDescriptor resourceAdaptersGenerated = create().getRoot() +// .addDefaultNamespaces() .createResourceAdapter() .archive("archive0") .getOrCreateBeanValidationGroups() @@ -192,7 +192,7 @@ public void testGeneratedDataSourcesXml() throws Exception .useJavaContext(true).poolName("pool-name15") .createConfigProperty().name("name45").text("config-property22").up() .createConfigProperty().name("name47").text("config-property23").up().up() - .up().up() + .up().up().up() ; @@ -222,9 +222,9 @@ private String getResourceContents(String resource) throws Exception return builder.toString(); } - private ResourceadapterDescriptor create() + private MutableResourceadapterDescriptor create() { - return Descriptors.create(ResourceadapterDescriptor.class); + return Descriptors.create(MutableResourceadapterDescriptor.class); } } diff --git a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/FilterChain.java b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/FilterChain.java index 442fb24c..86b994c2 100644 --- a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/FilterChain.java +++ b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/FilterChain.java @@ -15,6 +15,7 @@ import org.jboss.shrinkwrap.descriptor.metadata.filter.RestrictionFilter; import org.jboss.shrinkwrap.descriptor.metadata.filter.SimpleContentFilter; import org.jboss.shrinkwrap.descriptor.metadata.filter.UnionFilter; +import org.jboss.shrinkwrap.descriptor.metadata.filter.XsdElementEnum; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.traversal.TreeWalker; @@ -34,6 +35,8 @@ public class FilterChain { private final List filterList = new ArrayList(); + private int seqNo = 0; + public FilterChain() { filterList.add(new GroupFilter()); filterList.add(new ElementFilter()); @@ -58,15 +61,21 @@ public FilterChain() { * logging purposes. */ public void traverseAndFilter(final TreeWalker walker, final String indent, - final Metadata metadata, final StringBuilder sb) { + final Metadata metadata, final Integer currSeqNo, final StringBuilder sb) { final Node parend = walker.getCurrentNode(); final boolean isLogged = appendText(indent, (Element) parend, sb); - + + Integer nodeSeqNo = null; + if (XsdElementEnum.sequence.isTagNameEqual(((Element) parend).getTagName())) { + nodeSeqNo = ++seqNo; + } + + metadata.setCurrentSeqNo(currSeqNo); for (final Filter filter : filterList) { if (filter.filter(metadata, walker)) { - appendText(" catched by: " + filter.getClass().getSimpleName(), sb); + appendText(" catched by: " + filter.getClass().getSimpleName() + " seqNo: " + currSeqNo, sb); break; } } @@ -76,7 +85,7 @@ public void traverseAndFilter(final TreeWalker walker, final String indent, } for (Node n = walker.firstChild(); n != null; n = walker.nextSibling()) { - traverseAndFilter(walker, indent + " ", metadata, sb); + traverseAndFilter(walker, indent + " ", metadata, nodeSeqNo, sb); } walker.setCurrentNode(parend); diff --git a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/Metadata.java b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/Metadata.java index 312ea3af..b9e4c94a 100644 --- a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/Metadata.java +++ b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/Metadata.java @@ -41,6 +41,7 @@ public class Metadata private String currentSchmema; private String currentPackageApi; private String currentPackageImpl; + private Integer currentSeqNo; public List getMetadataDescriptorList() { diff --git a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataElement.java b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataElement.java index c2b74772..21bba15b 100644 --- a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataElement.java +++ b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataElement.java @@ -34,6 +34,7 @@ public class MetadataElement private String minOccurs; private String maxOccurs; private String mappedTo; + private Integer seqNo; /** * Creates a new and empty instance. @@ -140,6 +141,16 @@ public void setMappedTo(final String mappedTo) { this.mappedTo = mappedTo; } + + public Integer getSeqNo() + { + return seqNo; + } + + public void setSeqNo(final Integer seqID) + { + this.seqNo = seqID; + } } diff --git a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParser.java b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParser.java index ed6572ea..159b9df0 100644 --- a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParser.java +++ b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/MetadataParser.java @@ -122,7 +122,7 @@ public void parse(final MetadataParserPath path, final List confList, final b NodeFilter.SHOW_ELEMENT, null, true); final StringBuilder sb = verbose ? new StringBuilder() : null; - filterChain.traverseAndFilter(walker, "", metadata, sb); + filterChain.traverseAndFilter(walker, "", metadata, null, sb); if(sb!=null){ log.info(sb.toString()); diff --git a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/dom/DomWriter.java b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/dom/DomWriter.java index 4615e329..110d0725 100644 --- a/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/dom/DomWriter.java +++ b/metadata-parser/src/main/java/org/jboss/shrinkwrap/descriptor/metadata/dom/DomWriter.java @@ -19,6 +19,10 @@ package org.jboss.shrinkwrap.descriptor.metadata.dom; import java.io.File; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.logging.Logger; import javax.xml.parsers.DocumentBuilder; diff --git a/metadata-parser/src/main/resources/META-INF/ddJavaAll.xsl b/metadata-parser/src/main/resources/META-INF/ddJavaAll.xsl index 75d022e5..024b564e 100644 --- a/metadata-parser/src/main/resources/META-INF/ddJavaAll.xsl +++ b/metadata-parser/src/main/resources/META-INF/ddJavaAll.xsl @@ -24,8 +24,19 @@ + + + @@ -42,14 +53,16 @@ - + + - + + @@ -58,6 +71,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -178,13 +253,13 @@ - + - + @@ -194,13 +269,13 @@ - + - + @@ -235,6 +310,544 @@ + + + + + + + + + + + + + : : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + : : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -264,14 +877,14 @@ - + - + @@ -311,14 +924,14 @@ { - + - + @@ -337,15 +950,31 @@ - + + + + + + + + + + + + + + + - + @@ -354,15 +983,33 @@ - + + + + + + + + + + + + + + - + + @@ -371,14 +1018,14 @@ - + - + @@ -420,7 +1067,158 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -479,12 +1278,11 @@ { - - + @@ -493,7 +1291,6 @@ - } @@ -505,7 +1302,7 @@ - + @@ -577,19 +1374,19 @@ - + - + - + @@ -634,16 +1431,16 @@ - + - + - + @@ -706,10 +1503,10 @@ - + - + @@ -720,6 +1517,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -771,10 +1714,10 @@ - + - + @@ -1113,22 +2056,23 @@ + - + - + - + @@ -1147,8 +2091,9 @@ + - + @@ -1209,7 +2154,7 @@ - + @@ -1222,7 +2167,7 @@ - + @@ -1393,6 +2338,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1469,6 +2440,9 @@ + + + @@ -2515,24 +3489,49 @@ - + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + @@ -2577,6 +3576,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3014,7 +4084,6 @@ - @@ -3127,6 +4196,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { + super(descriptorName, model); + } + + + + { + super(descriptorName); + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3165,12 +4309,13 @@ - + + + - + - @@ -3185,6 +4330,30 @@ } + + + + + + + + + + + + + + + + + + + + + + + + @@ -3319,6 +4488,35 @@ + + + + + + + + + + + { + + + + } + + + + + + + { + + } + + + + + @@ -3329,6 +4527,7 @@ + @@ -3363,6 +4562,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3754,7 +4992,11 @@ + + + + @@ -3809,4 +5051,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/metadata-parser/src/test/java/org/jboss/shrinkwrap/descriptor/metadata/DomTestUtil.java b/metadata-parser/src/test/java/org/jboss/shrinkwrap/descriptor/metadata/DomTestUtil.java index 664a550c..44c1830b 100644 --- a/metadata-parser/src/test/java/org/jboss/shrinkwrap/descriptor/metadata/DomTestUtil.java +++ b/metadata-parser/src/test/java/org/jboss/shrinkwrap/descriptor/metadata/DomTestUtil.java @@ -37,7 +37,7 @@ public static Metadata parse(final String xmlFragment, final boolean isLogging) final TreeWalker walker = traversal.createTreeWalker(w3cDoc.getDocumentElement(), NodeFilter.SHOW_ELEMENT, null, true); - filterChain.traverseAndFilter(walker, "", metadata, sb); + filterChain.traverseAndFilter(walker, "", metadata, null, sb); if (isLogging) { log.info(sb.toString()); diff --git a/metadata-parser/src/test/java/org/jboss/shrinkwrap/descriptor/metadata/filter/ElementFilterTestCase.java b/metadata-parser/src/test/java/org/jboss/shrinkwrap/descriptor/metadata/filter/ElementFilterTestCase.java index d3504094..1be9f760 100644 --- a/metadata-parser/src/test/java/org/jboss/shrinkwrap/descriptor/metadata/filter/ElementFilterTestCase.java +++ b/metadata-parser/src/test/java/org/jboss/shrinkwrap/descriptor/metadata/filter/ElementFilterTestCase.java @@ -1,5 +1,6 @@ package org.jboss.shrinkwrap.descriptor.metadata.filter; +import java.io.File; import java.util.List; import junit.framework.Assert; @@ -7,6 +8,7 @@ import org.jboss.shrinkwrap.descriptor.metadata.DomTestUtil; import org.jboss.shrinkwrap.descriptor.metadata.Metadata; import org.jboss.shrinkwrap.descriptor.metadata.MetadataElement; +import org.jboss.shrinkwrap.descriptor.metadata.dom.DomWriter; import org.junit.Test; /** @@ -42,7 +44,7 @@ public void testElementsWithComplexTypeAsParent() throws Exception { @Test public void testElementsWithGroupAsParent() throws Exception { - final boolean isLogging = false; + final boolean isLogging = true; final String xmlFragment = "" + " " + @@ -81,6 +83,87 @@ public void testElementsWithGroupAsParent() throws Exception { DomTestUtil.assertElement(e.get(10), ""); } + @Test + public void testElementsWithMultipleSequences() throws Exception { + final boolean isLogging = true; + final String xmlFragment = + "" + +// " " + +// " " + +// " " + +// " " + +// " " + +// " " + +// " " + +// " " + +// " " + +// " " + +// " " + +// " " + +// " " + +// " " + +// " " + +// " " + +// " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + +// " " + + ""; + + final Metadata metadata = DomTestUtil.parse(xmlFragment, isLogging); + +// Assert.assertEquals("jndiEnvironmentRefsGroup", metadata.getGroupList().get(0).getName(), "jndiEnvironmentRefsGroup"); +// +// final List e = metadata.getGroupList().get(0).getElements(); +// DomTestUtil.assertElement(e.get(0), " "); +// DomTestUtil.assertElement(e.get(1), " "); +// DomTestUtil.assertElement(e.get(2), ""); +// DomTestUtil.assertElement(e.get(3), ""); +// DomTestUtil.assertElement(e.get(4), ""); +// DomTestUtil.assertElement(e.get(5), " "); +// DomTestUtil.assertElement(e.get(6), ""); +// DomTestUtil.assertElement(e.get(7), ""); +// DomTestUtil.assertElement(e.get(8), " "); +// DomTestUtil.assertElement(e.get(9), ""); +// DomTestUtil.assertElement(e.get(10), ""); + + File tempFile = File.createTempFile("tempMetadata", ".xml"); + new DomWriter().write(metadata, tempFile.getAbsolutePath()); + } + @Test public void testElementsWithReferencedElements() throws Exception { final boolean isLogging = false; diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/application5/ApplicationDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/application5/ApplicationDescriptorTestCase.java index c75e2381..23658fc9 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/application5/ApplicationDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/application5/ApplicationDescriptorTestCase.java @@ -24,6 +24,7 @@ import org.jboss.shrinkwrap.descriptor.api.Descriptors; import org.jboss.shrinkwrap.descriptor.api.application5.ApplicationDescriptor; +import org.jboss.shrinkwrap.descriptor.api.application5.MutableApplicationDescriptor; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; @@ -59,12 +60,12 @@ public class ApplicationDescriptorTestCase /** * Default, empty application descriptor */ - private ApplicationDescriptor emptyDescriptor; + private MutableApplicationDescriptor emptyDescriptor; /** * Fully-populated application descriptor */ - private ApplicationDescriptor fullyPopulatedDescriptor; + private MutableApplicationDescriptor fullyPopulatedDescriptor; //-------------------------------------------------------------------------------------|| // Lifecycle --------------------------------------------------------------------------|| @@ -73,13 +74,13 @@ public class ApplicationDescriptorTestCase @Before public void createEmptyDescriptor() { - emptyDescriptor = Descriptors.create(ApplicationDescriptor.class); + emptyDescriptor = Descriptors.create(MutableApplicationDescriptor.class); } @Before public void createFullyPopulatedDescriptor() { - fullyPopulatedDescriptor = Descriptors.importAs(ApplicationDescriptor.class).fromStream( + fullyPopulatedDescriptor = Descriptors.importAs(MutableApplicationDescriptor.class).fromStream( Thread.currentThread().getContextClassLoader().getResourceAsStream(NAME_EAR_XML)); log.info(fullyPopulatedDescriptor.exportAsString()); } @@ -106,7 +107,7 @@ public void shouldBeAbleToSetName() throws Exception public void shouldBeAbleToAddDescription() throws Exception { final String descName = "Description"; - final String desc = emptyDescriptor.description(descName).exportAsString(); + final String desc = emptyDescriptor.getRoot().description(descName).up().exportAsString(); assertPresenceUsingXPath(desc, "/application/description", descName); } @@ -114,7 +115,7 @@ public void shouldBeAbleToAddDescription() throws Exception public void shouldBeAbleToAddDisplayName() throws Exception { final String displayName = "Display Name"; - final String desc = emptyDescriptor.displayName(displayName).exportAsString(); + final String desc = emptyDescriptor.getRoot().displayName(displayName).up().exportAsString(); assertPresenceUsingXPath(desc, "/application/display-name", displayName); } @@ -122,7 +123,7 @@ public void shouldBeAbleToAddDisplayName() throws Exception public void shouldBeAbleToAddLibraryDirectory() throws Exception { final String libraryDir = "Library Dir"; - final String desc = emptyDescriptor.libraryDirectory(libraryDir).exportAsString(); + final String desc = emptyDescriptor.getRoot().libraryDirectory(libraryDir).up().exportAsString(); assertPresenceUsingXPath(desc, "/application/library-directory", libraryDir); } @@ -172,7 +173,7 @@ public void shouldBeAbleToAddAWebModule() throws Exception public void shouldBeAbleToAddASecurityRole() throws Exception { final String roleName = "Security Role"; - String desc = emptyDescriptor.createSecurityRole().roleName(roleName).up().exportAsString(); + String desc = emptyDescriptor.getRoot().createSecurityRole().roleName(roleName).up().up().exportAsString(); assertPresenceUsingXPath(desc, "/application/security-role/role-name", roleName); } @@ -180,7 +181,7 @@ public void shouldBeAbleToAddASecurityRole() throws Exception public void shouldBeAbleToAddASecurityRoleWithDescription() throws Exception { final String roleDescription = "Security Description"; - String desc = emptyDescriptor.createSecurityRole().description(roleDescription).up().exportAsString(); + String desc = emptyDescriptor.getRoot().createSecurityRole().description(roleDescription).up().up().exportAsString(); assertPresenceUsingXPath(desc, "/application/security-role/description", roleDescription); } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/application6/ApplicationDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/application6/ApplicationDescriptorTestCase.java index 257f3eac..7b33be70 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/application6/ApplicationDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/application6/ApplicationDescriptorTestCase.java @@ -7,6 +7,7 @@ import org.jboss.shrinkwrap.descriptor.api.Descriptors; import org.jboss.shrinkwrap.descriptor.api.application6.ApplicationDescriptor; +import org.jboss.shrinkwrap.descriptor.api.application6.MutableApplicationDescriptor; import org.jboss.shrinkwrap.descriptor.test.util.XmlAssert; import org.junit.Before; import org.junit.Test; @@ -17,8 +18,7 @@ public class ApplicationDescriptorTestCase @Test public void testImportGeneratedApplicationXml() throws Exception { - ApplicationDescriptor app6Descr = create() - .addDefaultNamespaces() + MutableApplicationDescriptor app6Descr = create().getRoot() .version("6") .applicationName("application-name0") .description("description0") @@ -191,7 +191,7 @@ public void testImportGeneratedApplicationXml() throws Exception .maxPoolSize(0) .minPoolSize(0) .maxIdleTime(0) - .maxStatements(0).up(); + .maxStatements(0).up().up(); String appXmlOriginal = getResourceContents("src/test/resources/test-gen-application6.xml"); String appXmlGenerated = app6Descr.exportAsString(); @@ -218,9 +218,9 @@ private String getResourceContents(String resource) throws Exception return builder.toString(); } - private ApplicationDescriptor create() + private MutableApplicationDescriptor create() { - return Descriptors.create(ApplicationDescriptor.class); + return Descriptors.create(MutableApplicationDescriptor.class); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/beans10/BeansDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/beans10/BeansDescriptorTestCase.java index 8cf1f05a..ac0009b0 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/beans10/BeansDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/beans10/BeansDescriptorTestCase.java @@ -23,6 +23,7 @@ import org.jboss.shrinkwrap.descriptor.api.Descriptors; import org.jboss.shrinkwrap.descriptor.api.beans10.BeansDescriptor; +import org.jboss.shrinkwrap.descriptor.api.beans10.MutableBeansDescriptor; import org.jboss.shrinkwrap.descriptor.test.util.XmlAssert; import org.junit.Test; @@ -40,8 +41,8 @@ public class BeansDescriptorTestCase @Test public void testGeneratedXml() throws Exception { - final BeansDescriptor beansDescr = create() - .addDefaultNamespaces() + final MutableBeansDescriptor beansDescr = create().getRoot() +// .addDefaultNamespaces() .getOrCreateInterceptors() .clazz("class0") .clazz("class1") @@ -59,7 +60,7 @@ public void testGeneratedXml() throws Exception .clazz("class11") .stereotype("stereotype0") .stereotype("stereotype1") - .stereotype("stereotype2").up(); + .stereotype("stereotype2").up().up(); String webXmlGenerated = beansDescr.exportAsString(); String webXmlOriginal = getResourceContents("src/test/resources/test-gen-beans10.xml"); @@ -85,8 +86,8 @@ private String getResourceContents(String resource) throws Exception return builder.toString(); } - private BeansDescriptor create() + private MutableBeansDescriptor create() { - return Descriptors.create(BeansDescriptor.class); + return Descriptors.create(MutableBeansDescriptor.class); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector10/ConnectorDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector10/ConnectorDescriptorTestCase.java index d5ba707d..807c8540 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector10/ConnectorDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector10/ConnectorDescriptorTestCase.java @@ -25,6 +25,7 @@ import org.jboss.shrinkwrap.descriptor.api.Descriptors; import org.jboss.shrinkwrap.descriptor.api.connector10.ConnectorDescriptor; +import org.jboss.shrinkwrap.descriptor.api.connector10.MutableConnectorDescriptor; import org.jboss.shrinkwrap.descriptor.test.util.XmlAssert; import org.junit.Test; @@ -51,7 +52,7 @@ public void testSetName() throws Exception @Test public void testHornetQExample() throws Exception { - ConnectorDescriptor jca10Generated = create() + MutableConnectorDescriptor jca10Generated = create().getRoot() .displayName("Sample Adapter") .description("It is a sample resource adapter") .vendorName("JBoss") @@ -77,7 +78,7 @@ public void testHornetQExample() throws Exception .authenticationMechanismType("BasicPassword") .credentialInterface("javax.resource.security.PasswordCredential").up() .reauthenticationSupport("false") - .up(); + .up().up(); String generatedRaXml = jca10Generated.exportAsString(); String originalRaXml = this.getResourceContents("src/test/resources/test-orig-connector10.xml"); @@ -106,9 +107,9 @@ private String getResourceContents(String resource) throws Exception return builder.toString(); } - private ConnectorDescriptor create() + private MutableConnectorDescriptor create() { - return Descriptors.create(ConnectorDescriptor.class); + return Descriptors.create(MutableConnectorDescriptor.class); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector15/ConnectorDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector15/ConnectorDescriptorTestCase.java index e09f4e55..6359649f 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector15/ConnectorDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector15/ConnectorDescriptorTestCase.java @@ -25,6 +25,7 @@ import org.jboss.shrinkwrap.descriptor.api.Descriptors; import org.jboss.shrinkwrap.descriptor.api.connector15.ConnectorDescriptor; +import org.jboss.shrinkwrap.descriptor.api.connector15.MutableConnectorDescriptor; import org.jboss.shrinkwrap.descriptor.test.util.XmlAssert; import org.junit.Test; @@ -51,8 +52,8 @@ public void testSetName() throws Exception @Test public void testHornetQExample() throws Exception { - ConnectorDescriptor jca15Generated = create() - .addDefaultNamespaces() + MutableConnectorDescriptor jca15Generated = create().getRoot() +// .addDefaultNamespaces() .version("1.5") .description("HornetQ 2.0 Resource Adapter") .displayName("HornetQ 2.0 Resource Adapter") @@ -123,7 +124,7 @@ public void testHornetQExample() throws Exception .up() .up() .up() - .up(); + .up().up(); String generatedRaXml = jca15Generated.exportAsString(); String hornetQRaXml = this.getResourceContents("src/test/resources/test-orig-connector15.xml"); @@ -150,9 +151,9 @@ private String getResourceContents(String resource) throws Exception return builder.toString(); } - private ConnectorDescriptor create() + private MutableConnectorDescriptor create() { - return Descriptors.create(ConnectorDescriptor.class); + return Descriptors.create(MutableConnectorDescriptor.class); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector16/ConnectorDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector16/ConnectorDescriptorTestCase.java index 6235c9ba..0ea4ee24 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector16/ConnectorDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector16/ConnectorDescriptorTestCase.java @@ -23,6 +23,7 @@ import org.jboss.shrinkwrap.descriptor.api.Descriptors; import org.jboss.shrinkwrap.descriptor.api.connector16.ConnectorDescriptor; +import org.jboss.shrinkwrap.descriptor.api.connector16.MutableConnectorDescriptor; import org.jboss.shrinkwrap.descriptor.test.util.XmlAssert; import org.junit.Test; @@ -49,8 +50,8 @@ public void testSetName() throws Exception @Test public void testGenExample() throws Exception { - ConnectorDescriptor jca16Descr = create() - .addDefaultNamespaces() + MutableConnectorDescriptor jca16Descr = create().getRoot() +// .addDefaultNamespaces() .version("1.6") .moduleName("module-name0") .description("description0") @@ -115,7 +116,7 @@ public void testGenExample() throws Exception .createSecurityPermission() .description("description6") .securityPermissionSpec("security-permission-spec0").up().up() - .requiredWorkContext("required-work-context0"); + .requiredWorkContext("required-work-context0").up(); String createdRaXml = jca16Descr.exportAsString(); String generatedRaXml = getResourceContents("src/test/resources/test-gen-connector16.xml"); @@ -142,9 +143,9 @@ private String getResourceContents(String resource) throws Exception return builder.toString(); } - private ConnectorDescriptor create() + private MutableConnectorDescriptor create() { - return Descriptors.create(ConnectorDescriptor.class); + return Descriptors.create(MutableConnectorDescriptor.class); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejb30/EjbJarDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejb30/EjbJarDescriptorTestCase.java index d83a1870..1086bb9f 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejb30/EjbJarDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejb30/EjbJarDescriptorTestCase.java @@ -20,6 +20,7 @@ import org.jboss.shrinkwrap.descriptor.api.Descriptors; import org.jboss.shrinkwrap.descriptor.api.ejbjar30.EjbJarDescriptor; +import org.jboss.shrinkwrap.descriptor.api.ejbjar30.MutableEjbJarDescriptor; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; @@ -46,7 +47,7 @@ public class EjbJarDescriptorTestCase /** * Descriptor under test */ - private EjbJarDescriptor fullyPopulatedDescriptor; + private MutableEjbJarDescriptor fullyPopulatedDescriptor; /** * Creates the fully-populated descriptor @@ -54,7 +55,7 @@ public class EjbJarDescriptorTestCase @Before public void createDescriptor() { - fullyPopulatedDescriptor = Descriptors.importAs(EjbJarDescriptor.class).fromStream( + fullyPopulatedDescriptor = Descriptors.importAs(MutableEjbJarDescriptor.class).fromStream( Thread.currentThread().getContextClassLoader().getResourceAsStream(NAME_EJB_JAR)); log.info(fullyPopulatedDescriptor.exportAsString()); } @@ -64,7 +65,7 @@ public void test() { //TODO Placeholder for porting tests // SHRINKDESC-61 @SuppressWarnings("unused") - final EjbJarDescriptor d = Descriptors.create(EjbJarDescriptor.class); + final MutableEjbJarDescriptor d = Descriptors.create(MutableEjbJarDescriptor.class); log.info(fullyPopulatedDescriptor.exportAsString()); } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejbjar31/EjbJarDescriptorReaderTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejbjar31/EjbJarDescriptorReaderTestCase.java index 6b7f9727..f789d8cf 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejbjar31/EjbJarDescriptorReaderTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejbjar31/EjbJarDescriptorReaderTestCase.java @@ -10,7 +10,7 @@ import java.util.logging.Logger; import org.jboss.shrinkwrap.descriptor.api.Descriptors; -import org.jboss.shrinkwrap.descriptor.api.ejbjar31.EjbJarDescriptorReader; +import org.jboss.shrinkwrap.descriptor.api.ejbjar31.EjbJarDescriptor; import org.jboss.shrinkwrap.descriptor.api.ejbjar31.EnterpriseBeansTypeReader; import org.jboss.shrinkwrap.descriptor.api.ejbjar31.MessageDrivenBeanTypeReader; import org.jboss.shrinkwrap.descriptor.api.ejbjar31.MethodParamsTypeReader; @@ -41,17 +41,17 @@ public void init() @Test public void testGeneratedEjbJarReaderXml() throws Exception { - final EjbJarDescriptorReader ejbJarReader = importFromString(getResourceContents("src/test/resources/test-gen-ejbjar31.xml")); - assertEquals(ejbJarReader.getVersion(), "3.1"); - assertEquals(ejbJarReader.getModuleName(), "module-name0"); - assertEquals(ejbJarReader.getAllDescription().get(0), "description0"); - assertEquals(ejbJarReader.getAllDisplayName().get(0), "display-name0"); + final EjbJarDescriptor ejbJarReader = importFromString(getResourceContents("src/test/resources/test-gen-ejbjar31.xml")); + assertEquals(ejbJarReader.getRoot().getVersion(), "3.1"); + assertEquals(ejbJarReader.getRoot().getModuleName(), "module-name0"); + assertEquals(ejbJarReader.getRoot().getAllDescription().get(0), "description0"); + assertEquals(ejbJarReader.getRoot().getAllDisplayName().get(0), "display-name0"); - final IconTypeReader iconTypeReader = ejbJarReader.getAllIcon().get(0); + final IconTypeReader iconTypeReader = ejbJarReader.getRoot().getAllIcon().get(0); assertEquals(iconTypeReader.getSmallIcon(), "small-icon0"); assertEquals(iconTypeReader.getLargeIcon(), "large-icon0"); - final EnterpriseBeansTypeReader enterpriseBeansTypeReader = ejbJarReader.getEnterpriseBeans(); + final EnterpriseBeansTypeReader enterpriseBeansTypeReader = ejbJarReader.getRoot().getEnterpriseBeans(); final MessageDrivenBeanTypeReader messageDrivenBeanTypeReader = (MessageDrivenBeanTypeReader) enterpriseBeansTypeReader.getAllMessageDriven().get(0); assertEquals(messageDrivenBeanTypeReader.getAllDescription().get(0), "description1"); @@ -548,9 +548,9 @@ private String getResourceContents(String resource) throws Exception return builder.toString(); } - private EjbJarDescriptorReader importFromString(final String str) + private EjbJarDescriptor importFromString(final String str) { - return Descriptors.importAs(EjbJarDescriptorReader.class).from(str); + return Descriptors.importAs(EjbJarDescriptor.class).from(str); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejbjar31/EjbJarDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejbjar31/EjbJarDescriptorTestCase.java index 0a7806ec..d374eb57 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejbjar31/EjbJarDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejbjar31/EjbJarDescriptorTestCase.java @@ -8,6 +8,7 @@ import org.jboss.shrinkwrap.descriptor.api.Descriptors; import org.jboss.shrinkwrap.descriptor.api.ejbjar31.EjbJarDescriptor; +import org.jboss.shrinkwrap.descriptor.api.ejbjar31.MutableEjbJarDescriptor; import org.jboss.shrinkwrap.descriptor.test.application5.ApplicationDescriptorTestCase; import org.jboss.shrinkwrap.descriptor.test.util.XmlAssert; import org.junit.Before; @@ -32,8 +33,8 @@ public void init() @Test public void testGeneratedEjbJarXml() throws Exception { - EjbJarDescriptor ejbJarGenerated = create() - .addDefaultNamespaces() + MutableEjbJarDescriptor ejbJarGenerated = create().getRoot() +// .addDefaultNamespaces() .version("3.1") .moduleName("module-name0") .description("description0") @@ -499,7 +500,7 @@ public void testGeneratedEjbJarXml() throws Exception .exceptionClass("exception-class0") .rollback(false) .inherited(false).up().up() - .ejbClientJar("ejb-client-jar0"); + .ejbClientJar("ejb-client-jar0").up(); String webXmlGenerated = ejbJarGenerated.exportAsString(); String webXmlOriginal = getResourceContents("src/test/resources/test-gen-ejbjar31.xml"); @@ -512,8 +513,8 @@ public void testGeneratedEjbJarXml() throws Exception @Test public void testInterceptors() throws Exception { - EjbJarDescriptor ejbJarGenerated = create() - .addDefaultNamespaces() + MutableEjbJarDescriptor ejbJarGenerated = create().getRoot() +// .addDefaultNamespaces() .version("3.1") .getOrCreateInterceptors() .createInterceptor().interceptorClass(" enterprise.annot_ovd_interceptor_ejb.NullChecker ").up() @@ -530,7 +531,7 @@ public void testInterceptors() throws Exception .methodName("isOddNumber") .up() .up() - .up(); + .up().up(); String webXmlGenerated = ejbJarGenerated.exportAsString(); String webXmlOriginal = getResourceContents("src/test/resources/test-orig-ejbjar31.xml"); @@ -557,9 +558,9 @@ private String getResourceContents(String resource) throws Exception return builder.toString(); } - private EjbJarDescriptor create() + private MutableEjbJarDescriptor create() { - return Descriptors.create(EjbJarDescriptor.class); + return Descriptors.create(MutableEjbJarDescriptor.class); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/facesconfig20/FacesConfigDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/facesconfig20/FacesConfigDescriptorTestCase.java index f48dbcd3..8ca27476 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/facesconfig20/FacesConfigDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/facesconfig20/FacesConfigDescriptorTestCase.java @@ -11,6 +11,7 @@ import org.jboss.shrinkwrap.descriptor.api.Descriptors; import org.jboss.shrinkwrap.descriptor.api.facesconfig20.FacesConfigVersionType; +import org.jboss.shrinkwrap.descriptor.api.facesconfig20.MutableWebFacesConfigDescriptor; import org.jboss.shrinkwrap.descriptor.api.facesconfig20.WebFacesConfigDescriptor; import org.jboss.shrinkwrap.descriptor.spi.node.Node; import org.jboss.shrinkwrap.descriptor.spi.node.NodeDescriptor; @@ -68,32 +69,32 @@ public void verifySchemaLocation() { @Test public void shouldBeAbleToOverrideVersionInWebFacesConfigDescriptor() throws Exception { // Make a descriptor - final WebFacesConfigDescriptor facesConfig = Descriptors.importAs(WebFacesConfigDescriptor.class).fromString(source); + final MutableWebFacesConfigDescriptor facesConfig = Descriptors.importAs(MutableWebFacesConfigDescriptor.class).fromString(source); - facesConfig.version("2.0"); - Assert.assertEquals("2.0", facesConfig.getVersionAsString()); + facesConfig.getRoot().version("2.0"); + Assert.assertEquals("2.0", facesConfig.getRoot().getVersionAsString()); // Get as Node structure final InputStream stream = new ByteArrayInputStream(facesConfig.exportAsString().getBytes()); - final WebFacesConfigDescriptor fromFacesConfigXml = Descriptors.importAs(WebFacesConfigDescriptor.class).fromStream( + final MutableWebFacesConfigDescriptor fromFacesConfigXml = Descriptors.importAs(MutableWebFacesConfigDescriptor.class).fromStream( stream); final Node root = ((NodeDescriptor) fromFacesConfigXml).getRootNode(); // Preconditions - Assert.assertEquals("2.0", facesConfig.getVersionAsString()); + Assert.assertEquals("2.0", facesConfig.getRoot().getVersionAsString()); Assert.assertTrue(root.getAttribute("xsi:schemaLocation").contains("web-facesconfig_2_0.xsd")); // Change the version - facesConfig.version("2.1"); + facesConfig.getRoot().version("2.1"); // Check that everything was updated - Assert.assertEquals("2.1", facesConfig.getVersionAsString()); + Assert.assertEquals("2.1", facesConfig.getRoot().getVersionAsString()); } @Test public void testGeneratedFacesConfigXml() throws Exception { - final WebFacesConfigDescriptor facesConfig = create() - .addDefaultNamespaces() + final MutableWebFacesConfigDescriptor facesConfig = create().getRoot() +// .addDefaultNamespaces() .version(FacesConfigVersionType._2_0) .name("SeamBooking") .getOrCreateNavigationRule() @@ -193,7 +194,7 @@ public void testGeneratedFacesConfigXml() throws Exception { .baseName("messages") .var("messages") .up() - .up(); + .up().up(); String facesConfigXmlGenerated = facesConfig.exportAsString(); String facesConfigXmlOriginal = getResourceContents("src/test/resources/test-orig-facesconfig20.xml"); @@ -217,8 +218,8 @@ private String getResourceContents(String resource) throws Exception { return builder.toString(); } - private WebFacesConfigDescriptor create() { - return Descriptors.create(WebFacesConfigDescriptor.class); + private MutableWebFacesConfigDescriptor create() { + return Descriptors.create(MutableWebFacesConfigDescriptor.class); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jbossweb60/JbossWebDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jbossweb60/JbossWebDescriptorTestCase.java index 784c6782..7ed3ea10 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jbossweb60/JbossWebDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jbossweb60/JbossWebDescriptorTestCase.java @@ -7,6 +7,7 @@ import org.jboss.shrinkwrap.descriptor.api.Descriptors; import org.jboss.shrinkwrap.descriptor.api.jbossweb60.JbossWebDescriptor; +import org.jboss.shrinkwrap.descriptor.api.jbossweb60.MutableJbossWebDescriptor; import org.jboss.shrinkwrap.descriptor.test.util.XmlAssert; import org.junit.Before; import org.junit.Test; @@ -25,8 +26,8 @@ public void init() @Test public void testGeneratedJbossWeb60Xml() throws Exception { - JbossWebDescriptor ejbJarGenerated = create() - .addDefaultNamespaces() + MutableJbossWebDescriptor ejbJarGenerated = create().getRoot() +// .addDefaultNamespaces() .version("6.0") .getOrCreateClassLoading().javaClassLoadingCompliance(false) .getOrCreateLoaderRepository().loaderRepositoryClass("loaderRepositoryClass1") @@ -563,7 +564,7 @@ public void testGeneratedJbossWeb60Xml() throws Exception .location("location0") .maxFileSize(-1073741773L) .maxRequestSize(-1073741773L) - .fileSizeThreshold(0).up().up() + .fileSizeThreshold(0).up().up().up() ; String webXmlGenerated = ejbJarGenerated.exportAsString(); @@ -591,9 +592,9 @@ private String getResourceContents(String resource) throws Exception return builder.toString(); } - private JbossWebDescriptor create() + private MutableJbossWebDescriptor create() { - return Descriptors.create(JbossWebDescriptor.class); + return Descriptors.create(MutableJbossWebDescriptor.class); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jetty7/Jetty7TestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jetty7/Jetty7TestCase.java index 45092814..e8ee831a 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jetty7/Jetty7TestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jetty7/Jetty7TestCase.java @@ -8,7 +8,7 @@ import org.custommonkey.xmlunit.XMLUnit; import org.jboss.shrinkwrap.descriptor.api.Descriptors; -import org.jboss.shrinkwrap.descriptor.api.jetty7.JettyDescriptor; +import org.jboss.shrinkwrap.descriptor.api.jetty7.MutableJettyDescriptor; import org.jboss.shrinkwrap.descriptor.test.util.XmlAssert; import org.junit.Test; import org.xml.sax.EntityResolver; @@ -22,7 +22,7 @@ public class Jetty7TestCase @Test public void testJettyConfiguration() throws Exception { - final JettyDescriptor jetty7Generated = create().clazz("class0").id("id0") + final MutableJettyDescriptor jetty7Generated = create().getRoot().clazz("class0").id("id0") .getOrCreateNew().clazz("class1").id("id1") .createArg().type("type0") .getOrCreateArray().type("type1").id("id2") @@ -73,7 +73,7 @@ public void testJettyConfiguration() throws Exception .up() .up() .up() - .up(); + .up().up(); String generatedJettyXml = jetty7Generated.exportAsString(); String originalJettyXml = this.getResourceContents("src/test/resources/test-orig-jetty7.xml"); @@ -113,9 +113,9 @@ private String getResourceContents(String resource) throws Exception return builder.toString(); } - private JettyDescriptor create() + private MutableJettyDescriptor create() { - return Descriptors.create(JettyDescriptor.class); + return Descriptors.create(MutableJettyDescriptor.class); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jsptaglibrary20/WebJspTagLibraryDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jsptaglibrary20/WebJspTagLibraryDescriptorTestCase.java index f49a5700..1a661011 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jsptaglibrary20/WebJspTagLibraryDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jsptaglibrary20/WebJspTagLibraryDescriptorTestCase.java @@ -23,6 +23,7 @@ import java.util.logging.Logger; import org.jboss.shrinkwrap.descriptor.api.Descriptors; +import org.jboss.shrinkwrap.descriptor.api.jsptaglibrary20.MutableWebJsptaglibraryDescriptor; import org.jboss.shrinkwrap.descriptor.api.jsptaglibrary20.WebJsptaglibraryDescriptor; import org.jboss.shrinkwrap.descriptor.test.util.XmlAssert; import org.junit.Before; @@ -48,8 +49,8 @@ public void init() @Test public void testGeneratedWebJspTagLibrary20Xml() throws Exception { - WebJsptaglibraryDescriptor ejbJarGenerated = create() - .addDefaultNamespaces() + MutableWebJsptaglibraryDescriptor ejbJarGenerated = create().getRoot() +// .addDefaultNamespaces() .version("2.0") .description("description0") .description("description1") @@ -207,7 +208,7 @@ public void testGeneratedWebJspTagLibrary20Xml() throws Exception .name("name9") .functionClass("function-class1") .functionSignature("function-signature1") - .example("example5").up() + .example("example5").up().up() ; String webXmlGenerated = ejbJarGenerated.exportAsString(); @@ -237,9 +238,9 @@ private String getResourceContents(String resource) throws Exception return builder.toString(); } - private WebJsptaglibraryDescriptor create() + private MutableWebJsptaglibraryDescriptor create() { - return Descriptors.create(WebJsptaglibraryDescriptor.class); + return Descriptors.create(MutableWebJsptaglibraryDescriptor.class); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jsptaglibrary21/WebJspTagLibraryDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jsptaglibrary21/WebJspTagLibraryDescriptorTestCase.java index 8dc8ee4e..7cfc04b9 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jsptaglibrary21/WebJspTagLibraryDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jsptaglibrary21/WebJspTagLibraryDescriptorTestCase.java @@ -22,6 +22,7 @@ import java.util.TimeZone; import org.jboss.shrinkwrap.descriptor.api.Descriptors; +import org.jboss.shrinkwrap.descriptor.api.jsptaglibrary21.MutableWebJsptaglibraryDescriptor; import org.jboss.shrinkwrap.descriptor.api.jsptaglibrary21.WebJsptaglibraryDescriptor; import org.jboss.shrinkwrap.descriptor.test.util.XmlAssert; import org.junit.Before; @@ -45,8 +46,8 @@ public void init() @Test public void testGeneratedWebJspTagLibrary21Xml() throws Exception { - WebJsptaglibraryDescriptor ejbJarGenerated = create() - .addDefaultNamespaces() + MutableWebJsptaglibraryDescriptor ejbJarGenerated = create().getRoot() +// .addDefaultNamespaces() .version("2.1") .description("description0") .description("description1") @@ -206,7 +207,7 @@ public void testGeneratedWebJspTagLibrary21Xml() throws Exception .name("name9") .functionClass("function-class1") .functionSignature("function-signature1") - .example("example5").up() + .example("example5").up().up() ; String webXmlGenerated = ejbJarGenerated.exportAsString(); @@ -233,9 +234,9 @@ private String getResourceContents(String resource) throws Exception return builder.toString(); } - private WebJsptaglibraryDescriptor create() + private MutableWebJsptaglibraryDescriptor create() { - return Descriptors.create(WebJsptaglibraryDescriptor.class); + return Descriptors.create(MutableWebJsptaglibraryDescriptor.class); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/persistence10/PersistenceDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/persistence10/PersistenceDescriptorTestCase.java index 26406b2d..a4afdcf3 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/persistence10/PersistenceDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/persistence10/PersistenceDescriptorTestCase.java @@ -4,6 +4,7 @@ import java.io.FileReader; import org.jboss.shrinkwrap.descriptor.api.Descriptors; +import org.jboss.shrinkwrap.descriptor.api.persistence10.MutablePersistenceDescriptor; import org.jboss.shrinkwrap.descriptor.api.persistence10.PersistenceDescriptor; import org.jboss.shrinkwrap.descriptor.test.util.XmlAssert; import org.junit.Test; @@ -14,8 +15,8 @@ public class PersistenceDescriptorTestCase @Test public void testGeneratedPersistenceXml() throws Exception { - final PersistenceDescriptor persistence = create() - .addDefaultNamespaces() + final MutablePersistenceDescriptor persistence = create().getRoot() +// .addDefaultNamespaces() .version("1.0") .createPersistenceUnit() .name("name1") @@ -50,7 +51,7 @@ public void testGeneratedPersistenceXml() throws Exception .getOrCreateProperties() .createProperty().name("name9").value("value5").up() .createProperty().name("name11").value("value7").up() - .up().up(); + .up().up().up(); String webXmlGenerated = persistence.exportAsString(); String webXmlOriginal = getResourceContents("src/test/resources/test-gen-persistence10.xml"); @@ -77,8 +78,8 @@ private String getResourceContents(String resource) throws Exception return builder.toString(); } - private PersistenceDescriptor create() + private MutablePersistenceDescriptor create() { - return Descriptors.create(PersistenceDescriptor.class); + return Descriptors.create(MutablePersistenceDescriptor.class); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/persistence20/PersistenceDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/persistence20/PersistenceDescriptorTestCase.java index 09a9cb29..506a01de 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/persistence20/PersistenceDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/persistence20/PersistenceDescriptorTestCase.java @@ -4,6 +4,7 @@ import java.io.FileReader; import org.jboss.shrinkwrap.descriptor.api.Descriptors; +import org.jboss.shrinkwrap.descriptor.api.persistence20.MutablePersistenceDescriptor; import org.jboss.shrinkwrap.descriptor.api.persistence20.PersistenceDescriptor; import org.jboss.shrinkwrap.descriptor.test.util.XmlAssert; import org.junit.Test; @@ -14,8 +15,8 @@ public class PersistenceDescriptorTestCase @Test public void testGeneratedPersistenceXml() throws Exception { - final PersistenceDescriptor persistence = create() - .addDefaultNamespaces() + final MutablePersistenceDescriptor persistence = create().getRoot() +// .addDefaultNamespaces() .version("2.0") .createPersistenceUnit() .name("name1") @@ -56,7 +57,7 @@ public void testGeneratedPersistenceXml() throws Exception .getOrCreateProperties() .createProperty().name("name9").value("value5").up() .createProperty().name("name11").value("value7").up() - .up().up(); + .up().up().up(); String webXmlGenerated = persistence.exportAsString(); String webXmlOriginal = getResourceContents("src/test/resources/test-gen-persistence20.xml"); @@ -83,8 +84,8 @@ private String getResourceContents(String resource) throws Exception return builder.toString(); } - private PersistenceDescriptor create() + private MutablePersistenceDescriptor create() { - return Descriptors.create(PersistenceDescriptor.class); + return Descriptors.create(MutablePersistenceDescriptor.class); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/BeansDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/BeansDescriptorTestCase.java index 3c5b6d30..fcb6aad2 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/BeansDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/BeansDescriptorTestCase.java @@ -30,6 +30,7 @@ import org.jboss.shrinkwrap.descriptor.api.Descriptors; import org.jboss.shrinkwrap.descriptor.api.beans10.BeansDescriptor; +import org.jboss.shrinkwrap.descriptor.api.beans10.MutableBeansDescriptor; import org.junit.Ignore; import org.junit.Test; @@ -81,7 +82,7 @@ public void shouldCreateDefaultName() throws Exception @Test public void shouldBeAbleToSetName() throws Exception { - Assert.assertEquals("test.xml", Descriptors.create(BeansDescriptor.class, "test.xml").getDescriptorName()); + Assert.assertEquals("test.xml", Descriptors.create(MutableBeansDescriptor.class, "test.xml").getDescriptorName()); } @Test @@ -92,9 +93,9 @@ public void shouldHaveCorrectSchemaLocation() "http://java.sun.com/xml/ns/javaee/beans_1_0.xsd"; // when - final String descriptorXml = create().getOrCreateAlternatives() + final String descriptorXml = create().getRoot().getOrCreateAlternatives() .stereotype(TestAlternativeStereoType.class.getName()) - .up() + .up().up() .exportAsString(); // then @@ -111,13 +112,13 @@ public void shouldHaveCorrectSchemaLocation() @Test(expected = IllegalArgumentException.class) public void shouldNotBeAbleToAddNonAlternativeStereoType() { - create().getOrCreateAlternatives().clazz(Override.class.getName()); + create().getRoot().getOrCreateAlternatives().clazz(Override.class.getName()); } @Test public void shouldBeAbleToAddAlternativeStereoType() throws Exception { - final String desc = create().getOrCreateAlternatives().stereotype(TestAlternativeStereoType.class.getName()).up() + final String desc = create().getRoot().getOrCreateAlternatives().stereotype(TestAlternativeStereoType.class.getName()).up().up() .exportAsString(); log.info(desc); @@ -127,8 +128,8 @@ public void shouldBeAbleToAddAlternativeStereoType() throws Exception @Test public void shouldBeAbleToAddAlternativeStereoTypes() throws Exception { - final String desc = create().getOrCreateAlternatives() - .stereotype(TestAlternativeStereoType.class.getName(), TestAlternativeStereoType.class.getName()).up() + final String desc = create().getRoot().getOrCreateAlternatives() + .stereotype(TestAlternativeStereoType.class.getName(), TestAlternativeStereoType.class.getName()).up().up() .exportAsString(); log.info(desc); assertPresenceUsingXPath(desc, "/beans/alternatives/stereotype", TestAlternativeStereoType.class.getName(), TestAlternativeStereoType.class.getName()); @@ -144,14 +145,14 @@ public void shouldBeAbleToAddAlternativeStereoTypes() throws Exception @Test(expected = IllegalArgumentException.class) public void shouldNotBeAbleToAddNonAlternativeClass() { - create().getOrCreateAlternatives() + create().getRoot().getOrCreateAlternatives() .clazz(String.class.getName()); } @Test public void shouldBeAbleToAddAlternativeClass() throws Exception { - final String desc = create().getOrCreateAlternatives().clazz(TestAlternativeClass.class.getName()).up() + final String desc = create().getRoot().getOrCreateAlternatives().clazz(TestAlternativeClass.class.getName()).up().up() .exportAsString(); assertPresenceUsingXPath(desc, "/beans/alternatives/class", TestAlternativeClass.class.getName()); @@ -160,8 +161,8 @@ public void shouldBeAbleToAddAlternativeClass() throws Exception @Test public void shouldBeAbleToAddAlternativeClasses() throws Exception { - final String desc = create().getOrCreateAlternatives() - .clazz(TestAlternativeClass.class.getName(), TestAlternativeClass.class.getName()).up().exportAsString(); + final String desc = create().getRoot().getOrCreateAlternatives() + .clazz(TestAlternativeClass.class.getName(), TestAlternativeClass.class.getName()).up().up().exportAsString(); assertPresenceUsingXPath(desc, "/beans/alternatives/class", TestAlternativeClass.class.getName(), TestAlternativeClass.class.getName()); } @@ -175,13 +176,13 @@ public void shouldBeAbleToAddAlternativeClasses() throws Exception @Test(expected = IllegalArgumentException.class) public void shouldNotBeAbleToAddNonInterceptor() throws Exception { - create().getOrCreateInterceptors().clazz(String.class.getName()); + create().getRoot().getOrCreateInterceptors().clazz(String.class.getName()); } @Test public void shouldBeAbleToAddInterceptor() throws Exception { - final String desc = create().getOrCreateInterceptors().clazz(TestInterceptor.class.getName()).up() + final String desc = create().getRoot().getOrCreateInterceptors().clazz(TestInterceptor.class.getName()).up().up() .exportAsString(); assertPresenceUsingXPath(desc, "/beans/interceptors/class", TestInterceptor.class.getName()); @@ -190,8 +191,8 @@ public void shouldBeAbleToAddInterceptor() throws Exception @Test public void shouldBeAbleToAddInterceptors() throws Exception { - final String desc = create().getOrCreateInterceptors() - .clazz(TestInterceptor.class.getName(), TestInterceptor.class.getName()).up().exportAsString(); + final String desc = create().getRoot().getOrCreateInterceptors() + .clazz(TestInterceptor.class.getName(), TestInterceptor.class.getName()).up().up().exportAsString(); assertPresenceUsingXPath(desc, "/beans/interceptors/class", TestInterceptor.class.getName(), TestInterceptor.class.getName()); } @@ -205,21 +206,21 @@ public void shouldBeAbleToAddInterceptors() throws Exception @Test(expected = IllegalArgumentException.class) public void shouldNotBeAbleToAddNonDecorator() throws Exception { - create().getOrCreateDecorators().clazz(String.class.getName()); + create().getRoot().getOrCreateDecorators().clazz(String.class.getName()); } @Test public void shouldBeAbleToAddDescorator() throws Exception { - String desc = create().getOrCreateDecorators().clazz(TestDecorator.class.getName()).up().exportAsString(); + String desc = create().getRoot().getOrCreateDecorators().clazz(TestDecorator.class.getName()).up().up().exportAsString(); assertPresenceUsingXPath(desc, "/beans/decorators/class", TestDecorator.class.getName()); } @Test public void shouldBeAbleToAddDescorators() throws Exception { - final String desc = create().getOrCreateDecorators() - .clazz(TestDecorator.class.getName(), TestDecorator.class.getName()).up().exportAsString(); + final String desc = create().getRoot().getOrCreateDecorators() + .clazz(TestDecorator.class.getName(), TestDecorator.class.getName()).up().up().exportAsString(); assertPresenceUsingXPath(desc, "/beans/decorators/class", TestDecorator.class.getName(), TestDecorator.class.getName()); } @@ -230,10 +231,10 @@ public void shouldBeAbleToAddDescorators() throws Exception @Test public void shouldBeAbleToReadWhatWasExported() throws Exception { - final String desc = create().getOrCreateDecorators() - .clazz(TestDecorator.class.getName(), TestDecorator.class.getName()).up().exportAsString(); + final String desc = create().getRoot().getOrCreateDecorators() + .clazz(TestDecorator.class.getName(), TestDecorator.class.getName()).up().up().exportAsString(); - final String roundtrip = Descriptors.importAs(BeansDescriptor.class).fromString(desc).exportAsString(); + final String roundtrip = Descriptors.importAs(MutableBeansDescriptor.class).fromString(desc).exportAsString(); assertPresenceUsingXPath(roundtrip, "/beans/decorators/class", TestDecorator.class.getName(), TestDecorator.class.getName()); @@ -246,10 +247,10 @@ public void shouldBeAbleToReadWhatWasExported() throws Exception @Test public void shouldBeAbleToGenerateComplexDescriptor() throws Exception { - final BeansDescriptor beans = Descriptors.create(BeansDescriptor.class).getOrCreateInterceptors() + final MutableBeansDescriptor beans = Descriptors.create(MutableBeansDescriptor.class).getRoot().getOrCreateInterceptors() .clazz(TestInterceptor.class.getName(), TestAnotherInterceptor.class.getName()).up() .getOrCreateDecorators().clazz(TestDecorator.class.getName()).up().getOrCreateAlternatives() - .stereotype(TestAlternativeStereoType.class.getName()).up(); + .stereotype(TestAlternativeStereoType.class.getName()).up().up(); String xml = beans.exportAsString(); assertPresenceUsingXPath(xml, "/beans/interceptors/class", TestInterceptor.class.getName(), TestAnotherInterceptor.class.getName()); @@ -261,8 +262,8 @@ public void shouldBeAbleToGenerateComplexDescriptor() throws Exception // Internal Helper --------------------------------------------------------------------|| //-------------------------------------------------------------------------------------|| - private BeansDescriptor create() + private MutableBeansDescriptor create() { - return Descriptors.create(BeansDescriptor.class); + return Descriptors.create(MutableBeansDescriptor.class); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/DescriptorExporterTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/DescriptorExporterTestCase.java index 3b84cc7d..9c370c05 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/DescriptorExporterTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/DescriptorExporterTestCase.java @@ -19,6 +19,7 @@ import java.io.ByteArrayOutputStream; import org.jboss.shrinkwrap.descriptor.api.Descriptors; +import org.jboss.shrinkwrap.descriptor.api.webapp30.MutableWebAppDescriptor; import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor; import org.junit.Assert; import org.junit.Ignore; @@ -38,7 +39,7 @@ public class DescriptorExporterTestCase public void shouldBeAbleToExportToStream() throws Exception { final String name = DescriptorExporterTestCase.class.getName(); - final WebAppDescriptor descriptor = Descriptors.create(WebAppDescriptor.class).displayName(name); + final MutableWebAppDescriptor descriptor = Descriptors.create(MutableWebAppDescriptor.class).getRoot().displayName(name).up(); final ByteArrayOutputStream output = new ByteArrayOutputStream(); descriptor.exportTo(output); diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/DescriptorsTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/DescriptorsTestCase.java index 22a8df88..6d20e9c7 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/DescriptorsTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/DescriptorsTestCase.java @@ -57,7 +57,7 @@ public void shouldBeAbleToConstructDescriptorFromString() throws Exception Assert.assertNotNull(web); - Assert.assertEquals(1, web.getAllFilter().size()); - Assert.assertEquals(1, web.getAllFilterMapping().size()); + Assert.assertEquals(1, web.getRoot().getAllFilter().size()); + Assert.assertEquals(1, web.getRoot().getAllFilterMapping().size()); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorEclipseLinkTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorEclipseLinkTestCase.java index 46b3b933..6f4f66ad 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorEclipseLinkTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorEclipseLinkTestCase.java @@ -3,6 +3,7 @@ import static org.jboss.shrinkwrap.descriptor.test.util.XmlAssert.assertPresenceUsingXPath; import org.jboss.shrinkwrap.descriptor.api.Descriptors; +import org.jboss.shrinkwrap.descriptor.api.persistence20.MutablePersistenceDescriptor; import org.jboss.shrinkwrap.descriptor.api.persistence20.PersistenceDescriptor; import org.junit.Ignore; import org.junit.Test; @@ -65,9 +66,9 @@ private void shouldBeAbleSetSchemaGenerationMode(String providerType, String gen // assertPresenceUsingXPath(desc, "/persistence/persistence-unit/properties/property/@value", expectedValue); } - private PersistenceDescriptor create() + private MutablePersistenceDescriptor create() { - return Descriptors.create(PersistenceDescriptor.class).getOrCreatePersistenceUnit().name(this.getClass().getSimpleName()).up(); + return Descriptors.create(MutablePersistenceDescriptor.class).getRoot().getOrCreatePersistenceUnit().name(this.getClass().getSimpleName()).up().up(); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorHibernateTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorHibernateTestCase.java index 84783052..56d9936b 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorHibernateTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorHibernateTestCase.java @@ -3,6 +3,7 @@ import static org.jboss.shrinkwrap.descriptor.test.util.XmlAssert.assertPresenceUsingXPath; import org.jboss.shrinkwrap.descriptor.api.Descriptors; +import org.jboss.shrinkwrap.descriptor.api.persistence20.MutablePersistenceDescriptor; import org.jboss.shrinkwrap.descriptor.api.persistence20.PersistenceDescriptor; import org.junit.Ignore; import org.junit.Test; @@ -17,7 +18,7 @@ public class PersistenceDescriptorHibernateTestCase @Test public void shouldBeAbleSetProviderHibernate() throws Exception { - String desc = create().getOrCreatePersistenceUnit().provider("HIBERNATE").up().exportAsString(); + String desc = create().getRoot().getOrCreatePersistenceUnit().provider("HIBERNATE").up().up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/provider", "HIBERNATE"); } @@ -95,8 +96,8 @@ public void shouldBeAbleToSetSchemaGenerationModeHibernateUpdate() throws Except // assertPresenceUsingXPath(desc, "/persistence/persistence-unit/properties/property/@value", expectedValue); // } // - private PersistenceDescriptor create() + private MutablePersistenceDescriptor create() { - return Descriptors.create(PersistenceDescriptor.class).getOrCreatePersistenceUnit().name(this.getClass().getSimpleName()).up(); + return Descriptors.create(MutablePersistenceDescriptor.class).getRoot().getOrCreatePersistenceUnit().name(this.getClass().getSimpleName()).up().up(); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorTestCase.java index cd857376..911845b3 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorTestCase.java @@ -25,7 +25,9 @@ import junit.framework.Assert; import org.jboss.shrinkwrap.descriptor.api.Descriptors; +import org.jboss.shrinkwrap.descriptor.api.persistence20.MutablePersistenceDescriptor; import org.jboss.shrinkwrap.descriptor.api.persistence20.PersistenceDescriptor; +import org.jboss.shrinkwrap.descriptor.api.persistence20.PersistenceMutable; import org.jboss.shrinkwrap.descriptor.api.persistence20.PersistenceUnit; import org.jboss.shrinkwrap.descriptor.api.persistence20.PersistenceUnitTransactionType; import org.jboss.shrinkwrap.descriptor.api.persistence20.Properties; @@ -74,7 +76,7 @@ public void shouldHaveDefaultVersion() throws Exception @Test public void shouldBeAbleToSetVersion() throws Exception { - String desc = create().version("1.0").exportAsString(); + String desc = create().getRoot().version("1.0").up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/@version", "1.0"); } @@ -90,7 +92,7 @@ public void shouldBeAbleToAddPersistenceUnit() throws Exception @Test public void shouldBeAbleToAddMultiplePersistenceUnits() throws Exception { - String desc = create().createPersistenceUnit().name(name2).up().exportAsString(); + String desc = create().getRoot().createPersistenceUnit().name(name2).up().up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/@name", name, name2); } @@ -98,7 +100,7 @@ public void shouldBeAbleToAddMultiplePersistenceUnits() throws Exception @Test public void shouldBeAbleToAddPersistenceUnitName() throws Exception { - String desc = create().getAllPersistenceUnit().get(0).name(name2).up().exportAsString(); + String desc = create().getRoot().getAllPersistenceUnit().get(0).name(name2).up().up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/@name", name2); } @@ -109,7 +111,7 @@ public void shouldOnlyCreateOnePersistenceUnitWithSameName() throws Exception { // create() creates a persistenceUnit with "name". // Add a new persistence unit with "name", should return the same node. name is defined unique - String desc = create().getOrCreatePersistenceUnit().name(name).up().exportAsString(); + String desc = create().getRoot().getOrCreatePersistenceUnit().name(name).up().up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/@name", name); } @@ -117,7 +119,7 @@ public void shouldOnlyCreateOnePersistenceUnitWithSameName() throws Exception @Test public void shouldBeAbleToAddClasses() throws Exception { - String desc = create().getOrCreatePersistenceUnit().clazz(PersistenceDescriptor.class.getName(), PersistenceDescriptor.class.getName()).up().exportAsString(); + String desc = create().getRoot().getOrCreatePersistenceUnit().clazz(PersistenceDescriptor.class.getName(), PersistenceDescriptor.class.getName()).up().up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/class", PersistenceDescriptor.class.getName(), PersistenceDescriptor.class.getName()); @@ -126,8 +128,8 @@ public void shouldBeAbleToAddClasses() throws Exception @Test public void shouldBeAbleToAddDescription() throws Exception { - PersistenceUnit unit = create().getOrCreatePersistenceUnit().description(name); - String desc = unit.up() + PersistenceUnit unit = create().getRoot().getOrCreatePersistenceUnit().description(name); + String desc = unit.up().up() .exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/description", name); Assert.assertEquals(name, unit.getDescription()); @@ -136,7 +138,7 @@ public void shouldBeAbleToAddDescription() throws Exception @Test public void shouldBeAbleToSetExcludeUnlistedClasses() throws Exception { - String desc = create().getOrCreatePersistenceUnit().excludeUnlistedClasses(true).up().exportAsString(); + String desc = create().getRoot().getOrCreatePersistenceUnit().excludeUnlistedClasses(true).up().up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/exclude-unlisted-classes", "true"); } @@ -144,7 +146,7 @@ public void shouldBeAbleToSetExcludeUnlistedClasses() throws Exception @Test public void shouldBeAbleToSetIncludeUnlistedClasses() throws Exception { - String desc = create().getOrCreatePersistenceUnit().excludeUnlistedClasses(false).up().exportAsString(); + String desc = create().getRoot().getOrCreatePersistenceUnit().excludeUnlistedClasses(false).up().up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/exclude-unlisted-classes", "false"); } @@ -152,8 +154,8 @@ public void shouldBeAbleToSetIncludeUnlistedClasses() throws Exception @Test public void shouldBeAbleToSetJTADataSource() throws Exception { - PersistenceUnit unit = create().getOrCreatePersistenceUnit().jtaDataSource(name); - String desc = unit.up().exportAsString(); + PersistenceUnit unit = create().getRoot().getOrCreatePersistenceUnit().jtaDataSource(name); + String desc = unit.up().up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/jta-data-source", name); assertEquals(name, unit.getJtaDataSource()); @@ -163,7 +165,7 @@ public void shouldBeAbleToSetJTADataSource() throws Exception @Ignore("Missing in the new API") public void shouldBeAbleToReplaceJTADataSourceWithNonJTADataSource() throws Exception { - String desc = create().getAllPersistenceUnit().get(0).jtaDataSource(name).nonJtaDataSource(name2).up().exportAsString(); + String desc = create().getRoot().getAllPersistenceUnit().get(0).jtaDataSource(name).nonJtaDataSource(name2).up().up().exportAsString(); assertAbsenceUsingXPath(desc, "/persistence/persistence-unit/jta-data-source"); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/non-jta-data-source", name2); @@ -173,7 +175,7 @@ public void shouldBeAbleToReplaceJTADataSourceWithNonJTADataSource() throws Exce @Ignore("Missing in the new API") public void shouldBeAbleToReplaceNonJTADataSourceWithJTADataSource() throws Exception { - String desc = create().getOrCreatePersistenceUnit().nonJtaDataSource(name2).jtaDataSource(name).up().exportAsString(); + String desc = create().getRoot().getOrCreatePersistenceUnit().nonJtaDataSource(name2).jtaDataSource(name).up().up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/jta-data-source", name); assertAbsenceUsingXPath(desc, "/persistence/persistence-unit/non-jta-data-source"); @@ -182,8 +184,8 @@ public void shouldBeAbleToReplaceNonJTADataSourceWithJTADataSource() throws Exce @Test public void shouldBeAbleToSetNonJtaDataSource() throws Exception { - PersistenceUnit unit = create().getOrCreatePersistenceUnit().nonJtaDataSource(name); - String desc = unit.up().exportAsString(); + PersistenceUnit unit = create().getRoot().getOrCreatePersistenceUnit().nonJtaDataSource(name); + String desc = unit.up().up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/non-jta-data-source", name); assertEquals(name, unit.getNonJtaDataSource()); @@ -192,7 +194,7 @@ public void shouldBeAbleToSetNonJtaDataSource() throws Exception @Test public void shouldBeAbleToSetJarFile() throws Exception { - String desc = create().getOrCreatePersistenceUnit().jarFile(name).up().exportAsString(); + String desc = create().getRoot().getOrCreatePersistenceUnit().jarFile(name).up().up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/jar-file", name); } @@ -200,7 +202,7 @@ public void shouldBeAbleToSetJarFile() throws Exception @Test public void shouldBeAbleToSetJarFiles() throws Exception { - String desc = create().getOrCreatePersistenceUnit().jarFile(name, name2).up().exportAsString(); + String desc = create().getRoot().getOrCreatePersistenceUnit().jarFile(name, name2).up().up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/jar-file", name, name2); } @@ -208,7 +210,7 @@ public void shouldBeAbleToSetJarFiles() throws Exception @Test public void shouldBeAbleToSetMappingFile() throws Exception { - String desc = create().getOrCreatePersistenceUnit().mappingFile(name).up().exportAsString(); + String desc = create().getRoot().getOrCreatePersistenceUnit().mappingFile(name).up().up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/mapping-file", name); } @@ -216,7 +218,7 @@ public void shouldBeAbleToSetMappingFile() throws Exception @Test public void shouldBeAbleToSetMappingFiles() throws Exception { - String desc = create().getOrCreatePersistenceUnit().mappingFile(name, name2).up().exportAsString(); + String desc = create().getRoot().getOrCreatePersistenceUnit().mappingFile(name, name2).up().up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/mapping-file", name, name2); } @@ -224,7 +226,7 @@ public void shouldBeAbleToSetMappingFiles() throws Exception @Test public void shouldBeAbleToSetTransactionType() throws Exception { - String desc = create().getOrCreatePersistenceUnit().transactionType(PersistenceUnitTransactionType._JTA).up().exportAsString(); + String desc = create().getRoot().getOrCreatePersistenceUnit().transactionType(PersistenceUnitTransactionType._JTA).up().up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/@transaction-type", PersistenceUnitTransactionType._JTA); } @@ -232,10 +234,10 @@ public void shouldBeAbleToSetTransactionType() throws Exception @Test public void shouldBeAbleToAddProperties() throws Exception { - String desc = create().getOrCreatePersistenceUnit() + String desc = create().getRoot().getOrCreatePersistenceUnit() .getOrCreateProperties() .getOrCreateProperty().name(name).value(name2).up() - .createProperty().name(name2).value(name).up().up().up().exportAsString(); + .createProperty().name(name2).value(name).up().up().up().up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/properties/property/@name", name, name2); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/properties/property/@value", name2, name); @@ -248,10 +250,10 @@ public void shouldBeAbleToAddProperties() throws Exception // not the desired approach. public void addingDuplicateNamePropertyUpdatesExisting() throws Exception { - String desc = create().getOrCreatePersistenceUnit() + String desc = create().getRoot().getOrCreatePersistenceUnit() .getOrCreateProperties() .createProperty().name(name).value(name2).up() - .createProperty().name(name).value(name).up().up().up().exportAsString(); + .createProperty().name(name).value(name).up().up().up().up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/properties/property/@name", name, name); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/properties/property/@value", name, name); @@ -260,12 +262,12 @@ public void addingDuplicateNamePropertyUpdatesExisting() throws Exception @Test public void shouldBeAbleToGetProperties() throws Exception { - PersistenceUnit def = create().getOrCreatePersistenceUnit() + PersistenceUnit def = create().getRoot().getOrCreatePersistenceUnit() .getOrCreateProperties() .createProperty().name(name).value(name2).up() .createProperty().name(name2).value(name).up().up(); - List>>> properties = def.getOrCreateProperties().getAllProperty(); + List>>> properties = def.getOrCreateProperties().getAllProperty(); assertEquals(2, properties.size()); assertEquals(name, properties.get(0).getName()); assertEquals(name2, properties.get(0).getValue()); @@ -310,12 +312,12 @@ public void shouldBeAbleToGetProperties() throws Exception @Test public void shouldBeAbleToClearProperties() throws Exception { - Properties> def = create().getOrCreatePersistenceUnit() + Properties> def = create().getRoot().getOrCreatePersistenceUnit() .getOrCreateProperties() .createProperty().name(name).value(name2).up() .createProperty().name(name2).value(name).up(); - List>>> props = def.getAllProperty(); + List>>> props = def.getAllProperty(); assertEquals(2, props.size()); def.removeAllProperty(); @@ -327,12 +329,12 @@ public void shouldBeAbleToClearProperties() throws Exception @Test public void shouldBeAbleToClearPropertiesAndAddNew() throws Exception { - Properties> def = create().getOrCreatePersistenceUnit() + Properties> def = create().getRoot().getOrCreatePersistenceUnit() .getOrCreateProperties() .createProperty().name(name).value(name2).up() .createProperty().name(name2).value(name).up(); - List>>> props = def.getAllProperty(); + List>>> props = def.getAllProperty(); assertEquals(2, props.size()); def.removeAllProperty(); @@ -354,7 +356,7 @@ public void shouldBeAbleToClearPropertiesAndAddNew() throws Exception @Test public void shouldBeAbleSetSharedCacheMode() throws Exception { - String desc = create().getOrCreatePersistenceUnit().sharedCacheMode("ALL").up().exportAsString(); + String desc = create().getRoot().getOrCreatePersistenceUnit().sharedCacheMode("ALL").up().up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/shared-cache-mode", "ALL"); } @@ -362,7 +364,7 @@ public void shouldBeAbleSetSharedCacheMode() throws Exception @Test public void shouldBeAbleSetValidationMode() throws Exception { - String desc = create().getOrCreatePersistenceUnit().validationMode("AUTO").up().exportAsString(); + String desc = create().getRoot().getOrCreatePersistenceUnit().validationMode("AUTO").up().up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/validation-mode", "AUTO"); } @@ -385,11 +387,11 @@ public void shouldBeAbleToIncludeMultiplePersistenceUnit() throws Exception final String eclipseLinkProvider = "org.eclipse.persistence.jpa.PersistenceProvider"; final String nonjtaDataSource = "jdbc/__default"; - final PersistenceDescriptor persistence = Descriptors.create(PersistenceDescriptor.class) + final MutablePersistenceDescriptor persistence = Descriptors.create(MutablePersistenceDescriptor.class).getRoot() .createPersistenceUnit().name(hibernateUnit).transactionType(txTypeJta) .provider(providerTypeHibernate).jtaDataSource(jtaDataSource).clazz(PersistenceDescriptor.class.getName()).up() .createPersistenceUnit().name(eclipseLinkUnit).transactionType(txTypeResourceLocal) - .provider(eclipseLinkProvider).nonJtaDataSource(nonjtaDataSource).excludeUnlistedClasses(true).up(); + .provider(eclipseLinkProvider).nonJtaDataSource(nonjtaDataSource).excludeUnlistedClasses(true).up().up(); final String desc = persistence.exportAsString(); log.info(desc); @@ -412,8 +414,8 @@ public void shouldBeAbleToIncludeMultiplePersistenceUnit() throws Exception // Internal Helper --------------------------------------------------------------------|| // -------------------------------------------------------------------------------------|| - private PersistenceDescriptor create() + private MutablePersistenceDescriptor create() { - return Descriptors.create(PersistenceDescriptor.class).getOrCreatePersistenceUnit().name(name).up(); + return Descriptors.create(MutablePersistenceDescriptor.class).getRoot().getOrCreatePersistenceUnit().name(name).up().up(); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/WebAppDefTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/WebAppDefTestCase.java index 7cabbaaa..ca70d095 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/WebAppDefTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/WebAppDefTestCase.java @@ -26,9 +26,11 @@ import java.util.logging.Logger; import org.jboss.shrinkwrap.descriptor.api.Descriptors; +import org.jboss.shrinkwrap.descriptor.api.webapp30.MutableWebAppDescriptor; import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor; import org.jboss.shrinkwrap.descriptor.api.webcommon30.ServletMappingType; import org.jboss.shrinkwrap.descriptor.api.webcommon30.ServletType; +import org.jboss.shrinkwrap.descriptor.api.webcommon30.WebAppTypeMutable; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; @@ -105,7 +107,7 @@ public void shouldBeAbleToSetName() throws Exception @Test public void verifySchemaLocation() { - final WebAppDescriptor desc = create(); + final MutableWebAppDescriptor desc = create(); final String descString = desc.exportAsString(); log.info(descString); final String expectedSchemaLocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"; @@ -119,8 +121,8 @@ public void shouldBeAbleToDetermineDefaultFilterName() throws Exception String clazz = "com.ocpsoft.pretty." + name; String mapping = "/*"; - final String desc = create().getOrCreateFilter().filterClass(clazz).filterName(name).up().getOrCreateFilterMapping() - .filterName(name).urlPattern(mapping).up().exportAsString(); + final String desc = create().getRoot().getOrCreateFilter().filterClass(clazz).filterName(name).up().getOrCreateFilterMapping() + .filterName(name).urlPattern(mapping).up().up().exportAsString(); log.fine(desc); @@ -137,8 +139,8 @@ public void shouldBeAbleToDetermineDefaultServletName() throws Exception String clazz = "javax.faces.webapp." + name; String mapping = "/*"; - final String desc = create().getOrCreateServlet().servletClass(clazz).servletName(name).up() - .getOrCreateServletMapping().servletName(name).urlPattern(mapping).up().exportAsString(); + final String desc = create().getRoot().getOrCreateServlet().servletClass(clazz).servletName(name).up() + .getOrCreateServletMapping().servletName(name).urlPattern(mapping).up().up().exportAsString(); log.fine(desc); @@ -154,7 +156,7 @@ public void shouldBeAbleToDetermineReadServletClass() throws Exception String name = "FacesServlet"; String clazz = "javax.faces.webapp." + name; - ServletType servlet = create().getOrCreateServlet().servletClass(clazz).servletName(name); + ServletType servlet = create().getRoot().getOrCreateServlet().servletClass(clazz).servletName(name); assertEquals(clazz, servlet.getServletClass()); } @@ -166,11 +168,11 @@ public void shouldBeAbleToQueryServlets() throws Exception final String clazz = "javax.faces.webapp." + name; final String mapping = "/*"; - final WebAppDescriptor webXml = create().getOrCreateServlet().servletClass(clazz).servletName(name).up() - .getOrCreateServletMapping().servletName(name).urlPattern(mapping).up(); + final MutableWebAppDescriptor webXml = create().getRoot().getOrCreateServlet().servletClass(clazz).servletName(name).up() + .getOrCreateServletMapping().servletName(name).urlPattern(mapping).up().up(); - final List> servlets = webXml.getAllServlet(); - final List> mappings = webXml.getAllServletMapping(); + final List> servlets = webXml.getRoot().getAllServlet(); + final List> mappings = webXml.getRoot().getAllServletMapping(); assertEquals(1, servlets.size()); assertEquals(name, servlets.get(0).getServletName()); assertEquals(mapping, mappings.get(0).getAllUrlPattern().get(0)); @@ -250,7 +252,7 @@ public void shouldBeAbleToSetRootAttributes() throws Exception { String version = "2.5"; - String desc = create().version(version).metadataComplete(true).exportAsString(); + String desc = create().getRoot().version(version).metadataComplete(true).up().exportAsString(); log.fine(desc); @@ -287,8 +289,8 @@ public void shouldHaveSecurityConstraintDisplayName() throws Exception { final String securityConstraintDisplayName = "Default security constraint"; - final String webAppDescriptor = Descriptors.create(WebAppDescriptor.class).getOrCreateSecurityConstraint() - .displayName(securityConstraintDisplayName).up().exportAsString().trim(); + final String webAppDescriptor = Descriptors.create(MutableWebAppDescriptor.class).getRoot().getOrCreateSecurityConstraint() + .displayName(securityConstraintDisplayName).up().up().exportAsString().trim(); assertPresenceUsingXPath(webAppDescriptor, "/web-app/security-constraint/display-name", securityConstraintDisplayName); } @@ -307,9 +309,9 @@ private String getResourceContents(String resource) throws Exception return builder.toString(); } - private WebAppDescriptor create() + private MutableWebAppDescriptor create() { - return Descriptors.create(WebAppDescriptor.class); + return Descriptors.create(MutableWebAppDescriptor.class); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portlet20/PortletDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portlet20/PortletDescriptorTestCase.java index ce7cccfe..70e0d444 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portlet20/PortletDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portlet20/PortletDescriptorTestCase.java @@ -4,6 +4,7 @@ import java.io.FileReader; import org.jboss.shrinkwrap.descriptor.api.Descriptors; +import org.jboss.shrinkwrap.descriptor.api.portletapp20.MutablePortletDescriptor; import org.jboss.shrinkwrap.descriptor.api.portletapp20.PortletDescriptor; import org.jboss.shrinkwrap.descriptor.test.util.XmlAssert; import org.junit.Test; @@ -14,8 +15,8 @@ public class PortletDescriptorTestCase @Test public void testGeneratedPortletXml() throws Exception { - final PortletDescriptor portlet = create() - .addDefaultNamespaces() + final MutablePortletDescriptor portlet = create().getRoot() +// .addDefaultNamespaces() .version("2.0") .createPortlet() .portletName("HelloPortlet") @@ -36,7 +37,7 @@ public void testGeneratedPortletXml() throws Exception .portletMode("help").up() .getOrCreatePortletInfo() .title("Hello Portlet") - .up().up(); + .up().up().up(); String portletXmlGenerated = portlet.exportAsString(); String portletXmlOriginal = getResourceContents("src/test/resources/test-gen-portlet20.xml"); XmlAssert.assertIdentical(portletXmlOriginal, portletXmlGenerated); @@ -61,8 +62,8 @@ private String getResourceContents(String resource) throws Exception return builder.toString(); } - private PortletDescriptor create() + private MutablePortletDescriptor create() { - return Descriptors.create(PortletDescriptor.class); + return Descriptors.create(MutablePortletDescriptor.class); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorAttributeGroupTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorAttributeGroupTestCase.java index 69e513a7..044448c8 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorAttributeGroupTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorAttributeGroupTestCase.java @@ -6,6 +6,7 @@ import java.util.logging.Logger; import org.jboss.shrinkwrap.descriptor.api.Descriptors; +import org.jboss.shrinkwrap.descriptor.api.webapp30.MutableWebAppDescriptor; import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor; import org.junit.Test; @@ -26,63 +27,63 @@ public class WebAppDescriptorAttributeGroupTestCase @Test public void testDescription() throws Exception { - final WebAppDescriptor webApp = create() + final MutableWebAppDescriptor webApp = create().getRoot() .createServlet() .description("Description1") - .description("Description2").up(); + .description("Description2").up().up(); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/servlet/description[1]", "Description1"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/servlet/description[2]", "Description2"); - assertTrue(webApp.getAllServlet().get(0).getAllDescription().size() == 2); - webApp.getAllServlet().get(0).removeAllDescription(); - assertTrue(webApp.getAllServlet().get(0).getAllDescription().size() == 0); + assertTrue(webApp.getRoot().getAllServlet().get(0).getAllDescription().size() == 2); + webApp.getRoot().getAllServlet().get(0).removeAllDescription(); + assertTrue(webApp.getRoot().getAllServlet().get(0).getAllDescription().size() == 0); } @Test public void testDisplayName() throws Exception { - final WebAppDescriptor webApp = create() + final MutableWebAppDescriptor webApp = create().getRoot() .createFilter() .displayName("displayName1") - .displayName("displayName2").up(); + .displayName("displayName2").up().up(); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/filter/display-name[1]", "displayName1"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/filter/display-name[2]", "displayName2"); - assertTrue(webApp.getAllFilter().get(0).getAllDisplayName().size() == 2); - webApp.getAllFilter().get(0).removeAllDisplayName(); - assertTrue(webApp.getAllFilter().get(0).getAllDisplayName().size() == 0); + assertTrue(webApp.getRoot().getAllFilter().get(0).getAllDisplayName().size() == 2); + webApp.getRoot().getAllFilter().get(0).removeAllDisplayName(); + assertTrue(webApp.getRoot().getAllFilter().get(0).getAllDisplayName().size() == 0); } @Test public void testIcon() throws Exception { - final WebAppDescriptor webApp = create() + final MutableWebAppDescriptor webApp = create().getRoot() .createFilter().createIcon().largeIcon("largeIcon1").up() - .createIcon().smallIcon("smallIcon2").up().up(); + .createIcon().smallIcon("smallIcon2").up().up().up(); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/filter/icon[1]/large-icon", "largeIcon1"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/filter/icon[2]/small-icon", "smallIcon2"); - assertTrue(webApp.getAllFilter().get(0).getAllIcon().size() == 2); + assertTrue(webApp.getRoot().getAllFilter().get(0).getAllIcon().size() == 2); - webApp.getAllFilter().get(0).getAllIcon().get(0).removeLargeIcon(); + webApp.getRoot().getAllFilter().get(0).getAllIcon().get(0).removeLargeIcon(); assertTrue(webApp.exportAsString().indexOf("") == -1); - webApp.getAllFilter().get(0).getAllIcon().get(1).removeSmallIcon(); + webApp.getRoot().getAllFilter().get(0).getAllIcon().get(1).removeSmallIcon(); assertTrue(webApp.exportAsString().indexOf("") == -1); - webApp.getAllFilter().get(0).removeAllIcon(); - assertTrue(webApp.createFilter().getAllIcon().size() == 0); + webApp.getRoot().getAllFilter().get(0).removeAllIcon(); + assertTrue(webApp.getRoot().createFilter().getAllIcon().size() == 0); } // -------------------------------------------------------------------------------------|| // Helper Methods ----------------------------------------------------------------------|| // -------------------------------------------------------------------------------------|| - private WebAppDescriptor create() + private MutableWebAppDescriptor create() { - return Descriptors.create(WebAppDescriptor.class); + return Descriptors.create(MutableWebAppDescriptor.class); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorComplexTypeTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorComplexTypeTestCase.java index 0e7ef94c..0c33dac0 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorComplexTypeTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorComplexTypeTestCase.java @@ -7,6 +7,7 @@ import java.util.logging.Logger; import org.jboss.shrinkwrap.descriptor.api.Descriptors; +import org.jboss.shrinkwrap.descriptor.api.webapp30.MutableWebAppDescriptor; import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor; import org.junit.Test; @@ -33,7 +34,7 @@ public class WebAppDescriptorComplexTypeTestCase @Test public void testWebResourceCollection() throws Exception { - final WebAppDescriptor webApp = create() + final MutableWebAppDescriptor webApp = create().getRoot() .createSecurityConstraint() .createWebResourceCollection() .webResourceName("resource1") @@ -47,26 +48,26 @@ public void testWebResourceCollection() throws Exception .httpMethod("method3") .httpMethod("method4") .up() - .up(); + .up().up(); String descr = webApp.exportAsString(); log.fine(descr); - assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getWebResourceName(), "resource1"); - assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getWebResourceName(), "resource2"); + assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getWebResourceName(), "resource1"); + assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getWebResourceName(), "resource2"); - assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getAllHttpMethod().get(0), "method1"); - assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getAllHttpMethod().get(1), "method2"); - assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getAllHttpMethod().get(0), "method3"); - assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getAllHttpMethod().get(1), "method4"); + assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getAllHttpMethod().get(0), "method1"); + assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getAllHttpMethod().get(1), "method2"); + assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getAllHttpMethod().get(0), "method3"); + assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getAllHttpMethod().get(1), "method4"); - assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getAllDescription().get(0), "descr1"); - assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getAllDescription().get(1), "descr2"); - assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getAllDescription().get(2), "descr3"); - assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getAllDescription().get(0), "descr4"); - assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getAllDescription().get(1), "descr5"); - assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getAllDescription().get(2), "descr6"); + assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getAllDescription().get(0), "descr1"); + assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getAllDescription().get(1), "descr2"); + assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getAllDescription().get(2), "descr3"); + assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getAllDescription().get(0), "descr4"); + assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getAllDescription().get(1), "descr5"); + assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getAllDescription().get(2), "descr6"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/security-constraint/web-resource-collection[1]/web-resource-name", "resource1"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/security-constraint/web-resource-collection[2]/web-resource-name", "resource2"); @@ -87,31 +88,31 @@ public void testWebResourceCollection() throws Exception @Test public void testLocaleEncodingMappingList() throws Exception { - final WebAppDescriptor webApp = create().createLocaleEncodingMappingList() + final MutableWebAppDescriptor webApp = create().getRoot().createLocaleEncodingMappingList() .createLocaleEncodingMapping().locale("locale1").encoding("encoding1").up() - .createLocaleEncodingMapping().locale("locale2").encoding("encoding2").up().up(); + .createLocaleEncodingMapping().locale("locale2").encoding("encoding2").up().up().up(); - assertEquals(webApp.getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(0).getLocale(), "locale1"); - assertEquals(webApp.getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(1).getLocale(), "locale2"); - assertEquals(webApp.getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(0).getEncoding(), "encoding1"); - assertEquals(webApp.getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(1).getEncoding(), "encoding2"); + assertEquals(webApp.getRoot().getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(0).getLocale(), "locale1"); + assertEquals(webApp.getRoot().getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(1).getLocale(), "locale2"); + assertEquals(webApp.getRoot().getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(0).getEncoding(), "encoding1"); + assertEquals(webApp.getRoot().getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(1).getEncoding(), "encoding2"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/locale-encoding-mapping-list/locale-encoding-mapping[1]/locale", "locale1"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/locale-encoding-mapping-list/locale-encoding-mapping[2]/locale", "locale2"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/locale-encoding-mapping-list/locale-encoding-mapping[1]/encoding", "encoding1"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/locale-encoding-mapping-list/locale-encoding-mapping[2]/encoding", "encoding2"); - webApp.getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(0).removeLocale(); - webApp.getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(1).removeLocale(); + webApp.getRoot().getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(0).removeLocale(); + webApp.getRoot().getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(1).removeLocale(); assertTrue(webApp.exportAsString().indexOf("") == -1); - webApp.getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(0).removeEncoding(); - webApp.getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(1).removeEncoding(); + webApp.getRoot().getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(0).removeEncoding(); + webApp.getRoot().getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(1).removeEncoding(); assertTrue(webApp.exportAsString().indexOf("") == -1); - webApp.getAllLocaleEncodingMappingList().get(0).removeAllLocaleEncodingMapping(); + webApp.getRoot().getAllLocaleEncodingMappingList().get(0).removeAllLocaleEncodingMapping(); assertTrue(webApp.exportAsString().indexOf("") == -1); - webApp.removeAllLocaleEncodingMappingList(); + webApp.getRoot().removeAllLocaleEncodingMappingList(); assertTrue(webApp.exportAsString().indexOf("") == -1); } @@ -119,8 +120,8 @@ public void testLocaleEncodingMappingList() throws Exception // Helper Methods ----------------------------------------------------------------------|| // -------------------------------------------------------------------------------------|| - private WebAppDescriptor create() + private MutableWebAppDescriptor create() { - return Descriptors.create(WebAppDescriptor.class); + return Descriptors.create(MutableWebAppDescriptor.class); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorImportAsTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorImportAsTestCase.java index 4548ce4b..a7cfbac4 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorImportAsTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorImportAsTestCase.java @@ -8,6 +8,7 @@ import java.util.logging.Logger; import org.jboss.shrinkwrap.descriptor.api.Descriptors; +import org.jboss.shrinkwrap.descriptor.api.webapp30.MutableWebAppDescriptor; import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor; import org.junit.Test; @@ -38,15 +39,15 @@ public class WebAppDescriptorImportAsTestCase public void shouldBeAbleToImport() throws Exception { // Make a descriptor - final WebAppDescriptor web = Descriptors.importAs(WebAppDescriptor.class).fromString( + final MutableWebAppDescriptor web = Descriptors.importAs(MutableWebAppDescriptor.class).fromString( source); log.info(web.exportAsString()); - assertEquals(web.getAllFilter().get(0).getFilterName(), "UrlRewriteFilter"); - assertEquals(web.getAllFilter().get(0).getFilterClass(), "org.tuckey.web.filters.urlrewrite.UrlRewriteFilter"); - assertEquals(web.getAllFilterMapping().get(0).getFilterName(), "UrlRewriteFilter"); - assertEquals(web.getAllFilterMapping().get(0).getAllUrlPattern().get(0), "/*"); + assertEquals(web.getRoot().getAllFilter().get(0).getFilterName(), "UrlRewriteFilter"); + assertEquals(web.getRoot().getAllFilter().get(0).getFilterClass(), "org.tuckey.web.filters.urlrewrite.UrlRewriteFilter"); + assertEquals(web.getRoot().getAllFilterMapping().get(0).getFilterName(), "UrlRewriteFilter"); + assertEquals(web.getRoot().getAllFilterMapping().get(0).getAllUrlPattern().get(0), "/*"); } @Test @@ -54,29 +55,29 @@ public void testImportGeneratedTutorialWebXml() throws Exception { String web_source_generated = getResourceContents("src/test/resources/test-orig-webapp30.xml"); - final WebAppDescriptor webapp = Descriptors.importAs(WebAppDescriptor.class).fromString( + final MutableWebAppDescriptor webapp = Descriptors.importAs(MutableWebAppDescriptor.class).fromString( web_source_generated); - assertTrue(webapp.getAllDisplayName().size() == 1); - assertEquals(webapp.getAllDisplayName().get(0).trim(), "Java EE 6 Pet Catalog"); + assertTrue(webapp.getRoot().getAllDisplayName().size() == 1); + assertEquals(webapp.getRoot().getAllDisplayName().get(0).trim(), "Java EE 6 Pet Catalog"); - assertTrue(webapp.getAllContextParam().size() == 4); - assertEquals(webapp.getAllContextParam().get(0).getParamName().trim(), "javax.faces.STATE_SAVING_METHOD"); - assertEquals(webapp.getAllContextParam().get(0).getParamValue().trim(), "client"); + assertTrue(webapp.getRoot().getAllContextParam().size() == 4); + assertEquals(webapp.getRoot().getAllContextParam().get(0).getParamName().trim(), "javax.faces.STATE_SAVING_METHOD"); + assertEquals(webapp.getRoot().getAllContextParam().get(0).getParamValue().trim(), "client"); - assertEquals(webapp.getAllContextParam().get(1).getParamName().trim(), "javax.faces.PROJECT_STAGE"); - assertEquals(webapp.getAllContextParam().get(1).getParamValue().trim(), "Production"); + assertEquals(webapp.getRoot().getAllContextParam().get(1).getParamName().trim(), "javax.faces.PROJECT_STAGE"); + assertEquals(webapp.getRoot().getAllContextParam().get(1).getParamValue().trim(), "Production"); - assertEquals(webapp.getAllContextParam().get(2).getParamName().trim(), "com.sun.faces.resourceUpdateCheckPeriod"); - assertEquals(webapp.getAllContextParam().get(2).getParamValue().trim(), "-1"); + assertEquals(webapp.getRoot().getAllContextParam().get(2).getParamName().trim(), "com.sun.faces.resourceUpdateCheckPeriod"); + assertEquals(webapp.getRoot().getAllContextParam().get(2).getParamValue().trim(), "-1"); - assertEquals(webapp.getAllContextParam().get(3).getParamName().trim(), "com.sun.faces.validateXml"); - assertEquals(webapp.getAllContextParam().get(3).getParamValue().trim(), "true"); + assertEquals(webapp.getRoot().getAllContextParam().get(3).getParamName().trim(), "com.sun.faces.validateXml"); + assertEquals(webapp.getRoot().getAllContextParam().get(3).getParamValue().trim(), "true"); - assertEquals(webapp.getAllServletMapping().get(0).getServletName().trim(), "Faces Servlet"); - assertEquals(webapp.getAllServletMapping().get(0).getAllUrlPattern().get(0).trim(), "/catalog/*"); + assertEquals(webapp.getRoot().getAllServletMapping().get(0).getServletName().trim(), "Faces Servlet"); + assertEquals(webapp.getRoot().getAllServletMapping().get(0).getAllUrlPattern().get(0).trim(), "/catalog/*"); - assertEquals(webapp.getAllWelcomeFileList().get(0).getAllWelcomeFile().get(0).trim(), "index.html"); + assertEquals(webapp.getRoot().getAllWelcomeFileList().get(0).getAllWelcomeFile().get(0).trim(), "index.html"); // System.out.println(webapp.exportAsString()); } @@ -86,75 +87,75 @@ public void testImportGeneratedWebXml() throws Exception { String web_source_generated = getResourceContents("src/test/resources/test-gen-webapp30.xml"); - final WebAppDescriptor web = Descriptors.importAs(WebAppDescriptor.class).fromString( + final MutableWebAppDescriptor web = Descriptors.importAs(MutableWebAppDescriptor.class).fromString( web_source_generated); - assertEquals(web.getAllModuleName().get(0), "module-name0"); - assertTrue(web.getAllJspConfig().get(0).getAllTaglib().size() == 2); + assertEquals(web.getRoot().getAllModuleName().get(0), "module-name0"); + assertTrue(web.getRoot().getAllJspConfig().get(0).getAllTaglib().size() == 2); - assertEquals(web.getAllJspConfig().get(0).getAllTaglib().get(0).getTaglibUri(), "taglib-uri0"); - assertEquals(web.getAllJspConfig().get(0).getAllTaglib().get(0).getTaglibLocation(), "taglib-location0"); - assertEquals(web.getAllJspConfig().get(0).getAllTaglib().get(1).getTaglibUri(), "taglib-uri1"); - assertEquals(web.getAllJspConfig().get(0).getAllTaglib().get(1).getTaglibLocation(), "taglib-location1"); - assertTrue(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllDescription().size() == 2); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllTaglib().get(0).getTaglibUri(), "taglib-uri0"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllTaglib().get(0).getTaglibLocation(), "taglib-location0"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllTaglib().get(1).getTaglibUri(), "taglib-uri1"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllTaglib().get(1).getTaglibLocation(), "taglib-location1"); + assertTrue(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllDescription().size() == 2); // check first group - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllDescription().get(0), "description0"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllDescription().get(1), "description1"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllDisplayName().get(0), "display-name0"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllDisplayName().get(1), "display-name1"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIcon().get(0).getSmallIcon(), "small-icon0"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIcon().get(0).getLargeIcon(), "large-icon0"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIcon().get(1).getSmallIcon(), "small-icon1"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIcon().get(1).getLargeIcon(), "large-icon1"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllUrlPattern().get(0), "url-pattern0"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllUrlPattern().get(1), "url-pattern1"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isElIgnored(), false); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getPageEncoding(), "page-encoding0"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isScriptingInvalid(), false); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isIsXml(), false); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIncludePrelude().get(0), "include-prelude0"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIncludePrelude().get(1), "include-prelude1"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIncludeCoda().get(0), "include-coda0"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIncludeCoda().get(1), "include-coda1"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isDeferredSyntaxAllowedAsLiteral(), false); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isTrimDirectiveWhitespaces(), false); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getDefaultContentType(), "default-content-type0"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getBuffer(), "buffer0"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isErrorOnUndeclaredNamespace(), false); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllDescription().get(0), "description0"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllDescription().get(1), "description1"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllDisplayName().get(0), "display-name0"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllDisplayName().get(1), "display-name1"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIcon().get(0).getSmallIcon(), "small-icon0"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIcon().get(0).getLargeIcon(), "large-icon0"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIcon().get(1).getSmallIcon(), "small-icon1"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIcon().get(1).getLargeIcon(), "large-icon1"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllUrlPattern().get(0), "url-pattern0"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllUrlPattern().get(1), "url-pattern1"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isElIgnored(), false); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getPageEncoding(), "page-encoding0"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isScriptingInvalid(), false); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isIsXml(), false); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIncludePrelude().get(0), "include-prelude0"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIncludePrelude().get(1), "include-prelude1"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIncludeCoda().get(0), "include-coda0"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIncludeCoda().get(1), "include-coda1"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isDeferredSyntaxAllowedAsLiteral(), false); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isTrimDirectiveWhitespaces(), false); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getDefaultContentType(), "default-content-type0"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getBuffer(), "buffer0"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isErrorOnUndeclaredNamespace(), false); // check second group - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllDescription().get(0), "description2"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllDescription().get(1), "description3"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllDisplayName().get(0), "display-name2"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllDisplayName().get(1), "display-name3"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIcon().get(0).getSmallIcon(), "small-icon2"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIcon().get(0).getLargeIcon(), "large-icon2"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIcon().get(1).getSmallIcon(), "small-icon3"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIcon().get(1).getLargeIcon(), "large-icon3"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllUrlPattern().get(0), "url-pattern2"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllUrlPattern().get(1), "url-pattern3"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isElIgnored(), false); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getPageEncoding(), "page-encoding1"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isScriptingInvalid(), false); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isIsXml(), false); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIncludePrelude().get(0), "include-prelude2"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIncludePrelude().get(1), "include-prelude3"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIncludeCoda().get(0), "include-coda2"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIncludeCoda().get(1), "include-coda3"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isDeferredSyntaxAllowedAsLiteral(), false); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isTrimDirectiveWhitespaces(), false); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getDefaultContentType(), "default-content-type1"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getBuffer(), "buffer1"); - assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isErrorOnUndeclaredNamespace(), false); - - assertEquals(web.getAllAbsoluteOrdering().get(0).getAllName().get(0), "name0"); - assertEquals(web.getAllAbsoluteOrdering().get(0).getAllName().get(1), "name1"); - assertEquals(web.getAllAbsoluteOrdering().get(0).getAllName().get(2), "name2"); - assertEquals(web.getAllAbsoluteOrdering().get(0).getAllName().get(3), "name3"); - assertEquals(web.getAllSecurityRole().get(0).getAllDescription().get(0), "description4"); - assertEquals(web.getAllSecurityRole().get(0).getAllDescription().get(1), "description5"); - assertEquals(web.getAllSecurityRole().get(0).getRoleName(), "role-name0"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllDescription().get(0), "description2"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllDescription().get(1), "description3"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllDisplayName().get(0), "display-name2"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllDisplayName().get(1), "display-name3"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIcon().get(0).getSmallIcon(), "small-icon2"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIcon().get(0).getLargeIcon(), "large-icon2"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIcon().get(1).getSmallIcon(), "small-icon3"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIcon().get(1).getLargeIcon(), "large-icon3"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllUrlPattern().get(0), "url-pattern2"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllUrlPattern().get(1), "url-pattern3"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isElIgnored(), false); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getPageEncoding(), "page-encoding1"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isScriptingInvalid(), false); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isIsXml(), false); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIncludePrelude().get(0), "include-prelude2"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIncludePrelude().get(1), "include-prelude3"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIncludeCoda().get(0), "include-coda2"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIncludeCoda().get(1), "include-coda3"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isDeferredSyntaxAllowedAsLiteral(), false); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isTrimDirectiveWhitespaces(), false); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getDefaultContentType(), "default-content-type1"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getBuffer(), "buffer1"); + assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isErrorOnUndeclaredNamespace(), false); + + assertEquals(web.getRoot().getAllAbsoluteOrdering().get(0).getAllName().get(0), "name0"); + assertEquals(web.getRoot().getAllAbsoluteOrdering().get(0).getAllName().get(1), "name1"); + assertEquals(web.getRoot().getAllAbsoluteOrdering().get(0).getAllName().get(2), "name2"); + assertEquals(web.getRoot().getAllAbsoluteOrdering().get(0).getAllName().get(3), "name3"); + assertEquals(web.getRoot().getAllSecurityRole().get(0).getAllDescription().get(0), "description4"); + assertEquals(web.getRoot().getAllSecurityRole().get(0).getAllDescription().get(1), "description5"); + assertEquals(web.getRoot().getAllSecurityRole().get(0).getRoleName(), "role-name0"); } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorNamespaceTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorNamespaceTestCase.java index d06781f2..a780069e 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorNamespaceTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorNamespaceTestCase.java @@ -6,10 +6,9 @@ import static org.jboss.shrinkwrap.descriptor.test.util.XmlAssert.assertSchemaLocation; import static org.junit.Assert.assertTrue; -import java.util.List; - import org.jboss.shrinkwrap.descriptor.api.Descriptors; -import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor; +import org.jboss.shrinkwrap.descriptor.api.webapp30.MutableWebAppDescriptor; +import org.junit.Ignore; import org.junit.Test; @@ -20,7 +19,7 @@ public class WebAppDescriptorNamespaceTestCase public void shouldAddDefaultNamespaces() throws Exception { final String app = create() - .addDefaultNamespaces() +// .addDefaultNamespaces() .exportAsString(); final String expectedJavaEENamespace= "http://java.sun.com/xml/ns/javaee"; @@ -31,31 +30,32 @@ public void shouldAddDefaultNamespaces() throws Exception } - @Test - public void testReturnAllNamespaces() throws Exception - { - final List nsList = create() - .addDefaultNamespaces() - .getNamespaces(); - - final String expectedJavaEENamespace= "http://java.sun.com/xml/ns/javaee"; - final String expectedXmlNamespace = "http://www.w3.org/2001/XMLSchema-instance"; - final String expectedSchemaLocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"; - - assertTrue(nsList.size() == 3); - assertTrue(nsList.contains("xmlns=" + expectedJavaEENamespace)); - assertTrue(nsList.contains("xmlns:xsi=" + expectedXmlNamespace)); - assertTrue(nsList.contains("xsi:schemaLocation=" + expectedSchemaLocation)); - } +// @Test +// public void testReturnAllNamespaces() throws Exception +// { +// final List nsList = create() +//// .addDefaultNamespaces() +// .getNamespaces(); +// +// final String expectedJavaEENamespace= "http://java.sun.com/xml/ns/javaee"; +// final String expectedXmlNamespace = "http://www.w3.org/2001/XMLSchema-instance"; +// final String expectedSchemaLocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"; +// +// assertTrue(nsList.size() == 3); +// assertTrue(nsList.contains("xmlns=" + expectedJavaEENamespace)); +// assertTrue(nsList.contains("xmlns:xsi=" + expectedXmlNamespace)); +// assertTrue(nsList.contains("xsi:schemaLocation=" + expectedSchemaLocation)); +// } @Test + @Ignore public void testRemoveAllNamespaces() throws Exception { - final String app = create() - .version("3.0") - .addDefaultNamespaces() - .removeAllNamespaces() + final String app = create().getRoot() + .version("3.0").up() +// .addDefaultNamespaces() +// .removeAllNamespaces() .exportAsString(); assertTrue(app.indexOf("xmlns") == -1); @@ -73,20 +73,20 @@ public void shouldAddNamespace() throws Exception // check javaee namespace only final String app1 = create() - .addNamespace("xmlns", "http://java.sun.com/xml/ns/javaee") +// .addNamespace("xmlns", "http://java.sun.com/xml/ns/javaee") .exportAsString(); assertDefaultNamespace(app1, expectedJavaEENamespace); // check xml namespace only final String app2 = create() - .addNamespace("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance") +// .addNamespace("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance") .exportAsString(); assertNamespaceURIDefined(app2, "xsi", expectedXmlNamespace); // check schema location only final String app3 = create() - .addNamespace("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance") - .addNamespace("xsi:schemaLocation", "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd") +// .addNamespace("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance") +// .addNamespace("xsi:schemaLocation", "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd") .exportAsString(); assertSchemaLocation(app3, "http://www.w3.org/2001/XMLSchema-instance", expectedSchemaLocation); } @@ -95,8 +95,8 @@ public void shouldAddNamespace() throws Exception // Helper Methods ----------------------------------------------------------------------|| // -------------------------------------------------------------------------------------|| - private WebAppDescriptor create() + private MutableWebAppDescriptor create() { - return Descriptors.create(WebAppDescriptor.class); + return Descriptors.create(MutableWebAppDescriptor.class); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorSimpleTypeTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorSimpleTypeTestCase.java index 325623a9..e21333a5 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorSimpleTypeTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorSimpleTypeTestCase.java @@ -7,6 +7,7 @@ import java.util.logging.Logger; import org.jboss.shrinkwrap.descriptor.api.Descriptors; +import org.jboss.shrinkwrap.descriptor.api.webapp30.MutableWebAppDescriptor; import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor; import org.junit.Test; @@ -28,27 +29,27 @@ public class WebAppDescriptorSimpleTypeTestCase @Test public void testLoadOnStartupType() throws Exception { - final WebAppDescriptor webApp = create().createServlet().loadOnStartup(1).up(); - assertTrue(webApp.getAllServlet().get(0).getLoadOnStartup()==1); + final MutableWebAppDescriptor webApp = create().getRoot().createServlet().loadOnStartup(1).up().up(); + assertTrue(webApp.getRoot().getAllServlet().get(0).getLoadOnStartup()==1); webApp.exportAsString(); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/servlet/load-on-startup", "1"); - webApp.getAllServlet().get(0).loadOnStartup(0); + webApp.getRoot().getAllServlet().get(0).loadOnStartup(0); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/servlet/load-on-startup", "0"); - webApp.getAllServlet().get(0).removeLoadOnStartup(); + webApp.getRoot().getAllServlet().get(0).removeLoadOnStartup(); assertTrue(webApp.exportAsString().indexOf("load-on-startup") == -1); } @Test public void testWebAppVersionType() throws Exception { - final WebAppDescriptor webApp = create().version("3.0"); - assertEquals(webApp.getVersionAsString(), "3.0"); + final MutableWebAppDescriptor webApp = create().getRoot().version("3.0").up(); + assertEquals(webApp.getRoot().getVersionAsString(), "3.0"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/@version", "3.0"); - webApp.version("3.x"); - assertEquals(webApp.getVersionAsString(), "3.x"); + webApp.getRoot().version("3.x"); + assertEquals(webApp.getRoot().getVersionAsString(), "3.x"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/@version", "3.x"); } @@ -56,8 +57,8 @@ public void testWebAppVersionType() throws Exception // Helper Methods ----------------------------------------------------------------------|| // -------------------------------------------------------------------------------------|| - private WebAppDescriptor create() + private MutableWebAppDescriptor create() { - return Descriptors.create(WebAppDescriptor.class); + return Descriptors.create(MutableWebAppDescriptor.class); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorTestCase.java index f970ef5d..9afc0c77 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorTestCase.java @@ -1,7 +1,7 @@ package org.jboss.shrinkwrap.descriptor.test.webapp30; -import static org.jboss.shrinkwrap.descriptor.test.util.XmlAssert.*; - +import static org.jboss.shrinkwrap.descriptor.test.util.XmlAssert.assertPresenceUsingXPath; +import static org.jboss.shrinkwrap.descriptor.test.util.XmlAssert.assertSchemaLocation; import static org.junit.Assert.assertTrue; import java.io.ByteArrayInputStream; @@ -13,9 +13,11 @@ import org.jboss.shrinkwrap.descriptor.api.Descriptors; import org.jboss.shrinkwrap.descriptor.api.javaee6.IconType; +import org.jboss.shrinkwrap.descriptor.api.webapp30.MutableWebAppDescriptor; import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor; import org.jboss.shrinkwrap.descriptor.api.webcommon30.FilterType; import org.jboss.shrinkwrap.descriptor.api.webcommon30.TrackingModeType; +import org.jboss.shrinkwrap.descriptor.api.webcommon30.WebAppTypeMutable; import org.jboss.shrinkwrap.descriptor.spi.node.Node; import org.jboss.shrinkwrap.descriptor.spi.node.NodeDescriptor; import org.junit.Test; @@ -52,7 +54,7 @@ public void shouldCreateDefaultName() throws Exception @Test public void shouldBeAbleToSetName() throws Exception { - Assert.assertEquals("test.xml", Descriptors.create(WebAppDescriptor.class, "test.xml").getDescriptorName()); + Assert.assertEquals("test.xml", Descriptors.create(MutableWebAppDescriptor.class, "test.xml").getDescriptorName()); } /** @@ -74,9 +76,9 @@ public void shouldBeAbleToDetermineDefaultFilterName() throws Exception String clazz = "com.ocpsoft.pretty." + name; String mapping = "/*"; - String desc = create() + String desc = create().getRoot() .createFilter().filterClass(clazz).filterName(name).up() - .createFilterMapping().filterName(name).urlPattern(mapping).up() + .createFilterMapping().filterName(name).urlPattern(mapping).up().up() .exportAsString(); log.fine(desc); @@ -91,10 +93,10 @@ public void shouldBeAbleToDetermineDefaultFilterName() throws Exception @Test public void shouldBeAbleToSetWelcomeFiles() throws Exception { - String desc = create() + String desc = create().getRoot() .createWelcomeFileList() .welcomeFile("WelcomeFile1") - .welcomeFile("WelcomeFile2").up() + .welcomeFile("WelcomeFile2").up().up() .exportAsString(); log.fine(desc); @@ -107,13 +109,13 @@ public void shouldBeAbleToSetWelcomeFiles() throws Exception @Test public void shouldBeAbleToGetFilterIcons() throws Exception { - WebAppDescriptor web = create() + MutableWebAppDescriptor web = create().getRoot() .createFilter() .createIcon().smallIcon("small1").largeIcon("large1").up() - .createIcon().smallIcon("small2").largeIcon("large2").up() + .createIcon().smallIcon("small2").largeIcon("large2").up().up() .up(); - List>> list = web.getAllFilter().get(0).getAllIcon(); + List>> list = web.getRoot().getAllFilter().get(0).getAllIcon(); assertTrue(list.size() == 2); for (IconType icon: list) { @@ -131,9 +133,9 @@ public void shouldBeAbleToDetermineDefaultServletName() throws Exception String clazz = "javax.faces.webapp." + name; String mapping = "/*"; - String desc = create() + String desc = create().getRoot() .createServlet().servletClass(clazz).servletName(name).up() - .createServletMapping().servletName(name).urlPattern(mapping).up() + .createServletMapping().servletName(name).urlPattern(mapping).up().up() .exportAsString(); log.fine(desc); @@ -151,8 +153,8 @@ public void shouldBeAbleToSetRootAttributes() throws Exception { String version = "2.5"; - String desc = create() - .version(version).metadataComplete(true) + String desc = create().getRoot() + .version(version).metadataComplete(true).up() .exportAsString(); log.fine(desc); @@ -170,10 +172,10 @@ public void shouldBeAbleToCreateSessionCookieConfig() throws Exception int timeout = 3600; int maxAge = 3600; - String desc = create() + String desc = create().getRoot() .createSessionConfig().sessionTimeout(timeout) .getOrCreateCookieConfig().name(name).domain(domain).path(path).maxAge(maxAge).up() - .trackingMode(TrackingModeType._COOKIE.name()).up() + .trackingMode(TrackingModeType._COOKIE.name()).up().up() .exportAsString(); log.fine(desc); @@ -193,26 +195,26 @@ public void shouldBeAbleToCreateSessionCookieConfig() throws Exception public void shouldBeAbleToOverrideVersionInWebAppDescriptor() throws Exception { // Make a descriptor - final WebAppDescriptor web = Descriptors.importAs(WebAppDescriptor.class).fromString( + final MutableWebAppDescriptor web = Descriptors.importAs(MutableWebAppDescriptor.class).fromString( source); - web.version("3.0"); - Assert.assertEquals("3.0", web.getVersionAsString()); + web.getRoot().version("3.0"); + Assert.assertEquals("3.0", web.getRoot().getVersionAsString()); // Get as Node structure final InputStream stream = new ByteArrayInputStream(web.exportAsString().getBytes()); - final WebAppDescriptor fromWebXml = Descriptors.importAs(WebAppDescriptor.class).fromStream(stream); + final MutableWebAppDescriptor fromWebXml = Descriptors.importAs(MutableWebAppDescriptor.class).fromStream(stream); final Node root = ((NodeDescriptor) fromWebXml).getRootNode(); // Preconditions - Assert.assertEquals("3.0", web.getVersionAsString()); + Assert.assertEquals("3.0", web.getRoot().getVersionAsString()); Assert.assertTrue(root.getAttribute("xsi:schemaLocation").contains("web-app_3_0.xsd")); // Change the version - web.version("2.5"); + web.getRoot().version("2.5"); // Check that everything was updated - Assert.assertEquals("2.5", web.getVersionAsString()); + Assert.assertEquals("2.5", web.getRoot().getVersionAsString()); // Log just for fun // log.info("web.xml after update: " + web.exportAsString()); @@ -222,8 +224,8 @@ public void shouldBeAbleToOverrideVersionInWebAppDescriptor() throws Exception // Helper Methods ----------------------------------------------------------------------|| // -------------------------------------------------------------------------------------|| - private WebAppDescriptor create() + private MutableWebAppDescriptor create() { - return Descriptors.create(WebAppDescriptor.class); + return Descriptors.create(MutableWebAppDescriptor.class); } } From 8b4cc3c7a102eebda0a3a015c240a45af1d7829f Mon Sep 17 00:00:00 2001 From: ralfbattenfeld Date: Thu, 28 Jun 2012 13:06:19 -0400 Subject: [PATCH 7/8] [SHRINKDESC-21] Synced POC with generated classes --- .../application5/ApplicationDescriptor.java | 46 +-- .../ApplicationDescriptorBase.java | 25 ++ .../api/application5/ApplicationType.java | 50 ++- .../api/application5/ApplicationTypeBase.java | 19 ++ .../api/application5/ModuleType.java | 106 +++++- .../api/application5/ModuleTypeReader.java | 72 ++++ .../MutableApplicationDescriptor.java | 43 +-- .../application5/MutableApplicationType.java | 102 ++++-- .../descriptor/api/application5/WebType.java | 48 ++- .../api/application5/WebTypeReader.java | 38 +++ .../api/application5/package-info.java | 5 + .../ApplicationDescriptorTestCase.java | 33 +- .../ApplicationDescriptorBaseImpl.java | 73 ++++ .../ApplicationDescriptorImpl.java | 86 +++++ .../application6/ApplicationTypeBaseImpl.java | 49 +++ .../application6/ApplicationTypeImpl.java | 132 ++++++++ .../ApplicationTypeMutableImpl.java | 319 ++++++++++++++++++ .../impl/application6/ModuleTypeImpl.java | 228 +++++++++++++ .../application6/ModuleTypeReaderImpl.java | 122 +++++++ .../MutableApplicationDescriptorImpl.java | 169 ++++++++++ .../impl/application6/WebTypeImpl.java | 115 +++++++ .../impl/application6/WebTypeReaderImpl.java | 71 ++++ .../impl/application6/package-info.java | 5 + 23 files changed, 1834 insertions(+), 122 deletions(-) create mode 100644 api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptorBase.java create mode 100644 api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationTypeBase.java create mode 100644 api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ModuleTypeReader.java create mode 100644 api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/WebTypeReader.java create mode 100644 api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/package-info.java create mode 100644 impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationDescriptorBaseImpl.java create mode 100644 impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationDescriptorImpl.java create mode 100644 impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeBaseImpl.java create mode 100644 impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeImpl.java create mode 100644 impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeMutableImpl.java create mode 100644 impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ModuleTypeImpl.java create mode 100644 impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ModuleTypeReaderImpl.java create mode 100644 impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/MutableApplicationDescriptorImpl.java create mode 100644 impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/WebTypeImpl.java create mode 100644 impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/WebTypeReaderImpl.java create mode 100644 impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/package-info.java diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptor.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptor.java index 1519fc19..e396dbbd 100644 --- a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptor.java +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptor.java @@ -1,33 +1,21 @@ -/* - * JBoss, Home of Professional Open Source - * Copyright 2012, Red Hat Middleware LLC, and individual contributors - * by the @authors tag. See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jboss.shrinkwrap.descriptor.api.application5; - -import org.jboss.shrinkwrap.descriptor.api.Descriptor; -import org.jboss.shrinkwrap.descriptor.api.DescriptorNamespace; - +package org.jboss.shrinkwrap.descriptor.api.application5; -/** - * Read-only view of a web application deployment descriptor (ie. web.xml). - * +import org.jboss.shrinkwrap.descriptor.api.Immutable; +/** + *

+ * This deployment descriptor provides the functionalities as described in the specification + *

+ * Example: + *

+ * + * ApplicationDescriptor descriptor = Descriptors.create(ApplicationDescriptor.class); + * + * + * + * @author Ralf Battenfeld * @author Andrew Lee Rubinger + * @since Generation date :2012-06-28T12:19:49.689-04:00 */ -/* - * TODO: This is for use by end-users, and correctly closes the generic context - */ -public interface ApplicationDescriptor extends Descriptor, ApplicationType { - +public interface ApplicationDescriptor extends ApplicationDescriptorBase, + Immutable, ApplicationType { } diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptorBase.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptorBase.java new file mode 100644 index 00000000..778406dd --- /dev/null +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptorBase.java @@ -0,0 +1,25 @@ +package org.jboss.shrinkwrap.descriptor.api.application5; + +import org.jboss.shrinkwrap.descriptor.api.Descriptor; +/** + *

+ * This deployment descriptor provides the functionalities as described in the specification + *

+ * Example: + *

+ * + * ApplicationDescriptorBase descriptor = Descriptors.create(ApplicationDescriptorBase.class); + * + * + * + * @author Ralf Battenfeld + * @author Andrew Lee Rubinger + * @since Generation date :2012-06-28T12:19:49.689-04:00 + */ +public interface ApplicationDescriptorBase, DESCRIPTORTYPE + extends ApplicationDescriptorBase> + extends Descriptor { + + public ROOTTYPE getRoot(); +} diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationType.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationType.java index d014a5b2..f19cfb56 100644 --- a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationType.java +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationType.java @@ -3,20 +3,29 @@ import java.util.List; /** - * This interface defines the contract for the applicationType xsd type + * This class implements the applicationType xsd type + * * @author Ralf Battenfeld * @author Andrew Lee Rubinger - * @since Generation date :2012-04-29T13:08:39.494+02:00 + * @since Generation date :2012-06-28T12:19:49.689-04:00 */ -public interface ApplicationType

-{ - public MutableApplicationType

toMutable(); +public interface ApplicationType extends ApplicationTypeBase { + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationType ElementName: xsd:string ElementType : description + // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| /** * Returns all description elements * @return list of description */ public List getAllDescription(); + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationType ElementName: xsd:token ElementType : display-name + // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| /** * Returns all display-name elements @@ -25,18 +34,45 @@ public interface ApplicationType

public List getAllDisplayName(); + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationType ElementName: xsd:token ElementType : application-name + // MaxOccurs: - isGeneric: false isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the application-name element + * @return the node defined for the element application-name + */ + public String getApplicationName(); + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationType ElementName: javaee:moduleType ElementType : module + // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: false + // --------------------------------------------------------------------------------------------------------|| + /** * Returns all module elements * @return list of module */ - public List> getAllModule(); + public List> getAllModule(); + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationType ElementName: xsd:token ElementType : library-directory + // MaxOccurs: -1 isGeneric: false isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + /** * Returns the library-directory element * @return the node defined for the element library-directory */ public String getLibraryDirectory(); - + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationType ElementName: xsd:token ElementType : version + // MaxOccurs: - isGeneric: false isAttribute: true isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| /** * Returns the version attribute diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationTypeBase.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationTypeBase.java new file mode 100644 index 00000000..cce6e381 --- /dev/null +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationTypeBase.java @@ -0,0 +1,19 @@ +package org.jboss.shrinkwrap.descriptor.api.application5; + +import org.jboss.shrinkwrap.descriptor.api.Child; + +/** + * Base support for read-only views of this descriptors root element. Not intended for direct use by users; + * + * @param + * The true type to be returned for this references (covarient return) + * + * @param + * The type of this elements parent + * + * @author Ralf Battenfeld + * @author Andrew Lee Rubinger + * @since Generation date :2012-06-28T12:19:49.689-04:00 + */ +public interface ApplicationTypeBase, PARENTTYPE> extends Child { +} diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ModuleType.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ModuleType.java index b3dca932..79517a01 100644 --- a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ModuleType.java +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ModuleType.java @@ -3,18 +3,50 @@ import org.jboss.shrinkwrap.descriptor.api.Child; /** - * This interface defines the contract for the moduleType xsd type. + * This interface defines the contract for the moduleType xsd type + * @author Ralf Battenfeld + * @author Andrew Lee Rubinger + * @since Generation date :2012-06-28T12:19:49.689-04:00 */ -public interface ModuleType

extends Child

+public interface ModuleType extends Child { - public MutableModuleType

toMutable(); - + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleType ElementName: xsd:token ElementType : connector + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the connector element + * @param connector the value for the element connector + * @return the current instance of ModuleType + */ + public ModuleType connector(String connector); + /** * Returns the connector element * @return the node defined for the element connector */ public String getConnector(); + /** + * Removes the connector element + * @return the current instance of ModuleType + */ + public ModuleType removeConnector(); + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleType ElementName: xsd:token ElementType : ejb + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the ejb element + * @param ejb the value for the element ejb + * @return the current instance of ModuleType + */ + public ModuleType ejb(String ejb); /** * Returns the ejb element @@ -22,17 +54,74 @@ public interface ModuleType

extends Child

*/ public String getEjb(); + /** + * Removes the ejb element + * @return the current instance of ModuleType + */ + public ModuleType removeEjb(); + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleType ElementName: xsd:token ElementType : java + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the java element + * @param java the value for the element java + * @return the current instance of ModuleType + */ + public ModuleType java(String java); + /** * Returns the java element * @return the node defined for the element java */ public String getJava(); + /** + * Removes the java element + * @return the current instance of ModuleType + */ + public ModuleType removeJava(); + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleType ElementName: javaee:webType ElementType : web + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: false + // --------------------------------------------------------------------------------------------------------|| + /** * Returns the web element. - * @return the existing instance of WebType>, or null if not found + * @return the existing instance of WebType>, or null if not found + */ + public WebType> getWeb(); + + /** + * If not already created, a new web element with the given value will be created. + * Otherwise, the existing web element will be returned. + * @return a new or existing instance of WebType> + */ + public WebType> getOrCreateWeb(); + + /** + * Removes the web element + * @return the current instance of ModuleType + */ + public ModuleType removeWeb(); + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleType ElementName: xsd:token ElementType : alt-dd + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the alt-dd element + * @param altDd the value for the element alt-dd + * @return the current instance of ModuleType */ - public WebType> getWeb(); + public ModuleType altDd(String altDd); /** * Returns the alt-dd element @@ -40,4 +129,9 @@ public interface ModuleType

extends Child

*/ public String getAltDd(); + /** + * Removes the alt-dd element + * @return the current instance of ModuleType + */ + public ModuleType removeAltDd(); } diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ModuleTypeReader.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ModuleTypeReader.java new file mode 100644 index 00000000..aa425720 --- /dev/null +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ModuleTypeReader.java @@ -0,0 +1,72 @@ +package org.jboss.shrinkwrap.descriptor.api.application5; + +import org.jboss.shrinkwrap.descriptor.api.Child; + +/** + * This interface defines the contract for the moduleType xsd type + * @author Ralf Battenfeld + * @author Andrew Lee Rubinger + * @since Generation date :2012-06-28T12:19:49.689-04:00 + */ +public interface ModuleTypeReader extends Child +{ + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleTypeReader ElementName: xsd:token ElementType : connector + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the connector element + * @return the node defined for the element connector + */ + public String getConnector(); + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleTypeReader ElementName: xsd:token ElementType : ejb + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the ejb element + * @return the node defined for the element ejb + */ + public String getEjb(); + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleTypeReader ElementName: xsd:token ElementType : java + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the java element + * @return the node defined for the element java + */ + public String getJava(); + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleTypeReader ElementName: javaee:webType ElementType : web + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: false + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the web element. + * @return the existing instance of WebTypeReader>, or null if not found + */ + public WebTypeReader> getWeb(); + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleTypeReader ElementName: xsd:token ElementType : alt-dd + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the alt-dd element + * @return the node defined for the element alt-dd + */ + public String getAltDd(); +} diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationDescriptor.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationDescriptor.java index 8cc75351..9b8dc733 100644 --- a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationDescriptor.java +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationDescriptor.java @@ -1,28 +1,21 @@ -/* - * JBoss, Home of Professional Open Source - * Copyright 2012, Red Hat Middleware LLC, and individual contributors - * by the @authors tag. See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jboss.shrinkwrap.descriptor.api.application5; - -import org.jboss.shrinkwrap.descriptor.api.Descriptor; -import org.jboss.shrinkwrap.descriptor.api.DescriptorNamespace; +package org.jboss.shrinkwrap.descriptor.api.application5; - -/** - * Mutable view of a web application deployment descriptor (ie. web.xml). +import org.jboss.shrinkwrap.descriptor.api.Mutable; +/** + *

+ * This deployment descriptor provides the functionalities as described in the specification + *

+ * Example: + *

+ * + * MutableApplicationDescriptor descriptor = Descriptors.create(MutableApplicationDescriptor.class); + * + * + * + * @author Ralf Battenfeld + * @author Andrew Lee Rubinger + * @since Generation date :2012-06-28T12:19:49.689-04:00 */ -public interface MutableApplicationDescriptor extends Descriptor, MutableApplicationType { - +public interface MutableApplicationDescriptor extends ApplicationDescriptorBase, + Mutable, MutableApplicationType { } diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationType.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationType.java index 0ab6ad57..352943e1 100644 --- a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationType.java +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationType.java @@ -3,25 +3,26 @@ import java.util.List; /** - * This interface defines the contract for the applicationType xsd type. - * This is the root element. Because of this, this interface doesn't need to extends Child

+ * This interface defines the contract for the applicationType xsd type + * + * @author Ralf Battenfeld + * @author Andrew Lee Rubinger + * @since Generation date :2012-06-28T12:19:49.689-04:00 */ -public interface MutableApplicationType

-{ - public ApplicationType

toImmutable(); +public interface MutableApplicationType extends ApplicationTypeBase { // --------------------------------------------------------------------------------------------------------|| // ClassName: ApplicationTypeMutable ElementName: xsd:string ElementType : description - // MaxOccurs: -unbounded isGeneric: true isAttribute: false isEnum: false isDataType: true + // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: true // --------------------------------------------------------------------------------------------------------|| /** * Creates for all String objects representing description elements, * a new description element * @param values list of description objects - * @return the current instance of ApplicationTypeMutable + * @return the current instance of ApplicationTypeMutable */ - public P description(String ... values); + public MutableApplicationType description(String ... values); /** * Returns all description elements @@ -31,22 +32,22 @@ public interface MutableApplicationType

/** * Removes the description element - * @return the current instance of ApplicationTypeMutable + * @return the current instance of ApplicationTypeMutable */ - public P removeAllDescription(); + public MutableApplicationType removeAllDescription(); // --------------------------------------------------------------------------------------------------------|| // ClassName: ApplicationTypeMutable ElementName: xsd:token ElementType : display-name - // MaxOccurs: -unbounded isGeneric: true isAttribute: false isEnum: false isDataType: true + // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: true // --------------------------------------------------------------------------------------------------------|| /** * Creates for all String objects representing display-name elements, * a new display-name element * @param values list of display-name objects - * @return the current instance of ApplicationTypeMutable + * @return the current instance of ApplicationTypeMutable */ - public P displayName(String ... values); + public MutableApplicationType displayName(String ... values); /** * Returns all display-name elements @@ -56,14 +57,44 @@ public interface MutableApplicationType

/** * Removes the display-name element - * @return the current instance of ApplicationTypeMutable + * @return the current instance of ApplicationTypeMutable */ - public P removeAllDisplayName(); - + public MutableApplicationType removeAllDisplayName(); + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationTypeMutable ElementName: javaee:service-refType ElementType : service-ref + // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: false + // --------------------------------------------------------------------------------------------------------|| + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationTypeMutable ElementName: xsd:token ElementType : application-name + // MaxOccurs: - isGeneric: false isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the application-name element + * @param applicationName the value for the element application-name + * @return the current instance of ApplicationTypeMutable + */ + public MutableApplicationType applicationName(String applicationName); + + /** + * Returns the application-name element + * @return the node defined for the element application-name + */ + public String getApplicationName(); + + /** + * Removes the application-name element + * @return the current instance of ApplicationTypeMutable + */ + public MutableApplicationType removeApplicationName(); + + // --------------------------------------------------------------------------------------------------------|| // ClassName: ApplicationTypeMutable ElementName: javaee:moduleType ElementType : module - // MaxOccurs: -unbounded isGeneric: true isAttribute: false isEnum: false isDataType: false + // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: false // --------------------------------------------------------------------------------------------------------|| /** @@ -71,39 +102,38 @@ public interface MutableApplicationType

* Otherwise, the first existing module element will be returned. * @return the instance defined for the element module */ - public MutableModuleType

getOrCreateModule(); - + public ModuleType getOrCreateModule(); + /** * Creates a new module element - * @return the new created instance of ModuleType> + * @return the new created instance of ModuleType */ - public MutableModuleType

createModule(); + public ModuleType createModule(); /** * Returns all module elements * @return list of module */ - public List> getAllModule(); + public List> getAllModule(); /** * Removes all module elements - * @return the current instance of ModuleType> + * @return the current instance of ModuleType */ - public P removeAllModule(); - + public MutableApplicationType removeAllModule(); // --------------------------------------------------------------------------------------------------------|| // ClassName: ApplicationTypeMutable ElementName: xsd:token ElementType : library-directory - // MaxOccurs: -1 isGeneric: true isAttribute: false isEnum: false isDataType: true + // MaxOccurs: -1 isGeneric: false isAttribute: false isEnum: false isDataType: true // --------------------------------------------------------------------------------------------------------|| /** * Sets the library-directory element * @param libraryDirectory the value for the element library-directory - * @return the current instance of ApplicationTypeMutable + * @return the current instance of ApplicationTypeMutable */ - public P libraryDirectory(String libraryDirectory); + public MutableApplicationType libraryDirectory(String libraryDirectory); /** * Returns the library-directory element @@ -113,22 +143,22 @@ public interface MutableApplicationType

/** * Removes the library-directory element - * @return the current instance of ApplicationTypeMutable + * @return the current instance of ApplicationTypeMutable */ - public P removeLibraryDirectory(); + public MutableApplicationType removeLibraryDirectory(); - + // --------------------------------------------------------------------------------------------------------|| // ClassName: ApplicationTypeMutable ElementName: xsd:token ElementType : version - // MaxOccurs: - isGeneric: true isAttribute: true isEnum: false isDataType: true + // MaxOccurs: - isGeneric: false isAttribute: true isEnum: false isDataType: true // --------------------------------------------------------------------------------------------------------|| /** * Sets the version attribute * @param version the value for the attribute version - * @return the current instance of ApplicationTypeMutable + * @return the current instance of ApplicationTypeMutable */ - public P version(String version); + public MutableApplicationType version(String version); /** * Returns the version attribute @@ -138,7 +168,7 @@ public interface MutableApplicationType

/** * Removes the version attribute - * @return the current instance of ApplicationTypeMutable + * @return the current instance of ApplicationTypeMutable */ - public P removeVersion(); + public MutableApplicationType removeVersion(); } diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/WebType.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/WebType.java index 418a9df9..23dd7fd8 100644 --- a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/WebType.java +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/WebType.java @@ -1,25 +1,65 @@ package org.jboss.shrinkwrap.descriptor.api.application5; +import java.util.ArrayList; +import java.util.List; import org.jboss.shrinkwrap.descriptor.api.Child; + /** * This interface defines the contract for the webType xsd type * @author Ralf Battenfeld * @author Andrew Lee Rubinger - * @since Generation date :2012-04-28T09:04:01.259+02:00 + * @since Generation date :2012-06-28T12:19:49.689-04:00 */ -public interface WebType

extends Child

+public interface WebType extends Child { - public MutableWebType

toMutable(); - + public void set(String webUri, String contextRoot); + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: WebType ElementName: xsd:token ElementType : web-uri + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the web-uri element + * @param webUri the value for the element web-uri + * @return the current instance of WebType + */ + public WebType webUri(String webUri); + /** * Returns the web-uri element * @return the node defined for the element web-uri */ public String getWebUri(); + /** + * Removes the web-uri element + * @return the current instance of WebType + */ + public WebType removeWebUri(); + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: WebType ElementName: xsd:token ElementType : context-root + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the context-root element + * @param contextRoot the value for the element context-root + * @return the current instance of WebType + */ + public WebType contextRoot(String contextRoot); + /** * Returns the context-root element * @return the node defined for the element context-root */ public String getContextRoot(); + + /** + * Removes the context-root element + * @return the current instance of WebType + */ + public WebType removeContextRoot(); } diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/WebTypeReader.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/WebTypeReader.java new file mode 100644 index 00000000..f8e949c9 --- /dev/null +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/WebTypeReader.java @@ -0,0 +1,38 @@ +package org.jboss.shrinkwrap.descriptor.api.application5; + +import java.util.ArrayList; +import java.util.List; +import org.jboss.shrinkwrap.descriptor.api.Child; + +/** + * This interface defines the contract for the webType xsd type + * @author Ralf Battenfeld + * @author Andrew Lee Rubinger + * @since Generation date :2012-06-28T12:19:49.689-04:00 + */ +public interface WebTypeReader extends Child +{ + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: WebTypeReader ElementName: xsd:token ElementType : web-uri + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the web-uri element + * @return the node defined for the element web-uri + */ + public String getWebUri(); + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: WebTypeReader ElementName: xsd:token ElementType : context-root + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the context-root element + * @return the node defined for the element context-root + */ + public String getContextRoot(); +} diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/package-info.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/package-info.java new file mode 100644 index 00000000..5d5b3313 --- /dev/null +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/package-info.java @@ -0,0 +1,5 @@ + /** + * Provides the interfaces and enumeration types as defined in the schema + */ + +package org.jboss.shrinkwrap.descriptor.api.application5; diff --git a/api-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptorTestCase.java b/api-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptorTestCase.java index ddce58b1..c72fe109 100644 --- a/api-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptorTestCase.java +++ b/api-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptorTestCase.java @@ -44,8 +44,11 @@ public void subElementRoundtrip() appDescriptor.getLibraryDirectory(); appDescriptor.getAllModule().get(0).getWeb().up().up(); + appDescriptorMutable.createModule(); + + // test toMutable() and traversing back to the original descriptor - appDescriptor.getAllModule().get(0).toMutable().getOrCreateWeb().removeContextRoot().removeWebUri().up().up(); +// appDescriptor.getAllModule().get(0).toMutable().getOrCreateWeb().removeContextRoot().removeWebUri().up().up(); appDescriptorMutable.createModule().altDd("").connector("").ejb("").getOrCreateWeb().up().up(); @@ -77,21 +80,21 @@ public void subElementRoundtrip() @Test public void mutableRoundtrip() { -// // Make a new descriptor -// final ApplicationDescriptor readonly = Descriptors.create(ApplicationDescriptor.class); -// -// // Get a mutable view -// final ApplicationDescriptorMutable mutable = readonly.toMutable(); -// -// mutable.getOrCreateModule().getOrCreateWeb().webUri("two").up().up().up(); -// -// // Roundtrip to immutable -// final ApplicationDescriptor roundtrip = mutable.toImmutable(); -// -// roundtrip.getAllModule().get(0).getWeb().getWebUri(); + // Make a new descriptor + final ApplicationDescriptor readonly = null; + + // Get a mutable view + final MutableApplicationDescriptor mutable = readonly.toMutable(); + + mutable.getOrCreateModule().getOrCreateWeb().webUri("two").up().up().up(); + + // Roundtrip to immutable + final ApplicationDescriptor roundtrip = mutable.toImmutable(); + + roundtrip.getAllModule().get(0).getWeb().getWebUri(); // roundtrip.getAllModule().get(0).getWeb().removeWebUri(); // not allowed ... -// -// System.out.println("Roundtrip: "+roundtrip.exportAsString()); + + System.out.println("Roundtrip: "+roundtrip.exportAsString()); // Ensure the roundtrip still has a filter w/ two descriptions // Assert.assertEquals(2, roundtrip..getAllFilter().get(0).getAllDescription().size()); diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationDescriptorBaseImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationDescriptorBaseImpl.java new file mode 100644 index 00000000..c941bc75 --- /dev/null +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationDescriptorBaseImpl.java @@ -0,0 +1,73 @@ +package org.jboss.shrinkwrap.descriptor.impl.application6; + +import org.jboss.shrinkwrap.descriptor.api.application5.ApplicationDescriptorBase; +import org.jboss.shrinkwrap.descriptor.api.application5.ApplicationTypeBase; +import org.jboss.shrinkwrap.descriptor.spi.node.Node; +import org.jboss.shrinkwrap.descriptor.spi.node.NodeDescriptorImplBase; +/** + *

+ * This deployment descriptor provides the functionalities as described in the specification + *

+ * Example: + *

+ * + * ApplicationDescriptorBaseImpl descriptor = Descriptors.create(ApplicationDescriptorBaseImpl.class); + * + * + * + * @author Ralf Battenfeld + * @author Andrew Lee Rubinger + * @since Generation date :2012-06-28T12:19:49.689-04:00 + */ +public abstract class ApplicationDescriptorBaseImpl, DESCRIPTORTYPE + extends ApplicationDescriptorBase> + extends NodeDescriptorImplBase + implements ApplicationDescriptorBase { + // -------------------------------------------------------------------------------------|| + // Instance Members + // -------------------------------------------------------------------------------------|| + + private Node model; + + // -------------------------------------------------------------------------------------|| + // Constructor + // -------------------------------------------------------------------------------------|| + + public ApplicationDescriptorBaseImpl(String descriptorName) + { + this(descriptorName, new Node("application")); + } + + public ApplicationDescriptorBaseImpl(String descriptorName, Node node) + { + super(descriptorName); + this.model = node; + addDefaultNamespaces(); + } + + + public Node getRootNode() + { + return model; + } + + + /** + * Adds the default namespaces as defined in the specification + */ + private void addDefaultNamespaces() + { + addNamespace("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); + addNamespace("xsi:schemaLocation", "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd"); + addNamespace("xmlns", "http://java.sun.com/xml/ns/javaee"); + } + + /** + * Adds a new namespace + */ + private void addNamespace(String name, String value) + { + model.attribute(name, value); + } + +} diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationDescriptorImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationDescriptorImpl.java new file mode 100644 index 00000000..74301d6c --- /dev/null +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationDescriptorImpl.java @@ -0,0 +1,86 @@ +package org.jboss.shrinkwrap.descriptor.impl.application6; + +import java.util.List; + +import org.jboss.shrinkwrap.descriptor.api.application5.ApplicationDescriptor; +import org.jboss.shrinkwrap.descriptor.api.application5.ApplicationType; +import org.jboss.shrinkwrap.descriptor.api.application5.ModuleTypeReader; +import org.jboss.shrinkwrap.descriptor.api.application5.MutableApplicationDescriptor; +import org.jboss.shrinkwrap.descriptor.spi.node.Node; +/** + *

+ * This deployment descriptor provides the functionalities as described in the specification + *

+ * Example: + *

+ * + * ApplicationDescriptorImpl descriptor = Descriptors.create(ApplicationDescriptorImpl.class); + * + * + * + * @author Ralf Battenfeld + * @author Andrew Lee Rubinger + * @since Generation date :2012-06-28T12:19:49.689-04:00 + */ +public final class ApplicationDescriptorImpl extends ApplicationDescriptorBaseImpl + implements ApplicationDescriptor { + + public ApplicationDescriptorImpl(final String descriptorName, final Node model) { + super(descriptorName, model); + } + + public ApplicationDescriptorImpl(final String descriptorName) { + super(descriptorName); + } + + public MutableApplicationDescriptor toMutable() { + return new MutableApplicationDescriptorImpl(this.getDescriptorName(), this.getRootNode()); + } + + public ApplicationType getRoot() + { + return new ApplicationTypeImpl(this, getRootNode()); + } + +@Override +public List getAllDescription() { + // TODO Auto-generated method stub + return null; +} + +@Override +public List getAllDisplayName() { + // TODO Auto-generated method stub + return null; +} + +@Override +public String getApplicationName() { + // TODO Auto-generated method stub + return null; +} + +@Override +public List> getAllModule() { + // TODO Auto-generated method stub + return null; +} + +@Override +public String getLibraryDirectory() { + // TODO Auto-generated method stub + return null; +} + +@Override +public String getVersion() { + // TODO Auto-generated method stub + return null; +} + +@Override +public ApplicationDescriptor up() { + // TODO Auto-generated method stub + return null; +} +} diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeBaseImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeBaseImpl.java new file mode 100644 index 00000000..19b0d5a1 --- /dev/null +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeBaseImpl.java @@ -0,0 +1,49 @@ +package org.jboss.shrinkwrap.descriptor.impl.application6; + +import org.jboss.shrinkwrap.descriptor.api.application5.ApplicationDescriptorBase; +import org.jboss.shrinkwrap.descriptor.api.application5.ApplicationTypeBase; +import org.jboss.shrinkwrap.descriptor.spi.node.Node; +import org.jboss.shrinkwrap.descriptor.spi.node.NodeModel; + +/** + * Base support for read-only views of this descriptors root element. Not intended for direct use by users; + * + * @param + * The true type to be returned for this references (covarient return) + * + * @param + * The type of this elements parent + * + * @author Ralf Battenfeld + * @author Andrew Lee Rubinger + * @since Generation date :2012-06-28T12:19:49.689-04:00 + */ +public abstract class ApplicationTypeBaseImpl, + DESCRIPTORTYPE extends ApplicationDescriptorBase> + implements ApplicationTypeBase, NodeModel { + + private DESCRIPTORTYPE parent; + private Node model; + + public ApplicationTypeBaseImpl(final DESCRIPTORTYPE parent, final Node model) throws IllegalArgumentException { + if (parent == null) { + throw new IllegalArgumentException("parent must be specified"); + } + if (model == null) { + throw new IllegalArgumentException("model must be specified"); + } + this.parent = parent; + this.model = model; + } + + public Node getRootNode() + { + return model; + } + + public DESCRIPTORTYPE up() + { + return parent ; + } + +} diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeImpl.java new file mode 100644 index 00000000..1b84c6ec --- /dev/null +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeImpl.java @@ -0,0 +1,132 @@ +package org.jboss.shrinkwrap.descriptor.impl.application6; + +import java.util.ArrayList; +import java.util.List; + +import org.jboss.shrinkwrap.descriptor.api.application5.ApplicationDescriptor; +import org.jboss.shrinkwrap.descriptor.api.application5.ApplicationType; +import org.jboss.shrinkwrap.descriptor.api.application5.ModuleTypeReader; +import org.jboss.shrinkwrap.descriptor.spi.node.Node; + +/** + * This class implements the applicationType xsd type + * + * @author Ralf Battenfeld + * @author Andrew Lee Rubinger + * @since Generation date :2012-06-28T12:19:49.689-04:00 + */ +public final class ApplicationTypeImpl extends ApplicationTypeBaseImpl + implements ApplicationType { + + public ApplicationTypeImpl(final ApplicationDescriptorImpl parent, final Node model) throws IllegalArgumentException { + super(parent, model); + } + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationType ElementName: xsd:string ElementType : description + // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns all description elements + * @return list of description + */ + public List getAllDescription() + { + List result = new ArrayList(); + List nodes = getRootNode().get("description"); + for (Node node : nodes) + { + result.add(node.getText()); + } + return result; + } + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationType ElementName: xsd:token ElementType : display-name + // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns all display-name elements + * @return list of display-name + */ + public List getAllDisplayName() + { + List result = new ArrayList(); + List nodes = getRootNode().get("display-name"); + for (Node node : nodes) + { + result.add(node.getText()); + } + return result; + } + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationType ElementName: xsd:token ElementType : application-name + // MaxOccurs: - isGeneric: false isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the application-name element + * @return the node defined for the element application-name + */ + public String getApplicationName() + { + return getRootNode().getTextValueForPatternName("application-name"); + } + + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationType ElementName: javaee:moduleType ElementType : module + // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: false + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns all module elements + * @return list of module + */ + public List> getAllModule() + { + List> list = new ArrayList>(); + List nodeList = getRootNode().get("module"); + for(Node node: nodeList) + { + ModuleTypeReader type = new ModuleTypeReaderImpl(this, "module", getRootNode(), node); + list.add(type); + } + return list; + } + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationType ElementName: xsd:token ElementType : library-directory + // MaxOccurs: -1 isGeneric: false isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the library-directory element + * @return the node defined for the element library-directory + */ + public String getLibraryDirectory() + { + return getRootNode().getTextValueForPatternName("library-directory"); + } + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationType ElementName: xsd:token ElementType : version + // MaxOccurs: - isGeneric: false isAttribute: true isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the version attribute + * @return the value defined for the attribute version + */ + public String getVersion() + { + return getRootNode().getAttribute("version"); + } +} diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeMutableImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeMutableImpl.java new file mode 100644 index 00000000..d191ddd0 --- /dev/null +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeMutableImpl.java @@ -0,0 +1,319 @@ +package org.jboss.shrinkwrap.descriptor.impl.application6; + +import java.util.ArrayList; +import java.util.List; + +import org.jboss.shrinkwrap.descriptor.api.application5.MutableApplicationType; +import org.jboss.shrinkwrap.descriptor.api.application5.ModuleType; +import org.jboss.shrinkwrap.descriptor.api.application5.MutableApplicationDescriptor; +import org.jboss.shrinkwrap.descriptor.spi.node.Node; + +/** + * This interface defines the contract for the applicationType xsd type + * + * @author Ralf Battenfeld + * @author Andrew Lee Rubinger + * @since Generation date :2012-06-28T12:19:49.689-04:00 + */ +public final class ApplicationTypeMutableImpl extends ApplicationTypeBaseImpl + implements MutableApplicationType { + + public ApplicationTypeMutableImpl(final MutableApplicationDescriptorImpl parent, final Node model) throws IllegalArgumentException { + super(parent, model); + } + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationTypeMutable ElementName: xsd:string ElementType : description + // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Creates for all String objects representing description elements, + * a new description element + * @param values list of description objects + * @return the current instance of ApplicationTypeMutable + */ + public MutableApplicationType description(String ... values) + { + if (values != null) + { + for(String name: values) + { + getRootNode().createChild("description").text(name); + } + } + return this; + } + + /** + * Returns all description elements + * @return list of description + */ + public List getAllDescription() + { + List result = new ArrayList(); + List nodes = getRootNode().get("description"); + for (Node node : nodes) + { + result.add(node.getText()); + } + return result; + } + + /** + * Removes the description element + * @return the current instance of ApplicationTypeMutable + */ + public MutableApplicationType removeAllDescription() + { + getRootNode().removeChildren("description"); + return this; + } + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationTypeMutable ElementName: xsd:token ElementType : display-name + // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Creates for all String objects representing display-name elements, + * a new display-name element + * @param values list of display-name objects + * @return the current instance of ApplicationTypeMutable + */ + public MutableApplicationType displayName(String ... values) + { + if (values != null) + { + for(String name: values) + { + getRootNode().createChild("display-name").text(name); + } + } + return this; + } + + /** + * Returns all display-name elements + * @return list of display-name + */ + public List getAllDisplayName() + { + List result = new ArrayList(); + List nodes = getRootNode().get("display-name"); + for (Node node : nodes) + { + result.add(node.getText()); + } + return result; + } + + /** + * Removes the display-name element + * @return the current instance of ApplicationTypeMutable + */ + public MutableApplicationType removeAllDisplayName() + { + getRootNode().removeChildren("display-name"); + return this; + } + + /** + * Removes all icon elements + * @return the current instance of IconType + */ + public MutableApplicationType removeAllIcon() + { + getRootNode().removeChildren("icon"); + return this; + } + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationTypeMutable ElementName: xsd:token ElementType : application-name + // MaxOccurs: - isGeneric: false isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the application-name element + * @param applicationName the value for the element application-name + * @return the current instance of ApplicationTypeMutable + */ + public MutableApplicationType applicationName(String applicationName) + { + getRootNode().getOrCreate("application-name").text(applicationName); + return this; + } + + /** + * Returns the application-name element + * @return the node defined for the element application-name + */ + public String getApplicationName() + { + return getRootNode().getTextValueForPatternName("application-name"); + } + + /** + * Removes the application-name element + * @return the current instance of ApplicationTypeMutable + */ + public MutableApplicationType removeApplicationName() + { + getRootNode().removeChildren("application-name"); + return this; + } + + /** + * Returns the initialize-in-order element + * @return the value found for the element initialize-in-order + */ + public String getInitializeInOrderAsString() + { + return getRootNode().getTextValueForPatternName("initialize-in-order"); + } + + /** + * Removes the initialize-in-order attribute + * @return the current instance of ApplicationTypeMutable + */ + public MutableApplicationType removeInitializeInOrder() + { + getRootNode().removeAttribute("initialize-in-order"); + return this; + } + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationTypeMutable ElementName: javaee:moduleType ElementType : module + // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: false + // --------------------------------------------------------------------------------------------------------|| + + /** + * If not already created, a new module element will be created and returned. + * Otherwise, the first existing module element will be returned. + * @return the instance defined for the element module + */ + public ModuleType getOrCreateModule() + { + List nodeList = getRootNode().get("module"); + if (nodeList != null && nodeList.size() > 0) + { + return new ModuleTypeImpl(this, "module", getRootNode(), nodeList.get(0)); + } + return createModule(); + } + + /** + * Creates a new module element + * @return the new created instance of ModuleType + */ + public ModuleType createModule() + { + return new ModuleTypeImpl(this, "module", getRootNode()); + } + + /** + * Returns all module elements + * @return list of module + */ + public List> getAllModule() + { + List> list = new ArrayList>(); + List nodeList = getRootNode().get("module"); + for(Node node: nodeList) + { + ModuleType type = new ModuleTypeImpl(this, "module", getRootNode(), node); + list.add(type); + } + return list; + } + + /** + * Removes all module elements + * @return the current instance of ModuleType + */ + public MutableApplicationType removeAllModule() + { + getRootNode().removeChildren("module"); + return this; + } + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationTypeMutable ElementName: xsd:token ElementType : library-directory + // MaxOccurs: -1 isGeneric: false isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the library-directory element + * @param libraryDirectory the value for the element library-directory + * @return the current instance of ApplicationTypeMutable + */ + public MutableApplicationType libraryDirectory(String libraryDirectory) + { + getRootNode().getOrCreate("library-directory").text(libraryDirectory); + return this; + } + + /** + * Returns the library-directory element + * @return the node defined for the element library-directory + */ + public String getLibraryDirectory() + { + return getRootNode().getTextValueForPatternName("library-directory"); + } + + /** + * Removes the library-directory element + * @return the current instance of ApplicationTypeMutable + */ + public MutableApplicationType removeLibraryDirectory() + { + getRootNode().removeChildren("library-directory"); + return this; + } + + + + + + + + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationTypeMutable ElementName: xsd:token ElementType : version + // MaxOccurs: - isGeneric: false isAttribute: true isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the version attribute + * @param version the value for the attribute version + * @return the current instance of ApplicationTypeMutable + */ + public MutableApplicationType version(String version) + { + getRootNode().attribute("version", version); + return this; + } + + /** + * Returns the version attribute + * @return the value defined for the attribute version + */ + public String getVersion() + { + return getRootNode().getAttribute("version"); + } + + /** + * Removes the version attribute + * @return the current instance of ApplicationTypeMutable + */ + public MutableApplicationType removeVersion() + { + getRootNode().removeAttribute("version"); + return this; + } +} diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ModuleTypeImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ModuleTypeImpl.java new file mode 100644 index 00000000..2706ba6a --- /dev/null +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ModuleTypeImpl.java @@ -0,0 +1,228 @@ +package org.jboss.shrinkwrap.descriptor.impl.application6; + +import org.jboss.shrinkwrap.descriptor.api.Child; +import org.jboss.shrinkwrap.descriptor.api.application5.ModuleType; +import org.jboss.shrinkwrap.descriptor.api.application5.WebType; +import org.jboss.shrinkwrap.descriptor.spi.node.Node; + + +/** + * This class implements the moduleType xsd type + * @author Ralf Battenfeld + * @author Andrew Lee Rubinger + * @since Generation date :2012-06-28T12:19:49.689-04:00 + */ +public class ModuleTypeImpl implements Child, ModuleType +{ + // -------------------------------------------------------------------------------------|| + // Instance Members + // -------------------------------------------------------------------------------------|| + + private T t; + private Node childNode; + // -------------------------------------------------------------------------------------|| + // Constructor + // -------------------------------------------------------------------------------------|| + + public ModuleTypeImpl(T t, String nodeName, Node node) { + this.t = t; + this.childNode = node.createChild(nodeName); + } + + public ModuleTypeImpl(T t, String nodeName, Node node, Node childNode) { + this.t = t; + this.childNode = childNode; + } + + + public T up() + { + return t ; + } + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleType ElementName: xsd:token ElementType : connector + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the connector element + * @param connector the value for the element connector + * @return the current instance of ModuleType + */ + public ModuleType connector(String connector) + { + childNode.getOrCreate("connector").text(connector); + return this; + } + + /** + * Returns the connector element + * @return the node defined for the element connector + */ + public String getConnector() + { + return childNode.getTextValueForPatternName("connector"); + } + + /** + * Removes the connector element + * @return the current instance of ModuleType + */ + public ModuleType removeConnector() + { + childNode.removeChildren("connector"); + return this; + } + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleType ElementName: xsd:token ElementType : ejb + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the ejb element + * @param ejb the value for the element ejb + * @return the current instance of ModuleType + */ + public ModuleType ejb(String ejb) + { + childNode.getOrCreate("ejb").text(ejb); + return this; + } + + /** + * Returns the ejb element + * @return the node defined for the element ejb + */ + public String getEjb() + { + return childNode.getTextValueForPatternName("ejb"); + } + + /** + * Removes the ejb element + * @return the current instance of ModuleType + */ + public ModuleType removeEjb() + { + childNode.removeChildren("ejb"); + return this; + } + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleType ElementName: xsd:token ElementType : java + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the java element + * @param java the value for the element java + * @return the current instance of ModuleType + */ + public ModuleType java(String java) + { + childNode.getOrCreate("java").text(java); + return this; + } + + /** + * Returns the java element + * @return the node defined for the element java + */ + public String getJava() + { + return childNode.getTextValueForPatternName("java"); + } + + /** + * Removes the java element + * @return the current instance of ModuleType + */ + public ModuleType removeJava() + { + childNode.removeChildren("java"); + return this; + } + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleType ElementName: javaee:webType ElementType : web + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: false + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the web element. + * @return the existing instance of WebType>, or null if not found + */ + public WebType> getWeb() + { + Node node = childNode.getSingle("web"); + if (node != null) + { + return new WebTypeImpl>(this, "web", childNode, node); + } + return null; + } + + /** + * If not already created, a new web element with the given value will be created. + * Otherwise, the existing web element will be returned. + * @return a new or existing instance of WebType> + */ + public WebType> getOrCreateWeb() + { + Node node = childNode.getOrCreate("web"); + WebType> web = new WebTypeImpl>(this, "web", childNode, node); + return web; + } + + /** + * Removes the web element + * @return the current instance of ModuleType + */ + public ModuleType removeWeb() + { + childNode.removeChildren("web"); + return this; + } + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleType ElementName: xsd:token ElementType : alt-dd + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the alt-dd element + * @param altDd the value for the element alt-dd + * @return the current instance of ModuleType + */ + public ModuleType altDd(String altDd) + { + childNode.getOrCreate("alt-dd").text(altDd); + return this; + } + + /** + * Returns the alt-dd element + * @return the node defined for the element alt-dd + */ + public String getAltDd() + { + return childNode.getTextValueForPatternName("alt-dd"); + } + + /** + * Removes the alt-dd element + * @return the current instance of ModuleType + */ + public ModuleType removeAltDd() + { + childNode.removeChildren("alt-dd"); + return this; + } +} diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ModuleTypeReaderImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ModuleTypeReaderImpl.java new file mode 100644 index 00000000..4fe29751 --- /dev/null +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ModuleTypeReaderImpl.java @@ -0,0 +1,122 @@ +package org.jboss.shrinkwrap.descriptor.impl.application6; + +import org.jboss.shrinkwrap.descriptor.api.Child; +import org.jboss.shrinkwrap.descriptor.api.application5.ModuleTypeReader; +import org.jboss.shrinkwrap.descriptor.api.application5.WebTypeReader; +import org.jboss.shrinkwrap.descriptor.spi.node.Node; + + +/** + * This class implements the moduleType xsd type + * @author Ralf Battenfeld + * @author Andrew Lee Rubinger + * @since Generation date :2012-06-28T12:19:49.689-04:00 + */ +public class ModuleTypeReaderImpl implements Child, ModuleTypeReader +{ + // -------------------------------------------------------------------------------------|| + // Instance Members + // -------------------------------------------------------------------------------------|| + + private T t; + private Node childNode; + // -------------------------------------------------------------------------------------|| + // Constructor + // -------------------------------------------------------------------------------------|| + + public ModuleTypeReaderImpl(T t, String nodeName, Node node) { + this.t = t; + this.childNode = node.createChild(nodeName); + } + + public ModuleTypeReaderImpl(T t, String nodeName, Node node, Node childNode) { + this.t = t; + this.childNode = childNode; + } + + + public T up() + { + return t ; + } + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleTypeReader ElementName: xsd:token ElementType : connector + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the connector element + * @return the node defined for the element connector + */ + public String getConnector() + { + return childNode.getTextValueForPatternName("connector"); + } + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleTypeReader ElementName: xsd:token ElementType : ejb + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the ejb element + * @return the node defined for the element ejb + */ + public String getEjb() + { + return childNode.getTextValueForPatternName("ejb"); + } + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleTypeReader ElementName: xsd:token ElementType : java + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the java element + * @return the node defined for the element java + */ + public String getJava() + { + return childNode.getTextValueForPatternName("java"); + } + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleTypeReader ElementName: javaee:webType ElementType : web + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: false + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the web element. + * @return the existing instance of WebTypeReader>, or null if not found + */ + public WebTypeReader> getWeb() + { + Node node = childNode.getSingle("web"); + if (node != null) + { + return new WebTypeReaderImpl>(this, "web", childNode, node); + } + return null; + } + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ModuleTypeReader ElementName: xsd:token ElementType : alt-dd + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the alt-dd element + * @return the node defined for the element alt-dd + */ + public String getAltDd() + { + return childNode.getTextValueForPatternName("alt-dd"); + } +} diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/MutableApplicationDescriptorImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/MutableApplicationDescriptorImpl.java new file mode 100644 index 00000000..3290bee6 --- /dev/null +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/MutableApplicationDescriptorImpl.java @@ -0,0 +1,169 @@ +package org.jboss.shrinkwrap.descriptor.impl.application6; + +import java.util.List; + +import org.jboss.shrinkwrap.descriptor.api.application5.ApplicationDescriptor; +import org.jboss.shrinkwrap.descriptor.api.application5.MutableApplicationType; +import org.jboss.shrinkwrap.descriptor.api.application5.ModuleType; +import org.jboss.shrinkwrap.descriptor.api.application5.MutableApplicationDescriptor; +import org.jboss.shrinkwrap.descriptor.spi.node.Node; + +/** + *

+ * This deployment descriptor provides the functionalities as described in the + * specification + *

+ * Example: + *

+ * + * MutableApplicationDescriptorImpl descriptor = Descriptors.create(MutableApplicationDescriptorImpl.class); + * + * + * + * @author Ralf Battenfeld + * @author Andrew Lee Rubinger + * @since Generation date :2012-06-28T12:19:49.689-04:00 + */ +public final class MutableApplicationDescriptorImpl + extends + ApplicationDescriptorBaseImpl + implements MutableApplicationDescriptor { + + public MutableApplicationDescriptorImpl(final String descriptorName, + final Node model) { + super(descriptorName, model); + } + + public MutableApplicationDescriptorImpl(final String descriptorName) { + super(descriptorName); + } + + public ApplicationDescriptor toImmutable() { + return new ApplicationDescriptorImpl(this.getDescriptorName(), + this.getRootNode()); + } + + public MutableApplicationType getRoot() { + return new ApplicationTypeMutableImpl(this, getRootNode()); + } + + @Override + public MutableApplicationType description(String... values) { + // TODO Auto-generated method stub + return null; + } + + @Override + public List getAllDescription() { + // TODO Auto-generated method stub + return null; + } + + @Override + public MutableApplicationType removeAllDescription() { + // TODO Auto-generated method stub + return null; + } + + @Override + public MutableApplicationType displayName(String... values) { + // TODO Auto-generated method stub + return null; + } + + @Override + public List getAllDisplayName() { + // TODO Auto-generated method stub + return null; + } + + @Override + public MutableApplicationType removeAllDisplayName() { + // TODO Auto-generated method stub + return null; + } + + @Override + public MutableApplicationType applicationName(String applicationName) { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getApplicationName() { + // TODO Auto-generated method stub + return null; + } + + @Override + public MutableApplicationType removeApplicationName() { + // TODO Auto-generated method stub + return null; + } + + @Override + public ModuleType getOrCreateModule() { + // TODO Auto-generated method stub + return null; + } + + @Override + public ModuleType createModule() { + // TODO Auto-generated method stub + return null; + } + + @Override + public List> getAllModule() { + // TODO Auto-generated method stub + return null; + } + + @Override + public MutableApplicationType removeAllModule() { + // TODO Auto-generated method stub + return null; + } + + @Override + public MutableApplicationType libraryDirectory(String libraryDirectory) { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getLibraryDirectory() { + // TODO Auto-generated method stub + return null; + } + + @Override + public MutableApplicationType removeLibraryDirectory() { + // TODO Auto-generated method stub + return null; + } + + @Override + public MutableApplicationType version(String version) { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getVersion() { + // TODO Auto-generated method stub + return null; + } + + @Override + public MutableApplicationType removeVersion() { + // TODO Auto-generated method stub + return null; + } + + @Override + public MutableApplicationDescriptor up() { + // TODO Auto-generated method stub + return null; + } +} diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/WebTypeImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/WebTypeImpl.java new file mode 100644 index 00000000..7b079131 --- /dev/null +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/WebTypeImpl.java @@ -0,0 +1,115 @@ +package org.jboss.shrinkwrap.descriptor.impl.application6; + +import org.jboss.shrinkwrap.descriptor.api.Child; +import org.jboss.shrinkwrap.descriptor.api.application5.WebType; +import org.jboss.shrinkwrap.descriptor.spi.node.Node; + + +/** + * This class implements the webType xsd type + * @author Ralf Battenfeld + * @author Andrew Lee Rubinger + * @since Generation date :2012-06-28T12:19:49.689-04:00 + */ +public class WebTypeImpl implements Child, WebType +{ + // -------------------------------------------------------------------------------------|| + // Instance Members + // -------------------------------------------------------------------------------------|| + + private T t; + private Node childNode; + // -------------------------------------------------------------------------------------|| + // Constructor + // -------------------------------------------------------------------------------------|| + + public WebTypeImpl(T t, String nodeName, Node node) { + this.t = t; + this.childNode = node.createChild(nodeName); + } + + public WebTypeImpl(T t, String nodeName, Node node, Node childNode) { + this.t = t; + this.childNode = childNode; + } + + + public T up() + { + return t ; + } + + public void set(String webUri, String contextRoot) { + } + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: WebType ElementName: xsd:token ElementType : web-uri + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the web-uri element + * @param webUri the value for the element web-uri + * @return the current instance of WebType + */ + public WebType webUri(String webUri) + { + childNode.getOrCreate("web-uri").text(webUri); + return this; + } + + /** + * Returns the web-uri element + * @return the node defined for the element web-uri + */ + public String getWebUri() + { + return childNode.getTextValueForPatternName("web-uri"); + } + + /** + * Removes the web-uri element + * @return the current instance of WebType + */ + public WebType removeWebUri() + { + childNode.removeChildren("web-uri"); + return this; + } + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: WebType ElementName: xsd:token ElementType : context-root + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the context-root element + * @param contextRoot the value for the element context-root + * @return the current instance of WebType + */ + public WebType contextRoot(String contextRoot) + { + childNode.getOrCreate("context-root").text(contextRoot); + return this; + } + + /** + * Returns the context-root element + * @return the node defined for the element context-root + */ + public String getContextRoot() + { + return childNode.getTextValueForPatternName("context-root"); + } + + /** + * Removes the context-root element + * @return the current instance of WebType + */ + public WebType removeContextRoot() + { + childNode.removeChildren("context-root"); + return this; + } +} diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/WebTypeReaderImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/WebTypeReaderImpl.java new file mode 100644 index 00000000..eefc9635 --- /dev/null +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/WebTypeReaderImpl.java @@ -0,0 +1,71 @@ +package org.jboss.shrinkwrap.descriptor.impl.application6; + +import org.jboss.shrinkwrap.descriptor.api.Child; +import org.jboss.shrinkwrap.descriptor.api.application5.WebTypeReader; +import org.jboss.shrinkwrap.descriptor.spi.node.Node; + + +/** + * This class implements the webType xsd type + * @author Ralf Battenfeld + * @author Andrew Lee Rubinger + * @since Generation date :2012-06-28T12:19:49.689-04:00 + */ +public class WebTypeReaderImpl implements Child, WebTypeReader +{ + // -------------------------------------------------------------------------------------|| + // Instance Members + // -------------------------------------------------------------------------------------|| + + private T t; + private Node childNode; + // -------------------------------------------------------------------------------------|| + // Constructor + // -------------------------------------------------------------------------------------|| + + public WebTypeReaderImpl(T t, String nodeName, Node node) { + this.t = t; + this.childNode = node.createChild(nodeName); + } + + public WebTypeReaderImpl(T t, String nodeName, Node node, Node childNode) { + this.t = t; + this.childNode = childNode; + } + + + public T up() + { + return t ; + } + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: WebTypeReader ElementName: xsd:token ElementType : web-uri + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the web-uri element + * @return the node defined for the element web-uri + */ + public String getWebUri() + { + return childNode.getTextValueForPatternName("web-uri"); + } + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: WebTypeReader ElementName: xsd:token ElementType : context-root + // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the context-root element + * @return the node defined for the element context-root + */ + public String getContextRoot() + { + return childNode.getTextValueForPatternName("context-root"); + } +} diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/package-info.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/package-info.java new file mode 100644 index 00000000..24c09438 --- /dev/null +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/package-info.java @@ -0,0 +1,5 @@ + /** + * Provides the implementation classes as defined in the schema + */ + +package org.jboss.shrinkwrap.descriptor.impl.application6; From 1cae1f6a07538a49f8a38b4201b2dfb31cd2eb22 Mon Sep 17 00:00:00 2001 From: Ralf Battenfeld Date: Wed, 11 Jul 2012 19:35:58 +0200 Subject: [PATCH 8/8] [SHRINKDESC-21] Removed getRoot() and synced poc with the generated code --- .../application5/ApplicationDescriptor.java | 65 +++++- .../ApplicationDescriptorBase.java | 4 +- .../api/application5/ApplicationType.java | 17 +- .../api/application5/ApplicationTypeBase.java | 2 +- ...nType.java => ApplicationTypeMutable.java} | 61 ++---- .../api/application5/ModuleType.java | 5 +- .../api/application5/ModuleTypeReader.java | 5 +- .../MutableApplicationDescriptor.java | 140 ++++++++++++- .../api/application5/MutableModuleType.java | 138 ------------- .../api/application5/MutableWebType.java | 63 ------ .../descriptor/api/application5/WebType.java | 2 +- .../api/application5/WebTypeReader.java | 2 +- .../ApplicationDescriptorTestCase.java | 2 +- .../ApplicationDescriptorBaseImpl.java | 15 +- .../ApplicationDescriptorImpl.java} | 69 +++---- .../ModuleTypeImpl.java | 14 +- .../ModuleTypeReaderImpl.java | 14 +- .../MutableApplicationDescriptorImpl.java} | 172 ++++++---------- .../WebTypeImpl.java | 13 +- .../WebTypeReaderImpl.java | 13 +- .../package-info.java | 2 +- .../ApplicationDescriptorImpl.java | 86 -------- .../application6/ApplicationTypeBaseImpl.java | 49 ----- .../MutableApplicationDescriptorImpl.java | 169 --------------- .../ConnectorDescriptorTestCase.java | 4 +- .../test/ironjacamar/DataSourcesTestCase.java | 4 +- .../test/ironjacamar/IronJacamarTestCase.java | 4 +- .../ironjacamar/ResourceAdaptersTestCase.java | 4 +- .../src/main/resources/META-INF/ddJavaAll.xsl | 192 +++++++++++++----- .../ApplicationDescriptorTestCase.java | 10 +- .../ApplicationDescriptorTestCase.java | 4 +- .../test/beans10/BeansDescriptorTestCase.java | 4 +- .../ConnectorDescriptorTestCase.java | 4 +- .../ConnectorDescriptorTestCase.java | 4 +- .../ConnectorDescriptorTestCase.java | 4 +- .../EjbJarDescriptorReaderTestCase.java | 12 +- .../ejbjar31/EjbJarDescriptorTestCase.java | 8 +- .../FacesConfigDescriptorTestCase.java | 14 +- .../JbossWebDescriptorTestCase.java | 4 +- .../test/jetty7/Jetty7TestCase.java | 4 +- .../WebJspTagLibraryDescriptorTestCase.java | 4 +- .../WebJspTagLibraryDescriptorTestCase.java | 4 +- .../PersistenceDescriptorTestCase.java | 4 +- .../PersistenceDescriptorTestCase.java | 4 +- .../BeansDescriptorTestCase.java | 44 ++-- .../DescriptorExporterTestCase.java | 2 +- .../portedfrompoc/DescriptorsTestCase.java | 4 +- ...sistenceDescriptorEclipseLinkTestCase.java | 2 +- ...ersistenceDescriptorHibernateTestCase.java | 4 +- .../PersistenceDescriptorTestCase.java | 73 ++++--- .../test/portedfrompoc/WebAppDefTestCase.java | 24 +-- .../portlet20/PortletDescriptorTestCase.java | 4 +- ...ebAppDescriptorAttributeGroupTestCase.java | 34 ++-- .../WebAppDescriptorComplexTypeTestCase.java | 52 ++--- .../WebAppDescriptorImportAsTestCase.java | 158 +++++++------- .../WebAppDescriptorNamespaceTestCase.java | 4 +- .../WebAppDescriptorSimpleTypeTestCase.java | 16 +- .../webapp30/WebAppDescriptorTestCase.java | 36 ++-- 58 files changed, 796 insertions(+), 1079 deletions(-) rename api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/{MutableApplicationType.java => ApplicationTypeMutable.java} (68%) delete mode 100644 api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableModuleType.java delete mode 100644 api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableWebType.java rename impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/{application6 => application5}/ApplicationDescriptorBaseImpl.java (82%) rename impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/{application6/ApplicationTypeImpl.java => application5/ApplicationDescriptorImpl.java} (66%) rename impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/{application6 => application5}/ModuleTypeImpl.java (94%) rename impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/{application6 => application5}/ModuleTypeReaderImpl.java (91%) rename impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/{application6/ApplicationTypeMutableImpl.java => application5/MutableApplicationDescriptorImpl.java} (53%) rename impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/{application6 => application5}/WebTypeImpl.java (91%) rename impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/{application6 => application5}/WebTypeReaderImpl.java (87%) rename impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/{application6 => application5}/package-info.java (56%) delete mode 100644 impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationDescriptorImpl.java delete mode 100644 impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeBaseImpl.java delete mode 100644 impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/MutableApplicationDescriptorImpl.java diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptor.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptor.java index e396dbbd..f6cb82fb 100644 --- a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptor.java +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptor.java @@ -1,5 +1,7 @@ package org.jboss.shrinkwrap.descriptor.api.application5; +import java.util.List; + import org.jboss.shrinkwrap.descriptor.api.Immutable; /** *

@@ -14,8 +16,67 @@ * * @author Ralf Battenfeld * @author Andrew Lee Rubinger - * @since Generation date :2012-06-28T12:19:49.689-04:00 + * @since Generation date :2012-07-08T16:29:08.216+02:00 */ public interface ApplicationDescriptor extends ApplicationDescriptorBase, - Immutable, ApplicationType { + Immutable { + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationDescriptor ElementName: xsd:string ElementType : description + // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns all description elements + * @return list of description + */ + public List getAllDescription(); + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationDescriptor ElementName: xsd:token ElementType : display-name + // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns all display-name elements + * @return list of display-name + */ + public List getAllDisplayName(); + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationDescriptor ElementName: javaee:moduleType ElementType : module + // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: false + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns all module elements + * @return list of module + */ + public List> getAllModule(); + + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationDescriptor ElementName: xsd:token ElementType : library-directory + // MaxOccurs: -1 isGeneric: false isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the library-directory element + * @return the node defined for the element library-directory + */ + public String getLibraryDirectory(); + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: ApplicationDescriptor ElementName: xsd:token ElementType : version + // MaxOccurs: - isGeneric: false isAttribute: true isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Returns the version attribute + * @return the value defined for the attribute version + */ + public String getVersion(); } diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptorBase.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptorBase.java index 778406dd..5f5e6f0e 100644 --- a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptorBase.java +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptorBase.java @@ -14,12 +14,10 @@ * * @author Ralf Battenfeld * @author Andrew Lee Rubinger - * @since Generation date :2012-06-28T12:19:49.689-04:00 + * @since Generation date :2012-07-08T16:29:08.216+02:00 */ public interface ApplicationDescriptorBase, DESCRIPTORTYPE extends ApplicationDescriptorBase> extends Descriptor { - - public ROOTTYPE getRoot(); } diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationType.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationType.java index f19cfb56..19e8a4bc 100644 --- a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationType.java +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationType.java @@ -7,7 +7,7 @@ * * @author Ralf Battenfeld * @author Andrew Lee Rubinger - * @since Generation date :2012-06-28T12:19:49.689-04:00 + * @since Generation date :2012-07-08T16:29:08.216+02:00 */ public interface ApplicationType extends ApplicationTypeBase { @@ -32,18 +32,6 @@ public interface ApplicationType extends ApplicationTypeBasedisplay-name */ public List getAllDisplayName(); - - - // --------------------------------------------------------------------------------------------------------|| - // ClassName: ApplicationType ElementName: xsd:token ElementType : application-name - // MaxOccurs: - isGeneric: false isAttribute: false isEnum: false isDataType: true - // --------------------------------------------------------------------------------------------------------|| - - /** - * Returns the application-name element - * @return the node defined for the element application-name - */ - public String getApplicationName(); // --------------------------------------------------------------------------------------------------------|| // ClassName: ApplicationType ElementName: javaee:moduleType ElementType : module @@ -56,6 +44,7 @@ public interface ApplicationType extends ApplicationTypeBase> getAllModule(); + // --------------------------------------------------------------------------------------------------------|| // ClassName: ApplicationType ElementName: xsd:token ElementType : library-directory @@ -67,7 +56,7 @@ public interface ApplicationType extends ApplicationTypeBaselibrary-directory */ public String getLibraryDirectory(); - + // --------------------------------------------------------------------------------------------------------|| // ClassName: ApplicationType ElementName: xsd:token ElementType : version diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationTypeBase.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationTypeBase.java index cce6e381..d9282403 100644 --- a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationTypeBase.java +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationTypeBase.java @@ -13,7 +13,7 @@ * * @author Ralf Battenfeld * @author Andrew Lee Rubinger - * @since Generation date :2012-06-28T12:19:49.689-04:00 + * @since Generation date :2012-07-08T16:29:08.216+02:00 */ public interface ApplicationTypeBase, PARENTTYPE> extends Child { } diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationType.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationTypeMutable.java similarity index 68% rename from api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationType.java rename to api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationTypeMutable.java index 352943e1..1255be01 100644 --- a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationType.java +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationTypeMutable.java @@ -7,9 +7,9 @@ * * @author Ralf Battenfeld * @author Andrew Lee Rubinger - * @since Generation date :2012-06-28T12:19:49.689-04:00 + * @since Generation date :2012-07-08T16:29:08.216+02:00 */ -public interface MutableApplicationType extends ApplicationTypeBase { +public interface ApplicationTypeMutable extends ApplicationTypeBase { // --------------------------------------------------------------------------------------------------------|| // ClassName: ApplicationTypeMutable ElementName: xsd:string ElementType : description @@ -22,7 +22,7 @@ public interface MutableApplicationType extends ApplicationTypeBasedescription objects * @return the current instance of ApplicationTypeMutable */ - public MutableApplicationType description(String ... values); + public ApplicationTypeMutable description(String ... values); /** * Returns all description elements @@ -34,7 +34,7 @@ public interface MutableApplicationType extends ApplicationTypeBasedescription element * @return the current instance of ApplicationTypeMutable */ - public MutableApplicationType removeAllDescription(); + public ApplicationTypeMutable removeAllDescription(); // --------------------------------------------------------------------------------------------------------|| // ClassName: ApplicationTypeMutable ElementName: xsd:token ElementType : display-name @@ -47,7 +47,7 @@ public interface MutableApplicationType extends ApplicationTypeBasedisplay-name objects * @return the current instance of ApplicationTypeMutable */ - public MutableApplicationType displayName(String ... values); + public ApplicationTypeMutable displayName(String ... values); /** * Returns all display-name elements @@ -59,38 +59,8 @@ public interface MutableApplicationType extends ApplicationTypeBasedisplay-name element * @return the current instance of ApplicationTypeMutable */ - public MutableApplicationType removeAllDisplayName(); - - // --------------------------------------------------------------------------------------------------------|| - // ClassName: ApplicationTypeMutable ElementName: javaee:service-refType ElementType : service-ref - // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: false - // --------------------------------------------------------------------------------------------------------|| - + public ApplicationTypeMutable removeAllDisplayName(); - // --------------------------------------------------------------------------------------------------------|| - // ClassName: ApplicationTypeMutable ElementName: xsd:token ElementType : application-name - // MaxOccurs: - isGeneric: false isAttribute: false isEnum: false isDataType: true - // --------------------------------------------------------------------------------------------------------|| - - /** - * Sets the application-name element - * @param applicationName the value for the element application-name - * @return the current instance of ApplicationTypeMutable - */ - public MutableApplicationType applicationName(String applicationName); - - /** - * Returns the application-name element - * @return the node defined for the element application-name - */ - public String getApplicationName(); - - /** - * Removes the application-name element - * @return the current instance of ApplicationTypeMutable - */ - public MutableApplicationType removeApplicationName(); - // --------------------------------------------------------------------------------------------------------|| // ClassName: ApplicationTypeMutable ElementName: javaee:moduleType ElementType : module @@ -102,27 +72,28 @@ public interface MutableApplicationType extends ApplicationTypeBasemodule element will be returned. * @return the instance defined for the element module */ - public ModuleType getOrCreateModule(); + public ModuleType getOrCreateModule(); /** * Creates a new module element * @return the new created instance of ModuleType */ - public ModuleType createModule(); + public ModuleType createModule(); /** * Returns all module elements * @return list of module */ - public List> getAllModule(); + public List> getAllModule(); /** * Removes all module elements * @return the current instance of ModuleType */ - public MutableApplicationType removeAllModule(); + public ApplicationTypeMutable removeAllModule(); + // --------------------------------------------------------------------------------------------------------|| // ClassName: ApplicationTypeMutable ElementName: xsd:token ElementType : library-directory // MaxOccurs: -1 isGeneric: false isAttribute: false isEnum: false isDataType: true @@ -133,7 +104,7 @@ public interface MutableApplicationType extends ApplicationTypeBaselibrary-directory * @return the current instance of ApplicationTypeMutable */ - public MutableApplicationType libraryDirectory(String libraryDirectory); + public ApplicationTypeMutable libraryDirectory(String libraryDirectory); /** * Returns the library-directory element @@ -145,9 +116,9 @@ public interface MutableApplicationType extends ApplicationTypeBaselibrary-directory element * @return the current instance of ApplicationTypeMutable */ - public MutableApplicationType removeLibraryDirectory(); + public ApplicationTypeMutable removeLibraryDirectory(); - + // --------------------------------------------------------------------------------------------------------|| // ClassName: ApplicationTypeMutable ElementName: xsd:token ElementType : version // MaxOccurs: - isGeneric: false isAttribute: true isEnum: false isDataType: true @@ -158,7 +129,7 @@ public interface MutableApplicationType extends ApplicationTypeBaseversion * @return the current instance of ApplicationTypeMutable */ - public MutableApplicationType version(String version); + public ApplicationTypeMutable version(String version); /** * Returns the version attribute @@ -170,5 +141,5 @@ public interface MutableApplicationType extends ApplicationTypeBaseversion attribute * @return the current instance of ApplicationTypeMutable */ - public MutableApplicationType removeVersion(); + public ApplicationTypeMutable removeVersion(); } diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ModuleType.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ModuleType.java index 79517a01..8f3f3644 100644 --- a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ModuleType.java +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ModuleType.java @@ -1,12 +1,15 @@ package org.jboss.shrinkwrap.descriptor.api.application5; +import java.util.ArrayList; +import java.util.List; import org.jboss.shrinkwrap.descriptor.api.Child; +import org.jboss.shrinkwrap.descriptor.api.application5.WebType; /** * This interface defines the contract for the moduleType xsd type * @author Ralf Battenfeld * @author Andrew Lee Rubinger - * @since Generation date :2012-06-28T12:19:49.689-04:00 + * @since Generation date :2012-07-08T16:29:08.216+02:00 */ public interface ModuleType extends Child { diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ModuleTypeReader.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ModuleTypeReader.java index aa425720..c81526e1 100644 --- a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ModuleTypeReader.java +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/ModuleTypeReader.java @@ -1,12 +1,15 @@ package org.jboss.shrinkwrap.descriptor.api.application5; +import java.util.ArrayList; +import java.util.List; import org.jboss.shrinkwrap.descriptor.api.Child; +import org.jboss.shrinkwrap.descriptor.api.application5.WebTypeReader; /** * This interface defines the contract for the moduleType xsd type * @author Ralf Battenfeld * @author Andrew Lee Rubinger - * @since Generation date :2012-06-28T12:19:49.689-04:00 + * @since Generation date :2012-07-08T16:29:08.216+02:00 */ public interface ModuleTypeReader extends Child { diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationDescriptor.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationDescriptor.java index 9b8dc733..06c14327 100644 --- a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationDescriptor.java +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableApplicationDescriptor.java @@ -1,5 +1,7 @@ package org.jboss.shrinkwrap.descriptor.api.application5; +import java.util.List; + import org.jboss.shrinkwrap.descriptor.api.Mutable; /** *

@@ -14,8 +16,140 @@ * * @author Ralf Battenfeld * @author Andrew Lee Rubinger - * @since Generation date :2012-06-28T12:19:49.689-04:00 + * @since Generation date :2012-07-08T16:29:08.216+02:00 */ -public interface MutableApplicationDescriptor extends ApplicationDescriptorBase, - Mutable, MutableApplicationType { +public interface MutableApplicationDescriptor extends ApplicationDescriptorBase, + Mutable { + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: MutableApplicationDescriptor ElementName: xsd:string ElementType : description + // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Creates for all String objects representing description elements, + * a new description element + * @param values list of description objects + * @return the current instance of MutableApplicationDescriptor + */ + public MutableApplicationDescriptor description(String ... values); + + /** + * Returns all description elements + * @return list of description + */ + public List getAllDescription(); + + /** + * Removes the description element + * @return the current instance of MutableApplicationDescriptor + */ + public MutableApplicationDescriptor removeAllDescription(); + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: MutableApplicationDescriptor ElementName: xsd:token ElementType : display-name + // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Creates for all String objects representing display-name elements, + * a new display-name element + * @param values list of display-name objects + * @return the current instance of MutableApplicationDescriptor + */ + public MutableApplicationDescriptor displayName(String ... values); + + /** + * Returns all display-name elements + * @return list of display-name + */ + public List getAllDisplayName(); + + /** + * Removes the display-name element + * @return the current instance of MutableApplicationDescriptor + */ + public MutableApplicationDescriptor removeAllDisplayName(); + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: MutableApplicationDescriptor ElementName: javaee:moduleType ElementType : module + // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: false + // --------------------------------------------------------------------------------------------------------|| + + /** + * If not already created, a new module element will be created and returned. + * Otherwise, the first existing module element will be returned. + * @return the instance defined for the element module + */ + public ModuleType getOrCreateModule(); + + /** + * Creates a new module element + * @return the new created instance of ModuleType + */ + public ModuleType createModule(); + + /** + * Returns all module elements + * @return list of module + */ + public List> getAllModule(); + + /** + * Removes all module elements + * @return the current instance of ModuleType + */ + public MutableApplicationDescriptor removeAllModule(); + + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: MutableApplicationDescriptor ElementName: xsd:token ElementType : library-directory + // MaxOccurs: -1 isGeneric: false isAttribute: false isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the library-directory element + * @param libraryDirectory the value for the element library-directory + * @return the current instance of MutableApplicationDescriptor + */ + public MutableApplicationDescriptor libraryDirectory(String libraryDirectory); + + /** + * Returns the library-directory element + * @return the node defined for the element library-directory + */ + public String getLibraryDirectory(); + + /** + * Removes the library-directory element + * @return the current instance of MutableApplicationDescriptor + */ + public MutableApplicationDescriptor removeLibraryDirectory(); + + + // --------------------------------------------------------------------------------------------------------|| + // ClassName: MutableApplicationDescriptor ElementName: xsd:token ElementType : version + // MaxOccurs: - isGeneric: false isAttribute: true isEnum: false isDataType: true + // --------------------------------------------------------------------------------------------------------|| + + /** + * Sets the version attribute + * @param version the value for the attribute version + * @return the current instance of MutableApplicationDescriptor + */ + public MutableApplicationDescriptor version(String version); + + /** + * Returns the version attribute + * @return the value defined for the attribute version + */ + public String getVersion(); + + /** + * Removes the version attribute + * @return the current instance of MutableApplicationDescriptor + */ + public MutableApplicationDescriptor removeVersion(); } diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableModuleType.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableModuleType.java deleted file mode 100644 index 63a66532..00000000 --- a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableModuleType.java +++ /dev/null @@ -1,138 +0,0 @@ -package org.jboss.shrinkwrap.descriptor.api.application5; - -import org.jboss.shrinkwrap.descriptor.api.Child; -/** - * This interface defines the contract for the moduleType xsd type - * @author Ralf Battenfeld - * @author Andrew Lee Rubinger - * @since Generation date :2012-04-28T09:04:01.259+02:00 - */ -public interface MutableModuleType

extends Child

-{ - public ModuleType

toImmutable(); - - // --------------------------------------------------------------------------------------------------------|| - // ClassName: ModuleTypeMutable ElementName: xsd:token ElementType : connector - // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true - // --------------------------------------------------------------------------------------------------------|| - - /** - * Sets the connector element - * @param connector the value for the element connector - * @return the current instance of ModuleTypeMutable - */ - public MutableModuleType

connector(String connector); - - /** - * Returns the connector element - * @return the node defined for the element connector - */ - public String getConnector(); - - /** - * Removes the connector element - * @return the current instance of ModuleTypeMutable - */ - public MutableModuleType

removeConnector(); - - - // --------------------------------------------------------------------------------------------------------|| - // ClassName: ModuleTypeMutable ElementName: xsd:token ElementType : ejb - // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true - // --------------------------------------------------------------------------------------------------------|| - - /** - * Sets the ejb element - * @param ejb the value for the element ejb - * @return the current instance of ModuleTypeMutable - */ - public MutableModuleType

ejb(String ejb); - - /** - * Returns the ejb element - * @return the node defined for the element ejb - */ - public String getEjb(); - - /** - * Removes the ejb element - * @return the current instance of ModuleTypeMutable - */ - public MutableModuleType

removeEjb(); - - - // --------------------------------------------------------------------------------------------------------|| - // ClassName: ModuleTypeMutable ElementName: xsd:token ElementType : java - // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true - // --------------------------------------------------------------------------------------------------------|| - - /** - * Sets the java element - * @param java the value for the element java - * @return the current instance of ModuleTypeMutable - */ - public MutableModuleType

java(String java); - - /** - * Returns the java element - * @return the node defined for the element java - */ - public String getJava(); - - /** - * Removes the java element - * @return the current instance of ModuleTypeMutable - */ - public MutableModuleType

removeJava(); - - - // --------------------------------------------------------------------------------------------------------|| - // ClassName: ModuleTypeMutable ElementName: javaee:webType ElementType : web - // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: false - // --------------------------------------------------------------------------------------------------------|| - - /** - * Returns the web element. - * @return the existing instance of WebType>, or null if not found - */ - public MutableWebType> getWeb(); - - /** - * If not already created, a new web element with the given value will be created. - * Otherwise, the existing web element will be returned. - * @return - * @return a new or existing instance of WebType> - */ - public MutableWebType> getOrCreateWeb(); - - /** - * Removes the web element - * @return the current instance of ModuleTypeMutable - */ - public MutableModuleType

removeWeb(); - - - // --------------------------------------------------------------------------------------------------------|| - // ClassName: ModuleTypeMutable ElementName: xsd:token ElementType : alt-dd - // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true - // --------------------------------------------------------------------------------------------------------|| - - /** - * Sets the alt-dd element - * @param altDd the value for the element alt-dd - * @return the current instance of ModuleTypeMutable - */ - public MutableModuleType

altDd(String altDd); - - /** - * Returns the alt-dd element - * @return the node defined for the element alt-dd - */ - public String getAltDd(); - - /** - * Removes the alt-dd element - * @return the current instance of ModuleTypeMutable - */ - public MutableModuleType

removeAltDd(); -} diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableWebType.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableWebType.java deleted file mode 100644 index b548b6c7..00000000 --- a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/MutableWebType.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.jboss.shrinkwrap.descriptor.api.application5; - -import org.jboss.shrinkwrap.descriptor.api.Child; - -/** - * This interface defines the contract for the webType xsd type - * @author Ralf Battenfeld - * @author Andrew Lee Rubinger - * @since Generation date :2012-04-28T09:04:01.259+02:00 - */ -public interface MutableWebType

extends Child

-{ - public WebType

toImmutable(); - - // --------------------------------------------------------------------------------------------------------|| - // ClassName: WebTypeMutable ElementName: xsd:token ElementType : web-uri - // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true - // --------------------------------------------------------------------------------------------------------|| - - /** - * Sets the web-uri element - * @param webUri the value for the element web-uri - * @return the current instance of WebTypeMutable - */ - public MutableWebType

webUri(String webUri); - - /** - * Returns the web-uri element - * @return the node defined for the element web-uri - */ - public String getWebUri(); - - /** - * Removes the web-uri element - * @return the current instance of WebTypeMutable - */ - public MutableWebType

removeWebUri(); - - - // --------------------------------------------------------------------------------------------------------|| - // ClassName: WebTypeMutable ElementName: xsd:token ElementType : context-root - // MaxOccurs: - isGeneric: true isAttribute: false isEnum: false isDataType: true - // --------------------------------------------------------------------------------------------------------|| - - /** - * Sets the context-root element - * @param contextRoot the value for the element context-root - * @return the current instance of WebTypeMutable - */ - public MutableWebType

contextRoot(String contextRoot); - - /** - * Returns the context-root element - * @return the node defined for the element context-root - */ - public String getContextRoot(); - - /** - * Removes the context-root element - * @return the current instance of WebTypeMutable - */ - public MutableWebType

removeContextRoot(); -} diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/WebType.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/WebType.java index 23dd7fd8..d74ca8bf 100644 --- a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/WebType.java +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/WebType.java @@ -8,7 +8,7 @@ * This interface defines the contract for the webType xsd type * @author Ralf Battenfeld * @author Andrew Lee Rubinger - * @since Generation date :2012-06-28T12:19:49.689-04:00 + * @since Generation date :2012-07-08T16:29:08.216+02:00 */ public interface WebType extends Child { diff --git a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/WebTypeReader.java b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/WebTypeReader.java index f8e949c9..7b3f2218 100644 --- a/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/WebTypeReader.java +++ b/api-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/api/application5/WebTypeReader.java @@ -8,7 +8,7 @@ * This interface defines the contract for the webType xsd type * @author Ralf Battenfeld * @author Andrew Lee Rubinger - * @since Generation date :2012-06-28T12:19:49.689-04:00 + * @since Generation date :2012-07-08T16:29:08.216+02:00 */ public interface WebTypeReader extends Child { diff --git a/api-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptorTestCase.java b/api-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptorTestCase.java index c72fe109..f805e6ed 100644 --- a/api-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptorTestCase.java +++ b/api-javaee-prototype/src/test/java/org/jboss/shrinkwrap/descriptor/api/application5/ApplicationDescriptorTestCase.java @@ -86,7 +86,7 @@ public void mutableRoundtrip() // Get a mutable view final MutableApplicationDescriptor mutable = readonly.toMutable(); - mutable.getOrCreateModule().getOrCreateWeb().webUri("two").up().up().up(); + mutable.getOrCreateModule().getOrCreateWeb().webUri("two").up().up(); // Roundtrip to immutable final ApplicationDescriptor roundtrip = mutable.toImmutable(); diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationDescriptorBaseImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/ApplicationDescriptorBaseImpl.java similarity index 82% rename from impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationDescriptorBaseImpl.java rename to impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/ApplicationDescriptorBaseImpl.java index c941bc75..a55d726b 100644 --- a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationDescriptorBaseImpl.java +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/ApplicationDescriptorBaseImpl.java @@ -1,9 +1,16 @@ -package org.jboss.shrinkwrap.descriptor.impl.application6; +package org.jboss.shrinkwrap.descriptor.impl.application5; +import java.util.ArrayList; +import java.util.List; +import org.jboss.shrinkwrap.descriptor.api.Child; import org.jboss.shrinkwrap.descriptor.api.application5.ApplicationDescriptorBase; import org.jboss.shrinkwrap.descriptor.api.application5.ApplicationTypeBase; -import org.jboss.shrinkwrap.descriptor.spi.node.Node; +import org.jboss.shrinkwrap.descriptor.api.Descriptor; import org.jboss.shrinkwrap.descriptor.spi.node.NodeDescriptorImplBase; +import org.jboss.shrinkwrap.descriptor.impl.base.XMLDate; +import org.jboss.shrinkwrap.descriptor.spi.node.Node; +import org.jboss.shrinkwrap.descriptor.api.Mutable; +import org.jboss.shrinkwrap.descriptor.api.Immutable; /** *

* This deployment descriptor provides the functionalities as described in the specification @@ -17,7 +24,7 @@ * * @author Ralf Battenfeld * @author Andrew Lee Rubinger - * @since Generation date :2012-06-28T12:19:49.689-04:00 + * @since Generation date :2012-07-08T16:29:08.216+02:00 */ public abstract class ApplicationDescriptorBaseImpl, DESCRIPTORTYPE extends ApplicationDescriptorBase> @@ -58,7 +65,7 @@ public Node getRootNode() private void addDefaultNamespaces() { addNamespace("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); - addNamespace("xsi:schemaLocation", "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd"); + addNamespace("xsi:schemaLocation", "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd"); addNamespace("xmlns", "http://java.sun.com/xml/ns/javaee"); } diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/ApplicationDescriptorImpl.java similarity index 66% rename from impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeImpl.java rename to impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/ApplicationDescriptorImpl.java index 1b84c6ec..b9df0471 100644 --- a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeImpl.java +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/ApplicationDescriptorImpl.java @@ -1,4 +1,4 @@ -package org.jboss.shrinkwrap.descriptor.impl.application6; +package org.jboss.shrinkwrap.descriptor.impl.application5; import java.util.ArrayList; import java.util.List; @@ -6,24 +6,40 @@ import org.jboss.shrinkwrap.descriptor.api.application5.ApplicationDescriptor; import org.jboss.shrinkwrap.descriptor.api.application5.ApplicationType; import org.jboss.shrinkwrap.descriptor.api.application5.ModuleTypeReader; +import org.jboss.shrinkwrap.descriptor.api.application5.MutableApplicationDescriptor; import org.jboss.shrinkwrap.descriptor.spi.node.Node; - -/** - * This class implements the applicationType xsd type - * +/** + *

+ * This deployment descriptor provides the functionalities as described in the specification + *

+ * Example: + *

+ * + * ApplicationDescriptorImpl descriptor = Descriptors.create(ApplicationDescriptorImpl.class); + * + * + * * @author Ralf Battenfeld * @author Andrew Lee Rubinger - * @since Generation date :2012-06-28T12:19:49.689-04:00 + * @since Generation date :2012-07-08T16:29:08.216+02:00 */ -public final class ApplicationTypeImpl extends ApplicationTypeBaseImpl - implements ApplicationType { +public final class ApplicationDescriptorImpl extends ApplicationDescriptorBaseImpl + implements ApplicationDescriptor { + + public ApplicationDescriptorImpl(final String descriptorName, final Node model) { + super(descriptorName, model); + } + + public ApplicationDescriptorImpl(final String descriptorName) { + super(descriptorName); + } - public ApplicationTypeImpl(final ApplicationDescriptorImpl parent, final Node model) throws IllegalArgumentException { - super(parent, model); + public MutableApplicationDescriptor toMutable() { + return new MutableApplicationDescriptorImpl(this.getDescriptorName(), this.getRootNode()); } // --------------------------------------------------------------------------------------------------------|| - // ClassName: ApplicationType ElementName: xsd:string ElementType : description + // ClassName: ApplicationDescriptor ElementName: xsd:string ElementType : description // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: true // --------------------------------------------------------------------------------------------------------|| @@ -43,7 +59,7 @@ public List getAllDescription() } // --------------------------------------------------------------------------------------------------------|| - // ClassName: ApplicationType ElementName: xsd:token ElementType : display-name + // ClassName: ApplicationDescriptor ElementName: xsd:token ElementType : display-name // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: true // --------------------------------------------------------------------------------------------------------|| @@ -62,25 +78,9 @@ public List getAllDisplayName() return result; } - - // --------------------------------------------------------------------------------------------------------|| - // ClassName: ApplicationType ElementName: xsd:token ElementType : application-name - // MaxOccurs: - isGeneric: false isAttribute: false isEnum: false isDataType: true - // --------------------------------------------------------------------------------------------------------|| - - /** - * Returns the application-name element - * @return the node defined for the element application-name - */ - public String getApplicationName() - { - return getRootNode().getTextValueForPatternName("application-name"); - } - - // --------------------------------------------------------------------------------------------------------|| - // ClassName: ApplicationType ElementName: javaee:moduleType ElementType : module + // ClassName: ApplicationDescriptor ElementName: javaee:moduleType ElementType : module // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: false // --------------------------------------------------------------------------------------------------------|| @@ -88,21 +88,22 @@ public String getApplicationName() * Returns all module elements * @return list of module */ - public List> getAllModule() + public List> getAllModule() { - List> list = new ArrayList>(); + List> list = new ArrayList>(); List nodeList = getRootNode().get("module"); for(Node node: nodeList) { - ModuleTypeReader type = new ModuleTypeReaderImpl(this, "module", getRootNode(), node); + ModuleTypeReader type = new ModuleTypeReaderImpl(this, "module", getRootNode(), node); list.add(type); } return list; } + // --------------------------------------------------------------------------------------------------------|| - // ClassName: ApplicationType ElementName: xsd:token ElementType : library-directory + // ClassName: ApplicationDescriptor ElementName: xsd:token ElementType : library-directory // MaxOccurs: -1 isGeneric: false isAttribute: false isEnum: false isDataType: true // --------------------------------------------------------------------------------------------------------|| @@ -117,7 +118,7 @@ public String getLibraryDirectory() // --------------------------------------------------------------------------------------------------------|| - // ClassName: ApplicationType ElementName: xsd:token ElementType : version + // ClassName: ApplicationDescriptor ElementName: xsd:token ElementType : version // MaxOccurs: - isGeneric: false isAttribute: true isEnum: false isDataType: true // --------------------------------------------------------------------------------------------------------|| diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ModuleTypeImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/ModuleTypeImpl.java similarity index 94% rename from impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ModuleTypeImpl.java rename to impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/ModuleTypeImpl.java index 2706ba6a..6a46acf5 100644 --- a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ModuleTypeImpl.java +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/ModuleTypeImpl.java @@ -1,16 +1,22 @@ -package org.jboss.shrinkwrap.descriptor.impl.application6; +package org.jboss.shrinkwrap.descriptor.impl.application5; -import org.jboss.shrinkwrap.descriptor.api.Child; +import org.jboss.shrinkwrap.descriptor.spi.node.Node; import org.jboss.shrinkwrap.descriptor.api.application5.ModuleType; +import java.util.ArrayList; +import java.util.List; +import org.jboss.shrinkwrap.descriptor.api.Child; +import org.jboss.shrinkwrap.descriptor.impl.base.XMLDate; +import org.jboss.shrinkwrap.descriptor.impl.base.Strings; +import org.jboss.shrinkwrap.descriptor.api.DescriptorExporter; import org.jboss.shrinkwrap.descriptor.api.application5.WebType; -import org.jboss.shrinkwrap.descriptor.spi.node.Node; +import org.jboss.shrinkwrap.descriptor.impl.application5.WebTypeImpl; /** * This class implements the moduleType xsd type * @author Ralf Battenfeld * @author Andrew Lee Rubinger - * @since Generation date :2012-06-28T12:19:49.689-04:00 + * @since Generation date :2012-07-08T16:29:08.216+02:00 */ public class ModuleTypeImpl implements Child, ModuleType { diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ModuleTypeReaderImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/ModuleTypeReaderImpl.java similarity index 91% rename from impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ModuleTypeReaderImpl.java rename to impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/ModuleTypeReaderImpl.java index 4fe29751..842d4d35 100644 --- a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ModuleTypeReaderImpl.java +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/ModuleTypeReaderImpl.java @@ -1,16 +1,22 @@ -package org.jboss.shrinkwrap.descriptor.impl.application6; +package org.jboss.shrinkwrap.descriptor.impl.application5; -import org.jboss.shrinkwrap.descriptor.api.Child; +import org.jboss.shrinkwrap.descriptor.spi.node.Node; import org.jboss.shrinkwrap.descriptor.api.application5.ModuleTypeReader; +import java.util.ArrayList; +import java.util.List; +import org.jboss.shrinkwrap.descriptor.api.Child; +import org.jboss.shrinkwrap.descriptor.impl.base.XMLDate; +import org.jboss.shrinkwrap.descriptor.impl.base.Strings; +import org.jboss.shrinkwrap.descriptor.api.DescriptorExporter; import org.jboss.shrinkwrap.descriptor.api.application5.WebTypeReader; -import org.jboss.shrinkwrap.descriptor.spi.node.Node; +import org.jboss.shrinkwrap.descriptor.impl.application5.WebTypeReaderImpl; /** * This class implements the moduleType xsd type * @author Ralf Battenfeld * @author Andrew Lee Rubinger - * @since Generation date :2012-06-28T12:19:49.689-04:00 + * @since Generation date :2012-07-08T16:29:08.216+02:00 */ public class ModuleTypeReaderImpl implements Child, ModuleTypeReader { diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeMutableImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/MutableApplicationDescriptorImpl.java similarity index 53% rename from impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeMutableImpl.java rename to impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/MutableApplicationDescriptorImpl.java index d191ddd0..d13d3560 100644 --- a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeMutableImpl.java +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/MutableApplicationDescriptorImpl.java @@ -1,29 +1,45 @@ -package org.jboss.shrinkwrap.descriptor.impl.application6; +package org.jboss.shrinkwrap.descriptor.impl.application5; import java.util.ArrayList; import java.util.List; -import org.jboss.shrinkwrap.descriptor.api.application5.MutableApplicationType; +import org.jboss.shrinkwrap.descriptor.api.application5.ApplicationDescriptor; +import org.jboss.shrinkwrap.descriptor.api.application5.ApplicationTypeMutable; import org.jboss.shrinkwrap.descriptor.api.application5.ModuleType; import org.jboss.shrinkwrap.descriptor.api.application5.MutableApplicationDescriptor; import org.jboss.shrinkwrap.descriptor.spi.node.Node; - -/** - * This interface defines the contract for the applicationType xsd type - * +/** + *

+ * This deployment descriptor provides the functionalities as described in the specification + *

+ * Example: + *

+ * + * MutableApplicationDescriptorImpl descriptor = Descriptors.create(MutableApplicationDescriptorImpl.class); + * + * + * * @author Ralf Battenfeld * @author Andrew Lee Rubinger - * @since Generation date :2012-06-28T12:19:49.689-04:00 + * @since Generation date :2012-07-08T16:29:08.216+02:00 */ -public final class ApplicationTypeMutableImpl extends ApplicationTypeBaseImpl - implements MutableApplicationType { +public final class MutableApplicationDescriptorImpl extends ApplicationDescriptorBaseImpl + implements MutableApplicationDescriptor { + + public MutableApplicationDescriptorImpl(final String descriptorName, final Node model) { + super(descriptorName, model); + } - public ApplicationTypeMutableImpl(final MutableApplicationDescriptorImpl parent, final Node model) throws IllegalArgumentException { - super(parent, model); + public MutableApplicationDescriptorImpl(final String descriptorName) { + super(descriptorName); + } + + public ApplicationDescriptor toImmutable() { + return new ApplicationDescriptorImpl(this.getDescriptorName(), this.getRootNode()); } // --------------------------------------------------------------------------------------------------------|| - // ClassName: ApplicationTypeMutable ElementName: xsd:string ElementType : description + // ClassName: MutableApplicationDescriptor ElementName: xsd:string ElementType : description // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: true // --------------------------------------------------------------------------------------------------------|| @@ -31,9 +47,9 @@ public ApplicationTypeMutableImpl(final MutableApplicationDescriptorImpl parent, * Creates for all String objects representing description elements, * a new description element * @param values list of description objects - * @return the current instance of ApplicationTypeMutable + * @return the current instance of MutableApplicationDescriptor */ - public MutableApplicationType description(String ... values) + public MutableApplicationDescriptor description(String ... values) { if (values != null) { @@ -62,16 +78,16 @@ public List getAllDescription() /** * Removes the description element - * @return the current instance of ApplicationTypeMutable + * @return the current instance of MutableApplicationDescriptor */ - public MutableApplicationType removeAllDescription() + public MutableApplicationDescriptor removeAllDescription() { getRootNode().removeChildren("description"); return this; } // --------------------------------------------------------------------------------------------------------|| - // ClassName: ApplicationTypeMutable ElementName: xsd:token ElementType : display-name + // ClassName: MutableApplicationDescriptor ElementName: xsd:token ElementType : display-name // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: true // --------------------------------------------------------------------------------------------------------|| @@ -79,9 +95,9 @@ public MutableApplicationType removeAllDescription() * Creates for all String objects representing display-name elements, * a new display-name element * @param values list of display-name objects - * @return the current instance of ApplicationTypeMutable + * @return the current instance of MutableApplicationDescriptor */ - public MutableApplicationType displayName(String ... values) + public MutableApplicationDescriptor displayName(String ... values) { if (values != null) { @@ -110,81 +126,17 @@ public List getAllDisplayName() /** * Removes the display-name element - * @return the current instance of ApplicationTypeMutable + * @return the current instance of MutableApplicationDescriptor */ - public MutableApplicationType removeAllDisplayName() + public MutableApplicationDescriptor removeAllDisplayName() { getRootNode().removeChildren("display-name"); return this; } - /** - * Removes all icon elements - * @return the current instance of IconType - */ - public MutableApplicationType removeAllIcon() - { - getRootNode().removeChildren("icon"); - return this; - } - - // --------------------------------------------------------------------------------------------------------|| - // ClassName: ApplicationTypeMutable ElementName: xsd:token ElementType : application-name - // MaxOccurs: - isGeneric: false isAttribute: false isEnum: false isDataType: true - // --------------------------------------------------------------------------------------------------------|| - - /** - * Sets the application-name element - * @param applicationName the value for the element application-name - * @return the current instance of ApplicationTypeMutable - */ - public MutableApplicationType applicationName(String applicationName) - { - getRootNode().getOrCreate("application-name").text(applicationName); - return this; - } - - /** - * Returns the application-name element - * @return the node defined for the element application-name - */ - public String getApplicationName() - { - return getRootNode().getTextValueForPatternName("application-name"); - } - - /** - * Removes the application-name element - * @return the current instance of ApplicationTypeMutable - */ - public MutableApplicationType removeApplicationName() - { - getRootNode().removeChildren("application-name"); - return this; - } - - /** - * Returns the initialize-in-order element - * @return the value found for the element initialize-in-order - */ - public String getInitializeInOrderAsString() - { - return getRootNode().getTextValueForPatternName("initialize-in-order"); - } - - /** - * Removes the initialize-in-order attribute - * @return the current instance of ApplicationTypeMutable - */ - public MutableApplicationType removeInitializeInOrder() - { - getRootNode().removeAttribute("initialize-in-order"); - return this; - } - // --------------------------------------------------------------------------------------------------------|| - // ClassName: ApplicationTypeMutable ElementName: javaee:moduleType ElementType : module + // ClassName: MutableApplicationDescriptor ElementName: javaee:moduleType ElementType : module // MaxOccurs: -unbounded isGeneric: false isAttribute: false isEnum: false isDataType: false // --------------------------------------------------------------------------------------------------------|| @@ -193,36 +145,36 @@ public MutableApplicationType removeInitializeInOrder() * Otherwise, the first existing module element will be returned. * @return the instance defined for the element module */ - public ModuleType getOrCreateModule() + public ModuleType getOrCreateModule() { List nodeList = getRootNode().get("module"); if (nodeList != null && nodeList.size() > 0) { - return new ModuleTypeImpl(this, "module", getRootNode(), nodeList.get(0)); + return new ModuleTypeImpl(this, "module", getRootNode(), nodeList.get(0)); } return createModule(); } /** * Creates a new module element - * @return the new created instance of ModuleType + * @return the new created instance of ModuleType */ - public ModuleType createModule() + public ModuleType createModule() { - return new ModuleTypeImpl(this, "module", getRootNode()); + return new ModuleTypeImpl(this, "module", getRootNode()); } /** * Returns all module elements * @return list of module */ - public List> getAllModule() + public List> getAllModule() { - List> list = new ArrayList>(); + List> list = new ArrayList>(); List nodeList = getRootNode().get("module"); for(Node node: nodeList) { - ModuleType type = new ModuleTypeImpl(this, "module", getRootNode(), node); + ModuleType type = new ModuleTypeImpl(this, "module", getRootNode(), node); list.add(type); } return list; @@ -230,26 +182,27 @@ public List> getAllModule() /** * Removes all module elements - * @return the current instance of ModuleType + * @return the current instance of ModuleType */ - public MutableApplicationType removeAllModule() + public MutableApplicationDescriptor removeAllModule() { getRootNode().removeChildren("module"); return this; } + // --------------------------------------------------------------------------------------------------------|| - // ClassName: ApplicationTypeMutable ElementName: xsd:token ElementType : library-directory + // ClassName: MutableApplicationDescriptor ElementName: xsd:token ElementType : library-directory // MaxOccurs: -1 isGeneric: false isAttribute: false isEnum: false isDataType: true // --------------------------------------------------------------------------------------------------------|| /** * Sets the library-directory element * @param libraryDirectory the value for the element library-directory - * @return the current instance of ApplicationTypeMutable + * @return the current instance of MutableApplicationDescriptor */ - public MutableApplicationType libraryDirectory(String libraryDirectory) + public MutableApplicationDescriptor libraryDirectory(String libraryDirectory) { getRootNode().getOrCreate("library-directory").text(libraryDirectory); return this; @@ -266,33 +219,26 @@ public String getLibraryDirectory() /** * Removes the library-directory element - * @return the current instance of ApplicationTypeMutable + * @return the current instance of MutableApplicationDescriptor */ - public MutableApplicationType removeLibraryDirectory() + public MutableApplicationDescriptor removeLibraryDirectory() { getRootNode().removeChildren("library-directory"); return this; } - - - - - - - // --------------------------------------------------------------------------------------------------------|| - // ClassName: ApplicationTypeMutable ElementName: xsd:token ElementType : version + // ClassName: MutableApplicationDescriptor ElementName: xsd:token ElementType : version // MaxOccurs: - isGeneric: false isAttribute: true isEnum: false isDataType: true // --------------------------------------------------------------------------------------------------------|| /** * Sets the version attribute * @param version the value for the attribute version - * @return the current instance of ApplicationTypeMutable + * @return the current instance of MutableApplicationDescriptor */ - public MutableApplicationType version(String version) + public MutableApplicationDescriptor version(String version) { getRootNode().attribute("version", version); return this; @@ -309,9 +255,9 @@ public String getVersion() /** * Removes the version attribute - * @return the current instance of ApplicationTypeMutable + * @return the current instance of MutableApplicationDescriptor */ - public MutableApplicationType removeVersion() + public MutableApplicationDescriptor removeVersion() { getRootNode().removeAttribute("version"); return this; diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/WebTypeImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/WebTypeImpl.java similarity index 91% rename from impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/WebTypeImpl.java rename to impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/WebTypeImpl.java index 7b079131..46a46513 100644 --- a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/WebTypeImpl.java +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/WebTypeImpl.java @@ -1,15 +1,20 @@ -package org.jboss.shrinkwrap.descriptor.impl.application6; +package org.jboss.shrinkwrap.descriptor.impl.application5; -import org.jboss.shrinkwrap.descriptor.api.Child; -import org.jboss.shrinkwrap.descriptor.api.application5.WebType; import org.jboss.shrinkwrap.descriptor.spi.node.Node; +import org.jboss.shrinkwrap.descriptor.api.application5.WebType; +import java.util.ArrayList; +import java.util.List; +import org.jboss.shrinkwrap.descriptor.api.Child; +import org.jboss.shrinkwrap.descriptor.impl.base.XMLDate; +import org.jboss.shrinkwrap.descriptor.impl.base.Strings; +import org.jboss.shrinkwrap.descriptor.api.DescriptorExporter; /** * This class implements the webType xsd type * @author Ralf Battenfeld * @author Andrew Lee Rubinger - * @since Generation date :2012-06-28T12:19:49.689-04:00 + * @since Generation date :2012-07-08T16:29:08.216+02:00 */ public class WebTypeImpl implements Child, WebType { diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/WebTypeReaderImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/WebTypeReaderImpl.java similarity index 87% rename from impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/WebTypeReaderImpl.java rename to impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/WebTypeReaderImpl.java index eefc9635..18754995 100644 --- a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/WebTypeReaderImpl.java +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/WebTypeReaderImpl.java @@ -1,15 +1,20 @@ -package org.jboss.shrinkwrap.descriptor.impl.application6; +package org.jboss.shrinkwrap.descriptor.impl.application5; -import org.jboss.shrinkwrap.descriptor.api.Child; -import org.jboss.shrinkwrap.descriptor.api.application5.WebTypeReader; import org.jboss.shrinkwrap.descriptor.spi.node.Node; +import org.jboss.shrinkwrap.descriptor.api.application5.WebTypeReader; +import java.util.ArrayList; +import java.util.List; +import org.jboss.shrinkwrap.descriptor.api.Child; +import org.jboss.shrinkwrap.descriptor.impl.base.XMLDate; +import org.jboss.shrinkwrap.descriptor.impl.base.Strings; +import org.jboss.shrinkwrap.descriptor.api.DescriptorExporter; /** * This class implements the webType xsd type * @author Ralf Battenfeld * @author Andrew Lee Rubinger - * @since Generation date :2012-06-28T12:19:49.689-04:00 + * @since Generation date :2012-07-08T16:29:08.216+02:00 */ public class WebTypeReaderImpl implements Child, WebTypeReader { diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/package-info.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/package-info.java similarity index 56% rename from impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/package-info.java rename to impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/package-info.java index 24c09438..06174449 100644 --- a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/package-info.java +++ b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application5/package-info.java @@ -2,4 +2,4 @@ * Provides the implementation classes as defined in the schema */ -package org.jboss.shrinkwrap.descriptor.impl.application6; +package org.jboss.shrinkwrap.descriptor.impl.application5; diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationDescriptorImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationDescriptorImpl.java deleted file mode 100644 index 74301d6c..00000000 --- a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationDescriptorImpl.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.jboss.shrinkwrap.descriptor.impl.application6; - -import java.util.List; - -import org.jboss.shrinkwrap.descriptor.api.application5.ApplicationDescriptor; -import org.jboss.shrinkwrap.descriptor.api.application5.ApplicationType; -import org.jboss.shrinkwrap.descriptor.api.application5.ModuleTypeReader; -import org.jboss.shrinkwrap.descriptor.api.application5.MutableApplicationDescriptor; -import org.jboss.shrinkwrap.descriptor.spi.node.Node; -/** - *

- * This deployment descriptor provides the functionalities as described in the specification - *

- * Example: - *

- * - * ApplicationDescriptorImpl descriptor = Descriptors.create(ApplicationDescriptorImpl.class); - * - * - * - * @author Ralf Battenfeld - * @author Andrew Lee Rubinger - * @since Generation date :2012-06-28T12:19:49.689-04:00 - */ -public final class ApplicationDescriptorImpl extends ApplicationDescriptorBaseImpl - implements ApplicationDescriptor { - - public ApplicationDescriptorImpl(final String descriptorName, final Node model) { - super(descriptorName, model); - } - - public ApplicationDescriptorImpl(final String descriptorName) { - super(descriptorName); - } - - public MutableApplicationDescriptor toMutable() { - return new MutableApplicationDescriptorImpl(this.getDescriptorName(), this.getRootNode()); - } - - public ApplicationType getRoot() - { - return new ApplicationTypeImpl(this, getRootNode()); - } - -@Override -public List getAllDescription() { - // TODO Auto-generated method stub - return null; -} - -@Override -public List getAllDisplayName() { - // TODO Auto-generated method stub - return null; -} - -@Override -public String getApplicationName() { - // TODO Auto-generated method stub - return null; -} - -@Override -public List> getAllModule() { - // TODO Auto-generated method stub - return null; -} - -@Override -public String getLibraryDirectory() { - // TODO Auto-generated method stub - return null; -} - -@Override -public String getVersion() { - // TODO Auto-generated method stub - return null; -} - -@Override -public ApplicationDescriptor up() { - // TODO Auto-generated method stub - return null; -} -} diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeBaseImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeBaseImpl.java deleted file mode 100644 index 19b0d5a1..00000000 --- a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/ApplicationTypeBaseImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.jboss.shrinkwrap.descriptor.impl.application6; - -import org.jboss.shrinkwrap.descriptor.api.application5.ApplicationDescriptorBase; -import org.jboss.shrinkwrap.descriptor.api.application5.ApplicationTypeBase; -import org.jboss.shrinkwrap.descriptor.spi.node.Node; -import org.jboss.shrinkwrap.descriptor.spi.node.NodeModel; - -/** - * Base support for read-only views of this descriptors root element. Not intended for direct use by users; - * - * @param - * The true type to be returned for this references (covarient return) - * - * @param - * The type of this elements parent - * - * @author Ralf Battenfeld - * @author Andrew Lee Rubinger - * @since Generation date :2012-06-28T12:19:49.689-04:00 - */ -public abstract class ApplicationTypeBaseImpl, - DESCRIPTORTYPE extends ApplicationDescriptorBase> - implements ApplicationTypeBase, NodeModel { - - private DESCRIPTORTYPE parent; - private Node model; - - public ApplicationTypeBaseImpl(final DESCRIPTORTYPE parent, final Node model) throws IllegalArgumentException { - if (parent == null) { - throw new IllegalArgumentException("parent must be specified"); - } - if (model == null) { - throw new IllegalArgumentException("model must be specified"); - } - this.parent = parent; - this.model = model; - } - - public Node getRootNode() - { - return model; - } - - public DESCRIPTORTYPE up() - { - return parent ; - } - -} diff --git a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/MutableApplicationDescriptorImpl.java b/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/MutableApplicationDescriptorImpl.java deleted file mode 100644 index 3290bee6..00000000 --- a/impl-javaee-prototype/src/main/java/org/jboss/shrinkwrap/descriptor/impl/application6/MutableApplicationDescriptorImpl.java +++ /dev/null @@ -1,169 +0,0 @@ -package org.jboss.shrinkwrap.descriptor.impl.application6; - -import java.util.List; - -import org.jboss.shrinkwrap.descriptor.api.application5.ApplicationDescriptor; -import org.jboss.shrinkwrap.descriptor.api.application5.MutableApplicationType; -import org.jboss.shrinkwrap.descriptor.api.application5.ModuleType; -import org.jboss.shrinkwrap.descriptor.api.application5.MutableApplicationDescriptor; -import org.jboss.shrinkwrap.descriptor.spi.node.Node; - -/** - *

- * This deployment descriptor provides the functionalities as described in the - * specification - *

- * Example: - *

- * - * MutableApplicationDescriptorImpl descriptor = Descriptors.create(MutableApplicationDescriptorImpl.class); - * - * - * - * @author Ralf Battenfeld - * @author Andrew Lee Rubinger - * @since Generation date :2012-06-28T12:19:49.689-04:00 - */ -public final class MutableApplicationDescriptorImpl - extends - ApplicationDescriptorBaseImpl - implements MutableApplicationDescriptor { - - public MutableApplicationDescriptorImpl(final String descriptorName, - final Node model) { - super(descriptorName, model); - } - - public MutableApplicationDescriptorImpl(final String descriptorName) { - super(descriptorName); - } - - public ApplicationDescriptor toImmutable() { - return new ApplicationDescriptorImpl(this.getDescriptorName(), - this.getRootNode()); - } - - public MutableApplicationType getRoot() { - return new ApplicationTypeMutableImpl(this, getRootNode()); - } - - @Override - public MutableApplicationType description(String... values) { - // TODO Auto-generated method stub - return null; - } - - @Override - public List getAllDescription() { - // TODO Auto-generated method stub - return null; - } - - @Override - public MutableApplicationType removeAllDescription() { - // TODO Auto-generated method stub - return null; - } - - @Override - public MutableApplicationType displayName(String... values) { - // TODO Auto-generated method stub - return null; - } - - @Override - public List getAllDisplayName() { - // TODO Auto-generated method stub - return null; - } - - @Override - public MutableApplicationType removeAllDisplayName() { - // TODO Auto-generated method stub - return null; - } - - @Override - public MutableApplicationType applicationName(String applicationName) { - // TODO Auto-generated method stub - return null; - } - - @Override - public String getApplicationName() { - // TODO Auto-generated method stub - return null; - } - - @Override - public MutableApplicationType removeApplicationName() { - // TODO Auto-generated method stub - return null; - } - - @Override - public ModuleType getOrCreateModule() { - // TODO Auto-generated method stub - return null; - } - - @Override - public ModuleType createModule() { - // TODO Auto-generated method stub - return null; - } - - @Override - public List> getAllModule() { - // TODO Auto-generated method stub - return null; - } - - @Override - public MutableApplicationType removeAllModule() { - // TODO Auto-generated method stub - return null; - } - - @Override - public MutableApplicationType libraryDirectory(String libraryDirectory) { - // TODO Auto-generated method stub - return null; - } - - @Override - public String getLibraryDirectory() { - // TODO Auto-generated method stub - return null; - } - - @Override - public MutableApplicationType removeLibraryDirectory() { - // TODO Auto-generated method stub - return null; - } - - @Override - public MutableApplicationType version(String version) { - // TODO Auto-generated method stub - return null; - } - - @Override - public String getVersion() { - // TODO Auto-generated method stub - return null; - } - - @Override - public MutableApplicationType removeVersion() { - // TODO Auto-generated method stub - return null; - } - - @Override - public MutableApplicationDescriptor up() { - // TODO Auto-generated method stub - return null; - } -} diff --git a/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/ConnectorDescriptorTestCase.java b/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/ConnectorDescriptorTestCase.java index b4fb0c5e..8bdad207 100644 --- a/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/ConnectorDescriptorTestCase.java +++ b/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/ConnectorDescriptorTestCase.java @@ -44,7 +44,7 @@ public void testSetName() throws Exception @Test public void testHornetQExample() throws Exception { - MutableConnectorDescriptor jca10Generated = create().getRoot() + MutableConnectorDescriptor jca10Generated = create() .displayName("Sample Adapter") .description("It is a sample resource adapter") .vendorName("JBoss") @@ -70,7 +70,7 @@ public void testHornetQExample() throws Exception .authenticationMechanismType("BasicPassword") .credentialInterface("javax.resource.security.PasswordCredential").up() .reauthenticationSupport("false") - .up().up(); + .up(); String generatedRaXml = jca10Generated.exportAsString(); String originalRaXml = this.getResourceContents("src/test/resources/test-orig-connector10.xml"); diff --git a/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/DataSourcesTestCase.java b/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/DataSourcesTestCase.java index a6bf326b..48d3abf9 100644 --- a/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/DataSourcesTestCase.java +++ b/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/DataSourcesTestCase.java @@ -25,7 +25,7 @@ public void init() @Test public void testGeneratedDataSourcesXml() throws Exception { - MutableDatasourcesDescriptor dataSourcesGenerated = create().getRoot() + MutableDatasourcesDescriptor dataSourcesGenerated = create() // .addDefaultNamespaces() .createDatasource() .jta(true).jndiName("jndi-name1").poolName("pool-name1") @@ -164,7 +164,7 @@ public void testGeneratedDataSourcesXml() throws Exception .datasourceClass("datasource-class3") .xaDatasourceClass("xa-datasource-class1") .up() - .up().up(); + .up(); String dataSourcesGeneratedXmlGenerated = dataSourcesGenerated.exportAsString(); diff --git a/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/IronJacamarTestCase.java b/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/IronJacamarTestCase.java index 12b56ee0..bcd3a4e3 100644 --- a/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/IronJacamarTestCase.java +++ b/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/IronJacamarTestCase.java @@ -26,7 +26,7 @@ public void init() @Test public void testGeneratedIronJacamarXml() throws Exception { - MutableIronjacamarDescriptor ironJacamarGenerated = create().getRoot() + MutableIronjacamarDescriptor ironJacamarGenerated = create() // .addDefaultNamespaces() .getOrCreateBeanValidationGroups() .beanValidationGroup("bean-validation-group0") @@ -116,7 +116,7 @@ public void testGeneratedIronJacamarXml() throws Exception .useJavaContext(true).poolName("pool-name7") .createConfigProperty().name("name21").text("config-property10").up() .createConfigProperty().name("name23").text("config-property11").up().up() - .up().up() + .up() ; String ironJacamarXmlGenerated = ironJacamarGenerated.exportAsString(); diff --git a/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/ResourceAdaptersTestCase.java b/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/ResourceAdaptersTestCase.java index 0a2d58e4..d861418c 100644 --- a/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/ResourceAdaptersTestCase.java +++ b/metadata-parser-test/src/teststatic/java/org/jboss/shrinkwrap/descriptor/test/ironjacamar/ResourceAdaptersTestCase.java @@ -25,7 +25,7 @@ public void init() @Test public void testGeneratedDataSourcesXml() throws Exception { - MutableResourceadapterDescriptor resourceAdaptersGenerated = create().getRoot() + MutableResourceadapterDescriptor resourceAdaptersGenerated = create() // .addDefaultNamespaces() .createResourceAdapter() .archive("archive0") @@ -192,7 +192,7 @@ public void testGeneratedDataSourcesXml() throws Exception .useJavaContext(true).poolName("pool-name15") .createConfigProperty().name("name45").text("config-property22").up() .createConfigProperty().name("name47").text("config-property23").up().up() - .up().up().up() + .up().up() ; diff --git a/metadata-parser/src/main/resources/META-INF/ddJavaAll.xsl b/metadata-parser/src/main/resources/META-INF/ddJavaAll.xsl index 024b564e..7f2d67c4 100644 --- a/metadata-parser/src/main/resources/META-INF/ddJavaAll.xsl +++ b/metadata-parser/src/main/resources/META-INF/ddJavaAll.xsl @@ -18,9 +18,11 @@ - javaee:emptyType; javaee:ordering-othersType; javaee:facelet-taglib-extensionType; javaee:facelet-taglib-tag-behavior-extensionType; javaee:facelet-taglib-tag-component-extensionType; javaee:facelet-taglib-tag-converter-extensionType; javaee:facelet-taglib-tag-extensionType; javaee:facelet-taglib-tag-validator-extensionType; javaee:faces-config-application-extensionType; javaee:faces-config-attribute-extensionType; - javaee:faces-config-behavior-extensionType; javaee:faces-config-component-extensionType; javaee:faces-config-converter-extensionType; javaee:faces-config-extensionType; javaee:faces-config-facet-extensionType; javaee:faces-config-factory-extensionType; javaee:faces-config-lifecycle-extensionType; javaee:faces-config-managed-bean-extensionType; javaee:faces-config-navigation-rule-extensionType; javaee:faces-config-null-valueType; javaee:faces-config-ordering-othersType; - javaee:faces-config-property-extensionType; javaee:faces-config-render-kit-extensionType; javaee:faces-config-renderer-extensionType; javaee:faces-config-validator-extensionType; javaee:partial-response-extensionType; extensibleType; + javaee:emptyType; javaee:ordering-othersType; javaee:facelet-taglib-extensionType; javaee:facelet-taglib-tag-behavior-extensionType; javaee:facelet-taglib-tag-component-extensionType; javaee:facelet-taglib-tag-converter-extensionType; + javaee:facelet-taglib-tag-extensionType; javaee:facelet-taglib-tag-validator-extensionType; javaee:faces-config-application-extensionType; javaee:faces-config-attribute-extensionType; javaee:faces-config-behavior-extensionType; javaee:faces-config-component-extensionType; + javaee:faces-config-converter-extensionType; javaee:faces-config-extensionType; javaee:faces-config-facet-extensionType; javaee:faces-config-factory-extensionType; javaee:faces-config-lifecycle-extensionType; javaee:faces-config-managed-bean-extensionType; + javaee:faces-config-navigation-rule-extensionType; javaee:faces-config-null-valueType; javaee:faces-config-ordering-othersType; javaee:faces-config-property-extensionType; javaee:faces-config-render-kit-extensionType; javaee:faces-config-renderer-extensionType; + javaee:faces-config-validator-extensionType; javaee:partial-response-extensionType; extensibleType; @@ -36,7 +38,7 @@ SD-21: - + @@ -351,7 +353,7 @@ SD-21: - + + + + + - + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + @@ -1528,6 +1555,8 @@ SD-21: + + @@ -1548,23 +1577,37 @@ SD-21: - + + + + + + + + - + + + + + + + + - + - + @@ -1622,14 +1665,36 @@ SD-21: public final class WebAppMutableDescriptorImpl extends WebAppDescriptorImplBase implements WebAppMutableDescriptor { - + <<<<< --> - - + + + + + + + + + + + + + + + + + + + + + + + + @@ -1651,9 +1716,32 @@ SD-21: - - - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4330,15 +4418,15 @@ SD-21: } - - + + - - + + @@ -4353,7 +4441,7 @@ SD-21: - + diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/application5/ApplicationDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/application5/ApplicationDescriptorTestCase.java index 23658fc9..50919eb6 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/application5/ApplicationDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/application5/ApplicationDescriptorTestCase.java @@ -107,7 +107,7 @@ public void shouldBeAbleToSetName() throws Exception public void shouldBeAbleToAddDescription() throws Exception { final String descName = "Description"; - final String desc = emptyDescriptor.getRoot().description(descName).up().exportAsString(); + final String desc = emptyDescriptor.description(descName).exportAsString(); assertPresenceUsingXPath(desc, "/application/description", descName); } @@ -115,7 +115,7 @@ public void shouldBeAbleToAddDescription() throws Exception public void shouldBeAbleToAddDisplayName() throws Exception { final String displayName = "Display Name"; - final String desc = emptyDescriptor.getRoot().displayName(displayName).up().exportAsString(); + final String desc = emptyDescriptor.displayName(displayName).exportAsString(); assertPresenceUsingXPath(desc, "/application/display-name", displayName); } @@ -123,7 +123,7 @@ public void shouldBeAbleToAddDisplayName() throws Exception public void shouldBeAbleToAddLibraryDirectory() throws Exception { final String libraryDir = "Library Dir"; - final String desc = emptyDescriptor.getRoot().libraryDirectory(libraryDir).up().exportAsString(); + final String desc = emptyDescriptor.libraryDirectory(libraryDir).exportAsString(); assertPresenceUsingXPath(desc, "/application/library-directory", libraryDir); } @@ -173,7 +173,7 @@ public void shouldBeAbleToAddAWebModule() throws Exception public void shouldBeAbleToAddASecurityRole() throws Exception { final String roleName = "Security Role"; - String desc = emptyDescriptor.getRoot().createSecurityRole().roleName(roleName).up().up().exportAsString(); + String desc = emptyDescriptor.createSecurityRole().roleName(roleName).up().exportAsString(); assertPresenceUsingXPath(desc, "/application/security-role/role-name", roleName); } @@ -181,7 +181,7 @@ public void shouldBeAbleToAddASecurityRole() throws Exception public void shouldBeAbleToAddASecurityRoleWithDescription() throws Exception { final String roleDescription = "Security Description"; - String desc = emptyDescriptor.getRoot().createSecurityRole().description(roleDescription).up().up().exportAsString(); + String desc = emptyDescriptor.createSecurityRole().description(roleDescription).up().exportAsString(); assertPresenceUsingXPath(desc, "/application/security-role/description", roleDescription); } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/application6/ApplicationDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/application6/ApplicationDescriptorTestCase.java index 7b33be70..d1ffdc2f 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/application6/ApplicationDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/application6/ApplicationDescriptorTestCase.java @@ -18,7 +18,7 @@ public class ApplicationDescriptorTestCase @Test public void testImportGeneratedApplicationXml() throws Exception { - MutableApplicationDescriptor app6Descr = create().getRoot() + MutableApplicationDescriptor app6Descr = create() .version("6") .applicationName("application-name0") .description("description0") @@ -191,7 +191,7 @@ public void testImportGeneratedApplicationXml() throws Exception .maxPoolSize(0) .minPoolSize(0) .maxIdleTime(0) - .maxStatements(0).up().up(); + .maxStatements(0).up(); String appXmlOriginal = getResourceContents("src/test/resources/test-gen-application6.xml"); String appXmlGenerated = app6Descr.exportAsString(); diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/beans10/BeansDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/beans10/BeansDescriptorTestCase.java index ac0009b0..6fc6bed1 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/beans10/BeansDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/beans10/BeansDescriptorTestCase.java @@ -41,7 +41,7 @@ public class BeansDescriptorTestCase @Test public void testGeneratedXml() throws Exception { - final MutableBeansDescriptor beansDescr = create().getRoot() + final MutableBeansDescriptor beansDescr = create() // .addDefaultNamespaces() .getOrCreateInterceptors() .clazz("class0") @@ -60,7 +60,7 @@ public void testGeneratedXml() throws Exception .clazz("class11") .stereotype("stereotype0") .stereotype("stereotype1") - .stereotype("stereotype2").up().up(); + .stereotype("stereotype2").up(); String webXmlGenerated = beansDescr.exportAsString(); String webXmlOriginal = getResourceContents("src/test/resources/test-gen-beans10.xml"); diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector10/ConnectorDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector10/ConnectorDescriptorTestCase.java index 807c8540..d7770919 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector10/ConnectorDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector10/ConnectorDescriptorTestCase.java @@ -52,7 +52,7 @@ public void testSetName() throws Exception @Test public void testHornetQExample() throws Exception { - MutableConnectorDescriptor jca10Generated = create().getRoot() + MutableConnectorDescriptor jca10Generated = create() .displayName("Sample Adapter") .description("It is a sample resource adapter") .vendorName("JBoss") @@ -78,7 +78,7 @@ public void testHornetQExample() throws Exception .authenticationMechanismType("BasicPassword") .credentialInterface("javax.resource.security.PasswordCredential").up() .reauthenticationSupport("false") - .up().up(); + .up(); String generatedRaXml = jca10Generated.exportAsString(); String originalRaXml = this.getResourceContents("src/test/resources/test-orig-connector10.xml"); diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector15/ConnectorDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector15/ConnectorDescriptorTestCase.java index 6359649f..b950329e 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector15/ConnectorDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector15/ConnectorDescriptorTestCase.java @@ -52,7 +52,7 @@ public void testSetName() throws Exception @Test public void testHornetQExample() throws Exception { - MutableConnectorDescriptor jca15Generated = create().getRoot() + MutableConnectorDescriptor jca15Generated = create() // .addDefaultNamespaces() .version("1.5") .description("HornetQ 2.0 Resource Adapter") @@ -124,7 +124,7 @@ public void testHornetQExample() throws Exception .up() .up() .up() - .up().up(); + .up(); String generatedRaXml = jca15Generated.exportAsString(); String hornetQRaXml = this.getResourceContents("src/test/resources/test-orig-connector15.xml"); diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector16/ConnectorDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector16/ConnectorDescriptorTestCase.java index 0ea4ee24..b2a2024e 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector16/ConnectorDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/connector16/ConnectorDescriptorTestCase.java @@ -50,7 +50,7 @@ public void testSetName() throws Exception @Test public void testGenExample() throws Exception { - MutableConnectorDescriptor jca16Descr = create().getRoot() + MutableConnectorDescriptor jca16Descr = create() // .addDefaultNamespaces() .version("1.6") .moduleName("module-name0") @@ -116,7 +116,7 @@ public void testGenExample() throws Exception .createSecurityPermission() .description("description6") .securityPermissionSpec("security-permission-spec0").up().up() - .requiredWorkContext("required-work-context0").up(); + .requiredWorkContext("required-work-context0"); String createdRaXml = jca16Descr.exportAsString(); String generatedRaXml = getResourceContents("src/test/resources/test-gen-connector16.xml"); diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejbjar31/EjbJarDescriptorReaderTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejbjar31/EjbJarDescriptorReaderTestCase.java index f789d8cf..87ff6e9c 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejbjar31/EjbJarDescriptorReaderTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejbjar31/EjbJarDescriptorReaderTestCase.java @@ -42,16 +42,16 @@ public void init() public void testGeneratedEjbJarReaderXml() throws Exception { final EjbJarDescriptor ejbJarReader = importFromString(getResourceContents("src/test/resources/test-gen-ejbjar31.xml")); - assertEquals(ejbJarReader.getRoot().getVersion(), "3.1"); - assertEquals(ejbJarReader.getRoot().getModuleName(), "module-name0"); - assertEquals(ejbJarReader.getRoot().getAllDescription().get(0), "description0"); - assertEquals(ejbJarReader.getRoot().getAllDisplayName().get(0), "display-name0"); + assertEquals(ejbJarReader.getVersion(), "3.1"); + assertEquals(ejbJarReader.getModuleName(), "module-name0"); + assertEquals(ejbJarReader.getAllDescription().get(0), "description0"); + assertEquals(ejbJarReader.getAllDisplayName().get(0), "display-name0"); - final IconTypeReader iconTypeReader = ejbJarReader.getRoot().getAllIcon().get(0); + final IconTypeReader iconTypeReader = ejbJarReader.getAllIcon().get(0); assertEquals(iconTypeReader.getSmallIcon(), "small-icon0"); assertEquals(iconTypeReader.getLargeIcon(), "large-icon0"); - final EnterpriseBeansTypeReader enterpriseBeansTypeReader = ejbJarReader.getRoot().getEnterpriseBeans(); + final EnterpriseBeansTypeReader enterpriseBeansTypeReader = ejbJarReader.getEnterpriseBeans(); final MessageDrivenBeanTypeReader messageDrivenBeanTypeReader = (MessageDrivenBeanTypeReader) enterpriseBeansTypeReader.getAllMessageDriven().get(0); assertEquals(messageDrivenBeanTypeReader.getAllDescription().get(0), "description1"); diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejbjar31/EjbJarDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejbjar31/EjbJarDescriptorTestCase.java index d374eb57..fdccdb0e 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejbjar31/EjbJarDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/ejbjar31/EjbJarDescriptorTestCase.java @@ -33,7 +33,7 @@ public void init() @Test public void testGeneratedEjbJarXml() throws Exception { - MutableEjbJarDescriptor ejbJarGenerated = create().getRoot() + MutableEjbJarDescriptor ejbJarGenerated = create() // .addDefaultNamespaces() .version("3.1") .moduleName("module-name0") @@ -500,7 +500,7 @@ public void testGeneratedEjbJarXml() throws Exception .exceptionClass("exception-class0") .rollback(false) .inherited(false).up().up() - .ejbClientJar("ejb-client-jar0").up(); + .ejbClientJar("ejb-client-jar0"); String webXmlGenerated = ejbJarGenerated.exportAsString(); String webXmlOriginal = getResourceContents("src/test/resources/test-gen-ejbjar31.xml"); @@ -513,7 +513,7 @@ public void testGeneratedEjbJarXml() throws Exception @Test public void testInterceptors() throws Exception { - MutableEjbJarDescriptor ejbJarGenerated = create().getRoot() + MutableEjbJarDescriptor ejbJarGenerated = create() // .addDefaultNamespaces() .version("3.1") .getOrCreateInterceptors() @@ -531,7 +531,7 @@ public void testInterceptors() throws Exception .methodName("isOddNumber") .up() .up() - .up().up(); + .up(); String webXmlGenerated = ejbJarGenerated.exportAsString(); String webXmlOriginal = getResourceContents("src/test/resources/test-orig-ejbjar31.xml"); diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/facesconfig20/FacesConfigDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/facesconfig20/FacesConfigDescriptorTestCase.java index 8ca27476..f24088ff 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/facesconfig20/FacesConfigDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/facesconfig20/FacesConfigDescriptorTestCase.java @@ -71,8 +71,8 @@ public void shouldBeAbleToOverrideVersionInWebFacesConfigDescriptor() throws Exc // Make a descriptor final MutableWebFacesConfigDescriptor facesConfig = Descriptors.importAs(MutableWebFacesConfigDescriptor.class).fromString(source); - facesConfig.getRoot().version("2.0"); - Assert.assertEquals("2.0", facesConfig.getRoot().getVersionAsString()); + facesConfig.version("2.0"); + Assert.assertEquals("2.0", facesConfig.getVersionAsString()); // Get as Node structure final InputStream stream = new ByteArrayInputStream(facesConfig.exportAsString().getBytes()); @@ -81,19 +81,19 @@ public void shouldBeAbleToOverrideVersionInWebFacesConfigDescriptor() throws Exc final Node root = ((NodeDescriptor) fromFacesConfigXml).getRootNode(); // Preconditions - Assert.assertEquals("2.0", facesConfig.getRoot().getVersionAsString()); + Assert.assertEquals("2.0", facesConfig.getVersionAsString()); Assert.assertTrue(root.getAttribute("xsi:schemaLocation").contains("web-facesconfig_2_0.xsd")); // Change the version - facesConfig.getRoot().version("2.1"); + facesConfig.version("2.1"); // Check that everything was updated - Assert.assertEquals("2.1", facesConfig.getRoot().getVersionAsString()); + Assert.assertEquals("2.1", facesConfig.getVersionAsString()); } @Test public void testGeneratedFacesConfigXml() throws Exception { - final MutableWebFacesConfigDescriptor facesConfig = create().getRoot() + final MutableWebFacesConfigDescriptor facesConfig = create() // .addDefaultNamespaces() .version(FacesConfigVersionType._2_0) .name("SeamBooking") @@ -194,7 +194,7 @@ public void testGeneratedFacesConfigXml() throws Exception { .baseName("messages") .var("messages") .up() - .up().up(); + .up(); String facesConfigXmlGenerated = facesConfig.exportAsString(); String facesConfigXmlOriginal = getResourceContents("src/test/resources/test-orig-facesconfig20.xml"); diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jbossweb60/JbossWebDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jbossweb60/JbossWebDescriptorTestCase.java index 7ed3ea10..462d4582 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jbossweb60/JbossWebDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jbossweb60/JbossWebDescriptorTestCase.java @@ -26,7 +26,7 @@ public void init() @Test public void testGeneratedJbossWeb60Xml() throws Exception { - MutableJbossWebDescriptor ejbJarGenerated = create().getRoot() + MutableJbossWebDescriptor ejbJarGenerated = create() // .addDefaultNamespaces() .version("6.0") .getOrCreateClassLoading().javaClassLoadingCompliance(false) @@ -564,7 +564,7 @@ public void testGeneratedJbossWeb60Xml() throws Exception .location("location0") .maxFileSize(-1073741773L) .maxRequestSize(-1073741773L) - .fileSizeThreshold(0).up().up().up() + .fileSizeThreshold(0).up().up() ; String webXmlGenerated = ejbJarGenerated.exportAsString(); diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jetty7/Jetty7TestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jetty7/Jetty7TestCase.java index e8ee831a..edbc9d1b 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jetty7/Jetty7TestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jetty7/Jetty7TestCase.java @@ -22,7 +22,7 @@ public class Jetty7TestCase @Test public void testJettyConfiguration() throws Exception { - final MutableJettyDescriptor jetty7Generated = create().getRoot().clazz("class0").id("id0") + final MutableJettyDescriptor jetty7Generated = create().clazz("class0").id("id0") .getOrCreateNew().clazz("class1").id("id1") .createArg().type("type0") .getOrCreateArray().type("type1").id("id2") @@ -73,7 +73,7 @@ public void testJettyConfiguration() throws Exception .up() .up() .up() - .up().up(); + .up(); String generatedJettyXml = jetty7Generated.exportAsString(); String originalJettyXml = this.getResourceContents("src/test/resources/test-orig-jetty7.xml"); diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jsptaglibrary20/WebJspTagLibraryDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jsptaglibrary20/WebJspTagLibraryDescriptorTestCase.java index 1a661011..d343f111 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jsptaglibrary20/WebJspTagLibraryDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jsptaglibrary20/WebJspTagLibraryDescriptorTestCase.java @@ -49,7 +49,7 @@ public void init() @Test public void testGeneratedWebJspTagLibrary20Xml() throws Exception { - MutableWebJsptaglibraryDescriptor ejbJarGenerated = create().getRoot() + MutableWebJsptaglibraryDescriptor ejbJarGenerated = create() // .addDefaultNamespaces() .version("2.0") .description("description0") @@ -208,7 +208,7 @@ public void testGeneratedWebJspTagLibrary20Xml() throws Exception .name("name9") .functionClass("function-class1") .functionSignature("function-signature1") - .example("example5").up().up() + .example("example5").up() ; String webXmlGenerated = ejbJarGenerated.exportAsString(); diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jsptaglibrary21/WebJspTagLibraryDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jsptaglibrary21/WebJspTagLibraryDescriptorTestCase.java index 7cfc04b9..877fcbf9 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jsptaglibrary21/WebJspTagLibraryDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/jsptaglibrary21/WebJspTagLibraryDescriptorTestCase.java @@ -46,7 +46,7 @@ public void init() @Test public void testGeneratedWebJspTagLibrary21Xml() throws Exception { - MutableWebJsptaglibraryDescriptor ejbJarGenerated = create().getRoot() + MutableWebJsptaglibraryDescriptor ejbJarGenerated = create() // .addDefaultNamespaces() .version("2.1") .description("description0") @@ -207,7 +207,7 @@ public void testGeneratedWebJspTagLibrary21Xml() throws Exception .name("name9") .functionClass("function-class1") .functionSignature("function-signature1") - .example("example5").up().up() + .example("example5").up() ; String webXmlGenerated = ejbJarGenerated.exportAsString(); diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/persistence10/PersistenceDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/persistence10/PersistenceDescriptorTestCase.java index a4afdcf3..124879e4 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/persistence10/PersistenceDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/persistence10/PersistenceDescriptorTestCase.java @@ -15,7 +15,7 @@ public class PersistenceDescriptorTestCase @Test public void testGeneratedPersistenceXml() throws Exception { - final MutablePersistenceDescriptor persistence = create().getRoot() + final MutablePersistenceDescriptor persistence = create() // .addDefaultNamespaces() .version("1.0") .createPersistenceUnit() @@ -51,7 +51,7 @@ public void testGeneratedPersistenceXml() throws Exception .getOrCreateProperties() .createProperty().name("name9").value("value5").up() .createProperty().name("name11").value("value7").up() - .up().up().up(); + .up().up(); String webXmlGenerated = persistence.exportAsString(); String webXmlOriginal = getResourceContents("src/test/resources/test-gen-persistence10.xml"); diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/persistence20/PersistenceDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/persistence20/PersistenceDescriptorTestCase.java index 506a01de..e810b6e3 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/persistence20/PersistenceDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/persistence20/PersistenceDescriptorTestCase.java @@ -15,7 +15,7 @@ public class PersistenceDescriptorTestCase @Test public void testGeneratedPersistenceXml() throws Exception { - final MutablePersistenceDescriptor persistence = create().getRoot() + final MutablePersistenceDescriptor persistence = create() // .addDefaultNamespaces() .version("2.0") .createPersistenceUnit() @@ -57,7 +57,7 @@ public void testGeneratedPersistenceXml() throws Exception .getOrCreateProperties() .createProperty().name("name9").value("value5").up() .createProperty().name("name11").value("value7").up() - .up().up().up(); + .up().up(); String webXmlGenerated = persistence.exportAsString(); String webXmlOriginal = getResourceContents("src/test/resources/test-gen-persistence20.xml"); diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/BeansDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/BeansDescriptorTestCase.java index fcb6aad2..c4056f24 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/BeansDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/BeansDescriptorTestCase.java @@ -93,9 +93,9 @@ public void shouldHaveCorrectSchemaLocation() "http://java.sun.com/xml/ns/javaee/beans_1_0.xsd"; // when - final String descriptorXml = create().getRoot().getOrCreateAlternatives() + final String descriptorXml = create().getOrCreateAlternatives() .stereotype(TestAlternativeStereoType.class.getName()) - .up().up() + .up() .exportAsString(); // then @@ -112,13 +112,13 @@ public void shouldHaveCorrectSchemaLocation() @Test(expected = IllegalArgumentException.class) public void shouldNotBeAbleToAddNonAlternativeStereoType() { - create().getRoot().getOrCreateAlternatives().clazz(Override.class.getName()); + create().getOrCreateAlternatives().clazz(Override.class.getName()); } @Test public void shouldBeAbleToAddAlternativeStereoType() throws Exception { - final String desc = create().getRoot().getOrCreateAlternatives().stereotype(TestAlternativeStereoType.class.getName()).up().up() + final String desc = create().getOrCreateAlternatives().stereotype(TestAlternativeStereoType.class.getName()).up() .exportAsString(); log.info(desc); @@ -128,8 +128,8 @@ public void shouldBeAbleToAddAlternativeStereoType() throws Exception @Test public void shouldBeAbleToAddAlternativeStereoTypes() throws Exception { - final String desc = create().getRoot().getOrCreateAlternatives() - .stereotype(TestAlternativeStereoType.class.getName(), TestAlternativeStereoType.class.getName()).up().up() + final String desc = create().getOrCreateAlternatives() + .stereotype(TestAlternativeStereoType.class.getName(), TestAlternativeStereoType.class.getName()).up() .exportAsString(); log.info(desc); assertPresenceUsingXPath(desc, "/beans/alternatives/stereotype", TestAlternativeStereoType.class.getName(), TestAlternativeStereoType.class.getName()); @@ -145,14 +145,14 @@ public void shouldBeAbleToAddAlternativeStereoTypes() throws Exception @Test(expected = IllegalArgumentException.class) public void shouldNotBeAbleToAddNonAlternativeClass() { - create().getRoot().getOrCreateAlternatives() + create().getOrCreateAlternatives() .clazz(String.class.getName()); } @Test public void shouldBeAbleToAddAlternativeClass() throws Exception { - final String desc = create().getRoot().getOrCreateAlternatives().clazz(TestAlternativeClass.class.getName()).up().up() + final String desc = create().getOrCreateAlternatives().clazz(TestAlternativeClass.class.getName()).up() .exportAsString(); assertPresenceUsingXPath(desc, "/beans/alternatives/class", TestAlternativeClass.class.getName()); @@ -161,8 +161,8 @@ public void shouldBeAbleToAddAlternativeClass() throws Exception @Test public void shouldBeAbleToAddAlternativeClasses() throws Exception { - final String desc = create().getRoot().getOrCreateAlternatives() - .clazz(TestAlternativeClass.class.getName(), TestAlternativeClass.class.getName()).up().up().exportAsString(); + final String desc = create().getOrCreateAlternatives() + .clazz(TestAlternativeClass.class.getName(), TestAlternativeClass.class.getName()).up().exportAsString(); assertPresenceUsingXPath(desc, "/beans/alternatives/class", TestAlternativeClass.class.getName(), TestAlternativeClass.class.getName()); } @@ -176,13 +176,13 @@ public void shouldBeAbleToAddAlternativeClasses() throws Exception @Test(expected = IllegalArgumentException.class) public void shouldNotBeAbleToAddNonInterceptor() throws Exception { - create().getRoot().getOrCreateInterceptors().clazz(String.class.getName()); + create().getOrCreateInterceptors().clazz(String.class.getName()); } @Test public void shouldBeAbleToAddInterceptor() throws Exception { - final String desc = create().getRoot().getOrCreateInterceptors().clazz(TestInterceptor.class.getName()).up().up() + final String desc = create().getOrCreateInterceptors().clazz(TestInterceptor.class.getName()).up() .exportAsString(); assertPresenceUsingXPath(desc, "/beans/interceptors/class", TestInterceptor.class.getName()); @@ -191,8 +191,8 @@ public void shouldBeAbleToAddInterceptor() throws Exception @Test public void shouldBeAbleToAddInterceptors() throws Exception { - final String desc = create().getRoot().getOrCreateInterceptors() - .clazz(TestInterceptor.class.getName(), TestInterceptor.class.getName()).up().up().exportAsString(); + final String desc = create().getOrCreateInterceptors() + .clazz(TestInterceptor.class.getName(), TestInterceptor.class.getName()).up().exportAsString(); assertPresenceUsingXPath(desc, "/beans/interceptors/class", TestInterceptor.class.getName(), TestInterceptor.class.getName()); } @@ -206,21 +206,21 @@ public void shouldBeAbleToAddInterceptors() throws Exception @Test(expected = IllegalArgumentException.class) public void shouldNotBeAbleToAddNonDecorator() throws Exception { - create().getRoot().getOrCreateDecorators().clazz(String.class.getName()); + create().getOrCreateDecorators().clazz(String.class.getName()); } @Test public void shouldBeAbleToAddDescorator() throws Exception { - String desc = create().getRoot().getOrCreateDecorators().clazz(TestDecorator.class.getName()).up().up().exportAsString(); + String desc = create().getOrCreateDecorators().clazz(TestDecorator.class.getName()).up().exportAsString(); assertPresenceUsingXPath(desc, "/beans/decorators/class", TestDecorator.class.getName()); } @Test public void shouldBeAbleToAddDescorators() throws Exception { - final String desc = create().getRoot().getOrCreateDecorators() - .clazz(TestDecorator.class.getName(), TestDecorator.class.getName()).up().up().exportAsString(); + final String desc = create().getOrCreateDecorators() + .clazz(TestDecorator.class.getName(), TestDecorator.class.getName()).up().exportAsString(); assertPresenceUsingXPath(desc, "/beans/decorators/class", TestDecorator.class.getName(), TestDecorator.class.getName()); } @@ -231,8 +231,8 @@ public void shouldBeAbleToAddDescorators() throws Exception @Test public void shouldBeAbleToReadWhatWasExported() throws Exception { - final String desc = create().getRoot().getOrCreateDecorators() - .clazz(TestDecorator.class.getName(), TestDecorator.class.getName()).up().up().exportAsString(); + final String desc = create().getOrCreateDecorators() + .clazz(TestDecorator.class.getName(), TestDecorator.class.getName()).up().exportAsString(); final String roundtrip = Descriptors.importAs(MutableBeansDescriptor.class).fromString(desc).exportAsString(); @@ -247,10 +247,10 @@ public void shouldBeAbleToReadWhatWasExported() throws Exception @Test public void shouldBeAbleToGenerateComplexDescriptor() throws Exception { - final MutableBeansDescriptor beans = Descriptors.create(MutableBeansDescriptor.class).getRoot().getOrCreateInterceptors() + final MutableBeansDescriptor beans = Descriptors.create(MutableBeansDescriptor.class).getOrCreateInterceptors() .clazz(TestInterceptor.class.getName(), TestAnotherInterceptor.class.getName()).up() .getOrCreateDecorators().clazz(TestDecorator.class.getName()).up().getOrCreateAlternatives() - .stereotype(TestAlternativeStereoType.class.getName()).up().up(); + .stereotype(TestAlternativeStereoType.class.getName()).up(); String xml = beans.exportAsString(); assertPresenceUsingXPath(xml, "/beans/interceptors/class", TestInterceptor.class.getName(), TestAnotherInterceptor.class.getName()); diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/DescriptorExporterTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/DescriptorExporterTestCase.java index 9c370c05..30f00d0d 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/DescriptorExporterTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/DescriptorExporterTestCase.java @@ -39,7 +39,7 @@ public class DescriptorExporterTestCase public void shouldBeAbleToExportToStream() throws Exception { final String name = DescriptorExporterTestCase.class.getName(); - final MutableWebAppDescriptor descriptor = Descriptors.create(MutableWebAppDescriptor.class).getRoot().displayName(name).up(); + final MutableWebAppDescriptor descriptor = Descriptors.create(MutableWebAppDescriptor.class).displayName(name); final ByteArrayOutputStream output = new ByteArrayOutputStream(); descriptor.exportTo(output); diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/DescriptorsTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/DescriptorsTestCase.java index 6d20e9c7..22a8df88 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/DescriptorsTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/DescriptorsTestCase.java @@ -57,7 +57,7 @@ public void shouldBeAbleToConstructDescriptorFromString() throws Exception Assert.assertNotNull(web); - Assert.assertEquals(1, web.getRoot().getAllFilter().size()); - Assert.assertEquals(1, web.getRoot().getAllFilterMapping().size()); + Assert.assertEquals(1, web.getAllFilter().size()); + Assert.assertEquals(1, web.getAllFilterMapping().size()); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorEclipseLinkTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorEclipseLinkTestCase.java index 6f4f66ad..4ce9f3d5 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorEclipseLinkTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorEclipseLinkTestCase.java @@ -68,7 +68,7 @@ private void shouldBeAbleSetSchemaGenerationMode(String providerType, String gen private MutablePersistenceDescriptor create() { - return Descriptors.create(MutablePersistenceDescriptor.class).getRoot().getOrCreatePersistenceUnit().name(this.getClass().getSimpleName()).up().up(); + return Descriptors.create(MutablePersistenceDescriptor.class).getOrCreatePersistenceUnit().name(this.getClass().getSimpleName()).up(); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorHibernateTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorHibernateTestCase.java index 56d9936b..b1e98500 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorHibernateTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorHibernateTestCase.java @@ -18,7 +18,7 @@ public class PersistenceDescriptorHibernateTestCase @Test public void shouldBeAbleSetProviderHibernate() throws Exception { - String desc = create().getRoot().getOrCreatePersistenceUnit().provider("HIBERNATE").up().up().exportAsString(); + String desc = create().getOrCreatePersistenceUnit().provider("HIBERNATE").up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/provider", "HIBERNATE"); } @@ -98,6 +98,6 @@ public void shouldBeAbleToSetSchemaGenerationModeHibernateUpdate() throws Except // private MutablePersistenceDescriptor create() { - return Descriptors.create(MutablePersistenceDescriptor.class).getRoot().getOrCreatePersistenceUnit().name(this.getClass().getSimpleName()).up().up(); + return Descriptors.create(MutablePersistenceDescriptor.class).getOrCreatePersistenceUnit().name(this.getClass().getSimpleName()).up(); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorTestCase.java index 911845b3..ee4441e4 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/PersistenceDescriptorTestCase.java @@ -76,7 +76,7 @@ public void shouldHaveDefaultVersion() throws Exception @Test public void shouldBeAbleToSetVersion() throws Exception { - String desc = create().getRoot().version("1.0").up().exportAsString(); + String desc = create().version("1.0").exportAsString(); assertPresenceUsingXPath(desc, "/persistence/@version", "1.0"); } @@ -92,7 +92,7 @@ public void shouldBeAbleToAddPersistenceUnit() throws Exception @Test public void shouldBeAbleToAddMultiplePersistenceUnits() throws Exception { - String desc = create().getRoot().createPersistenceUnit().name(name2).up().up().exportAsString(); + String desc = create().createPersistenceUnit().name(name2).up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/@name", name, name2); } @@ -100,7 +100,7 @@ public void shouldBeAbleToAddMultiplePersistenceUnits() throws Exception @Test public void shouldBeAbleToAddPersistenceUnitName() throws Exception { - String desc = create().getRoot().getAllPersistenceUnit().get(0).name(name2).up().up().exportAsString(); + String desc = create().getAllPersistenceUnit().get(0).name(name2).up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/@name", name2); } @@ -111,7 +111,7 @@ public void shouldOnlyCreateOnePersistenceUnitWithSameName() throws Exception { // create() creates a persistenceUnit with "name". // Add a new persistence unit with "name", should return the same node. name is defined unique - String desc = create().getRoot().getOrCreatePersistenceUnit().name(name).up().up().exportAsString(); + String desc = create().getOrCreatePersistenceUnit().name(name).up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/@name", name); } @@ -119,7 +119,7 @@ public void shouldOnlyCreateOnePersistenceUnitWithSameName() throws Exception @Test public void shouldBeAbleToAddClasses() throws Exception { - String desc = create().getRoot().getOrCreatePersistenceUnit().clazz(PersistenceDescriptor.class.getName(), PersistenceDescriptor.class.getName()).up().up().exportAsString(); + String desc = create().getOrCreatePersistenceUnit().clazz(PersistenceDescriptor.class.getName(), PersistenceDescriptor.class.getName()).up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/class", PersistenceDescriptor.class.getName(), PersistenceDescriptor.class.getName()); @@ -128,9 +128,8 @@ public void shouldBeAbleToAddClasses() throws Exception @Test public void shouldBeAbleToAddDescription() throws Exception { - PersistenceUnit unit = create().getRoot().getOrCreatePersistenceUnit().description(name); - String desc = unit.up().up() - .exportAsString(); + PersistenceUnit unit = create().getOrCreatePersistenceUnit().description(name); + String desc = unit.up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/description", name); Assert.assertEquals(name, unit.getDescription()); } @@ -138,7 +137,7 @@ public void shouldBeAbleToAddDescription() throws Exception @Test public void shouldBeAbleToSetExcludeUnlistedClasses() throws Exception { - String desc = create().getRoot().getOrCreatePersistenceUnit().excludeUnlistedClasses(true).up().up().exportAsString(); + String desc = create().getOrCreatePersistenceUnit().excludeUnlistedClasses(true).up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/exclude-unlisted-classes", "true"); } @@ -146,7 +145,7 @@ public void shouldBeAbleToSetExcludeUnlistedClasses() throws Exception @Test public void shouldBeAbleToSetIncludeUnlistedClasses() throws Exception { - String desc = create().getRoot().getOrCreatePersistenceUnit().excludeUnlistedClasses(false).up().up().exportAsString(); + String desc = create().getOrCreatePersistenceUnit().excludeUnlistedClasses(false).up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/exclude-unlisted-classes", "false"); } @@ -154,8 +153,8 @@ public void shouldBeAbleToSetIncludeUnlistedClasses() throws Exception @Test public void shouldBeAbleToSetJTADataSource() throws Exception { - PersistenceUnit unit = create().getRoot().getOrCreatePersistenceUnit().jtaDataSource(name); - String desc = unit.up().up().exportAsString(); + PersistenceUnit unit = create().getOrCreatePersistenceUnit().jtaDataSource(name); + String desc = unit.up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/jta-data-source", name); assertEquals(name, unit.getJtaDataSource()); @@ -165,7 +164,7 @@ public void shouldBeAbleToSetJTADataSource() throws Exception @Ignore("Missing in the new API") public void shouldBeAbleToReplaceJTADataSourceWithNonJTADataSource() throws Exception { - String desc = create().getRoot().getAllPersistenceUnit().get(0).jtaDataSource(name).nonJtaDataSource(name2).up().up().exportAsString(); + String desc = create().getAllPersistenceUnit().get(0).jtaDataSource(name).nonJtaDataSource(name2).up().exportAsString(); assertAbsenceUsingXPath(desc, "/persistence/persistence-unit/jta-data-source"); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/non-jta-data-source", name2); @@ -175,7 +174,7 @@ public void shouldBeAbleToReplaceJTADataSourceWithNonJTADataSource() throws Exce @Ignore("Missing in the new API") public void shouldBeAbleToReplaceNonJTADataSourceWithJTADataSource() throws Exception { - String desc = create().getRoot().getOrCreatePersistenceUnit().nonJtaDataSource(name2).jtaDataSource(name).up().up().exportAsString(); + String desc = create().getOrCreatePersistenceUnit().nonJtaDataSource(name2).jtaDataSource(name).up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/jta-data-source", name); assertAbsenceUsingXPath(desc, "/persistence/persistence-unit/non-jta-data-source"); @@ -184,8 +183,8 @@ public void shouldBeAbleToReplaceNonJTADataSourceWithJTADataSource() throws Exce @Test public void shouldBeAbleToSetNonJtaDataSource() throws Exception { - PersistenceUnit unit = create().getRoot().getOrCreatePersistenceUnit().nonJtaDataSource(name); - String desc = unit.up().up().exportAsString(); + PersistenceUnit unit = create().getOrCreatePersistenceUnit().nonJtaDataSource(name); + String desc = unit.up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/non-jta-data-source", name); assertEquals(name, unit.getNonJtaDataSource()); @@ -194,7 +193,7 @@ public void shouldBeAbleToSetNonJtaDataSource() throws Exception @Test public void shouldBeAbleToSetJarFile() throws Exception { - String desc = create().getRoot().getOrCreatePersistenceUnit().jarFile(name).up().up().exportAsString(); + String desc = create().getOrCreatePersistenceUnit().jarFile(name).up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/jar-file", name); } @@ -202,7 +201,7 @@ public void shouldBeAbleToSetJarFile() throws Exception @Test public void shouldBeAbleToSetJarFiles() throws Exception { - String desc = create().getRoot().getOrCreatePersistenceUnit().jarFile(name, name2).up().up().exportAsString(); + String desc = create().getOrCreatePersistenceUnit().jarFile(name, name2).up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/jar-file", name, name2); } @@ -210,7 +209,7 @@ public void shouldBeAbleToSetJarFiles() throws Exception @Test public void shouldBeAbleToSetMappingFile() throws Exception { - String desc = create().getRoot().getOrCreatePersistenceUnit().mappingFile(name).up().up().exportAsString(); + String desc = create().getOrCreatePersistenceUnit().mappingFile(name).up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/mapping-file", name); } @@ -218,7 +217,7 @@ public void shouldBeAbleToSetMappingFile() throws Exception @Test public void shouldBeAbleToSetMappingFiles() throws Exception { - String desc = create().getRoot().getOrCreatePersistenceUnit().mappingFile(name, name2).up().up().exportAsString(); + String desc = create().getOrCreatePersistenceUnit().mappingFile(name, name2).up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/mapping-file", name, name2); } @@ -226,7 +225,7 @@ public void shouldBeAbleToSetMappingFiles() throws Exception @Test public void shouldBeAbleToSetTransactionType() throws Exception { - String desc = create().getRoot().getOrCreatePersistenceUnit().transactionType(PersistenceUnitTransactionType._JTA).up().up().exportAsString(); + String desc = create().getOrCreatePersistenceUnit().transactionType(PersistenceUnitTransactionType._JTA).up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/@transaction-type", PersistenceUnitTransactionType._JTA); } @@ -234,10 +233,10 @@ public void shouldBeAbleToSetTransactionType() throws Exception @Test public void shouldBeAbleToAddProperties() throws Exception { - String desc = create().getRoot().getOrCreatePersistenceUnit() + String desc = create().getOrCreatePersistenceUnit() .getOrCreateProperties() .getOrCreateProperty().name(name).value(name2).up() - .createProperty().name(name2).value(name).up().up().up().up().exportAsString(); + .createProperty().name(name2).value(name).up().up().up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/properties/property/@name", name, name2); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/properties/property/@value", name2, name); @@ -250,10 +249,10 @@ public void shouldBeAbleToAddProperties() throws Exception // not the desired approach. public void addingDuplicateNamePropertyUpdatesExisting() throws Exception { - String desc = create().getRoot().getOrCreatePersistenceUnit() + String desc = create().getOrCreatePersistenceUnit() .getOrCreateProperties() .createProperty().name(name).value(name2).up() - .createProperty().name(name).value(name).up().up().up().up().exportAsString(); + .createProperty().name(name).value(name).up().up().up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/properties/property/@name", name, name); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/properties/property/@value", name, name); @@ -262,12 +261,12 @@ public void addingDuplicateNamePropertyUpdatesExisting() throws Exception @Test public void shouldBeAbleToGetProperties() throws Exception { - PersistenceUnit def = create().getRoot().getOrCreatePersistenceUnit() + Properties> def = create().getOrCreatePersistenceUnit() .getOrCreateProperties() .createProperty().name(name).value(name2).up() - .createProperty().name(name2).value(name).up().up(); + .createProperty().name(name2).value(name).up(); - List>>> properties = def.getOrCreateProperties().getAllProperty(); + List>>> properties = def.getAllProperty(); assertEquals(2, properties.size()); assertEquals(name, properties.get(0).getName()); assertEquals(name2, properties.get(0).getValue()); @@ -312,12 +311,12 @@ public void shouldBeAbleToGetProperties() throws Exception @Test public void shouldBeAbleToClearProperties() throws Exception { - Properties> def = create().getRoot().getOrCreatePersistenceUnit() + Properties> def = create().getOrCreatePersistenceUnit() .getOrCreateProperties() .createProperty().name(name).value(name2).up() .createProperty().name(name2).value(name).up(); - List>>> props = def.getAllProperty(); + List>>> props = def.getAllProperty(); assertEquals(2, props.size()); def.removeAllProperty(); @@ -329,12 +328,12 @@ public void shouldBeAbleToClearProperties() throws Exception @Test public void shouldBeAbleToClearPropertiesAndAddNew() throws Exception { - Properties> def = create().getRoot().getOrCreatePersistenceUnit() + Properties> def = create().getOrCreatePersistenceUnit() .getOrCreateProperties() .createProperty().name(name).value(name2).up() .createProperty().name(name2).value(name).up(); - List>>> props = def.getAllProperty(); + List>>> props = def.getAllProperty(); assertEquals(2, props.size()); def.removeAllProperty(); @@ -356,7 +355,7 @@ public void shouldBeAbleToClearPropertiesAndAddNew() throws Exception @Test public void shouldBeAbleSetSharedCacheMode() throws Exception { - String desc = create().getRoot().getOrCreatePersistenceUnit().sharedCacheMode("ALL").up().up().exportAsString(); + String desc = create().getOrCreatePersistenceUnit().sharedCacheMode("ALL").up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/shared-cache-mode", "ALL"); } @@ -364,7 +363,7 @@ public void shouldBeAbleSetSharedCacheMode() throws Exception @Test public void shouldBeAbleSetValidationMode() throws Exception { - String desc = create().getRoot().getOrCreatePersistenceUnit().validationMode("AUTO").up().up().exportAsString(); + String desc = create().getOrCreatePersistenceUnit().validationMode("AUTO").up().exportAsString(); assertPresenceUsingXPath(desc, "/persistence/persistence-unit/validation-mode", "AUTO"); } @@ -387,11 +386,11 @@ public void shouldBeAbleToIncludeMultiplePersistenceUnit() throws Exception final String eclipseLinkProvider = "org.eclipse.persistence.jpa.PersistenceProvider"; final String nonjtaDataSource = "jdbc/__default"; - final MutablePersistenceDescriptor persistence = Descriptors.create(MutablePersistenceDescriptor.class).getRoot() + final MutablePersistenceDescriptor persistence = Descriptors.create(MutablePersistenceDescriptor.class) .createPersistenceUnit().name(hibernateUnit).transactionType(txTypeJta) .provider(providerTypeHibernate).jtaDataSource(jtaDataSource).clazz(PersistenceDescriptor.class.getName()).up() .createPersistenceUnit().name(eclipseLinkUnit).transactionType(txTypeResourceLocal) - .provider(eclipseLinkProvider).nonJtaDataSource(nonjtaDataSource).excludeUnlistedClasses(true).up().up(); + .provider(eclipseLinkProvider).nonJtaDataSource(nonjtaDataSource).excludeUnlistedClasses(true).up(); final String desc = persistence.exportAsString(); log.info(desc); @@ -416,6 +415,6 @@ public void shouldBeAbleToIncludeMultiplePersistenceUnit() throws Exception private MutablePersistenceDescriptor create() { - return Descriptors.create(MutablePersistenceDescriptor.class).getRoot().getOrCreatePersistenceUnit().name(name).up().up(); + return Descriptors.create(MutablePersistenceDescriptor.class).getOrCreatePersistenceUnit().name(name).up(); } } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/WebAppDefTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/WebAppDefTestCase.java index ca70d095..3f9b4384 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/WebAppDefTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portedfrompoc/WebAppDefTestCase.java @@ -121,8 +121,8 @@ public void shouldBeAbleToDetermineDefaultFilterName() throws Exception String clazz = "com.ocpsoft.pretty." + name; String mapping = "/*"; - final String desc = create().getRoot().getOrCreateFilter().filterClass(clazz).filterName(name).up().getOrCreateFilterMapping() - .filterName(name).urlPattern(mapping).up().up().exportAsString(); + final String desc = create().getOrCreateFilter().filterClass(clazz).filterName(name).up().getOrCreateFilterMapping() + .filterName(name).urlPattern(mapping).up().exportAsString(); log.fine(desc); @@ -139,8 +139,8 @@ public void shouldBeAbleToDetermineDefaultServletName() throws Exception String clazz = "javax.faces.webapp." + name; String mapping = "/*"; - final String desc = create().getRoot().getOrCreateServlet().servletClass(clazz).servletName(name).up() - .getOrCreateServletMapping().servletName(name).urlPattern(mapping).up().up().exportAsString(); + final String desc = create().getOrCreateServlet().servletClass(clazz).servletName(name).up() + .getOrCreateServletMapping().servletName(name).urlPattern(mapping).up().exportAsString(); log.fine(desc); @@ -156,7 +156,7 @@ public void shouldBeAbleToDetermineReadServletClass() throws Exception String name = "FacesServlet"; String clazz = "javax.faces.webapp." + name; - ServletType servlet = create().getRoot().getOrCreateServlet().servletClass(clazz).servletName(name); + ServletType servlet = create().getOrCreateServlet().servletClass(clazz).servletName(name); assertEquals(clazz, servlet.getServletClass()); } @@ -168,11 +168,11 @@ public void shouldBeAbleToQueryServlets() throws Exception final String clazz = "javax.faces.webapp." + name; final String mapping = "/*"; - final MutableWebAppDescriptor webXml = create().getRoot().getOrCreateServlet().servletClass(clazz).servletName(name).up() - .getOrCreateServletMapping().servletName(name).urlPattern(mapping).up().up(); + final MutableWebAppDescriptor webXml = create().getOrCreateServlet().servletClass(clazz).servletName(name).up() + .getOrCreateServletMapping().servletName(name).urlPattern(mapping).up(); - final List> servlets = webXml.getRoot().getAllServlet(); - final List> mappings = webXml.getRoot().getAllServletMapping(); + final List> servlets = webXml.getAllServlet(); + final List> mappings = webXml.getAllServletMapping(); assertEquals(1, servlets.size()); assertEquals(name, servlets.get(0).getServletName()); assertEquals(mapping, mappings.get(0).getAllUrlPattern().get(0)); @@ -252,7 +252,7 @@ public void shouldBeAbleToSetRootAttributes() throws Exception { String version = "2.5"; - String desc = create().getRoot().version(version).metadataComplete(true).up().exportAsString(); + String desc = create().version(version).metadataComplete(true).exportAsString(); log.fine(desc); @@ -289,8 +289,8 @@ public void shouldHaveSecurityConstraintDisplayName() throws Exception { final String securityConstraintDisplayName = "Default security constraint"; - final String webAppDescriptor = Descriptors.create(MutableWebAppDescriptor.class).getRoot().getOrCreateSecurityConstraint() - .displayName(securityConstraintDisplayName).up().up().exportAsString().trim(); + final String webAppDescriptor = Descriptors.create(MutableWebAppDescriptor.class).getOrCreateSecurityConstraint() + .displayName(securityConstraintDisplayName).up().exportAsString().trim(); assertPresenceUsingXPath(webAppDescriptor, "/web-app/security-constraint/display-name", securityConstraintDisplayName); } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portlet20/PortletDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portlet20/PortletDescriptorTestCase.java index 70e0d444..5830bc1b 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portlet20/PortletDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/portlet20/PortletDescriptorTestCase.java @@ -15,7 +15,7 @@ public class PortletDescriptorTestCase @Test public void testGeneratedPortletXml() throws Exception { - final MutablePortletDescriptor portlet = create().getRoot() + final MutablePortletDescriptor portlet = create() // .addDefaultNamespaces() .version("2.0") .createPortlet() @@ -37,7 +37,7 @@ public void testGeneratedPortletXml() throws Exception .portletMode("help").up() .getOrCreatePortletInfo() .title("Hello Portlet") - .up().up().up(); + .up().up(); String portletXmlGenerated = portlet.exportAsString(); String portletXmlOriginal = getResourceContents("src/test/resources/test-gen-portlet20.xml"); XmlAssert.assertIdentical(portletXmlOriginal, portletXmlGenerated); diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorAttributeGroupTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorAttributeGroupTestCase.java index 044448c8..1c3c3583 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorAttributeGroupTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorAttributeGroupTestCase.java @@ -27,55 +27,55 @@ public class WebAppDescriptorAttributeGroupTestCase @Test public void testDescription() throws Exception { - final MutableWebAppDescriptor webApp = create().getRoot() + final MutableWebAppDescriptor webApp = create() .createServlet() .description("Description1") - .description("Description2").up().up(); + .description("Description2").up(); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/servlet/description[1]", "Description1"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/servlet/description[2]", "Description2"); - assertTrue(webApp.getRoot().getAllServlet().get(0).getAllDescription().size() == 2); - webApp.getRoot().getAllServlet().get(0).removeAllDescription(); - assertTrue(webApp.getRoot().getAllServlet().get(0).getAllDescription().size() == 0); + assertTrue(webApp.getAllServlet().get(0).getAllDescription().size() == 2); + webApp.getAllServlet().get(0).removeAllDescription(); + assertTrue(webApp.getAllServlet().get(0).getAllDescription().size() == 0); } @Test public void testDisplayName() throws Exception { - final MutableWebAppDescriptor webApp = create().getRoot() + final MutableWebAppDescriptor webApp = create() .createFilter() .displayName("displayName1") - .displayName("displayName2").up().up(); + .displayName("displayName2").up(); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/filter/display-name[1]", "displayName1"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/filter/display-name[2]", "displayName2"); - assertTrue(webApp.getRoot().getAllFilter().get(0).getAllDisplayName().size() == 2); - webApp.getRoot().getAllFilter().get(0).removeAllDisplayName(); - assertTrue(webApp.getRoot().getAllFilter().get(0).getAllDisplayName().size() == 0); + assertTrue(webApp.getAllFilter().get(0).getAllDisplayName().size() == 2); + webApp.getAllFilter().get(0).removeAllDisplayName(); + assertTrue(webApp.getAllFilter().get(0).getAllDisplayName().size() == 0); } @Test public void testIcon() throws Exception { - final MutableWebAppDescriptor webApp = create().getRoot() + final MutableWebAppDescriptor webApp = create() .createFilter().createIcon().largeIcon("largeIcon1").up() - .createIcon().smallIcon("smallIcon2").up().up().up(); + .createIcon().smallIcon("smallIcon2").up().up(); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/filter/icon[1]/large-icon", "largeIcon1"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/filter/icon[2]/small-icon", "smallIcon2"); - assertTrue(webApp.getRoot().getAllFilter().get(0).getAllIcon().size() == 2); + assertTrue(webApp.getAllFilter().get(0).getAllIcon().size() == 2); - webApp.getRoot().getAllFilter().get(0).getAllIcon().get(0).removeLargeIcon(); + webApp.getAllFilter().get(0).getAllIcon().get(0).removeLargeIcon(); assertTrue(webApp.exportAsString().indexOf("") == -1); - webApp.getRoot().getAllFilter().get(0).getAllIcon().get(1).removeSmallIcon(); + webApp.getAllFilter().get(0).getAllIcon().get(1).removeSmallIcon(); assertTrue(webApp.exportAsString().indexOf("") == -1); - webApp.getRoot().getAllFilter().get(0).removeAllIcon(); - assertTrue(webApp.getRoot().createFilter().getAllIcon().size() == 0); + webApp.getAllFilter().get(0).removeAllIcon(); + assertTrue(webApp.createFilter().getAllIcon().size() == 0); } // -------------------------------------------------------------------------------------|| diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorComplexTypeTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorComplexTypeTestCase.java index 0c33dac0..618cd5f3 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorComplexTypeTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorComplexTypeTestCase.java @@ -34,7 +34,7 @@ public class WebAppDescriptorComplexTypeTestCase @Test public void testWebResourceCollection() throws Exception { - final MutableWebAppDescriptor webApp = create().getRoot() + final MutableWebAppDescriptor webApp = create() .createSecurityConstraint() .createWebResourceCollection() .webResourceName("resource1") @@ -48,26 +48,26 @@ public void testWebResourceCollection() throws Exception .httpMethod("method3") .httpMethod("method4") .up() - .up().up(); + .up(); String descr = webApp.exportAsString(); log.fine(descr); - assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getWebResourceName(), "resource1"); - assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getWebResourceName(), "resource2"); + assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getWebResourceName(), "resource1"); + assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getWebResourceName(), "resource2"); - assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getAllHttpMethod().get(0), "method1"); - assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getAllHttpMethod().get(1), "method2"); - assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getAllHttpMethod().get(0), "method3"); - assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getAllHttpMethod().get(1), "method4"); + assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getAllHttpMethod().get(0), "method1"); + assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getAllHttpMethod().get(1), "method2"); + assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getAllHttpMethod().get(0), "method3"); + assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getAllHttpMethod().get(1), "method4"); - assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getAllDescription().get(0), "descr1"); - assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getAllDescription().get(1), "descr2"); - assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getAllDescription().get(2), "descr3"); - assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getAllDescription().get(0), "descr4"); - assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getAllDescription().get(1), "descr5"); - assertEquals(webApp.getRoot().getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getAllDescription().get(2), "descr6"); + assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getAllDescription().get(0), "descr1"); + assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getAllDescription().get(1), "descr2"); + assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(0).getAllDescription().get(2), "descr3"); + assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getAllDescription().get(0), "descr4"); + assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getAllDescription().get(1), "descr5"); + assertEquals(webApp.getAllSecurityConstraint().get(0).getAllWebResourceCollection().get(1).getAllDescription().get(2), "descr6"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/security-constraint/web-resource-collection[1]/web-resource-name", "resource1"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/security-constraint/web-resource-collection[2]/web-resource-name", "resource2"); @@ -88,31 +88,31 @@ public void testWebResourceCollection() throws Exception @Test public void testLocaleEncodingMappingList() throws Exception { - final MutableWebAppDescriptor webApp = create().getRoot().createLocaleEncodingMappingList() + final MutableWebAppDescriptor webApp = create().createLocaleEncodingMappingList() .createLocaleEncodingMapping().locale("locale1").encoding("encoding1").up() - .createLocaleEncodingMapping().locale("locale2").encoding("encoding2").up().up().up(); + .createLocaleEncodingMapping().locale("locale2").encoding("encoding2").up().up(); - assertEquals(webApp.getRoot().getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(0).getLocale(), "locale1"); - assertEquals(webApp.getRoot().getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(1).getLocale(), "locale2"); - assertEquals(webApp.getRoot().getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(0).getEncoding(), "encoding1"); - assertEquals(webApp.getRoot().getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(1).getEncoding(), "encoding2"); + assertEquals(webApp.getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(0).getLocale(), "locale1"); + assertEquals(webApp.getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(1).getLocale(), "locale2"); + assertEquals(webApp.getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(0).getEncoding(), "encoding1"); + assertEquals(webApp.getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(1).getEncoding(), "encoding2"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/locale-encoding-mapping-list/locale-encoding-mapping[1]/locale", "locale1"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/locale-encoding-mapping-list/locale-encoding-mapping[2]/locale", "locale2"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/locale-encoding-mapping-list/locale-encoding-mapping[1]/encoding", "encoding1"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/locale-encoding-mapping-list/locale-encoding-mapping[2]/encoding", "encoding2"); - webApp.getRoot().getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(0).removeLocale(); - webApp.getRoot().getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(1).removeLocale(); + webApp.getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(0).removeLocale(); + webApp.getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(1).removeLocale(); assertTrue(webApp.exportAsString().indexOf("") == -1); - webApp.getRoot().getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(0).removeEncoding(); - webApp.getRoot().getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(1).removeEncoding(); + webApp.getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(0).removeEncoding(); + webApp.getAllLocaleEncodingMappingList().get(0).getAllLocaleEncodingMapping().get(1).removeEncoding(); assertTrue(webApp.exportAsString().indexOf("") == -1); - webApp.getRoot().getAllLocaleEncodingMappingList().get(0).removeAllLocaleEncodingMapping(); + webApp.getAllLocaleEncodingMappingList().get(0).removeAllLocaleEncodingMapping(); assertTrue(webApp.exportAsString().indexOf("") == -1); - webApp.getRoot().removeAllLocaleEncodingMappingList(); + webApp.removeAllLocaleEncodingMappingList(); assertTrue(webApp.exportAsString().indexOf("") == -1); } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorImportAsTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorImportAsTestCase.java index a7cfbac4..299a512c 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorImportAsTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorImportAsTestCase.java @@ -44,10 +44,10 @@ public void shouldBeAbleToImport() throws Exception log.info(web.exportAsString()); - assertEquals(web.getRoot().getAllFilter().get(0).getFilterName(), "UrlRewriteFilter"); - assertEquals(web.getRoot().getAllFilter().get(0).getFilterClass(), "org.tuckey.web.filters.urlrewrite.UrlRewriteFilter"); - assertEquals(web.getRoot().getAllFilterMapping().get(0).getFilterName(), "UrlRewriteFilter"); - assertEquals(web.getRoot().getAllFilterMapping().get(0).getAllUrlPattern().get(0), "/*"); + assertEquals(web.getAllFilter().get(0).getFilterName(), "UrlRewriteFilter"); + assertEquals(web.getAllFilter().get(0).getFilterClass(), "org.tuckey.web.filters.urlrewrite.UrlRewriteFilter"); + assertEquals(web.getAllFilterMapping().get(0).getFilterName(), "UrlRewriteFilter"); + assertEquals(web.getAllFilterMapping().get(0).getAllUrlPattern().get(0), "/*"); } @Test @@ -58,26 +58,26 @@ public void testImportGeneratedTutorialWebXml() throws Exception final MutableWebAppDescriptor webapp = Descriptors.importAs(MutableWebAppDescriptor.class).fromString( web_source_generated); - assertTrue(webapp.getRoot().getAllDisplayName().size() == 1); - assertEquals(webapp.getRoot().getAllDisplayName().get(0).trim(), "Java EE 6 Pet Catalog"); + assertTrue(webapp.getAllDisplayName().size() == 1); + assertEquals(webapp.getAllDisplayName().get(0).trim(), "Java EE 6 Pet Catalog"); - assertTrue(webapp.getRoot().getAllContextParam().size() == 4); - assertEquals(webapp.getRoot().getAllContextParam().get(0).getParamName().trim(), "javax.faces.STATE_SAVING_METHOD"); - assertEquals(webapp.getRoot().getAllContextParam().get(0).getParamValue().trim(), "client"); + assertTrue(webapp.getAllContextParam().size() == 4); + assertEquals(webapp.getAllContextParam().get(0).getParamName().trim(), "javax.faces.STATE_SAVING_METHOD"); + assertEquals(webapp.getAllContextParam().get(0).getParamValue().trim(), "client"); - assertEquals(webapp.getRoot().getAllContextParam().get(1).getParamName().trim(), "javax.faces.PROJECT_STAGE"); - assertEquals(webapp.getRoot().getAllContextParam().get(1).getParamValue().trim(), "Production"); + assertEquals(webapp.getAllContextParam().get(1).getParamName().trim(), "javax.faces.PROJECT_STAGE"); + assertEquals(webapp.getAllContextParam().get(1).getParamValue().trim(), "Production"); - assertEquals(webapp.getRoot().getAllContextParam().get(2).getParamName().trim(), "com.sun.faces.resourceUpdateCheckPeriod"); - assertEquals(webapp.getRoot().getAllContextParam().get(2).getParamValue().trim(), "-1"); + assertEquals(webapp.getAllContextParam().get(2).getParamName().trim(), "com.sun.faces.resourceUpdateCheckPeriod"); + assertEquals(webapp.getAllContextParam().get(2).getParamValue().trim(), "-1"); - assertEquals(webapp.getRoot().getAllContextParam().get(3).getParamName().trim(), "com.sun.faces.validateXml"); - assertEquals(webapp.getRoot().getAllContextParam().get(3).getParamValue().trim(), "true"); + assertEquals(webapp.getAllContextParam().get(3).getParamName().trim(), "com.sun.faces.validateXml"); + assertEquals(webapp.getAllContextParam().get(3).getParamValue().trim(), "true"); - assertEquals(webapp.getRoot().getAllServletMapping().get(0).getServletName().trim(), "Faces Servlet"); - assertEquals(webapp.getRoot().getAllServletMapping().get(0).getAllUrlPattern().get(0).trim(), "/catalog/*"); + assertEquals(webapp.getAllServletMapping().get(0).getServletName().trim(), "Faces Servlet"); + assertEquals(webapp.getAllServletMapping().get(0).getAllUrlPattern().get(0).trim(), "/catalog/*"); - assertEquals(webapp.getRoot().getAllWelcomeFileList().get(0).getAllWelcomeFile().get(0).trim(), "index.html"); + assertEquals(webapp.getAllWelcomeFileList().get(0).getAllWelcomeFile().get(0).trim(), "index.html"); // System.out.println(webapp.exportAsString()); } @@ -90,72 +90,72 @@ public void testImportGeneratedWebXml() throws Exception final MutableWebAppDescriptor web = Descriptors.importAs(MutableWebAppDescriptor.class).fromString( web_source_generated); - assertEquals(web.getRoot().getAllModuleName().get(0), "module-name0"); - assertTrue(web.getRoot().getAllJspConfig().get(0).getAllTaglib().size() == 2); + assertEquals(web.getAllModuleName().get(0), "module-name0"); + assertTrue(web.getAllJspConfig().get(0).getAllTaglib().size() == 2); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllTaglib().get(0).getTaglibUri(), "taglib-uri0"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllTaglib().get(0).getTaglibLocation(), "taglib-location0"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllTaglib().get(1).getTaglibUri(), "taglib-uri1"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllTaglib().get(1).getTaglibLocation(), "taglib-location1"); - assertTrue(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllDescription().size() == 2); + assertEquals(web.getAllJspConfig().get(0).getAllTaglib().get(0).getTaglibUri(), "taglib-uri0"); + assertEquals(web.getAllJspConfig().get(0).getAllTaglib().get(0).getTaglibLocation(), "taglib-location0"); + assertEquals(web.getAllJspConfig().get(0).getAllTaglib().get(1).getTaglibUri(), "taglib-uri1"); + assertEquals(web.getAllJspConfig().get(0).getAllTaglib().get(1).getTaglibLocation(), "taglib-location1"); + assertTrue(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllDescription().size() == 2); // check first group - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllDescription().get(0), "description0"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllDescription().get(1), "description1"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllDisplayName().get(0), "display-name0"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllDisplayName().get(1), "display-name1"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIcon().get(0).getSmallIcon(), "small-icon0"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIcon().get(0).getLargeIcon(), "large-icon0"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIcon().get(1).getSmallIcon(), "small-icon1"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIcon().get(1).getLargeIcon(), "large-icon1"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllUrlPattern().get(0), "url-pattern0"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllUrlPattern().get(1), "url-pattern1"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isElIgnored(), false); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getPageEncoding(), "page-encoding0"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isScriptingInvalid(), false); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isIsXml(), false); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIncludePrelude().get(0), "include-prelude0"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIncludePrelude().get(1), "include-prelude1"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIncludeCoda().get(0), "include-coda0"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIncludeCoda().get(1), "include-coda1"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isDeferredSyntaxAllowedAsLiteral(), false); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isTrimDirectiveWhitespaces(), false); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getDefaultContentType(), "default-content-type0"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getBuffer(), "buffer0"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isErrorOnUndeclaredNamespace(), false); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllDescription().get(0), "description0"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllDescription().get(1), "description1"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllDisplayName().get(0), "display-name0"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllDisplayName().get(1), "display-name1"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIcon().get(0).getSmallIcon(), "small-icon0"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIcon().get(0).getLargeIcon(), "large-icon0"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIcon().get(1).getSmallIcon(), "small-icon1"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIcon().get(1).getLargeIcon(), "large-icon1"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllUrlPattern().get(0), "url-pattern0"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllUrlPattern().get(1), "url-pattern1"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isElIgnored(), false); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getPageEncoding(), "page-encoding0"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isScriptingInvalid(), false); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isIsXml(), false); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIncludePrelude().get(0), "include-prelude0"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIncludePrelude().get(1), "include-prelude1"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIncludeCoda().get(0), "include-coda0"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getAllIncludeCoda().get(1), "include-coda1"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isDeferredSyntaxAllowedAsLiteral(), false); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isTrimDirectiveWhitespaces(), false); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getDefaultContentType(), "default-content-type0"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).getBuffer(), "buffer0"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(0).isErrorOnUndeclaredNamespace(), false); // check second group - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllDescription().get(0), "description2"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllDescription().get(1), "description3"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllDisplayName().get(0), "display-name2"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllDisplayName().get(1), "display-name3"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIcon().get(0).getSmallIcon(), "small-icon2"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIcon().get(0).getLargeIcon(), "large-icon2"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIcon().get(1).getSmallIcon(), "small-icon3"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIcon().get(1).getLargeIcon(), "large-icon3"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllUrlPattern().get(0), "url-pattern2"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllUrlPattern().get(1), "url-pattern3"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isElIgnored(), false); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getPageEncoding(), "page-encoding1"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isScriptingInvalid(), false); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isIsXml(), false); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIncludePrelude().get(0), "include-prelude2"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIncludePrelude().get(1), "include-prelude3"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIncludeCoda().get(0), "include-coda2"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIncludeCoda().get(1), "include-coda3"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isDeferredSyntaxAllowedAsLiteral(), false); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isTrimDirectiveWhitespaces(), false); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getDefaultContentType(), "default-content-type1"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getBuffer(), "buffer1"); - assertEquals(web.getRoot().getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isErrorOnUndeclaredNamespace(), false); - - assertEquals(web.getRoot().getAllAbsoluteOrdering().get(0).getAllName().get(0), "name0"); - assertEquals(web.getRoot().getAllAbsoluteOrdering().get(0).getAllName().get(1), "name1"); - assertEquals(web.getRoot().getAllAbsoluteOrdering().get(0).getAllName().get(2), "name2"); - assertEquals(web.getRoot().getAllAbsoluteOrdering().get(0).getAllName().get(3), "name3"); - assertEquals(web.getRoot().getAllSecurityRole().get(0).getAllDescription().get(0), "description4"); - assertEquals(web.getRoot().getAllSecurityRole().get(0).getAllDescription().get(1), "description5"); - assertEquals(web.getRoot().getAllSecurityRole().get(0).getRoleName(), "role-name0"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllDescription().get(0), "description2"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllDescription().get(1), "description3"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllDisplayName().get(0), "display-name2"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllDisplayName().get(1), "display-name3"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIcon().get(0).getSmallIcon(), "small-icon2"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIcon().get(0).getLargeIcon(), "large-icon2"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIcon().get(1).getSmallIcon(), "small-icon3"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIcon().get(1).getLargeIcon(), "large-icon3"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllUrlPattern().get(0), "url-pattern2"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllUrlPattern().get(1), "url-pattern3"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isElIgnored(), false); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getPageEncoding(), "page-encoding1"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isScriptingInvalid(), false); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isIsXml(), false); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIncludePrelude().get(0), "include-prelude2"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIncludePrelude().get(1), "include-prelude3"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIncludeCoda().get(0), "include-coda2"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getAllIncludeCoda().get(1), "include-coda3"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isDeferredSyntaxAllowedAsLiteral(), false); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isTrimDirectiveWhitespaces(), false); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getDefaultContentType(), "default-content-type1"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).getBuffer(), "buffer1"); + assertEquals(web.getAllJspConfig().get(0).getAllJspPropertyGroup().get(1).isErrorOnUndeclaredNamespace(), false); + + assertEquals(web.getAllAbsoluteOrdering().get(0).getAllName().get(0), "name0"); + assertEquals(web.getAllAbsoluteOrdering().get(0).getAllName().get(1), "name1"); + assertEquals(web.getAllAbsoluteOrdering().get(0).getAllName().get(2), "name2"); + assertEquals(web.getAllAbsoluteOrdering().get(0).getAllName().get(3), "name3"); + assertEquals(web.getAllSecurityRole().get(0).getAllDescription().get(0), "description4"); + assertEquals(web.getAllSecurityRole().get(0).getAllDescription().get(1), "description5"); + assertEquals(web.getAllSecurityRole().get(0).getRoleName(), "role-name0"); } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorNamespaceTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorNamespaceTestCase.java index a780069e..3c51d05a 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorNamespaceTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorNamespaceTestCase.java @@ -52,8 +52,8 @@ public void shouldAddDefaultNamespaces() throws Exception @Ignore public void testRemoveAllNamespaces() throws Exception { - final String app = create().getRoot() - .version("3.0").up() + final String app = create() + .version("3.0") // .addDefaultNamespaces() // .removeAllNamespaces() .exportAsString(); diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorSimpleTypeTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorSimpleTypeTestCase.java index e21333a5..4476ad4f 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorSimpleTypeTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorSimpleTypeTestCase.java @@ -29,27 +29,27 @@ public class WebAppDescriptorSimpleTypeTestCase @Test public void testLoadOnStartupType() throws Exception { - final MutableWebAppDescriptor webApp = create().getRoot().createServlet().loadOnStartup(1).up().up(); - assertTrue(webApp.getRoot().getAllServlet().get(0).getLoadOnStartup()==1); + final MutableWebAppDescriptor webApp = create().createServlet().loadOnStartup(1).up(); + assertTrue(webApp.getAllServlet().get(0).getLoadOnStartup()==1); webApp.exportAsString(); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/servlet/load-on-startup", "1"); - webApp.getRoot().getAllServlet().get(0).loadOnStartup(0); + webApp.getAllServlet().get(0).loadOnStartup(0); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/servlet/load-on-startup", "0"); - webApp.getRoot().getAllServlet().get(0).removeLoadOnStartup(); + webApp.getAllServlet().get(0).removeLoadOnStartup(); assertTrue(webApp.exportAsString().indexOf("load-on-startup") == -1); } @Test public void testWebAppVersionType() throws Exception { - final MutableWebAppDescriptor webApp = create().getRoot().version("3.0").up(); - assertEquals(webApp.getRoot().getVersionAsString(), "3.0"); + final MutableWebAppDescriptor webApp = create().version("3.0"); + assertEquals(webApp.getVersionAsString(), "3.0"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/@version", "3.0"); - webApp.getRoot().version("3.x"); - assertEquals(webApp.getRoot().getVersionAsString(), "3.x"); + webApp.version("3.x"); + assertEquals(webApp.getVersionAsString(), "3.x"); assertPresenceUsingXPath(webApp.exportAsString(), "/web-app/@version", "3.x"); } diff --git a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorTestCase.java b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorTestCase.java index 9afc0c77..130c8996 100644 --- a/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorTestCase.java +++ b/test/src/test/java/org/jboss/shrinkwrap/descriptor/test/webapp30/WebAppDescriptorTestCase.java @@ -76,9 +76,9 @@ public void shouldBeAbleToDetermineDefaultFilterName() throws Exception String clazz = "com.ocpsoft.pretty." + name; String mapping = "/*"; - String desc = create().getRoot() + String desc = create() .createFilter().filterClass(clazz).filterName(name).up() - .createFilterMapping().filterName(name).urlPattern(mapping).up().up() + .createFilterMapping().filterName(name).urlPattern(mapping).up() .exportAsString(); log.fine(desc); @@ -93,10 +93,10 @@ public void shouldBeAbleToDetermineDefaultFilterName() throws Exception @Test public void shouldBeAbleToSetWelcomeFiles() throws Exception { - String desc = create().getRoot() + String desc = create() .createWelcomeFileList() .welcomeFile("WelcomeFile1") - .welcomeFile("WelcomeFile2").up().up() + .welcomeFile("WelcomeFile2").up() .exportAsString(); log.fine(desc); @@ -109,13 +109,13 @@ public void shouldBeAbleToSetWelcomeFiles() throws Exception @Test public void shouldBeAbleToGetFilterIcons() throws Exception { - MutableWebAppDescriptor web = create().getRoot() + MutableWebAppDescriptor web = create() .createFilter() .createIcon().smallIcon("small1").largeIcon("large1").up() - .createIcon().smallIcon("small2").largeIcon("large2").up().up() + .createIcon().smallIcon("small2").largeIcon("large2").up() .up(); - List>> list = web.getRoot().getAllFilter().get(0).getAllIcon(); + List>> list = web.getAllFilter().get(0).getAllIcon(); assertTrue(list.size() == 2); for (IconType icon: list) { @@ -133,9 +133,9 @@ public void shouldBeAbleToDetermineDefaultServletName() throws Exception String clazz = "javax.faces.webapp." + name; String mapping = "/*"; - String desc = create().getRoot() + String desc = create() .createServlet().servletClass(clazz).servletName(name).up() - .createServletMapping().servletName(name).urlPattern(mapping).up().up() + .createServletMapping().servletName(name).urlPattern(mapping).up() .exportAsString(); log.fine(desc); @@ -153,8 +153,8 @@ public void shouldBeAbleToSetRootAttributes() throws Exception { String version = "2.5"; - String desc = create().getRoot() - .version(version).metadataComplete(true).up() + String desc = create() + .version(version).metadataComplete(true) .exportAsString(); log.fine(desc); @@ -172,10 +172,10 @@ public void shouldBeAbleToCreateSessionCookieConfig() throws Exception int timeout = 3600; int maxAge = 3600; - String desc = create().getRoot() + String desc = create() .createSessionConfig().sessionTimeout(timeout) .getOrCreateCookieConfig().name(name).domain(domain).path(path).maxAge(maxAge).up() - .trackingMode(TrackingModeType._COOKIE.name()).up().up() + .trackingMode(TrackingModeType._COOKIE.name()).up() .exportAsString(); log.fine(desc); @@ -198,8 +198,8 @@ public void shouldBeAbleToOverrideVersionInWebAppDescriptor() throws Exception final MutableWebAppDescriptor web = Descriptors.importAs(MutableWebAppDescriptor.class).fromString( source); - web.getRoot().version("3.0"); - Assert.assertEquals("3.0", web.getRoot().getVersionAsString()); + web.version("3.0"); + Assert.assertEquals("3.0", web.getVersionAsString()); // Get as Node structure final InputStream stream = new ByteArrayInputStream(web.exportAsString().getBytes()); @@ -207,14 +207,14 @@ public void shouldBeAbleToOverrideVersionInWebAppDescriptor() throws Exception final Node root = ((NodeDescriptor) fromWebXml).getRootNode(); // Preconditions - Assert.assertEquals("3.0", web.getRoot().getVersionAsString()); + Assert.assertEquals("3.0", web.getVersionAsString()); Assert.assertTrue(root.getAttribute("xsi:schemaLocation").contains("web-app_3_0.xsd")); // Change the version - web.getRoot().version("2.5"); + web.version("2.5"); // Check that everything was updated - Assert.assertEquals("2.5", web.getRoot().getVersionAsString()); + Assert.assertEquals("2.5", web.getVersionAsString()); // Log just for fun // log.info("web.xml after update: " + web.exportAsString());