[jboss-cvs] JBossAS SVN: r80589 - in projects/jpa/trunk/deployers/src: test/java/org/jboss/jpa/deployers/test/deployment and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Nov 6 09:20:17 EST 2008


Author: wolfc
Date: 2008-11-06 09:20:17 -0500 (Thu, 06 Nov 2008)
New Revision: 80589

Added:
   projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/deployment/unnamed/
   projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/deployment/unnamed/EMPTY
Modified:
   projects/jpa/trunk/deployers/src/main/java/org/jboss/jpa/deployers/PersistenceDeployer.java
   projects/jpa/trunk/deployers/src/test/java/org/jboss/jpa/deployers/test/deployment/DeploymentTestCase.java
Log:
JBAS-6165: empty persistence unit name is illegal

Modified: projects/jpa/trunk/deployers/src/main/java/org/jboss/jpa/deployers/PersistenceDeployer.java
===================================================================
--- projects/jpa/trunk/deployers/src/main/java/org/jboss/jpa/deployers/PersistenceDeployer.java	2008-11-06 13:48:59 UTC (rev 80588)
+++ projects/jpa/trunk/deployers/src/main/java/org/jboss/jpa/deployers/PersistenceDeployer.java	2008-11-06 14:20:17 UTC (rev 80589)
@@ -22,7 +22,6 @@
 package org.jboss.jpa.deployers;
 
 import java.util.List;
-import java.util.UUID;
 
 import org.jboss.deployers.spi.deployer.helpers.AbstractComponentDeployer;
 import org.jboss.deployers.structure.spi.DeploymentUnit;
@@ -68,7 +67,7 @@
          // we should be OK with this name, as I don't expect multiple PUMDs with same name on same DU?
          String pumdName = component.getName();
          if (pumdName == null)
-            pumdName = UUID.randomUUID().toString();
+            throw new IllegalStateException("Persistence unit is unnamed in " + unit);
          
          return PersistenceUnitMetaData.class.getName() + "." + pumdName;
       }

Modified: projects/jpa/trunk/deployers/src/test/java/org/jboss/jpa/deployers/test/deployment/DeploymentTestCase.java
===================================================================
--- projects/jpa/trunk/deployers/src/test/java/org/jboss/jpa/deployers/test/deployment/DeploymentTestCase.java	2008-11-06 13:48:59 UTC (rev 80588)
+++ projects/jpa/trunk/deployers/src/test/java/org/jboss/jpa/deployers/test/deployment/DeploymentTestCase.java	2008-11-06 14:20:17 UTC (rev 80589)
@@ -23,14 +23,23 @@
 
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
 
+import org.jboss.deployers.client.spi.IncompleteDeploymentException;
+import org.jboss.deployers.plugins.attachments.AttachmentsImpl;
+import org.jboss.deployers.spi.attachments.MutableAttachments;
 import org.jboss.deployers.vfs.spi.client.VFSDeployment;
 import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
 import org.jboss.jpa.deployers.test.common.PersistenceTestCase;
 import org.jboss.jpa.spi.PersistenceUnit;
 import org.jboss.jpa.spi.PersistenceUnitRegistry;
+import org.jboss.metadata.jpa.spec.PersistenceMetaData;
+import org.jboss.metadata.jpa.spec.PersistenceUnitMetaData;
 import org.jboss.virtual.VFS;
 import org.jboss.virtual.VirtualFile;
 import org.junit.Test;
@@ -61,4 +70,37 @@
       
       assertNull("Persistence unit still found in PersistenceUnitRegistry", PersistenceUnitRegistry.getPersistenceUnit(name));
    }
+
+   /**
+    * See EJB 3.0 6.3 page 145 attribute name is required.
+    */
+   @Test
+   public void testUnnamed() throws Exception
+   {
+      String spec = "/org/jboss/jpa/deployers/test/deployment/unnamed";
+      URL url = getClass().getResource(spec);
+      VirtualFile file = VFS.getRoot(url);
+      
+      // Force an illegal set of meta data
+      PersistenceUnitMetaData persistenceUnit = new PersistenceUnitMetaData();
+      List<PersistenceUnitMetaData> persistenceUnits = new ArrayList<PersistenceUnitMetaData>();
+      persistenceUnits.add(persistenceUnit);
+      PersistenceMetaData attachment = new PersistenceMetaData();
+      attachment.setPersistenceUnits(persistenceUnits);
+      MutableAttachments attachments = new AttachmentsImpl();
+      attachments.addAttachment(PersistenceMetaData.class, attachment);
+      
+      VFSDeployment deployment = VFSDeploymentFactory.getInstance().createVFSDeployment(file);
+      deployment.setPredeterminedManagedObjects(attachments);
+      try
+      {
+         delegate.getMainDeployer().deploy(deployment);
+         fail("It should not have been possible to deploy with a persistence unit name");
+      }
+      catch(IncompleteDeploymentException e)
+      {
+         Throwable t = e.getIncompleteDeployments().getDeploymentsInError().values().iterator().next();
+         assertTrue(t.getCause().getMessage().startsWith("Persistence unit is unnamed"));
+      }
+   }
 }

Added: projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/deployment/unnamed/EMPTY
===================================================================
--- projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/deployment/unnamed/EMPTY	                        (rev 0)
+++ projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/deployment/unnamed/EMPTY	2008-11-06 14:20:17 UTC (rev 80589)
@@ -0,0 +1 @@
+Nothing to see here.
\ No newline at end of file




More information about the jboss-cvs-commits mailing list