[jboss-cvs] JBossAS SVN: r59686 - in trunk: ejb3/src/main/org/jboss/ejb3 and 7 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Jan 17 09:49:21 EST 2007
Author: thomas.diesler at jboss.com
Date: 2007-01-17 09:49:21 -0500 (Wed, 17 Jan 2007)
New Revision: 59686
Added:
trunk/ejb3/src/main/org/jboss/ejb3/DeployableContainer.java
trunk/ejb3/src/main/org/jboss/ejb3/DeploymentUnit.java
Removed:
trunk/ejb3/src/main/org/jboss/ejb3/DeploymentUnit.java
Modified:
trunk/ejb3/.classpath
trunk/ejb3/src/main/org/jboss/ejb3/EJBContainer.java
trunk/ejb3/src/main/org/jboss/ejb3/Ejb3Deployment.java
trunk/ejb3/src/main/org/jboss/ejb3/JmxDeploymentUnit.java
trunk/ejb3/src/main/org/jboss/ejb3/client/ClientContainer.java
trunk/ejb3/src/main/org/jboss/ejb3/clientmodule/ClientENCInjectionContainer.java
trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBoss5DeploymentUnit.java
trunk/ejb3/src/main/org/jboss/ejb3/embedded/EJB3StandaloneDeployer.java
trunk/ejb3/src/main/org/jboss/injection/InjectionContainer.java
trunk/ejb3/src/main/org/jboss/injection/WebServiceRefHandler.java
trunk/ejb3/src/main/org/jboss/injection/WebServiceRefInjector.java
trunk/server/src/main/org/jboss/metamodel/descriptor/ServiceRef.java
trunk/tomcat/src/main/org/jboss/web/tomcat/tc6/TomcatInjectionContainer.java
Log:
Fix <wsdl-location> override for @WebServiceRef injection
Remove ejb3 dependency on jbossws
Modified: trunk/ejb3/.classpath
===================================================================
--- trunk/ejb3/.classpath 2007-01-17 13:56:30 UTC (rev 59685)
+++ trunk/ejb3/.classpath 2007-01-17 14:49:21 UTC (rev 59686)
@@ -2,7 +2,6 @@
<classpath>
<classpathentry kind="src" path="src/main"/>
<classpathentry kind="src" path="docs/tutorial/ssl/src"/>
- <classpathentry excluding="org/jboss/ejb3/test/clusteredentity/|org/jboss/ejb3/test/clusteredsession/" kind="src" output="output/eclipse-test-classes" path="src/test"/>
<classpathentry kind="src" path="docs/embedded-tutorial/advanced-deployment/archive/src"/>
<classpathentry kind="src" path="docs/embedded-tutorial/advanced-deployment/archive-by-resource/src"/>
<classpathentry kind="src" path="docs/embedded-tutorial/advanced-deployment/deploy-dir/src"/>
@@ -80,7 +79,6 @@
<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-dependency.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-microcontainer.jar"/>
<classpathentry kind="lib" path="/thirdparty/quartz/lib/quartz-all-1.5.2.jar"/>
- <classpathentry kind="lib" path="/thirdparty/jboss/jbossws/lib/jbossws-client.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss/jbossws/lib/jboss-jaxrpc.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/connector"/>
<classpathentry kind="lib" path="/thirdparty/jboss/jbossxb/lib/jboss-xml-binding.jar"/>
Added: trunk/ejb3/src/main/org/jboss/ejb3/DeployableContainer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/DeployableContainer.java (rev 0)
+++ trunk/ejb3/src/main/org/jboss/ejb3/DeployableContainer.java 2007-01-17 14:49:21 UTC (rev 59686)
@@ -0,0 +1,35 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3;
+
+// $Id$
+
+/**
+ * Interface implemented by Containers that were created through deployment.
+ *
+ * @author Thomas.Diesler at jboss.com
+ * @version $Revision$
+ */
+public interface DeployableContainer
+{
+ DeploymentUnit getDeploymentUnit();
+}
Property changes on: trunk/ejb3/src/main/org/jboss/ejb3/DeployableContainer.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Deleted: trunk/ejb3/src/main/org/jboss/ejb3/DeploymentUnit.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/DeploymentUnit.java 2007-01-17 13:56:30 UTC (rev 59685)
+++ trunk/ejb3/src/main/org/jboss/ejb3/DeploymentUnit.java 2007-01-17 14:49:21 UTC (rev 59686)
@@ -1,67 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.ejb3;
-
-import java.net.URL;
-import java.util.List;
-import java.util.Map;
-import java.util.Hashtable;
-import org.jboss.ejb3.interceptor.InterceptorInfoRepository;
-import org.jboss.virtual.VirtualFile;
-import org.jboss.virtual.VirtualFileFilter;
-
-/**
- * Comment
- *
- * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
- * @version $Revision$
- */
-public interface DeploymentUnit
-{
- ClassLoader getClassLoader();
-
- ClassLoader getResourceLoader();
-
- String getShortName();
-
- List<VirtualFile> getResources(VirtualFileFilter filter);
-
- URL getUrl();
-
- URL getPersistenceXml();
-
- URL getEjbJarXml();
-
- URL getJbossXml();
-
- List<Class> getClasses();
-
- String getDefaultEntityManagerName();
-
- Map getDefaultPersistenceProperties();
-
- Hashtable getJndiProperties();
-
- InterceptorInfoRepository getInterceptorInfoRepository();
-
- URL getRelativeURL(String path);
-}
Added: trunk/ejb3/src/main/org/jboss/ejb3/DeploymentUnit.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/DeploymentUnit.java (rev 0)
+++ trunk/ejb3/src/main/org/jboss/ejb3/DeploymentUnit.java 2007-01-17 14:49:21 UTC (rev 59686)
@@ -0,0 +1,69 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3;
+
+import java.net.URL;
+import java.util.List;
+import java.util.Map;
+import java.util.Hashtable;
+import org.jboss.ejb3.interceptor.InterceptorInfoRepository;
+import org.jboss.virtual.VirtualFile;
+import org.jboss.virtual.VirtualFileFilter;
+
+/**
+ * Comment
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision$
+ */
+public interface DeploymentUnit
+{
+ ClassLoader getClassLoader();
+
+ ClassLoader getResourceLoader();
+
+ String getShortName();
+
+ List<VirtualFile> getResources(VirtualFileFilter filter);
+
+ URL getUrl();
+
+ URL getPersistenceXml();
+
+ URL getEjbJarXml();
+
+ URL getJbossXml();
+
+ List<Class> getClasses();
+
+ String getDefaultEntityManagerName();
+
+ Map getDefaultPersistenceProperties();
+
+ Hashtable getJndiProperties();
+
+ InterceptorInfoRepository getInterceptorInfoRepository();
+
+ URL getRelativeURL(String path);
+
+ VirtualFile getMetaDataFile(String string);
+}
Property changes on: trunk/ejb3/src/main/org/jboss/ejb3/DeploymentUnit.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: trunk/ejb3/src/main/org/jboss/ejb3/EJBContainer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/EJBContainer.java 2007-01-17 13:56:30 UTC (rev 59685)
+++ trunk/ejb3/src/main/org/jboss/ejb3/EJBContainer.java 2007-01-17 14:49:21 UTC (rev 59686)
@@ -21,6 +21,35 @@
*/
package org.jboss.ejb3;
+import java.lang.annotation.Annotation;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.reflect.AccessibleObject;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Hashtable;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import javax.ejb.Local;
+import javax.ejb.Remote;
+import javax.ejb.Timeout;
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NameNotFoundException;
+import javax.naming.NamingException;
+
import org.jboss.annotation.ejb.PoolClass;
import org.jboss.aop.AspectManager;
import org.jboss.aop.ClassContainer;
@@ -52,44 +81,14 @@
import org.jboss.logging.Logger;
import org.jboss.metamodel.descriptor.EnvironmentRefGroup;
import org.jboss.naming.Util;
-import org.jboss.naming.ENCFactory;
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import javax.ejb.Local;
-import javax.ejb.Remote;
-import javax.ejb.Timeout;
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NameNotFoundException;
-import javax.naming.NamingException;
-
-import java.lang.annotation.Annotation;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.reflect.AccessibleObject;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-
/**
* Comment
*
* @author <a href="mailto:bill at jboss.org">Bill Burke</a>
* @version $Revision$
*/
-public abstract class EJBContainer extends ClassContainer implements Container, InjectionContainer
+public abstract class EJBContainer extends ClassContainer implements Container, InjectionContainer, DeployableContainer
{
private static final Logger log = Logger.getLogger(EJBContainer.class);
@@ -248,6 +247,11 @@
{
this.jaccContextId = jaccContextId;
}
+
+ public DeploymentUnit getDeploymentUnit()
+ {
+ return deployment.getDeploymentUnit();
+ }
public Ejb3Deployment getDeployment()
{
Modified: trunk/ejb3/src/main/org/jboss/ejb3/Ejb3Deployment.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/Ejb3Deployment.java 2007-01-17 13:56:30 UTC (rev 59685)
+++ trunk/ejb3/src/main/org/jboss/ejb3/Ejb3Deployment.java 2007-01-17 14:49:21 UTC (rev 59686)
@@ -21,15 +21,16 @@
*/
package org.jboss.ejb3;
+import java.io.BufferedInputStream;
+import java.io.DataInputStream;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+
import javassist.bytecode.ClassFile;
-import org.hibernate.ejb.packaging.PersistenceMetadata;
-import org.hibernate.cfg.EJB3DTDEntityResolver;
-import org.jboss.ejb3.enc.EjbModuleEjbResolver;
-import org.jboss.ejb3.enc.EjbModulePersistenceUnitResolver;
-import org.jboss.ejb3.entity.PersistenceUnitDeployment;
-import org.jboss.ejb3.entity.PersistenceXmlLoader;
-import org.jboss.logging.Logger;
-import org.jboss.virtual.VirtualFile;
import javax.management.MBeanServer;
import javax.management.ObjectName;
@@ -40,15 +41,16 @@
import javax.persistence.spi.PersistenceUnitTransactionType;
import javax.security.jacc.PolicyConfiguration;
import javax.security.jacc.PolicyConfigurationFactory;
-import java.io.DataInputStream;
-import java.io.InputStream;
-import java.io.BufferedInputStream;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.HashMap;
+import org.hibernate.cfg.EJB3DTDEntityResolver;
+import org.hibernate.ejb.packaging.PersistenceMetadata;
+import org.jboss.ejb3.enc.EjbModuleEjbResolver;
+import org.jboss.ejb3.enc.EjbModulePersistenceUnitResolver;
+import org.jboss.ejb3.entity.PersistenceUnitDeployment;
+import org.jboss.ejb3.entity.PersistenceXmlLoader;
+import org.jboss.logging.Logger;
+import org.jboss.virtual.VirtualFile;
+
/**
* An EjbModule represents a collection of beans that are deployed as a unit.
*
@@ -62,7 +64,7 @@
public static final String ACTUAL_ENTITY_MANAGER_FACTORY_CONTEXT = "java:/ActualEntityManagerFactories";
public static final String MANAGED_ENTITY_FACTORY_CONTEXT = "java:/managedEntityFactories";
- protected DeploymentUnit di;
+ protected DeploymentUnit unit;
protected LinkedHashMap ejbContainers = new LinkedHashMap();
@@ -91,19 +93,19 @@
//The JACC PolicyConfiguration
PolicyConfiguration pc;
- public Ejb3Deployment(DeploymentUnit di, DeploymentScope deploymentScope)
+ public Ejb3Deployment(DeploymentUnit unit, DeploymentScope deploymentScope)
{
- this.di = di;
+ this.unit = unit;
this.deploymentScope = deploymentScope;
try
{
- initialContext = EJB3Util.getInitialContext(di.getJndiProperties());
+ initialContext = EJB3Util.getInitialContext(unit.getJndiProperties());
}
catch (NamingException e)
{
throw new RuntimeException(e);
}
- ejbRefResolver = new EjbModuleEjbResolver(deploymentScope, di.getShortName(), ejbContainers, this);
+ ejbRefResolver = new EjbModuleEjbResolver(deploymentScope, unit.getShortName(), ejbContainers, this);
persistenceUnitResolver = new EjbModulePersistenceUnitResolver(persistenceUnitDeployments, deploymentScope, ejbContainers);
}
@@ -129,7 +131,7 @@
public DeploymentUnit getDeploymentUnit()
{
- return di;
+ return unit;
}
public String getDefaultSLSBDomain()
@@ -148,7 +150,7 @@
{
String scopedKernelName = "";
if (deploymentScope != null) scopedKernelName += ",ear=" + deploymentScope.getShortName();
- scopedKernelName += ",jar=" + di.getShortName();
+ scopedKernelName += ",jar=" + unit.getShortName();
return scopedKernelName;
}
@@ -214,7 +216,7 @@
protected String getJaccContextId()
{
- return di.getShortName();
+ return unit.getShortName();
}
public Container getContainer(ObjectName name)
@@ -333,7 +335,7 @@
registerEJBContainer(con);
}
- putJaccInService(pc, di);
+ putJaccInService(pc, unit);
}
catch (Exception ex)
{
@@ -352,11 +354,11 @@
protected void deploy() throws Exception
{
Ejb3HandlerFactory factory = Ejb3HandlerFactory.getInstance(this);
- if (di.getUrl() != null) deployUrl(factory);
+ if (unit.getUrl() != null) deployUrl(factory);
- if (di.getClasses() != null)
+ if (unit.getClasses() != null)
{
- for (Class explicit : di.getClasses())
+ for (Class explicit : unit.getClasses())
{
if (explicit.isAnnotationPresent(Entity.class))
{
@@ -375,7 +377,7 @@
InitialContext ctx = initialContext;
// need to look into every entry in the archive to see if anybody has tags
// defined.
- List<VirtualFile> classes = di.getResources(new org.jboss.ejb3.ClassFileFilter());
+ List<VirtualFile> classes = unit.getResources(new org.jboss.ejb3.ClassFileFilter());
for (VirtualFile classFile : classes)
{
InputStream stream = classFile.openStream();
@@ -406,7 +408,7 @@
throws Exception
{
Ejb3Handler handler = factory.createHandler(cf);
- handler.setCtxProperties(di.getJndiProperties());
+ handler.setCtxProperties(unit.getJndiProperties());
if (handler.isEjb() || handler.isJBossBeanType())
{
@@ -427,15 +429,15 @@
throws Exception
{
URL persistenceXmlUrl = null;
- persistenceXmlUrl = di.getPersistenceXml();
+ persistenceXmlUrl = unit.getPersistenceXml();
hasEntities = persistenceXmlUrl != null;
if (!hasEntities) return;
- if (di.getClasses() != null)
+ if (unit.getClasses() != null)
{
- for (Class explicit : di.getClasses())
+ for (Class explicit : unit.getClasses())
{
if (explicit.isAnnotationPresent(Entity.class))
{
@@ -451,7 +453,7 @@
{
String earShortName = deploymentScope == null ? null : deploymentScope.getShortName();
boolean isScoped = ejbContainers.size() > 0;
- PersistenceUnitDeployment deployment = new PersistenceUnitDeployment(initialContext, this, explicitEntityClasses, persistenceXmlUrl, metadata, earShortName, di.getShortName(), isScoped);
+ PersistenceUnitDeployment deployment = new PersistenceUnitDeployment(initialContext, this, explicitEntityClasses, persistenceXmlUrl, metadata, earShortName, unit.getShortName(), isScoped);
PersistenceUnitRegistry.register(deployment);
persistenceUnitDeployments.add(deployment);
}
Modified: trunk/ejb3/src/main/org/jboss/ejb3/JmxDeploymentUnit.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/JmxDeploymentUnit.java 2007-01-17 13:56:30 UTC (rev 59685)
+++ trunk/ejb3/src/main/org/jboss/ejb3/JmxDeploymentUnit.java 2007-01-17 14:49:21 UTC (rev 59686)
@@ -21,19 +21,20 @@
*/
package org.jboss.ejb3;
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
import java.net.URL;
-import java.net.MalformedURLException;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;
-import java.io.IOException;
-import java.io.File;
import org.jboss.deployment.DeploymentInfo;
import org.jboss.ejb3.interceptor.InterceptorInfoRepository;
+import org.jboss.logging.Logger;
import org.jboss.mx.util.MBeanProxyExt;
+import org.jboss.virtual.VFS;
import org.jboss.virtual.VirtualFile;
-import org.jboss.virtual.VFS;
import org.jboss.virtual.VirtualFileFilter;
import org.jboss.virtual.VisitorAttributes;
import org.jboss.virtual.plugins.context.jar.JarUtils;
@@ -48,9 +49,11 @@
*/
public class JmxDeploymentUnit implements DeploymentUnit
{
+ protected static final Logger log = Logger.getLogger(JmxDeploymentUnit.class);
+
private DeploymentInfo deploymentInfo;
InterceptorInfoRepository interceptorInfoRepository = new InterceptorInfoRepository();
- private VirtualFile virtualFile;
+ private VirtualFile vfsRoot;
public JmxDeploymentUnit(DeploymentInfo deploymentInfo)
{
@@ -58,7 +61,7 @@
try
{
VFS vfs = VFS.getVFS(deploymentInfo.url);
- virtualFile = vfs.getRoot();
+ vfsRoot = vfs.getRoot();
}
catch (IOException e)
{
@@ -66,7 +69,6 @@
}
}
-
public URL getRelativeURL(String jar)
{
URL url = null;
@@ -222,7 +224,7 @@
FilterVirtualFileVisitor visitor = new FilterVirtualFileVisitor(filter, va);
try
{
- virtualFile.visit(visitor);
+ vfsRoot.visit(visitor);
}
catch (IOException e)
{
@@ -231,4 +233,17 @@
return visitor.getMatched();
}
+
+ public VirtualFile getMetaDataFile(String path)
+ {
+ try
+ {
+ return vfsRoot.findChild(path);
+ }
+ catch (IOException e)
+ {
+ log.debug("Cannot get meta data file: " + path);
+ return null;
+ }
+ }
}
Modified: trunk/ejb3/src/main/org/jboss/ejb3/client/ClientContainer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/client/ClientContainer.java 2007-01-17 13:56:30 UTC (rev 59685)
+++ trunk/ejb3/src/main/org/jboss/ejb3/client/ClientContainer.java 2007-01-17 14:49:21 UTC (rev 59686)
@@ -40,6 +40,7 @@
import javax.naming.NameNotFoundException;
import javax.naming.NamingEnumeration;
+import org.jboss.deployers.spi.deployer.DeploymentUnit;
import org.jboss.ejb3.Container;
import org.jboss.ejb3.DependencyPolicy;
import org.jboss.ejb3.entity.PersistenceUnitDeployment;
Modified: trunk/ejb3/src/main/org/jboss/ejb3/clientmodule/ClientENCInjectionContainer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/clientmodule/ClientENCInjectionContainer.java 2007-01-17 13:56:30 UTC (rev 59685)
+++ trunk/ejb3/src/main/org/jboss/ejb3/clientmodule/ClientENCInjectionContainer.java 2007-01-17 14:49:21 UTC (rev 59686)
@@ -37,13 +37,15 @@
import javax.naming.NameNotFoundException;
import javax.naming.NamingException;
-import org.jboss.deployers.spi.deployer.DeploymentUnit;
import org.jboss.ejb3.Container;
import org.jboss.ejb3.DependencyPolicy;
+import org.jboss.ejb3.DeployableContainer;
import org.jboss.ejb3.DeploymentScope;
+import org.jboss.ejb3.DeploymentUnit;
import org.jboss.ejb3.Ejb3Module;
import org.jboss.ejb3.deployers.JBoss5DependencyPolicy;
import org.jboss.ejb3.deployers.JBoss5DeploymentScope;
+import org.jboss.ejb3.deployers.JBoss5DeploymentUnit;
import org.jboss.ejb3.enc.DeploymentEjbResolver;
import org.jboss.ejb3.entity.PersistenceUnitDeployment;
import org.jboss.ejb3.metamodel.ApplicationClientDD;
@@ -69,10 +71,11 @@
* @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
* @version $Revision$
*/
-public class ClientENCInjectionContainer implements InjectionContainer
+public class ClientENCInjectionContainer implements InjectionContainer, DeployableContainer
{
private static final Logger log = Logger.getLogger(ClientENCInjectionContainer.class);
+ private DeploymentUnit ejb3Unit;
private ApplicationClientDD xml;
private Class<?> mainClass;
private String applicationClientName;
@@ -89,7 +92,7 @@
private ObjectName objectName;
private DependencyPolicy dependencyPolicy = new JBoss5DependencyPolicy();
- public ClientENCInjectionContainer(DeploymentUnit unit, ApplicationClientDD xml, Class<?> mainClass, String applicationClientName, ClassLoader classLoader, Context encCtx) throws NamingException
+ public ClientENCInjectionContainer(org.jboss.deployers.spi.deployer.DeploymentUnit unit, ApplicationClientDD xml, Class<?> mainClass, String applicationClientName, ClassLoader classLoader, Context encCtx) throws NamingException
{
if(mainClass == null)
throw new NullPointerException("mainClass is mandatory");
@@ -98,6 +101,7 @@
if(classLoader == null)
throw new NullPointerException("classLoader is mandatory");
+ this.ejb3Unit = new JBoss5DeploymentUnit(unit);
this.xml = xml;
this.mainClass = mainClass;
this.applicationClientName = applicationClientName;
@@ -147,7 +151,7 @@
processMetaData();
}
- private String createScopeKernelName(DeploymentUnit unit, DeploymentScope ear)
+ private String createScopeKernelName(org.jboss.deployers.spi.deployer.DeploymentUnit unit, DeploymentScope ear)
{
String scopedKernelName = "";
if (ear != null) scopedKernelName += ",ear=" + ear.getShortName();
@@ -180,6 +184,11 @@
return field.getAnnotation(annotationType);
}
+ public DeploymentUnit getDeploymentUnit()
+ {
+ return ejb3Unit;
+ }
+
public ClassLoader getClassloader()
{
return classLoader;
Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBoss5DeploymentUnit.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBoss5DeploymentUnit.java 2007-01-17 13:56:30 UTC (rev 59685)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBoss5DeploymentUnit.java 2007-01-17 14:49:21 UTC (rev 59686)
@@ -21,6 +21,14 @@
*/
package org.jboss.ejb3.deployers;
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
+
import org.jboss.deployers.spi.deployer.DeploymentUnit;
import org.jboss.ejb3.interceptor.InterceptorInfoRepository;
import org.jboss.virtual.VirtualFile;
@@ -30,15 +38,6 @@
import org.jboss.virtual.plugins.vfs.helpers.FilterVirtualFileVisitor;
import org.jboss.virtual.plugins.vfs.helpers.SuffixesExcludeFilter;
-import java.net.URL;
-import java.net.MalformedURLException;
-import java.net.URISyntaxException;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-import java.io.IOException;
-import java.io.File;
-
/**
* Comment
*
@@ -47,16 +46,15 @@
*/
public class JBoss5DeploymentUnit implements org.jboss.ejb3.DeploymentUnit
{
- private DeploymentUnit deploymentInfo;
+ private DeploymentUnit unit;
private InterceptorInfoRepository interceptorInfoRepository = new InterceptorInfoRepository();
private Map defaultPersistenceProperties;
- public JBoss5DeploymentUnit(DeploymentUnit deploymentInfo)
+ public JBoss5DeploymentUnit(DeploymentUnit unit)
{
- this.deploymentInfo = deploymentInfo;
+ this.unit = unit;
}
-
public URL getRelativeURL(String jar)
{
try
@@ -72,7 +70,7 @@
if (getUrl() == null)
throw new RuntimeException("relative <jar-file> not allowed when standalone deployment unit is used");
String tmpjar = jar.substring(3);
- VirtualFile vf = deploymentInfo.getDeploymentContext().getRoot().getParent().findChild(tmpjar);
+ VirtualFile vf = unit.getDeploymentContext().getRoot().getParent().findChild(tmpjar);
return vf.toURL();
}
else
@@ -92,7 +90,7 @@
{
try
{
- VirtualFile vf = deploymentInfo.getMetaDataFile(resource);
+ VirtualFile vf = unit.getMetaDataFile(resource);
if (vf == null) return null;
return vf.toURL();
}
@@ -117,6 +115,11 @@
return extractDescriptorUrl("jboss.xml");
}
+ public VirtualFile getMetaDataFile(String name)
+ {
+ return unit.getMetaDataFile(name);
+ }
+
public List<Class> getClasses()
{
return null;
@@ -124,24 +127,24 @@
public ClassLoader getClassLoader()
{
- return deploymentInfo.getClassLoader();
+ return unit.getClassLoader();
}
public ClassLoader getResourceLoader()
{
- return deploymentInfo.getClassLoader();
+ return unit.getClassLoader();
}
public String getShortName()
{
- return deploymentInfo.getDeploymentContext().getRoot().getName();
+ return unit.getDeploymentContext().getRoot().getName();
}
public URL getUrl()
{
try
{
- return deploymentInfo.getDeploymentContext().getRoot().toURL();
+ return unit.getDeploymentContext().getRoot().toURL();
}
catch (Exception e)
{
@@ -184,7 +187,7 @@
va.setRecurseFilter(noJars);
FilterVirtualFileVisitor visitor = new FilterVirtualFileVisitor(filter, va);
- List<VirtualFile> classpath = deploymentInfo.getDeploymentContext().getClassPath();
+ List<VirtualFile> classpath = unit.getDeploymentContext().getClassPath();
if (classpath != null)
{
for (VirtualFile vf : classpath)
@@ -201,5 +204,4 @@
}
return visitor.getMatched();
}
-
}
Modified: trunk/ejb3/src/main/org/jboss/ejb3/embedded/EJB3StandaloneDeployer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/embedded/EJB3StandaloneDeployer.java 2007-01-17 13:56:30 UTC (rev 59685)
+++ trunk/ejb3/src/main/org/jboss/ejb3/embedded/EJB3StandaloneDeployer.java 2007-01-17 14:49:21 UTC (rev 59686)
@@ -75,7 +75,7 @@
private Map defaultProps;
private Hashtable jndiProperties;
private InterceptorInfoRepository interceptorInfoRepository = new InterceptorInfoRepository();
- private VirtualFile virtualFile;
+ private VirtualFile vfsRoot;
public DeployerUnit(ClassLoader loader, URL url, Map defaultProps, Hashtable jndiProperties)
{
@@ -97,7 +97,7 @@
try
{
VFS vfs = VFS.getVFS(url);
- virtualFile = vfs.getRoot();
+ vfsRoot = vfs.getRoot();
}
catch (IOException e)
{
@@ -155,7 +155,7 @@
FilterVirtualFileVisitor visitor = new FilterVirtualFileVisitor(filter, va);
try
{
- virtualFile.visit(visitor);
+ vfsRoot.visit(visitor);
}
catch (IOException e)
{
@@ -238,6 +238,19 @@
{
return interceptorInfoRepository;
}
+
+ public VirtualFile getMetaDataFile(String path)
+ {
+ try
+ {
+ return vfsRoot.findChild(path);
+ }
+ catch (IOException e)
+ {
+ log.debug("Cannot get meta data file: " + path);
+ return null;
+ }
+ }
}
protected static final Logger log = Logger.getLogger(EJB3StandaloneDeployer.class);
Modified: trunk/ejb3/src/main/org/jboss/injection/InjectionContainer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/injection/InjectionContainer.java 2007-01-17 13:56:30 UTC (rev 59685)
+++ trunk/ejb3/src/main/org/jboss/injection/InjectionContainer.java 2007-01-17 14:49:21 UTC (rev 59686)
@@ -21,20 +21,21 @@
*/
package org.jboss.injection;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.AccessibleObject;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.List;
+import java.util.Map;
+
+import javax.naming.Context;
+import javax.naming.NameNotFoundException;
+
import org.jboss.ejb3.Container;
import org.jboss.ejb3.DependencyPolicy;
import org.jboss.ejb3.entity.PersistenceUnitDeployment;
import org.jboss.metamodel.descriptor.EnvironmentRefGroup;
-import javax.naming.Context;
-import javax.naming.NameNotFoundException;
-import java.util.Map;
-import java.util.List;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Method;
-import java.lang.reflect.Field;
-import java.lang.reflect.AccessibleObject;
-
/**
* This is the container that manages all injections. Could be an EJB Container
* or a WAR.
@@ -44,16 +45,11 @@
*/
public interface InjectionContainer
{
- /**
- * Some identifier that can be used in error messages
- *
- * @return
- */
+ /** Some identifier that can be used in error messages */
String getIdentifier();
- /**
+ /**
* For error messages
- *
* @return ejb-jar.xml, web.xml, etc..
*/
String getDeploymentDescriptorType();
@@ -68,7 +64,6 @@
Context getEnc();
-
PersistenceUnitDeployment getPersistenceUnitDeployment(String unitName) throws NameNotFoundException;
Container resolveEjbContainer(String link, Class businessIntf);
@@ -79,21 +74,12 @@
/**
* If class has container overridable annotations, this method will
* discover those overriden annotations.
- *
- * @param annotationType
- * @param clazz
- * @return
*/
<T extends Annotation> T getAnnotation(Class<T> annotationType, Class<?> clazz);
/**
* If class has container overridable annotations, this method will
* discover those overriden annotations.
-
- * @param annotationType
- * @param clazz
- * @param method
- * @return
*/
<T extends Annotation> T getAnnotation(Class<T> annotationType, Class<?> clazz, Method method);
@@ -102,11 +88,6 @@
/**
* If class has container overridable annotations, this method will
* discover those overriden annotations.
-
- * @param annotationType
- * @param clazz
- * @param field
- * @return
*/
<T extends Annotation> T getAnnotation(Class<T> annotationType, Class<?> clazz, Field field);
@@ -115,5 +96,4 @@
DependencyPolicy getDependencyPolicy();
EnvironmentRefGroup getEnvironmentRefGroup();
-
}
Modified: trunk/ejb3/src/main/org/jboss/injection/WebServiceRefHandler.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/injection/WebServiceRefHandler.java 2007-01-17 13:56:30 UTC (rev 59685)
+++ trunk/ejb3/src/main/org/jboss/injection/WebServiceRefHandler.java 2007-01-17 14:49:21 UTC (rev 59686)
@@ -33,6 +33,7 @@
import javax.xml.ws.WebServiceRef;
import javax.xml.ws.WebServiceRefs;
+import org.jboss.deployers.spi.deployer.DeploymentUnit;
import org.jboss.logging.Logger;
import org.jboss.metamodel.descriptor.EnvironmentRefGroup;
import org.jboss.metamodel.descriptor.ServiceRef;
@@ -87,12 +88,11 @@
name = InjectionUtil.getEncName(type).substring(4);
}
- String encName = "env/" + name;
- Context encCtx = container.getEnc();
if (!container.getEncInjectors().containsKey(name))
{
+ String encName = "env/" + name;
ServiceRef sref = getServiceRef(name);
- container.getEncInjectors().put(name, new WebServiceRefInjector(encCtx, encName, null, wsref, sref));
+ container.getEncInjectors().put(name, new WebServiceRefInjector(encName, null, wsref, sref));
}
}
@@ -116,7 +116,7 @@
{
Class refType = method.getParameterTypes()[0];
ServiceRef sref = getServiceRef(name);
- container.getEncInjectors().put(name, new WebServiceRefInjector(encCtx, encName, refType, wsref, sref));
+ container.getEncInjectors().put(name, new WebServiceRefInjector(encName, refType, wsref, sref));
}
injectors.put(method, new JndiMethodInjector(method, encName, encCtx));
@@ -139,7 +139,7 @@
{
Class refType = field.getType();
ServiceRef sref = getServiceRef(name);
- container.getEncInjectors().put(name, new WebServiceRefInjector(encCtx, encName, refType, wsref, sref));
+ container.getEncInjectors().put(name, new WebServiceRefInjector(encName, refType, wsref, sref));
}
injectors.put(field, new JndiFieldInjector(field, encName, encCtx));
Modified: trunk/ejb3/src/main/org/jboss/injection/WebServiceRefInjector.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/injection/WebServiceRefInjector.java 2007-01-17 13:56:30 UTC (rev 59685)
+++ trunk/ejb3/src/main/org/jboss/injection/WebServiceRefInjector.java 2007-01-17 14:49:21 UTC (rev 59686)
@@ -23,14 +23,27 @@
// $Id$
+import java.io.IOException;
+import java.net.URL;
+
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.xml.transform.Source;
+import javax.xml.transform.dom.DOMSource;
import javax.xml.ws.WebServiceException;
import javax.xml.ws.WebServiceRef;
+import org.jboss.ejb3.DeployableContainer;
+import org.jboss.ejb3.DeploymentUnit;
import org.jboss.logging.Logger;
import org.jboss.metamodel.descriptor.ServiceRef;
-import org.jboss.ws.core.jaxws.client.UnifiedServiceRef;
-import org.jboss.ws.core.jaxws.client.WebServiceRefDeployer;
+import org.jboss.mx.util.MBeanProxy;
+import org.jboss.mx.util.MBeanServerLocator;
+import org.jboss.mx.util.ObjectNameFactory;
+import org.jboss.util.xml.DOMUtils;
+import org.w3c.dom.Element;
/**
* Inject a jaxws web service ref.
@@ -42,16 +55,26 @@
{
private static final Logger log = Logger.getLogger(WebServiceRefInjector.class);
- private Context ctx;
private String name;
+
private Class refType;
+
private String refTypeName;
+
private WebServiceRef wsref;
+
private ServiceRef sref;
- public WebServiceRefInjector(Context ctx, String name, Class refType, WebServiceRef wsref, ServiceRef sref)
+ // The @WebServiceRef handler MBean interface
+ // is duplicated here to avoid a binary dependency on JBossWS
+ public interface WebServiceRefHandlerMBean
{
- this.ctx = ctx;
+ ObjectName OBJECT_NAME = ObjectNameFactory.create("jboss.ws:service=WebServiceRefHandler");
+ void setupWebServiceRef(Context encCtx, String encName, Class refType, WebServiceRef wsref, URL rootURL, Source metadata) throws NamingException;
+ }
+
+ public WebServiceRefInjector(String name, Class refType, WebServiceRef wsref, ServiceRef sref)
+ {
this.name = name;
this.refType = refType;
this.wsref = wsref;
@@ -63,7 +86,20 @@
{
try
{
- WebServiceRefDeployer.setupWebServiceRef(ctx, name, refType, wsref, getAdaptedServiceRef());
+ URL rootURL = null;
+ Context encCtx = container.getEnc();
+ if (container instanceof DeployableContainer)
+ {
+ DeploymentUnit ejb3Unit = ((DeployableContainer)container).getDeploymentUnit();
+ rootURL = ejb3Unit.getUrl();
+ }
+
+ // Decoupled invocation to JBossWS
+ MBeanServer server = MBeanServerLocator.locateJBoss();
+ ObjectName oname = WebServiceRefHandlerMBean.OBJECT_NAME;
+ WebServiceRefHandlerMBean handler = (WebServiceRefHandlerMBean)MBeanProxy.get(WebServiceRefHandlerMBean.class, oname, server);
+ handler.setupWebServiceRef(encCtx, name, refType, wsref, rootURL, getMetaData());
+
log.debug("@WebServiceRef bound [env=" + name + ",ref=" + refTypeName + "]");
}
catch (Exception e)
@@ -72,14 +108,11 @@
}
}
- private UnifiedServiceRef getAdaptedServiceRef()
+ private Source getMetaData() throws IOException
{
- UnifiedServiceRef newRef = new UnifiedServiceRef();
- newRef.setEncName(sref.getEncName());
- newRef.setWsdlLocation(sref.getWsdlLocation());
- newRef.setConfigName(sref.getConfigName());
- newRef.setConfigFile(sref.getConfigFile());
- return newRef;
+ String xmlFragment = sref.toXMLFragment();
+ Element root = DOMUtils.parse(xmlFragment);
+ return new DOMSource(root);
}
public String toString()
Modified: trunk/server/src/main/org/jboss/metamodel/descriptor/ServiceRef.java
===================================================================
--- trunk/server/src/main/org/jboss/metamodel/descriptor/ServiceRef.java 2007-01-17 13:56:30 UTC (rev 59685)
+++ trunk/server/src/main/org/jboss/metamodel/descriptor/ServiceRef.java 2007-01-17 14:49:21 UTC (rev 59686)
@@ -21,7 +21,7 @@
*/
package org.jboss.metamodel.descriptor;
-import java.io.Serializable;
+import java.io.IOException;
// $Id$
@@ -88,6 +88,21 @@
this.configName = configName;
}
+ public String toXMLFragment() throws IOException
+ {
+ StringBuilder xml = new StringBuilder("<service-ref>");
+ xml.append("<service-ref-name>" + encName + "</service-ref-name>");
+ if (configName != null)
+ xml.append("<config-name>" + configName + "</config-name>");
+ if (configFile != null)
+ xml.append("<config-file>" + configFile + "</config-file>");
+ if (wsdlLocation != null)
+ xml.append("<wsdl-location>" + wsdlLocation + "</wsdl-location>");
+ xml.append("</service-ref>");
+
+ return xml.toString();
+ }
+
public String toString()
{
StringBuffer sb = new StringBuffer(100);
Modified: trunk/tomcat/src/main/org/jboss/web/tomcat/tc6/TomcatInjectionContainer.java
===================================================================
--- trunk/tomcat/src/main/org/jboss/web/tomcat/tc6/TomcatInjectionContainer.java 2007-01-17 13:56:30 UTC (rev 59685)
+++ trunk/tomcat/src/main/org/jboss/web/tomcat/tc6/TomcatInjectionContainer.java 2007-01-17 14:49:21 UTC (rev 59686)
@@ -41,11 +41,13 @@
import javax.naming.NamingException;
import org.apache.AnnotationProcessor;
-import org.jboss.deployers.spi.deployer.DeploymentUnit;
import org.jboss.ejb3.Container;
import org.jboss.ejb3.DependencyPolicy;
+import org.jboss.ejb3.DeployableContainer;
import org.jboss.ejb3.DeploymentScope;
+import org.jboss.ejb3.DeploymentUnit;
import org.jboss.ejb3.JmxDependencyPolicy;
+import org.jboss.ejb3.deployers.JBoss5DeploymentUnit;
import org.jboss.ejb3.enc.DeploymentPersistenceUnitResolver;
import org.jboss.ejb3.entity.PersistenceUnitDeployment;
import org.jboss.injection.DependsHandler;
@@ -78,7 +80,7 @@
* @author <a href="mailto:bill at jboss.org">Bill Burke</a>
* @version $Revision: 1.17 $
*/
-public class TomcatInjectionContainer implements InjectionContainer, AnnotationProcessor
+public class TomcatInjectionContainer implements InjectionContainer, AnnotationProcessor, DeployableContainer
{
private static final Logger log = Logger.getLogger(TomcatInjectionContainer.class);
@@ -125,13 +127,13 @@
protected WarEjbResolver ejbResolver;
protected DependencyPolicy dependencyPolicy = new JmxDependencyPolicy();
protected Collection<InjectionHandler> handlers;
- protected DeploymentUnit unit;
+ protected DeploymentUnit ejb3Unit;
protected ClassLoader webLoader;
protected WebApplication appInfo;
- public TomcatInjectionContainer(WebApplication appInfo, DeploymentUnit unit)
+ public TomcatInjectionContainer(WebApplication appInfo, org.jboss.deployers.spi.deployer.DeploymentUnit unit)
{
- this.unit = unit;
+ this.ejb3Unit = new JBoss5DeploymentUnit(unit);
DeploymentScope deploymentScope = null;
this.appInfo = appInfo;
@@ -214,7 +216,7 @@
try
{
- VirtualFile webDD = unit.getMetaDataFile("web.xml");
+ VirtualFile webDD = ejb3Unit.getMetaDataFile("web.xml");
if (webDD != null)
webIS = webDD.openStream();
}
@@ -224,7 +226,7 @@
}
try
{
- VirtualFile webDD = unit.getMetaDataFile("jboss-web.xml");
+ VirtualFile webDD = ejb3Unit.getMetaDataFile("jboss-web.xml");
if (webDD != null)
jbossWebIS = webDD.openStream();
}
@@ -362,10 +364,14 @@
return new ArrayList<Injector>(); // no equivalent in WAR
}
+ public DeploymentUnit getDeploymentUnit()
+ {
+ return ejb3Unit;
+ }
public String getIdentifier()
{
- return unit.getSimpleName();
+ return ejb3Unit.getShortName();
}
public String getDeploymentDescriptorType()
More information about the jboss-cvs-commits
mailing list