Fixed quality issues.

Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/commit/e1aa4036
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/tree/e1aa4036
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/diff/e1aa4036

Branch: refs/heads/master
Commit: e1aa403603321e4e44feae878841c9764924465a
Parents: db3b805
Author: anatole <anat...@apache.org>
Authored: Sat Apr 30 20:29:16 2016 +0200
Committer: anatole <anat...@apache.org>
Committed: Sat Apr 30 20:29:16 2016 +0200

----------------------------------------------------------------------
 .../apache/tamaya/model/ConfigModelManager.java | 18 +++++++++++++++
 .../ConfiguredPropertiesModelProviderSpi.java   | 10 +++------
 .../model/internal/DefaultUsageTracker.java     | 23 +++++++++++++++++++-
 .../model/internal/UsageTrackerFilter.java      |  7 +++---
 .../tamaya/model/spi/ConfigModelReader.java     | 11 +++++++++-
 .../tamaya/model/spi/UsageTrackerSpi.java       | 12 ++++++++++
 6 files changed, 69 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/e1aa4036/model/src/main/java/org/apache/tamaya/model/ConfigModelManager.java
----------------------------------------------------------------------
diff --git 
a/model/src/main/java/org/apache/tamaya/model/ConfigModelManager.java 
b/model/src/main/java/org/apache/tamaya/model/ConfigModelManager.java
index d0a5a01..8139310 100644
--- a/model/src/main/java/org/apache/tamaya/model/ConfigModelManager.java
+++ b/model/src/main/java/org/apache/tamaya/model/ConfigModelManager.java
@@ -51,6 +51,24 @@ public final class ConfigModelManager {
     }
 
     /**
+     * Enables/disables usage tracking.
+     * @param enabled set to true to enable usage tracking.
+     */
+    public static void enableUsageTracking(boolean enabled){
+        Objects.requireNonNull(usageTracker, "No UsageTrackerSpi component 
available.")
+                .enableUsageTracking(enabled);
+    }
+
+    /**
+     * Allows to check if usage tracking is enabled /should be disbled by 
default).
+     * @return true, if usage tracking is enabled.
+     */
+    public static boolean isUsageTrackingEnabled(){
+        return Objects.requireNonNull(usageTracker, "No UsageTrackerSpi 
component available.")
+                .isUsageTrackingEnabled();
+    }
+
+    /**
      * Access the usage statistics for the recorded uses of configuration.
      */
     public static String getUsageInfo(){

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/e1aa4036/model/src/main/java/org/apache/tamaya/model/internal/ConfiguredPropertiesModelProviderSpi.java
----------------------------------------------------------------------
diff --git 
a/model/src/main/java/org/apache/tamaya/model/internal/ConfiguredPropertiesModelProviderSpi.java
 
b/model/src/main/java/org/apache/tamaya/model/internal/ConfiguredPropertiesModelProviderSpi.java
index 6585181..a292e49 100644
--- 
a/model/src/main/java/org/apache/tamaya/model/internal/ConfiguredPropertiesModelProviderSpi.java
+++ 
b/model/src/main/java/org/apache/tamaya/model/internal/ConfiguredPropertiesModelProviderSpi.java
@@ -27,12 +27,7 @@ import org.apache.tamaya.spisupport.MapPropertySource;
 
 import java.io.InputStream;
 import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.Properties;
+import java.util.*;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -134,8 +129,9 @@ public class ConfiguredPropertiesModelProviderSpi 
implements ModelProviderSpi {
                 try (InputStream is = config.openStream()) {
                     Properties props = new Properties();
                     props.load(is);
+                    Map<String,String> data = MapPropertySource.getMap(props);
                     configModels.addAll(ConfigModelReader.loadValidations(
-                            MapPropertySource.getMap(props), 
config.toString()));
+                            data));
                 } catch (Exception e) {
                     Logger.getLogger(getClass().getName()).log(Level.SEVERE,
                             "Error loading config metadata from " + config, e);

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/e1aa4036/model/src/main/java/org/apache/tamaya/model/internal/DefaultUsageTracker.java
----------------------------------------------------------------------
diff --git 
a/model/src/main/java/org/apache/tamaya/model/internal/DefaultUsageTracker.java 
b/model/src/main/java/org/apache/tamaya/model/internal/DefaultUsageTracker.java
index 73729f1..b9575a2 100644
--- 
a/model/src/main/java/org/apache/tamaya/model/internal/DefaultUsageTracker.java
+++ 
b/model/src/main/java/org/apache/tamaya/model/internal/DefaultUsageTracker.java
@@ -21,7 +21,15 @@ package org.apache.tamaya.model.internal;
 import org.apache.tamaya.model.Usage;
 import org.apache.tamaya.model.spi.UsageTrackerSpi;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
 /**
@@ -33,6 +41,9 @@ public class DefaultUsageTracker implements UsageTrackerSpi{
 
     private Map<String, Usage> usages = new ConcurrentHashMap<>();
 
+    /** By default usage tracking is not enabled. */
+    private boolean usageTrackingEnabled = false;
+
     public DefaultUsageTracker(){
         ignoredPackages.add("com.intellij");
         ignoredPackages.add("java");
@@ -47,6 +58,16 @@ public class DefaultUsageTracker implements UsageTrackerSpi{
     }
 
     @Override
+    public void enableUsageTracking(boolean enabled){
+        this.usageTrackingEnabled = enabled;
+    }
+
+    @Override
+    public boolean isUsageTrackingEnabled(){
+        return usageTrackingEnabled;
+    }
+
+    @Override
     public Set<String> getIgnoredPackages() {
         return Collections.unmodifiableSet(ignoredPackages);
     }

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/e1aa4036/model/src/main/java/org/apache/tamaya/model/internal/UsageTrackerFilter.java
----------------------------------------------------------------------
diff --git 
a/model/src/main/java/org/apache/tamaya/model/internal/UsageTrackerFilter.java 
b/model/src/main/java/org/apache/tamaya/model/internal/UsageTrackerFilter.java
index 8cf7b60..6dac53f 100644
--- 
a/model/src/main/java/org/apache/tamaya/model/internal/UsageTrackerFilter.java
+++ 
b/model/src/main/java/org/apache/tamaya/model/internal/UsageTrackerFilter.java
@@ -32,12 +32,13 @@ import javax.annotation.Priority;
  */
 @Priority(Integer.MAX_VALUE)
 public class UsageTrackerFilter implements PropertyFilter{
+
     @Override
     public String filterProperty(String value, FilterContext context) {
-        UsageTrackerSpi tracker = 
ServiceContextManager.getServiceContext().getService(UsageTrackerSpi.class);
-        if(context.isSinglePropertyScoped()) {
+            UsageTrackerSpi tracker = 
ServiceContextManager.getServiceContext().getService(UsageTrackerSpi.class);
+        if (context.isSinglePropertyScoped()) {
             tracker.trackSingleKeyAccess(context.getKey(), value);
-        }else{
+        } else {
             tracker.trackAllPropertiesAccess();
         }
         return value;

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/e1aa4036/model/src/main/java/org/apache/tamaya/model/spi/ConfigModelReader.java
----------------------------------------------------------------------
diff --git 
a/model/src/main/java/org/apache/tamaya/model/spi/ConfigModelReader.java 
b/model/src/main/java/org/apache/tamaya/model/spi/ConfigModelReader.java
index db85722..6a69748 100644
--- a/model/src/main/java/org/apache/tamaya/model/spi/ConfigModelReader.java
+++ b/model/src/main/java/org/apache/tamaya/model/spi/ConfigModelReader.java
@@ -68,11 +68,20 @@ public final class ConfigModelReader {
      * @return a collection of config validations.
      */
     public static Collection<ConfigModel> loadValidations(Map<String,String> 
props) {
+        return loadValidations(props, getSelector(props));
+    }
+
+    /**
+     * Evaluates the correct selector.
+     * @param props
+     * @return
+     */
+    private static String getSelector(Map<String,String> props){
         String selector = props.get(META_INFO_SELECTOR_PARAM);
         if(selector==null){
             selector = DEFAULT_META_INFO_SELECTOR;
         }
-        return loadValidations(props, selector);
+        return selector;
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/e1aa4036/model/src/main/java/org/apache/tamaya/model/spi/UsageTrackerSpi.java
----------------------------------------------------------------------
diff --git 
a/model/src/main/java/org/apache/tamaya/model/spi/UsageTrackerSpi.java 
b/model/src/main/java/org/apache/tamaya/model/spi/UsageTrackerSpi.java
index fd85597..ed6e12b 100644
--- a/model/src/main/java/org/apache/tamaya/model/spi/UsageTrackerSpi.java
+++ b/model/src/main/java/org/apache/tamaya/model/spi/UsageTrackerSpi.java
@@ -30,6 +30,18 @@ import java.util.Set;
 public interface UsageTrackerSpi {
 
     /**
+     * Enables/disables usage tracking.
+     * @param enable set to true to enable usage tracking.
+     */
+    void enableUsageTracking(boolean enable);
+
+    /**
+     * Allows to check if usage tracking is enabled /should be disbled by 
default).
+     * @return true, if usage tracking is enabled.
+     */
+    boolean isUsageTrackingEnabled();
+
+    /**
      * Get the list of package, which are not evaluated for tracking 
configuration access and usage statistics.
      * @return the set of ignored package names.
      */

Reply via email to