You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tamaya.apache.org by an...@apache.org on 2018/11/18 21:20:43 UTC
[10/16] incubator-tamaya-sandbox git commit: TAMAYA-274 Some minor
additions. TAMAYA-353 Some minor additions.
TAMAYA-274 Some minor additions.
TAMAYA-353 Some minor additions.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/commit/a4bfdb4a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/tree/a4bfdb4a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/diff/a4bfdb4a
Branch: refs/heads/master
Commit: a4bfdb4a6df6be1602d6fc31fb68465114c1feac
Parents: 19ba2a4
Author: Anatole Tresch <at...@gmail.com>
Authored: Mon Nov 5 00:21:40 2018 +0100
Committer: Anatole Tresch <at...@gmail.com>
Committed: Mon Nov 5 00:21:40 2018 +0100
----------------------------------------------------------------------
.../apache/tamaya/usagetracker/ConfigUsage.java | 53 ++++++++------
.../apache/tamaya/usagetracker/UsageStat.java | 2 +-
.../tamaya/model/ConfigUsageStatsTest.java | 74 --------------------
.../apache/tamaya/model/ConfigUsageTest.java | 74 ++++++++++++++++++++
4 files changed, 108 insertions(+), 95 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/a4bfdb4a/usagetracker/src/main/java/org/apache/tamaya/usagetracker/ConfigUsage.java
----------------------------------------------------------------------
diff --git a/usagetracker/src/main/java/org/apache/tamaya/usagetracker/ConfigUsage.java b/usagetracker/src/main/java/org/apache/tamaya/usagetracker/ConfigUsage.java
index 1bfacb4..13536ba 100644
--- a/usagetracker/src/main/java/org/apache/tamaya/usagetracker/ConfigUsage.java
+++ b/usagetracker/src/main/java/org/apache/tamaya/usagetracker/ConfigUsage.java
@@ -23,6 +23,7 @@ import org.apache.tamaya.spi.ServiceContextManager;
import org.apache.tamaya.usagetracker.spi.ConfigUsageSpi;
import java.util.Collection;
+import java.util.Objects;
import java.util.Set;
import java.util.logging.Logger;
@@ -36,8 +37,10 @@ public final class ConfigUsage {
private static final String NO_USAGE_TRACKER_SPI_COMPONENT_MESSAGE = "No UsageTrackerSpi component available.";
+ private ConfigUsageSpi spi;
+
/** The loaded usage tracking SPI. */
- private static ConfigUsageSpi spi(){
+ private static ConfigUsageSpi spi(ClassLoader classLoader){
ConfigUsageSpi spi = ServiceContextManager
.getServiceContext().getService(ConfigUsageSpi.class);
if(spi==null){
@@ -49,31 +52,41 @@ public final class ConfigUsage {
/**
* Singleton constructor.
*/
- private ConfigUsage() {
+ private ConfigUsage(ConfigUsageSpi spi) {
+ this.spi = Objects.requireNonNull(spi);
+ }
+
+ public static ConfigUsage getInstance(){
+ return getInstance(ServiceContextManager.getDefaultClassLoader());
+ }
+
+ public static ConfigUsage getInstance(ClassLoader classLoader){
+ return ServiceContextManager.getServiceContext(classLoader).getService(ConfigUsage.class,
+ () -> new ConfigUsage(spi(classLoader)));
}
/**
* Returns a setCurrent of package names that are to be ignored when collecting usage data.
* @return the ignored package names, not null.
*/
- public static Set<String> getIgnoredPackages(){
- return spi().getIgnoredPackages();
+ public Set<String> getIgnoredPackages(){
+ return spi.getIgnoredPackages();
}
/**
* Adds the given packageNames to the createList of packages to be ignored when collecting usage data.
* @param packageName the package names to be added, not null.
*/
- public static void addIgnoredPackages(String... packageName){
- spi().addIgnoredPackages(packageName);
+ public void addIgnoredPackages(String... packageName){
+ spi.addIgnoredPackages(packageName);
}
/**
* Enables/disables usage tracking.
* @param enabled setCurrent to true to enable usage tracking.
*/
- public static void enableUsageTracking(boolean enabled){
- spi().enableUsageTracking(enabled);
+ public void enableUsageTracking(boolean enabled){
+ spi.enableUsageTracking(enabled);
}
/**
@@ -82,23 +95,23 @@ public final class ConfigUsage {
* @param key the fully qualified configuration key, not null.
* @return the stats collected, or null.
*/
- public static UsageStat getSinglePropertyStats(String key){
- return spi().getSinglePropertyStats(key);
+ public UsageStat getSinglePropertyStats(String key){
+ return spi.getSinglePropertyStats(key);
}
/**
* Get the recorded usage references of configuration.
* @return the recorded usge references, never null.
*/
- public static Collection<UsageStat> getUsageStats() {
- return spi().getUsageStats();
+ public Collection<UsageStat> getUsageStats() {
+ return spi.getUsageStats();
}
/**
* Clears all collected usage statistics.
*/
- public static void clearStats() {
- spi().clearStats();
+ public void clearStats() {
+ spi.clearStats();
}
/**
@@ -106,24 +119,24 @@ public final class ConfigUsage {
* If usage stats collection is not activated (default), this method returns null.
* @return the stats collected, or null.
*/
- public static UsageStat getAllPropertiesStats(){
- return spi().getAllPropertiesStats();
+ public UsageStat getAllPropertiesStats(){
+ return spi.getAllPropertiesStats();
}
/**
* Allows to check if usage tracking is enabled (should be disbled by default).
* @return true, if usage tracking is enabled.
*/
- public static boolean isTrackingEnabled(){
- return spi().isTrackingEnabled();
+ public boolean isTrackingEnabled(){
+ return spi.isTrackingEnabled();
}
/**
* Access the usage statistics for the recorded uses of configuration.
* @return usage info or default message.
*/
- public static String getInfo(){
- return spi().getInfo();
+ public String getInfo(){
+ return spi.getInfo();
}
}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/a4bfdb4a/usagetracker/src/main/java/org/apache/tamaya/usagetracker/UsageStat.java
----------------------------------------------------------------------
diff --git a/usagetracker/src/main/java/org/apache/tamaya/usagetracker/UsageStat.java b/usagetracker/src/main/java/org/apache/tamaya/usagetracker/UsageStat.java
index bab6312..43e88f6 100644
--- a/usagetracker/src/main/java/org/apache/tamaya/usagetracker/UsageStat.java
+++ b/usagetracker/src/main/java/org/apache/tamaya/usagetracker/UsageStat.java
@@ -188,7 +188,7 @@ public final class UsageStat {
List<String> trace = new ArrayList<>();
stack:
for (StackTraceElement ste : e.getStackTrace()) {
- for (String ignored : ConfigUsage.getIgnoredPackages()) {
+ for (String ignored : ConfigUsage.getInstance().getIgnoredPackages()) {
if (ste.getClassName().startsWith(ignored)) {
continue stack;
}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/a4bfdb4a/usagetracker/src/test/java/org/apache/tamaya/model/ConfigUsageStatsTest.java
----------------------------------------------------------------------
diff --git a/usagetracker/src/test/java/org/apache/tamaya/model/ConfigUsageStatsTest.java b/usagetracker/src/test/java/org/apache/tamaya/model/ConfigUsageStatsTest.java
deleted file mode 100644
index 04a3cbf..0000000
--- a/usagetracker/src/test/java/org/apache/tamaya/model/ConfigUsageStatsTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tamaya.model;
-
-import org.apache.tamaya.Configuration;
-import org.apache.tamaya.usagetracker.ConfigUsage;
-import org.junit.Test;
-import test.model.TestConfigAccessor;
-
-import static org.junit.Assert.*;
-
-/**
- * Created by Anatole on 09.08.2015.
- */
-public class ConfigUsageStatsTest {
-
- @Test
- public void testUsageWhenEnabled(){
- ConfigUsage.enableUsageTracking(true);
- TestConfigAccessor.readConfiguration();
- Configuration config = Configuration.current();
- String info = ConfigUsage.getInfo();
- assertFalse(info.contains("java.version"));
- assertNotNull(info);
- config = TestConfigAccessor.readConfiguration();
- config.getProperties();
- TestConfigAccessor.readProperty(config, "java.locale");
- TestConfigAccessor.readProperty(config, "java.version");
- TestConfigAccessor.readProperty(config, "java.version");
- config.get("java.version");
- info = ConfigUsage.getInfo();
- System.out.println(info);
- assertTrue(info.contains("java.version"));
- assertNotNull(info);
- ConfigUsage.enableUsageTracking(false);
- }
-
- @Test
- public void testUsageWhenDisabled(){
- ConfigUsage.enableUsageTracking(false);
- ConfigUsage.clearStats();
- TestConfigAccessor.readConfiguration();
- Configuration config = Configuration.current();
- String info = ConfigUsage.getInfo();
- assertNotNull(info);
- assertFalse(info.contains("java.version"));
- config = TestConfigAccessor.readConfiguration();
- config.getProperties();
- TestConfigAccessor.readProperty(config, "java.locale");
- TestConfigAccessor.readProperty(config, "java.version");
- TestConfigAccessor.readProperty(config, "java.version");
- config.get("java.version");
- info = ConfigUsage.getInfo();
- assertFalse(info.contains("java.version"));
- assertNotNull(info);
- ConfigUsage.enableUsageTracking(false);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/a4bfdb4a/usagetracker/src/test/java/org/apache/tamaya/model/ConfigUsageTest.java
----------------------------------------------------------------------
diff --git a/usagetracker/src/test/java/org/apache/tamaya/model/ConfigUsageTest.java b/usagetracker/src/test/java/org/apache/tamaya/model/ConfigUsageTest.java
new file mode 100644
index 0000000..d424ab7
--- /dev/null
+++ b/usagetracker/src/test/java/org/apache/tamaya/model/ConfigUsageTest.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tamaya.model;
+
+import org.apache.tamaya.Configuration;
+import org.apache.tamaya.usagetracker.ConfigUsage;
+import org.junit.Test;
+import test.model.TestConfigAccessor;
+
+import static org.junit.Assert.*;
+
+/**
+ * Created by Anatole on 09.08.2015.
+ */
+public class ConfigUsageTest {
+
+ @Test
+ public void testUsageWhenEnabled(){
+ ConfigUsage.getInstance().enableUsageTracking(true);
+ TestConfigAccessor.readConfiguration();
+ Configuration config = Configuration.current();
+ String info = ConfigUsage.getInstance().getInfo();
+ assertFalse(info.contains("java.version"));
+ assertNotNull(info);
+ config = TestConfigAccessor.readConfiguration();
+ config.getProperties();
+ TestConfigAccessor.readProperty(config, "java.locale");
+ TestConfigAccessor.readProperty(config, "java.version");
+ TestConfigAccessor.readProperty(config, "java.version");
+ config.get("java.version");
+ info = ConfigUsage.getInstance().getInfo();
+ System.out.println(info);
+ assertTrue(info.contains("java.version"));
+ assertNotNull(info);
+ ConfigUsage.getInstance().enableUsageTracking(false);
+ }
+
+ @Test
+ public void testUsageWhenDisabled(){
+ ConfigUsage.getInstance().enableUsageTracking(false);
+ ConfigUsage.getInstance().clearStats();
+ TestConfigAccessor.readConfiguration();
+ Configuration config = Configuration.current();
+ String info = ConfigUsage.getInstance().getInfo();
+ assertNotNull(info);
+ assertFalse(info.contains("java.version"));
+ config = TestConfigAccessor.readConfiguration();
+ config.getProperties();
+ TestConfigAccessor.readProperty(config, "java.locale");
+ TestConfigAccessor.readProperty(config, "java.version");
+ TestConfigAccessor.readProperty(config, "java.version");
+ config.get("java.version");
+ info = ConfigUsage.getInstance().getInfo();
+ assertFalse(info.contains("java.version"));
+ assertNotNull(info);
+ ConfigUsage.getInstance().enableUsageTracking(false);
+ }
+}