summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core')
-rw-r--r--openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core/src/main/java/org/openecomp/core/factory/FactoriesConfigImpl.java25
-rw-r--r--openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core/src/main/java/org/openecomp/core/factory/FactoryConfig.java14
-rw-r--r--openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core/src/main/java/org/openecomp/core/factory/api/AbstractComponentFactory.java61
3 files changed, 13 insertions, 87 deletions
diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core/src/main/java/org/openecomp/core/factory/FactoriesConfigImpl.java b/openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core/src/main/java/org/openecomp/core/factory/FactoriesConfigImpl.java
index 15b9f8c1c8..31df923bdd 100644
--- a/openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core/src/main/java/org/openecomp/core/factory/FactoriesConfigImpl.java
+++ b/openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core/src/main/java/org/openecomp/core/factory/FactoriesConfigImpl.java
@@ -31,31 +31,24 @@ import java.util.Map;
public final class FactoriesConfigImpl implements FactoriesConfiguration {
+ private final Map factoryConfigurationMap = new HashMap();
- private static final String FACTORY_CONFIG_FILE_NAME = "factoryConfiguration.json";
- private static final Map FACTORY_MAP = new HashMap();
- private static boolean initialized = false;
+ public FactoriesConfigImpl() {
+ init();
+ }
@SuppressWarnings("unchecked")
@Override
public Map<String, String> getFactoriesMap() {
- synchronized (this) {
- if (!initialized) {
- init();
- initialized = true;
- }
- }
- return FACTORY_MAP;
+ return factoryConfigurationMap;
}
private void init() {
-
- List<URL> factoryConfigUrlList = FileUtils.getAllLocations(FACTORY_CONFIG_FILE_NAME);
- for (URL factoryConfigUrl : factoryConfigUrlList) {
-
+ final List<URL> factoryConfigUrlList = FileUtils.getAllLocations("factoryConfiguration.json");
+ for (final URL factoryConfigUrl : factoryConfigUrlList) {
try (InputStream stream = factoryConfigUrl.openStream()) {
- FACTORY_MAP.putAll(JsonUtil.json2Object(stream, Map.class));
- } catch (IOException e) {
+ factoryConfigurationMap.putAll(JsonUtil.json2Object(stream, Map.class));
+ } catch (final IOException e) {
throw new SdcConfigurationException("Failed to initialize Factory from '" + factoryConfigUrl.getPath() +"'", e);
}
}
diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core/src/main/java/org/openecomp/core/factory/FactoryConfig.java b/openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core/src/main/java/org/openecomp/core/factory/FactoryConfig.java
index 31822b6bdc..7dbf921ebf 100644
--- a/openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core/src/main/java/org/openecomp/core/factory/FactoryConfig.java
+++ b/openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core/src/main/java/org/openecomp/core/factory/FactoryConfig.java
@@ -20,23 +20,17 @@
package org.openecomp.core.factory;
+import java.util.Map;
import org.openecomp.core.factory.api.FactoriesConfiguration;
import org.openecomp.core.utilities.CommonMethods;
-import java.util.Map;
-
public final class FactoryConfig {
- private static final FactoriesConfiguration INSTANCE;
+ private static final FactoriesConfiguration INSTANCE = CommonMethods.newInstance(
+ "org.openecomp.core.factory.FactoriesConfigImpl", FactoriesConfiguration.class);
- static {
+ private FactoryConfig() {
- try {
- INSTANCE = CommonMethods.newInstance(
- "org.openecomp.core.factory.FactoriesConfigImpl", FactoriesConfiguration.class);
- } catch (Exception exception) {
- throw exception;
- }
}
public static Map<String, String> getFactoriesMap() {
diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core/src/main/java/org/openecomp/core/factory/api/AbstractComponentFactory.java b/openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core/src/main/java/org/openecomp/core/factory/api/AbstractComponentFactory.java
index 1ea6fe8d43..3de0d88f43 100644
--- a/openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core/src/main/java/org/openecomp/core/factory/api/AbstractComponentFactory.java
+++ b/openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core/src/main/java/org/openecomp/core/factory/api/AbstractComponentFactory.java
@@ -16,66 +16,5 @@
package org.openecomp.core.factory.api;
-import org.apache.commons.lang3.StringUtils;
-import org.openecomp.core.factory.FactoryConfig;
-import org.openecomp.core.factory.impl.AbstractFactoryBase;
-import org.openecomp.sdc.common.errors.CoreException;
-import org.openecomp.sdc.common.errors.ErrorCategory;
-import org.openecomp.sdc.common.errors.ErrorCode;
-
-import java.util.Map;
-
public abstract class AbstractComponentFactory<I> extends AbstractFactory<I> {
-
- static {
- Registry registry = new RegistryImpl();
- InitializationHelper.registerFactoryMapping(registry);
- }
-
- @FunctionalInterface
- interface Registry {
- void register(String factory, String impl);
- }
-
- private static class RegistryImpl implements Registry {
- @Override
- public void register(String factory, String impl) {
- AbstractFactoryBase.registerFactory(factory, impl);
- }
- }
-
- static class InitializationHelper {
-
-
- private static boolean isRegistered = false;
-
- private InitializationHelper() {
- }
-
- static synchronized void registerFactoryMapping(Registry registry) {
- if (!isRegistered) {
- registerFactoryMappingImpl(registry);
- isRegistered = true;
- }
- }
-
- private static void registerFactoryMappingImpl(Registry registry) {
- Map<String, String> factoryMap = FactoryConfig.getFactoriesMap();
-
- for (Map.Entry<String, String> entry : factoryMap.entrySet()) {
- String abstractClassName = entry.getKey();
- String concreteTypeName = entry.getValue();
-
- if (StringUtils.isEmpty(concreteTypeName)) {
- throw new CoreException(
- new ErrorCode.ErrorCodeBuilder().withId("E0003")
- .withMessage("Missing configuration value:" + concreteTypeName + ".")
- .withCategory(ErrorCategory.SYSTEM).build());
-
- }
- registry.register(abstractClassName, concreteTypeName);
- }
- }
- }
-
}