[jboss-cvs] JBossAS SVN: r100349 - in trunk: component-matrix and 24 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Feb 3 10:25:17 EST 2010
Author: bill.burke at jboss.com
Date: 2010-02-03 10:25:16 -0500 (Wed, 03 Feb 2010)
New Revision: 100349
Added:
trunk/resteasy-int/jar/jboss-as-resteasy.iml
trunk/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyDeploymentData.java
trunk/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyEjbDeployer.java
trunk/resteasy-int/test/ejb-war/
trunk/resteasy-int/test/ejb-war/pom.xml
trunk/resteasy-int/test/ejb-war/src/
trunk/resteasy-int/test/ejb-war/src/main/
trunk/resteasy-int/test/ejb-war/src/main/java/
trunk/resteasy-int/test/ejb-war/src/main/java/org/
trunk/resteasy-int/test/ejb-war/src/main/java/org/jboss/
trunk/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/
trunk/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/
trunk/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResource.java
trunk/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResourceBean.java
trunk/resteasy-int/test/ejb-war/src/main/webapp/
trunk/resteasy-int/test/ejb-war/src/main/webapp/WEB-INF/
trunk/resteasy-int/test/ejb-war/src/main/webapp/WEB-INF/web.xml
trunk/resteasy-int/test/ejb-war/src/main/webapp/index.jsp
trunk/resteasy-int/test/ejb-war/src/test/
trunk/resteasy-int/test/ejb-war/src/test/java/
trunk/resteasy-int/test/ejb-war/src/test/java/org/
trunk/resteasy-int/test/ejb-war/src/test/java/org/jboss/
trunk/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/
trunk/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test/
trunk/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test/jboss/
trunk/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test/jboss/EjbTest.java
trunk/resteasy-int/test/ejb-war/src/test/resources/
trunk/resteasy-int/test/ejb-war/src/test/resources/jndi.properties
trunk/resteasy-int/test/ejb-war/src/test/resources/log4j.xml
trunk/resteasy-int/zip/resteasy-ejb-jboss-beans.xml
Modified:
trunk/build/build.xml
trunk/component-matrix/pom.xml
trunk/resteasy-int/jar/pom.xml
trunk/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyIntegrationDeployer.java
trunk/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyScannerDeployer.java
trunk/resteasy-int/test/application-war/pom.xml
trunk/resteasy-int/test/pom.xml
trunk/resteasy-int/test/scanned-war/pom.xml
trunk/resteasy-int/zip/assembly.xml
trunk/resteasy-int/zip/pom.xml
Log:
resteasy re-commit
Modified: trunk/build/build.xml
===================================================================
--- trunk/build/build.xml 2010-02-03 15:24:39 UTC (rev 100348)
+++ trunk/build/build.xml 2010-02-03 15:25:16 UTC (rev 100349)
@@ -200,6 +200,7 @@
module-ejb3,
module-tomcat,
module-webservices,
+ module-resteasy,
module-hibernate-int,
module-console">
</target>
@@ -1869,6 +1870,21 @@
</copy>
</target>
+ <!-- =========== -->
+ <!-- Resteasy -->
+ <!-- =========== -->
+
+ <target name="module-resteasy">
+ <property name="resteasy.module.name" value="resteasy-int"/>
+ <property name="resteasy.module.output" value="${project.root}/${resteasy.module.name}/zip/target/distribution"/>
+
+ <unzip dest="${install.all.deployers}"
+ src="${resteasy.module.output}/resteasy-int-all.zip"/>
+ </target>
+
+ <target name="module-resteasy-all">
+ </target>
+
<!-- ============ -->
<!-- Hibernate -->
<!-- ============ -->
Modified: trunk/component-matrix/pom.xml
===================================================================
--- trunk/component-matrix/pom.xml 2010-02-03 15:24:39 UTC (rev 100348)
+++ trunk/component-matrix/pom.xml 2010-02-03 15:25:16 UTC (rev 100349)
@@ -123,6 +123,7 @@
<version.org.jboss.reflect>2.2.0.Alpha2</version.org.jboss.reflect>
<version.org.jboss.reloaded.naming>0.1.0-alpha-2</version.org.jboss.reloaded.naming>
<version.org.jboss.reloaded.naming.deployers>0.1.0-alpha-2</version.org.jboss.reloaded.naming.deployers>
+ <version.org.jboss.resteasy>2.0-beta-1</version.org.jboss.resteasy>
<version.org.jboss.remoting>2.5.2.SP2</version.org.jboss.remoting>
<version.org.jboss.security>2.1.0.20091223</version.org.jboss.security>
<version.org.jboss.security.negotiation>2.0.3.SP1</version.org.jboss.security.negotiation>
Added: trunk/resteasy-int/jar/jboss-as-resteasy.iml
===================================================================
--- trunk/resteasy-int/jar/jboss-as-resteasy.iml (rev 0)
+++ trunk/resteasy-int/jar/jboss-as-resteasy.iml 2010-02-03 15:25:16 UTC (rev 100349)
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module MavenProjectsManager.isMavenModule="true" org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" relativePaths="true" type="JAVA_MODULE" version="4">
+ <component name="NewModuleRootManager" inherit-compiler-output="false">
+ <output url="file://$MODULE_DIR$/target/classes" />
+ <output-test url="file://$MODULE_DIR$/target/test-classes" />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/resources" isTestSource="false" />
+ <excludeFolder url="file://$MODULE_DIR$/target" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="library" exported="" name="Maven: org.jboss.resteasy:resteasy-jaxrs:1.3.RC1-SNAPSHOT" level="project" />
+ <orderEntry type="library" exported="" name="Maven: org.jboss.resteasy:jaxrs-api:1.3.RC1-SNAPSHOT" level="project" />
+ <orderEntry type="library" name="Maven: org.hibernate:ejb3-persistence:1.0.2.GA" level="project" />
+ <orderEntry type="library" name="Maven: org.jboss.ws:jbossws-spi:1.3.0.Beta1" level="project" />
+ <orderEntry type="library" name="Maven: org.jboss.cl:jboss-classloading-vfs:2.0.8.GA" level="project" />
+ <orderEntry type="library" name="Maven: org.jboss.cl:jboss-classloader:2.0.8.GA" level="project" />
+ <orderEntry type="library" name="Maven: org.jboss.cl:jboss-classloading:2.0.8.GA" level="project" />
+ <orderEntry type="library" name="Maven: org.jboss.kernel:jboss-kernel:2.2.0.Alpha2" level="project" />
+ <orderEntry type="library" name="Maven: org.jboss.kernel:jboss-dependency:2.2.0.Alpha2" level="project" />
+ <orderEntry type="library" name="Maven: org.jboss.aop:jboss-aop:2.1.6.GA" level="project" />
+ <orderEntry type="library" name="Maven: org.jboss.kernel:jboss-aop-mc-int:2.2.0.Alpha2" level="project" />
+ <orderEntry type="library" name="Maven: org.jboss.kernel:jboss-jmx-mc-int:2.2.0.Alpha2" level="project" />
+ <orderEntry type="library" name="Maven: org.hibernate:hibernate-entitymanager:3.5.0-Beta-3" level="project" />
+ <orderEntry type="library" name="Maven: org.hibernate:hibernate-core:3.5.0-Beta-3" level="project" />
+ <orderEntry type="library" name="Maven: org.hibernate:hibernate-annotations:3.5.0-Beta-3" level="project" />
+ <orderEntry type="library" exported="" name="Maven: org.jboss.resteasy:resteasy-jaxrs:2.0-beta-1" level="project" />
+ <orderEntry type="library" exported="" name="Maven: org.jboss.resteasy:jaxrs-api:2.0-beta-1" level="project" />
+ <orderEntry type="library" exported="" name="Maven: org.slf4j:slf4j-api:1.5.6" level="project" />
+ <orderEntry type="library" exported="" name="Maven: org.slf4j:slf4j-simple:1.5.8" level="project" />
+ <orderEntry type="library" exported="" name="Maven: org.slf4j:jcl-over-slf4j:1.5.6" level="project" />
+ <orderEntry type="library" exported="" name="Maven: org.scannotation:scannotation:1.0.2" level="project" />
+ <orderEntry type="library" exported="" name="Maven: javassist:javassist:3.11.0.GA" level="project" />
+ <orderEntry type="library" exported="" name="Maven: javax.annotation:jsr250-api:1.0" level="project" />
+ <orderEntry type="library" exported="" name="Maven: javax.activation:activation:1.1" level="project" />
+ <orderEntry type="library" exported="" name="Maven: commons-httpclient:commons-httpclient:3.1" level="project" />
+ <orderEntry type="library" exported="" name="Maven: commons-codec:commons-codec:1.3" level="project" />
+ <orderEntry type="library" exported="" name="Maven: org.apache.httpcomponents:httpclient:4.0" level="project" />
+ <orderEntry type="library" exported="" name="Maven: org.apache.httpcomponents:httpcore:4.0.1" level="project" />
+ <orderEntry type="library" exported="" name="Maven: net.jcip:jcip-annotations:1.0" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.jbossas:jboss-as-server:6.0.0-SNAPSHOT" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: jboss:jboss-serialization:1.0.3.GA" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: sun-jaxb:jaxb-api:2.2" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.jbossas:jboss-as-deployment:6.0.0-SNAPSHOT" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.javaee:jboss-jad-api:1.2.0.GA" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss:jboss-common-core:2.2.17.GA" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.logging:jboss-logging-spi:2.2.0.CR1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.remoting:jboss-remoting:2.5.2.SP2" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.security:jboss-security-spi:2.1.0.20091223" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.security:jbosssx-client:2.1.0.20091223" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: log4j:log4j:1.2.14" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.metadata:jboss-metadata-common:2.0.0-alpha-10" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.javaee:jboss-ejb-api:3.0.0.GA_SP1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.javaee:jboss-transaction-api:1.0.1.GA" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.ws.native:jbossws-native-jaxrpc:3.0.4.GA" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.ws.native:jbossws-native-saaj:3.0.4.GA" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.javaee:jboss-jms-api:1.1.0.GA" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.ws:jbossws-spi:1.3.0.Beta2" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.apache.ant:ant:1.7.1" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.apache.ant:ant-launcher:1.7.1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: dom4j:dom4j:1.6.1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: gnu-getopt:getopt:1.0.12-brew" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: jboss.jbossws:jboss-jaxws:3.0.1-native-2.0.4.GA" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss:jbossxb:2.0.2.Beta3" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss:jboss-reflect:2.2.0.Alpha2" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: apache-xerces:xml-apis:2.9.1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss:jboss-vfs:2.2.0.Alpha2" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss:jboss-mdr:2.2.0.Alpha1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.metadata:jboss-metadata-client:2.0.0.Alpha" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.metadata:jboss-metadata-ear:2.0.0.Alpha" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.metadata:jboss-metadata-ejb:2.0.0-alpha-5" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.javaee:jboss-ejb-api_3.1:1.0-alpha-1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.javaee:jboss-transaction-api_1.0:1.0-alpha-1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.ejb3:jboss-ejb3-ext-api:1.0.0" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.metadata:jboss-metadata-rar:2.0.0.Alpha" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.metadata:jboss-metadata-war:2.0.0.Alpha13" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: jboss.web:servlet-api:3.0.0-beta-2" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.integration:jboss-transaction-spi:6.0.0-Alpha8" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.javaee:jboss-jca-api:1.5.0.GA" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.javaee:jboss-jacc-api:1.1.0.GA_SP1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.hibernate.java-persistence:jpa-api:2.0-cr-1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.mx:jboss-j2se:6.0.0.Beta5" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.integration:jboss-classloading-spi:6.0.0-Alpha8" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.naming:jnp-client:5.0.4.GA" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.jbossas:jboss-as-security:6.0.0-SNAPSHOT" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.security:jbosssx:2.1.0.20091223" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.jbossas:jboss-as-system-jmx:6.0.0-SNAPSHOT" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.deployers:jboss-deployers-core-spi:2.2.0.Alpha1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.deployers:jboss-deployers-impl:2.2.0.Alpha1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.deployers:jboss-deployers-spi:2.2.0.Alpha1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.deployers:jboss-deployers-structure-spi:2.2.0.Alpha1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.deployers:jboss-deployers-client-spi:2.2.0.Alpha1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.man:jboss-managed:2.1.1.SP1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.man:jboss-metatype:2.1.1.SP1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.mcann:mcann-core:1.0.0.Alpha1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.cl:jboss-classloading-vfs:2.2.0.Alpha1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.cl:jboss-classloader:2.2.0.Alpha1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.cl:jboss-classloading:2.2.0.Alpha1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.kernel:jboss-kernel:2.2.0.Alpha5" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.kernel:jboss-dependency:2.2.0.Alpha5" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: javax.inject:javax.inject:1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.deployers:jboss-deployers-vfs:2.2.0.Alpha1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.deployers:jboss-deployers-vfs-spi:2.2.0.Alpha1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: stax:stax-api:1.0" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.deployers:jboss-deployers-core:2.2.0.Alpha1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.deployers:jboss-deployers-client:2.2.0.Alpha1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.bootstrap:jboss-bootstrap-spi-as:2.0.0-alpha-4" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.bootstrap:jboss-bootstrap-spi-mc:2.0.0-alpha-2" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.bootstrap:jboss-bootstrap-spi:2.0.0-alpha-3" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.bootstrap:jboss-bootstrap-api:2.0.0-alpha-2" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.bootstrap:jboss-bootstrap-api-mc:2.0.0-alpha-1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.bootstrap:jboss-bootstrap-api-as:2.0.0-alpha-2" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.jbossas:jboss-as-system:6.0.0-SNAPSHOT" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.aop:jboss-aop:2.1.8.GA" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: qdox:qdox:1.6.1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: trove:trove:1.0.2" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.jboss.logging:jboss-logging-log4j:2.2.0.CR1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.integration:jboss-profileservice-spi:6.0.0-Alpha8" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.kernel:jboss-aop-mc-int:2.2.0.Alpha5" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.mx:jboss-jmx:6.0.0.Beta5" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.mx:jboss-mbeans:6.0.0.Beta5" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.mx:jboss-jmx-annotations:6.0.0.Beta5" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: bcel:bcel:5.1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.kernel:jboss-jmx-mc-int:2.2.0.Alpha5" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.mx:jboss-mbeanserver:6.0.0.Beta5" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.deployers:jboss-deployers-jmx:2.2.0.Alpha1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.javaee:jboss-jaspi-api:1.0.0.GA" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.security:jbossxacml:2.0.4" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache:xmlsec:1.4.3" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: oswego-concurrent:concurrent:1.3.4-jboss-update1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.integration:jboss-deployment-spi:6.0.0-Alpha8" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.jpa:jboss-jpa-deployers:1.0.1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.hibernate:hibernate-entitymanager:3.5.0-Beta-4" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.hibernate:hibernate-core:3.5.0-Beta-4" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: antlr:antlr:2.7.6-brew" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: commons-collections:commons-collections:3.1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.hibernate:hibernate-annotations:3.5.0-Beta-4" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.hibernate:hibernate-commons-annotations:3.2.0.Beta1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.hibernate.javax.persistence:hibernate-jpa-2.0-api:1.0.0-CR-1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: cglib:cglib:2.1.3" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.jpa:jboss-jpa-impl:2.0.0" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: javax.validation:validation-api:1.0.0.GA" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.jpa:jboss-jpa-spi:1.0.0" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.reloaded:jboss-reloaded-naming:0.1.0-alpha-2" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.naming:jnpserver:5.0.4.GA" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.reloaded:jboss-reloaded-naming-deployers:0.1.0-alpha-2" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.interceptor:jboss-interceptor-api:1.1" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: javax.xml.soap:saaj-api:1.3" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: javax.xml.ws:jaxws-api:2.2" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.service.binding:jboss-service-binding-core:1.0.0.GA" level="project" />
+ <orderEntry type="library" scope="PROVIDED" name="Maven: org.jboss.service.binding:jboss-service-binding-mgmt:1.0.0.GA" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: junit:junit:3.8.2" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.jboss.test:jboss-test:1.1.5.GA" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.apache.ant:ant-junit:1.7.0" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: jboss.profiler.jvmti:jboss-profiler-jvmti:1.0.0.CR5" level="project" />
+ <orderEntry type="library" scope="TEST" name="Maven: org.jboss.jbossas:jboss-server-manager:1.0.3.GA" level="project" />
+ </component>
+</module>
+
Modified: trunk/resteasy-int/jar/pom.xml
===================================================================
--- trunk/resteasy-int/jar/pom.xml 2010-02-03 15:24:39 UTC (rev 100348)
+++ trunk/resteasy-int/jar/pom.xml 2010-02-03 15:25:16 UTC (rev 100349)
@@ -1,144 +1,144 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
- <parent>
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <parent>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-parent</artifactId>
+ <version>6.0.0-SNAPSHOT</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.jbossas</groupId>
- <artifactId>jboss-as-parent</artifactId>
- <version>6.0.0-SNAPSHOT</version>
- </parent>
-
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.jboss.jbossas</groupId>
- <artifactId>jboss-as-resteasy</artifactId>
- <packaging>jar</packaging>
- <name>JBoss Application Server Resteasy</name>
- <url>http://www.jboss.org/jbossas</url>
- <description>JBoss Application Server (resteasy module)</description>
-
- <build>
- <plugins>
-<plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
- </archive>
- </configuration>
-</plugin>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <version>2.0.1</version>
- <executions>
- <execution>
- <id>bundle-manifest</id>
- <phase>process-classes</phase>
- <goals>
- <goal>manifest</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
- <!-- Dependencies -->
- <dependencies>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-jaxrs</artifactId>
- <version>1.2.1.GA</version>
- <exclusions>
- <exclusion>
- <groupId>javax.xml.bind</groupId>
- <artifactId>jaxb-api</artifactId>
- </exclusion>
- <exclusion>
- <groupId>javax.xml.stream</groupId>
- <artifactId>stax-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
+ <artifactId>jboss-as-resteasy</artifactId>
+ <packaging>jar</packaging>
+ <name>JBoss Application Server Resteasy</name>
+ <url>http://www.jboss.org/jbossas</url>
+ <description>JBoss Application Server (resteasy module)</description>
- <dependency>
- <groupId>org.jboss.jbossas</groupId>
- <artifactId>jboss-as-server</artifactId>
- <scope>provided</scope>
- <exclusions>
- <exclusion>
- <groupId>javax.xml.bind</groupId>
- <artifactId>jaxb-api</artifactId>
- </exclusion>
- <exclusion>
- <groupId>javax.xml.stream</groupId>
- <artifactId>stax-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+ </archive>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>2.0.1</version>
+ <executions>
+ <execution>
+ <id>bundle-manifest</id>
+ <phase>process-classes</phase>
+ <goals>
+ <goal>manifest</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
- <dependency>
- <groupId>org.jboss.jbossas</groupId>
- <artifactId>jboss-as-system</artifactId>
- <scope>provided</scope>
- <exclusions>
- <exclusion>
- <groupId>javax.xml.bind</groupId>
- <artifactId>jaxb-api</artifactId>
- </exclusion>
- <exclusion>
- <groupId>javax.xml.stream</groupId>
- <artifactId>stax-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
+ <!-- Dependencies -->
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-jaxrs</artifactId>
+ <version>${version.org.jboss.resteasy}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>javax.xml.stream</groupId>
+ <artifactId>stax-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
- <!--
- <dependency>
- <groupId>org.jboss.jbossas</groupId>
- <artifactId>jboss-as-system-jmx</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.cl</groupId>
- <artifactId>jboss-classloading</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-vfs</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-reflect</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.microcontainer</groupId>
- <artifactId>jboss-dependency</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.microcontainer</groupId>
- <artifactId>jboss-kernel</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.metadata</groupId>
- <artifactId>jboss-metadata-common</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.deployers</groupId>
- <artifactId>jboss-deployers-vfs</artifactId>
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-server</artifactId>
+ <scope>provided</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>javax.xml.stream</groupId>
+ <artifactId>stax-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-system</artifactId>
+ <scope>provided</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>javax.xml.stream</groupId>
+ <artifactId>stax-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <!--
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-system-jmx</artifactId>
<scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.security</groupId>
- <artifactId>jboss-security-spi</artifactId>
- <scope>provided</scope>
- </dependency>
- -->
- </dependencies>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.cl</groupId>
+ <artifactId>jboss-classloading</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-vfs</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-reflect</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-dependency</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-kernel</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.metadata</groupId>
+ <artifactId>jboss-metadata-common</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.deployers</groupId>
+ <artifactId>jboss-deployers-vfs</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jboss-security-spi</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ -->
+ </dependencies>
</project>
Added: trunk/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyDeploymentData.java
===================================================================
--- trunk/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyDeploymentData.java (rev 0)
+++ trunk/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyDeploymentData.java 2010-02-03 15:25:16 UTC (rev 100349)
@@ -0,0 +1,93 @@
+package org.jboss.resteasy.integration.deployers;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+/**
+ * @author <a href="mailto:bill at burkecentral.com">Bill Burke</a>
+ * @version $Revision: 1 $
+ */
+public class ResteasyDeploymentData
+{
+ private boolean scanAll;
+ private boolean scanResources;
+ private boolean scanProviders;
+ private boolean createDispatcher;
+ private Set<String> resources = new LinkedHashSet<String>();
+ private Set<String> providers = new LinkedHashSet<String>();
+
+ public boolean shouldScan()
+ {
+ return scanAll || scanResources || scanProviders;
+ }
+
+ public boolean isScanAll()
+ {
+ return scanAll;
+ }
+
+ public void setScanAll(boolean scanAll)
+ {
+ if (scanAll)
+ {
+ scanResources = true;
+ scanProviders = true;
+ }
+ this.scanAll = scanAll;
+ }
+
+ public boolean isScanResources()
+ {
+ return scanResources;
+ }
+
+ public void setScanResources(boolean scanResources)
+ {
+ this.scanResources = scanResources;
+ }
+
+ public boolean isScanProviders()
+ {
+ return scanProviders;
+ }
+
+ public void setScanProviders(boolean scanProviders)
+ {
+ this.scanProviders = scanProviders;
+ }
+
+ public Set<String> getResources()
+ {
+ return resources;
+ }
+
+ public void setResources(Set<String> resources)
+ {
+ this.resources = resources;
+ }
+
+ public Set<String> getProviders()
+ {
+ return providers;
+ }
+
+ public void setProviders(Set<String> providers)
+ {
+ this.providers = providers;
+ }
+
+ /**
+ * A component layer wants a dispatcher created
+ */
+ public void createDispatcher()
+ {
+ this.createDispatcher = true;
+ }
+
+ public boolean shouldCreateDispatcher()
+ {
+ return createDispatcher || !resources.isEmpty() || !providers.isEmpty();
+ }
+
+
+}
Added: trunk/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyEjbDeployer.java
===================================================================
--- trunk/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyEjbDeployer.java (rev 0)
+++ trunk/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyEjbDeployer.java 2010-02-03 15:25:16 UTC (rev 100349)
@@ -0,0 +1,331 @@
+package org.jboss.resteasy.integration.deployers;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.DeploymentStages;
+import org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.ejb.deployers.MergedJBossMetaDataDeployer;
+import org.jboss.ejb3.annotation.LocalBinding;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.javaee.spec.ParamValueMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.resteasy.plugins.server.servlet.ResteasyContextParameters;
+import org.jboss.resteasy.util.GetRestful;
+
+import javax.ejb.EJBException;
+import javax.ejb.Local;
+import javax.ejb.LocalHome;
+import javax.ejb.Remote;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * @author <a href="mailto:bill at burkecentral.com">Bill Burke</a>
+ * @version $Revision: 1 $
+ */
+public class ResteasyEjbDeployer extends AbstractRealDeployer
+{
+ private static final Logger LOGGER = Logger.getLogger(ResteasyEjbDeployer.class);
+
+ public ResteasyEjbDeployer()
+ {
+ super();
+
+ addRequiredInput(JBossWebMetaData.class);
+ addRequiredInput(ResteasyDeploymentData.class);
+ addRequiredInput(MergedJBossMetaDataDeployer.EJB_MERGED_ATTACHMENT_NAME);
+ addOutput(JBossWebMetaData.class);
+ setStage(DeploymentStages.PRE_REAL); // TODO -- right stage?
+ }
+
+ protected void internalDeploy(DeploymentUnit du) throws DeploymentException
+ {
+ ResteasyDeploymentData resteasy = du.getAttachment(ResteasyDeploymentData.class);
+
+ /*
+ log.info("*******************");
+ log.info("*** Attachments ***");
+ log.info("*******************");
+ for (String attachment : du.getAttachments().keySet())
+ {
+ log.info(">>> " + attachment);
+ }
+
+ if (true) return;
+ */
+
+ // right now I only support resources
+ if (!resteasy.isScanResources()) return;
+
+ JBossWebMetaData webdata = du.getAttachment(JBossWebMetaData.class);
+ JBossMetaData ejbs = (JBossMetaData) du
+ .getAttachment(MergedJBossMetaDataDeployer.EJB_MERGED_ATTACHMENT_NAME);
+ ClassLoader loader = du.getClassLoader();
+ StringBuffer buf = null;
+ for (final JBossEnterpriseBeanMetaData ejb : ejbs.getEnterpriseBeans())
+ {
+ Class ejbClass = null;
+ try
+ {
+ ejbClass = loader.loadClass(ejb.getEjbClass());
+ }
+ catch (ClassNotFoundException e)
+ {
+ throw new RuntimeException(e);
+ }
+ if (!GetRestful.isRootResource(ejbClass)) continue;
+ String jndiName = getLocalJndiName(ejb, ejbClass);
+ log.info("Found JAX-RS EJB: " + ejbClass.getName() + " local jndi name: " + jndiName);
+ if (buf == null)
+ {
+ buf = new StringBuffer();
+ }
+ else
+ {
+ buf.append(",");
+ }
+ buf.append(jndiName).append(";").append(ejbClass.getName()).append(";").append("true");
+
+ // make sure its removed from list
+ resteasy.getResources().remove(ejbClass.getName());
+ }
+ if (buf != null)
+ {
+ resteasy.createDispatcher();
+ String paramValue = buf.toString();
+ ParamValueMetaData param = new ParamValueMetaData();
+ param.setParamName(ResteasyContextParameters.RESTEASY_JNDI_COMPONENT_RESOURCES);
+ param.setParamValue(paramValue);
+ List<ParamValueMetaData> params = webdata.getContextParams();
+ if (params == null)
+ {
+ params = new ArrayList<ParamValueMetaData>();
+ webdata.setContextParams(params);
+ }
+ params.add(param);
+ param = new ParamValueMetaData();
+ param.setParamName(ResteasyContextParameters.RESTEASY_UNWRAPPED_EXCEPTIONS);
+ param.setParamValue(EJBException.class.getName());
+ params.add(param);
+ }
+ }
+
+ private static String getLocalJndiName(JBossEnterpriseBeanMetaData ejb, Class<?> ejbClass)
+ {
+ // See if local binding is explicitly-defined
+ LocalBinding localBinding = ejbClass.getAnnotation(LocalBinding.class);
+
+ // If none specified
+ if (localBinding == null || (localBinding.jndiBinding() != null && localBinding.jndiBinding().trim().length() == 0))
+ {
+ String name = ejb.getLocalJndiName();
+ return name;
+ }
+ // Local Binding was explicitly-specified, use it
+ else
+ {
+ return localBinding.jndiBinding();
+ }
+ }
+
+
+ public static Set<Class<?>> getBusinessInterfaces(Class<?> beanClass)
+ {
+ // Obtain all business interfaces implemented by this bean class and its superclasses
+ return getBusinessInterfaces(beanClass, new HashSet<Class<?>>());
+ }
+
+ /**
+ * Resolve the potential business interfaces on an enterprise bean.
+ * Returns all interfaces implemented by this class and, optionally, its supers which
+ * are potentially a business interface.
+ * <p/>
+ * Note: for normal operation call container.getBusinessInterfaces().
+ *
+ * @param beanClass the EJB implementation class
+ * @param includeSupers Whether or not to include superclasses of the specified beanClass in this check
+ * @return a list of potential business interfaces
+ * @see org.jboss.ejb3.EJBContainer#getBusinessInterfaces()
+ */
+ public static Set<Class<?>> getBusinessInterfaces(Class<?> beanClass, boolean includeSupers)
+ {
+ // Obtain all business interfaces implemented by this bean class and optionally, its superclass
+ return getBusinessInterfaces(beanClass, new HashSet<Class<?>>(), includeSupers);
+ }
+
+ private static Set<Class<?>> getBusinessInterfaces(Class<?> beanClass, Set<Class<?>> interfaces)
+ {
+ return getBusinessInterfaces(beanClass, interfaces, true);
+ }
+
+ private static Set<Class<?>> getBusinessInterfaces(Class<?> beanClass, Set<Class<?>> interfaces,
+ boolean includeSupers)
+ {
+ /*
+ * 4.6.6:
+ * The following interfaces are excluded when determining whether the bean class has
+ * more than one interface: java.io.Serializable; java.io.Externalizable;
+ * any of the interfaces defined by the javax.ejb package.
+ */
+ for (Class<?> intf : beanClass.getInterfaces())
+ {
+ if (intf.equals(java.io.Externalizable.class))
+ continue;
+ if (intf.equals(java.io.Serializable.class))
+ continue;
+ if (intf.getName().startsWith("javax.ejb"))
+ continue;
+
+ // FIXME Other aop frameworks might add other interfaces, this should really be configurable
+ if (intf.getName().startsWith("org.jboss.aop"))
+ continue;
+
+ interfaces.add(intf);
+ }
+
+ // If there's no superclass, or we shouldn't check the superclass, return
+ if (!includeSupers || beanClass.getSuperclass() == null)
+ {
+ return interfaces;
+ }
+ else
+ {
+ // Include any superclasses' interfaces
+ return getBusinessInterfaces(beanClass.getSuperclass(), interfaces);
+ }
+ }
+
+
+ public static Class<?>[] getLocalInterfaces(Class<?> beanClass)
+ {
+ // Initialize
+ Set<Class<?>> localAndBusinessLocalInterfaces = new HashSet<Class<?>>();
+
+ // Obtain @Local
+ Local localAnnotation = beanClass.getAnnotation(Local.class);
+
+ // Obtain @LocalHome
+ LocalHome localHomeAnnotation = beanClass.getAnnotation(LocalHome.class);
+
+ // Obtain @Remote
+ Remote remoteAnnotation = beanClass.getAnnotation(Remote.class);
+
+ // Obtain Remote and Business Remote interfaces
+ //Class<?>[] remoteAndBusinessRemoteInterfaces = ProxyFactoryHelper.getRemoteAndBusinessRemoteInterfaces(container);
+
+ // Obtain all business interfaces from the bean class
+ Set<Class<?>> businessInterfacesImplementedByBeanClass = getBusinessInterfaces(beanClass);
+
+ // Obtain all business interfaces directly implemented by the bean class (not including supers)
+ Set<Class<?>> businessInterfacesDirectlyImplementedByBeanClass = getBusinessInterfaces(
+ beanClass, false);
+
+ // For each of the business interfaces implemented by the bean class
+ for (Class<?> clazz : businessInterfacesImplementedByBeanClass)
+ {
+ // If @Local is on the interface
+ if (clazz.isAnnotationPresent(Local.class))
+ {
+ // Add to the list of locals
+ localAndBusinessLocalInterfaces.add(clazz);
+ }
+ }
+
+ // EJBTHREE-1062
+ // EJB 3 Core Specification 4.6.6
+ // If bean class implements a single interface, that interface is assumed to be the
+ // business interface of the bean. This business interface will be a local interface unless the
+ // interface is designated as a remote business interface by use of the Remote
+ // annotation on the bean class or interface or by means of the deployment descriptor.
+ if (businessInterfacesDirectlyImplementedByBeanClass.size() == 1 && localAndBusinessLocalInterfaces.size() == 0)
+ {
+ // Obtain the implemented interface
+ Class<?> singleInterface = businessInterfacesDirectlyImplementedByBeanClass.iterator().next();
+
+ // If not explicitly marked as @Remote, and is a valid business interface
+ if (remoteAnnotation == null && singleInterface.getAnnotation(Remote.class) == null)
+ {
+ // Return the implemented interface, adding to the container
+ Class<?>[] returnValue = new Class[]
+ {singleInterface};
+ return returnValue;
+ }
+ }
+
+ // @Local was defined
+ if (localAnnotation != null)
+ {
+ // If @Local has no value or empty value
+ if (localAnnotation.value() == null || localAnnotation.value().length == 0)
+ {
+ // If @Local is defined with no value and there are no business interfaces
+ if (businessInterfacesImplementedByBeanClass.size() == 0)
+ {
+ return new Class<?>[]
+ {};
+ }
+ // If more than one business interface is directly implemented by the bean class
+ else if (businessInterfacesImplementedByBeanClass.size() > 1)
+ {
+ return new Class<?>[]
+ {};
+ }
+ // JIRA EJBTHREE-1062
+ // EJB 3 4.6.6
+ // If the bean class implements only one business interface, that
+ //interface is exposed as local business if not denoted as @Remote
+ else
+ {
+ // If not explicitly marked as @Remote
+ if (remoteAnnotation == null)
+ {
+ // Return the implemented interface and add to container
+ Class<?>[] returnValue = businessInterfacesImplementedByBeanClass.toArray(new Class<?>[]
+ {});
+ return returnValue;
+ }
+ }
+ }
+ // @Local has value
+ else
+ {
+ // For each of the interfaces in @Local.value
+ for (Class<?> clazz : localAnnotation.value())
+ {
+ // Add to the list of locals
+ localAndBusinessLocalInterfaces.add(clazz);
+ }
+
+ // For each of the business interfaces implemented by the bean class
+ for (Class<?> clazz : businessInterfacesImplementedByBeanClass)
+ {
+ // If @Local is on the interface
+ if (clazz.isAnnotationPresent(Local.class))
+ {
+ // Add to the list of locals
+ localAndBusinessLocalInterfaces.add(clazz);
+ }
+ }
+ }
+ }
+
+ // If local interfaces have been defined/discovered
+ if (localAndBusinessLocalInterfaces.size() > 0)
+ {
+ // Return local interfaces, first adding to the container
+ Class<?>[] rtn = localAndBusinessLocalInterfaces.toArray(new Class<?>[]
+ {});
+ return rtn;
+ }
+
+ // No local or business local interfaces discovered
+ return new Class<?>[]
+ {};
+ }
+
+
+}
\ No newline at end of file
Modified: trunk/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyIntegrationDeployer.java
===================================================================
--- trunk/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyIntegrationDeployer.java 2010-02-03 15:24:39 UTC (rev 100348)
+++ trunk/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyIntegrationDeployer.java 2010-02-03 15:25:16 UTC (rev 100349)
@@ -6,13 +6,12 @@
import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.logging.Logger;
import org.jboss.metadata.javaee.spec.ParamValueMetaData;
-import org.jboss.metadata.web.jboss.JBossServletMetaData;
import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.metadata.web.spec.ServletMappingMetaData;
-import org.jboss.metadata.web.spec.ServletMetaData;
-import org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher;
+import org.jboss.metadata.web.spec.FilterMappingMetaData;
+import org.jboss.metadata.web.spec.FilterMetaData;
+import org.jboss.metadata.web.spec.FiltersMetaData;
+import org.jboss.resteasy.plugins.server.servlet.FilterDispatcher;
import org.jboss.resteasy.plugins.server.servlet.ResteasyContextParameters;
-import org.jboss.resteasy.spi.ResteasyDeployment;
import java.util.ArrayList;
import java.util.List;
@@ -30,7 +29,7 @@
super();
addRequiredInput(JBossWebMetaData.class);
- addRequiredInput(ResteasyDeployment.class);
+ addRequiredInput(ResteasyDeploymentData.class);
addOutput(JBossWebMetaData.class);
setStage(DeploymentStages.PRE_REAL); // TODO -- right stage?
}
@@ -40,16 +39,16 @@
}
- protected void setInitParam(ServletMetaData servlet, String name, String value)
+ protected void setInitParam(FilterMetaData filter, String name, String value)
{
ParamValueMetaData param = new ParamValueMetaData();
param.setParamName(name);
param.setParamValue(value);
- List<ParamValueMetaData> params = servlet.getInitParam();
+ List<ParamValueMetaData> params = filter.getInitParam();
if (params == null)
{
params = new ArrayList<ParamValueMetaData>();
- servlet.setInitParam(params);
+ filter.setInitParam(params);
}
params.add(param);
@@ -57,23 +56,18 @@
protected void internalDeploy(DeploymentUnit du) throws DeploymentException
{
- if (du.isAttachmentPresent(ResteasyScannerDeployer.JAXRS_APPLICATION_CLASS_DEPLOYMENT))
- {
- // do not do this deployer if there is an application class a previous deployer will handle it
- return;
- }
-
JBossWebMetaData webdata = du.getAttachment(JBossWebMetaData.class);
- ResteasyDeployment resteasy = du.getAttachment(ResteasyDeployment.class);
+ ResteasyDeploymentData resteasy = du.getAttachment(ResteasyDeploymentData.class);
+ if (!resteasy.shouldCreateDispatcher()) return;
- JBossServletMetaData servlet = new JBossServletMetaData();
- servlet.setServletClass(HttpServletDispatcher.class.getName());
- servlet.setName("Resteasy");
+ FilterMetaData filter = new FilterMetaData();
+ filter.setFilterClass(FilterDispatcher.class.getName());
+ filter.setName("Resteasy");
- if (!resteasy.getResourceClasses().isEmpty())
+ if (!resteasy.getResources().isEmpty())
{
StringBuffer buf = null;
- for (String resource : resteasy.getResourceClasses())
+ for (String resource : resteasy.getResources())
{
if (buf == null)
{
@@ -84,14 +78,15 @@
{
buf.append(",").append(resource);
}
+ log.info("******** Adding RESOURCE CLASS: " + resource);
}
String resources = buf.toString();
- setInitParam(servlet, ResteasyContextParameters.RESTEASY_RESOURCES, resources);
+ setInitParam(filter, ResteasyContextParameters.RESTEASY_RESOURCES, resources);
}
- if (!resteasy.getProviderClasses().isEmpty())
+ if (!resteasy.getProviders().isEmpty())
{
StringBuffer buf = null;
- for (String provider : resteasy.getProviderClasses())
+ for (String provider : resteasy.getProviders())
{
if (buf == null)
{
@@ -103,20 +98,24 @@
buf.append(",").append(provider);
}
}
- setInitParam(servlet, ResteasyContextParameters.RESTEASY_PROVIDERS, buf.toString());
+ setInitParam(filter, ResteasyContextParameters.RESTEASY_PROVIDERS, buf.toString());
}
- ServletMappingMetaData mapping = new ServletMappingMetaData();
- mapping.setServletName("Resteasy");
+ FilterMappingMetaData mapping = new FilterMappingMetaData();
+ mapping.setFilterName("Resteasy");
List<String> patterns = new ArrayList<String>();
patterns.add("/*");
mapping.setUrlPatterns(patterns);
- webdata.getServlets().add(servlet);
- List<ServletMappingMetaData> mappings = webdata.getServletMappings();
+ if (webdata.getFilters() == null)
+ {
+ webdata.setFilters(new FiltersMetaData());
+ }
+ webdata.getFilters().add(filter);
+ List<FilterMappingMetaData> mappings = webdata.getFilterMappings();
if (mappings == null)
{
- mappings = new ArrayList<ServletMappingMetaData>();
- webdata.setServletMappings(mappings);
+ mappings = new ArrayList<FilterMappingMetaData>();
+ webdata.setFilterMappings(mappings);
}
mappings.add(mapping);
}
Modified: trunk/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyScannerDeployer.java
===================================================================
--- trunk/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyScannerDeployer.java 2010-02-03 15:24:39 UTC (rev 100348)
+++ trunk/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyScannerDeployer.java 2010-02-03 15:25:16 UTC (rev 100349)
@@ -9,15 +9,17 @@
import org.jboss.mcann.Element;
import org.jboss.metadata.javaee.spec.ParamValueMetaData;
import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.metadata.web.spec.FilterMetaData;
import org.jboss.metadata.web.spec.ServletMetaData;
import org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher;
+import org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrapClasses;
import org.jboss.resteasy.plugins.server.servlet.ResteasyContextParameters;
-import org.jboss.resteasy.spi.ResteasyDeployment;
import javax.ws.rs.Path;
import javax.ws.rs.core.Application;
import javax.ws.rs.ext.Provider;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -28,18 +30,24 @@
public class ResteasyScannerDeployer extends AbstractRealDeployer
{
private static final Logger LOGGER = Logger.getLogger(ResteasyScannerDeployer.class);
- public static final String JAXRS_APPLICATION_CLASS_DEPLOYMENT = ResteasyScannerDeployer.class.getName() + "-JAXRS_APPLICATION_CLASS_DEPLOYMENT";
+ public static final Set<String> BOOT_CLASSES = new HashSet<String>();
+ static
+ {
+ for (String clazz : ResteasyBootstrapClasses.BOOTSTRAP_CLASSES)
+ {
+ BOOT_CLASSES.add(clazz);
+ }
+ }
+
public ResteasyScannerDeployer()
{
super();
addRequiredInput(JBossWebMetaData.class);
addInput(AnnotationRepository.class);
- addInput(ResteasyDeployment.class);
addOutput(JBossWebMetaData.class);
- addOutput(JAXRS_APPLICATION_CLASS_DEPLOYMENT);
- addOutput(ResteasyDeployment.class);
+ addOutput(ResteasyDeploymentData.class);
setStage(DeploymentStages.PRE_REAL); // TODO -- right stage?
}
@@ -55,9 +63,41 @@
}
+ /**
+ * If any servlet/filter classes are declared, then we probably don't want to scan.
+ *
+ * @param du
+ * @param webdata
+ * @return
+ * @throws DeploymentException
+ */
+ protected boolean scannable(DeploymentUnit du, JBossWebMetaData webdata) throws DeploymentException
+ {
+ ClassLoader loader = du.getClassLoader();
+ if (webdata.getServlets() != null)
+ {
+ for (ServletMetaData servlet : webdata.getServlets())
+ {
+ String servletClass = servlet.getServletClass();
+ if (BOOT_CLASSES.contains(servletClass)) return false;
+ }
+ }
+ if (webdata.getFilters() != null)
+ {
+ for (FilterMetaData filter : webdata.getFilters())
+ {
+ if (BOOT_CLASSES.contains(filter.getFilterClass())) return false;
+ }
+ }
+ return true;
+
+ }
+
protected boolean deployApplicationClass(DeploymentUnit du, JBossWebMetaData webdata) throws DeploymentException
{
ClassLoader loader = du.getClassLoader();
+ if (webdata.getServlets() == null) return false;
+
for (ServletMetaData servlet : webdata.getServlets())
{
String servletClass = servlet.getServletClass();
@@ -73,7 +113,6 @@
}
if (Application.class.isAssignableFrom(clazz))
{
- du.addAttachment(JAXRS_APPLICATION_CLASS_DEPLOYMENT, servletClass);
servlet.setServletClass(HttpServletDispatcher.class.getName());
ParamValueMetaData param = new ParamValueMetaData();
param.setParamName("javax.ws.rs.Application");
@@ -95,34 +134,66 @@
protected void scan(DeploymentUnit du, JBossWebMetaData webdata)
throws DeploymentException
{
- boolean scanAll = true;
- boolean scanProviders = true;
- boolean scanResources = true;
+ ResteasyDeploymentData scanningData = new ResteasyDeploymentData();
+ // If there is a resteasy boot class in web.xml, then the default should not be to scan
+ if (scannable(du, webdata) && !webdata.isMetadataComplete())
+ {
+ scanningData.setScanAll(true);
+ scanningData.setScanProviders(true);
+ scanningData.setScanResources(true);
+ }
+
// check resteasy configuration flags
+
List<ParamValueMetaData> contextParams = webdata.getContextParams();
+ boolean hasResourceParam = false;
+ boolean hasProviderParam = false;
+ boolean hasJndiParam = false;
if (contextParams != null)
{
for (ParamValueMetaData param : contextParams)
{
if (param.getParamName().equals(ResteasyContextParameters.RESTEASY_SCAN))
{
- scanAll = Boolean.valueOf(param.getParamValue());
+ scanningData.setScanAll(Boolean.valueOf(param.getParamValue()));
}
else if (param.getParamName().equals(ResteasyContextParameters.RESTEASY_SCAN_PROVIDERS))
{
- scanProviders = Boolean.valueOf(param.getParamValue());
+ scanningData.setScanProviders(Boolean.valueOf(param.getParamValue()));
}
else if (param.getParamName().equals(ResteasyContextParameters.RESTEASY_SCAN_RESOURCES))
{
- scanResources = Boolean.valueOf(param.getParamValue());
+ scanningData.setScanResources(Boolean.valueOf(param.getParamValue()));
}
+ else if (param.getParamName().equals(ResteasyContextParameters.RESTEASY_RESOURCES))
+ {
+ hasResourceParam = true;
+ }
+ else if (param.getParamName().equals(ResteasyContextParameters.RESTEASY_PROVIDERS))
+ {
+ hasProviderParam = true;
+ }
+ else if (param.getParamName().equals(ResteasyContextParameters.RESTEASY_JNDI_RESOURCES))
+ {
+ hasJndiParam = true;
+ }
}
}
- if (scanAll == false) return;
+ if (!scanningData.shouldScan())
+ {
+ if (hasResourceParam || hasProviderParam || hasJndiParam)
+ {
+ scanningData.createDispatcher();
+ du.addAttachment(ResteasyDeploymentData.class, scanningData);
+ }
+ return;
+ }
+ du.addAttachment(ResteasyDeploymentData.class, scanningData);
+
AnnotationRepository env = du.getAttachment(AnnotationRepository.class);
if (env == null)
{
@@ -132,36 +203,31 @@
Set<Element<Path, Class<?>>> resources = null;
Set<Element<Provider, Class<?>>> providers = null;
- if (scanResources)
+ if (scanningData.isScanResources())
{
resources = env.classIsAnnotatedWith(Path.class);
}
- if (scanProviders)
+ if (scanningData.isScanProviders())
{
providers = env.classIsAnnotatedWith(Provider.class);
}
if ((resources == null || resources.isEmpty()) && (providers == null || providers.isEmpty())) return;
- ResteasyDeployment resteasy = du.getAttachment(ResteasyDeployment.class);
- if (resteasy == null)
- {
- resteasy = new ResteasyDeployment();
- du.addAttachment(ResteasyDeployment.class, resteasy);
- }
-
if (resources != null)
{
for (Element e : resources)
{
- resteasy.getResourceClasses().add(e.getOwnerClassName());
+ if (e.getOwner().isInterface()) continue;
+ scanningData.getResources().add(e.getOwnerClassName());
}
}
if (providers != null)
{
for (Element e : providers)
{
- resteasy.getProviderClasses().add(e.getOwnerClassName());
+ if (e.getOwner().isInterface()) continue;
+ scanningData.getResources().add(e.getOwnerClassName());
}
}
}
Modified: trunk/resteasy-int/test/application-war/pom.xml
===================================================================
--- trunk/resteasy-int/test/application-war/pom.xml 2010-02-03 15:24:39 UTC (rev 100348)
+++ trunk/resteasy-int/test/application-war/pom.xml 2010-02-03 15:25:16 UTC (rev 100349)
@@ -15,16 +15,10 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
- <version>1.2.1.GA</version>
+ <version>${version.org.jboss.resteasy}</version>
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>javax.ejb</groupId>
- <artifactId>ejb-api</artifactId>
- <version>3.0</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.1</version>
Added: trunk/resteasy-int/test/ejb-war/pom.xml
===================================================================
--- trunk/resteasy-int/test/ejb-war/pom.xml (rev 0)
+++ trunk/resteasy-int/test/ejb-war/pom.xml 2010-02-03 15:25:16 UTC (rev 100349)
@@ -0,0 +1,95 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-parent</artifactId>
+ <version>6.0.0-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jboss.jbossas.resteasy.test</groupId>
+ <artifactId>ejb-test</artifactId>
+ <packaging>war</packaging>
+ <name>Basic Integration Test</name>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-jaxrs</artifactId>
+ <version>${version.org.jboss.resteasy}}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-ejb-api_3.1</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <finalName>ejb-test</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>jboss-maven-plugin</artifactId>
+ <version>1.3.1</version>
+ <configuration>
+ <jbossHome>${jboss.home}</jbossHome>
+ </configuration>
+ <executions>
+ <execution>
+ <id>jboss-deploy</id>
+ <phase>pre-integration-test</phase>
+ <goals>
+ <goal>deploy</goal>
+ </goals>
+ <configuration>
+ <fileName>${basedir}/target/ejb-test.war</fileName>
+ </configuration>
+ </execution>
+ <execution>
+ <id>jboss-undeploy</id>
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>undeploy</goal>
+ </goals>
+ <configuration>
+ <fileName>${basedir}/target/ejb-test.war</fileName>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ <executions>
+ <execution>
+ <id>surefire-it</id>
+ <phase>integration-test</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <skip>false</skip>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Added: trunk/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResource.java
===================================================================
--- trunk/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResource.java (rev 0)
+++ trunk/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResource.java 2010-02-03 15:25:16 UTC (rev 100349)
@@ -0,0 +1,18 @@
+package org.jboss.resteasy.test;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Produces;
+
+/**
+ * @author <a href="mailto:bill at burkecentral.com">Bill Burke</a>
+ * @version $Revision: 1 $
+ */
+public interface MyResource
+{
+ @GET
+ @Produces("text/plain")
+ String get();
+
+ public String testException();
+
+}
Added: trunk/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResourceBean.java
===================================================================
--- trunk/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResourceBean.java (rev 0)
+++ trunk/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResourceBean.java 2010-02-03 15:25:16 UTC (rev 100349)
@@ -0,0 +1,42 @@
+package org.jboss.resteasy.test;
+
+import javax.ws.rs.Path;
+import javax.ws.rs.GET;
+import javax.ws.rs.Produces;
+import javax.ws.rs.WebApplicationException;
+import javax.ejb.Stateless;
+import javax.ejb.EJBContext;
+import javax.annotation.Resource;
+
+/**
+ * @author <a href="mailto:bill at burkecentral.com">Bill Burke</a>
+ * @version $Revision: 1 $
+ */
+ at Path("/scan")
+ at Stateless
+public class MyResourceBean implements MyResource
+{
+ @Resource
+ private EJBContext ctx;
+
+ @GET
+ @Produces("text/plain")
+ public String get()
+ {
+ if (ctx == null)
+ {
+ System.out.println("NO CONTEXT!!!!!");
+ throw new WebApplicationException(500);
+ }
+ System.out.println("CONTEXT WAS THERE!");
+ return "hello world";
+ }
+
+ @GET
+ @Produces("text/plain")
+ @Path("exception")
+ public String testException()
+ {
+ throw new WebApplicationException(412);
+ }
+}
Added: trunk/resteasy-int/test/ejb-war/src/main/webapp/WEB-INF/web.xml
===================================================================
--- trunk/resteasy-int/test/ejb-war/src/main/webapp/WEB-INF/web.xml (rev 0)
+++ trunk/resteasy-int/test/ejb-war/src/main/webapp/WEB-INF/web.xml 2010-02-03 15:25:16 UTC (rev 100349)
@@ -0,0 +1,4 @@
+<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
+</web-app>
Added: trunk/resteasy-int/test/ejb-war/src/main/webapp/index.jsp
===================================================================
--- trunk/resteasy-int/test/ejb-war/src/main/webapp/index.jsp (rev 0)
+++ trunk/resteasy-int/test/ejb-war/src/main/webapp/index.jsp 2010-02-03 15:25:16 UTC (rev 100349)
@@ -0,0 +1,5 @@
+<html>
+<body>
+<h2>Hello World!</h2>
+</body>
+</html>
Added: trunk/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test/jboss/EjbTest.java
===================================================================
--- trunk/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test/jboss/EjbTest.java (rev 0)
+++ trunk/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test/jboss/EjbTest.java 2010-02-03 15:25:16 UTC (rev 100349)
@@ -0,0 +1,31 @@
+package org.jboss.resteasy.test.jboss;
+
+import org.jboss.resteasy.client.ClientRequest;
+import org.jboss.resteasy.client.ClientResponse;
+import org.junit.Test;
+import org.junit.Assert;
+
+/**
+ * @author <a href="mailto:bill at burkecentral.com">Bill Burke</a>
+ * @version $Revision: 1 $
+ */
+public class EjbTest
+{
+ @Test
+ public void testIt() throws Exception
+ {
+ ClientRequest request = new ClientRequest("http://localhost:8080/ejb-test/scan");
+ ClientResponse<String> response = request.get(String.class);
+ Assert.assertEquals(200, response.getStatus());
+ Assert.assertEquals("hello world", response.getEntity());
+
+ }
+
+ @Test
+ public void testException() throws Exception
+ {
+ ClientRequest request = new ClientRequest("http://localhost:8080/ejb-test/scan/exception");
+ ClientResponse<String> response = request.get(String.class);
+ Assert.assertEquals(412, response.getStatus());
+
+ }}
Added: trunk/resteasy-int/test/ejb-war/src/test/resources/jndi.properties
===================================================================
--- trunk/resteasy-int/test/ejb-war/src/test/resources/jndi.properties (rev 0)
+++ trunk/resteasy-int/test/ejb-war/src/test/resources/jndi.properties 2010-02-03 15:25:16 UTC (rev 100349)
@@ -0,0 +1,3 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
+java.naming.provider.url=jnp://localhost:1099
\ No newline at end of file
Added: trunk/resteasy-int/test/ejb-war/src/test/resources/log4j.xml
===================================================================
--- trunk/resteasy-int/test/ejb-war/src/test/resources/log4j.xml (rev 0)
+++ trunk/resteasy-int/test/ejb-war/src/test/resources/log4j.xml 2010-02-03 15:25:16 UTC (rev 100349)
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!-- -->
+<!-- Log4j Configuration -->
+<!-- -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml 64736 2007-08-21 15:49:48Z anil.saldhana at jboss.com $ -->
+
+<!--
+ | For more configuration infromation and examples see the Jakarta Log4j
+ | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+ <!-- ================================= -->
+ <!-- Preserve messages in a local file -->
+ <!-- ================================= -->
+
+ <!-- A time/date based rolling appender -->
+ <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
+ <param name="File" value="${build.testlog}/test.log"/>
+ <param name="Append" value="true"/>
+
+ <!-- Rollover at midnight each day -->
+ <param name="DatePattern" value="'.'yyyy-MM-dd"/>
+
+ <!-- Rollover at the top of each hour
+ <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
+ -->
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <!-- The default pattern: Date Priority [Category] Message\n -->
+ <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
+
+ <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
+ <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
+ -->
+ </layout>
+ </appender>
+
+ <!-- ============================== -->
+ <!-- Append messages to the console -->
+ <!-- ============================== -->
+
+ <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+ <param name="Threshold" value="DEBUG"/>
+ <param name="Target" value="System.out"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <!-- The default pattern: Date Priority [Category] Message\n -->
+ <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
+ </layout>
+ </appender>
+
+
+ <!-- ======================= -->
+ <!-- Setup the Root category -->
+ <!-- ======================= -->
+
+ <root>
+ <appender-ref ref="CONSOLE"/>
+ </root>
+
+</log4j:configuration>
Modified: trunk/resteasy-int/test/pom.xml
===================================================================
--- trunk/resteasy-int/test/pom.xml 2010-02-03 15:24:39 UTC (rev 100348)
+++ trunk/resteasy-int/test/pom.xml 2010-02-03 15:25:16 UTC (rev 100349)
@@ -15,5 +15,6 @@
<modules>
<module>application-war</module>
<module>scanned-war</module>
+ <module>ejb-war</module>
</modules>
</project>
Modified: trunk/resteasy-int/test/scanned-war/pom.xml
===================================================================
--- trunk/resteasy-int/test/scanned-war/pom.xml 2010-02-03 15:24:39 UTC (rev 100348)
+++ trunk/resteasy-int/test/scanned-war/pom.xml 2010-02-03 15:25:16 UTC (rev 100349)
@@ -11,20 +11,6 @@
<packaging>war</packaging>
<name>Basic Integration Test</name>
<url>http://maven.apache.org</url>
- <dependencies>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-jaxrs</artifactId>
- <version>1.2.1.GA</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
<build>
<finalName>scanned-test</finalName>
<plugins>
@@ -87,4 +73,18 @@
</plugin>
</plugins>
</build>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-jaxrs</artifactId>
+ <version>${version.org.jboss.resteasy}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
</project>
Modified: trunk/resteasy-int/zip/assembly.xml
===================================================================
--- trunk/resteasy-int/zip/assembly.xml 2010-02-03 15:24:39 UTC (rev 100348)
+++ trunk/resteasy-int/zip/assembly.xml 2010-02-03 15:25:16 UTC (rev 100349)
@@ -11,6 +11,7 @@
<directory></directory>
<includes>
<include>resteasy-jboss-beans.xml</include>
+ <include>resteasy-ejb-jboss-beans.xml</include>
</includes>
<outputDirectory>resteasy.deployer/META-INF</outputDirectory>
</fileSet>
@@ -21,6 +22,14 @@
<useTransitiveFiltering>true</useTransitiveFiltering>
<includes>
<include>org.jboss.jbossas:jboss-as-resteasy</include>
+ <include>org.jboss.resteasy:resteasy-jaxrs</include>
+ <include>org.jboss.resteasy:jaxrs-api</include>
+ <include>org.jboss.resteasy:resteasy-jaxb-provider</include>
+ <include>org.jboss.resteasy:resteasy-jettison-provider</include>
+ <include>org.jboss.resteasy:resteasy-atom-provider</include>
+ <include>org.jboss.resteasy:resteasy-multipart-provider</include>
+ <include>org.jboss.resteasy:resteasy-jackson-provider</include>
+ <include>org.jboss.resteasy:resteasy-yaml-provider</include>
</includes>
<outputDirectory>resteasy.deployer</outputDirectory>
</dependencySet>
Modified: trunk/resteasy-int/zip/pom.xml
===================================================================
--- trunk/resteasy-int/zip/pom.xml 2010-02-03 15:24:39 UTC (rev 100348)
+++ trunk/resteasy-int/zip/pom.xml 2010-02-03 15:25:16 UTC (rev 100349)
@@ -42,7 +42,73 @@
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>jaxrs-api</artifactId>
+ <version>${version.org.jboss.resteasy}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-atom-provider</artifactId>
+ <version>${version.org.jboss.resteasy}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>javax.xml.stream</groupId>
+ <artifactId>stax-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-guice</artifactId>
+ <version>${version.org.jboss.resteasy}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-jaxb-provider</artifactId>
+ <version>${version.org.jboss.resteasy}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>javax.xml.stream</groupId>
+ <artifactId>stax-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-jettison-provider</artifactId>
+ <version>${version.org.jboss.resteasy}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-jackson-provider</artifactId>
+ <version>${version.org.jboss.resteasy}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-multipart-provider</artifactId>
+ <version>${version.org.jboss.resteasy}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-spring</artifactId>
+ <version>${version.org.jboss.resteasy}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-yaml-provider</artifactId>
+ <version>${version.org.jboss.resteasy}</version>
+ </dependency>
+
</dependencies>
<build>
@@ -68,7 +134,7 @@
target/assembly/work
</workDirectory>
<finalName>
- resteasy-int-${project.version}
+ resteasy-int
</finalName>
</configuration>
</execution>
Added: trunk/resteasy-int/zip/resteasy-ejb-jboss-beans.xml
===================================================================
--- trunk/resteasy-int/zip/resteasy-ejb-jboss-beans.xml (rev 0)
+++ trunk/resteasy-int/zip/resteasy-ejb-jboss-beans.xml 2010-02-03 15:25:16 UTC (rev 100349)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+ <bean name="ResteasyEjbDeployer" class="org.jboss.resteasy.integration.deployers.ResteasyEjbDeployer"/>
+</deployment>
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list