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;
     }
     
     /**