[jboss-cvs] JBossAS SVN: r69088 - in branches/Branch_4_2: webservices/src/main/org/jboss/wsf/container/jboss42 and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Jan 17 16:01:41 EST 2008
Author: heiko.braun at jboss.com
Date: 2008-01-17 16:01:41 -0500 (Thu, 17 Jan 2008)
New Revision: 69088
Modified:
branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java
branches/Branch_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/EJBArchiveMetaDataAdapterEJB3.java
Log:
JBAS-5149: 'webservices' meta data (jboss.xml) not available for ejb3 web service endpoints
Modified: branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java
===================================================================
--- branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java 2008-01-17 20:34:44 UTC (rev 69087)
+++ branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java 2008-01-17 21:01:41 UTC (rev 69088)
@@ -136,28 +136,7 @@
import org.jboss.ejb3.mdb.MDB;
import org.jboss.ejb3.mdb.ProducerImpl;
import org.jboss.ejb3.mdb.ProducersImpl;
-import org.jboss.ejb3.metamodel.ActivationConfig;
-import org.jboss.ejb3.metamodel.AssemblyDescriptor;
-import org.jboss.ejb3.metamodel.CacheConfig;
-import org.jboss.ejb3.metamodel.ClusterConfig;
-import org.jboss.ejb3.metamodel.ContainerTransaction;
-import org.jboss.ejb3.metamodel.EjbJarDD;
-import org.jboss.ejb3.metamodel.EnterpriseBean;
-import org.jboss.ejb3.metamodel.EnterpriseBeans;
-import org.jboss.ejb3.metamodel.ExcludeList;
-import org.jboss.ejb3.metamodel.InitMethod;
-import org.jboss.ejb3.metamodel.InterceptorBinding;
-import org.jboss.ejb3.metamodel.MessageDestination;
-import org.jboss.ejb3.metamodel.MessageDrivenBean;
-import org.jboss.ejb3.metamodel.MessageDrivenDestination;
-import org.jboss.ejb3.metamodel.Method;
-import org.jboss.ejb3.metamodel.MethodAttributes;
-import org.jboss.ejb3.metamodel.MethodPermission;
-import org.jboss.ejb3.metamodel.PoolConfig;
-import org.jboss.ejb3.metamodel.RemoveMethod;
-import org.jboss.ejb3.metamodel.SecurityIdentity;
-import org.jboss.ejb3.metamodel.SessionEnterpriseBean;
-import org.jboss.ejb3.metamodel.XmlAnnotation;
+import org.jboss.ejb3.metamodel.*;
import org.jboss.ejb3.service.ServiceContainer;
import org.jboss.ejb3.stateful.StatefulContainer;
import org.jboss.logging.Logger;
@@ -167,6 +146,8 @@
import org.jboss.metamodel.descriptor.ResourceRef;
import org.jboss.metamodel.descriptor.RunAs;
import org.jboss.metamodel.descriptor.SecurityRole;
+import org.jboss.wsf.spi.annotation.WebContextImpl;
+import org.jboss.wsf.spi.annotation.WebContext;
/**
* @version <tt>$Revision$</tt>
@@ -722,8 +703,25 @@
addEjbAnnotations(container, enterpriseBean);
addEjb21Annotations(container, isStateful);
+
+ addWebServiceAnnotations(container, enterpriseBean, ejbName);
}
+ private void addWebServiceAnnotations(EJBContainer container, EnterpriseBean enterpriseBean, String ejbName)
+ {
+ if(dd.getWebservices()!=null)
+ {
+ Webservices webservices = dd.getWebservices();
+ if(webservices.getContextRoot()!=null)
+ {
+ WebContextImpl webContextImpl = new WebContextImpl();
+ webContextImpl.setContextRoot(webservices.getContextRoot());
+
+ addClassAnnotation(container, WebContext.class, webContextImpl);
+ }
+ }
+ }
+
/**
* EJB3 4.3.5
* On a 2.1 session bean the ejbRemove is treated as PreDestroy, ejbActivate as PostActivate,
Modified: branches/Branch_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/EJBArchiveMetaDataAdapterEJB3.java
===================================================================
--- branches/Branch_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/EJBArchiveMetaDataAdapterEJB3.java 2008-01-17 20:34:44 UTC (rev 69087)
+++ branches/Branch_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/EJBArchiveMetaDataAdapterEJB3.java 2008-01-17 21:01:41 UTC (rev 69088)
@@ -30,6 +30,8 @@
import javax.management.ObjectName;
import org.jboss.ejb3.Ejb3ModuleMBean;
+import org.jboss.ejb3.EJBContainer;
+import org.jboss.ejb3.metamodel.EnterpriseBean;
import org.jboss.ejb3.mdb.MessagingContainer;
import org.jboss.ejb3.stateless.StatelessContainer;
import org.jboss.logging.Logger;
@@ -43,6 +45,7 @@
import org.jboss.wsf.spi.metadata.j2ee.EJBMetaData;
import org.jboss.wsf.spi.metadata.j2ee.MDBMetaData;
import org.jboss.wsf.spi.metadata.j2ee.SLSBMetaData;
+import org.jboss.wsf.spi.annotation.WebContext;
/**
* Build container independent application meta data
@@ -66,6 +69,8 @@
// jboss.j2ee:service=EJB3,module=some-ejb3.jar
if (oname != null && oname.getDomain().equals("jboss.j2ee") && "EJB3".equals(oname.getKeyProperty("service")))
{
+ appMetaData = new EJBArchiveMetaData();
+
Ejb3ModuleMBean ejb3Module = getEJB3Module(oname);
ArrayList<EJBMetaData> beans = new ArrayList<EJBMetaData>();
@@ -78,6 +83,8 @@
usmd.setEjbName(slc.getEjbName());
usmd.setEjbClass(slc.getBeanClassName());
beans.add(usmd);
+
+ buildWebServiceMetaData(appMetaData, slc);
}
else if (container instanceof MessagingContainer)
{
@@ -96,15 +103,25 @@
}
}
beans.add(umdb);
+
+ buildWebServiceMetaData(appMetaData, mdb);
}
}
- appMetaData = new EJBArchiveMetaData();
appMetaData.setEnterpriseBeans(beans);
}
return appMetaData;
}
+ private void buildWebServiceMetaData(EJBArchiveMetaData appMetaData, EJBContainer container)
+ {
+ WebContext webContext = (WebContext)container.resolveAnnotation(WebContext.class);
+ if(webContext!=null)
+ {
+ appMetaData.setWebServiceContextRoot(webContext.contextRoot());
+ }
+ }
+
static Ejb3ModuleMBean getEJB3Module(ObjectName objectName)
{
Ejb3ModuleMBean ejb3Module;
More information about the jboss-cvs-commits
mailing list