You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by pp...@apache.org on 2009/10/01 18:43:20 UTC
svn commit: r820712 - in /openjpa/trunk:
openjpa-kernel/src/main/java/org/apache/openjpa/conf/
openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/
Author: ppoddar
Date: Thu Oct 1 16:43:19 2009
New Revision: 820712
URL: http://svn.apache.org/viewvc?rev=820712&view=rev
Log:
OPENJPA-1332: Make some Value "private".
Modified:
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfigurationImpl.java
openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/ConfigurationImpl.java
openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/Value.java
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfigurationImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfigurationImpl.java?rev=820712&r1=820711&r2=820712&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfigurationImpl.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfigurationImpl.java Thu Oct 1 16:43:19 2009
@@ -352,7 +352,7 @@
connectionPassword = addString("ConnectionPassword");
connectionPassword.addEquivalentKey("javax.persistence.jdbc.password");
- connectionPassword.setVisible(false);
+ connectionPassword.hide();
encryptionProvider = addPlugin("EncryptionProvider",true);
@@ -367,7 +367,8 @@
connectionFactoryProperties = addString("ConnectionFactoryProperties");
connection2UserName = addString("Connection2UserName");
connection2Password = addString("Connection2Password");
- connection2Password.setVisible(false);
+ connection2Password.hide();
+
connection2URL = addString("Connection2URL");
connection2DriverName = addString("Connection2DriverName");
connection2Properties = addString("Connection2Properties");
@@ -577,7 +578,8 @@
validator = addObject("Validator");
validator.setInstantiatingGetter("getValidatorInstance");
validator.setDynamic(true);
-
+ validator.makePrivate();
+
lifecycleEventManager = addPlugin("LifecycleEventManager", true);
aliases = new String[] {
"default", LifecycleEventManager.class.getName(),
Modified: openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/ConfigurationImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/ConfigurationImpl.java?rev=820712&r1=820711&r2=820712&view=diff
==============================================================================
--- openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/ConfigurationImpl.java (original)
+++ openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/ConfigurationImpl.java Thu Oct 1 16:43:19 2009
@@ -688,6 +688,10 @@
/**
* Gets all known property keys.
+ * The keys are harvested from the property names (including the equivalent names) of the registered values.
+ * A key may be prefixed if the corresponding property name was without a prefix.
+ * @see #fixPrefix(String)
+ * The Values that are {@linkplain Value#makePrivate() marked private} are filtered out.
*/
public Set<String> getPropertyKeys() {
if (_supportedKeys != null)
@@ -695,6 +699,8 @@
_supportedKeys = new TreeSet<String>();
for (Value val : _vals) {
+ if (val.isPrivate())
+ continue;
List<String> keys = val.getPropertyKeys();
for (String key : keys) {
_supportedKeys.add(fixPrefix(key));
@@ -740,8 +746,8 @@
key = "openjpa." + val.getProperty();
}
}
- Object external = val.isVisible() ? val instanceof ObjectValue
- ? val.getString() : val.get() : Value.INVISIBLE;
+ Object external = val.isHidden() ? Value.INVISIBLE :
+ val instanceof ObjectValue ? val.getString() : val.get();
map.put(key, external);
}
Modified: openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/Value.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/Value.java?rev=820712&r1=820711&r2=820712&view=diff
==============================================================================
--- openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/Value.java (original)
+++ openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/Value.java Thu Oct 1 16:43:19 2009
@@ -53,7 +53,8 @@
private boolean isDynamic = false;
private String originalValue = null;
private Set<String> otherNames = null;
- private boolean visible = true;
+ private boolean _hidden = false;
+ private boolean _private = false;
/**
* Default constructor.
@@ -553,12 +554,35 @@
}
}
- public boolean isVisible() {
- return visible;
+ /**
+ * Affirms if the value for this Value is visible.
+ * Certain sensitive value such as password can be made invisible
+ * so that it is not returned to the user code.
+ */
+ public boolean isHidden() {
+ return _hidden;
+ }
+
+ /**
+ * Hides the value of this Value from being output to the caller.
+ */
+ public void hide() {
+ _hidden = true;
+ }
+
+ /**
+ * Affirms if this Value is used for internal purpose only and not exposed as a supported property.
+ * @see Configuration#getPropertyKeys()
+ */
+ public boolean isPrivate() {
+ return _private;
}
- public void setVisible(boolean visible) {
- this.visible = visible;
+ /**
+ * Marks this Value for internal purpose only.
+ */
+ public void makePrivate() {
+ _private = true;
}
/**