You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by dr...@apache.org on 2011/03/15 17:51:13 UTC

svn commit: r1081850 - in /tapestry/tapestry5/trunk/tapestry-jpa/src: main/java/org/apache/tapestry5/internal/jpa/ main/java/org/apache/tapestry5/jpa/ test/java/org/example/app3/entities/ test/java/org/example/app3/model/ test/java/org/example/app3/pag...

Author: drobiazko
Date: Tue Mar 15 16:51:13 2011
New Revision: 1081850

URL: http://svn.apache.org/viewvc?rev=1081850&view=rev
Log:
TAP5-1472: Added support for mapping files.

Added:
    tapestry/tapestry5/trunk/tapestry-jpa/src/test/java/org/example/app3/model/
    tapestry/tapestry5/trunk/tapestry-jpa/src/test/java/org/example/app3/model/Thing.java   (with props)
    tapestry/tapestry5/trunk/tapestry-jpa/src/test/resources/mappings.xml   (with props)
Removed:
    tapestry/tapestry5/trunk/tapestry-jpa/src/test/java/org/example/app3/entities/
Modified:
    tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/PersistenceContentHandler.java
    tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/PersistenceUnitInfoImpl.java
    tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/jpa/TapestryPersistenceUnitInfo.java
    tapestry/tapestry5/trunk/tapestry-jpa/src/test/java/org/example/app3/pages/PersistThing.java
    tapestry/tapestry5/trunk/tapestry-jpa/src/test/resources/jndi-datasource-persistence-unit.xml

Modified: tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/PersistenceContentHandler.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/PersistenceContentHandler.java?rev=1081850&r1=1081849&r2=1081850&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/PersistenceContentHandler.java (original)
+++ tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/PersistenceContentHandler.java Tue Mar 15 16:51:13 2011
@@ -133,10 +133,18 @@ public class PersistenceContentHandler i
             {
                 persistenceUnitInfo.setValidationMode(toEnum(ValidationMode.class, string));
             }
+            else if (ELEMENT_MAPPING_FILE.equals(localName))
+            {
+                persistenceUnitInfo.addMappingFileName(string);
+            }
             else if (ELEMENT_NON_JTA_DATA_SOURCE.equals(localName))
             {
                 persistenceUnitInfo.setNonJtaDataSource(lookupDataSource(string));
             }
+            else if (ELEMENT_JTA_DATA_SOURCE.equals(localName))
+            {
+                persistenceUnitInfo.setJtaDataSource(lookupDataSource(string));
+            }
             else if (ELEMENT_PERSISTENCE_UNIT.equals(localName))
             {
                 if (persistenceUnitInfo != null)
@@ -185,7 +193,7 @@ public class PersistenceContentHandler i
     {
         try
         {
-            //TODO: Create InitialContext with environment properties?
+            // TODO: Create InitialContext with environment properties?
             final Context initContext = new InitialContext();
 
             final Context envContext = (Context) initContext.lookup("java:comp/env");

Modified: tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/PersistenceUnitInfoImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/PersistenceUnitInfoImpl.java?rev=1081850&r1=1081849&r2=1081850&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/PersistenceUnitInfoImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/PersistenceUnitInfoImpl.java Tue Mar 15 16:51:13 2011
@@ -41,12 +41,16 @@ public class PersistenceUnitInfoImpl imp
 
     private DataSource nonJtaDataSource;
 
+    private DataSource jtaDataSource;
+
     private ValidationMode validationMode;
 
     private SharedCacheMode sharedCacheMode;
 
     private final List<String> managedClassNames = new ArrayList<String>();
 
+    private final List<String> mappingFilesNames = new ArrayList<String>();
+
     private final Properties properties = new Properties();
 
     /**
@@ -57,6 +61,9 @@ public class PersistenceUnitInfoImpl imp
         return persistenceUnitName;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public void setPersistenceUnitName(final String persistenceUnitName)
     {
         this.persistenceUnitName = persistenceUnitName;
@@ -70,6 +77,9 @@ public class PersistenceUnitInfoImpl imp
         return persistenceProviderClassName;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public void setPersistenceProviderClassName(final String persistenceProviderClassName)
     {
         this.persistenceProviderClassName = persistenceProviderClassName;
@@ -83,6 +93,9 @@ public class PersistenceUnitInfoImpl imp
         return transactionType;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public void setTransactionType(final PersistenceUnitTransactionType transactionType)
     {
         this.transactionType = transactionType;
@@ -93,7 +106,7 @@ public class PersistenceUnitInfoImpl imp
      */
     public DataSource getJtaDataSource()
     {
-        return null;
+        return jtaDataSource;
     }
 
     /**
@@ -104,6 +117,9 @@ public class PersistenceUnitInfoImpl imp
         return nonJtaDataSource;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public void setNonJtaDataSource(final DataSource nonJtaDataSource)
     {
         this.nonJtaDataSource = nonJtaDataSource;
@@ -112,9 +128,26 @@ public class PersistenceUnitInfoImpl imp
     /**
      * {@inheritDoc}
      */
+    public void setJtaDataSource(final DataSource jtaDataSource)
+    {
+        this.jtaDataSource = jtaDataSource;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
     public List<String> getMappingFileNames()
     {
-        return Arrays.asList();
+        return Collections.unmodifiableList(mappingFilesNames);
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public void addMappingFileName(final String fileName)
+    {
+        mappingFilesNames.add(fileName);
+
     }
 
     /**
@@ -141,11 +174,17 @@ public class PersistenceUnitInfoImpl imp
         return Collections.unmodifiableList(managedClassNames);
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public void addManagedClassName(final String className)
     {
         managedClassNames.add(className);
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public void addManagedClass(final Class<?> clazz)
     {
         addManagedClassName(clazz.getName());
@@ -167,6 +206,9 @@ public class PersistenceUnitInfoImpl imp
         return sharedCacheMode;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public void setSharedCacheMode(final SharedCacheMode cacheMode)
     {
         sharedCacheMode = cacheMode;
@@ -180,6 +222,9 @@ public class PersistenceUnitInfoImpl imp
         return validationMode;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public void setValidationMode(final ValidationMode validationMode)
     {
         this.validationMode = validationMode;
@@ -201,6 +246,9 @@ public class PersistenceUnitInfoImpl imp
         return persistenceXMLSchemaVersion;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public void setPersistenceXMLSchemaVersion(final String version)
     {
         persistenceXMLSchemaVersion = version;

Modified: tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/jpa/TapestryPersistenceUnitInfo.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/jpa/TapestryPersistenceUnitInfo.java?rev=1081850&r1=1081849&r2=1081850&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/jpa/TapestryPersistenceUnitInfo.java (original)
+++ tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/jpa/TapestryPersistenceUnitInfo.java Tue Mar 15 16:51:13 2011
@@ -30,6 +30,8 @@ public interface TapestryPersistenceUnit
 
     void setNonJtaDataSource(DataSource nonJtaDataSource);
 
+    void setJtaDataSource(DataSource jtaDataSource);
+
     void addManagedClassName(String className);
 
     void addManagedClass(Class<?> clazz);
@@ -39,4 +41,6 @@ public interface TapestryPersistenceUnit
     void setValidationMode(ValidationMode validationMode);
 
     void setPersistenceXMLSchemaVersion(String version);
+
+    void addMappingFileName(String string);
 }

Added: tapestry/tapestry5/trunk/tapestry-jpa/src/test/java/org/example/app3/model/Thing.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jpa/src/test/java/org/example/app3/model/Thing.java?rev=1081850&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jpa/src/test/java/org/example/app3/model/Thing.java (added)
+++ tapestry/tapestry5/trunk/tapestry-jpa/src/test/java/org/example/app3/model/Thing.java Tue Mar 15 16:51:13 2011
@@ -0,0 +1,43 @@
+// Copyright 2011 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package org.example.app3.model;
+
+public class Thing
+{
+    private Long id;
+
+    private String name;
+
+    public Long getId()
+    {
+        return id;
+    }
+
+    public void setId(final Long id)
+    {
+        this.id = id;
+    }
+
+    public String getName()
+    {
+        return name;
+    }
+
+    public void setName(final String name)
+    {
+        this.name = name;
+    }
+
+}

Propchange: tapestry/tapestry5/trunk/tapestry-jpa/src/test/java/org/example/app3/model/Thing.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: tapestry/tapestry5/trunk/tapestry-jpa/src/test/java/org/example/app3/pages/PersistThing.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jpa/src/test/java/org/example/app3/pages/PersistThing.java?rev=1081850&r1=1081849&r2=1081850&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jpa/src/test/java/org/example/app3/pages/PersistThing.java (original)
+++ tapestry/tapestry5/trunk/tapestry-jpa/src/test/java/org/example/app3/pages/PersistThing.java Tue Mar 15 16:51:13 2011
@@ -21,7 +21,7 @@ import org.apache.tapestry5.annotations.
 import org.apache.tapestry5.annotations.Property;
 import org.apache.tapestry5.jpa.JpaPersistenceConstants;
 import org.apache.tapestry5.jpa.annotations.CommitAfter;
-import org.example.app3.entities.Thing;
+import org.example.app3.model.Thing;
 
 public class PersistThing
 {

Modified: tapestry/tapestry5/trunk/tapestry-jpa/src/test/resources/jndi-datasource-persistence-unit.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jpa/src/test/resources/jndi-datasource-persistence-unit.xml?rev=1081850&r1=1081849&r2=1081850&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jpa/src/test/resources/jndi-datasource-persistence-unit.xml (original)
+++ tapestry/tapestry5/trunk/tapestry-jpa/src/test/resources/jndi-datasource-persistence-unit.xml Tue Mar 15 16:51:13 2011
@@ -4,6 +4,7 @@
 
 	<persistence-unit name="JndiDataSourcePersistenceUnit" transaction-type="RESOURCE_LOCAL">
 		<non-jta-data-source>jdbc/JPATest</non-jta-data-source>
+		<mapping-file>mappings.xml</mapping-file>
 		<properties>
 			<property name="eclipselink.ddl-generation" value="create-tables"/>
 			<property name="eclipselink.logging.level" value="fine"/>

Added: tapestry/tapestry5/trunk/tapestry-jpa/src/test/resources/mappings.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jpa/src/test/resources/mappings.xml?rev=1081850&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jpa/src/test/resources/mappings.xml (added)
+++ tapestry/tapestry5/trunk/tapestry-jpa/src/test/resources/mappings.xml Tue Mar 15 16:51:13 2011
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity-mappings version="2.1"
+	xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+	<entity class="org.example.app3.model.Thing">
+		<attributes>
+			<id name="id">
+				<column name="THING_ID" />
+				<generated-value/>
+			</id>
+			<basic name="name" />
+		</attributes>
+	</entity>
+	
+</entity-mappings>
\ No newline at end of file

Propchange: tapestry/tapestry5/trunk/tapestry-jpa/src/test/resources/mappings.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain