package org.onap.portalapp.music.service;
+import java.io.InputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
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;
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;
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, "Cassandra Password Decrypted " + decryptedPassword);
+ logger.debug(EELFLoggerDelegate.debugLogger, "Setting Decrypted password ");
+ // set decrypted password
+ org.onap.music.main.MusicUtil.setCassPwd(decryptedPassword);
+ logger.debug(EELFLoggerDelegate.debugLogger, "Creating cassandra connections pool and sessions by calling MusicDataStore and passing the cassandra hostname ");
+ // 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());
+ // Since mDstoreHandle is already initialized in init mthod, calling this method again will have no impact on mDstoreHandle.
+ logger.debug(EELFLoggerDelegate.debugLogger, "Calling MusicCore getDSHandle() method ");
+ MusicCore.getDSHandle();
+ } catch (Exception e) {
+ logger.error(EELFLoggerDelegate.errorLogger, e.getMessage(), e);
+ }
+
+ } catch(Exception e) {
+ logger.error(EELFLoggerDelegate.errorLogger, e.getMessage(), e);
+ }
+ }
+
private static boolean isAtomicPut = MusicUtil.isAtomicPut();
private static boolean isAtomicGet = MusicUtil.isAtomicGet();