|
From: <hib...@li...> - 2006-05-03 14:10:57
|
Author: epbernard
Date: 2006-05-03 10:10:52 -0400 (Wed, 03 May 2006)
New Revision: 9861
Modified:
trunk/HibernateExt/ejb/src/java/org/hibernate/ejb/Ejb3Configuration.java
trunk/HibernateExt/ejb/src/java/org/hibernate/ejb/packaging/PersistenceXmlLoader.java
trunk/HibernateExt/ejb/src/test-resources/defaultpar/META-INF/persistence.xml
Log:
EJB-159 RESOURCE_LOCAL is the default in JavaSE
Modified: trunk/HibernateExt/ejb/src/java/org/hibernate/ejb/Ejb3Configuration.java
===================================================================
--- trunk/HibernateExt/ejb/src/java/org/hibernate/ejb/Ejb3Configuration.java 2006-05-03 00:03:03 UTC (rev 9860)
+++ trunk/HibernateExt/ejb/src/java/org/hibernate/ejb/Ejb3Configuration.java 2006-05-03 14:10:52 UTC (rev 9861)
@@ -82,7 +82,7 @@
settingsFactory = new InjectionSettingsFactory();
cfg = new AnnotationConfiguration( settingsFactory );
listenerConfigurator = new EventListenerConfigurator( this );
- transactionType = PersistenceUnitTransactionType.JTA; //default as per the spec
+ //transactionType = PersistenceUnitTransactionType.JTA; //default as per the spec
}
/**
@@ -272,7 +272,11 @@
// defineTransactionType( overridenTxType, info.getPersistenceUnitName() );
// }
// else {
- defineTransactionType( info.getTransactionType(), workingVars );
+
+ PersistenceUnitTransactionType transactionType = info.getTransactionType();
+ //in JavaEE the default is JTA
+ transactionType = transactionType != null ? transactionType : PersistenceUnitTransactionType.JTA;
+ defineTransactionType( transactionType, workingVars );
// }
//workingVars.put( HibernatePersistence.TRANSACTION_TYPE, transactionType );
boolean[] detectArtifact = getDetectedArtifacts( info.getProperties(), null );
@@ -335,9 +339,10 @@
private void defineTransactionType(Object overridenTxType, Map workingVars) {
if ( overridenTxType == null ) {
- if ( transactionType == null ) {
- transactionType = PersistenceUnitTransactionType.JTA; //this is the default value
- }
+// if ( transactionType == null ) {
+// transactionType = PersistenceUnitTransactionType.JTA; //this is the default value
+// }
+ //nothing to override
}
else if ( overridenTxType instanceof String ) {
transactionType = PersistenceXmlLoader.getTransactionType( (String) overridenTxType );
Modified: trunk/HibernateExt/ejb/src/java/org/hibernate/ejb/packaging/PersistenceXmlLoader.java
===================================================================
--- trunk/HibernateExt/ejb/src/java/org/hibernate/ejb/packaging/PersistenceXmlLoader.java 2006-05-03 00:03:03 UTC (rev 9860)
+++ trunk/HibernateExt/ejb/src/java/org/hibernate/ejb/packaging/PersistenceXmlLoader.java 2006-05-03 14:10:52 UTC (rev 9861)
@@ -86,7 +86,7 @@
metadata.setProvider( provider );
}
String transactionType = (String) overrides.get( HibernatePersistence.TRANSACTION_TYPE );
- if ( transactionType != null ) {
+ if ( StringHelper.isNotEmpty( transactionType ) ) {
metadata.setTransactionType( PersistenceXmlLoader.getTransactionType( transactionType ) );
}
String dataSource = (String) overrides.get( HibernatePersistence.JTA_DATASOURCE );
@@ -115,7 +115,10 @@
log.trace( "Persistent Unit name from persistence.xml: " + puName );
metadata.setName( puName );
}
- metadata.setTransactionType( getTransactionType( top.getAttribute( "transaction-type" ) ) );
+ PersistenceUnitTransactionType transactionType = getTransactionType( top.getAttribute( "transaction-type" ) );
+ //parsing a persistence.xml means we are in a JavaSE environment
+ transactionType = transactionType != null ? transactionType : PersistenceUnitTransactionType.RESOURCE_LOCAL;
+ metadata.setTransactionType( transactionType );
NodeList children = top.getChildNodes();
for ( int i = 0; i < children.getLength() ; i++ ) {
if ( children.item( i ).getNodeType() == Node.ELEMENT_NODE ) {
@@ -173,7 +176,7 @@
public static PersistenceUnitTransactionType getTransactionType(String elementContent) {
if ( StringHelper.isEmpty( elementContent ) ) {
- return PersistenceUnitTransactionType.JTA;
+ return null; //PersistenceUnitTransactionType.JTA;
}
else if ( elementContent.equalsIgnoreCase( "JTA" ) ) {
return PersistenceUnitTransactionType.JTA;
Modified: trunk/HibernateExt/ejb/src/test-resources/defaultpar/META-INF/persistence.xml
===================================================================
--- trunk/HibernateExt/ejb/src/test-resources/defaultpar/META-INF/persistence.xml 2006-05-03 00:03:03 UTC (rev 9860)
+++ trunk/HibernateExt/ejb/src/test-resources/defaultpar/META-INF/persistence.xml 2006-05-03 14:10:52 UTC (rev 9861)
@@ -4,7 +4,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
- <persistence-unit name="defaultpar" transaction-type="RESOURCE_LOCAL">
+ <persistence-unit name="defaultpar">
<class>org.hibernate.ejb.test.pack.defaultpar.Lighter</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
|