Author: dblevins
Date: Mon Dec 10 14:23:10 2007
New Revision: 603073
URL: http://svn.apache.org/viewvc?rev=603073&view=rev
Log:
Cleaned messages a bit. Fixed potential bug with cmp persistence-unit possibly
messing up default persistence-unit rules.
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
openejb/trunk/openejb3/container/openejb-core/src/main/resources/org/apache/openejb/config/rules/Messages.properties
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=603073&r1=603072&r2=603073&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
Mon Dec 10 14:23:10 2007
@@ -1350,11 +1350,15 @@
{ // Little quick validation for common mistake
Class type = member.getType();
+ boolean shouldReturn = false;
if (EntityManager.class.isAssignableFrom(type)){
validationContext.get().fail(consumer.getJndiConsumerName(),
"resourceRef.onEntityManager", refName);
+ shouldReturn = true;
} else if
(EntityManagerFactory.class.isAssignableFrom(type)){
validationContext.get().fail(consumer.getJndiConsumerName(),
"resourceRef.onEntityManagerFactory", refName);
+ shouldReturn = true;
}
+ if (shouldReturn) return;
}
String type;
if (resource.type() != java.lang.Object.class) {
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java?rev=603073&r1=603072&r2=603073&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
Mon Dec 10 14:23:10 2007
@@ -192,6 +192,21 @@
private PersistenceUnit
resolvePersistenceRef(LinkResolver<PersistenceUnit> persistenceUnits,
PersistenceRef ref, URI moduleURI, String componentName, ValidationContext
validation) {
PersistenceUnit unit =
persistenceUnits.resolveLink(ref.getPersistenceUnitName(), moduleURI);
+ // Explicitly check if we messed up the "if there's only one,
+ // that's what you get" rule by adding our "cmp" unit.
+ Collection<PersistenceUnit> cmpUnits = persistenceUnits.values("cmp");
+ if (cmpUnits.size() > 0 && persistenceUnits.values().size() -
cmpUnits.size() == 1) {
+ // We did, there is exactly one non-cmp unit. Let's find it.
+ for (PersistenceUnit persistenceUnit : persistenceUnits.values()) {
+ if (!persistenceUnit.getName().equals("cmp")){
+ // Found it
+ unit = persistenceUnit;
+ break;
+ }
+ }
+ }
+
+
// try again using the ref name
if (unit == null){
unit = persistenceUnits.resolveLink(ref.getName(), moduleURI);
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/resources/org/apache/openejb/config/rules/Messages.properties
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/resources/org/apache/openejb/config/rules/Messages.properties?rev=603073&r1=603072&r2=603073&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/resources/org/apache/openejb/config/rules/Messages.properties
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/resources/org/apache/openejb/config/rules/Messages.properties
Mon Dec 10 14:23:10 2007
@@ -374,8 +374,8 @@
# fail(componentName, "persistenceContextRef.noMatches", refShortName,
unitName, join(", ", availableUnits));
1.persistenceContextRef.noMatches = Persistence unit not found
-2.persistenceContextRef.noMatches = Persistence unit not found:
@PersistenceContext(name="{0}", unitName="{1}"). Available units [{1}]
-3.persistenceContextRef.noMatches = The persistence unit "{1}" does not exist.
Update the "{0}" PersistenceContext ref to one of the available units [{1}] or
declare the unit in a persistence.xml like the following:\
+2.persistenceContextRef.noMatches = Persistence unit not found for
@PersistenceContext(name="{0}", unitName="{1}"). Available units [{2}]
+3.persistenceContextRef.noMatches = The persistence unit "{1}" does not exist.
Update the "{0}" PersistenceContext ref to one of the available units [{2}] or
declare the unit in a persistence.xml like the following:\
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">\
<persistence-unit name="{1}">\
<jta-data-source>java:openejb/Resource/myDataSource</jta-data-source>\
@@ -418,8 +418,8 @@
# fail(componentName, "persistenceUnitRef.noMatches", refShortName, unitName,
join(", ", availableUnits));
1.persistenceUnitRef.noMatches = Persistence unit not found
-2.persistenceUnitRef.noMatches = Persistence unit not found:
@PersistenceUnit(name="{0}", unitName="{1}"). Available units [{1}]
-3.persistenceUnitRef.noMatches = The persistence unit "{1}" does not exist.
Update the "{0}" PersistenceUnit ref to one of the available units [{1}] or
declare the unit in a persistence.xml like the following:\
+2.persistenceUnitRef.noMatches = Persistence unit not found for ref
@PersistenceUnit(name="{0}", unitName="{1}"). Available units [{2}]
+3.persistenceUnitRef.noMatches = The persistence unit "{1}" does not exist.
Update the "{0}" PersistenceUnit ref to one of the available units [{2}] or
declare the unit in a persistence.xml like the following:\
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">\
<persistence-unit name="{1}">\
<jta-data-source>java:openejb/Resource/myDataSource</jta-data-source>\