diff options
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.java | 87 |
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; + } } |