* limitations under the License.
* ============LICENSE_END============================================
* ===================================================================
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ *
*/
package org.onap.clamp.clds.config.sdc;
import com.fasterxml.jackson.databind.JsonNode;
import java.security.GeneralSecurityException;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import org.apache.commons.codec.DecoderException;
import org.onap.clamp.clds.exception.sdc.controller.SdcParametersException;
import org.onap.clamp.clds.util.CryptoUtils;
-import org.openecomp.sdc.api.consumer.IConfiguration;
+import org.onap.sdc.api.consumer.IConfiguration;
/**
* This class maps the SDC config JSON for one controller.
public static final String CONSUMER_GROUP_ATTRIBUTE_NAME = "consumerGroup";
public static final String CONSUMER_ID_ATTRIBUTE_NAME = "consumerId";
public static final String ENVIRONMENT_NAME_ATTRIBUTE_NAME = "environmentName";
- public static final String PASSWORD_ATTRIBUTE_NAME = "password";
+ public static final String SDC_KEY_ATTRIBUTE_NAME = "password";
public static final String POLLING_INTERVAL_ATTRIBUTE_NAME = "pollingInterval";
public static final String RELEVANT_ARTIFACT_TYPES_ATTRIBUTE_NAME = "relevantArtifactTypes";
public static final String USER_ATTRIBUTE_NAME = "user";
public static final String SDC_ADDRESS_ATTRIBUTE_NAME = "sdcAddress";
public static final String POLLING_TIMEOUT_ATTRIBUTE_NAME = "pollingTimeout";
public static final String ACTIVATE_SERVER_TLS_AUTH = "activateServerTLSAuth";
- public static final String KEY_STORE_PASSWORD = "keyStorePassword";
+ public static final String KEY_STORE_KEY = "keyStorePassword";
public static final String KEY_STORE_PATH = "keyStorePath";
+ public static final String MESSAGE_BUS_ADDRESSES = "messageBusAddresses";
private String errorMessageKeyNotFound;
/**
* Supported artifact types.
public static final String TOSCA_CSAR = "TOSCA_CSAR";
public static final String VF_MODULES_METADATA = "VF_MODULES_METADATA";
private static final String[] SUPPORTED_ARTIFACT_TYPES = {
- HEAT, HEAT_ARTIFACT, HEAT_ENV, HEAT_NESTED, HEAT_NET, HEAT_VOL, OTHER, TOSCA_CSAR, VF_MODULES_METADATA
+ TOSCA_CSAR, VF_MODULES_METADATA
};
public static final List<String> SUPPORTED_ARTIFACT_TYPES_LIST = Collections
.unmodifiableList(Arrays.asList(SUPPORTED_ARTIFACT_TYPES));
testAllRequiredParameters();
}
+ private String getStringConfig(String key) {
+ if (jsonRootNode != null && jsonRootNode.get(key) != null) {
+ String config = jsonRootNode.get(key).asText();
+ return config.isEmpty() ? null : config;
+ }
+ return null;
+ }
+
+ private Integer getIntConfig(String key) {
+ if (jsonRootNode != null && jsonRootNode.get(key) != null) {
+ return jsonRootNode.get(key).asInt();
+ } else {
+ return 0;
+ }
+ }
+
+ private String getEncryptedStringConfig(String key) throws GeneralSecurityException, DecoderException {
+ if (jsonRootNode != null && jsonRootNode.get(key) != null) {
+ return jsonRootNode.get(key).asText().isEmpty() ? null
+ : CryptoUtils.decrypt(jsonRootNode.get(key).asText());
+ }
+ return null;
+ }
+
@Override
public java.lang.Boolean isUseHttpsWithDmaap() {
return false;
@Override
public String getConsumerID() {
- if (jsonRootNode != null && jsonRootNode.get(CONSUMER_ID_ATTRIBUTE_NAME) != null) {
- String config = jsonRootNode.get(CONSUMER_ID_ATTRIBUTE_NAME).asText();
- return config.isEmpty() ? null : config;
- }
- return null;
+ return getStringConfig(CONSUMER_ID_ATTRIBUTE_NAME);
}
@Override
public String getEnvironmentName() {
- if (jsonRootNode != null && jsonRootNode.get(ENVIRONMENT_NAME_ATTRIBUTE_NAME) != null) {
- String config = jsonRootNode.get(ENVIRONMENT_NAME_ATTRIBUTE_NAME).asText();
- return config.isEmpty() ? null : config;
- }
- return null;
+ return getStringConfig(ENVIRONMENT_NAME_ATTRIBUTE_NAME);
}
@Override
public String getPassword() {
try {
- if (jsonRootNode != null && jsonRootNode.get(PASSWORD_ATTRIBUTE_NAME) != null) {
- String config = CryptoUtils.decrypt(jsonRootNode.get(PASSWORD_ATTRIBUTE_NAME).asText());
- return config.isEmpty() ? null : config;
- }
+ return getEncryptedStringConfig(SDC_KEY_ATTRIBUTE_NAME);
} catch (GeneralSecurityException | DecoderException e) {
logger.error("Unable to decrypt the SDC password", e);
+ return null;
}
- return null;
}
@Override
public int getPollingInterval() {
- if (jsonRootNode != null && jsonRootNode.get(POLLING_INTERVAL_ATTRIBUTE_NAME) != null) {
- return jsonRootNode.get(POLLING_INTERVAL_ATTRIBUTE_NAME).asInt();
- } else {
- return 0;
- }
+ return getIntConfig(POLLING_INTERVAL_ATTRIBUTE_NAME);
}
@Override
@Override
public String getUser() {
- if (jsonRootNode != null && jsonRootNode.get(USER_ATTRIBUTE_NAME) != null) {
- String config = jsonRootNode.get(USER_ATTRIBUTE_NAME).asText();
- return config.isEmpty() ? null : config;
- }
- return null;
+ return getStringConfig(USER_ATTRIBUTE_NAME);
}
@Override
public String getAsdcAddress() {
- if (jsonRootNode != null && jsonRootNode.get(SDC_ADDRESS_ATTRIBUTE_NAME) != null) {
- String config = jsonRootNode.get(SDC_ADDRESS_ATTRIBUTE_NAME).asText();
- return config.isEmpty() ? null : config;
- }
- return null;
+ return getStringConfig(SDC_ADDRESS_ATTRIBUTE_NAME);
}
@Override
public int getPollingTimeout() {
- if (jsonRootNode != null && jsonRootNode.get(POLLING_TIMEOUT_ATTRIBUTE_NAME) != null) {
- return jsonRootNode.get(POLLING_TIMEOUT_ATTRIBUTE_NAME).asInt();
- } else {
- return 0;
- }
+ return getIntConfig(POLLING_TIMEOUT_ATTRIBUTE_NAME);
}
@Override
@Override
public String getKeyStorePassword() {
try {
- if (jsonRootNode != null && jsonRootNode.get(KEY_STORE_PASSWORD) != null) {
- String config = CryptoUtils.decrypt(jsonRootNode.get(KEY_STORE_PASSWORD).asText());
- return config.isEmpty() ? null : config;
- }
+ return getEncryptedStringConfig(KEY_STORE_KEY);
} catch (GeneralSecurityException | DecoderException e) {
logger.error("Unable to decrypt the SDC password", e);
+ return null;
}
- return null;
}
@Override
public String getKeyStorePath() {
- if (jsonRootNode != null && jsonRootNode.get(KEY_STORE_PATH) != null) {
- String config = jsonRootNode.get(KEY_STORE_PATH).asText();
- return config.isEmpty() ? null : config;
- }
- return null;
+ return getStringConfig(KEY_STORE_PATH);
}
/**
if (this.getAsdcAddress() == null || this.getAsdcAddress().isEmpty()) {
throw new SdcParametersException(SDC_ADDRESS_ATTRIBUTE_NAME + errorMessageKeyNotFound);
}
+ if (this.getMsgBusAddress() == null || this.getMsgBusAddress().isEmpty()) {
+ throw new SdcParametersException(MESSAGE_BUS_ADDRESSES + errorMessageKeyNotFound);
+ }
if (this.getPassword() == null || this.getPassword().isEmpty()) {
- throw new SdcParametersException(PASSWORD_ATTRIBUTE_NAME + errorMessageKeyNotFound);
+ throw new SdcParametersException(SDC_KEY_ATTRIBUTE_NAME + errorMessageKeyNotFound);
}
if (this.getPollingInterval() == 0) {
throw new SdcParametersException(POLLING_INTERVAL_ATTRIBUTE_NAME + errorMessageKeyNotFound);
*/
@Override
public boolean isFilterInEmptyResources() {
- return true;
+ return false;
}
@Override
public List<String> getMsgBusAddress() {
- return null;
+ List<String> addressesList = new ArrayList<>();
+ if (jsonRootNode != null && jsonRootNode.get(MESSAGE_BUS_ADDRESSES) != null) {
+ jsonRootNode.get(MESSAGE_BUS_ADDRESSES).forEach(k -> addressesList.add(k.asText()));
+ return addressesList;
+ } else {
+ return addressesList;
+ }
}
}