[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