summaryrefslogtreecommitdiffstats
path: root/common/src/main/java/org/onap/so/client/dmaap/DmaapPropertiesLoader.java
diff options
context:
space:
mode:
Diffstat (limited to 'common/src/main/java/org/onap/so/client/dmaap/DmaapPropertiesLoader.java')
-rw-r--r--common/src/main/java/org/onap/so/client/dmaap/DmaapPropertiesLoader.java87
1 files changed, 45 insertions, 42 deletions
diff --git a/common/src/main/java/org/onap/so/client/dmaap/DmaapPropertiesLoader.java b/common/src/main/java/org/onap/so/client/dmaap/DmaapPropertiesLoader.java
index 3064f6142f..f2b3d5d643 100644
--- a/common/src/main/java/org/onap/so/client/dmaap/DmaapPropertiesLoader.java
+++ b/common/src/main/java/org/onap/so/client/dmaap/DmaapPropertiesLoader.java
@@ -23,47 +23,50 @@ package org.onap.so.client.dmaap;
import java.util.ServiceLoader;
public class DmaapPropertiesLoader {
- /* required to make ServiceLoader thread safe */
- private static final ThreadLocal<ServiceLoader<DmaapProperties>> services = new ThreadLocal<ServiceLoader<DmaapProperties>>() {
- @Override
- protected ServiceLoader<DmaapProperties> initialValue() {
- return ServiceLoader.load(DmaapProperties.class);
- }
- };
+ /* required to make ServiceLoader thread safe */
+ private static final ThreadLocal<ServiceLoader<DmaapProperties>> services =
+ new ThreadLocal<ServiceLoader<DmaapProperties>>() {
+ @Override
+ protected ServiceLoader<DmaapProperties> initialValue() {
+ return ServiceLoader.load(DmaapProperties.class);
+ }
+ };
- private DmaapPropertiesLoader() {
- }
-
- private static class Helper {
- private static final DmaapPropertiesLoader INSTANCE = new DmaapPropertiesLoader();
- }
-
- public static DmaapPropertiesLoader getInstance() {
- return Helper.INSTANCE;
- }
- public DmaapProperties getImpl() {
- return this.getImpl(false);
- }
- public DmaapProperties getNewImpl() {
- return this.getImpl(true);
- }
- private DmaapProperties getImpl(boolean forceNewInstance) {
-
- ServiceLoader<DmaapProperties> loader = this.services.get();
- for (DmaapProperties service : loader) {
- if (forceNewInstance) {
- try {
- return service.getClass().newInstance();
- } catch (InstantiationException | IllegalAccessException e) {
- /* all spi implementations must provide a public
- * no argument constructor
- */
- }
- } else {
- return service;
- }
- }
-
- return null;
- }
+ private DmaapPropertiesLoader() {}
+
+ private static class Helper {
+ private static final DmaapPropertiesLoader INSTANCE = new DmaapPropertiesLoader();
+ }
+
+ public static DmaapPropertiesLoader getInstance() {
+ return Helper.INSTANCE;
+ }
+
+ public DmaapProperties getImpl() {
+ return this.getImpl(false);
+ }
+
+ public DmaapProperties getNewImpl() {
+ return this.getImpl(true);
+ }
+
+ private DmaapProperties getImpl(boolean forceNewInstance) {
+
+ ServiceLoader<DmaapProperties> loader = this.services.get();
+ for (DmaapProperties service : loader) {
+ if (forceNewInstance) {
+ try {
+ return service.getClass().newInstance();
+ } catch (InstantiationException | IllegalAccessException e) {
+ /*
+ * all spi implementations must provide a public no argument constructor
+ */
+ }
+ } else {
+ return service;
+ }
+ }
+
+ return null;
+ }
}