Author: dblevins
Date: Fri Jul  6 18:47:19 2012
New Revision: 1358340

URL: http://svn.apache.org/viewvc?rev=1358340&view=rev
Log:
OPENEJB-1860 - openejb.descriptors.output logging and functional improvements

Modified:
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/OutputGeneratedDescriptors.java

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/OutputGeneratedDescriptors.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/OutputGeneratedDescriptors.java?rev=1358340&r1=1358339&r2=1358340&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/OutputGeneratedDescriptors.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/OutputGeneratedDescriptors.java
 Fri Jul  6 18:47:19 2012
@@ -23,6 +23,8 @@ import org.apache.openejb.jee.JAXBContex
 import org.apache.openejb.jee.JaxbJavaee;
 import org.apache.openejb.jee.jpa.EntityMappings;
 import org.apache.openejb.jee.jpa.JpaJaxbUtil;
+import org.apache.openejb.jee.jpa.unit.Persistence;
+import org.apache.openejb.jee.jpa.unit.PersistenceUnit;
 import org.apache.openejb.jee.oejb2.GeronimoEjbJarType;
 import org.apache.openejb.jee.oejb2.JaxbOpenejbJar2;
 import org.apache.openejb.jee.oejb3.JaxbOpenejbJar3;
@@ -95,6 +97,7 @@ public class OutputGeneratedDescriptors 
                        JAXBContext ctx = 
JAXBContextFactory.newInstance(Connector.class);
                        Marshaller marshaller = ctx.createMarshaller();
                        marshaller.marshal(connector, out);
+                logger.info("Dumping Generated ra.xml to: " + 
tempFile.getAbsolutePath());
                } catch (JAXBException e) {
                } finally {
                        IO.close(out);
@@ -118,11 +121,30 @@ public class OutputGeneratedDescriptors 
     }
 
        private void writeGenratedCmpMappings(AppModule appModule) {
+
+        for (PersistenceModule persistenceModule : 
appModule.getPersistenceModules()) {
+            try {
+                final Persistence persistence = 
persistenceModule.getPersistence();
+                if (hasCmpPersistenceUnit(persistence)) {
+                    final File tempFile = tempFile("persistence-", ".xml");
+                    final OutputStream out = IO.write(tempFile);
+                    try {
+                        JpaJaxbUtil.marshal(Persistence.class, persistence, 
out);
+                        logger.info("Dumping Generated CMP persistence.xml to: 
" + tempFile.getAbsolutePath());
+                    } catch (JAXBException e) {
+                    } finally{
+                        IO.close(out);
+                    }
+                }
+            } catch (IOException e) {
+            }
+        }
         try {
             final File tempFile = tempFile("openejb-cmp-generated-orm-", 
".xml");
             final OutputStream out = IO.write(tempFile);
             try {
                 JpaJaxbUtil.marshal(EntityMappings.class, 
appModule.getCmpMappings(), out);
+                logger.info("Dumping Generated CMP mappings.xml to: " + 
tempFile.getAbsolutePath());
             } catch (JAXBException e) {
             } finally{
                 IO.close(out);
@@ -131,6 +153,13 @@ public class OutputGeneratedDescriptors 
         }
     }
 
+    private boolean hasCmpPersistenceUnit(Persistence persistence) {
+        for (PersistenceUnit unit : persistence.getPersistenceUnit()) {
+            if (unit.getName().startsWith("cmp")) return true;
+        }
+        return false;
+    }
+
     private void writeOpenejbJar(EjbModule ejbModule) {
         try {
             final OpenejbJar openejbJar = ejbModule.getOpenejbJar();


Reply via email to