mirror of https://github.com/apache/openjpa.git
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.
git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@475084 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
301580c069
commit
bda2015398
|
@ -1383,4 +1383,22 @@ public interface OpenJPAConfiguration
|
|||
* 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);
|
||||
}
|
||||
|
|
|
@ -127,6 +127,7 @@ public class OpenJPAConfigurationImpl
|
|||
public ObjectValue orphanedKeyPlugin;
|
||||
public ObjectValue compatibilityPlugin;
|
||||
public QueryCompilationCacheValue queryCompilationCachePlugin;
|
||||
public StringValue id;
|
||||
|
||||
// custom values
|
||||
public BrokerFactoryValue brokerFactoryPlugin;
|
||||
|
@ -466,6 +467,8 @@ public class OpenJPAConfigurationImpl
|
|||
"getQueryCompilationCacheInstance");
|
||||
addValue(queryCompilationCachePlugin);
|
||||
|
||||
addString("Id");
|
||||
|
||||
// initialize supported options that some runtimes may not support
|
||||
supportedOptions.add(OPTION_NONTRANS_READ);
|
||||
supportedOptions.add(OPTION_OPTIMISTIC);
|
||||
|
@ -1405,6 +1408,15 @@ public class OpenJPAConfigurationImpl
|
|||
return _storeFacadeRegistry;
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
return id.get();
|
||||
}
|
||||
|
||||
public void setId(String id) {
|
||||
assertNotReadOnly();
|
||||
this.id.set(id);
|
||||
}
|
||||
|
||||
public void instantiateAll() {
|
||||
super.instantiateAll();
|
||||
getMetaDataRepositoryInstance();
|
||||
|
|
|
@ -557,6 +557,15 @@ QueryCompilationCache-displayorder: 50
|
|||
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 \
|
||||
|
|
|
@ -357,6 +357,9 @@ public class PersistenceUnitInfoImpl
|
|||
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()) {
|
||||
|
|
Loading…
Reference in New Issue