Workflow Docker containers 05/56005/8
authorpriyanshu <pagarwal@amdocs.com>
Mon, 16 Jul 2018 13:55:05 +0000 (19:25 +0530)
committerpriyanshu <pagarwal@amdocs.com>
Mon, 16 Jul 2018 13:55:07 +0000 (19:25 +0530)
1. Implemented workflow init container.
2. Implemented workflow backend container.
3. Added a placeholder for frontend module container.
4. Modifiled directory structure and POM files.
5. Added a ReadMe with sample commands to detail how to run the containers.

Change-Id: Ib110fcc104ce72ff28fce514a1475a032cc2d82b
Issue-ID: SDC-1482
Signed-off-by: priyanshu <pagarwal@amdocs.com>
Signed-off-by: vempo <vitaliy.emporopulo@amdocs.com>
Signed-off-by: priyanshu <pagarwal@amdocs.com>
81 files changed:
workflow-designer-be/.empty [deleted file]
workflow-designer-be/src/main/resources/application.properties [deleted file]
workflow/README.md [new file with mode: 0644]
workflow/pom.xml [new file with mode: 0644]
workflow/workflow-bdd/.gitignore [moved from workflow-bdd/.gitignore with 100% similarity]
workflow/workflow-bdd/README.txt [moved from workflow-bdd/README.txt with 100% similarity]
workflow/workflow-bdd/config.json [moved from workflow-bdd/config.json with 100% similarity]
workflow/workflow-bdd/cucumber.js [moved from workflow-bdd/cucumber.js with 100% similarity]
workflow/workflow-bdd/features/Version_Create_Update.feature [moved from workflow-bdd/features/Version_Create_Update.feature with 100% similarity]
workflow/workflow-bdd/features/Version_State.feature [moved from workflow-bdd/features/Version_State.feature with 100% similarity]
workflow/workflow-bdd/features/Workflow_Create_Update.feature [moved from workflow-bdd/features/Workflow_Create_Update.feature with 100% similarity]
workflow/workflow-bdd/package.json [moved from workflow-bdd/package.json with 100% similarity]
workflow/workflow-bdd/plugins/README.md [moved from workflow-bdd/plugins/README.md with 100% similarity]
workflow/workflow-bdd/plugins/jsdoc_config.json [moved from workflow-bdd/plugins/jsdoc_config.json with 100% similarity]
workflow/workflow-bdd/plugins/reporter.js [moved from workflow-bdd/plugins/reporter.js with 100% similarity]
workflow/workflow-bdd/plugins/steps.js [moved from workflow-bdd/plugins/steps.js with 100% similarity]
workflow/workflow-bdd/pom.xml [moved from workflow-bdd/pom.xml with 100% similarity]
workflow/workflow-bdd/resources/json/createWorkflow.json [moved from workflow-bdd/resources/json/createWorkflow.json with 100% similarity]
workflow/workflow-bdd/stepDefinitions/Collaboration_Steps.js [moved from workflow-bdd/stepDefinitions/Collaboration_Steps.js with 100% similarity]
workflow/workflow-bdd/stepDefinitions/General_Steps.js [moved from workflow-bdd/stepDefinitions/General_Steps.js with 100% similarity]
workflow/workflow-bdd/stepDefinitions/InputData_steps.js [moved from workflow-bdd/stepDefinitions/InputData_steps.js with 100% similarity]
workflow/workflow-bdd/stepDefinitions/InterfaceOperationSteps.js [moved from workflow-bdd/stepDefinitions/InterfaceOperationSteps.js with 100% similarity]
workflow/workflow-bdd/stepDefinitions/Item_steps.js [moved from workflow-bdd/stepDefinitions/Item_steps.js with 100% similarity]
workflow/workflow-bdd/stepDefinitions/REST_Steps.js [moved from workflow-bdd/stepDefinitions/REST_Steps.js with 100% similarity]
workflow/workflow-bdd/stepDefinitions/Utils.js [moved from workflow-bdd/stepDefinitions/Utils.js with 100% similarity]
workflow/workflow-bdd/stepDefinitions/Workflow_Steps.js [moved from workflow-bdd/stepDefinitions/Workflow_Steps.js with 100% similarity]
workflow/workflow-bdd/stepDefinitions/world.js [moved from workflow-bdd/stepDefinitions/world.js with 100% similarity]
workflow/workflow-designer-be/pom.xml [moved from workflow-designer-be/pom.xml with 52% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/SpringBootWebApplication.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/SpringBootWebApplication.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/RestConstants.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/RestConstants.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/WorkflowController.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/WorkflowController.java with 93% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/WorkflowVersionController.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/WorkflowVersionController.java with 76% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/exceptionshandlers/CustomizedResponseEntityExceptionHandler.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/exceptionshandlers/CustomizedResponseEntityExceptionHandler.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/types/CollectionWrapper.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/types/CollectionWrapper.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/types/VersionRequestDto.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/types/VersionRequestDto.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/types/VersionStateDto.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/api/types/VersionStateDto.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/ArtifactRepository.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/ArtifactRepository.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/UniqueValueRepository.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/UniqueValueRepository.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/impl/ArtifactRepositoryImpl.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/impl/ArtifactRepositoryImpl.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/ArtifactEntity.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/ArtifactEntity.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/UniqueValueEntity.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/UniqueValueEntity.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/Workflow.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/Workflow.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/WorkflowProperty.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/WorkflowProperty.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/WorkflowVersion.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/WorkflowVersion.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/WorkflowVersionState.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/persistence/types/WorkflowVersionState.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/server/config/SwaggerConfig.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/server/config/SwaggerConfig.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/server/config/ZusammenConfig.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/server/config/ZusammenConfig.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/server/filters/SessionContextFilter.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/server/filters/SessionContextFilter.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/UniqueValueService.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/UniqueValueService.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/WorkflowManager.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/WorkflowManager.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/WorkflowVersionManager.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/WorkflowVersionManager.java with 99% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/exceptions/EntityNotFoundException.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/exceptions/EntityNotFoundException.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/exceptions/InvalidArtifactException.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/exceptions/InvalidArtifactException.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/exceptions/UniqueValueViolationException.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/exceptions/UniqueValueViolationException.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/exceptions/VersionCreationException.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/exceptions/VersionCreationException.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/exceptions/VersionModificationException.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/exceptions/VersionModificationException.java with 59% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/exceptions/VersionStateModificationException.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/exceptions/VersionStateModificationException.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/CollaborationConfiguration.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/CollaborationConfiguration.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowManagerImpl.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowManagerImpl.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowVersionManagerImpl.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowVersionManagerImpl.java with 89% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/VersionMapper.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/VersionMapper.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/VersionStateMapper.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/VersionStateMapper.java with 100% similarity]
workflow/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/WorkflowMapper.java [moved from workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/mappers/WorkflowMapper.java with 100% similarity]
workflow/workflow-designer-be/src/main/resources/application.properties [new file with mode: 0644]
workflow/workflow-designer-be/src/test/java/org/onap/sdc/workflow/RestPath.java [moved from workflow-designer-be/src/test/java/org/onap/sdc/workflow/RestPath.java with 100% similarity]
workflow/workflow-designer-be/src/test/java/org/onap/sdc/workflow/TestUtil.java [moved from workflow-designer-be/src/test/java/org/onap/sdc/workflow/TestUtil.java with 100% similarity]
workflow/workflow-designer-be/src/test/java/org/onap/sdc/workflow/api/WorkflowControllerTest.java [moved from workflow-designer-be/src/test/java/org/onap/sdc/workflow/api/WorkflowControllerTest.java with 100% similarity]
workflow/workflow-designer-be/src/test/java/org/onap/sdc/workflow/api/WorkflowVersionControllerTest.java [moved from workflow-designer-be/src/test/java/org/onap/sdc/workflow/api/WorkflowVersionControllerTest.java with 100% similarity]
workflow/workflow-designer-be/src/test/java/org/onap/sdc/workflow/persistence/impl/ArtifactRepositoryTest.java [moved from workflow-designer-be/src/test/java/org/onap/sdc/workflow/persistence/impl/ArtifactRepositoryTest.java with 100% similarity]
workflow/workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/UniqueValueServiceTest.java [moved from workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/UniqueValueServiceTest.java with 100% similarity]
workflow/workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl/WorkflowManagerImplTest.java [moved from workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl/WorkflowManagerImplTest.java with 99% similarity]
workflow/workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl/WorkflowVersionManagerImplTest.java [moved from workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl/WorkflowVersionManagerImplTest.java with 99% similarity]
workflow/workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl/mappers/VersionMapperTest.java [moved from workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl/mappers/VersionMapperTest.java with 99% similarity]
workflow/workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl/mappers/VersionStateMapperTest.java [moved from workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl/mappers/VersionStateMapperTest.java with 99% similarity]
workflow/workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl/mappers/WorkflowMapperTest.java [moved from workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl/mappers/WorkflowMapperTest.java with 100% similarity]
workflow/workflow-designer-init/pom.xml [new file with mode: 0644]
workflow/workflow-designer-init/src/main/docker/Dockerfile [new file with mode: 0644]
workflow/workflow-designer-init/src/main/docker/create_workflow_db.cql [new file with mode: 0644]
workflow/workflow-designer-init/src/main/docker/start.sh [new file with mode: 0644]
workflow/workflow-designer-ui/pom.xml [new file with mode: 0644]
worklfow-designer-ui/.empty [deleted file]

diff --git a/workflow-designer-be/.empty b/workflow-designer-be/.empty
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/workflow-designer-be/src/main/resources/application.properties b/workflow-designer-be/src/main/resources/application.properties
deleted file mode 100644 (file)
index b7cfc5a..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-server.servlet.context-path=/wf
-server.port=8080
-
-#CASSANDRA
-spring.data.cassandra.contact-points=localhost
-spring.data.cassandra.keyspace-name=workflow
-spring.data.cassandra.port=9042
\ No newline at end of file
diff --git a/workflow/README.md b/workflow/README.md
new file mode 100644 (file)
index 0000000..40b4bbb
--- /dev/null
@@ -0,0 +1,29 @@
+# Steps to run the Workflow application on Docker
+
+## 1. Initialize Workflow Database
+
+`docker run -d -e CS_HOST={HOST} -e CS_PORT={PORT} -e CS_USER={USER} -e CS_PASSWORD={PASSWORD} {INIT_IMAGE}`
+
+This is done only once to initialize the DB schema.
+
+**Example** 
+
+`docker run -d -e CS_HOST=10.247.41.19 -e CS_USER=test -e CS_PASSWORD=secret -e CS_PORT=9160 onap/workflow-init:latest`
+
+## 2. Start Backend
+
+`docker run -d -e JAVA_OPTIONS={JAVA_OPTIONS} -e CS_HOSTS={COMMA_SEPARATED_HOSTS} -e CS_PORT={PORT} 
+-e CS_USER={USER} -e CS_PASSWORD={PASSWORD} -p {HOST_PORT}:{APPLICATION_PORT} {BACKEND_IMAGE}`
+
+or, if Cassandra authentication is not required
+
+`docker run -d -e JAVA_OPTIONS={JAVA_OPTIONS} -e CS_HOSTS={COMMA_SEPARATED_HOSTS} -e CS_PORT={PORT} 
+-e CS_AUTHENTICATE=false -p {HOST_PORT}:{APPLICATION_PORT} {BACKEND_IMAGE}`
+
+The server listens on 8080 by default, but it is possible to change the application port by passing 
+`-e SERVER_PORT={PORT}` to Docker _run_ command.
+
+**Example**
+
+`docker run -d -e JAVA_OPTIONS="-Xmx128m -Xms128m -Xss1m" -e CS_HOSTS=10.247.41.19,10.247.41.20 
+-e CS_PORT=9042 -e CS_AUTHENTICATE=false -p 8080:8080 onap/workflow-backend:latest`
\ No newline at end of file
diff --git a/workflow/pom.xml b/workflow/pom.xml
new file mode 100644 (file)
index 0000000..ea4edbc
--- /dev/null
@@ -0,0 +1,103 @@
+<project
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xmlns="http://maven.apache.org/POM/4.0.0"
+        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.onap.sdc.workflow_designer</groupId>
+    <artifactId>workflow-designer-parent</artifactId>
+    <version>1.3.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+        <onap.version>1.3.0-SNAPSHOT</onap.version>
+        <mvn.docker.version>0.23.0</mvn.docker.version>
+        <docker.optimize>true</docker.optimize>
+        <docker.username>docker</docker.username>
+        <docker.password>docker</docker.password>
+        <nexus.registry>nexus3.onap.org:10001</nexus.registry>
+        <nexus.proxy>https://nexus.onap.org</nexus.proxy>
+        <sitePath>/content/sites/site/org/onap/sdc/workflow/${project.version}</sitePath>
+    </properties>
+
+    <modules>
+        <module>workflow-designer-init</module>
+        <module>workflow-designer-be</module>
+        <module>workflow-designer-ui</module>
+    </modules>
+
+    <build>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>io.fabric8</groupId>
+                    <artifactId>docker-maven-plugin</artifactId>
+                    <version>${mvn.docker.version}</version>
+                    <configuration>
+                        <verbose>false</verbose>
+                        <registry>${nexus.registry}</registry>
+                        <authConfig>
+                            <pull>
+                                <username>${docker.username}</username>
+                                <password>${docker.password}</password>
+                            </pull>
+                        </authConfig>
+                    </configuration>
+                    <executions>
+                        <execution>
+                            <id>docker-build</id>
+                            <phase>install</phase>
+                            <goals>
+                                <goal>build</goal>
+                            </goals>
+                        </execution>
+                        <execution>
+                            <id>push-images</id>
+                            <phase>deploy</phase>
+                            <goals>
+                                <goal>push</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
+
+    <repositories>
+        <repository>
+            <id>ecomp-releases</id>
+            <name>Release Repository</name>
+            <url>${nexus.proxy}/content/repositories/releases/</url>
+        </repository>
+        <repository>
+            <id>ecomp-snapshots</id>
+            <name>Snapshots Repository</name>
+            <url>${nexus.proxy}/content/repositories/snapshots/</url>
+        </repository>
+        <repository>
+            <id>ecomp-public</id>
+            <name>Public Repository</name>
+            <url>${nexus.proxy}/content/repositories/public/</url>
+        </repository>
+    </repositories>
+    <distributionManagement>
+        <repository>
+            <id>ecomp-releases</id>
+            <name>Release Repository</name>
+            <url>${nexus.proxy}/content/repositories/releases/</url>
+        </repository>
+        <snapshotRepository>
+            <id>ecomp-snapshots</id>
+            <name>Snapshot Repository</name>
+            <url>${nexus.proxy}/content/repositories/snapshots/</url>
+        </snapshotRepository>
+        <site>
+            <id>ecomp-site</id>
+            <url>dav:${nexus.proxy}${sitePath}</url>
+        </site>
+    </distributionManagement>
+
+</project>
\ No newline at end of file
similarity index 52%
rename from workflow-designer-be/pom.xml
rename to workflow/workflow-designer-be/pom.xml
index 37f4d80..b76dc46 100644 (file)
@@ -2,25 +2,38 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
     <modelVersion>4.0.0</modelVersion>
 
-    <groupId>org.onap.sdc.workflow</groupId>
-    <artifactId>workflow-be</artifactId>
-    <version>1.3.0-SNAPSHOT</version>
+    <artifactId>workflow-designer-be</artifactId>
+
     <parent>
-        <groupId>org.springframework.boot</groupId>
-        <artifactId>spring-boot-starter-parent</artifactId>
-        <version>2.0.2.RELEASE</version>
+        <groupId>org.onap.sdc.workflow_designer</groupId>
+        <artifactId>workflow-designer-parent</artifactId>
+        <version>1.3.0-SNAPSHOT</version>
     </parent>
+
     <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-        <java.version>1.8</java.version>
-        <onap.version>1.3.0-SNAPSHOT</onap.version>
-        <org.mapstruct.version>1.2.0.Final</org.mapstruct.version>
-        <org.projectlombok.version>1.18.0</org.projectlombok.version>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
+        <spring.boot.version>2.0.3.RELEASE</spring.boot.version>
+        <mapstruct.version>1.2.0.Final</mapstruct.version>
+        <lombok.version>1.18.0</lombok.version>
+        <springfox.version>2.8.0</springfox.version>
     </properties>
 
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-dependencies</artifactId>
+                <version>${spring.boot.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
     <dependencies>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-jetty</artifactId>
         </dependency>
-
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-data-cassandra</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-            <version>${org.projectlombok.version}</version>
-            <scope>provided</scope>
-        </dependency>
-
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-devtools</artifactId>
+            <scope>runtime</scope>
         </dependency>
-
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>
             <scope>test</scope>
         </dependency>
-
-
         <dependency>
             <groupId>io.springfox</groupId>
             <artifactId>springfox-swagger-ui</artifactId>
-            <version>2.8.0</version>
-            <scope>compile</scope>
+            <version>${springfox.version}</version>
         </dependency>
         <dependency>
             <groupId>io.springfox</groupId>
             <artifactId>springfox-swagger2</artifactId>
-            <version>2.8.0</version>
-            <scope>compile</scope>
+            <version>${springfox.version}</version>
         </dependency>
         <dependency>
             <groupId>org.openecomp.sdc</groupId>
         <dependency>
             <groupId>org.mapstruct</groupId>
             <artifactId>mapstruct-jdk8</artifactId>
-            <version>${org.mapstruct.version}</version>
+            <version>${mapstruct.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.mapstruct</groupId>
+            <artifactId>mapstruct-processor</artifactId>
+            <version>${mapstruct.version}</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>${lombok.version}</version>
+            <scope>provided</scope>
         </dependency>
     </dependencies>
 
     <build>
         <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-            </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <version>3.5.1</version>
-                <configuration>
-                    <source>${java.version}</source>
-                    <target>${java.version}</target>
-                    <annotationProcessorPaths>
-                        <path>
-                            <groupId>org.mapstruct</groupId>
-                            <artifactId>mapstruct-processor</artifactId>
-                            <version>${org.mapstruct.version}</version>
-                        </path>
-                        <path>
-                            <groupId>org.projectlombok</groupId>
-                            <artifactId>lombok</artifactId>
-                            <version>${lombok.version}</version>
-                        </path>
-                    </annotationProcessorPaths>
-                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <version>${spring.boot.version}</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
             </plugin>
         </plugins>
     </build>
+
+    <profiles>
+        <profile>
+            <id>docker</id>
+            <activation>
+                <activeByDefault>false</activeByDefault>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>io.fabric8</groupId>
+                        <artifactId>docker-maven-plugin</artifactId>
+                        <configuration>
+                            <images>
+                                <image>
+                                    <name>onap/workflow-backend</name>
+                                    <build>
+                                        <tags>
+                                            <tag>${project.version}</tag>
+                                        </tags>
+                                        <from>openjdk:8-jdk-alpine</from>
+                                        <user>root</user>
+                                        <assembly>
+                                            <descriptorRef>artifact</descriptorRef>
+                                            <targetDir>/</targetDir>
+                                        </assembly>
+                                        <entryPoint>java ${JAVA_OPTIONS} -jar /${project.build.finalName}.jar</entryPoint>
+                                    </build>
+                                </image>
+                            </images>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+
 </project>
 
@@ -42,14 +42,14 @@ public class WorkflowController {
     @PostMapping(consumes = MediaType.APPLICATION_JSON_VALUE)
     @ApiOperation("Create workflow")
     public ResponseEntity<Workflow> create(@RequestBody Workflow workflow,
-            @RequestHeader(USER_ID_HEADER_PARAM) String user) {
+        @RequestHeader(USER_ID_HEADER_PARAM) String user) {
         return new ResponseEntity<>(workflowManager.create(workflow), HttpStatus.CREATED);
     }
 
     @GetMapping(path = "/{workflowId}")
     @ApiOperation("Get workflow")
     public Workflow get(@PathVariable("workflowId") String workflowId,
-            @RequestHeader(USER_ID_HEADER_PARAM) String user) {
+        @RequestHeader(USER_ID_HEADER_PARAM) String user) {
         Workflow workflow = new Workflow();
         workflow.setId(workflowId);
         return workflowManager.get(workflow);
@@ -58,7 +58,7 @@ public class WorkflowController {
     @PutMapping(path = "/{workflowId}", consumes = MediaType.APPLICATION_JSON_VALUE)
     @ApiOperation("Update workflow")
     public Workflow update(@RequestBody Workflow workflow, @PathVariable("workflowId") String workflowId,
-            @RequestHeader(USER_ID_HEADER_PARAM) String user) {
+        @RequestHeader(USER_ID_HEADER_PARAM) String user) {
         workflow.setId(workflowId);
         workflowManager.update(workflow);
         return workflow;
@@ -38,21 +38,21 @@ public class WorkflowVersionController {
 
     @Autowired
     public WorkflowVersionController(
-            @Qualifier("workflowVersionManager") WorkflowVersionManager workflowVersionManager) {
+        @Qualifier("workflowVersionManager") WorkflowVersionManager workflowVersionManager) {
         this.workflowVersionManager = workflowVersionManager;
     }
 
     @GetMapping
     @ApiOperation("List workflow versions")
     public CollectionWrapper<WorkflowVersion> list(@PathVariable("workflowId") String workflowId,
-            @RequestHeader(USER_ID_HEADER_PARAM) String user) {
+        @RequestHeader(USER_ID_HEADER_PARAM) String user) {
         return new CollectionWrapper<>(workflowVersionManager.list(workflowId));
     }
 
     @PostMapping
     @ApiOperation("Create workflow version")
     public ResponseEntity<WorkflowVersion> create(@RequestBody VersionRequestDto versionRequest,
-            @PathVariable("workflowId") String workflowId, @RequestHeader(USER_ID_HEADER_PARAM) String user) {
+        @PathVariable("workflowId") String workflowId, @RequestHeader(USER_ID_HEADER_PARAM) String user) {
 
         WorkflowVersion createdVersion = workflowVersionManager.create(workflowId, versionRequest);
         return new ResponseEntity<>(createdVersion, HttpStatus.CREATED);
@@ -61,14 +61,14 @@ public class WorkflowVersionController {
     @GetMapping("/{versionId}")
     @ApiOperation("Get workflow version")
     public WorkflowVersion get(@PathVariable("workflowId") String workflowId,
-            @PathVariable("versionId") String versionId, @RequestHeader(USER_ID_HEADER_PARAM) String user) {
+        @PathVariable("versionId") String versionId, @RequestHeader(USER_ID_HEADER_PARAM) String user) {
         return workflowVersionManager.get(workflowId, versionId);
     }
 
     @PutMapping("/{versionId}")
     @ApiOperation("Update workflow version")
     public void update(@RequestBody WorkflowVersion version, @PathVariable("workflowId") String workflowId,
-            @PathVariable("versionId") String versionId, @RequestHeader(USER_ID_HEADER_PARAM) String user) {
+        @PathVariable("versionId") String versionId, @RequestHeader(USER_ID_HEADER_PARAM) String user) {
         version.setId(versionId);
         workflowVersionManager.update(workflowId, version);
     }
@@ -76,15 +76,15 @@ public class WorkflowVersionController {
     @GetMapping("/{versionId}/state")
     @ApiOperation("Get workflow version state")
     public VersionStateDto getState(@PathVariable("workflowId") String workflowId,
-            @PathVariable("versionId") String versionId, @RequestHeader(USER_ID_HEADER_PARAM) String user) {
+        @PathVariable("versionId") String versionId, @RequestHeader(USER_ID_HEADER_PARAM) String user) {
         return new VersionStateDto(workflowVersionManager.getState(workflowId, versionId));
     }
 
     @PostMapping("/{versionId}/state")
     @ApiOperation("Update workflow version state")
     public VersionStateDto updateState(@RequestBody VersionStateDto state,
-            @PathVariable("workflowId") String workflowId, @PathVariable("versionId") String versionId,
-            @RequestHeader(USER_ID_HEADER_PARAM) String user) {
+        @PathVariable("workflowId") String workflowId, @PathVariable("versionId") String versionId,
+        @RequestHeader(USER_ID_HEADER_PARAM) String user) {
         workflowVersionManager.updateState(workflowId, versionId, state.getName());
         return new VersionStateDto(state.getName());
     }
@@ -92,26 +92,26 @@ public class WorkflowVersionController {
     @PutMapping("/{versionId}/artifact")
     @ApiOperation("Create/update artifact of a version")
     public void uploadArtifact(@RequestBody MultipartFile fileToUpload, @PathVariable("workflowId") String workflowId,
-            @PathVariable("versionId") String versionId, @RequestHeader(USER_ID_HEADER_PARAM) String user) {
+        @PathVariable("versionId") String versionId, @RequestHeader(USER_ID_HEADER_PARAM) String user) {
         workflowVersionManager.uploadArtifact(workflowId, versionId, fileToUpload);
     }
 
     @GetMapping("/{versionId}/artifact")
     @ApiOperation("Download workflow version artifact")
     public ResponseEntity<Resource> getArtifact(@PathVariable("workflowId") String workflowId,
-            @PathVariable("versionId") String versionId, @RequestHeader(USER_ID_HEADER_PARAM) String user) {
+        @PathVariable("versionId") String versionId, @RequestHeader(USER_ID_HEADER_PARAM) String user) {
         ArtifactEntity artifact = workflowVersionManager.getArtifact(workflowId, versionId);
 
         return ResponseEntity.ok()
-                             .header(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + artifact.getFileName())
-                             .contentType(MediaType.APPLICATION_OCTET_STREAM)
-                             .body(new InputStreamResource(artifact.getArtifactData()));
+            .header(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + artifact.getFileName())
+            .contentType(MediaType.APPLICATION_OCTET_STREAM)
+            .body(new InputStreamResource(artifact.getArtifactData()));
     }
 
     @DeleteMapping("/{versionId}/artifact")
     @ApiOperation("Delete workflow version artifact")
     public void deleteArtifact(@PathVariable("workflowId") String workflowId,
-            @PathVariable("versionId") String versionId, @RequestHeader(USER_ID_HEADER_PARAM) String user) {
+        @PathVariable("versionId") String versionId, @RequestHeader(USER_ID_HEADER_PARAM) String user) {
         workflowVersionManager.deleteArtifact(workflowId, versionId);
     }
 }
@@ -4,7 +4,7 @@ public class VersionModificationException extends RuntimeException {
 
     public VersionModificationException(String workflowId, String versionId) {
         super(String.format(
-                "Error while trying to modify version %s of workflow %s: Version is CERTIFIED and can not be edited",
-                versionId, workflowId));
+            "Error while trying to modify version %s of workflow %s: Version is CERTIFIED and can not be edited",
+            versionId, workflowId));
     }
-}
+}
\ No newline at end of file
@@ -41,7 +41,7 @@ public class WorkflowVersionManagerImpl implements WorkflowVersionManager {
 
     @Autowired
     public WorkflowVersionManagerImpl(VersioningManager versioningManager, ArtifactRepository artifactRepository,
-            VersionMapper versionMapper, VersionStateMapper versionStateMapper) {
+        VersionMapper versionMapper, VersionStateMapper versionStateMapper) {
         this.versioningManager = versioningManager;
         this.artifactRepository = artifactRepository;
         this.versionMapper = versionMapper;
@@ -51,7 +51,7 @@ public class WorkflowVersionManagerImpl implements WorkflowVersionManager {
     @Override
     public Collection<WorkflowVersion> list(String workflowId) {
         return versioningManager.list(workflowId).stream().map(versionMapper::versionToWorkflowVersion)
-                                .collect(Collectors.toList());
+            .collect(Collectors.toList());
     }
 
     @Override
@@ -86,7 +86,7 @@ public class WorkflowVersionManagerImpl implements WorkflowVersionManager {
     public void update(String workflowId, WorkflowVersion workflowVersion) {
         Version retrievedVersion = getVersion(workflowId, workflowVersion.getId());
         if (WorkflowVersionState.CERTIFIED
-                    .equals(versionStateMapper.versionStatusToWorkflowVersionState(retrievedVersion.getStatus()))) {
+            .equals(versionStateMapper.versionStatusToWorkflowVersionState(retrievedVersion.getStatus()))) {
             throw new VersionModificationException(workflowId, workflowVersion.getId());
         }
 
@@ -107,7 +107,7 @@ public class WorkflowVersionManagerImpl implements WorkflowVersionManager {
     public void updateState(String workflowId, String versionId, WorkflowVersionState state) {
         Version retrievedVersion = getVersion(workflowId, versionId);
         WorkflowVersionState retrievedState =
-                versionStateMapper.versionStatusToWorkflowVersionState(retrievedVersion.getStatus());
+            versionStateMapper.versionStatusToWorkflowVersionState(retrievedVersion.getStatus());
         if (WorkflowVersionState.CERTIFIED.equals(retrievedState) || retrievedState.equals(state)) {
             throw new VersionStateModificationException(workflowId, versionId, retrievedState, state);
         }
@@ -115,20 +115,20 @@ public class WorkflowVersionManagerImpl implements WorkflowVersionManager {
         retrievedVersion.setStatus(versionStateMapper.workflowVersionStateToVersionStatus(state));
         versioningManager.updateVersion(workflowId, retrievedVersion);
         versioningManager.publish(workflowId, retrievedVersion,
-                String.format("Update version state from %s to %s", retrievedState.name(), state.name()));
+            String.format("Update version state from %s to %s", retrievedState.name(), state.name()));
     }
 
     @Override
     public void uploadArtifact(String workflowId, String versionId, MultipartFile artifact) {
         Version retrievedVersion = getVersion(workflowId, versionId);
         if (WorkflowVersionState.CERTIFIED
-                    .equals(versionStateMapper.versionStatusToWorkflowVersionState(retrievedVersion.getStatus()))) {
+            .equals(versionStateMapper.versionStatusToWorkflowVersionState(retrievedVersion.getStatus()))) {
             throw new VersionModificationException(workflowId, versionId);
         }
 
         try (InputStream artifactData = artifact.getInputStream()) {
             ArtifactEntity artifactEntity =
-                    new ArtifactEntity(StringUtils.cleanPath(artifact.getOriginalFilename()), artifactData);
+                new ArtifactEntity(StringUtils.cleanPath(artifact.getOriginalFilename()), artifactData);
             artifactRepository.update(workflowId, versionId, artifactEntity);
             versioningManager.publish(workflowId, new Version(versionId), "Update Artifact");
 
@@ -143,7 +143,7 @@ public class WorkflowVersionManagerImpl implements WorkflowVersionManager {
         Optional<ArtifactEntity> artifactOptional = artifactRepository.get(workflowId, versionId);
         if (!artifactOptional.isPresent()) {
             throw new EntityNotFoundException(
-                    String.format("Artifact for workflow id %S version id %S was not found", workflowId, versionId));
+                String.format("Artifact for workflow id %S version id %S was not found", workflowId, versionId));
         }
         return artifactOptional.get();
     }
@@ -161,7 +161,7 @@ public class WorkflowVersionManagerImpl implements WorkflowVersionManager {
 
     private void validateVersionExistAndCertified(String workflowId, List<Version> versions, String versionId) {
         Version baseVersion = findVersion(versions, versionId).orElseThrow(
-                () -> new EntityNotFoundException(String.format(VERSION_NOT_EXIST_MSG, versionId, workflowId)));
+            () -> new EntityNotFoundException(String.format(VERSION_NOT_EXIST_MSG, versionId, workflowId)));
 
         if (!Certified.equals(baseVersion.getStatus())) {
             throw new VersionCreationException(workflowId, versionId);
@@ -183,4 +183,4 @@ public class WorkflowVersionManagerImpl implements WorkflowVersionManager {
     private static Optional<Version> findVersion(List<Version> versions, String versionId) {
         return versions.stream().filter(version -> versionId.equals(version.getId())).findFirst();
     }
-}
+}
\ No newline at end of file
diff --git a/workflow/workflow-designer-be/src/main/resources/application.properties b/workflow/workflow-designer-be/src/main/resources/application.properties
new file mode 100644 (file)
index 0000000..ab4930b
--- /dev/null
@@ -0,0 +1,10 @@
+server.servlet.context-path=/wf
+server.port=${SERVER_PORT:8080}
+
+#CASSANDRA
+spring.data.cassandra.contact-points=${CS_HOSTS}
+spring.data.cassandra.keyspace-name=workflow
+spring.data.cassandra.port=${CS_PORT:9042}
+spring.data.cassandra.username=${CS_USER:}
+spring.data.cassandra.password=${CS_PASSWORD:}
+zusammen.cassandra.isAuthenticate=${CS_AUTHENTICATE:true}
\ No newline at end of file
diff --git a/workflow/workflow-designer-init/pom.xml b/workflow/workflow-designer-init/pom.xml
new file mode 100644 (file)
index 0000000..7f926e8
--- /dev/null
@@ -0,0 +1,45 @@
+<project
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xmlns="http://maven.apache.org/POM/4.0.0"
+        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>workflow-designer-init</artifactId>
+    <packaging>pom</packaging>
+
+    <parent>
+        <groupId>org.onap.sdc.workflow_designer</groupId>
+        <artifactId>workflow-designer-parent</artifactId>
+        <version>1.3.0-SNAPSHOT</version>
+    </parent>
+
+    <profiles>
+        <profile>
+            <id>docker</id>
+            <activation>
+                <activeByDefault>false</activeByDefault>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>io.fabric8</groupId>
+                        <artifactId>docker-maven-plugin</artifactId>
+                        <configuration>
+                            <images>
+                                <image>
+                                    <name>onap/workflow-init</name>
+                                    <build>
+                                        <tags>
+                                            <tag>${project.version}</tag>
+                                        </tags>
+                                        <dockerFile>Dockerfile</dockerFile>
+                                    </build>
+                                </image>
+                            </images>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+</project>
\ No newline at end of file
diff --git a/workflow/workflow-designer-init/src/main/docker/Dockerfile b/workflow/workflow-designer-init/src/main/docker/Dockerfile
new file mode 100644 (file)
index 0000000..75e7efd
--- /dev/null
@@ -0,0 +1,10 @@
+FROM alpine:3.7
+
+RUN apk add --no-cache 'python<3' py-pip && pip install cqlsh==4.0.1
+
+COPY create_workflow_db.cql .
+COPY start.sh .
+
+RUN chmod 744 start.sh
+
+ENTRYPOINT ["./start.sh"]
\ No newline at end of file
diff --git a/workflow/workflow-designer-init/src/main/docker/create_workflow_db.cql b/workflow/workflow-designer-init/src/main/docker/create_workflow_db.cql
new file mode 100644 (file)
index 0000000..c6c1f15
--- /dev/null
@@ -0,0 +1,125 @@
+CREATE KEYSPACE IF NOT EXISTS WORKFLOW
+WITH DURABLE_WRITES = TRUE
+AND REPLICATION = {
+       'class' : 'SimpleStrategy',
+       'replication_factor' : 1
+};
+
+USE WORKFLOW;
+
+CREATE TABLE IF NOT EXISTS UNIQUE_VALUE (
+       TYPE TEXT,
+       VALUE TEXT,
+       PRIMARY KEY (( TYPE, VALUE ))
+);
+
+CREATE KEYSPACE IF NOT EXISTS ZUSAMMEN_WORKFLOW
+WITH REPLICATION = {
+       'class' : 'SimpleStrategy',
+       'replication_factor' : 1
+};
+
+USE ZUSAMMEN_WORKFLOW;
+
+CREATE TABLE IF NOT EXISTS ITEM (
+       ITEM_ID TEXT PRIMARY KEY,
+       ITEM_INFO TEXT,
+       CREATION_TIME TIMESTAMP,
+       MODIFICATION_TIME TIMESTAMP
+);
+
+CREATE TABLE IF NOT EXISTS VERSION (
+       SPACE TEXT,
+       ITEM_ID TEXT,
+       VERSION_ID TEXT,
+       BASE_VERSION_ID TEXT,
+       INFO TEXT,
+       RELATIONS TEXT,
+       CREATION_TIME TIMESTAMP,
+       MODIFICATION_TIME TIMESTAMP,
+       PRIMARY KEY (( SPACE, ITEM_ID ), VERSION_ID)
+);
+
+CREATE TABLE IF NOT EXISTS VERSION_ELEMENTS (
+       SPACE TEXT,
+       ITEM_ID TEXT,
+       VERSION_ID TEXT,
+       REVISION_ID TEXT,
+       ELEMENT_IDS MAP<TEXT, TEXT>,
+       DIRTY_ELEMENT_IDS SET<TEXT>,
+       STAGE_ELEMENT_IDS SET<TEXT>,
+       CONFLICT_ELEMENT_IDS SET<TEXT>,
+       PUBLISH_TIME TIMESTAMP,
+       USER TEXT,
+       MESSAGE TEXT,
+       PRIMARY KEY (( SPACE, ITEM_ID, VERSION_ID ), REVISION_ID)
+);
+
+CREATE TABLE IF NOT EXISTS ELEMENT_NAMESPACE (
+       ITEM_ID TEXT,
+       ELEMENT_ID TEXT,
+       NAMESPACE TEXT,
+       PRIMARY KEY (( ITEM_ID, ELEMENT_ID ))
+);
+
+CREATE TABLE IF NOT EXISTS ELEMENT (
+       SPACE TEXT,
+       ITEM_ID TEXT,
+       VERSION_ID TEXT,
+       ELEMENT_ID TEXT,
+       REVISION_ID TEXT,
+       PARENT_ID TEXT,
+       NAMESPACE TEXT,
+       INFO TEXT,
+       RELATIONS TEXT,
+       DATA BLOB,
+       SEARCHABLE_DATA BLOB,
+       VISUALIZATION BLOB,
+       SUB_ELEMENT_IDS SET<TEXT>,
+       ELEMENT_HASH TEXT,
+       PRIMARY KEY (( SPACE, ITEM_ID, VERSION_ID, ELEMENT_ID ), REVISION_ID)
+);
+
+CREATE TABLE IF NOT EXISTS ELEMENT_SYNCHRONIZATION_STATE (
+       SPACE TEXT,
+       ITEM_ID TEXT,
+       VERSION_ID TEXT,
+       ELEMENT_ID TEXT,
+       REVISION_ID TEXT,
+       PUBLISH_TIME TIMESTAMP,
+       DIRTY BOOLEAN,
+       PRIMARY KEY (( SPACE, ITEM_ID, VERSION_ID ), ELEMENT_ID, REVISION_ID)
+);
+
+CREATE TABLE IF NOT EXISTS ELEMENT_STAGE (
+       SPACE TEXT,
+       ITEM_ID TEXT,
+       VERSION_ID TEXT,
+       ELEMENT_ID TEXT,
+       PARENT_ID TEXT,
+       NAMESPACE TEXT,
+       INFO TEXT,
+       RELATIONS TEXT,
+       DATA BLOB,
+       SEARCHABLE_DATA BLOB,
+       VISUALIZATION BLOB,
+       SUB_ELEMENT_IDS SET<TEXT>,
+       ELEMENT_HASH TEXT,
+       PUBLISH_TIME TIMESTAMP,
+       ACTION TEXT,
+       CONFLICTED BOOLEAN,
+       CONFLICT_DEPENDENT_IDS SET<TEXT>,
+       PRIMARY KEY (( SPACE, ITEM_ID, VERSION_ID, ELEMENT_ID ))
+);
+
+CREATE TABLE IF NOT EXISTS VERSION_STAGE (
+       SPACE TEXT,
+       ITEM_ID TEXT,
+       VERSION_ID TEXT,
+       BASE_VERSION_ID TEXT,
+       CREATION_TIME TIMESTAMP,
+       MODIFICATION_TIME TIMESTAMP,
+       PUBLISH_TIME TIMESTAMP,
+       ACTION TEXT,
+       PRIMARY KEY (( SPACE, ITEM_ID ), VERSION_ID)
+);
\ No newline at end of file
diff --git a/workflow/workflow-designer-init/src/main/docker/start.sh b/workflow/workflow-designer-init/src/main/docker/start.sh
new file mode 100644 (file)
index 0000000..ac89d6c
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+if [[ -z "${CS_USER}" ]]; then
+       echo "CS_USER environment variable must be set"
+       exit 1
+fi
+
+if [[ -z "${CS_PASSWORD}" ]]; then
+       echo "CS_PASSWORD environment variable must be set"
+       exit 1
+fi
+
+if [[ -z "${CS_HOST}" ]]; then
+       echo "CS_HOST environment variable must be set"
+       exit 1
+fi
+
+cqlsh -u ${CS_USER} -p ${CS_PASSWORD} -f /create_workflow_db.cql ${CS_HOST} ${CS_PORT}
diff --git a/workflow/workflow-designer-ui/pom.xml b/workflow/workflow-designer-ui/pom.xml
new file mode 100644 (file)
index 0000000..652aec6
--- /dev/null
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright © 2016-2018 European Support Limited
+  ~
+  ~ 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.
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>workflow-designer-ui</artifactId>
+    <packaging>pom</packaging>
+
+    <parent>
+        <groupId>org.onap.sdc.workflow_designer</groupId>
+        <artifactId>workflow-designer-parent</artifactId>
+        <version>1.3.0-SNAPSHOT</version>
+    </parent>
+
+</project>
+
diff --git a/worklfow-designer-ui/.empty b/worklfow-designer-ui/.empty
deleted file mode 100644 (file)
index e69de29..0000000