Create new non-mano Artifact Type entry for pnf software information

Issue-ID: SDC-2615
Change-Id: I4dd879d50b1dec58aceeaf0c265901c62d038071
Signed-off-by: aribeiro <anderson.ribeiro@est.tech>
diff --git a/asdctool/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/templates/default/configuration.yaml.erb b/asdctool/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/templates/default/configuration.yaml.erb
index 76f9ca6..d144b07 100644
--- a/asdctool/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/templates/default/configuration.yaml.erb
+++ b/asdctool/sdc-cassandra-init/chef-repo/cookbooks/cassandra-actions/templates/default/configuration.yaml.erb
@@ -137,6 +137,7 @@
    - GUIDE
    - PLAN
    - CONTROLLER_BLUEPRINT_ARCHIVE
+   - PNF_SW_INFORMATION
 
 licenseTypes:
    - User
@@ -585,6 +586,12 @@
             - VFCMT
             - Abstract
             - PNF
+    PNF_SW_INFORMATION:
+        acceptedTypes:
+            - yaml
+            - yml
+        validForResourceTypes:
+            - PNF
     SNMP_POLL:
         acceptedTypes:
         validForResourceTypes: *allResourceTypes
diff --git a/asdctool/src/main/resources/config/configuration.yaml b/asdctool/src/main/resources/config/configuration.yaml
index 7c9dc4c..cc7a3cf 100644
--- a/asdctool/src/main/resources/config/configuration.yaml
+++ b/asdctool/src/main/resources/config/configuration.yaml
@@ -154,6 +154,7 @@
    - SNMP_TRAP
    - GUIDE
    - CONTROLLER_BLUEPRINT_ARCHIVE
+   - PNF_SW_INFORMATION
 
 licenseTypes:
    - User
@@ -592,6 +593,12 @@
             - VFCMT
             - Abstract
             - PNF
+    PNF_SW_INFORMATION:
+        acceptedTypes:
+            - yml
+            - yaml
+        validForResourceTypes:
+            - PNF
     SNMP_POLL:
         acceptedTypes:
         validForResourceTypes: *allResourceTypes
diff --git a/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-configuration.yaml.erb b/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-configuration.yaml.erb
index 7ec0376..605a831 100644
--- a/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-configuration.yaml.erb
+++ b/catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-configuration.yaml.erb
@@ -137,6 +137,7 @@
    - GUIDE
    - PLAN
    - CONTROLLER_BLUEPRINT_ARCHIVE
+   - PNF_SW_INFORMATION
 
 licenseTypes:
    - User
@@ -607,6 +608,12 @@
             - VFCMT
             - Abstract
             - PNF
+    PNF_SW_INFORMATION:
+        acceptedTypes:
+            - yaml
+            - yml
+        validForResourceTypes:
+            - PNF
     SNMP_POLL:
         acceptedTypes:
         validForResourceTypes: *allResourceTypes
diff --git a/catalog-be/src/main/resources/config/configuration.yaml b/catalog-be/src/main/resources/config/configuration.yaml
index a013b78..2df1fc4 100644
--- a/catalog-be/src/main/resources/config/configuration.yaml
+++ b/catalog-be/src/main/resources/config/configuration.yaml
@@ -155,6 +155,7 @@
    - SNMP_TRAP
    - GUIDE
    - CONTROLLER_BLUEPRINT_ARCHIVE
+   - PNF_SW_INFORMATION
 
 licenseTypes:
    - User
@@ -609,6 +610,12 @@
             - VFCMT
             - Abstract
             - PNF
+    PNF_SW_INFORMATION:
+        acceptedTypes:
+            - yml
+            - yaml
+        validForResourceTypes:
+            - PNF
     SNMP_POLL:
         acceptedTypes:
         validForResourceTypes: *allResourceTypes
diff --git a/catalog-be/src/test/resources/config/catalog-be/configuration.yaml b/catalog-be/src/test/resources/config/catalog-be/configuration.yaml
index 803805e..ad31f5d 100644
--- a/catalog-be/src/test/resources/config/catalog-be/configuration.yaml
+++ b/catalog-be/src/test/resources/config/catalog-be/configuration.yaml
@@ -134,6 +134,7 @@
    - SNMP_POLL
    - SNMP_TRAP
    - GUIDE
+   - PNF_SW_INFORMATION
 
 licenseTypes:
    - User
@@ -529,6 +530,12 @@
             - VF
             - VFC
             - CVFC
+    PNF_SW_INFORMATION:
+        acceptedTypes:
+            - yaml
+            - yml
+        validForResourceTypes:
+            - PNF
 
 resourceInformationalDeployedArtifacts:
 
diff --git a/catalog-model/src/test/resources/config/catalog-model/configuration.yaml b/catalog-model/src/test/resources/config/catalog-model/configuration.yaml
index 96fb28b..ebe8f2e 100644
--- a/catalog-model/src/test/resources/config/catalog-model/configuration.yaml
+++ b/catalog-model/src/test/resources/config/catalog-model/configuration.yaml
@@ -133,6 +133,7 @@
    - SNMP_POLL
    - SNMP_TRAP
    - GUIDE
+   - PNF_SW_INFORMATION
 
 licenseTypes:
    - User
@@ -524,6 +525,12 @@
             - VFCMT
             - Abstract
             - PNF
+    PNF_SW_INFORMATION:
+        acceptedTypes:
+            - yml
+            - yaml
+        validForResourceTypes:
+            - PNF
     SNMP_POLL:
         acceptedTypes:
         validForResourceTypes: *allResourceTypes
diff --git a/catalog-model/src/test/resources/config/configuration.yaml b/catalog-model/src/test/resources/config/configuration.yaml
index 3dc326e..90d2b88 100644
--- a/catalog-model/src/test/resources/config/configuration.yaml
+++ b/catalog-model/src/test/resources/config/configuration.yaml
@@ -133,6 +133,7 @@
    - SNMP_POLL
    - SNMP_TRAP
    - GUIDE
+   - PNF_SW_INFORMATION
 
 licenseTypes:
    - User
@@ -516,6 +517,12 @@
             - VFCMT
             - Abstract
             - PNF
+    PNF_SW_INFORMATION:
+        acceptedTypes:
+            - yml
+            - yaml
+        validForResourceTypes:
+            - PNF
     SNMP_POLL:
         acceptedTypes:
         validForResourceTypes: *allResourceTypes
diff --git a/common-app-api/pom.xml b/common-app-api/pom.xml
index 62bfb24..94196bb 100644
--- a/common-app-api/pom.xml
+++ b/common-app-api/pom.xml
@@ -145,6 +145,12 @@
 		<!-- logging end -->
 
 		<dependency>
+			<groupId>org.projectlombok</groupId>
+			<artifactId>lombok</artifactId>
+			<version>${lombok.version}</version>
+		</dependency>
+
+		<dependency>
 			<groupId>com.google.guava</groupId>
 			<artifactId>guava</artifactId>
 			<version>${guava.version}</version><!--$NO-MVN-MAN-VER$ -->
diff --git a/common-app-api/src/main/java/org/openecomp/sdc/common/api/ArtifactTypeEnum.java b/common-app-api/src/main/java/org/openecomp/sdc/common/api/ArtifactTypeEnum.java
index 125cc68..722a3e7 100644
--- a/common-app-api/src/main/java/org/openecomp/sdc/common/api/ArtifactTypeEnum.java
+++ b/common-app-api/src/main/java/org/openecomp/sdc/common/api/ArtifactTypeEnum.java
@@ -22,10 +22,14 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
 
 /**
  * Enum That Represents possible Artifacts Types.
  */
+@Getter
+@AllArgsConstructor
 public enum ArtifactTypeEnum {
     CHEF("CHEF"), PUPPET("PUPPET"), YANG("YANG"), SHELL_SCRIPT("SHELL_SCRIPT"), SHELL("SHELL"), ICON("ICON"), UNKNOWN("UNKNOWN"), HEAT("HEAT"), DG_XML("DG_XML"), MURANO_PKG("MURANO_PKG"), HEAT_ENV("HEAT_ENV"), YANG_XML("YANG_XML"), HEAT_VOL("HEAT_VOL"),
     HEAT_NET("HEAT_NET"), OTHER("OTHER"), WORKFLOW("WORKFLOW"), NETWORK_CALL_FLOW("NETWORK_CALL_FLOW"), TOSCA_TEMPLATE("TOSCA_TEMPLATE"), TOSCA_CSAR("TOSCA_CSAR"), VNF_CATALOG("VNF_CATALOG"), VF_LICENSE("VF_LICENSE"), BPEL("BPEL"),
@@ -40,25 +44,12 @@
     // MIB artifacts
     SNMP_POLL("SNMP_POLL"), SNMP_TRAP("SNMP_TRAP"), GUIDE("GUIDE"),
     PLAN("PLAN"), PM_DICTIONARY("PM_DICTIONARY"), YANG_MODULE("YANG_MODULE"),
-    ANSIBLE_PLAYBOOK("ANSIBLE_PLAYBOOK"), ONBOARDED_PACKAGE("ONBOARDED_PACKAGE");
+    ANSIBLE_PLAYBOOK("ANSIBLE_PLAYBOOK"), ONBOARDED_PACKAGE("ONBOARDED_PACKAGE"), PNF_SW_INFORMATION("PNF_SW_INFORMATION");
 
-    private String type;
-
-    ArtifactTypeEnum(String type) {
-        this.type = type;
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public void setType(String type) {
-        this.type = type;
-    }
+    private final String type;
 
     public static ArtifactTypeEnum findType(final String type) {
-        for (ArtifactTypeEnum ate : ArtifactTypeEnum.values()) {
-            // According to Pavel/Ella
+        for (final ArtifactTypeEnum ate : ArtifactTypeEnum.values()) {
             if (ate.getType().equalsIgnoreCase(type)) {
                 return ate;
             }
@@ -67,8 +58,8 @@
     }
 
     public static List<String> getAllTypes() {
-        List<String> types = new ArrayList<>();
-        for (ArtifactTypeEnum ate : ArtifactTypeEnum.values()) {
+        final List<String> types = new ArrayList<>();
+        for (final ArtifactTypeEnum ate : ArtifactTypeEnum.values()) {
             types.add(ate.getType());
         }
         return types;
diff --git a/common-app-api/src/test/java/org/openecomp/sdc/common/api/ArtifactTypeEnumTest.java b/common-app-api/src/test/java/org/openecomp/sdc/common/api/ArtifactTypeEnumTest.java
index 62ed59d..86cdeaa 100644
--- a/common-app-api/src/test/java/org/openecomp/sdc/common/api/ArtifactTypeEnumTest.java
+++ b/common-app-api/src/test/java/org/openecomp/sdc/common/api/ArtifactTypeEnumTest.java
@@ -41,18 +41,6 @@
 		testSubject = createTestSubject();
 		result = testSubject.getType();
 	}
-
-	
-	@Test
-	public void testSetType() throws Exception {
-		ArtifactTypeEnum testSubject;
-		String type = "";
-
-		// default test
-		testSubject = createTestSubject();
-		testSubject.setType(type);
-	}
-
 	
 	@Test
 	public void testFindType() throws Exception {
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/csar/validation/NonManoArtifactType.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/csar/validation/NonManoArtifactType.java
index 53ffb0b..bcf697c 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/csar/validation/NonManoArtifactType.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/csar/validation/NonManoArtifactType.java
@@ -28,7 +28,8 @@
     ONAP_YANG_MODULES("onap_yang_modules"),
     ONAP_ANSIBLE_PLAYBOOKS("onap_ansible_playbooks"),
     ONAP_SCRIPTS("onap_scripts"),
-    ONAP_OTHERS("onap_others");
+    ONAP_OTHERS("onap_others"),
+    ONAP_SW_INFORMATION("onap_pnf_sw_information");
 
     private final String type;
 
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/resources/nonManoConfig.yaml b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/resources/nonManoConfig.yaml
index 36bf38b..16fd4aa 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/resources/nonManoConfig.yaml
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/resources/nonManoConfig.yaml
@@ -16,4 +16,7 @@
         type: Deployment
   onap_others:
         location: OTHER
+        type: Informational
+  onap_pnf_sw_information:
+        location: PNF_SW_INFORMATION
         type: Informational
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-heat-lib/src/main/java/org/openecomp/sdc/heat/datatypes/manifest/FileData.java b/openecomp-be/lib/openecomp-heat-lib/src/main/java/org/openecomp/sdc/heat/datatypes/manifest/FileData.java
index d343264..4fcf02c 100644
--- a/openecomp-be/lib/openecomp-heat-lib/src/main/java/org/openecomp/sdc/heat/datatypes/manifest/FileData.java
+++ b/openecomp-be/lib/openecomp-heat-lib/src/main/java/org/openecomp/sdc/heat/datatypes/manifest/FileData.java
@@ -94,7 +94,8 @@
         VENDOR_LICENSE("VENDOR_LICENSE"),
         VF_LICENSE("VF_LICENSE"),
         CLOUD_TECHNOLOGY_SPECIFIC_ARTIFACT("CLOUD_TECHNOLOGY_SPECIFIC_ARTIFACT"),
-        OTHER("OTHER");
+        OTHER("OTHER"),
+        PNF_SW_INFORMATION("PNF_SW_INFORMATION");
 
         private String displayName;
 
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/resources/nonManoConfig.yaml b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/resources/nonManoConfig.yaml
index 704ea1f..4ace330 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/resources/nonManoConfig.yaml
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/resources/nonManoConfig.yaml
@@ -16,4 +16,7 @@
     type: Deployment
   onap_others:
     location: OTHER
+    type: Informational
+  onap_pnf_sw_information:
+    location: PNF_SW_INFORMATION
     type: Informational
\ No newline at end of file
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/ArtifactTypeEnum.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/ArtifactTypeEnum.java
index 4e4c87f..17be933 100644
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/ArtifactTypeEnum.java
+++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/ArtifactTypeEnum.java
@@ -20,19 +20,21 @@
 
 package org.openecomp.sdc.ci.tests.datatypes.enums;
 
-import java.util.ArrayList;
-import java.util.List;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
 
 /**
  * Enum That Represents possible Artifacts Types.
  *
  */
+@Getter
+@AllArgsConstructor
 public enum ArtifactTypeEnum {
 	CHEF("CHEF"), PUPPET("PUPPET"), YANG("YANG"), SHELL_SCRIPT("SHELL_SCRIPT"), ICON("ICON"), UNKNOWN("UNKNOWN"), HEAT("HEAT"), DG_XML("DG_XML"), MURANO_PKG("MURANO_PKG"), 
 	HEAT_ENV("HEAT_ENV"), YANG_XML("YANG_XML"), HEAT_VOL("HEAT_VOL"), HEAT_NET("HEAT_NET"), OTHER("OTHER"), WORKFLOW("WORKFLOW"), NETWORK_CALL_FLOW("NETWORK_CALL_FLOW"), 
 	TOSCA_TEMPLATE("TOSCA_TEMPLATE"), TOSCA_CSAR("TOSCA_CSAR"), VNF_CATALOG("VNF_CATALOG"), VF_LICENSE("VF_LICENSE"), VENDOR_LICENSE("VENDOR_LICENSE"), 
 	MODEL_INVENTORY_PROFILE("MODEL_INVENTORY_PROFILE"), MODEL_QUERY_SPEC("MODEL_QUERY_SPEC"), APPC_CONFIG("APPC_CONFIG"), HEAT_NESTED("HEAT_NESTED"), 
-	HEAT_ARTIFACT("HEAT_ARTIFACT"), VF_MODULES_METADATA("VF_MODULES_METADATA"),
+	HEAT_ARTIFACT("HEAT_ARTIFACT"), VF_MODULES_METADATA("VF_MODULES_METADATA"), PNF_SW_INFORMATION("PNF_SW_INFORMATION"),
 	// DCAE Artifacts
 	DCAE_TOSCA("DCAE_TOSCA"), DCAE_JSON("DCAE_JSON"), DCAE_POLICY("DCAE_POLICY"), DCAE_DOC("DCAE_DOC"), DCAE_EVENT("DCAE_EVENT"), DCAE_INVENTORY_TOSCA("DCAE_INVENTORY_TOSCA"), 
 	DCAE_INVENTORY_JSON("DCAE_INVENTORY_JSON"), DCAE_INVENTORY_POLICY("DCAE_INVENTORY_POLICY"), DCAE_INVENTORY_DOC("DCAE_INVENTORY_DOC"), 
@@ -40,38 +42,16 @@
 	// AAI Artifacts
 	AAI_SERVICE_MODEL("AAI_SERVICE_MODEL"), AAI_VF_MODEL("AAI_VF_MODEL"), AAI_VF_MODULE_MODEL("AAI_VF_MODULE_MODEL"), AAI_VF_INSTANCE_MODEL("AAI_VF_INSTANCE_MODEL"),
 	// MIB artifacts
-	SNMP_POLL ("SNMP_POLL"), SNMP_TRAP("SNMP_TRAP"), GUIDE("GUIDE")
-	;
+	SNMP_POLL ("SNMP_POLL"), SNMP_TRAP("SNMP_TRAP"), GUIDE("GUIDE");
 
-	ArtifactTypeEnum(String type) {
-		this.type = type;
-	}
-
-	private String type;
-
-	public String getType() {
-		return type;
-	}
-
-	public void setType(String type) {
-		this.type = type;
-	}
+	private final String type;
 
 	public static ArtifactTypeEnum findType(final String type) {
-		for (ArtifactTypeEnum ate : ArtifactTypeEnum.values()) {
-			// According to Pavel/Ella
+		for (final ArtifactTypeEnum ate : ArtifactTypeEnum.values()) {
 			if (ate.getType().equalsIgnoreCase(type)) {
 				return ate;
 			}
 		}
 		return null;
 	}
-
-	public static List<String> getAllTypes() {
-		List<String> types = new ArrayList<String>();
-		for (ArtifactTypeEnum ate : ArtifactTypeEnum.values()) {
-			types.add(ate.getType());
-		}
-		return types;
-	}
 }
diff --git a/test-apis-ci/src/test/resources/config/test-apis-ci/configuration.yaml b/test-apis-ci/src/test/resources/config/test-apis-ci/configuration.yaml
index ba1526d..dc43134 100644
--- a/test-apis-ci/src/test/resources/config/test-apis-ci/configuration.yaml
+++ b/test-apis-ci/src/test/resources/config/test-apis-ci/configuration.yaml
@@ -133,6 +133,7 @@
    - SNMP_POLL
    - SNMP_TRAP
    - GUIDE
+   - PNF_SW_INFORMATION
 
 licenseTypes:
    - User
@@ -516,6 +517,12 @@
             - VFCMT
             - Abstract
             - PNF
+    PNF_SW_INFORMATION:
+        acceptedTypes:
+            - yml
+            - yaml
+        validForResourceTypes:
+            - PNF
     SNMP_POLL:
         acceptedTypes:
         validForResourceTypes: *allResourceTypes