X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ecomp-portal-BE-common%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fportalapp%2Fmusic%2Fservice%2FMusicService.java;h=a2951f156364390643583aca70808a98c201c687;hb=e427f4a23b209a5ecbf437460a5a68bb79642e26;hp=323a71fe4a28199be4121deb243ed3084285779a;hpb=a03dfa273ef6e196bf65acc54b9357d35eb0ed5e;p=portal.git diff --git a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/music/service/MusicService.java b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/music/service/MusicService.java index 323a71fe..a2951f15 100644 --- a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/music/service/MusicService.java +++ b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/music/service/MusicService.java @@ -38,6 +38,7 @@ package org.onap.portalapp.music.service; +import java.io.InputStream; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -45,12 +46,14 @@ import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Properties; import org.onap.music.datastore.PreparedQueryObject; import org.onap.music.eelf.logging.EELFLoggerDelegate; import org.onap.music.exceptions.MusicLockingException; import org.onap.music.exceptions.MusicQueryException; import org.onap.music.exceptions.MusicServiceException; +import org.onap.music.main.CipherUtil; import org.onap.music.main.MusicCore; import org.onap.music.main.ResultType; import org.onap.music.main.ReturnType; @@ -66,6 +69,7 @@ import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.session.Session; import org.springframework.web.client.RestTemplate; +import org.onap.music.datastore.MusicDataStore; import com.datastax.driver.core.ResultSet; import com.datastax.driver.core.Row; @@ -75,6 +79,42 @@ import com.fasterxml.jackson.databind.ObjectMapper; public class MusicService { static RestTemplate template = new RestTemplate(); private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(MusicService.class); + + + public static void init() { + try { + Properties prop = new Properties(); + // We load encryption key from key.properties on the classpath. This key is used for decrypting cassandra password + try(InputStream input = MusicUtil.class.getClassLoader().getResourceAsStream("key.properties")) { + prop.load(input); + } catch (Exception var11) { + logger.error(EELFLoggerDelegate.errorLogger, "Unable to find properties file."); + //throw new Exception(); + } + try { + // Load music.properties from classpath + org.onap.music.main.MusicUtil.loadProperties(); + // decrypt encrypted password using the key we loaded before. + String decryptedPassword = CipherUtil.decryptPKC(org.onap.music.main.MusicUtil.getCassPwd(), prop.getProperty("cipher.enc.key")); + logger.debug(EELFLoggerDelegate.debugLogger, "Successfully decrypted cassandra password "); + // set decrypted password + org.onap.music.main.MusicUtil.setCassPwd(decryptedPassword); + // Here we are creating cassandra connections pool and sessions by calling MusicDataStore and passing the cassandrra hostname to that. + MusicCore.mDstoreHandle = new MusicDataStore(org.onap.music.main.MusicUtil.getMyCassaHost()); + logger.debug(EELFLoggerDelegate.debugLogger, "Successfully created cassandra connection pool "); + // Since mDstoreHandle is already initialized in init mthod, calling this method again will have no impact on mDstoreHandle. + MusicCore.getDSHandle(); + } catch (Exception e) { + logger.error(EELFLoggerDelegate.errorLogger, e.getMessage(), e); + logger.debug(EELFLoggerDelegate.debugLogger, e.getMessage(), e); + } + + } catch(Exception e) { + logger.error(EELFLoggerDelegate.errorLogger, e.getMessage(), e); + logger.debug(EELFLoggerDelegate.debugLogger, e.getMessage(), e); + } + } + private static boolean isAtomicPut = MusicUtil.isAtomicPut(); private static boolean isAtomicGet = MusicUtil.isAtomicGet();