You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by pc...@apache.org on 2006/11/15 01:30:25 UTC

svn commit: r475084 - in /incubator/openjpa/trunk: openjpa-kernel/src/main/java/org/apache/openjpa/conf/ openjpa-kernel/src/main/resources/org/apache/openjpa/conf/ openjpa-persistence/src/main/java/org/apache/openjpa/persistence/

Author: pcl
Date: Tue Nov 14 16:30:24 2006
New Revision: 475084

URL: http://svn.apache.org/viewvc?view=rev&rev=475084
Log:
added openjpa.Id property, and put logic in PersistenceUnitInfoImpl to set the openjpa.Id property to the persistence unit name if no openjpa.Id property is discovered.

Modified:
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfiguration.java
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfigurationImpl.java
    incubator/openjpa/trunk/openjpa-kernel/src/main/resources/org/apache/openjpa/conf/localizer.properties
    incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceUnitInfoImpl.java

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfiguration.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfiguration.java?view=diff&rev=475084&r1=475083&r2=475084
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfiguration.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfiguration.java Tue Nov 14 16:30:24 2006
@@ -1383,4 +1383,22 @@
      * configuration.
      */
     public StoreFacadeTypeRegistry getStoreFacadeTypeRegistry();
+    
+    /**
+     * An environment-specific identifier for this configuration. This 
+     * might correspond to a JPA persistence-unit name, or to some other
+     * more-unique value available in the current environment.
+     * 
+     * @since 0.9.7
+     */
+    public String getId();
+
+    /**
+     * An environment-specific identifier for this configuration. This 
+     * might correspond to a JPA persistence-unit name, or to some other
+     * more-unique value available in the current environment.
+     * 
+     * @since 0.9.7
+     */
+    public void setId(String id);
 }

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfigurationImpl.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfigurationImpl.java?view=diff&rev=475084&r1=475083&r2=475084
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfigurationImpl.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfigurationImpl.java Tue Nov 14 16:30:24 2006
@@ -127,6 +127,7 @@
     public ObjectValue orphanedKeyPlugin;
     public ObjectValue compatibilityPlugin;
     public QueryCompilationCacheValue queryCompilationCachePlugin;
+    public StringValue id;
 
     // custom values
     public BrokerFactoryValue brokerFactoryPlugin;
@@ -465,6 +466,8 @@
         queryCompilationCachePlugin.setInstantiatingGetter(
             "getQueryCompilationCacheInstance");
         addValue(queryCompilationCachePlugin);
+        
+        addString("Id");
 
         // initialize supported options that some runtimes may not support
         supportedOptions.add(OPTION_NONTRANS_READ);
@@ -1403,6 +1406,15 @@
 
     public StoreFacadeTypeRegistry getStoreFacadeTypeRegistry() {
         return _storeFacadeRegistry;
+    }
+    
+    public String getId() {
+        return id.get();
+    }
+    
+    public void setId(String id) {
+        assertNotReadOnly();
+        this.id.set(id);
     }
 
     public void instantiateAll() {

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/resources/org/apache/openjpa/conf/localizer.properties
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/resources/org/apache/openjpa/conf/localizer.properties?view=diff&rev=475084&r1=475083&r2=475084
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/resources/org/apache/openjpa/conf/localizer.properties (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/resources/org/apache/openjpa/conf/localizer.properties Tue Nov 14 16:30:24 2006
@@ -557,6 +557,15 @@
 QueryCompilationCache-expert: true
 QueryCompilationCache-interface: java.util.Map
 
+Id-name: Configuration ID
+Id-desc: An environment-specific identifier for this configuration. This \
+	might correspond to a JPA persistence-unit name, or to some other \
+    more-unique value available in the current environment. 
+Id-type: General
+Id-cat: Persistence
+Id-displayorder: 50
+Id-expert: true
+
 no-named-cf: use a DataSource bound to JNDI
 diff-specs: Attempt to configure for multiple specifications.  Was configured \
 	for "{0}".  Attempt to now configure for "{1}".  This attempt will be \

Modified: incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceUnitInfoImpl.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceUnitInfoImpl.java?view=diff&rev=475084&r1=475083&r2=475084
==============================================================================
--- incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceUnitInfoImpl.java (original)
+++ incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceUnitInfoImpl.java Tue Nov 14 16:30:24 2006
@@ -357,6 +357,9 @@
             map.remove(PersistenceProviderImpl.CLASS_TRANSFORMER_OPTIONS);
         }
 
+        if (!map.containsKey("openjpa.Id"))
+            map.put("openjpa.Id", info.getPersistenceUnitName());
+        
         Properties metaFactoryProps = new Properties();
         if (info.getManagedClassNames() != null 
             && !info.getManagedClassNames().isEmpty()) {
@@ -416,7 +419,7 @@
             }
             map.put("openjpa.MetaDataFactory", factory);
         }
-
+        
         // always record provider name for product derivations to access
         if (info.getPersistenceProviderClassName() != null)
             map.put(KEY_PROVIDER, info.getPersistenceProviderClassName());