Initial OpenECOMP SDC commit

Change-Id: I0924d5a6ae9cdc161ae17c68d3689a30d10f407b
Signed-off-by: Michael Lando <ml636r@att.com>
diff --git a/asdctool/src/main/resources/scripts/baseOperation.sh b/asdctool/src/main/resources/scripts/baseOperation.sh
new file mode 100644
index 0000000..b27b734
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/baseOperation.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+#echo $FULL_PATH
+
+LIB_DIR=$FULL_PATH/..
+BIN_DIR=$FULL_PATH/../bin
+CONFIG_DIR=$FULL_PATH/../config
+
+JVM_VERBOSE=-Dverbose
+
+JVM_LOG_FILE="-Dlogback.configurationFile=${CONFIG_DIR}/logback.xml"
+
+######################################################
+
+#BINS=`find $BIN_DIR -name "*.jar" | tr "\\n" ":"`
+
+LIBS=`find $LIB_DIR -name "*.jar" | tr "\\n" ":"`
+
+JARS=$JARS:$BINS:$LIBS
+
+
+export JARS
+export JVM_LOG_FILE
diff --git a/asdctool/src/main/resources/scripts/cleanCsar.sh b/asdctool/src/main/resources/scripts/cleanCsar.sh
new file mode 100644
index 0000000..c11cdef
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/cleanCsar.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+##############################
+# Data Migration
+##############################
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.MigrationMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass clean-csar $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/dataMigration.sh b/asdctool/src/main/resources/scripts/dataMigration.sh
new file mode 100644
index 0000000..b05c6dc
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/dataMigration.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+##############################
+# Data Migration
+##############################
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.MigrationMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass migrate-1602-1604 $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/dataMigration1607.sh b/asdctool/src/main/resources/scripts/dataMigration1607.sh
new file mode 100644
index 0000000..027852d
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/dataMigration1607.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+##############################
+# Data Migration 1607
+##############################
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.MigrationMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass migrate-1604-1607 $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/dataMigration1610.sh b/asdctool/src/main/resources/scripts/dataMigration1610.sh
new file mode 100644
index 0000000..45d61ad
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/dataMigration1610.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+##############################
+# Data Migration 1610
+##############################
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.MigrationMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass fix-properties $@"
+echo $command
+
+$command
+result=$?
+
+if [ $result -eq 0 ]
+then
+  command="java $JVM_LOG_FILE -cp $JARS $mainClass align-tosca-artifacts $@"
+  echo $command
+  $command
+  result=$?
+fi
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/deleteAllProducts.sh b/asdctool/src/main/resources/scripts/deleteAllProducts.sh
new file mode 100644
index 0000000..38e468d
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/deleteAllProducts.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+##############################
+# delete all products from titan
+##############################
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.RemoveUtils"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass remove-products $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/derivedFromAlignment.sh b/asdctool/src/main/resources/scripts/derivedFromAlignment.sh
new file mode 100644
index 0000000..05025a0
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/derivedFromAlignment.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+##############################
+# Data Migration
+##############################
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.MigrationMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass align-derived-from-1604 $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/esToCassandraMigration.sh b/asdctool/src/main/resources/scripts/esToCassandraMigration.sh
new file mode 100644
index 0000000..383904c
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/esToCassandraMigration.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.EsToCassandraDataMigrationMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass es-to-cassndra-migration $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/esToCassandraMigrationExportOnly.sh b/asdctool/src/main/resources/scripts/esToCassandraMigrationExportOnly.sh
new file mode 100644
index 0000000..2c8e346
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/esToCassandraMigrationExportOnly.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.EsToCassandraDataMigrationMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass es-to-cassndra-migration-export-only $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/esToCassandraMigrationImportOnly.sh b/asdctool/src/main/resources/scripts/esToCassandraMigrationImportOnly.sh
new file mode 100644
index 0000000..9ce3ca8
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/esToCassandraMigrationImportOnly.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.EsToCassandraDataMigrationMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass es-to-cassndra-migration-import-only $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/exportGraph.sh b/asdctool/src/main/resources/scripts/exportGraph.sh
new file mode 100644
index 0000000..648cb50
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/exportGraph.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.ExportImportMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass export $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/exportGraphAsGraphMl.sh b/asdctool/src/main/resources/scripts/exportGraphAsGraphMl.sh
new file mode 100644
index 0000000..17d660c
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/exportGraphAsGraphMl.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.ExportImportMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass export-as-graph-ml $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/exportUsers.sh b/asdctool/src/main/resources/scripts/exportUsers.sh
new file mode 100644
index 0000000..d701c57
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/exportUsers.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+##############################
+# export all users from titan
+##############################
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.ExportImportMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass exportusers $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/fix_icons.sh b/asdctool/src/main/resources/scripts/fix_icons.sh
new file mode 100644
index 0000000..230dea7
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/fix_icons.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+##############################
+# Data Migration
+##############################
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.MigrationMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass fix-icons $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
\ No newline at end of file
diff --git a/asdctool/src/main/resources/scripts/fix_issue.sh b/asdctool/src/main/resources/scripts/fix_issue.sh
new file mode 100644
index 0000000..af63ec5
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/fix_issue.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+##############################
+# Data Migration
+##############################
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.MigrationMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass fix-properties $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/groupsAlignment.sh b/asdctool/src/main/resources/scripts/groupsAlignment.sh
new file mode 100644
index 0000000..742b246
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/groupsAlignment.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+##############################
+# Groups Alignment
+##############################
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.MigrationMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass align-groups $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/importGraph.sh b/asdctool/src/main/resources/scripts/importGraph.sh
new file mode 100644
index 0000000..ffdd2fd
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/importGraph.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.ExportImportMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass import $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/populateComponentCache.sh b/asdctool/src/main/resources/scripts/populateComponentCache.sh
new file mode 100644
index 0000000..79ddbf8
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/populateComponentCache.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+##############################
+# Groups Alignment
+##############################
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.MigrationMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass populate-component-cache $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/python/duplicates.py b/asdctool/src/main/resources/scripts/python/duplicates.py
new file mode 100644
index 0000000..be60b05
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/python/duplicates.py
@@ -0,0 +1,47 @@
+import json
+import sys
+
+dict = {} 
+dupliacteUid = {} 
+#debugFlag = True 
+debugFlag = False 
+
+def debug(str1, str2=""):
+    'print only if debug enabled'
+    if (debugFlag == True): print str1, str2
+
+print 'Number of arguments:', len(sys.argv), 'arguments.'
+
+
+with open(sys.argv[1]) as json_file:
+    json_data = json.load(json_file)
+    for x in json_data['vertices']:
+	uid = None
+	nodeLabel=x.get('nodeLabel')
+	debug(nodeLabel)
+	if ( nodeLabel == 'user' ):
+	    uid = x['userId']
+ 	elif ( nodeLabel == 'tag' ):
+	    uid = x['name'] 
+ 	elif ( nodeLabel == None ):
+ 	    pass
+ 	elif ( nodeLabel == 'lockNode' ):
+	    uid = x.get('uid')
+	else: uid = x['uid']		
+
+	debug(nodeLabel, uid)
+
+	existId = dict.get(uid)
+	if (existId == None):
+	    dict[uid] = x.get('_id')
+	else:
+            dupliacteUid[uid] = existId 	    
+
+    print dupliacteUid 
+
+#    with open('data.txt', 'w') as outfile:
+#        json.dump(json_data, outfile)
+
+
+    
+#	print x['uid']
diff --git a/asdctool/src/main/resources/scripts/python/duplicatesAndRemove.py b/asdctool/src/main/resources/scripts/python/duplicatesAndRemove.py
new file mode 100644
index 0000000..a4bd35d
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/python/duplicatesAndRemove.py
@@ -0,0 +1,136 @@
+import json
+import sys, getopt
+from collections import OrderedDict
+
+dict = {} 
+dupliacteUid = {} 
+#debugFlag = True 
+debugFlag = False 
+
+def join_strings(lst):
+    concat = ""
+    for string in lst:
+	if (string != None):
+		if (type(string) == int):
+			string = str(string)
+        	concat += (string + " ")
+    return concat
+
+def debug(desc, *args):
+	'print only if debug enabled'
+	if (debugFlag == True): 
+		print desc, join_strings(args)  
+
+def log(desc, arg):
+	'print log info'
+	print desc, arg  
+
+def getUid(vertex):
+	uid = None
+	nodeLabel=vertex.get('nodeLabel')
+	debug(nodeLabel)
+	if ( nodeLabel == 'user' ):
+		uid = vertex['userId']
+	elif ( nodeLabel == 'tag' ):
+		uid = vertex['name']
+	elif ( nodeLabel == None ):
+		pass
+	elif ( nodeLabel == 'lockNode' ):
+		uid = vertex.get('uid')
+	else: uid = vertex['uid']
+
+	debug(nodeLabel, uid)
+
+	return uid	   
+
+def generateFile(inputFile, outputFile):
+	
+	with open(inputFile) as json_file:
+		dupliacteUid = {}
+		json_data = json.load(json_file)
+		for x in json_data['vertices']:
+			uid = getUid(x)
+
+			existId = dict.get(uid)
+			if (existId == None):
+				dict[uid] = x.get('_id')
+			else:
+				dupliacteUid[uid] = existId 	    
+
+		log("duplicate ids", dupliacteUid)
+
+		json_data_vertices = json_data['vertices']
+		log("number of vertices is", len(json_data_vertices))
+
+		ids = {} 
+		deleteIndexes = []
+		 
+		for i in xrange(len(json_data_vertices)):
+		#print "****** ", i, " *************"
+		#print json_data_vertices[i]
+			id = json_data_vertices[i]["_id"]
+			uid = getUid(json_data_vertices[i])
+			isDuplicateId = dupliacteUid.get(uid)
+			if (isDuplicateId != None):
+				debug("uid to id pair", uid if uid != None else 'None', id)
+				value = ids.get(uid)
+				if (value == None):
+					list = [id,]	
+					ids[uid] = list 
+				else:
+					value.append(id)	
+					deleteIndexes.append(id)	
+
+		log("ids", ids)
+		log("deleteIndexes", deleteIndexes)
+		log("deleteIndexes size", len(deleteIndexes))
+
+		filter_vertex = [ x for x in json_data_vertices if x.get('_id') not in deleteIndexes ]
+		json_data['vertices'] = filter_vertex	
+
+		log("number of vertexes after filter", len(filter_vertex))
+
+		json_data_edges = json_data['edges']
+
+		log("number of edges", len(json_data_edges))
+		
+		filter_edge = [ x for x in json_data_edges if x['_outV'] not in (deleteIndexes) and x['_inV'] not in (deleteIndexes) ]
+                json_data['edges'] = filter_edge
+
+		log("number of edges after filter", len(json_data['edges']))
+
+		json_data = OrderedDict(sorted(json_data.items(), key=lambda t: t[0], reverse=True))	
+	
+		with open(outputFile, 'w') as outfile:
+			#json.dump(json_data, outfile)
+			json.dump(json_data, outfile)
+		log("output file is", outputFile);
+
+def main(argv):
+        print 'Number of arguments:', len(sys.argv), 'arguments.'
+        inputfile = None 
+        outputfile = ''
+        try:
+                opts, args = getopt.getopt(argv,"h:i:o:",["ifile=","ofile="])
+        except getopt.GetoptError:
+                print sys.argv[0], '-i <inputfile>'
+                sys.exit(2)
+        for opt, arg in opts:
+                if opt == '-h':
+                        print sys.argv[0], '-i <inputfile>'
+                        sys.exit(3)
+                elif opt in ("-i", "--ifile"):
+                        inputfile = arg
+
+        if ( inputfile == None ):
+                print sys.argv[0] ,'-i <inputfile>'
+                sys.exit(3)
+
+        print 'Input file is "', inputfile
+        generateFile(inputfile, inputfile + '.noduplicates')
+		
+
+if __name__ == "__main__":
+        main(sys.argv[1:])
+    
+#	print x['uid']
diff --git a/asdctool/src/main/resources/scripts/python/graphSize.py b/asdctool/src/main/resources/scripts/python/graphSize.py
new file mode 100644
index 0000000..6c36ec6
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/python/graphSize.py
@@ -0,0 +1,56 @@
+import json
+import sys, getopt
+
+dict = {} 
+dupliacteUid = {} 
+#debugFlag = True 
+debugFlag = False 
+
+def debug(desc, *args):
+	'print only if debug enabled'
+	if (debugFlag == True): 
+		print desc, join_strings(args)  
+
+def log(desc, arg):
+	'print log info'
+	print desc, arg  
+
+def graphSize(inputFile):
+	
+	with open(inputFile) as json_file:
+		json_data = json.load(json_file)
+
+		json_data_vertices = json_data['vertices']
+		log("number of vertices is", len(json_data_vertices))
+
+		json_data_edges = json_data['edges']
+		log("number of edges is", len(json_data_edges))
+
+def main(argv):
+        print 'Number of arguments:', len(sys.argv), 'arguments.'
+        inputfile = None 
+        outputfile = ''
+        try:
+                opts, args = getopt.getopt(argv,"h:i:o:",["ifile=","ofile="])
+        except getopt.GetoptError:
+                print sys.argv[0], '-i <inputfile>'
+                sys.exit(2)
+        for opt, arg in opts:
+                if opt == '-h':
+                        print sys.argv[0], '-i <inputfile>'
+                        sys.exit(3)
+                elif opt in ("-i", "--ifile"):
+                        inputfile = arg
+
+        if ( inputfile == None ):
+                print sys.argv[0], '-i <inputfile>'
+                sys.exit(3)
+
+        print 'Input file is ', inputfile
+        graphSize(inputfile)
+		
+
+if __name__ == "__main__":
+        main(sys.argv[1:])
+    
+#	print x['uid']
diff --git a/asdctool/src/main/resources/scripts/python/user/exportUsers.py b/asdctool/src/main/resources/scripts/python/user/exportUsers.py
new file mode 100644
index 0000000..e32a3b0
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/python/user/exportUsers.py
@@ -0,0 +1,122 @@
+import pycurl
+import sys, getopt
+from StringIO import StringIO
+import json
+
+
+################################################################################################################################################
+#																																		       #	
+# Export all active users to file - for 1602+																										       #
+# 																																			   #		
+# activation :																																   #
+#       python exportUsers.py [-i <be host> | --ip=<be host>] [-p <be port> | --port=<be port> ] [-f <output file> | --ofile=<output file> ]   #
+#																																		  	   #			
+# shortest activation (be host = localhost, be port = 8080): 																				   #																       #
+#		python exportUsers.py [-f <output file> | --ofile=<output file> ]												 				       #
+#																																		       #	
+################################################################################################################################################
+
+ALL_USERS_SUFFIX = '/sdc2/rest/v1/user/users'
+
+def errorAndExit(errorCode, errorDesc):
+        if ( errorCode > 0 ):
+                print("status=" + str(errorCode) + ". " + errorDesc)
+        else:
+                print("status=" + str(errorCode))
+        sys.exit(errorCode)
+
+def getUsers(beHost, bePort, adminUser):
+
+	try:
+		buffer = StringIO()
+		c = pycurl.Curl()
+
+		url = 'http://' + beHost + ':' + bePort + ALL_USERS_SUFFIX 
+		print(url)
+		c.setopt(c.URL, url)
+		c.setopt(c.WRITEFUNCTION, buffer.write)
+		#c.setopt(c.WRITEFUNCTION, lambda x: None)
+		adminHeader = 'USER_ID: ' + adminUser
+		c.setopt(pycurl.HTTPHEADER, ['Content-Type: application/json', 'Accept: application/json', adminHeader])
+		res = c.perform()
+		#print(res)
+
+		#print('Status: %d' % c.getinfo(c.RESPONSE_CODE))
+
+		c.close()
+
+		body = buffer.getvalue()
+
+        #print(body)
+
+		return (body, None)
+
+	except Exception as inst:
+		print inst
+        #print type(inst)     # the exception instance
+        #print inst.args      # arguments stored in .args
+        #print inst           # __str__ allows args to be printed directly
+        #x, y = inst.args
+        #print 'x =', x
+		
+		return (None, inst)
+
+
+def usage():
+	print sys.argv[0], '[-i <be host> | --ip=<be host>] [-p <be port> | --port=<be port> ] [-f <output file> | --ofile=<output file> ]'
+
+def main(argv):
+	print 'Number of arguments:', len(sys.argv), 'arguments.'
+
+	adminHeader = 'jh0003'
+	beHost = 'localhost'
+	bePort = '8080'
+	outputfile = None 
+
+	try:
+		opts, args = getopt.getopt(argv,"i:p:f:h:",["ip=","port=","ofile="])
+	except getopt.GetoptError:
+		usage()
+		errorAndExit(2, 'Invalid input')
+        
+	for opt, arg in opts:
+        #print opt, arg
+		if opt == '-h':
+			usage()
+			sys.exit(3)
+		elif opt in ("-i", "--ip"):
+			beHost = arg
+		elif opt in ("-p", "--port"):
+			bePort = arg
+		elif opt in ("-f", "--ofile"):
+			outputfile = arg
+
+	print 'be host =',beHost,', be port =', bePort,', output file =',outputfile
+
+	if ( outputfile == None ):
+		usage()
+		sys.exit(3)
+
+	users = getUsers(beHost, bePort, adminHeader)
+	error = users[1]
+	body = users[0]
+
+	if ( error != None ):
+		errorAndExit(5, str(error))
+
+	#print body
+
+	io = StringIO(body)
+	usersAsJson = json.load(io)
+
+	writeFile = open(outputfile, 'w')
+
+	json.dump(usersAsJson, writeFile)
+
+	writeFile.close()
+
+	print("-------------------------------------------")
+	errorAndExit(0, None)
+
+if __name__ == "__main__":
+        main(sys.argv[1:])
diff --git a/asdctool/src/main/resources/scripts/python/user/importUsers.py b/asdctool/src/main/resources/scripts/python/user/importUsers.py
new file mode 100644
index 0000000..669cbbe
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/python/user/importUsers.py
@@ -0,0 +1,215 @@
+import pycurl
+import sys, getopt
+from StringIO import StringIO
+import json
+import copy
+
+################################################################################################################################################
+#																																		       #	
+# Import all users from a given file																										   #
+# 																																			   #		
+# activation :																																   #
+#       python importUsers.py [-i <be host> | --ip=<be host>] [-p <be port> | --port=<be port> ] [-f <input file> | --ifile=<input file> ]     #
+#																																		  	   #			
+# shortest activation (be host = localhost, be port = 8080): 																				   #																       #
+#		python importUsers.py [-f <input file> | --ifile=<input file> ]												 				           #
+#																																		       #	
+################################################################################################################################################
+
+
+def importUsers(beHost, bePort, users, adminUser):
+	
+	result = []	
+
+	for user in users:
+			
+		#print("Going to add user " + user['userId'])
+	
+		getRes = getUser(beHost, bePort, user)	
+		userId = getRes[0]
+		error = getRes[1]
+		#print error
+		if ( error != None and error == 404 ):
+			res = createUser(beHost, bePort, user ,adminUser)			
+			result.append(res)			
+		else:
+			if ( error == 200 ):
+				curResult = (userId, 409)
+				result.append(curResult)	
+			else:
+				result.append(getRes)
+
+	return result				
+
+
+def convertUsersToCreationObject(users):
+
+	cloneUsers  = copy.deepcopy(users)
+	for user in cloneUsers:
+		#print user	
+		if (user.get('fullName') != None):
+			del user['fullName']
+		#user['userId'] = user['userId'] + '1'
+		#print user
+
+	return cloneUsers
+
+def getUser(beHost, bePort, user):
+
+	userId = user['userId']
+	try:
+		buffer = StringIO()
+		c = pycurl.Curl()
+
+		#print type(userId)
+		url = 'http://' + beHost + ':' + bePort + '/sdc2/rest/v1/user/' + str(userId)
+		c.setopt(c.URL, url)
+
+		#adminHeader = 'USER_ID: ' + adminUser
+		c.setopt(pycurl.HTTPHEADER, ['Content-Type: application/json', 'Accept: application/json'])
+		c.setopt(c.WRITEFUNCTION, lambda x: None)
+		res = c.perform()
+					
+		#print("Before get response code")	
+		httpRes = c.getinfo(c.RESPONSE_CODE)
+		#print("After get response code")	
+		responseCode = c.getinfo(c.RESPONSE_CODE)
+		
+		#print('Status: ' + str(responseCode))
+
+		c.close()
+
+		return (userId, httpRes)
+
+	except Exception as inst:
+		print(inst)
+		return (userId, None)				
+
+		
+
+def createUser(beHost, bePort, user, adminUser):
+
+	userId = user['userId']
+	try:
+		buffer = StringIO()
+		c = pycurl.Curl()
+
+		url = 'http://' + beHost + ':' + bePort + '/sdc2/rest/v1/user'
+		c.setopt(c.URL, url)
+		c.setopt(c.POST, 1)		
+
+		adminHeader = 'USER_ID: ' + adminUser
+		c.setopt(pycurl.HTTPHEADER, ['Content-Type: application/json', 'Accept: application/json', adminHeader])
+
+		data = json.dumps(user)
+		c.setopt(c.POSTFIELDS, data)	
+
+		c.setopt(c.WRITEFUNCTION, lambda x: None)
+		#print("before perform")	
+		res = c.perform()
+        #print(res)
+	
+		#print("Before get response code")	
+		httpRes = c.getinfo(c.RESPONSE_CODE)
+		#print("After get response code")	
+		responseCode = c.getinfo(c.RESPONSE_CODE)
+		
+		#print('Status: ' + str(responseCode))
+
+		c.close()
+
+		return (userId, httpRes)
+
+	except Exception as inst:
+		print(inst)
+		return (userId, None)				
+
+
+def errorAndExit(errorCode, errorDesc):
+	if ( errorCode > 0 ):
+		print("status=" + str(errorCode) + ". " + errorDesc) 
+	else:
+		print("status=" + str(errorCode))
+	sys.exit(errorCode)
+	
+def usage():
+	print sys.argv[0], '[-i <be host> | --ip=<be host>] [-p <be port> | --port=<be port> ] [-f <input file> | --ifile=<input file> ]'
+
+def main(argv):
+	print 'Number of arguments:', len(sys.argv), 'arguments.'
+
+	beHost = 'localhost' 
+	bePort = '8080'
+	inputfile = None 
+
+	adminUser = 'jh0003'
+
+	try:
+		opts, args = getopt.getopt(argv,"i:p:f:h:",["ip=","port=","ifile="])
+	except getopt.GetoptError:
+		usage()
+		errorAndExit(2, 'Invalid input')
+		 
+	for opt, arg in opts:
+	#print opt, arg
+		if opt == '-h':
+			usage()                        
+			sys.exit(3)
+		elif opt in ("-i", "--ip"):
+			beHost = arg
+		elif opt in ("-p", "--port"):
+			bePort = arg
+		elif opt in ("-f", "--ifile"):
+			inputfile = arg
+
+	print 'be host =',beHost,', be port =', bePort,', users file =',inputfile
+	
+	if ( inputfile == None ):
+		usage()
+		sys.exit(3)
+
+	print 'Input file is ', inputfile
+
+	usersFile = open(inputfile)
+
+	json_data = json.load(usersFile)
+
+	#print json_data
+
+	cloneUsers = convertUsersToCreationObject(json_data)
+
+	activeUsers = filter(lambda x: x['status'] == 'ACTIVE', cloneUsers)
+
+	#print activeUsers
+
+	resultTable = importUsers(beHost, bePort, activeUsers, adminUser)
+
+	g = lambda x: x[1] != 201 and x[1] != 409
+
+	result = filter(g, resultTable)
+
+	if ( len(result) > 0 ):
+		#print("ERROR: Failed to load the users " + ', '.join(map(lambda x: x[0],result)))
+		errorAndExit(3, "Failed to load the users " + ', '.join(map(lambda x: x[0],result)))	
+
+	g = lambda x: x[1] == 409
+	result = filter(g, resultTable)
+
+	print("-------------------------------------------")
+	print("Existing users: " + ', '.join(map(lambda x: x[0],result)))
+
+	result = filter(lambda x: x[1] == 201, resultTable)
+	if ( len(result) == 0 ):
+		print("-------------------------------------------")
+		print("No NEW user was loaded. All users are already exist")
+		print("-------------------------------------------")
+	else:
+		print("-------------------------------------------")
+		print("Loaded users: " + ', '.join(map(lambda x: x[0],result)))
+		print("-------------------------------------------")
+
+	errorAndExit(0, None)
+
+
+if __name__ == "__main__":
+        main(sys.argv[1:])
diff --git a/asdctool/src/main/resources/scripts/schemaCreation.sh b/asdctool/src/main/resources/scripts/schemaCreation.sh
new file mode 100644
index 0000000..657db5e
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/schemaCreation.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+##############################
+# Data Migration
+##############################
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.DataSchemaMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass create-cassandra-structures $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/updateIsVnf.sh b/asdctool/src/main/resources/scripts/updateIsVnf.sh
new file mode 100644
index 0000000..62bfb9c
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/updateIsVnf.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+########################################################################
+#
+#   Example:
+#     ./updateIsVnf.sh ../config/titan.properties Bservice,Myservice
+#
+########################################################################
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.UpdateIsVnfMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass updateIsVnfTrue $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+
diff --git a/asdctool/src/main/resources/scripts/vfcNameAlignment.sh b/asdctool/src/main/resources/scripts/vfcNameAlignment.sh
new file mode 100644
index 0000000..10fbb25
--- /dev/null
+++ b/asdctool/src/main/resources/scripts/vfcNameAlignment.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+##############################
+# Data Migration
+##############################
+
+CURRENT_DIR=`pwd`
+BASEDIR=$(dirname $0)
+
+if [ ${BASEDIR:0:1} = "/" ]
+then
+                FULL_PATH=$BASEDIR
+else
+                FULL_PATH=$CURRENT_DIR/$BASEDIR
+fi
+
+source ${FULL_PATH}/baseOperation.sh
+
+mainClass="org.openecomp.sdc.asdctool.main.MigrationMenu"
+
+command="java $JVM_LOG_FILE -cp $JARS $mainClass align-vfc-names-1604 $@"
+echo $command
+
+$command
+result=$?
+
+echo "***********************************"
+echo "***** $result *********************"
+echo "***********************************"
+
+exit $result
+
+