1 package org.openecomp.sdc.asdctool.main;
4 import java.nio.file.Files;
5 import java.nio.file.Path;
6 import java.nio.file.Paths;
9 import org.apache.commons.codec.digest.DigestUtils;
10 import org.openecomp.sdc.asdctool.impl.EsToCassandraDataMigrationConfig;
11 import org.openecomp.sdc.be.config.ConfigurationManager;
12 import org.openecomp.sdc.be.dao.cassandra.CassandraOperationStatus;
13 import org.openecomp.sdc.be.dao.cassandra.SdcSchemaFilesCassandraDao;
14 import org.openecomp.sdc.be.resources.data.SdcSchemaFilesData;
15 import org.openecomp.sdc.common.api.ConfigurationSource;
16 import org.openecomp.sdc.common.impl.ExternalConfiguration;
17 import org.openecomp.sdc.common.impl.FSConfigurationSource;
18 import org.springframework.context.annotation.AnnotationConfigApplicationContext;
21 public class SdcSchemaFileImport {
23 private static SdcSchemaFilesCassandraDao schemaFilesCassandraDao;
25 public static void main(String[] args) throws Exception {
27 final String FILE_NAME = "SDC.zip";
29 if (args == null || args.length < 4) {
33 String pathAndFile = args[0];
34 String sdcReleaseNum = args[1];
35 String conformanceLevel = args[2];
36 String appConfigDir = args[3];
38 File file = new File(pathAndFile);
40 System.out.println("The file or path does not exist");
42 } else if(!file.isFile()){
43 System.out.println("Specify the file name");
47 AnnotationConfigApplicationContext context = initContext(appConfigDir);
48 schemaFilesCassandraDao = (SdcSchemaFilesCassandraDao) context.getBean("sdc-schema-files-cassandra-dao");
50 Path path = Paths.get(pathAndFile);
51 byte[] fileBytes = Files.readAllBytes(path);
53 Date date = new Date();
54 String md5Hex = DigestUtils.md5Hex(fileBytes);
56 SdcSchemaFilesData schemeFileData = new SdcSchemaFilesData(sdcReleaseNum, date, conformanceLevel, FILE_NAME, fileBytes, md5Hex);
57 CassandraOperationStatus saveSchemaFile = schemaFilesCassandraDao.saveSchemaFile(schemeFileData);
59 if(!saveSchemaFile.equals(CassandraOperationStatus.OK)){
60 System.out.println("SdcSchemaFileImport failed cassandra error" + saveSchemaFile);
64 System.out.println("SdcSchemaFileImport successfully completed");
69 private static void usageAndExit(){
70 SdcSchemaFileImportUsage();
74 private static void SdcSchemaFileImportUsage(){
75 System.out.println("Usage: <file dir/filename> <SDC release number> <Schema conformance level> <configuration dir>");
78 private static AnnotationConfigApplicationContext initContext(String appConfigDir) {
79 ConfigurationSource configurationSource = new FSConfigurationSource(ExternalConfiguration.getChangeListener(), appConfigDir);
80 ConfigurationManager configurationManager = new ConfigurationManager(configurationSource);
81 AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(EsToCassandraDataMigrationConfig.class);