diff --git a/pom.xml b/pom.xml
index e7b37d77751b66fb5c74a79f7727119a0eec82be..58e5ef27ab88eaaeab02fd46166835d201ee6b48 100644
--- a/pom.xml
+++ b/pom.xml
@@ -75,11 +75,6 @@
pom
import
-
- org.json
- json
- 20210307
-
@@ -266,6 +261,13 @@
org.springframework.boot
spring-boot-starter-test
test
+
+
+ com.vaadin.external.google
+ android-json
+
+
+
org.springframework.security
diff --git a/src/main/java/org/etsi/osl/tmf/scm633/reposervices/ServiceSpecificationRepoService.java b/src/main/java/org/etsi/osl/tmf/scm633/reposervices/ServiceSpecificationRepoService.java
index 9fd5474732f67d7b8ff4724701b111ff376a59bb..99dcaf3c830ebc72530df9e7fb5e3c3a50aea3a3 100644
--- a/src/main/java/org/etsi/osl/tmf/scm633/reposervices/ServiceSpecificationRepoService.java
+++ b/src/main/java/org/etsi/osl/tmf/scm633/reposervices/ServiceSpecificationRepoService.java
@@ -622,7 +622,7 @@ public class ServiceSpecificationRepoService {
* Also,
* we will add by default all the characteristics of this rSpec to the related bundle parent service
*/
- //serviceSpec = copyCharacteristicsOfResourceSpecId( ar.getId(), serviceSpec);
+ serviceSpec = copyCharacteristicsOfResourceSpecId( ar.getId(), serviceSpec);
}
}
@@ -699,24 +699,24 @@ public class ServiceSpecificationRepoService {
return targetServiceSpec;
}
-// private ServiceSpecification copyCharacteristicsOfResourceSpecId(String sourceResourceSpecid, ServiceSpecification targetServiceSpec) {
-//
-// ResourceSpecification rSpec = resourceSpecRepoService.findByUuid( sourceResourceSpecid );
-//
-// if ( rSpec != null ) {
-// for (ResourceSpecificationCharacteristic sourceChar : rSpec.getResourceSpecCharacteristic()) {
-// ServiceSpecCharacteristic serviceSpecCharacteristicItem = copyResourceCharacteristic( sourceChar );
-// //serviceSpecCharacteristicItem.setName( rSpec.getName() + "::" +sourceChar.getName() );
-// serviceSpecCharacteristicItem.setName( sourceChar.getName() );
-//
-// if ( targetServiceSpec.findSpecCharacteristicByName( serviceSpecCharacteristicItem.getName() ) == null ) {
-// targetServiceSpec.getServiceSpecCharacteristic().add( serviceSpecCharacteristicItem );
-// }
-// }
-// }
-//
-// return targetServiceSpec;
-// }
+ private ServiceSpecification copyCharacteristicsOfResourceSpecId(String sourceResourceSpecid, ServiceSpecification targetServiceSpec) {
+
+ ResourceSpecification rSpec = resourceSpecRepoService.findByUuid( sourceResourceSpecid );
+
+ if ( rSpec != null ) {
+ for (ResourceSpecificationCharacteristic sourceChar : rSpec.getResourceSpecCharacteristic()) {
+ ServiceSpecCharacteristic serviceSpecCharacteristicItem = copyResourceCharacteristic( sourceChar );
+ //serviceSpecCharacteristicItem.setName( rSpec.getName() + "::" +sourceChar.getName() );
+ serviceSpecCharacteristicItem.setName( sourceChar.getName() );
+
+ if ( targetServiceSpec.findSpecCharacteristicByName( serviceSpecCharacteristicItem.getName() ) == null ) {
+ targetServiceSpec.getServiceSpecCharacteristic().add( serviceSpecCharacteristicItem );
+ }
+ }
+ }
+
+ return targetServiceSpec;
+ }
public ServiceSpecification cloneServiceSpecification(String uuid) {
ServiceSpecification source = this.findByUuid(uuid);
@@ -1422,11 +1422,11 @@ public class ServiceSpecificationRepoService {
-// for (ResourceSpecificationCharacteristic sourceChar : rSpec.getResourceSpecCharacteristic()) {
-// ServiceSpecCharacteristic serviceSpecCharacteristicItem = copyResourceCharacteristic( sourceChar );
+ for (ResourceSpecificationCharacteristic sourceChar : rSpec.getResourceSpecCharacteristic()) {
+ ServiceSpecCharacteristic serviceSpecCharacteristicItem = copyResourceCharacteristic( sourceChar );
// serviceSpecCharacteristicItem.setName( rSpec.getName() + "::" +sourceChar.getName() );
-// serviceSpec.addServiceSpecCharacteristicItem(serviceSpecCharacteristicItem );
-// }
+ serviceSpec.addServiceSpecCharacteristicItem(serviceSpecCharacteristicItem );
+ }
ResourceSpecificationRef resourceSpecRef = new ResourceSpecificationRef();
@@ -1439,25 +1439,25 @@ public class ServiceSpecificationRepoService {
return serviceSpec;
}
-// private ServiceSpecCharacteristic copyResourceCharacteristic( ResourceSpecificationCharacteristic sourceChar ) {
-//
-// ServiceSpecCharacteristic serviceSpecCharacteristicItem = new ServiceSpecCharacteristic();
-// serviceSpecCharacteristicItem.setDescription( sourceChar.getDescription());
-// serviceSpecCharacteristicItem.valueType( sourceChar.getValueType() );
-// serviceSpecCharacteristicItem.configurable(sourceChar.isConfigurable());
-// serviceSpecCharacteristicItem.setMinCardinality( sourceChar.getMinCardinality() );
-// serviceSpecCharacteristicItem.setMaxCardinality( sourceChar.getMaxCardinality() );
-// serviceSpecCharacteristicItem.setValidFor( sourceChar.getValidFor() );
-// for (ResourceSpecificationCharacteristicValue cv : sourceChar.getResourceSpecCharacteristicValue()) {
-// ServiceSpecCharacteristicValue serviceSpecCharacteristicValueItem = new ServiceSpecCharacteristicValue();
-// serviceSpecCharacteristicValueItem.setValue( new Any( cv.getValue().getValue(), cv.getValue().getAlias()));
-// serviceSpecCharacteristicValueItem.isDefault( cv.isIsDefault() );
-// serviceSpecCharacteristicValueItem.setUnitOfMeasure( cv.getUnitOfMeasure() );
-// serviceSpecCharacteristicItem.addServiceSpecCharacteristicValueItem(serviceSpecCharacteristicValueItem );
-// }
-// return serviceSpecCharacteristicItem;
-// }
-//
+ private ServiceSpecCharacteristic copyResourceCharacteristic( ResourceSpecificationCharacteristic sourceChar ) {
+
+ ServiceSpecCharacteristic serviceSpecCharacteristicItem = new ServiceSpecCharacteristic();
+ serviceSpecCharacteristicItem.setDescription( sourceChar.getDescription());
+ serviceSpecCharacteristicItem.valueType( sourceChar.getValueType() );
+ serviceSpecCharacteristicItem.configurable(sourceChar.isConfigurable());
+ serviceSpecCharacteristicItem.setMinCardinality( sourceChar.getMinCardinality() );
+ serviceSpecCharacteristicItem.setMaxCardinality( sourceChar.getMaxCardinality() );
+ serviceSpecCharacteristicItem.setValidFor( sourceChar.getValidFor() );
+ for (ResourceSpecificationCharacteristicValue cv : sourceChar.getResourceSpecCharacteristicValue()) {
+ ServiceSpecCharacteristicValue serviceSpecCharacteristicValueItem = new ServiceSpecCharacteristicValue();
+ serviceSpecCharacteristicValueItem.setValue( new Any( cv.getValue().getValue(), cv.getValue().getAlias()));
+ serviceSpecCharacteristicValueItem.isDefault( cv.isIsDefault() );
+ serviceSpecCharacteristicValueItem.setUnitOfMeasure( cv.getUnitOfMeasure() );
+ serviceSpecCharacteristicItem.addServiceSpecCharacteristicValueItem(serviceSpecCharacteristicValueItem );
+ }
+ return serviceSpecCharacteristicItem;
+ }
+
diff --git a/src/test/java/org/etsi/osl/services/api/ResourceCatalogIntegrationTest.java b/src/test/java/org/etsi/osl/services/api/ResourceCatalogIntegrationTest.java
index 926f88a057a13ce54fea11eea9a5825f2b57029e..02aa8e095c94224861e518136431600a89d9f4c9 100644
--- a/src/test/java/org/etsi/osl/services/api/ResourceCatalogIntegrationTest.java
+++ b/src/test/java/org/etsi/osl/services/api/ResourceCatalogIntegrationTest.java
@@ -76,6 +76,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
@@ -95,7 +96,7 @@ import net.minidev.json.JSONObject;
@RunWith(SpringRunner.class)
@Transactional
@SpringBootTest( webEnvironment = SpringBootTest.WebEnvironment.MOCK , classes = OpenAPISpringBoot.class)
-//@AutoConfigureTestDatabase //this automatically uses h2
+@AutoConfigureTestDatabase //this automatically uses h2
@AutoConfigureMockMvc
@ActiveProfiles("testing")
//@TestPropertySource(
diff --git a/src/test/java/org/etsi/osl/services/api/ServiceCatalogIntegrationTest.java b/src/test/java/org/etsi/osl/services/api/ServiceCatalogIntegrationTest.java
index 6a865af5a25be13727697257f5240b843a02174a..511e46c84b9ab994d590da4509d15973b09554c7 100644
--- a/src/test/java/org/etsi/osl/services/api/ServiceCatalogIntegrationTest.java
+++ b/src/test/java/org/etsi/osl/services/api/ServiceCatalogIntegrationTest.java
@@ -855,7 +855,7 @@ public class ServiceCatalogIntegrationTest {
*
*/
- assertThat( clonedSpec.getServiceSpecCharacteristic().size() ).isEqualTo( 70 );
+ assertThat( clonedSpec.getServiceSpecCharacteristic().size() ).isEqualTo( 71 );
String responseSpecClonedVINNI2 = mvc.perform(MockMvcRequestBuilders.get("/serviceCatalogManagement/v4/serviceSpecification/cloneVINNI?serviceName=aVINNIService")
diff --git a/src/test/java/org/etsi/osl/services/api/ServiceInventoryIntegrationTest.java b/src/test/java/org/etsi/osl/services/api/ServiceInventoryIntegrationTest.java
index d31dd72da06a1f5aa54e6b05338769738e96b750..16ad168abce52debb68d788ab7467a9a0ea096dd 100644
--- a/src/test/java/org/etsi/osl/services/api/ServiceInventoryIntegrationTest.java
+++ b/src/test/java/org/etsi/osl/services/api/ServiceInventoryIntegrationTest.java
@@ -66,6 +66,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
@@ -83,7 +84,7 @@ import org.springframework.web.context.WebApplicationContext;
@RunWith(SpringRunner.class)
@Transactional
@SpringBootTest( webEnvironment = SpringBootTest.WebEnvironment.MOCK , classes = OpenAPISpringBoot.class)
-//@AutoConfigureTestDatabase //this automatically uses h2
+@AutoConfigureTestDatabase //this automatically uses h2
@AutoConfigureMockMvc
@ActiveProfiles("testing")
//@TestPropertySource(
diff --git a/src/test/java/org/etsi/osl/services/api/sim638/ServiceApiControllerTest.java b/src/test/java/org/etsi/osl/services/api/sim638/ServiceApiControllerTest.java
index afdebd6bb882254a887e80a128320525e5ab71f6..5c59431d0b5ac8e2852034a9cf4afb292078ac99 100644
--- a/src/test/java/org/etsi/osl/services/api/sim638/ServiceApiControllerTest.java
+++ b/src/test/java/org/etsi/osl/services/api/sim638/ServiceApiControllerTest.java
@@ -17,6 +17,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.HttpStatus;
@@ -51,7 +52,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
@RunWith(SpringRunner.class)
@Transactional
@SpringBootTest( webEnvironment = SpringBootTest.WebEnvironment.MOCK , classes = OpenAPISpringBoot.class)
-//@AutoConfigureTestDatabase //this automatically uses h2
+@AutoConfigureTestDatabase //this automatically uses h2
@AutoConfigureMockMvc
@ActiveProfiles("testing")
//@TestPropertySource(
diff --git a/src/test/java/org/etsi/osl/services/reposervices/scm633/ServiceSpecificationRepoServiceTest.java b/src/test/java/org/etsi/osl/services/reposervices/scm633/ServiceSpecificationRepoServiceTest.java
index a3ea0b35041c947db4a420d0460150cbeadca245..c5e308251e6bfdef4a532431393d966cc46d86fa 100644
--- a/src/test/java/org/etsi/osl/services/reposervices/scm633/ServiceSpecificationRepoServiceTest.java
+++ b/src/test/java/org/etsi/osl/services/reposervices/scm633/ServiceSpecificationRepoServiceTest.java
@@ -446,7 +446,8 @@ public class ServiceSpecificationRepoServiceTest {
alias = v.getAlias();
assertEquals("PrimitivesList", serviceSpecCharacteristic.getName());
- assertEquals("{\"vnfs\":[{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vnf1\",\"vdu-configs\":[{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vdu1\"},{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vdu2\"}]},{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vnf2\",\"vdu-configs\":[{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vdu1\"},{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vdu2\"}]}]}", value);
+// assertEquals("{\"vnfs\":[{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vnf1\",\"vdu-configs\":[{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vdu1\"},{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vdu2\"}]},{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vnf2\",\"vdu-configs\":[{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vdu1\"},{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vdu2\"}]}]}", value);
+ assertEquals("{\"vnfs\":[{\"config-primitive\":[{\"name\":\"run-touch-command\",\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}]}],\"id\":\"vnf1\",\"vdu-configs\":[{\"config-primitive\":[{\"name\":\"run-touch-command\",\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}]}],\"id\":\"vdu1\"},{\"config-primitive\":[{\"name\":\"run-touch-command\",\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}]}],\"id\":\"vdu2\"}]},{\"config-primitive\":[{\"name\":\"run-touch-command\",\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}]}],\"id\":\"vnf2\",\"vdu-configs\":[{\"config-primitive\":[{\"name\":\"run-touch-command\",\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}]}],\"id\":\"vdu1\"},{\"config-primitive\":[{\"name\":\"run-touch-command\",\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}]}],\"id\":\"vdu2\"}]}]}", value);
assertEquals("", alias);