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"/> |