You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by jr...@apache.org on 2009/02/05 04:31:15 UTC
svn commit: r740991 - in
/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence:
EntityManagerFactoryImpl.java EntityManagerImpl.java
OpenJPAEntityManagerFactory.java
Author: jrbauer
Date: Thu Feb 5 03:31:15 2009
New Revision: 740991
URL: http://svn.apache.org/viewvc?rev=740991&view=rev
Log:
OPENJPA-849 Committing code and corresponding tests contributed by Dianne Richards
Modified:
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerFactoryImpl.java
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/OpenJPAEntityManagerFactory.java
Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerFactoryImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerFactoryImpl.java?rev=740991&r1=740990&r2=740991&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerFactoryImpl.java (original)
+++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerFactoryImpl.java Thu Feb 5 03:31:15 2009
@@ -18,23 +18,18 @@
*/
package org.apache.openjpa.persistence;
-import java.io.InputStream;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Collections;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
-import java.util.Properties;
import java.util.Set;
import javax.persistence.Cache;
import javax.persistence.EntityManagerFactory;
-import javax.persistence.QueryBuilder;
-
import org.apache.openjpa.conf.OpenJPAConfiguration;
import org.apache.openjpa.enhance.Reflection;
import org.apache.openjpa.kernel.AutoDetach;
@@ -71,7 +66,6 @@
private transient Constructor<FetchPlan> _plan = null;
private transient StoreCache _cache = null;
private transient QueryResultCache _queryCache = null;
- private Set<String> _supportedPropertyKeys;
/**
* Default constructor provided for auto-instantiation.
@@ -104,9 +98,20 @@
public OpenJPAConfiguration getConfiguration() {
return _factory.getConfiguration();
}
-
- public Properties getProperties() {
- return _factory.getProperties();
+
+ /*
+ * @see javax.persistence.EntityManagerFactory#getProperties()
+ *
+ * This does not return the password property.
+ */
+ public Map getProperties() {
+ Map properties = _factory.getAllProperties();
+
+ // Remove the password property
+ properties.remove("javax.persistence.jdbc.password");
+ properties.remove("openjpa.ConnectionPassword");
+
+ return properties;
}
public Object putUserObject(Object key, Object val) {
@@ -350,7 +355,6 @@
}
public Set<String> getSupportedProperties() {
- throw new UnsupportedOperationException(
- "JPA 2.0 - Method not yet implemented");
+ return _factory.getSupportedProperties();
}
}
Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java?rev=740991&r1=740990&r2=740991&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java (original)
+++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java Thu Feb 5 03:31:15 2009
@@ -31,6 +31,7 @@
import java.util.Arrays;
import java.util.Collection;
import java.util.EnumSet;
+import java.util.HashMap;
import java.util.IdentityHashMap;
import java.util.Map;
import java.util.Set;
@@ -964,7 +965,7 @@
return _broker.getCachePreparedQuery() ?
getConfiguration().getQuerySQLCacheInstance() : null;
}
-
+
/**
* Gets the prepared query cached by the given key.
*
@@ -975,7 +976,6 @@
return (cache == null) ? null : cache.get(id);
}
-
public void setFlushMode(FlushModeType flushMode) {
assertNotCloseInvoked();
_broker.assertOpen();
@@ -1442,9 +1442,23 @@
"JPA 2.0 - Method not yet implemented");
}
+ /*
+ * @see javax.persistence.EntityManager#getProperties()
+ *
+ * This does not return the password property.
+ */
public Map<String, Object> getProperties() {
- throw new UnsupportedOperationException(
- "JPA 2.0 - Method not yet implemented");
+ Map<String, String> currentProperties = _broker.getProperties();
+
+ // Convert the <String, String> map into a <String, Object> map
+ Map<String, Object> finalMap =
+ new HashMap<String, Object>(currentProperties);
+
+ // Remove the password property
+ finalMap.remove("javax.persistence.jdbc.password");
+ finalMap.remove("openjpa.ConnectionPassword");
+
+ return finalMap;
}
public OpenJPAQueryBuilder getQueryBuilder() {
@@ -1452,8 +1466,7 @@
}
public Set<String> getSupportedProperties() {
- throw new UnsupportedOperationException(
- "JPA 2.0 - Method not yet implemented");
+ return _broker.getSupportedProperties();
}
public void lock(Object entity, LockModeType lockMode, Map<String,
Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/OpenJPAEntityManagerFactory.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/OpenJPAEntityManagerFactory.java?rev=740991&r1=740990&r2=740991&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/OpenJPAEntityManagerFactory.java (original)
+++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/OpenJPAEntityManagerFactory.java Thu Feb 5 03:31:15 2009
@@ -36,7 +36,7 @@
/**
* Return properties describing this runtime.
*/
- public Properties getProperties();
+ public Map<String, Object> getProperties();
/**
* Put the specified key-value pair into the map of user objects.