/** * ============LICENSE_START=================================================== * SPARKY (AAI UI service) * ============================================================================ * Copyright © 2017 AT&T Intellectual Property. * Copyright © 2017 Amdocs * All rights reserved. * ============================================================================ * Licensed 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. * ============LICENSE_END===================================================== * * ECOMP and OpenECOMP are trademarks * and service marks of AT&T Intellectual Property. */ package org.openecomp.sparky.security.portal.config; import java.util.Properties; import org.openecomp.sparky.util.ConfigHelper; import org.openecomp.sparky.util.Encryptor; import org.openecomp.sparky.viewandinspect.config.TierSupportUiConstants; /** * Provides Portal authentication configuration. */ public class PortalAuthenticationConfig { private String username; private String password; private boolean isOnapEnabled; public static final String PROP_USERNAME = "username"; public static final String PROP_PASSWORD = "password"; // NOSONAR public static final String PROP_IS_ONAP_ENABLED = "onap_enabled"; // NOSONAR private static final String AUTHENTICATION_CONFIG_FILE = TierSupportUiConstants.PORTAL_AUTHENTICATION_FILE_LOCATION; private PortalAuthenticationConfig() { // Prevent instantiation } private static class PortalAuthenticationConfigHelper { private static final PortalAuthenticationConfig INSTANCE = new PortalAuthenticationConfig(); private PortalAuthenticationConfigHelper() { // Deliberately empty } } /** * Get a singleton instance of the configuration. * * @return */ public static PortalAuthenticationConfig getInstance() { PortalAuthenticationConfigHelper.INSTANCE.load(); return PortalAuthenticationConfigHelper.INSTANCE; } public String getUsername() { return username; } public String getPassword() { Encryptor encryptor = new Encryptor(); return encryptor.decryptValue(password); } public boolean getIsOnapEnabled() { return isOnapEnabled; } /** * Reload the Portal authentication properties from the classpath. */ public void reload() { load(); } /** * Load the Portal authentication properties from the classpath. */ private void load() { Properties props = ConfigHelper.loadConfigFromExplicitPath(AUTHENTICATION_CONFIG_FILE); username = props.getProperty(PROP_USERNAME); password = props.getProperty(PROP_PASSWORD); isOnapEnabled = Boolean.parseBoolean(props.getProperty(PROP_IS_ONAP_ENABLED, "true")); } }