[jboss-cvs] JBossAS SVN: r74262 - in trunk: component-matrix and 5 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Jun 6 11:20:12 EDT 2008


Author: alesj
Date: 2008-06-06 11:20:11 -0400 (Fri, 06 Jun 2008)
New Revision: 74262

Added:
   trunk/ejb3/src/main/org/jboss/ejb3/deployers/hack/
   trunk/ejb3/src/main/org/jboss/ejb3/deployers/hack/zip/
   trunk/ejb3/src/main/org/jboss/ejb3/deployers/hack/zip/Handler.java
   trunk/testsuite/src/resources/jmx/shutdown/jboss-structure.xml
Modified:
   trunk/aspects/build.xml
   trunk/component-matrix/pom.xml
   trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3Deployer.java
   trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3JBoss5Deployment.java
   trunk/ejb3/src/main/org/jboss/ejb3/deployers/PersistenceUnitParsingDeployer.java
   trunk/testsuite/imports/server-config.xml
Log:
Component update - VFS, MC, Deployers, XB, EJB3.
Fixing jboss-minimal-tests.


Modified: trunk/aspects/build.xml
===================================================================
--- trunk/aspects/build.xml	2008-06-06 12:52:49 UTC (rev 74261)
+++ trunk/aspects/build.xml	2008-06-06 15:20:11 UTC (rev 74262)
@@ -79,6 +79,7 @@
          <path refid="jboss.jboss.deployers.classpath"/>      
          <path refid="jboss.jboss.man.classpath"/>      
          <path refid="jboss.jboss.mdr.classpath"/>
+         <path refid="jboss.jboss.reflect.classpath"/>
          <path refid="jboss.jbossxb.classpath"/>
          <path refid="jboss.microcontainer.classpath"/>
          <path refid="jboss.jboss.vfs.classpath"/>

Modified: trunk/component-matrix/pom.xml
===================================================================
--- trunk/component-matrix/pom.xml	2008-06-06 12:52:49 UTC (rev 74261)
+++ trunk/component-matrix/pom.xml	2008-06-06 15:20:11 UTC (rev 74262)
@@ -37,15 +37,15 @@
     <version.jboss.messaging>1.4.1.CR1</version.jboss.messaging>
     <version.jboss.web>2.1.1.CR3</version.jboss.web>
     <version.org.jboss.aop>2.0.0.CR11</version.org.jboss.aop>
-    <version.org.jboss.ejb3>0.1.1</version.org.jboss.ejb3>
+    <version.org.jboss.ejb3>0.1.2</version.org.jboss.ejb3>
     <version.org.jboss.mdr>2.0.0.Beta15</version.org.jboss.mdr>
-    <version.org.jboss.vfs>2.0.0.Beta11</version.org.jboss.vfs>
+    <version.org.jboss.vfs>2.0.0.Beta14</version.org.jboss.vfs>
     <version.org.jboss.cl>2.0.0.Beta12</version.org.jboss.cl>
     <version.org.jboss.cluster>1.1.0.CR1</version.org.jboss.cluster>
-    <version.org.jboss.deployers>2.0.0.Beta15</version.org.jboss.deployers>
+    <version.org.jboss.deployers>2.0.0.Beta16</version.org.jboss.deployers>
     <version.org.jboss.integration>5.0.0.Beta5</version.org.jboss.integration>
     <version.org.jboss.man>2.0.0.Beta14</version.org.jboss.man>
-    <version.org.jboss.microcontainer>2.0.0.Beta14</version.org.jboss.microcontainer>
+    <version.org.jboss.microcontainer>2.0.0.Beta15</version.org.jboss.microcontainer>
     <version.org.jboss.security>2.0.2.CR2</version.org.jboss.security>
     <version.oswego-concurrent.concurrent>1.3.4-jboss-update1</version.oswego-concurrent.concurrent>
     <version.suffix.org.jboss.javaee>.CR1</version.suffix.org.jboss.javaee>
@@ -1107,7 +1107,7 @@
       <dependency>
         <groupId>org.jboss</groupId>
         <artifactId>jbossxb</artifactId>
-        <version>2.0.0.CR8</version>
+        <version>2.0.0.CR9</version>
         <exclusions>
           <exclusion>
             <groupId>jboss</groupId>

Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3Deployer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3Deployer.java	2008-06-06 12:52:49 UTC (rev 74261)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3Deployer.java	2008-06-06 15:20:11 UTC (rev 74262)
@@ -23,7 +23,6 @@
 
 import java.util.Properties;
 import java.util.Set;
-
 import javax.management.MBeanServer;
 
 import org.jboss.deployers.spi.DeploymentException;
@@ -42,6 +41,7 @@
 import org.jboss.kernel.Kernel;
 import org.jboss.kernel.spi.deployment.KernelDeployment;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.jpa.spec.PersistenceMetaData;
 import org.jboss.metadata.web.jboss.JBossWebMetaData;
 import org.jboss.virtual.VirtualFile;
 
@@ -91,18 +91,17 @@
    @Override
    public void deploy(VFSDeploymentUnit unit) throws DeploymentException
    {
-      deploy(unit, unit.getAttachment(JBossMetaData.class), unit.getAttachment(PersistenceUnitsMetaData.class));
+      deploy(unit, unit.getAttachment(JBossMetaData.class), unit.getAttachment(PersistenceMetaData.class));
    }
    
-   public void deploy(VFSDeploymentUnit unit, JBossMetaData metaData, PersistenceUnitsMetaData persistenceMetaData)
-         throws DeploymentException
+   public void deploy(VFSDeploymentUnit unit, JBossMetaData metaData, PersistenceMetaData persistenceUnitsMetaData) throws DeploymentException
    {
       try
       {
          // Pickup any deployment which doesn't have metaData or metaData with ejbVersion unknown or 3
          if(metaData != null && (metaData.isEJB2x() || metaData.isEJB1x()))
          {
-            assert persistenceMetaData == null : "Found persistence units in legacy deployment";
+            assert persistenceUnitsMetaData == null : "Found persistence units in legacy deployment";
             
             log.debug("Ignoring legacy EJB deployment " + unit);
             return;
@@ -128,7 +127,7 @@
          
          // If DDs are required and none are present, skip deployment
          // EJBTHREE-1040
-         if (this.isDeploymentDescriptorRequired() && (metaData == null) && persistenceMetaData == null)
+         if (this.isDeploymentDescriptorRequired() && (metaData == null) && persistenceUnitsMetaData == null)
          {
             log.trace(this.getClass().getSimpleName() + " skipping deployment \"" + unit.getSimpleName()
                   + "\", jar: \"" + jar.getName()
@@ -162,7 +161,7 @@
 
          JBoss5DeploymentUnit du = new JBoss5DeploymentUnit(unit);
          du.setDefaultPersistenceProperties(defaultPersistenceProperties);
-         Ejb3JBoss5Deployment deployment = new Ejb3JBoss5Deployment(du, kernel, mbeanServer, unit, scope, metaData, persistenceMetaData);
+         Ejb3JBoss5Deployment deployment = new Ejb3JBoss5Deployment(du, kernel, mbeanServer, unit, scope, metaData, persistenceUnitsMetaData);
          if(initScopeDeployment)
          {
             scope.setDeployment(deployment);

Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3JBoss5Deployment.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3JBoss5Deployment.java	2008-06-06 12:52:49 UTC (rev 74261)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3JBoss5Deployment.java	2008-06-06 15:20:11 UTC (rev 74262)
@@ -22,7 +22,6 @@
 package org.jboss.ejb3.deployers;
 
 import java.util.Map;
-
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
 import javax.security.jacc.PolicyConfiguration;
@@ -39,13 +38,13 @@
 import org.jboss.ejb3.MCDependencyPolicy;
 import org.jboss.ejb3.javaee.JavaEEComponent;
 import org.jboss.ejb3.kernel.JNDIKernelRegistryPlugin;
-import org.jboss.ejb3.metadata.jpa.spec.PersistenceUnitsMetaData;
 import org.jboss.kernel.Kernel;
 import org.jboss.logging.Logger;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 import org.jboss.metadata.ejb.jboss.jndipolicy.spi.EjbDeploymentSummary;
+import org.jboss.metadata.jpa.spec.PersistenceMetaData;
 
 /**
  * JBoss 5.0 Microkernel specific implementation
@@ -60,11 +59,9 @@
    private org.jboss.deployers.structure.spi.DeploymentUnit jbossUnit;
    private Map<String, ContainerDependencyMetaData> endpoints;
 
-   public Ejb3JBoss5Deployment(DeploymentUnit ejb3Unit, Kernel kernel, MBeanServer mbeanServer,
-         org.jboss.deployers.structure.spi.DeploymentUnit jbossUnit, DeploymentScope deploymentScope,
-         JBossMetaData metaData, PersistenceUnitsMetaData persistenceMetaData)
+   public Ejb3JBoss5Deployment(DeploymentUnit ejb3Unit, Kernel kernel, MBeanServer mbeanServer, org.jboss.deployers.structure.spi.DeploymentUnit jbossUnit, DeploymentScope deploymentScope, JBossMetaData metaData, PersistenceMetaData persistenceUnitsMetaData)
    {
-      super(ejb3Unit, deploymentScope, metaData, persistenceMetaData);
+      super(ejb3Unit, deploymentScope, metaData, persistenceUnitsMetaData);
       this.jbossUnit = jbossUnit;
       kernelAbstraction = new JBossASKernel(kernel, mbeanServer);
 

Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/PersistenceUnitParsingDeployer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/PersistenceUnitParsingDeployer.java	2008-06-06 12:52:49 UTC (rev 74261)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/PersistenceUnitParsingDeployer.java	2008-06-06 15:20:11 UTC (rev 74262)
@@ -21,21 +21,9 @@
  */
 package org.jboss.ejb3.deployers;
 
-import java.net.URL;
-import java.util.HashMap;
+import org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer;
+import org.jboss.metadata.jpa.spec.PersistenceMetaData;
 
-import javax.persistence.spi.PersistenceUnitTransactionType;
-
-import org.hibernate.cfg.EJB3DTDEntityResolver;
-import org.hibernate.ejb.packaging.PersistenceXmlLoader;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.vfs.spi.deployer.AbstractVFSParsingDeployer;
-import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
-import org.jboss.ejb3.metadata.jpa.spec.PersistenceUnitsMetaData;
-import org.jboss.ejb3.protocol.jarjar.Handler;
-import org.jboss.logging.Logger;
-import org.jboss.virtual.VirtualFile;
-
 /**
  * Find and parse persistence.xml.
  * 
@@ -46,74 +34,31 @@
  * WEB-INF/classes/META-INF/persistence.xml
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  * @version $Revision$
  */
-public class PersistenceUnitParsingDeployer extends AbstractVFSParsingDeployer<PersistenceUnitsMetaData>
+public class PersistenceUnitParsingDeployer extends SchemaResolverDeployer<PersistenceMetaData>
 {
-   private static final Logger log = Logger.getLogger(PersistenceUnitParsingDeployer.class);
-   
+   // TODO - remove this hack
    static
    {
-      Handler.init();
-   }
-   
-   public PersistenceUnitParsingDeployer()
-   {
-      super(PersistenceUnitsMetaData.class);
-      setName("persistence.xml");
-   }
-
-   @Override
-   protected PersistenceUnitsMetaData parse(DeploymentUnit unit, String name, PersistenceUnitsMetaData root) throws Exception
-   {
-      // Try to find the metadata
-      VFSDeploymentUnit vfsDeploymentUnit = (VFSDeploymentUnit) unit;
-
-      VirtualFile file = vfsDeploymentUnit.getMetaDataFile(name);
-      if (file == null)
+      String pkgs = System.getProperty("java.protocol.handler.pkgs");
+      if (pkgs == null || pkgs.trim().length() == 0)
       {
-         // FIXME: hack to get a war persistence unit
-         try
-         {
-            file = vfsDeploymentUnit.getFile("WEB-INF/classes/META-INF/persistence.xml");
-            if(file == null) 
-               return null;
-         }
-         catch(IllegalStateException e)
-         {
-            return null;
-         }
-         // -- //
+         pkgs = "org.jboss.ejb3.deployers.hack";
+         System.setProperty("java.protocol.handler.pkgs", pkgs);
       }
-      
-      PersistenceUnitsMetaData result = parse(vfsDeploymentUnit, file, root);
-      if (result != null)
-         init(vfsDeploymentUnit, result, file);
-      return result;
+      else if (!pkgs.contains("org.jboss.ejb3.deployers.hack"))
+      {
+         pkgs += "|org.jboss.ejb3.deployers.hack";
+         System.setProperty("java.protocol.handler.pkgs", pkgs);
+      }
    }
 
-   @Override
-   protected PersistenceUnitsMetaData parse(VFSDeploymentUnit unit, VirtualFile file, PersistenceUnitsMetaData root)
-         throws Exception
+   public PersistenceUnitParsingDeployer()
    {
-      VirtualFile persistenceRoot = file.getParent().getParent();
-      
-      // We can't pass in a VFS url.
-      //URL persistenceUnitRootUrl = persistenceRoot.toURL();
-      
-      // FIXME: is this a supported hack?
-      // This introduces severe regression, will go the jar: url way (EJB-326)
-      //URL persistenceUnitRootUrl = new URL("jarjar:" + persistenceRoot.getHandler().toURL());
-      
-      // http://opensource.atlassian.com/projects/hibernate/browse/EJB-326
-      URL persistenceUnitRootUrl = persistenceRoot.toURL();
-      assert persistenceUnitRootUrl.getProtocol().equals("jar") || persistenceUnitRootUrl.getProtocol().equals("file") : "expected a jar or file url, but was " + persistenceUnitRootUrl;
-      
-      URL persistenceXmlUrl = file.toURL();
-      PersistenceUnitsMetaData metaData = new PersistenceUnitsMetaData(persistenceUnitRootUrl, PersistenceXmlLoader.deploy(persistenceXmlUrl, new HashMap<String, String>(),
-            new EJB3DTDEntityResolver(), PersistenceUnitTransactionType.JTA));
-      log.info("Found persistence units " + metaData);
-      // FIXME: if in EAR then unscoped else scoped
-      return metaData;
+      super(PersistenceMetaData.class);
+      setName("persistence.xml");
+      setRegisterWithJBossXB(true);
    }
 }

Added: trunk/ejb3/src/main/org/jboss/ejb3/deployers/hack/zip/Handler.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/hack/zip/Handler.java	                        (rev 0)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/hack/zip/Handler.java	2008-06-06 15:20:11 UTC (rev 74262)
@@ -0,0 +1,42 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, 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.deployers.hack.zip;
+
+import java.io.IOException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.net.URLStreamHandler;
+
+/**
+ * Hack to make zip protocol work.
+ * TODO - remove this once we update EJB3.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ */
+public class Handler extends URLStreamHandler
+{
+   protected URLConnection openConnection(URL url) throws IOException
+   {
+      URL jarUrl = new URL("file" + url.toExternalForm().substring(3));
+      return jarUrl.openConnection();
+   }
+}

Modified: trunk/testsuite/imports/server-config.xml
===================================================================
--- trunk/testsuite/imports/server-config.xml	2008-06-06 12:52:49 UTC (rev 74261)
+++ trunk/testsuite/imports/server-config.xml	2008-06-06 15:20:11 UTC (rev 74262)
@@ -593,7 +593,9 @@
       <server name="pooled-invoker" host="${node0}">
          <sysproperty key="java.net.preferIPv4Stack" value="true" />
       </server>
-      <server name="minimal" host="${node0}" hasWebServer="false"/>
+      <server name="minimal" host="${node0}" hasWebServer="false">
+         <sysproperty key="jboss.vfs.forceNoReaper" value="true" />
+      </server>
       <server name="deployment-service" host="${node0}">
          <sysproperty key="java.net.preferIPv4Stack" value="true" />
       </server>

Added: trunk/testsuite/src/resources/jmx/shutdown/jboss-structure.xml
===================================================================
--- trunk/testsuite/src/resources/jmx/shutdown/jboss-structure.xml	                        (rev 0)
+++ trunk/testsuite/src/resources/jmx/shutdown/jboss-structure.xml	2008-06-06 15:20:11 UTC (rev 74262)
@@ -0,0 +1,11 @@
+<structure>
+  <context modification="temp">
+    <path name=""/>
+    <metaDataPath>
+      <path name="META-INF"/>
+    </metaDataPath>
+    <classpath>
+      <path name=""/>
+    </classpath>
+  </context>
+</structure>




More information about the jboss-cvs-commits mailing list