You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by cu...@apache.org on 2011/11/05 18:17:33 UTC
svn commit: r1197994 [2/10] - in /openjpa/trunk:
openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/ant/
openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/conf/
openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/
openjpa-jdbc/src/main/java/org/...
Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingTool.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingTool.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingTool.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingTool.java Sat Nov 5 17:17:26 2011
@@ -473,7 +473,7 @@ public class MappingTool
if (_dropCls != null && !_dropCls.isEmpty()) {
Class<?>[] cls = (Class[]) _dropCls.toArray
(new Class[_dropCls.size()]);
- if (!io.drop(cls, _mode))
+ if (!io.drop(cls, _mode, null))
_log.warn(_loc.get("bad-drop", _dropCls));
}
@@ -608,7 +608,7 @@ public class MappingTool
SequenceMetaData smd = mapping.getIdentitySequenceMetaData();
Seq seq = null;
if (smd != null)
- seq = smd.getInstance();
+ seq = smd.getInstance(null);
else if (mapping.getIdentityStrategy() == ValueStrategies.NATIVE
|| (mapping.getIdentityStrategy() == ValueStrategies.NONE
&& mapping.getIdentityType() == ClassMapping.ID_DATASTORE))
@@ -625,7 +625,7 @@ public class MappingTool
for (int i = 0; i < fmds.length; i++) {
smd = fmds[i].getValueSequenceMetaData();
if (smd != null) {
- seq = smd.getInstance();
+ seq = smd.getInstance(null);
if (seq instanceof JDBCSeq)
((JDBCSeq) seq).addSchema(mapping, group);
} else if (fmds[i].getEmbeddedMapping() != null)
@@ -679,7 +679,7 @@ public class MappingTool
boolean validate) {
// this will parse all possible metadata rsrcs looking for cls, so
// will detect if p-aware
- ClassMapping mapping = repos.getMapping(cls, false);
+ ClassMapping mapping = repos.getMapping(cls, null, false);
if (mapping != null)
return mapping;
if (!validate || cls.isInterface()
@@ -790,7 +790,7 @@ public class MappingTool
repos.setStrategyInstaller(new RuntimeStrategyInstaller(repos));
ClassMapping mapping = null;
try {
- mapping = repos.getMapping(cls, false);
+ mapping = repos.getMapping(cls, null, false);
} catch (Exception e) {
}
@@ -985,7 +985,8 @@ public class MappingTool
opts.setProperty("schemas", schemas);
Configurations.populateConfiguration(conf, opts);
- ClassLoader loader = conf.getClassLoader();
+ ClassLoader loader = conf.getClassResolverInstance().
+ getClassLoader(MappingTool.class, null);
if (flags.meta && ACTION_ADD.equals(flags.action))
flags.metaDataFile = Files.getFile(fileName, loader);
else
@@ -1021,12 +1022,13 @@ public class MappingTool
if (ACTION_IMPORT.equals(flags.action))
return false;
log.info(_loc.get("running-all-classes"));
- classes = conf.getMappingRepositoryInstance().loadPersistentTypes(true);
+ classes = conf.getMappingRepositoryInstance().
+ loadPersistentTypes(true, loader);
} else {
classes = new HashSet<Class<?>>();
ClassArgParser classParser = conf.getMetaDataRepositoryInstance().
getMetaDataFactory().newClassArgParser();
- classParser.setClassLoader(conf.getClassLoader());
+ classParser.setClassLoader(loader);
Class<?>[] parsed;
for (int i = 0; i < args.length; i++) {
parsed = classParser.parseTypes(args[i]);
Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MetaDataPlusMappingFactory.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MetaDataPlusMappingFactory.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MetaDataPlusMappingFactory.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MetaDataPlusMappingFactory.java Sat Nov 5 17:17:26 2011
@@ -45,17 +45,28 @@ public class MetaDataPlusMappingFactory
/**
+ * Constructor; supply delegates.
+ */
+ public MetaDataPlusMappingFactory(MetaDataFactory meta, MetaDataFactory map) {
+ this(meta, map, null);
+
+ }
+
+ /**
* Constructor, supply delegates and Configuration.
*
* @param meta MetaFactory delegate, should not be null.
* @param map MappingFactory delegate, should not be null.
* @param conf Configuration in use. Used to determine whether delegates should use strict mode.
*/
- public MetaDataPlusMappingFactory(MetaDataFactory meta, MetaDataFactory map, boolean strict) {
+ public MetaDataPlusMappingFactory(MetaDataFactory meta, MetaDataFactory map, OpenJPAConfiguration conf) {
super(meta);
_map = map;
- meta.setStrict(strict);
- map.setStrict(strict);
+
+ if(conf.getCompatibilityInstance().getMetaFactoriesAreStrict()) {
+ meta.setStrict(true);
+ map.setStrict(true);
+ }
}
/**
@@ -93,37 +104,40 @@ public class MetaDataPlusMappingFactory
// always in strict mode
}
- public void load(Class cls, int mode) {
+ public void load(Class cls, int mode, ClassLoader envLoader) {
if ((mode & ~MODE_MAPPING) != MODE_NONE)
- super.load(cls, mode & ~MODE_MAPPING);
+ super.load(cls, mode & ~MODE_MAPPING, envLoader);
if (cls != null && (mode & MODE_MAPPING) != 0)
- _map.load(cls, mode & ~MODE_META);
+ _map.load(cls, mode & ~MODE_META, envLoader);
}
public boolean store(ClassMetaData[] metas, QueryMetaData[] queries,
SequenceMetaData[] seqs, int mode, Map output) {
boolean store = true;
if ((mode & ~MODE_MAPPING) != MODE_NONE)
- store &= super.store(metas, queries, seqs, mode & ~MODE_MAPPING, output);
+ store &= super.store(metas, queries, seqs, mode & ~MODE_MAPPING,
+ output);
if ((mode & MODE_MAPPING) != 0)
- store &= _map.store(metas, queries, seqs, mode & ~MODE_META, output);
+ store &= _map.store(metas, queries, seqs, mode & ~MODE_META,
+ output);
return store;
}
- public boolean drop(Class[] cls, int mode) {
+ public boolean drop(Class[] cls, int mode, ClassLoader envLoader) {
boolean drop = true;
if ((mode & ~MODE_MAPPING) != MODE_NONE)
- drop &= super.drop(cls, mode & ~MODE_MAPPING);
+ drop &= super.drop(cls, mode & ~MODE_MAPPING, envLoader);
if ((mode & MODE_MAPPING) != 0)
- drop &= _map.drop(cls, mode & ~MODE_META);
+ drop &= _map.drop(cls, mode & ~MODE_META, envLoader);
return drop;
}
- public Set getPersistentTypeNames(boolean classpath) {
- Set names = super.getPersistentTypeNames(classpath);
+ public Set getPersistentTypeNames(boolean classpath,
+ ClassLoader envLoader) {
+ Set names = super.getPersistentTypeNames(classpath, envLoader);
if (names != null && !names.isEmpty())
return names;
- return _map.getPersistentTypeNames(classpath);
+ return _map.getPersistentTypeNames(classpath, envLoader);
}
public void clear() {
Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/QueryResultMapping.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/QueryResultMapping.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/QueryResultMapping.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/QueryResultMapping.java Sat Nov 5 17:17:26 2011
@@ -282,7 +282,7 @@ public class QueryResultMapping
*/
public ClassMapping getCandidateTypeMapping() {
if (_candidateMap == null)
- _candidateMap = _repos.getMapping(_candidate, true);
+ _candidateMap = _repos.getMapping(_candidate, null, true);
return _candidateMap;
}
Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/ReverseMappingTool.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/ReverseMappingTool.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/ReverseMappingTool.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/ReverseMappingTool.java Sat Nov 5 17:17:26 2011
@@ -1652,7 +1652,9 @@ public class ReverseMappingTool
propNames[propNames.length - 1]));
if (typeSpec != null)
- type = Strings.toClass(typeSpec, _conf.getClassLoader());
+ type = Strings.toClass(typeSpec, _conf.
+ getClassResolverInstance().getClassLoader
+ (ReverseMappingTool.class, null));
}
if (type == null)
@@ -1941,12 +1943,15 @@ public class ReverseMappingTool
// setup a configuration instance with cmd-line info
Configurations.populateConfiguration(conf, opts);
- ClassLoader loader = conf.getClassLoader();
+ ClassLoader loader = conf.getClassResolverInstance().
+ getClassLoader(ReverseMappingTool.class, null);
// customizer
- flags.customizer = (ReverseCustomizer) Configurations.newInstance(customCls, conf, customOpts);
+ flags.customizer = (ReverseCustomizer) Configurations.
+ newInstance(customCls, loader);
if (flags.customizer != null) {
- Configurations.configureInstance(flags.customizer, conf, customOpts);
+ Configurations.configureInstance(flags.customizer, conf,
+ customOpts);
flags.customizer.setConfiguration(customProps);
}
Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/ClassNameDiscriminatorStrategy.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/ClassNameDiscriminatorStrategy.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/ClassNameDiscriminatorStrategy.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/ClassNameDiscriminatorStrategy.java Sat Nov 5 17:17:26 2011
@@ -62,7 +62,7 @@ public class ClassNameDiscriminatorStrat
protected Class getClass(Object val, JDBCStore store)
throws ClassNotFoundException {
- ClassLoader loader = store.getConfiguration().getClassLoader();
+ ClassLoader loader = getClassLoader(store);
return Class.forName((String) val, true, loader);
}
@@ -84,7 +84,7 @@ public class ClassNameDiscriminatorStrat
if (log.isTraceEnabled())
log.trace(_loc.get("load-subs", col.getTable().getFullName()));
- ClassLoader loader = store.getConfiguration().getClassLoader();
+ ClassLoader loader = getClassLoader(store);
Connection conn = store.getConnection();
PreparedStatement stmnt = null;
ResultSet rs = null;
@@ -119,4 +119,12 @@ public class ClassNameDiscriminatorStrat
}
}
+ /**
+ * Return the class loader to use for loading class names.
+ */
+ private ClassLoader getClassLoader(JDBCStore store) {
+ return store.getConfiguration().getClassResolverInstance().
+ getClassLoader(disc.getClassMapping().getDescribedType(),
+ store.getContext().getClassLoader());
+ }
}
Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/RelationStrategies.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/RelationStrategies.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/RelationStrategies.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/RelationStrategies.java Sat Nov 5 17:17:26 2011
@@ -87,7 +87,8 @@ public class RelationStrategies {
} else if (val.getClass() == vm.getType())
rel = vm.getTypeMapping(); // common case
else {
- rel = vm.getMappingRepository().getMapping(val.getClass(), true);
+ rel = vm.getMappingRepository().getMapping(val.getClass(),
+ store.getContext().getClassLoader(), true);
}
if (!rel.isMapped())
throw new UserException(_loc.get("unmapped-datastore-value",
Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/UntypedPCValueHandler.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/UntypedPCValueHandler.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/UntypedPCValueHandler.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/UntypedPCValueHandler.java Sat Nov 5 17:17:26 2011
@@ -113,7 +113,9 @@ public class UntypedPCValueHandler
String oidStr = str.substring(idx + 1);
StoreContext ctx = store.getContext();
- ClassLoader loader = store.getConfiguration().getClassLoader();
+ ClassLoader loader = store.getConfiguration().
+ getClassResolverInstance().getClassLoader(vm.getType(),
+ ctx.getClassLoader());
Class cls = null;
try {
cls = Class.forName(clsName, true, loader);
Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/DBCPDriverDataSource.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/DBCPDriverDataSource.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/DBCPDriverDataSource.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/DBCPDriverDataSource.java Sat Nov 5 17:17:26 2011
@@ -99,7 +99,8 @@ extends SimpleDriverDataSource implement
if (_ds == null) {
try {
Properties dbcpProps = updateDBCPProperties(props);
- _ds = (DataSource) Configurations.newInstance(DBCPBASICDATASOURCENAME, conf, dbcpProps);
+ _ds = (DataSource) Configurations.newInstance(DBCPBASICDATASOURCENAME, conf,
+ dbcpProps, getClassLoader());
} catch (Exception e) {
_dbcpEx = new RuntimeException(_eloc.get("driver-null", DBCPBASICDATASOURCENAME).getMessage(), e);
}
Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/DataSourceFactory.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/DataSourceFactory.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/DataSourceFactory.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/DataSourceFactory.java Sat Nov 5 17:17:26 2011
@@ -66,13 +66,18 @@ public class DataSourceFactory {
/**
* Create a datasource using the given configuration.
*/
- public static DataSource newDataSource(JDBCConfiguration conf, boolean factory2) {
- String driver = (factory2) ? conf.getConnection2DriverName() : conf.getConnectionDriverName();
- if (StringUtils.isEmpty(driver)) {
- throw new UserException(_loc.get("no-driver", conf)).setFatal(true);
- }
- ClassLoader loader = conf.getClassLoader();
- String props = (factory2) ? conf.getConnection2Properties() : conf.getConnectionProperties();
+ public static DataSource newDataSource(JDBCConfiguration conf,
+ boolean factory2) {
+ String driver = (factory2) ? conf.getConnection2DriverName()
+ : conf.getConnectionDriverName();
+ if (StringUtils.isEmpty(driver))
+ throw new UserException(_loc.get("no-driver", conf)).
+ setFatal(true);
+
+ ClassLoader loader = conf.getClassResolverInstance().
+ getClassLoader(DataSourceFactory.class, null);
+ String props = (factory2) ? conf.getConnection2Properties()
+ : conf.getConnectionProperties();
try {
Class<?> driverClass;
try {
@@ -108,7 +113,10 @@ public class DataSourceFactory {
// see if their driver name is actually a data source
if (DataSource.class.isAssignableFrom(driverClass)) {
- return (DataSource) Configurations.newInstance(driver, conf, props);
+ return (DataSource) Configurations.newInstance(driver,
+ conf, props, AccessController.doPrivileged(
+ J2DoPrivHelper.getClassLoaderAction(
+ DataSource.class)));
}
}
catch (OpenJPAException ke) {
Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/FileSchemaFactory.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/FileSchemaFactory.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/FileSchemaFactory.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/FileSchemaFactory.java Sat Nov 5 17:17:26 2011
@@ -21,12 +21,13 @@ package org.apache.openjpa.jdbc.schema;
import java.io.File;
import java.io.IOException;
import java.net.URL;
+import java.security.AccessController;
import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
import org.apache.openjpa.lib.conf.Configurable;
import org.apache.openjpa.lib.conf.Configuration;
-import org.apache.openjpa.lib.meta.MetaDataSerializer;
import org.apache.openjpa.lib.util.Files;
+import org.apache.openjpa.lib.util.J2DoPrivHelper;
import org.apache.openjpa.util.GeneralException;
/**
@@ -39,6 +40,7 @@ public class FileSchemaFactory
private JDBCConfiguration _conf = null;
private String _fileName = "package.schema";
+ private ClassLoader _loader = null;
/**
* Return the XML resource defining this schema. Defaults to
@@ -66,6 +68,8 @@ public class FileSchemaFactory
public void setConfiguration(Configuration conf) {
_conf = (JDBCConfiguration) conf;
+ _loader = _conf.getClassResolverInstance().
+ getClassLoader(getClass(), null);
}
public void startConfiguration() {
@@ -75,7 +79,8 @@ public class FileSchemaFactory
}
public SchemaGroup readSchema() {
- URL url = _conf.getClassLoader().getResource(_fileName);
+ URL url = AccessController.doPrivileged(
+ J2DoPrivHelper.getResourceAction(_loader, _fileName));
if (url == null)
return new SchemaGroup();
@@ -89,11 +94,11 @@ public class FileSchemaFactory
}
public void storeSchema(SchemaGroup schema) {
- File file = Files.getFile(_fileName, _conf.getClassLoader());
+ File file = Files.getFile(_fileName, _loader);
XMLSchemaSerializer ser = new XMLSchemaSerializer(_conf);
ser.addAll(schema);
try {
- ser.serialize(file, MetaDataSerializer.PRETTY);
+ ser.serialize(file, ser.PRETTY);
} catch (IOException ioe) {
throw new GeneralException(ioe);
}
Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/SchemaTool.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/SchemaTool.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/SchemaTool.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/SchemaTool.java Sat Nov 5 17:17:26 2011
@@ -1423,7 +1423,8 @@ public class SchemaTool {
Configurations.populateConfiguration(conf, opts);
// create script writer
- ClassLoader loader = conf.getClassLoader();
+ ClassLoader loader = conf.getClassResolverInstance().
+ getClassLoader(SchemaTool.class, null);
flags.writer = Files.getWriter(fileName, loader);
boolean returnValue = true;
Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/XMLSchemaParser.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/XMLSchemaParser.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/XMLSchemaParser.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/XMLSchemaParser.java Sat Nov 5 17:17:26 2011
@@ -124,7 +124,6 @@ public class XMLSchemaParser
* Constructor. Supply configuration.
*/
public XMLSchemaParser(JDBCConfiguration conf) {
- super(conf.getClassLoader());
_dict = conf.getDBDictionaryInstance();
setLog(conf.getLog(JDBCConfiguration.LOG_SCHEMA));
setParseText(false);
Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/OracleDictionary.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/OracleDictionary.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/OracleDictionary.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/OracleDictionary.java Sat Nov 5 17:17:26 2011
@@ -1223,7 +1223,9 @@ public class OracleDictionary
if (EMPTY_CLOB != null)
return EMPTY_CLOB;
try {
- return EMPTY_CLOB = (Clob) Class.forName("oracle.sql.CLOB",true, conf.getClassLoader()).
+ return EMPTY_CLOB = (Clob) Class.forName("oracle.sql.CLOB",true,
+ AccessController.doPrivileged(J2DoPrivHelper
+ .getContextClassLoaderAction())).
getMethod("empty_lob", new Class[0]).
invoke(null, new Object[0]);
} catch (Exception e) {
@@ -1236,7 +1238,9 @@ public class OracleDictionary
if (EMPTY_BLOB != null)
return EMPTY_BLOB;
try {
- return EMPTY_BLOB = (Blob) Class.forName("oracle.sql.BLOB",true, conf.getClassLoader()).
+ return EMPTY_BLOB = (Blob) Class.forName("oracle.sql.BLOB",true,
+ AccessController.doPrivileged(J2DoPrivHelper
+ .getContextClassLoaderAction())).
getMethod("empty_lob", new Class[0]).
invoke(null, new Object[0]);
} catch (Exception e) {
Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/PostgresDictionary.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/PostgresDictionary.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/PostgresDictionary.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/PostgresDictionary.java Sat Nov 5 17:17:26 2011
@@ -920,9 +920,12 @@ public class PostgresDictionary
try {
if (dbcpGetDelegate == null) {
Class<?> dbcpConnectionClass =
- Class.forName("org.apache.commons.dbcp.DelegatingConnection", true, conf.getClassLoader());
+ Class.forName("org.apache.commons.dbcp.DelegatingConnection", true, AccessController
+ .doPrivileged(J2DoPrivHelper.getContextClassLoaderAction()));
Class<?> poolingDataSource = Class.forName(
- "org.apache.commons.dbcp.PoolingDataSource", true, conf.getClassLoader());
+ "org.apache.commons.dbcp.PoolingDataSource", true,
+ AccessController.doPrivileged(J2DoPrivHelper
+ .getContextClassLoaderAction()));
Method setAccessToUnderlyingConnectionAllowed = poolingDataSource
.getMethod("setAccessToUnderlyingConnectionAllowed",
boolean.class);
Modified: openjpa/trunk/openjpa-jest/src/main/java/org/apache/openjpa/persistence/jest/JESTContext.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jest/src/main/java/org/apache/openjpa/persistence/jest/JESTContext.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jest/src/main/java/org/apache/openjpa/persistence/jest/JESTContext.java (original)
+++ openjpa/trunk/openjpa-jest/src/main/java/org/apache/openjpa/persistence/jest/JESTContext.java Sat Nov 5 17:17:26 2011
@@ -213,7 +213,7 @@ public class JESTContext implements JPAS
public ClassMetaData resolve(String alias) {
ClassLoader loader = Thread.currentThread().getContextClassLoader();
- return _repos.getMetaData(alias, true);
+ return _repos.getMetaData(alias, loader, true);
}
/**
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/abstractstore/AbstractStoreBrokerFactory.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/abstractstore/AbstractStoreBrokerFactory.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/abstractstore/AbstractStoreBrokerFactory.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/abstractstore/AbstractStoreBrokerFactory.java Sat Nov 5 17:17:26 2011
@@ -18,18 +18,19 @@
*/
package org.apache.openjpa.abstractstore;
+import java.security.AccessController;
import java.util.Map;
+import java.util.Properties;
import org.apache.openjpa.conf.OpenJPAConfiguration;
-import org.apache.openjpa.conf.OpenJPAConfigurationImpl;
import org.apache.openjpa.kernel.AbstractBrokerFactory;
import org.apache.openjpa.kernel.Bootstrap;
import org.apache.openjpa.kernel.BrokerFactory;
import org.apache.openjpa.kernel.StoreManager;
-import org.apache.openjpa.lib.conf.Configuration;
import org.apache.openjpa.lib.conf.ConfigurationProvider;
import org.apache.openjpa.lib.conf.Configurations;
import org.apache.openjpa.lib.conf.ProductDerivations;
+import org.apache.openjpa.lib.util.J2DoPrivHelper;
import org.apache.openjpa.lib.util.Localizer;
import org.apache.openjpa.util.UserException;
@@ -49,7 +50,6 @@ import org.apache.openjpa.util.UserExcep
* and bootstrapping from a {@link Map} object (the strategy used by
* {@link Bootstrap} to create a factory in a vendor-neutral manner).
*/
-@SuppressWarnings("serial")
public class AbstractStoreBrokerFactory
extends AbstractBrokerFactory {
@@ -57,9 +57,11 @@ public class AbstractStoreBrokerFactory
* The property name under which to name the concrete store manager
* class for this runtime.
*/
- private static final String PROP_ABSTRACT_STORE = "abstractstore.AbstractStoreManager";
+ private static final String PROP_ABSTRACT_STORE =
+ "abstractstore.AbstractStoreManager";
- private static final Localizer s_loc = Localizer.forPackage(AbstractStoreBrokerFactory.class);
+ private static final Localizer s_loc = Localizer.forPackage
+ (AbstractStoreBrokerFactory.class);
private String _storeCls = null;
private String _storeProps = null;
@@ -69,9 +71,11 @@ public class AbstractStoreBrokerFactory
* Factory method for obtaining a possibly-pooled {@link BrokerFactory}
* from properties. Invoked from {@link Bootstrap#getBrokerFactory()}.
*/
- public static AbstractStoreBrokerFactory getInstance(ConfigurationProvider cp) {
+ public static AbstractStoreBrokerFactory getInstance(
+ ConfigurationProvider cp) {
Object key = toPoolKey(cp.getProperties());
- AbstractStoreBrokerFactory factory = (AbstractStoreBrokerFactory)getPooledFactoryForKey(key);
+ AbstractStoreBrokerFactory factory = (AbstractStoreBrokerFactory)
+ getPooledFactoryForKey(key);
if (factory != null)
return factory;
@@ -84,16 +88,17 @@ public class AbstractStoreBrokerFactory
* Factory method for constructing a {@link BrokerFactory}
* from properties. Invoked from {@link Bootstrap#newBrokerFactory()}.
*/
- public static AbstractStoreBrokerFactory newInstance(ConfigurationProvider cp) {
+ public static AbstractStoreBrokerFactory newInstance
+ (ConfigurationProvider cp) {
// use a tmp store manager to get metadata about the capabilities of
// this runtime
Map map = cp.getProperties();
- OpenJPAConfiguration tmp = new OpenJPAConfigurationImpl();
- cp.setInto(tmp);
- String storePlugin = (String) map.get(ProductDerivations.getConfigurationKey(PROP_ABSTRACT_STORE, map));
+ String storePlugin = (String) map.get(ProductDerivations
+ .getConfigurationKey(PROP_ABSTRACT_STORE, map));
String storeCls = Configurations.getClassName(storePlugin);
String storeProps = Configurations.getProperties(storePlugin);
- AbstractStoreManager store = createStoreManager(storeCls, tmp, storeProps);
+ AbstractStoreManager store = createStoreManager(storeCls,
+ storeProps);
// populate configuration
OpenJPAConfiguration conf = store.newConfiguration();
@@ -101,7 +106,8 @@ public class AbstractStoreBrokerFactory
conf.supportedOptions().removeAll(store.getUnsupportedOptions());
// create and pool a new factory
- return new AbstractStoreBrokerFactory(conf, storeCls, storeProps, store.getPlatform());
+ return new AbstractStoreBrokerFactory(conf, storeCls, storeProps,
+ store.getPlatform());
}
/**
@@ -122,13 +128,17 @@ public class AbstractStoreBrokerFactory
}
protected StoreManager newStoreManager() {
- return createStoreManager(_storeCls, new OpenJPAConfigurationImpl(), _storeProps);
+ return createStoreManager(_storeCls, _storeProps);
}
- private static AbstractStoreManager createStoreManager(String cls, OpenJPAConfiguration conf, String props) {
+ private static AbstractStoreManager createStoreManager(String cls,
+ String props) {
AbstractStoreManager store =
- (AbstractStoreManager) Configurations.newInstance(cls, conf, props);
- Configurations.configureInstance(store, null, props, PROP_ABSTRACT_STORE);
+ (AbstractStoreManager) Configurations.newInstance(cls,
+ AccessController.doPrivileged(J2DoPrivHelper
+ .getClassLoaderAction(AbstractStoreManager.class)));
+ Configurations.configureInstance(store, null, props,
+ PROP_ABSTRACT_STORE);
if (store == null)
throw new UserException(s_loc.get("no-store-manager",
PROP_ABSTRACT_STORE)).setFatal(true);
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/abstractstore/AbstractStoreManager.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/abstractstore/AbstractStoreManager.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/abstractstore/AbstractStoreManager.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/abstractstore/AbstractStoreManager.java Sat Nov 5 17:17:26 2011
@@ -244,7 +244,7 @@ public abstract class AbstractStoreManag
* states, and delegates to
* {@link #flush(Collection,Collection,Collection,Collection,Collection)}.
*/
- public Collection<Exception> flush(Collection<? extends OpenJPAStateManager> sms) {
+ public Collection<Exception> flush(Collection<OpenJPAStateManager> sms) {
// break down state managers by state; initialize as empty lists;
// use constants for efficiency
Collection<OpenJPAStateManager> pNew = new LinkedList<OpenJPAStateManager>();
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/ant/ApplicationIdToolTask.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/ant/ApplicationIdToolTask.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/ant/ApplicationIdToolTask.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/ant/ApplicationIdToolTask.java Sat Nov 5 17:17:26 2011
@@ -104,7 +104,9 @@ public class ApplicationIdToolTask
protected void executeOn(String[] files)
throws IOException, ClassNotFoundException {
- flags.directory = (dirName == null) ? null : Files.getFile(dirName, getClassLoader());
- ApplicationIdTool.run((OpenJPAConfiguration) getConfiguration(), files, flags);
+ flags.directory = (dirName == null) ? null
+ : Files.getFile(dirName, getClassLoader());
+ ApplicationIdTool.run((OpenJPAConfiguration) getConfiguration(), files,
+ flags, getClassLoader ());
}
}
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/ant/PCEnhancerTask.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/ant/PCEnhancerTask.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/ant/PCEnhancerTask.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/ant/PCEnhancerTask.java Sat Nov 5 17:17:26 2011
@@ -86,6 +86,6 @@ public class PCEnhancerTask
: Files.getFile(dirName, getClassLoader());
OpenJPAConfiguration conf = (OpenJPAConfiguration) getConfiguration();
MetaDataRepository repos = conf.newMetaDataRepositoryInstance();
- PCEnhancer.run(conf, files, flags, repos, null);
+ PCEnhancer.run(conf, files, flags, repos, null, getClassLoader ());
}
}
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/AutoDetachValue.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/AutoDetachValue.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/AutoDetachValue.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/AutoDetachValue.java Sat Nov 5 17:17:26 2011
@@ -58,6 +58,10 @@ class AutoDetachValue
setAliasListComprehensive(true);
}
+ public Class getValueType() {
+ return String[].class;
+ }
+
public void setConstant(int flags) {
_flags = flags;
}
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/BrokerFactoryValue.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/BrokerFactoryValue.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/BrokerFactoryValue.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/BrokerFactoryValue.java Sat Nov 5 17:17:26 2011
@@ -23,7 +23,6 @@ import java.util.Map;
import java.util.Iterator;
import org.apache.openjpa.abstractstore.AbstractStoreBrokerFactory;
-import org.apache.openjpa.kernel.Broker;
import org.apache.openjpa.kernel.BrokerFactory;
import org.apache.openjpa.lib.conf.ConfigurationProvider;
import org.apache.openjpa.lib.conf.PluginValue;
@@ -39,7 +38,7 @@ import org.apache.openjpa.lib.conf.Produ
* @nojavadoc
*/
public class BrokerFactoryValue
- extends PluginValue<BrokerFactory> {
+ extends PluginValue {
public static final String KEY = "BrokerFactory";
@@ -79,7 +78,7 @@ public class BrokerFactoryValue
}
public BrokerFactoryValue() {
- super(BrokerFactory.class, KEY, false);
+ super(KEY, false);
setAliases(_aliases);
}
}
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/BrokerValue.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/BrokerValue.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/BrokerValue.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/BrokerValue.java Sat Nov 5 17:17:26 2011
@@ -18,10 +18,10 @@
*/
package org.apache.openjpa.conf;
+import org.apache.openjpa.lib.conf.PluginValue;
+import org.apache.openjpa.lib.conf.Configuration;
import org.apache.openjpa.kernel.BrokerImpl;
import org.apache.openjpa.kernel.FinalizingBrokerImpl;
-import org.apache.openjpa.lib.conf.Configuration;
-import org.apache.openjpa.lib.conf.PluginValue;
import org.apache.openjpa.util.InternalException;
/**
@@ -31,7 +31,7 @@ import org.apache.openjpa.util.InternalE
* @since 0.9.7
*/
public class BrokerValue
- extends PluginValue<BrokerImpl> {
+ extends PluginValue {
public static final String KEY = "BrokerImpl";
public static final String NON_FINALIZING_ALIAS = "non-finalizing";
@@ -40,7 +40,7 @@ public class BrokerValue
private BrokerImpl _templateBroker;
public BrokerValue() {
- super(BrokerImpl.class, KEY, false);
+ super(KEY, false);
String[] aliases = new String[] {
DEFAULT_ALIAS, FinalizingBrokerImpl.class.getName(),
NON_FINALIZING_ALIAS, BrokerImpl.class.getName(),
@@ -50,29 +50,34 @@ public class BrokerValue
setString(aliases[0]);
}
- public BrokerImpl newInstance(String clsName, Configuration conf, boolean fatal) {
- getTemplateBroker(clsName, conf, fatal);
+ public Object newInstance(String clsName, Class type, Configuration conf,
+ boolean fatal) {
+ getTemplateBroker(clsName, type, conf, fatal);
try {
- return (BrokerImpl)_templateBroker.clone();
+ return _templateBroker.clone();
} catch (CloneNotSupportedException e) {
throw new InternalException(e);
}
}
public Class<? extends BrokerImpl> getTemplateBrokerType(Configuration c) {
- return getTemplateBroker(getClassName(), c, true).getClass();
+ return getTemplateBroker(getClassName(), BrokerImpl.class, c, true)
+ .getClass();
}
- private BrokerImpl getTemplateBroker(String clsName, Configuration conf, boolean fatal) {
+ private BrokerImpl getTemplateBroker(String clsName, Class type,
+ Configuration conf, boolean fatal) {
if (clsName == null || !clsName.equals(getClassName()))
- throw new IllegalArgumentException("clsName != configured value '" + getClassName() + "'");
+ throw new IllegalArgumentException("clsName != configured value '"
+ + getClassName() + "'");
// This is not synchronized. If there are concurrent invocations
// while _templateBroker is null, we'll just end up with extra
// template brokers, which will get safely garbage collected.
if (_templateBroker == null)
- _templateBroker = super.newInstance(clsName, conf, fatal);
+ _templateBroker = (BrokerImpl) super.newInstance(clsName, type,
+ conf, fatal);
return _templateBroker;
}
}
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/CacheMarshallerImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/CacheMarshallerImpl.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/CacheMarshallerImpl.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/CacheMarshallerImpl.java Sat Nov 5 17:17:26 2011
@@ -182,7 +182,8 @@ public class CacheMarshallerImpl
throws InstantiationException, IllegalAccessException {
String name = Configurations.getClassName(policy);
String props = Configurations.getProperties(policy);
- _validationPolicy = (ValidationPolicy) Configurations.newInstance(name, _conf, props);
+ _validationPolicy = (ValidationPolicy)
+ Configurations.newInstance(name, _conf, props, null);
}
public ValidationPolicy getValidationPolicy() {
@@ -217,7 +218,8 @@ public class CacheMarshallerImpl
private void setInputUrlFromResourceLocation() {
try {
- ClassLoader cl = _conf.getClassLoader();
+ ClassLoader cl = _conf.getClassResolverInstance()
+ .getClassLoader(getClass(), null);
List list = new ArrayList();
for (Enumeration e = cl.getResources(_inputResourceLocation);
e.hasMoreElements(); )
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/CacheMarshallersValue.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/CacheMarshallersValue.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/CacheMarshallersValue.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/CacheMarshallersValue.java Sat Nov 5 17:17:26 2011
@@ -32,28 +32,33 @@ import org.apache.openjpa.lib.conf.Confi
*
* @since 1.1.0
*/
-public class CacheMarshallersValue extends PluginListValue<CacheMarshaller> {
+public class CacheMarshallersValue
+ extends PluginListValue {
private static final String KEY = "CacheMarshallers";
- private static final CacheMarshaller NO_OP_CACHE_MARSHALLER = new NoOpCacheMarshaller();
- private static final Localizer _loc = Localizer.forPackage(CacheMarshallersValue.class);
+ private static final CacheMarshaller NO_OP_CACHE_MARSHALLER
+ = new NoOpCacheMarshaller();
+ private static final Localizer _loc =
+ Localizer.forPackage(CacheMarshallersValue.class);
private Configuration _conf;
private Map<String,CacheMarshaller> _marshallers;
private boolean _initialized;
public CacheMarshallersValue(Configuration conf) {
- super(CacheMarshaller[].class, KEY);
+ super(KEY);
_conf = conf;
setAlias("default", CacheMarshallerImpl.class.getName());
- setAlias("none", (String)null);
+ setAlias("none", null);
setDefault("none");
setString("none");
setScope(getClass());
}
- public CacheMarshaller[] instantiate(Configuration conf, boolean fatal) {
- CacheMarshaller[] ms = super.instantiate(conf, fatal);
+ public Object instantiate(Class<?> elemType, Configuration conf,
+ boolean fatal) {
+ CacheMarshaller[] ms = (CacheMarshaller[])
+ super.instantiate(elemType, conf, fatal);
if (ms != null) {
_marshallers = new HashMap<String,CacheMarshaller>();
for (int i = 0; i < ms.length; i++) {
@@ -109,7 +114,7 @@ public class CacheMarshallersValue exten
protected synchronized void initialize() {
if (!_initialized) {
- instantiate(_conf);
+ instantiate(CacheMarshaller.class, _conf);
_initialized = true;
}
}
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/MetaDataCacheMaintenance.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/MetaDataCacheMaintenance.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/MetaDataCacheMaintenance.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/MetaDataCacheMaintenance.java Sat Nov 5 17:17:26 2011
@@ -18,7 +18,6 @@
*/
package org.apache.openjpa.conf;
-import java.security.AccessController;
import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
@@ -27,7 +26,6 @@ import org.apache.openjpa.kernel.Bootstr
import org.apache.openjpa.kernel.Broker;
import org.apache.openjpa.kernel.BrokerFactory;
import org.apache.openjpa.kernel.Query;
-import org.apache.openjpa.lib.util.J2DoPrivHelper;
import org.apache.openjpa.lib.util.Options;
import org.apache.openjpa.lib.log.Log;
import org.apache.openjpa.lib.conf.MapConfigurationProvider;
@@ -53,11 +51,14 @@ public class MetaDataCacheMaintenance {
public static void main(String[] args) {
Options opts = new Options();
args = opts.setFromCmdLine(args);
- boolean devpath = opts.getBooleanProperty("scanDevPath", "ScanDevPath", true);
+ boolean devpath = opts.getBooleanProperty("scanDevPath", "ScanDevPath",
+ true);
+
ConfigurationProvider cp = new MapConfigurationProvider(opts);
- BrokerFactory factory = Bootstrap.newBrokerFactory(cp);
+ BrokerFactory factory = Bootstrap.newBrokerFactory(cp, null);
try {
- MetaDataCacheMaintenance maint = new MetaDataCacheMaintenance(factory, devpath);
+ MetaDataCacheMaintenance maint = new MetaDataCacheMaintenance(
+ factory, devpath);
if (args.length != 1) {
usage();
@@ -114,9 +115,9 @@ public class MetaDataCacheMaintenance {
public void store() {
MetaDataRepository repos = conf.getMetaDataRepositoryInstance();
repos.setSourceMode(MetaDataRepository.MODE_ALL);
- Collection types = repos.loadPersistentTypes(devpath);
+ Collection types = repos.loadPersistentTypes(devpath, null);
for (Iterator iter = types.iterator(); iter.hasNext(); )
- repos.getMetaData((Class) iter.next(), true);
+ repos.getMetaData((Class) iter.next(), null, true);
loadQueries();
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/MetaDataRepositoryValue.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/MetaDataRepositoryValue.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/MetaDataRepositoryValue.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/MetaDataRepositoryValue.java Sat Nov 5 17:17:26 2011
@@ -32,12 +32,12 @@ import org.apache.openjpa.meta.MetaDataR
* @since 1.1.0
*/
public class MetaDataRepositoryValue
- extends PluginValue<MetaDataRepository> {
+ extends PluginValue {
private static final String KEY = "MetaDataRepository";
public MetaDataRepositoryValue() {
- super(MetaDataRepository.class, KEY, false);
+ super(KEY, false);
String[] aliases = new String[] {
"default",
MetaDataRepository.class.getName()
@@ -47,7 +47,7 @@ public class MetaDataRepositoryValue
setString(aliases[0]);
}
- public MetaDataRepository instantiate(Configuration c, boolean fatal) {
+ public Object instantiate(Class type, Configuration c, boolean fatal) {
MetaDataRepository repos = null;
OpenJPAConfiguration conf = (OpenJPAConfiguration) c;
@@ -64,7 +64,10 @@ public class MetaDataRepositoryValue
conf.getQueryCompilationCacheInstance().putAll((Map) os[1]);
}
- return (repos == null) ? super.instantiate(c, fatal) : repos;
+ if (repos == null)
+ return super.instantiate(type, c, fatal);
+ else
+ return repos;
}
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfiguration.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfiguration.java?rev=1197994&r1=1197993&r2=1197994&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfiguration.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfiguration.java Sat Nov 5 17:17:26 2011
@@ -21,6 +21,7 @@ package org.apache.openjpa.conf;
import java.util.Collection;
import java.util.Map;
+import org.apache.openjpa.kernel.AuditManager;
import org.apache.openjpa.audit.Auditor;
import org.apache.openjpa.datacache.CacheDistributionPolicy;
import org.apache.openjpa.datacache.DataCache;
@@ -57,7 +58,6 @@ import org.apache.openjpa.meta.MetaDataR
import org.apache.openjpa.util.ClassResolver;
import org.apache.openjpa.util.ProxyManager;
import org.apache.openjpa.util.StoreFacadeTypeRegistry;
-import org.apache.openjpa.validation.Validator;
/**
* Defines the properties necessary to configure runtime properties and
@@ -270,23 +270,23 @@ public interface OpenJPAConfiguration
* The plugin string for the {@link ClassResolver} to use for custom
* class loading.
*/
-// public String getClassResolver();
+ public String getClassResolver();
/**
* The plugin string for the {@link ClassResolver} to use for custom
* class loading.
*/
-// public void setClassResolver(String classResolver);
+ public void setClassResolver(String classResolver);
/**
* The {@link ClassResolver} to use.
*/
-// public ClassResolver getClassResolverInstance();
+ public ClassResolver getClassResolverInstance();
/**
* The {@link ClassResolver} to use.
*/
-// public void setClassResolver(ClassResolver classResolver);
+ public void setClassResolver(ClassResolver classResolver);
/**
* The {@link BrokerFactory} class to use.
@@ -1701,7 +1701,7 @@ public interface OpenJPAConfiguration
*
* @since 2.0.0
*/
- public Validator getValidatorInstance();
+ public Object getValidatorInstance();
/**
* Set the container or application provided Validator instance.
@@ -1709,7 +1709,7 @@ public interface OpenJPAConfiguration
*
* @since 2.0.0
*/
- public void setValidatorInstance(Validator val);
+ public void setValidatorInstance(Object val);
/**
* Gets the lifecycle event manager instance classname.
@@ -1786,7 +1786,7 @@ public interface OpenJPAConfiguration
*
* @return EncryptionProvider
*/
- public EncryptionProvider getEncryptionProviderInstance();
+ public EncryptionProvider getEncryptionProvider();
/**