aboutsummaryrefslogtreecommitdiffstats
path: root/common/src
diff options
context:
space:
mode:
Diffstat (limited to 'common/src')
-rw-r--r--common/src/main/java/org/onap/so/client/HttpClient.java12
-rw-r--r--common/src/main/java/org/onap/so/client/RestClient.java17
-rw-r--r--common/src/main/java/org/onap/so/client/RestRequest.java6
-rw-r--r--common/src/main/java/org/onap/so/client/aai/AAIClient.java1
-rw-r--r--common/src/main/java/org/onap/so/client/aai/AAIClientResponseExceptionMapper.java2
-rw-r--r--common/src/main/java/org/onap/so/client/aai/AAIObjectPlurals.java2
-rw-r--r--common/src/main/java/org/onap/so/client/aai/AAIObjectType.java5
-rw-r--r--common/src/main/java/org/onap/so/client/aai/AAIRestClient.java2
-rw-r--r--common/src/main/java/org/onap/so/client/aai/AAISingleTransactionClient.java14
-rw-r--r--common/src/main/java/org/onap/so/client/aai/AAITransactionalClient.java12
-rw-r--r--common/src/main/java/org/onap/so/client/aai/AAIUpdatorImpl.java1
-rw-r--r--common/src/main/java/org/onap/so/client/aai/AAIValidatorImpl.java11
-rw-r--r--common/src/main/java/org/onap/so/client/aai/AAIVersion.java2
-rw-r--r--common/src/main/java/org/onap/so/client/aai/entities/AAIEdgeLabel.java5
-rw-r--r--common/src/main/java/org/onap/so/client/aai/entities/CustomQuery.java17
-rw-r--r--common/src/main/java/org/onap/so/client/aai/entities/bulkprocess/OperationBody.java1
-rw-r--r--common/src/main/java/org/onap/so/client/aai/entities/singletransaction/OperationBodyRequest.java1
-rw-r--r--common/src/main/java/org/onap/so/client/aai/entities/uri/AAISimpleUri.java8
-rw-r--r--common/src/main/java/org/onap/so/client/defaultproperties/DefaultDmaapPropertiesImpl.java9
-rw-r--r--common/src/main/java/org/onap/so/client/dmaap/DmaapClient.java10
-rw-r--r--common/src/main/java/org/onap/so/client/dmaap/DmaapConsumer.java3
-rw-r--r--common/src/main/java/org/onap/so/client/dmaap/rest/DMaaPRestClient.java1
-rw-r--r--common/src/main/java/org/onap/so/client/graphinventory/Format.java11
-rw-r--r--common/src/main/java/org/onap/so/client/graphinventory/GraphInventoryCommonObjectMapperProvider.java1
-rw-r--r--common/src/main/java/org/onap/so/client/graphinventory/GraphInventoryResourcesClient.java18
-rw-r--r--common/src/main/java/org/onap/so/client/graphinventory/GraphInventoryTransactionClient.java15
-rw-r--r--common/src/main/java/org/onap/so/client/graphinventory/entities/DSLNodeKey.java18
-rw-r--r--common/src/main/java/org/onap/so/client/graphinventory/entities/DSLQueryBuilder.java23
-rw-r--r--common/src/main/java/org/onap/so/client/graphinventory/entities/GraphInventoryRelationships.java4
-rw-r--r--common/src/main/java/org/onap/so/client/graphinventory/entities/__.java2
-rw-r--r--common/src/main/java/org/onap/so/client/graphinventory/entities/uri/GraphInventoryUri.java1
-rw-r--r--common/src/main/java/org/onap/so/client/graphinventory/entities/uri/SimpleUri.java11
-rw-r--r--common/src/main/java/org/onap/so/client/graphinventory/entities/uri/parsers/UriParserSpringImpl.java1
-rw-r--r--common/src/main/java/org/onap/so/client/grm/GRMRestClient.java2
-rw-r--r--common/src/main/java/org/onap/so/client/policy/entities/DictionaryJson.java2
-rw-r--r--common/src/main/java/org/onap/so/client/policy/entities/PolicyServiceType.java17
-rw-r--r--common/src/main/java/org/onap/so/client/sdno/SDNOValidatorImpl.java1
-rw-r--r--common/src/main/java/org/onap/so/client/sdno/beans/Body.java4
-rw-r--r--common/src/main/java/org/onap/so/client/sdno/beans/Input.java2
-rw-r--r--common/src/main/java/org/onap/so/client/sdno/beans/RequestHdCustom.java2
-rw-r--r--common/src/main/java/org/onap/so/client/sdno/beans/RequestHealthDiagnostic.java4
-rw-r--r--common/src/main/java/org/onap/so/client/sdno/beans/ResultInfo.java2
-rw-r--r--common/src/main/java/org/onap/so/client/sdno/beans/SDNO.java4
-rw-r--r--common/src/main/java/org/onap/so/client/sdno/dmaap/SDNOHealthCheckDmaapPublisher.java6
-rw-r--r--common/src/main/java/org/onap/so/constants/OrchestrationRequestFormat.java25
-rw-r--r--common/src/main/java/org/onap/so/constants/Status.java40
-rw-r--r--common/src/main/java/org/onap/so/db/connections/DbDnsIpAddress.java20
-rw-r--r--common/src/main/java/org/onap/so/db/connections/ScheduledDnsLookup.java78
-rw-r--r--common/src/main/java/org/onap/so/listener/ListenerRunner.java56
-rw-r--r--common/src/main/java/org/onap/so/listener/Skip.java29
-rw-r--r--common/src/main/java/org/onap/so/logger/ErrorCode.java28
-rw-r--r--common/src/main/java/org/onap/so/logger/HttpHeadersConstants.java20
-rw-r--r--common/src/main/java/org/onap/so/logger/LoggingAnchor.java29
-rw-r--r--common/src/main/java/org/onap/so/logger/MdcConstants.java21
-rw-r--r--common/src/main/java/org/onap/so/logger/MessageEnum.java197
-rw-r--r--common/src/main/java/org/onap/so/logging/jaxrs/filter/JaxRsClientLogging.java10
-rw-r--r--common/src/main/java/org/onap/so/logging/jaxrs/filter/JaxRsFilterLogging.java9
-rw-r--r--common/src/main/java/org/onap/so/logging/spring/interceptor/LoggingInterceptor.java1
-rw-r--r--common/src/main/java/org/onap/so/objects/audit/AAIObjectAudit.java76
-rw-r--r--common/src/main/java/org/onap/so/objects/audit/AAIObjectAuditList.java66
-rw-r--r--common/src/main/java/org/onap/so/openpojo/rules/EqualsAndHashCodeTester.java6
-rw-r--r--common/src/main/java/org/onap/so/openpojo/rules/HasAnnotationMatcher.java3
-rw-r--r--common/src/main/java/org/onap/so/openpojo/rules/HasAnnotationPropertyWithValueMatcher.java2
-rw-r--r--common/src/main/java/org/onap/so/rest/exceptions/ExhaustedRetriesException.java19
-rw-r--r--common/src/main/java/org/onap/so/serviceinstancebeans/CloudRequestData.java59
-rw-r--r--common/src/main/java/org/onap/so/serviceinstancebeans/GetOrchestrationResponse.java1
-rw-r--r--common/src/main/java/org/onap/so/serviceinstancebeans/ModelType.java69
-rw-r--r--common/src/main/java/org/onap/so/serviceinstancebeans/Request.java23
-rw-r--r--common/src/main/java/org/onap/so/serviceinstancebeans/RequestParameters.java39
-rw-r--r--common/src/main/java/org/onap/so/serviceinstancebeans/RequestStatus.java56
-rw-r--r--common/src/main/java/org/onap/so/serviceinstancebeans/Resources.java1
-rw-r--r--common/src/main/java/org/onap/so/utils/CryptoUtils.java5
-rw-r--r--common/src/main/java/org/onap/so/utils/TargetEntities.java27
-rw-r--r--common/src/main/java/org/onap/so/utils/TargetEntity.java22
-rw-r--r--common/src/main/java/org/onap/so/utils/UUIDChecker.java3
-rw-r--r--common/src/main/java/org/onap/so/utils/XmlMarshaller.java9
-rw-r--r--common/src/test/java/org/onap/so/client/RestClientTest.java28
-rw-r--r--common/src/test/java/org/onap/so/client/aai/AAISingleTransactionClientTest.java16
-rw-r--r--common/src/test/java/org/onap/so/client/aai/AAITransactionalClientTest.java12
-rw-r--r--common/src/test/java/org/onap/so/client/aai/AAIValidatorTest.java7
-rw-r--r--common/src/test/java/org/onap/so/client/aai/DSLQueryBuilderTest.java37
-rw-r--r--common/src/test/java/org/onap/so/client/dmaap/DmaapPublisherTest.java58
-rw-r--r--common/src/test/java/org/onap/so/db/connections/DbDnsIpAddressTest.java19
-rw-r--r--common/src/test/java/org/onap/so/serviceinstancebeans/ModelTypeTest.java58
-rw-r--r--common/src/test/java/org/onap/so/serviceinstancebeans/TestServiceInstanceBean.java44
-rw-r--r--common/src/test/resources/__files/aai/bulkprocess/test-request.json6
-rw-r--r--common/src/test/resources/__files/aai/singletransaction/sample-request.json6
87 files changed, 1379 insertions, 254 deletions
diff --git a/common/src/main/java/org/onap/so/client/HttpClient.java b/common/src/main/java/org/onap/so/client/HttpClient.java
index 3fb09433e1..715ba32831 100644
--- a/common/src/main/java/org/onap/so/client/HttpClient.java
+++ b/common/src/main/java/org/onap/so/client/HttpClient.java
@@ -83,4 +83,16 @@ public class HttpClient extends RestClient {
}
}
+ public void setAcceptType(String value) {
+ try {
+ if (isNotBlank(value)) {
+ super.accept = value;
+ } else {
+ log.warn("Not adding accept to headers.");
+ }
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ }
+ }
+
}
diff --git a/common/src/main/java/org/onap/so/client/RestClient.java b/common/src/main/java/org/onap/so/client/RestClient.java
index 0b10d85bbf..d3a4d444f7 100644
--- a/common/src/main/java/org/onap/so/client/RestClient.java
+++ b/common/src/main/java/org/onap/so/client/RestClient.java
@@ -26,15 +26,14 @@ import java.net.SocketTimeoutException;
import java.net.URI;
import java.net.URL;
import java.security.GeneralSecurityException;
+import java.time.Duration;
import java.util.ArrayList;
import java.util.Base64;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Optional;
-import java.util.concurrent.TimeUnit;
import java.util.function.Predicate;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
@@ -276,22 +275,20 @@ public abstract class RestClient {
}
public Response method(String method, Object entity) {
- RetryPolicy policy = new RetryPolicy();
List<Predicate<Throwable>> items = retryOn();
Predicate<Throwable> pred = items.stream().reduce(Predicate::or).orElse(x -> false);
- policy.retryOn(error -> pred.test(error));
+ RetryPolicy<Object> policy =
+ new RetryPolicy<>().handleIf(pred).withDelay(Duration.ofMillis(this.props.getDelayBetweenRetries()))
+ .withMaxRetries(this.props.getRetries());
- policy.withDelay(this.props.getDelayBetweenRetries(), TimeUnit.MILLISECONDS)
- .withMaxRetries(this.props.getRetries());
-
- return Failsafe.with(policy).get(buildRequest(method, entity));
+ return Failsafe.with(policy).get(() -> buildRequest(method, entity));
}
- protected RestRequest buildRequest(String method, Object entity) {
- return new RestRequest(this, method, entity);
+ protected Response buildRequest(String method, Object entity) throws Exception {
+ return new RestRequest(this, method, entity).get();
}
private <T> Optional<T> format(Response response, Class<T> resultClass) {
diff --git a/common/src/main/java/org/onap/so/client/RestRequest.java b/common/src/main/java/org/onap/so/client/RestRequest.java
index 9d2fa42d00..9e6e818171 100644
--- a/common/src/main/java/org/onap/so/client/RestRequest.java
+++ b/common/src/main/java/org/onap/so/client/RestRequest.java
@@ -23,15 +23,15 @@
package org.onap.so.client;
import java.util.Optional;
-import java.util.concurrent.Callable;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.NotFoundException;
import javax.ws.rs.client.Entity;
import javax.ws.rs.core.Response;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.jodah.failsafe.function.CheckedSupplier;
-public class RestRequest implements Callable<Response> {
+public class RestRequest implements CheckedSupplier<Response> {
private static final Logger logger = LoggerFactory.getLogger(RestRequest.class);
@@ -46,7 +46,7 @@ public class RestRequest implements Callable<Response> {
}
@Override
- public Response call() throws Exception {
+ public Response get() throws Exception {
final Response response;
if ("GET".equals(method)) {
response = this.client.getBuilder().accept(this.client.getAccept()).get();
diff --git a/common/src/main/java/org/onap/so/client/aai/AAIClient.java b/common/src/main/java/org/onap/so/client/aai/AAIClient.java
index 131bc27783..a1e0d7c102 100644
--- a/common/src/main/java/org/onap/so/client/aai/AAIClient.java
+++ b/common/src/main/java/org/onap/so/client/aai/AAIClient.java
@@ -25,7 +25,6 @@ import javax.ws.rs.NotFoundException;
import javax.ws.rs.core.UriBuilder;
import org.onap.so.client.RestClient;
import org.onap.so.client.graphinventory.GraphInventoryClient;
-import org.onap.so.client.graphinventory.GraphInventoryVersion;
import org.onap.so.client.graphinventory.entities.uri.GraphInventoryUri;
import org.onap.so.client.graphinventory.exceptions.GraphInventoryUriComputationException;
import org.slf4j.Logger;
diff --git a/common/src/main/java/org/onap/so/client/aai/AAIClientResponseExceptionMapper.java b/common/src/main/java/org/onap/so/client/aai/AAIClientResponseExceptionMapper.java
index 7029ffe5e4..66ea8f950e 100644
--- a/common/src/main/java/org/onap/so/client/aai/AAIClientResponseExceptionMapper.java
+++ b/common/src/main/java/org/onap/so/client/aai/AAIClientResponseExceptionMapper.java
@@ -24,8 +24,6 @@ import java.io.IOException;
import java.util.Optional;
import javax.annotation.Priority;
import javax.ws.rs.ext.Provider;
-import javax.annotation.Priority;
-import javax.ws.rs.ext.Provider;
import org.onap.logging.ref.slf4j.ONAPLogConstants;
import org.onap.so.client.ResponseExceptionMapper;
import org.onap.so.client.aai.entities.AAIError;
diff --git a/common/src/main/java/org/onap/so/client/aai/AAIObjectPlurals.java b/common/src/main/java/org/onap/so/client/aai/AAIObjectPlurals.java
index d02b482008..e42a2a2383 100644
--- a/common/src/main/java/org/onap/so/client/aai/AAIObjectPlurals.java
+++ b/common/src/main/java/org/onap/so/client/aai/AAIObjectPlurals.java
@@ -70,6 +70,8 @@ public class AAIObjectPlurals implements GraphInventoryObjectPlurals, Serializab
new AAIObjectPlurals(AAIObjectType.VSERVER.uriTemplate(), "/l-interfaces", "l-interface");
public static final AAIObjectPlurals SUB_L_INTERFACE =
new AAIObjectPlurals(AAIObjectType.L_INTERFACE.uriTemplate(), "/l-interfaces", "l-interface");
+ public static final AAIObjectPlurals INSTANCE_GROUP =
+ new AAIObjectPlurals(AAINamespaceConstants.NETWORK, "/instance-groups", "instance-group");
public static final AAIObjectPlurals PNF = new AAIObjectPlurals(AAINamespaceConstants.NETWORK, "/pnfs", "pnfs");
private final String uriTemplate;
diff --git a/common/src/main/java/org/onap/so/client/aai/AAIObjectType.java b/common/src/main/java/org/onap/so/client/aai/AAIObjectType.java
index cd4e1125ce..c2c8e933b1 100644
--- a/common/src/main/java/org/onap/so/client/aai/AAIObjectType.java
+++ b/common/src/main/java/org/onap/so/client/aai/AAIObjectType.java
@@ -36,9 +36,7 @@ import org.onap.aai.domain.yang.Configuration;
import org.onap.aai.domain.yang.Connector;
import org.onap.aai.domain.yang.Customer;
import org.onap.aai.domain.yang.Device;
-import org.onap.aai.domain.yang.EsrSystemInfoList;
import org.onap.aai.domain.yang.EsrVnfm;
-import org.onap.aai.domain.yang.EsrVnfmList;
import org.onap.aai.domain.yang.ExtAaiNetwork;
import org.onap.aai.domain.yang.Flavor;
import org.onap.aai.domain.yang.GenericVnf;
@@ -74,6 +72,7 @@ import org.onap.aai.domain.yang.Vnfc;
import org.onap.aai.domain.yang.VolumeGroup;
import org.onap.aai.domain.yang.VpnBinding;
import org.onap.aai.domain.yang.Vserver;
+import org.onap.aai.domain.yang.Zone;
import org.onap.so.client.graphinventory.GraphInventoryObjectType;
import org.onap.so.constants.Defaults;
import org.reflections.Reflections;
@@ -188,7 +187,7 @@ public class AAIObjectType implements GraphInventoryObjectType, Serializable {
"/esr-vnfm/{vnfm-id}/esr-system-info-list", "vnfm-esr-system-info-list");
public static final AAIObjectType CLOUD_ESR_SYSTEM_INFO_LIST = new AAIObjectType(
AAIObjectType.CLOUD_REGION.uriTemplate(), "/esr-system-info-list", "cloud-esr-system-info-list");
-
+ public static final AAIObjectType ZONE = new AAIObjectType(AAINamespaceConstants.NETWORK, Zone.class);
private final String uriTemplate;
private final String parentUri;
diff --git a/common/src/main/java/org/onap/so/client/aai/AAIRestClient.java b/common/src/main/java/org/onap/so/client/aai/AAIRestClient.java
index 6eafb965a2..b546aaa23e 100644
--- a/common/src/main/java/org/onap/so/client/aai/AAIRestClient.java
+++ b/common/src/main/java/org/onap/so/client/aai/AAIRestClient.java
@@ -23,11 +23,9 @@ package org.onap.so.client.aai;
import java.net.URI;
import java.util.Map;
import java.util.Optional;
-import javax.ws.rs.core.Response;
import org.onap.so.client.ResponseExceptionMapper;
import org.onap.so.client.graphinventory.GraphInventoryPatchConverter;
import org.onap.so.client.graphinventory.GraphInventoryRestClient;
-import org.onap.so.client.policy.CommonObjectMapperProvider;
import org.onap.so.utils.TargetEntity;
public class AAIRestClient extends GraphInventoryRestClient {
diff --git a/common/src/main/java/org/onap/so/client/aai/AAISingleTransactionClient.java b/common/src/main/java/org/onap/so/client/aai/AAISingleTransactionClient.java
index 1370bb3fa3..3f9715bdef 100644
--- a/common/src/main/java/org/onap/so/client/aai/AAISingleTransactionClient.java
+++ b/common/src/main/java/org/onap/so/client/aai/AAISingleTransactionClient.java
@@ -116,17 +116,23 @@ public class AAISingleTransactionClient
}
@Override
- public void put(String uri, Object body) {
+ protected void put(String uri, Object body) {
request.getOperations().add(new OperationBodyRequest().withAction("put").withUri(uri).withBody(body));
}
@Override
- public void delete(String uri, Object body) {
- request.getOperations().add(new OperationBodyRequest().withAction("delete").withUri(uri).withBody(body));
+ protected void delete(String uri) {
+ request.getOperations()
+ .add(new OperationBodyRequest().withAction("delete").withUri(uri).withBody(new Object()));
}
@Override
- public void patch(String uri, Object body) {
+ protected void delete(String uri, Object obj) {
+ request.getOperations().add(new OperationBodyRequest().withAction("delete").withUri(uri).withBody(obj));
+ }
+
+ @Override
+ protected void patch(String uri, Object body) {
request.getOperations().add(new OperationBodyRequest().withAction("patch").withUri(uri).withBody(body));
}
diff --git a/common/src/main/java/org/onap/so/client/aai/AAITransactionalClient.java b/common/src/main/java/org/onap/so/client/aai/AAITransactionalClient.java
index 11e458a3da..e621566e5a 100644
--- a/common/src/main/java/org/onap/so/client/aai/AAITransactionalClient.java
+++ b/common/src/main/java/org/onap/so/client/aai/AAITransactionalClient.java
@@ -169,18 +169,22 @@ public class AAITransactionalClient
}
@Override
- public void put(String uri, Object body) {
+ protected void put(String uri, Object body) {
currentTransaction.getPut().add(new OperationBody().withUri(uri).withBody(body));
}
@Override
- public void delete(String uri, Object body) {
- currentTransaction.getDelete().add(new OperationBody().withUri(uri).withBody(body));
+ protected void delete(String uri) {
+ currentTransaction.getDelete().add(new OperationBody().withUri(uri).withBody(null));
+ }
+ @Override
+ protected void delete(String uri, Object obj) {
+ currentTransaction.getDelete().add(new OperationBody().withUri(uri).withBody(obj));
}
@Override
- public void patch(String uri, Object body) {
+ protected void patch(String uri, Object body) {
currentTransaction.getPatch().add(new OperationBody().withUri(uri).withBody(body));
}
diff --git a/common/src/main/java/org/onap/so/client/aai/AAIUpdatorImpl.java b/common/src/main/java/org/onap/so/client/aai/AAIUpdatorImpl.java
index 0d400339f9..b2223be688 100644
--- a/common/src/main/java/org/onap/so/client/aai/AAIUpdatorImpl.java
+++ b/common/src/main/java/org/onap/so/client/aai/AAIUpdatorImpl.java
@@ -21,7 +21,6 @@
package org.onap.so.client.aai;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
public class AAIUpdatorImpl implements AAIUpdator {
diff --git a/common/src/main/java/org/onap/so/client/aai/AAIValidatorImpl.java b/common/src/main/java/org/onap/so/client/aai/AAIValidatorImpl.java
index 3987d7375a..96844ff1cb 100644
--- a/common/src/main/java/org/onap/so/client/aai/AAIValidatorImpl.java
+++ b/common/src/main/java/org/onap/so/client/aai/AAIValidatorImpl.java
@@ -25,7 +25,6 @@ import java.util.List;
import org.onap.aai.domain.yang.GenericVnf;
import org.onap.aai.domain.yang.Pserver;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
public class AAIValidatorImpl implements AAIValidator {
@@ -48,10 +47,12 @@ public class AAIValidatorImpl implements AAIValidator {
List<Pserver> pservers;
boolean isLocked = false;
pservers = client.getPhysicalServerByVnfId(vnfId);
- for (Pserver pserver : pservers) {
- if (pserver.isInMaint()) {
- isLocked = true;
- return isLocked;
+ if (pservers != null) {
+ for (Pserver pserver : pservers) {
+ if (pserver.isInMaint()) {
+ isLocked = true;
+ return isLocked;
+ }
}
}
return isLocked;
diff --git a/common/src/main/java/org/onap/so/client/aai/AAIVersion.java b/common/src/main/java/org/onap/so/client/aai/AAIVersion.java
index 499246d7d1..91030d831a 100644
--- a/common/src/main/java/org/onap/so/client/aai/AAIVersion.java
+++ b/common/src/main/java/org/onap/so/client/aai/AAIVersion.java
@@ -25,7 +25,7 @@ import org.onap.so.client.graphinventory.GraphInventoryVersion;
public enum AAIVersion implements GraphInventoryVersion {
V13("v13"), V14("v14"), V15("v15");
- public final static AAIVersion LATEST = AAIVersion.values()[AAIVersion.values().length - 1];
+ public static final AAIVersion LATEST = AAIVersion.values()[AAIVersion.values().length - 1];
private final String value;
private AAIVersion(String value) {
diff --git a/common/src/main/java/org/onap/so/client/aai/entities/AAIEdgeLabel.java b/common/src/main/java/org/onap/so/client/aai/entities/AAIEdgeLabel.java
index 2e70c4925a..456f14e5ee 100644
--- a/common/src/main/java/org/onap/so/client/aai/entities/AAIEdgeLabel.java
+++ b/common/src/main/java/org/onap/so/client/aai/entities/AAIEdgeLabel.java
@@ -24,8 +24,9 @@ import org.onap.so.client.graphinventory.entities.GraphInventoryEdgeLabel;
public enum AAIEdgeLabel implements GraphInventoryEdgeLabel {
- BELONGS_TO("org.onap.relationships.inventory.BelongsTo"), USES(
- "org.onap.relationships.inventory.Uses"), COMPOSED_OF("org.onap.relationships.inventory.ComposedOf");
+ BELONGS_TO("org.onap.relationships.inventory.BelongsTo"),
+ USES("org.onap.relationships.inventory.Uses"),
+ COMPOSED_OF("org.onap.relationships.inventory.ComposedOf");
private final String label;
diff --git a/common/src/main/java/org/onap/so/client/aai/entities/CustomQuery.java b/common/src/main/java/org/onap/so/client/aai/entities/CustomQuery.java
index af7ccf661e..3433e36151 100644
--- a/common/src/main/java/org/onap/so/client/aai/entities/CustomQuery.java
+++ b/common/src/main/java/org/onap/so/client/aai/entities/CustomQuery.java
@@ -34,15 +34,6 @@ public class CustomQuery {
private String query;
private String gremlin;
- public String getGremlin() {
- return gremlin;
- }
-
- public void setGremlin(String gremlin) {
- this.gremlin = gremlin;
- }
-
-
public CustomQuery(List<AAIResourceUri> start) {
this.setStart(start);
}
@@ -56,6 +47,14 @@ public class CustomQuery {
this.gremlin = gremlin;
}
+ public String getGremlin() {
+ return gremlin;
+ }
+
+ public void setGremlin(String gremlin) {
+ this.gremlin = gremlin;
+ }
+
public List<String> getStart() {
return start;
}
diff --git a/common/src/main/java/org/onap/so/client/aai/entities/bulkprocess/OperationBody.java b/common/src/main/java/org/onap/so/client/aai/entities/bulkprocess/OperationBody.java
index 16a4c178e5..45f2c965f9 100644
--- a/common/src/main/java/org/onap/so/client/aai/entities/bulkprocess/OperationBody.java
+++ b/common/src/main/java/org/onap/so/client/aai/entities/bulkprocess/OperationBody.java
@@ -23,7 +23,6 @@ package org.onap.so.client.aai.entities.bulkprocess;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.annotation.JsonRawValue;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
@JsonInclude(JsonInclude.Include.NON_NULL)
diff --git a/common/src/main/java/org/onap/so/client/aai/entities/singletransaction/OperationBodyRequest.java b/common/src/main/java/org/onap/so/client/aai/entities/singletransaction/OperationBodyRequest.java
index 5d28013c85..b2d67af156 100644
--- a/common/src/main/java/org/onap/so/client/aai/entities/singletransaction/OperationBodyRequest.java
+++ b/common/src/main/java/org/onap/so/client/aai/entities/singletransaction/OperationBodyRequest.java
@@ -23,7 +23,6 @@ package org.onap.so.client.aai.entities.singletransaction;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import com.fasterxml.jackson.annotation.JsonRawValue;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
@JsonInclude(JsonInclude.Include.NON_NULL)
diff --git a/common/src/main/java/org/onap/so/client/aai/entities/uri/AAISimpleUri.java b/common/src/main/java/org/onap/so/client/aai/entities/uri/AAISimpleUri.java
index 7572541206..1fe9da984f 100644
--- a/common/src/main/java/org/onap/so/client/aai/entities/uri/AAISimpleUri.java
+++ b/common/src/main/java/org/onap/so/client/aai/entities/uri/AAISimpleUri.java
@@ -21,13 +21,12 @@
package org.onap.so.client.aai.entities.uri;
import java.net.URI;
+import java.util.regex.Pattern;
import javax.ws.rs.core.UriBuilder;
import org.onap.so.client.aai.AAIObjectPlurals;
import org.onap.so.client.aai.AAIObjectType;
import org.onap.so.client.graphinventory.Format;
-import org.onap.so.client.graphinventory.GraphInventoryObjectType;
import org.onap.so.client.graphinventory.entities.uri.Depth;
-import org.onap.so.client.graphinventory.entities.uri.GraphInventoryResourceUri;
import org.onap.so.client.graphinventory.entities.uri.SimpleUri;
public class AAISimpleUri extends SimpleUri implements AAIResourceUri {
@@ -140,4 +139,9 @@ public class AAISimpleUri extends SimpleUri implements AAIResourceUri {
public AAISimpleUri format(Format format) {
return (AAISimpleUri) super.format(format);
}
+
+ @Override
+ protected Pattern getPrefixPattern() {
+ return Pattern.compile("/aai/v\\d+");
+ }
}
diff --git a/common/src/main/java/org/onap/so/client/defaultproperties/DefaultDmaapPropertiesImpl.java b/common/src/main/java/org/onap/so/client/defaultproperties/DefaultDmaapPropertiesImpl.java
index 4ca5690188..8ef08057e6 100644
--- a/common/src/main/java/org/onap/so/client/defaultproperties/DefaultDmaapPropertiesImpl.java
+++ b/common/src/main/java/org/onap/so/client/defaultproperties/DefaultDmaapPropertiesImpl.java
@@ -35,11 +35,12 @@ public class DefaultDmaapPropertiesImpl implements DmaapProperties {
public DefaultDmaapPropertiesImpl() throws IOException {
File initialFile = new File("src/test/resources/dmaap.properties");
- InputStream targetStream = new FileInputStream(initialFile);
Properties properties = new Properties();
- properties.load(targetStream);
- this.properties = new HashMap<>();
- properties.forEach((key, value) -> this.properties.put((String) key, (String) value));
+ try (InputStream targetStream = new FileInputStream(initialFile)) {
+ properties.load(targetStream);
+ this.properties = new HashMap<>();
+ properties.forEach((key, value) -> this.properties.put((String) key, (String) value));
+ }
}
@Override
diff --git a/common/src/main/java/org/onap/so/client/dmaap/DmaapClient.java b/common/src/main/java/org/onap/so/client/dmaap/DmaapClient.java
index 86d4aa7413..48c2d1495d 100644
--- a/common/src/main/java/org/onap/so/client/dmaap/DmaapClient.java
+++ b/common/src/main/java/org/onap/so/client/dmaap/DmaapClient.java
@@ -49,12 +49,12 @@ public abstract class DmaapClient {
this.msoProperties = dmaapProperties.getProperties();
this.properties = new Properties();
this.properties.load(resource.getInputStream());
- try {
- this.properties.put("auth", CryptoUtils.decrypt(this.getAuth(), this.getKey()).getBytes());
- } catch (GeneralSecurityException e) {
- logger.error(e.getMessage(), e);
+ if (this.getAuth() != null && this.getKey() != null) {
+ this.properties.put("auth", this.getAuth());
+ this.properties.put("key", this.getKey());
+ } else {
+ logger.error("Dmaap auth or key is null");
}
- this.properties.put("key", this.getKey());
this.properties.put("topic", this.getTopic());
Optional<String> host = this.getHost();
if (host.isPresent()) {
diff --git a/common/src/main/java/org/onap/so/client/dmaap/DmaapConsumer.java b/common/src/main/java/org/onap/so/client/dmaap/DmaapConsumer.java
index 3dd0c751e3..4de546e9da 100644
--- a/common/src/main/java/org/onap/so/client/dmaap/DmaapConsumer.java
+++ b/common/src/main/java/org/onap/so/client/dmaap/DmaapConsumer.java
@@ -28,6 +28,7 @@ import org.onap.so.client.dmaap.exceptions.ExceededMaximumPollingTime;
import org.onap.so.client.dmaap.rest.RestConsumer;
public abstract class DmaapConsumer extends DmaapClient {
+ static final int MAX_ELAPSED_TIME = 180000;
public DmaapConsumer() throws IOException {
super("dmaap/default-consumer.properties");
@@ -125,7 +126,7 @@ public abstract class DmaapConsumer extends DmaapClient {
* time in milliseconds
*/
public int getMaximumElapsedTime() {
- return 180000;
+ return MAX_ELAPSED_TIME;
}
diff --git a/common/src/main/java/org/onap/so/client/dmaap/rest/DMaaPRestClient.java b/common/src/main/java/org/onap/so/client/dmaap/rest/DMaaPRestClient.java
index 1d85dac7dc..68b4e84448 100644
--- a/common/src/main/java/org/onap/so/client/dmaap/rest/DMaaPRestClient.java
+++ b/common/src/main/java/org/onap/so/client/dmaap/rest/DMaaPRestClient.java
@@ -23,7 +23,6 @@ package org.onap.so.client.dmaap.rest;
import java.net.URL;
import java.util.Map;
import org.onap.so.client.RestClient;
-import org.onap.so.utils.CryptoUtils;
import org.onap.so.utils.TargetEntity;
public class DMaaPRestClient extends RestClient {
diff --git a/common/src/main/java/org/onap/so/client/graphinventory/Format.java b/common/src/main/java/org/onap/so/client/graphinventory/Format.java
index b422516e63..078b35aaf4 100644
--- a/common/src/main/java/org/onap/so/client/graphinventory/Format.java
+++ b/common/src/main/java/org/onap/so/client/graphinventory/Format.java
@@ -22,8 +22,15 @@ package org.onap.so.client.graphinventory;
public enum Format {
- RESOURCE("resource"), RESOURCE_AND_URL("resource_and_url"), SIMPLE("simple"), RAW("raw"), CONSOLE(
- "console"), PATHED("pathed"), GRAPHSON("graphson"), ID("id");
+ RESOURCE("resource"),
+ RESOURCE_AND_URL("resource_and_url"),
+ SIMPLE("simple"),
+ RAW("raw"),
+ CONSOLE("console"),
+ PATHED("pathed"),
+ GRAPHSON("graphson"),
+ ID("id"),
+ COUNT("count");
private final String name;
diff --git a/common/src/main/java/org/onap/so/client/graphinventory/GraphInventoryCommonObjectMapperProvider.java b/common/src/main/java/org/onap/so/client/graphinventory/GraphInventoryCommonObjectMapperProvider.java
index 72b01c268e..a4f9496d17 100644
--- a/common/src/main/java/org/onap/so/client/graphinventory/GraphInventoryCommonObjectMapperProvider.java
+++ b/common/src/main/java/org/onap/so/client/graphinventory/GraphInventoryCommonObjectMapperProvider.java
@@ -40,6 +40,7 @@ public class GraphInventoryCommonObjectMapperProvider extends CommonObjectMapper
mapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY);
mapper.enable(MapperFeature.USE_ANNOTATIONS);
mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false);
+ mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
mapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, false);
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
AnnotationIntrospector aiJaxb = new JaxbAnnotationIntrospector(TypeFactory.defaultInstance());
diff --git a/common/src/main/java/org/onap/so/client/graphinventory/GraphInventoryResourcesClient.java b/common/src/main/java/org/onap/so/client/graphinventory/GraphInventoryResourcesClient.java
index 2a76dab107..c7cdb2ff58 100644
--- a/common/src/main/java/org/onap/so/client/graphinventory/GraphInventoryResourcesClient.java
+++ b/common/src/main/java/org/onap/so/client/graphinventory/GraphInventoryResourcesClient.java
@@ -32,9 +32,7 @@ import org.onap.so.client.RestClient;
import org.onap.so.client.RestProperties;
import org.onap.so.client.graphinventory.entities.GraphInventoryEdgeLabel;
import org.onap.so.client.graphinventory.entities.GraphInventoryResultWrapper;
-import org.onap.so.client.graphinventory.entities.uri.Depth;
import org.onap.so.client.graphinventory.entities.uri.GraphInventoryResourceUri;
-import org.onap.so.client.graphinventory.entities.uri.GraphInventoryUri;
public abstract class GraphInventoryResourcesClient<Self, Uri extends GraphInventoryResourceUri, EdgeLabel extends GraphInventoryEdgeLabel, Wrapper extends GraphInventoryResultWrapper, TransactionalClient, SingleTransactionClient> {
@@ -74,7 +72,9 @@ public abstract class GraphInventoryResourcesClient<Self, Uri extends GraphInven
* @return
*/
public boolean exists(Uri uri) {
- GraphInventoryUri forceMinimal = this.addParams(Optional.of(Depth.ZERO), true, uri);
+ GraphInventoryResourceUri forceMinimal = uri.clone();
+ forceMinimal.format(Format.COUNT);
+ forceMinimal.limit(1);
try {
RestClient giRC = client.createClient(forceMinimal);
@@ -314,18 +314,6 @@ public abstract class GraphInventoryResourcesClient<Self, Uri extends GraphInven
*/
public abstract SingleTransactionClient beginSingleTransaction();
- private GraphInventoryUri addParams(Optional<Depth> depth, boolean nodesOnly, GraphInventoryUri uri) {
- GraphInventoryUri clone = uri.clone();
- if (depth.isPresent()) {
- clone.depth(depth.get());
- }
- if (nodesOnly) {
- clone.nodesOnly(nodesOnly);
- }
-
- return clone;
- }
-
public <T extends RestProperties> T getRestProperties() {
return client.getRestProperties();
}
diff --git a/common/src/main/java/org/onap/so/client/graphinventory/GraphInventoryTransactionClient.java b/common/src/main/java/org/onap/so/client/graphinventory/GraphInventoryTransactionClient.java
index 992d1f017b..45ac1f741d 100644
--- a/common/src/main/java/org/onap/so/client/graphinventory/GraphInventoryTransactionClient.java
+++ b/common/src/main/java/org/onap/so/client/graphinventory/GraphInventoryTransactionClient.java
@@ -27,16 +27,13 @@ import java.util.Optional;
import javax.ws.rs.NotFoundException;
import javax.ws.rs.core.GenericType;
import org.onap.aai.domain.yang.Relationship;
-import org.onap.so.client.aai.AAIVersion;
-import org.onap.so.client.aai.entities.singletransaction.SingleTransactionRequest;
import org.onap.so.client.graphinventory.entities.GraphInventoryEdgeLabel;
import org.onap.so.client.graphinventory.entities.uri.GraphInventoryResourceUri;
import org.onap.so.client.graphinventory.exceptions.BulkProcessFailed;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public abstract class GraphInventoryTransactionClient<Self, Uri extends GraphInventoryResourceUri, EdgeLabel extends GraphInventoryEdgeLabel>
- implements TransactionBuilder {
+public abstract class GraphInventoryTransactionClient<Self, Uri extends GraphInventoryResourceUri, EdgeLabel extends GraphInventoryEdgeLabel> {
protected static Logger logger = LoggerFactory.getLogger(GraphInventoryTransactionClient.class);
@@ -183,7 +180,7 @@ public abstract class GraphInventoryTransactionClient<Self, Uri extends GraphInv
Map<String, Object> result = this.get(new GenericType<Map<String, Object>>() {}, (Uri) uri.clone())
.orElseThrow(() -> new NotFoundException(uri.build() + " does not exist in " + this.getGraphDBName()));
String resourceVersion = (String) result.get("resource-version");
- this.delete(uri.resourceVersion(resourceVersion).build().toString(), "");
+ this.delete(uri.resourceVersion(resourceVersion).build().toString());
incrementActionAmount();
return (Self) this;
}
@@ -194,6 +191,14 @@ public abstract class GraphInventoryTransactionClient<Self, Uri extends GraphInv
protected abstract String getGraphDBName();
+ protected abstract void put(String uri, Object body);
+
+ protected abstract void delete(String uri);
+
+ protected abstract void delete(String uri, Object obj);
+
+ protected abstract void patch(String uri, Object body);
+
/**
* @param obj - can be any object which will marshal into a valid A&AI payload
* @param uri
diff --git a/common/src/main/java/org/onap/so/client/graphinventory/entities/DSLNodeKey.java b/common/src/main/java/org/onap/so/client/graphinventory/entities/DSLNodeKey.java
index bf33e8f8d3..e301edb0fd 100644
--- a/common/src/main/java/org/onap/so/client/graphinventory/entities/DSLNodeKey.java
+++ b/common/src/main/java/org/onap/so/client/graphinventory/entities/DSLNodeKey.java
@@ -32,9 +32,9 @@ public class DSLNodeKey implements QueryStep {
private boolean not = false;
private final StringBuilder query = new StringBuilder();
private final String keyName;
- private final List<String> values;
+ private final List<Object> values;
- public DSLNodeKey(String keyName, String... value) {
+ public DSLNodeKey(String keyName, Object... value) {
this.keyName = keyName;
this.values = Arrays.asList(value);
@@ -54,14 +54,18 @@ public class DSLNodeKey implements QueryStep {
result.append(" !");
}
result.append("('").append(keyName).append("', ");
- List<String> temp = new ArrayList<>();
- for (String item : values) {
- if (item.equals("null")) {
+ List<Object> temp = new ArrayList<>();
+ for (Object item : values) {
+ if ("null".equals(item)) {
temp.add(String.format("' %s '", item));
- } else if (item.equals("")) {
+ } else if ("".equals(item)) {
temp.add("' '");
} else {
- temp.add(String.format("'%s'", item));
+ if (item instanceof String) {
+ temp.add(String.format("'%s'", item));
+ } else {
+ temp.add(item);
+ }
}
}
result.append(Joiner.on(", ").join(temp)).append(")");
diff --git a/common/src/main/java/org/onap/so/client/graphinventory/entities/DSLQueryBuilder.java b/common/src/main/java/org/onap/so/client/graphinventory/entities/DSLQueryBuilder.java
index ffbb86f023..540472a88d 100644
--- a/common/src/main/java/org/onap/so/client/graphinventory/entities/DSLQueryBuilder.java
+++ b/common/src/main/java/org/onap/so/client/graphinventory/entities/DSLQueryBuilder.java
@@ -20,12 +20,15 @@
package org.onap.so.client.graphinventory.entities;
+import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import org.onap.so.client.aai.entities.QueryStep;
import org.onap.so.client.graphinventory.GraphInventoryObjectName;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.google.common.base.Joiner;
@@ -33,6 +36,7 @@ public class DSLQueryBuilder<S, E> implements QueryStep {
private List<QueryStep> steps = new ArrayList<>();
private String suffix = "";
+ private static final Logger logger = LoggerFactory.getLogger(DSLQueryBuilder.class);
public DSLQueryBuilder() {
@@ -49,8 +53,25 @@ public class DSLQueryBuilder<S, E> implements QueryStep {
}
public DSLQueryBuilder<S, E> output() {
- if (steps.get(steps.size() - 1) instanceof DSLNode) {
+ Object obj = steps.get(steps.size() - 1);
+ if (obj instanceof DSLNode) {
((DSLNode) steps.get(steps.size() - 1)).output();
+ } else if (obj.getClass().getName().contains("$$Lambda$")) {
+ // process lambda expressions
+ for (Field f : obj.getClass().getDeclaredFields()) {
+ f.setAccessible(true);
+ Object o;
+ try {
+ o = f.get(obj);
+ if (o instanceof DSLQueryBuilder && ((DSLQueryBuilder) o).steps.get(0) instanceof DSLNode) {
+ ((DSLNode) ((DSLQueryBuilder) o).steps.get(0)).output();
+ }
+ } catch (IllegalArgumentException | IllegalAccessException e) {
+ logger.error("Exception occured", e);
+ }
+ f.setAccessible(false);
+ break;
+ }
}
return this;
}
diff --git a/common/src/main/java/org/onap/so/client/graphinventory/entities/GraphInventoryRelationships.java b/common/src/main/java/org/onap/so/client/graphinventory/entities/GraphInventoryRelationships.java
index 892951f950..6703416832 100644
--- a/common/src/main/java/org/onap/so/client/graphinventory/entities/GraphInventoryRelationships.java
+++ b/common/src/main/java/org/onap/so/client/graphinventory/entities/GraphInventoryRelationships.java
@@ -27,10 +27,6 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Predicate;
-import org.onap.so.client.aai.AAICommonObjectMapperProvider;
-import org.onap.so.client.aai.AAIObjectType;
-import org.onap.so.client.aai.entities.AAIResultWrapper;
-import org.onap.so.client.aai.entities.uri.AAIResourceUri;
import org.onap.so.client.graphinventory.GraphInventoryCommonObjectMapperProvider;
import org.onap.so.client.graphinventory.GraphInventoryObjectName;
import org.onap.so.client.graphinventory.GraphInventoryObjectType;
diff --git a/common/src/main/java/org/onap/so/client/graphinventory/entities/__.java b/common/src/main/java/org/onap/so/client/graphinventory/entities/__.java
index 2fdd6574e5..87d4d84cac 100644
--- a/common/src/main/java/org/onap/so/client/graphinventory/entities/__.java
+++ b/common/src/main/java/org/onap/so/client/graphinventory/entities/__.java
@@ -45,7 +45,7 @@ public class __ {
return __.<DSLNode>start(new DSLNode(name, key));
}
- public static DSLNodeKey key(String keyName, String... value) {
+ public static DSLNodeKey key(String keyName, Object... value) {
return new DSLNodeKey(keyName, value);
}
diff --git a/common/src/main/java/org/onap/so/client/graphinventory/entities/uri/GraphInventoryUri.java b/common/src/main/java/org/onap/so/client/graphinventory/entities/uri/GraphInventoryUri.java
index d6d3e5eaa2..6b48ad44ef 100644
--- a/common/src/main/java/org/onap/so/client/graphinventory/entities/uri/GraphInventoryUri.java
+++ b/common/src/main/java/org/onap/so/client/graphinventory/entities/uri/GraphInventoryUri.java
@@ -22,7 +22,6 @@ package org.onap.so.client.graphinventory.entities.uri;
import java.net.URI;
import java.util.Map;
-import org.onap.so.client.graphinventory.entities.uri.Depth;
import org.onap.so.client.graphinventory.GraphInventoryObjectType;
public interface GraphInventoryUri {
diff --git a/common/src/main/java/org/onap/so/client/graphinventory/entities/uri/SimpleUri.java b/common/src/main/java/org/onap/so/client/graphinventory/entities/uri/SimpleUri.java
index 5d0a33909a..ffe47c5c51 100644
--- a/common/src/main/java/org/onap/so/client/graphinventory/entities/uri/SimpleUri.java
+++ b/common/src/main/java/org/onap/so/client/graphinventory/entities/uri/SimpleUri.java
@@ -29,6 +29,7 @@ import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
+import java.util.regex.Pattern;
import javax.ws.rs.core.UriBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.onap.so.client.graphinventory.Format;
@@ -44,8 +45,8 @@ public class SimpleUri implements GraphInventoryResourceUri, Serializable {
private static final long serialVersionUID = -337701171277616439L;
protected transient UriBuilder internalURI;
- protected final static String relationshipAPI = "/relationship-list/relationship";
- protected final static String relatedTo = "/related-to";
+ protected static final String relationshipAPI = "/relationship-list/relationship";
+ protected static final String relatedTo = "/related-to";
protected final Object[] values;
protected final GraphInventoryObjectType type;
protected final GraphInventoryObjectPlurals pluralType;
@@ -61,7 +62,7 @@ public class SimpleUri implements GraphInventoryResourceUri, Serializable {
protected SimpleUri(GraphInventoryObjectType type, URI uri) {
this.type = type;
this.pluralType = null;
- this.internalURI = UriBuilder.fromPath(uri.getRawPath().replaceAll("/aai/v\\d+", ""));
+ this.internalURI = UriBuilder.fromPath(uri.getRawPath().replaceAll(getPrefixPattern().toString(), ""));
this.values = new Object[0];
}
@@ -174,6 +175,10 @@ public class SimpleUri implements GraphInventoryResourceUri, Serializable {
return build(this.values);
}
+ protected Pattern getPrefixPattern() {
+ return Pattern.compile("/.*?/v\\d+");
+ }
+
protected URI build(Object... values) {
// This is a workaround because resteasy does not encode URIs correctly
final String[] encoded = new String[values.length];
diff --git a/common/src/main/java/org/onap/so/client/graphinventory/entities/uri/parsers/UriParserSpringImpl.java b/common/src/main/java/org/onap/so/client/graphinventory/entities/uri/parsers/UriParserSpringImpl.java
index 14a46c243b..71afdb83d9 100644
--- a/common/src/main/java/org/onap/so/client/graphinventory/entities/uri/parsers/UriParserSpringImpl.java
+++ b/common/src/main/java/org/onap/so/client/graphinventory/entities/uri/parsers/UriParserSpringImpl.java
@@ -20,7 +20,6 @@
package org.onap.so.client.graphinventory.entities.uri.parsers;
-import java.io.UnsupportedEncodingException;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
diff --git a/common/src/main/java/org/onap/so/client/grm/GRMRestClient.java b/common/src/main/java/org/onap/so/client/grm/GRMRestClient.java
index fa155de6a2..507f1130b5 100644
--- a/common/src/main/java/org/onap/so/client/grm/GRMRestClient.java
+++ b/common/src/main/java/org/onap/so/client/grm/GRMRestClient.java
@@ -22,11 +22,9 @@ package org.onap.so.client.grm;
import java.net.URI;
-import java.util.Base64;
import java.util.Map;
import java.util.Optional;
import org.onap.so.client.RestClient;
-import org.onap.so.client.RestProperties;
import org.onap.so.utils.TargetEntity;
public class GRMRestClient extends RestClient {
diff --git a/common/src/main/java/org/onap/so/client/policy/entities/DictionaryJson.java b/common/src/main/java/org/onap/so/client/policy/entities/DictionaryJson.java
index 5b99fe1a05..6e7baa37e6 100644
--- a/common/src/main/java/org/onap/so/client/policy/entities/DictionaryJson.java
+++ b/common/src/main/java/org/onap/so/client/policy/entities/DictionaryJson.java
@@ -31,7 +31,7 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder;
public class DictionaryJson {
@JsonProperty("DictionaryDatas")
- private List<DictionaryData> dictionaryDatas = new ArrayList<DictionaryData>();
+ private List<DictionaryData> dictionaryDatas = new ArrayList<>();
@JsonProperty("DictionaryDatas")
public List<DictionaryData> getDictionaryDatas() {
diff --git a/common/src/main/java/org/onap/so/client/policy/entities/PolicyServiceType.java b/common/src/main/java/org/onap/so/client/policy/entities/PolicyServiceType.java
index b00d22dbad..eb95b75593 100644
--- a/common/src/main/java/org/onap/so/client/policy/entities/PolicyServiceType.java
+++ b/common/src/main/java/org/onap/so/client/policy/entities/PolicyServiceType.java
@@ -21,11 +21,18 @@
package org.onap.so.client.policy.entities;
public enum PolicyServiceType {
- GET_CONFIG("getConfig"), SEND_EVENT("sendEvent"), PUSH_POLICY("pushPolicy"), CREATE_POLICY(
- "createPolicy"), UPDATE_POLICY("updatePolicy"), GET_DECISION("getDecision"), GET_METRICS(
- "getMetrics"), DELETE_POLICY("deletePolicy"), LIST_CONFIG("listConfig"), CREATE_DICTIONARY_ITEM(
- "createDictionaryItem"), UPDATE_DICTIONARY_ITEM(
- "updateDictionaryItem"), GET_DICTIONARY_ITEMS("getDictionaryItems");
+ GET_CONFIG("getConfig"),
+ SEND_EVENT("sendEvent"),
+ PUSH_POLICY("pushPolicy"),
+ CREATE_POLICY("createPolicy"),
+ UPDATE_POLICY("updatePolicy"),
+ GET_DECISION("getDecision"),
+ GET_METRICS("getMetrics"),
+ DELETE_POLICY("deletePolicy"),
+ LIST_CONFIG("listConfig"),
+ CREATE_DICTIONARY_ITEM("createDictionaryItem"),
+ UPDATE_DICTIONARY_ITEM("updateDictionaryItem"),
+ GET_DICTIONARY_ITEMS("getDictionaryItems");
private final String name;
diff --git a/common/src/main/java/org/onap/so/client/sdno/SDNOValidatorImpl.java b/common/src/main/java/org/onap/so/client/sdno/SDNOValidatorImpl.java
index 4aafd145b7..8e674fb77b 100644
--- a/common/src/main/java/org/onap/so/client/sdno/SDNOValidatorImpl.java
+++ b/common/src/main/java/org/onap/so/client/sdno/SDNOValidatorImpl.java
@@ -28,7 +28,6 @@ import javax.ws.rs.NotFoundException;
import org.onap.aai.domain.yang.GenericVnf;
import org.onap.so.client.aai.AAIObjectType;
import org.onap.so.client.aai.AAIResourcesClient;
-import org.onap.so.client.aai.AAIVersion;
import org.onap.so.client.aai.entities.uri.AAIResourceUri;
import org.onap.so.client.aai.entities.uri.AAIUriFactory;
import org.onap.so.client.dmaap.DmaapConsumer;
diff --git a/common/src/main/java/org/onap/so/client/sdno/beans/Body.java b/common/src/main/java/org/onap/so/client/sdno/beans/Body.java
index 84dd83ea6f..8c40b749a6 100644
--- a/common/src/main/java/org/onap/so/client/sdno/beans/Body.java
+++ b/common/src/main/java/org/onap/so/client/sdno/beans/Body.java
@@ -37,8 +37,8 @@ public class Body implements Serializable {
@JsonProperty("input")
private Input input;
@JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
- private final static long serialVersionUID = 9101706044452851559L;
+ private Map<String, Object> additionalProperties = new HashMap<>();
+ private static final long serialVersionUID = 9101706044452851559L;
@JsonProperty("input")
public Input getInput() {
diff --git a/common/src/main/java/org/onap/so/client/sdno/beans/Input.java b/common/src/main/java/org/onap/so/client/sdno/beans/Input.java
index ea537bba09..c8122c06f6 100644
--- a/common/src/main/java/org/onap/so/client/sdno/beans/Input.java
+++ b/common/src/main/java/org/onap/so/client/sdno/beans/Input.java
@@ -40,7 +40,7 @@ public class Input implements Serializable {
private RequestHdCustom requestHdCustom;
@JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+ private Map<String, Object> additionalProperties = new HashMap<>();
private final static long serialVersionUID = 7155546785389227528L;
@JsonProperty("request-healthdiagnostic")
diff --git a/common/src/main/java/org/onap/so/client/sdno/beans/RequestHdCustom.java b/common/src/main/java/org/onap/so/client/sdno/beans/RequestHdCustom.java
index c08d1ef386..485f64673f 100644
--- a/common/src/main/java/org/onap/so/client/sdno/beans/RequestHdCustom.java
+++ b/common/src/main/java/org/onap/so/client/sdno/beans/RequestHdCustom.java
@@ -49,7 +49,7 @@ public class RequestHdCustom implements Serializable {
@JsonProperty("send-detailed-cmd-response")
private String sendDetailedCmdResponse = "false";
@JsonProperty("aai-param-list")
- private List<AAIParamList> aaiParamList = new ArrayList<AAIParamList>();
+ private List<AAIParamList> aaiParamList = new ArrayList<>();
/**
* No args constructor for use in serialization
diff --git a/common/src/main/java/org/onap/so/client/sdno/beans/RequestHealthDiagnostic.java b/common/src/main/java/org/onap/so/client/sdno/beans/RequestHealthDiagnostic.java
index c05b470b0e..b1b75ab412 100644
--- a/common/src/main/java/org/onap/so/client/sdno/beans/RequestHealthDiagnostic.java
+++ b/common/src/main/java/org/onap/so/client/sdno/beans/RequestHealthDiagnostic.java
@@ -52,8 +52,8 @@ public class RequestHealthDiagnostic implements Serializable {
@JsonProperty("health-diagnostic-code")
private String healthDiagnosticCode;
@JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
- private final static long serialVersionUID = 1166788526178388021L;
+ private Map<String, Object> additionalProperties = new HashMap<>();
+ private static final long serialVersionUID = 1166788526178388021L;
@JsonProperty("request-client-name")
public String getRequestClientName() {
diff --git a/common/src/main/java/org/onap/so/client/sdno/beans/ResultInfo.java b/common/src/main/java/org/onap/so/client/sdno/beans/ResultInfo.java
index 93826c752f..8b84cf6659 100644
--- a/common/src/main/java/org/onap/so/client/sdno/beans/ResultInfo.java
+++ b/common/src/main/java/org/onap/so/client/sdno/beans/ResultInfo.java
@@ -44,7 +44,7 @@ public class ResultInfo {
@JsonProperty("status")
private String status;
@JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+ private Map<String, Object> additionalProperties = new HashMap<>();
@JsonProperty("client-name")
public String getClientName() {
diff --git a/common/src/main/java/org/onap/so/client/sdno/beans/SDNO.java b/common/src/main/java/org/onap/so/client/sdno/beans/SDNO.java
index 09f408c967..46e2c1d1fc 100644
--- a/common/src/main/java/org/onap/so/client/sdno/beans/SDNO.java
+++ b/common/src/main/java/org/onap/so/client/sdno/beans/SDNO.java
@@ -43,8 +43,8 @@ public class SDNO implements Serializable {
@JsonProperty("body")
private Body body;
@JsonIgnore
- private Map<String, Object> additionalProperties = new HashMap<String, Object>();
- private final static long serialVersionUID = -5303297382564282650L;
+ private Map<String, Object> additionalProperties = new HashMap<>();
+ private static final long serialVersionUID = -5303297382564282650L;
@JsonProperty("operation")
public String getOperation() {
diff --git a/common/src/main/java/org/onap/so/client/sdno/dmaap/SDNOHealthCheckDmaapPublisher.java b/common/src/main/java/org/onap/so/client/sdno/dmaap/SDNOHealthCheckDmaapPublisher.java
index b1adc53f3a..b85b7c3bde 100644
--- a/common/src/main/java/org/onap/so/client/sdno/dmaap/SDNOHealthCheckDmaapPublisher.java
+++ b/common/src/main/java/org/onap/so/client/sdno/dmaap/SDNOHealthCheckDmaapPublisher.java
@@ -7,9 +7,9 @@
* 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.
@@ -38,7 +38,7 @@ public class SDNOHealthCheckDmaapPublisher extends DmaapPublisher {
@Override
public String getKey() {
- return msoProperties.get("sdno.health-check.dmaap.msoKey");
+ return msoProperties.get("mso.msoKey");
}
@Override
diff --git a/common/src/main/java/org/onap/so/constants/OrchestrationRequestFormat.java b/common/src/main/java/org/onap/so/constants/OrchestrationRequestFormat.java
new file mode 100644
index 0000000000..ccfd2f4de6
--- /dev/null
+++ b/common/src/main/java/org/onap/so/constants/OrchestrationRequestFormat.java
@@ -0,0 +1,25 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.constants;
+
+public enum OrchestrationRequestFormat {
+ DETAIL, STATUSDETAIL
+}
diff --git a/common/src/main/java/org/onap/so/constants/Status.java b/common/src/main/java/org/onap/so/constants/Status.java
new file mode 100644
index 0000000000..b460418f0f
--- /dev/null
+++ b/common/src/main/java/org/onap/so/constants/Status.java
@@ -0,0 +1,40 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.constants;
+
+
+/*
+ * Enum for Status values returned by API Handler to Tail-F
+ */
+public enum Status {
+ PENDING,
+ IN_PROGRESS,
+ COMPLETE,
+ COMPLETED,
+ FAILED,
+ TIMEOUT,
+ UNLOCKED,
+ PENDING_MANUAL_TASK,
+ ABORTED,
+ ROLLED_BACK,
+ ROLLED_BACK_TO_ASSIGNED,
+ ROLLED_BACK_TO_CREATED
+}
diff --git a/common/src/main/java/org/onap/so/db/connections/DbDnsIpAddress.java b/common/src/main/java/org/onap/so/db/connections/DbDnsIpAddress.java
new file mode 100644
index 0000000000..8ee63a487b
--- /dev/null
+++ b/common/src/main/java/org/onap/so/db/connections/DbDnsIpAddress.java
@@ -0,0 +1,20 @@
+package org.onap.so.db.connections;
+
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Component;
+
+@Component
+@Scope("singleton")
+public class DbDnsIpAddress {
+
+ private String ipAddress;
+
+ public String getIpAddress() {
+ return ipAddress;
+ }
+
+ public void setIpAddress(String ipAddress) {
+ this.ipAddress = ipAddress;
+ }
+
+}
diff --git a/common/src/main/java/org/onap/so/db/connections/ScheduledDnsLookup.java b/common/src/main/java/org/onap/so/db/connections/ScheduledDnsLookup.java
new file mode 100644
index 0000000000..14f2f5e9b7
--- /dev/null
+++ b/common/src/main/java/org/onap/so/db/connections/ScheduledDnsLookup.java
@@ -0,0 +1,78 @@
+package org.onap.so.db.connections;
+
+import java.lang.management.ManagementFactory;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.Set;
+import javax.management.JMX;
+import javax.management.MBeanServer;
+import javax.management.ObjectInstance;
+import javax.management.ObjectName;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Profile;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+import com.zaxxer.hikari.HikariPoolMXBean;
+
+@Component
+@Profile("!test")
+public class ScheduledDnsLookup {
+
+ private static final String JMX_HIKARI_DB_POOL_LOOKUP = "com.zaxxer.hikari:type=Pool (*,*";
+
+ private static final String DB_HOST = "DB_HOST";
+
+ @Autowired
+ private DbDnsIpAddress dnsIpAddress;
+
+ private static Logger logger = LoggerFactory.getLogger(ScheduledDnsLookup.class);
+
+ @Scheduled(fixedRate = 15000)
+ public void performDnsLookup() {
+
+ String dnsUrl = System.getenv(DB_HOST);
+
+ try {
+ if (dnsUrl == null) {
+ logger.error("Database DNS is not provided. Please verify the configuration");
+ return;
+ }
+
+ InetAddress inetAddress = java.net.InetAddress.getByName(dnsUrl);
+ String ipAddress = inetAddress.getHostAddress();
+ String currentIpAddress = dnsIpAddress.getIpAddress();
+ /* This is in initial state */
+ if (currentIpAddress == null) {
+ dnsIpAddress.setIpAddress(ipAddress);
+ return;
+ }
+
+ if ((ipAddress != null) && (!ipAddress.equalsIgnoreCase(currentIpAddress))) {
+ logger.debug("Switched Database IP Address from {} to {}", currentIpAddress, ipAddress);
+ softEvictConnectionPool();
+ dnsIpAddress.setIpAddress(ipAddress);
+ }
+ } catch (UnknownHostException e) {
+ logger.warn("Database DNS %s is not resolvable to an IP Address", dnsUrl);
+ }
+
+ }
+
+ private void softEvictConnectionPool() {
+ try {
+ MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
+ ObjectName queryObj = new ObjectName(JMX_HIKARI_DB_POOL_LOOKUP);
+ Set<ObjectInstance> objects = mBeanServer.queryMBeans(queryObj, null);
+ for (ObjectInstance objectInstance : objects) {
+ ObjectName poolObject = objectInstance.getObjectName();
+ HikariPoolMXBean poolProxy = JMX.newMXBeanProxy(mBeanServer, poolObject, HikariPoolMXBean.class);
+ logger.debug("database connection pool is soft evicted for connections");
+ poolProxy.softEvictConnections();
+ }
+ } catch (Exception e) {
+ logger.warn("Error encountered in evicting DB connection pool", e);
+ }
+ }
+}
diff --git a/common/src/main/java/org/onap/so/listener/ListenerRunner.java b/common/src/main/java/org/onap/so/listener/ListenerRunner.java
new file mode 100644
index 0000000000..a489be6070
--- /dev/null
+++ b/common/src/main/java/org/onap/so/listener/ListenerRunner.java
@@ -0,0 +1,56 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.listener;
+
+import java.lang.annotation.Annotation;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Optional;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
+import javax.annotation.Priority;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
+
+public abstract class ListenerRunner {
+
+ @Autowired
+ protected ApplicationContext context;
+
+ public <T> List<T> filterListeners(List<T> validators, Predicate<T> predicate) {
+ return validators.stream().filter(item -> {
+ return !item.getClass().isAnnotationPresent(Skip.class) && predicate.test(item);
+ }).sorted(Comparator.comparing(item -> {
+ Priority p = Optional.ofNullable(item.getClass().getAnnotation(Priority.class)).orElse(new Priority() {
+ public int value() {
+ return 1000;
+ }
+
+ @Override
+ public Class<? extends Annotation> annotationType() {
+ return Priority.class;
+ }
+ });
+ return p.value();
+ })).collect(Collectors.toList());
+ }
+
+}
diff --git a/common/src/main/java/org/onap/so/listener/Skip.java b/common/src/main/java/org/onap/so/listener/Skip.java
new file mode 100644
index 0000000000..aa3ec2a204
--- /dev/null
+++ b/common/src/main/java/org/onap/so/listener/Skip.java
@@ -0,0 +1,29 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.listener;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Skip {
+
+}
diff --git a/common/src/main/java/org/onap/so/logger/ErrorCode.java b/common/src/main/java/org/onap/so/logger/ErrorCode.java
index 2d6fb791d5..7fb9522b7c 100644
--- a/common/src/main/java/org/onap/so/logger/ErrorCode.java
+++ b/common/src/main/java/org/onap/so/logger/ErrorCode.java
@@ -1,8 +1,32 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
package org.onap.so.logger;
public enum ErrorCode {
- PermissionError(100), AvailabilityError(200), DataError(300), SchemaError(400), BusinessProcesssError(
- 500), UnknownError(900);
+ PermissionError(100),
+ AvailabilityError(200),
+ DataError(300),
+ SchemaError(400),
+ BusinessProcesssError(500),
+ UnknownError(900);
private int value;
diff --git a/common/src/main/java/org/onap/so/logger/HttpHeadersConstants.java b/common/src/main/java/org/onap/so/logger/HttpHeadersConstants.java
index f34b4b5a9a..83b860ff01 100644
--- a/common/src/main/java/org/onap/so/logger/HttpHeadersConstants.java
+++ b/common/src/main/java/org/onap/so/logger/HttpHeadersConstants.java
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
package org.onap.so.logger;
public class HttpHeadersConstants {
diff --git a/common/src/main/java/org/onap/so/logger/LoggingAnchor.java b/common/src/main/java/org/onap/so/logger/LoggingAnchor.java
new file mode 100644
index 0000000000..119ae4c43c
--- /dev/null
+++ b/common/src/main/java/org/onap/so/logger/LoggingAnchor.java
@@ -0,0 +1,29 @@
+package org.onap.so.logger;
+
+import java.util.Collections;
+import java.util.stream.Collectors;
+
+public class LoggingAnchor {
+ public static final String ONE = Collections.nCopies(1, "{}").stream().collect(Collectors.joining(" "));
+
+ public static final String TWO = Collections.nCopies(2, "{}").stream().collect(Collectors.joining(" "));
+
+ public static final String THREE = Collections.nCopies(3, "{}").stream().collect(Collectors.joining(" "));
+
+ public static final String FOUR = Collections.nCopies(4, "{}").stream().collect(Collectors.joining(" "));
+
+ public static final String FIVE = Collections.nCopies(5, "{}").stream().collect(Collectors.joining(" "));
+
+ public static final String SIX = Collections.nCopies(6, "{}").stream().collect(Collectors.joining(" "));
+
+ public static final String SEVEN = Collections.nCopies(7, "{}").stream().collect(Collectors.joining(" "));
+
+ public static final String EIGHT = Collections.nCopies(8, "{}").stream().collect(Collectors.joining(" "));
+
+ public static final String NINE = Collections.nCopies(9, "{}").stream().collect(Collectors.joining(" "));
+
+ public static final String TEN = Collections.nCopies(10, "{}").stream().collect(Collectors.joining(" "));
+
+ private LoggingAnchor() {}
+
+}
diff --git a/common/src/main/java/org/onap/so/logger/MdcConstants.java b/common/src/main/java/org/onap/so/logger/MdcConstants.java
index 9f8417e047..33fceb2f0f 100644
--- a/common/src/main/java/org/onap/so/logger/MdcConstants.java
+++ b/common/src/main/java/org/onap/so/logger/MdcConstants.java
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
package org.onap.so.logger;
public class MdcConstants {
@@ -10,4 +30,5 @@ public class MdcConstants {
public static final String SERVICE_NAME = "ServiceName";
public static final String STATUSCODE = "StatusCode";
public static final String ENDTIME = "EndTimestamp";
+ public static final String ORIGINAL_PARTNER_NAME = "OriginalPartnerName";
}
diff --git a/common/src/main/java/org/onap/so/logger/MessageEnum.java b/common/src/main/java/org/onap/so/logger/MessageEnum.java
index e92d50a685..bcf699beaf 100644
--- a/common/src/main/java/org/onap/so/logger/MessageEnum.java
+++ b/common/src/main/java/org/onap/so/logger/MessageEnum.java
@@ -24,13 +24,200 @@ package org.onap.so.logger;
public enum MessageEnum {
// Api Handler Messages
- APIH_REQUEST_NULL, APIH_QUERY_FOUND, APIH_QUERY_NOT_FOUND, APIH_QUERY_PARAM_WRONG, APIH_DB_ACCESS_EXC, APIH_DB_ACCESS_EXC_REASON, APIH_VALIDATION_ERROR, APIH_REQUEST_VALIDATION_ERROR, APIH_SERVICE_VALIDATION_ERROR, APIH_GENERAL_EXCEPTION_ARG, APIH_GENERAL_EXCEPTION, APIH_GENERAL_WARNING, APIH_AUDIT_EXEC, APIH_GENERAL_METRICS, APIH_DUPLICATE_CHECK_EXC, APIH_DUPLICATE_FOUND, APIH_BAD_ORDER, APIH_DB_ATTRIBUTE_NOT_FOUND, APIH_BPEL_COMMUNICATE_ERROR, APIH_BPEL_RESPONSE_ERROR, APIH_WARP_REQUEST, APIH_ERROR_FROM_BPEL_SERVER, APIH_DB_INSERT_EXC, APIH_DB_UPDATE_EXC, APIH_NO_PROPERTIES, APIH_PROPERTY_LOAD_SUC, APIH_LOAD_PROPERTIES_FAIL, APIH_SDNC_COMMUNICATE_ERROR, APIH_SDNC_RESPONSE_ERROR, APIH_CANNOT_READ_SCHEMA, APIH_HEALTH_CHECK_EXCEPTION, APIH_REQUEST_VALIDATION_ERROR_REASON, APIH_JAXB_MARSH_ERROR, APIH_JAXB_UNMARSH_ERROR, APIH_VNFREQUEST_VALIDATION_ERROR, APIH_DOM2STR_ERROR, APIH_READ_VNFOUTPUT_CLOB_EXCEPTION, APIH_DUPLICATE_CHECK_EXC_ATT, APIH_GENERATED_REQUEST_ID, APIH_GENERATED_SERVICE_INSTANCE_ID, APIH_REPLACE_REQUEST_ID,
+ APIH_REQUEST_NULL,
+ APIH_QUERY_FOUND,
+ APIH_QUERY_NOT_FOUND,
+ APIH_QUERY_PARAM_WRONG,
+ APIH_DB_ACCESS_EXC,
+ APIH_DB_ACCESS_EXC_REASON,
+ APIH_VALIDATION_ERROR,
+ APIH_REQUEST_VALIDATION_ERROR,
+ APIH_SERVICE_VALIDATION_ERROR,
+ APIH_GENERAL_EXCEPTION_ARG,
+ APIH_GENERAL_EXCEPTION,
+ APIH_GENERAL_WARNING,
+ APIH_AUDIT_EXEC,
+ APIH_GENERAL_METRICS,
+ APIH_DUPLICATE_CHECK_EXC,
+ APIH_DUPLICATE_FOUND,
+ APIH_BAD_ORDER,
+ APIH_DB_ATTRIBUTE_NOT_FOUND,
+ APIH_BPEL_COMMUNICATE_ERROR,
+ APIH_BPEL_RESPONSE_ERROR,
+ APIH_WARP_REQUEST,
+ APIH_ERROR_FROM_BPEL_SERVER,
+ APIH_DB_INSERT_EXC,
+ APIH_DB_UPDATE_EXC,
+ APIH_NO_PROPERTIES,
+ APIH_PROPERTY_LOAD_SUC,
+ APIH_LOAD_PROPERTIES_FAIL,
+ APIH_SDNC_COMMUNICATE_ERROR,
+ APIH_SDNC_RESPONSE_ERROR,
+ APIH_CANNOT_READ_SCHEMA,
+ APIH_HEALTH_CHECK_EXCEPTION,
+ APIH_REQUEST_VALIDATION_ERROR_REASON,
+ APIH_JAXB_MARSH_ERROR,
+ APIH_JAXB_UNMARSH_ERROR,
+ APIH_VNFREQUEST_VALIDATION_ERROR,
+ APIH_DOM2STR_ERROR,
+ APIH_READ_VNFOUTPUT_CLOB_EXCEPTION,
+ APIH_DUPLICATE_CHECK_EXC_ATT,
+ APIH_GENERATED_REQUEST_ID,
+ APIH_GENERATED_SERVICE_INSTANCE_ID,
+ APIH_REPLACE_REQUEST_ID,
// Resource Adapter Messages
- RA_GENERAL_EXCEPTION_ARG, RA_GENERAL_EXCEPTION, RA_GENERAL_WARNING, RA_MISSING_PARAM, RA_AUDIT_EXEC, RA_GENERAL_METRICS, RA_CREATE_STACK_TIMEOUT, RA_DELETE_STACK_TIMEOUT, RA_UPDATE_STACK_TIMEOUT, RA_CONNECTION_EXCEPTION, RA_PARSING_ERROR, RA_PROPERTIES_NOT_FOUND, RA_LOAD_PROPERTIES_SUC, RA_NETWORK_ALREADY_EXIST, RA_UPDATE_NETWORK_ERR, RA_CREATE_STACK_ERR, RA_UPDATE_STACK_ERR, RA_CREATE_TENANT_ERR, RA_NETWORK_NOT_FOUND, RA_NETWORK_ORCHE_MODE_NOT_SUPPORT, RA_CREATE_NETWORK_EXC, RA_NS_EXC, RA_PARAM_NOT_FOUND, RA_CONFIG_EXC, RA_UNKOWN_PARAM, RA_VLAN_PARSE, RA_DELETE_NETWORK_EXC, RA_ROLLBACK_NULL, RA_TENANT_NOT_FOUND, RA_QUERY_NETWORK_EXC, RA_CREATE_NETWORK_NOTIF_EXC, RA_ASYNC_ROLLBACK, RA_WSDL_NOT_FOUND, RA_WSDL_URL_CONVENTION_EXC, RA_INIT_NOTIF_EXC, RA_SET_CALLBACK_AUTH_EXC, RA_FAULT_INFO_EXC, RA_MARSHING_ERROR, RA_PARSING_REQUEST_ERROR, RA_SEND_REQUEST_SDNC, RA_RESPONSE_FROM_SDNC, RA_EXCEPTION_COMMUNICATE_SDNC, RA_EVALUATE_XPATH_ERROR, RA_ANALYZE_ERROR_EXC, RA_ERROR_GET_RESPONSE_SDNC, RA_CALLBACK_BPEL, RA_INIT_CALLBACK_WSDL_ERR, RA_CALLBACK_BPEL_EXC, RA_CALLBACK_BPEL_COMPLETE, RA_SDNC_MISS_CONFIG_PARAM, RA_SDNC_INVALID_CONFIG, RA_PRINT_URL, RA_ERROR_CREATE_SDNC_REQUEST, RA_ERROR_CREATE_SDNC_RESPONSE, RA_ERROR_CONVERT_XML2STR, RA_RECEIVE_SDNC_NOTIF, RA_INIT_SDNC_ADAPTER, RA_SEND_REQUEST_APPC_ERR, RA_SEND_REQUEST_SDNC_ERR, RA_RECEIVE_BPEL_REQUEST, RA_TENANT_ALREADY_EXIST, RA_UPDATE_TENANT_ERR, RA_DELETE_TEMAMT_ERR, RA_ROLLBACK_TENANT_ERR, RA_QUERY_VNF_ERR, RA_VNF_ALREADY_EXIST, RA_VNF_UNKNOWN_PARAM, RA_VNF_EXTRA_PARAM, RA_CREATE_VNF_ERR, RA_VNF_NOT_EXIST, RA_UPDATE_VNF_ERR, RA_DELETE_VNF_ERR, RA_ASYNC_CREATE_VNF, RA_SEND_VNF_NOTIF_ERR, RA_ASYNC_CREATE_VNF_COMPLETE, RA_ASYNC_UPDATE_VNF, RA_ASYNC_UPDATE_VNF_COMPLETE, RA_ASYNC_QUERY_VNF, RA_ASYNC_QUERY_VNF_COMPLETE, RA_ASYNC_DELETE_VNF, RA_ASYNC_DELETE_VNF_COMPLETE, RA_ASYNC_ROLLBACK_VNF, RA_ASYNC_ROLLBACK_VNF_COMPLETE, RA_ROLLBACK_VNF_ERR, RA_DB_INVALID_STATUS, RA_CANT_UPDATE_REQUEST, RA_DB_REQUEST_NOT_EXIST, RA_CONFIG_NOT_FOUND, RA_CONFIG_LOAD, RA_RECEIVE_WORKFLOW_MESSAGE,
+ RA_GENERAL_EXCEPTION_ARG,
+ RA_GENERAL_EXCEPTION,
+ RA_GENERAL_WARNING,
+ RA_MISSING_PARAM,
+ RA_AUDIT_EXEC,
+ RA_GENERAL_METRICS,
+ RA_CREATE_STACK_TIMEOUT,
+ RA_DELETE_STACK_TIMEOUT,
+ RA_UPDATE_STACK_TIMEOUT,
+ RA_CONNECTION_EXCEPTION,
+ RA_PARSING_ERROR,
+ RA_PROPERTIES_NOT_FOUND,
+ RA_LOAD_PROPERTIES_SUC,
+ RA_NETWORK_ALREADY_EXIST,
+ RA_UPDATE_NETWORK_ERR,
+ RA_CREATE_STACK_ERR,
+ RA_UPDATE_STACK_ERR,
+ RA_CREATE_TENANT_ERR,
+ RA_NETWORK_NOT_FOUND,
+ RA_NETWORK_ORCHE_MODE_NOT_SUPPORT,
+ RA_CREATE_NETWORK_EXC,
+ RA_NS_EXC,
+ RA_PARAM_NOT_FOUND,
+ RA_CONFIG_EXC,
+ RA_UNKOWN_PARAM,
+ RA_VLAN_PARSE,
+ RA_DELETE_NETWORK_EXC,
+ RA_ROLLBACK_NULL,
+ RA_TENANT_NOT_FOUND,
+ RA_QUERY_NETWORK_EXC,
+ RA_CREATE_NETWORK_NOTIF_EXC,
+ RA_ASYNC_ROLLBACK,
+ RA_WSDL_NOT_FOUND,
+ RA_WSDL_URL_CONVENTION_EXC,
+ RA_INIT_NOTIF_EXC,
+ RA_SET_CALLBACK_AUTH_EXC,
+ RA_FAULT_INFO_EXC,
+ RA_MARSHING_ERROR,
+ RA_PARSING_REQUEST_ERROR,
+ RA_SEND_REQUEST_SDNC,
+ RA_RESPONSE_FROM_SDNC,
+ RA_EXCEPTION_COMMUNICATE_SDNC,
+ RA_EVALUATE_XPATH_ERROR,
+ RA_ANALYZE_ERROR_EXC,
+ RA_ERROR_GET_RESPONSE_SDNC,
+ RA_CALLBACK_BPEL,
+ RA_INIT_CALLBACK_WSDL_ERR,
+ RA_CALLBACK_BPEL_EXC,
+ RA_CALLBACK_BPEL_COMPLETE,
+ RA_SDNC_MISS_CONFIG_PARAM,
+ RA_SDNC_INVALID_CONFIG,
+ RA_PRINT_URL,
+ RA_ERROR_CREATE_SDNC_REQUEST,
+ RA_ERROR_CREATE_SDNC_RESPONSE,
+ RA_ERROR_CONVERT_XML2STR,
+ RA_RECEIVE_SDNC_NOTIF,
+ RA_INIT_SDNC_ADAPTER,
+ RA_SEND_REQUEST_APPC_ERR,
+ RA_SEND_REQUEST_SDNC_ERR,
+ RA_RECEIVE_BPEL_REQUEST,
+ RA_TENANT_ALREADY_EXIST,
+ RA_UPDATE_TENANT_ERR,
+ RA_DELETE_TEMAMT_ERR,
+ RA_ROLLBACK_TENANT_ERR,
+ RA_QUERY_VNF_ERR,
+ RA_VNF_ALREADY_EXIST,
+ RA_VNF_UNKNOWN_PARAM,
+ RA_VNF_EXTRA_PARAM,
+ RA_CREATE_VNF_ERR,
+ RA_VNF_NOT_EXIST,
+ RA_UPDATE_VNF_ERR,
+ RA_DELETE_VNF_ERR,
+ RA_ASYNC_CREATE_VNF,
+ RA_SEND_VNF_NOTIF_ERR,
+ RA_ASYNC_CREATE_VNF_COMPLETE,
+ RA_ASYNC_UPDATE_VNF,
+ RA_ASYNC_UPDATE_VNF_COMPLETE,
+ RA_ASYNC_QUERY_VNF,
+ RA_ASYNC_QUERY_VNF_COMPLETE,
+ RA_ASYNC_DELETE_VNF,
+ RA_ASYNC_DELETE_VNF_COMPLETE,
+ RA_ASYNC_ROLLBACK_VNF,
+ RA_ASYNC_ROLLBACK_VNF_COMPLETE,
+ RA_ROLLBACK_VNF_ERR,
+ RA_DB_INVALID_STATUS,
+ RA_CANT_UPDATE_REQUEST,
+ RA_DB_REQUEST_NOT_EXIST,
+ RA_CONFIG_NOT_FOUND,
+ RA_CONFIG_LOAD,
+ RA_RECEIVE_WORKFLOW_MESSAGE,
// BPEL engine Messages
- BPMN_GENERAL_INFO, BPMN_GENERAL_EXCEPTION_ARG, BPMN_GENERAL_EXCEPTION, BPMN_GENERAL_WARNING, BPMN_AUDIT_EXEC, BPMN_GENERAL_METRICS, BPMN_URN_MAPPING_FAIL, BPMN_VARIABLE_NULL, BPMN_CALLBACK_EXCEPTION,
+ BPMN_GENERAL_INFO,
+ BPMN_GENERAL_EXCEPTION_ARG,
+ BPMN_GENERAL_EXCEPTION,
+ BPMN_GENERAL_WARNING,
+ BPMN_AUDIT_EXEC,
+ BPMN_GENERAL_METRICS,
+ BPMN_URN_MAPPING_FAIL,
+ BPMN_VARIABLE_NULL,
+ BPMN_CALLBACK_EXCEPTION,
// ASDC Messages
- ASDC_GENERAL_EXCEPTION_ARG, ASDC_GENERAL_EXCEPTION, ASDC_GENERAL_WARNING, ASDC_GENERAL_INFO, ASDC_AUDIT_EXEC, ASDC_GENERAL_METRICS, ASDC_CREATE_SERVICE, ASDC_ARTIFACT_ALREADY_DEPLOYED, ASDC_CREATE_ARTIFACT, ASDC_ARTIFACT_INSTALL_EXC, ASDC_ARTIFACT_ALREADY_DEPLOYED_DETAIL, ASDC_ARTIFACT_NOT_DEPLOYED_DETAIL, ASDC_ARTIFACT_CHECK_EXC, ASDC_INIT_ASDC_CLIENT_EXC, ASDC_INIT_ASDC_CLIENT_SUC, ASDC_LOAD_ASDC_CLIENT_EXC, ASDC_SINGLETON_CHECKT_EXC, ASDC_SHUTDOWN_ASDC_CLIENT_EXC, ASDC_CHECK_HEAT_TEMPLATE, ASDC_START_INSTALL_ARTIFACT, ASDC_ARTIFACT_TYPE_NOT_SUPPORT, ASDC_ARTIFACT_ALREADY_EXIST, ASDC_ARTIFACT_DOWNLOAD_SUC, ASDC_ARTIFACT_DOWNLOAD_FAIL, ASDC_START_DEPLOY_ARTIFACT, ASDC_SEND_NOTIF_ASDC, ASDC_SEND_NOTIF_ASDC_EXEC, ASDC_RECEIVE_CALLBACK_NOTIF, ASDC_RECEIVE_SERVICE_NOTIF, ASDC_ARTIFACT_NULL, ASDC_SERVICE_NOT_SUPPORT, ASDC_ARTIFACT_DEPLOY_SUC, ASDC_PROPERTIES_NOT_FOUND, ASDC_PROPERTIES_LOAD_SUCCESS,
+ ASDC_GENERAL_EXCEPTION_ARG,
+ ASDC_GENERAL_EXCEPTION,
+ ASDC_GENERAL_WARNING,
+ ASDC_GENERAL_INFO,
+ ASDC_AUDIT_EXEC,
+ ASDC_GENERAL_METRICS,
+ ASDC_CREATE_SERVICE,
+ ASDC_ARTIFACT_ALREADY_DEPLOYED,
+ ASDC_CREATE_ARTIFACT,
+ ASDC_ARTIFACT_INSTALL_EXC,
+ ASDC_ARTIFACT_ALREADY_DEPLOYED_DETAIL,
+ ASDC_ARTIFACT_NOT_DEPLOYED_DETAIL,
+ ASDC_ARTIFACT_CHECK_EXC,
+ ASDC_INIT_ASDC_CLIENT_EXC,
+ ASDC_INIT_ASDC_CLIENT_SUC,
+ ASDC_LOAD_ASDC_CLIENT_EXC,
+ ASDC_SINGLETON_CHECKT_EXC,
+ ASDC_SHUTDOWN_ASDC_CLIENT_EXC,
+ ASDC_CHECK_HEAT_TEMPLATE,
+ ASDC_START_INSTALL_ARTIFACT,
+ ASDC_ARTIFACT_TYPE_NOT_SUPPORT,
+ ASDC_ARTIFACT_ALREADY_EXIST,
+ ASDC_ARTIFACT_DOWNLOAD_SUC,
+ ASDC_ARTIFACT_DOWNLOAD_FAIL,
+ ASDC_START_DEPLOY_ARTIFACT,
+ ASDC_SEND_NOTIF_ASDC,
+ ASDC_SEND_NOTIF_ASDC_EXEC,
+ ASDC_RECEIVE_CALLBACK_NOTIF,
+ ASDC_RECEIVE_SERVICE_NOTIF,
+ ASDC_ARTIFACT_NULL,
+ ASDC_SERVICE_NOT_SUPPORT,
+ ASDC_ARTIFACT_DEPLOY_SUC,
+ ASDC_PROPERTIES_NOT_FOUND,
+ ASDC_PROPERTIES_LOAD_SUCCESS,
// Default Messages, in case Log catalog is not defined
- GENERAL_EXCEPTION_ARG, GENERAL_EXCEPTION, GENERAL_WARNING, AUDIT_EXEC, GENERAL_METRICS, LOGGER_SETUP, LOGGER_NOT_FOUND, LOGGER_UPDATE_SUC, LOGGER_UPDATE_DEBUG, LOGGER_UPDATE_DEBUG_SUC, LOAD_PROPERTIES_SUC, NO_PROPERTIES, MADATORY_PARAM_MISSING, LOAD_PROPERTIES_FAIL, INIT_LOGGER, INIT_LOGGER_FAIL, JAXB_EXCEPTION, IDENTITY_SERVICE_NOT_FOUND;
+ GENERAL_EXCEPTION_ARG,
+ GENERAL_EXCEPTION,
+ GENERAL_WARNING,
+ AUDIT_EXEC,
+ GENERAL_METRICS,
+ LOGGER_SETUP,
+ LOGGER_NOT_FOUND,
+ LOGGER_UPDATE_SUC,
+ LOGGER_UPDATE_DEBUG,
+ LOGGER_UPDATE_DEBUG_SUC,
+ LOAD_PROPERTIES_SUC,
+ NO_PROPERTIES,
+ MADATORY_PARAM_MISSING,
+ LOAD_PROPERTIES_FAIL,
+ INIT_LOGGER,
+ INIT_LOGGER_FAIL,
+ JAXB_EXCEPTION,
+ IDENTITY_SERVICE_NOT_FOUND;
}
diff --git a/common/src/main/java/org/onap/so/logging/jaxrs/filter/JaxRsClientLogging.java b/common/src/main/java/org/onap/so/logging/jaxrs/filter/JaxRsClientLogging.java
index 975f6bb9d8..5dbf88d346 100644
--- a/common/src/main/java/org/onap/so/logging/jaxrs/filter/JaxRsClientLogging.java
+++ b/common/src/main/java/org/onap/so/logging/jaxrs/filter/JaxRsClientLogging.java
@@ -21,34 +21,24 @@
package org.onap.so.logging.jaxrs.filter;
-import org.apache.commons.io.IOUtils;
import org.onap.logging.ref.slf4j.ONAPLogConstants;
import org.onap.so.utils.TargetEntity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
-import org.slf4j.MarkerFactory;
import org.springframework.stereotype.Component;
import javax.annotation.Priority;
import javax.ws.rs.client.ClientRequestContext;
import javax.ws.rs.client.ClientRequestFilter;
import javax.ws.rs.client.ClientResponseContext;
import javax.ws.rs.client.ClientResponseFilter;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.MessageBodyWriter;
import javax.ws.rs.ext.Providers;
-import java.io.*;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
-import java.util.Map;
import java.util.UUID;
@SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection")
diff --git a/common/src/main/java/org/onap/so/logging/jaxrs/filter/JaxRsFilterLogging.java b/common/src/main/java/org/onap/so/logging/jaxrs/filter/JaxRsFilterLogging.java
index 635d95be2e..7e2b603ba6 100644
--- a/common/src/main/java/org/onap/so/logging/jaxrs/filter/JaxRsFilterLogging.java
+++ b/common/src/main/java/org/onap/so/logging/jaxrs/filter/JaxRsFilterLogging.java
@@ -20,7 +20,6 @@
package org.onap.so.logging.jaxrs.filter;
-
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.lang.annotation.Annotation;
@@ -40,13 +39,14 @@ import javax.ws.rs.ext.MessageBodyWriter;
import javax.ws.rs.ext.Provider;
import javax.ws.rs.ext.Providers;
import org.onap.logging.ref.slf4j.ONAPLogConstants;
+import org.onap.so.logger.HttpHeadersConstants;
import org.onap.so.logger.LogConstants;
+import org.onap.so.logger.MdcConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-import com.fasterxml.jackson.databind.ObjectMapper;
@Priority(1)
@Provider
@@ -77,8 +77,10 @@ public class JaxRsFilterLogging implements ContainerRequestFilter, ContainerResp
mdcSetup.setClientIPAddress(httpServletRequest);
mdcSetup.setInstanceUUID();
mdcSetup.setEntryTimeStamp();
+ MDC.put(HttpHeadersConstants.REQUESTOR_ID, headers.getFirst("X-RequestorID"));
MDC.put(ONAPLogConstants.MDCs.RESPONSE_STATUS_CODE, ONAPLogConstants.ResponseStatus.INPROGRESS.toString());
MDC.put(LogConstants.URI_BASE, containerRequest.getUriInfo().getBaseUri().toString());
+ MDC.put(MdcConstants.ORIGINAL_PARTNER_NAME, MDC.get(ONAPLogConstants.MDCs.PARTNER_NAME));
logger.info(ONAPLogConstants.Markers.ENTRY, "Entering");
} catch (Exception e) {
logger.warn("Error in incoming JAX-RS Inteceptor", e);
@@ -128,7 +130,6 @@ public class JaxRsFilterLogging implements ContainerRequestFilter, ContainerResp
return message;
}
-
private void setRequestId(MultivaluedMap<String, String> headers) {
String requestId = headers.getFirst(ONAPLogConstants.Headers.REQUEST_ID);
if (requestId == null || requestId.isEmpty())
@@ -169,6 +170,4 @@ public class JaxRsFilterLogging implements ContainerRequestFilter, ContainerResp
MDC.remove(ONAPLogConstants.MDCs.TARGET_SERVICE_NAME);
}
-
-
}
diff --git a/common/src/main/java/org/onap/so/logging/spring/interceptor/LoggingInterceptor.java b/common/src/main/java/org/onap/so/logging/spring/interceptor/LoggingInterceptor.java
index 8e7a95b581..fa5a5d5da4 100644
--- a/common/src/main/java/org/onap/so/logging/spring/interceptor/LoggingInterceptor.java
+++ b/common/src/main/java/org/onap/so/logging/spring/interceptor/LoggingInterceptor.java
@@ -30,7 +30,6 @@ import javax.ws.rs.core.Context;
import javax.ws.rs.core.Response;
import javax.ws.rs.ext.Providers;
import org.onap.logging.ref.slf4j.ONAPLogConstants;
-import org.onap.so.logger.LogConstants;
import org.onap.so.logging.jaxrs.filter.MDCSetup;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/common/src/main/java/org/onap/so/objects/audit/AAIObjectAudit.java b/common/src/main/java/org/onap/so/objects/audit/AAIObjectAudit.java
new file mode 100644
index 0000000000..d45cc00b85
--- /dev/null
+++ b/common/src/main/java/org/onap/so/objects/audit/AAIObjectAudit.java
@@ -0,0 +1,76 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.objects.audit;
+
+import java.io.Serializable;
+import java.net.URI;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+public class AAIObjectAudit implements Serializable {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -4560928512855386021L;
+ private boolean doesObjectExist = false;
+ private Object aaiObject;
+ private URI resourceURI;
+ private String aaiObjectType;
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this).append("doesObjectExist", doesObjectExist).append("aaiObject", aaiObject)
+ .append("resourceURI", resourceURI).append("aaiObjectType", aaiObjectType).toString();
+ }
+
+ public String getAaiObjectType() {
+ return aaiObjectType;
+ }
+
+ public void setAaiObjectType(String aaiObjectType) {
+ this.aaiObjectType = aaiObjectType;
+ }
+
+ public boolean isDoesObjectExist() {
+ return doesObjectExist;
+ }
+
+ public void setDoesObjectExist(boolean doesObjectExist) {
+ this.doesObjectExist = doesObjectExist;
+ }
+
+ public Object getAaiObject() {
+ return aaiObject;
+ }
+
+ public void setAaiObject(Object aaiObject) {
+ this.aaiObject = aaiObject;
+ }
+
+ public URI getResourceURI() {
+ return resourceURI;
+ }
+
+ public void setResourceURI(URI resourceURI) {
+ this.resourceURI = resourceURI;
+ }
+
+}
diff --git a/common/src/main/java/org/onap/so/objects/audit/AAIObjectAuditList.java b/common/src/main/java/org/onap/so/objects/audit/AAIObjectAuditList.java
new file mode 100644
index 0000000000..2a4b90eef7
--- /dev/null
+++ b/common/src/main/java/org/onap/so/objects/audit/AAIObjectAuditList.java
@@ -0,0 +1,66 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.objects.audit;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+
+public class AAIObjectAuditList implements Serializable {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 6712662349909726930L;
+ private List<AAIObjectAudit> auditList = new ArrayList<>();
+ private String auditType;
+ private String heatStackName;
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this).append("auditList", auditList).toString();
+ }
+
+ public List<AAIObjectAudit> getAuditList() {
+ return auditList;
+ }
+
+
+ public String getAuditType() {
+ return auditType;
+ }
+
+
+ public void setAuditType(String auditType) {
+ this.auditType = auditType;
+ }
+
+ public String getHeatStackName() {
+ return heatStackName;
+ }
+
+ public void setHeatStackName(String heatStackName) {
+ this.heatStackName = heatStackName;
+ }
+
+}
diff --git a/common/src/main/java/org/onap/so/openpojo/rules/EqualsAndHashCodeTester.java b/common/src/main/java/org/onap/so/openpojo/rules/EqualsAndHashCodeTester.java
index e63e226457..6e2bc97ee9 100644
--- a/common/src/main/java/org/onap/so/openpojo/rules/EqualsAndHashCodeTester.java
+++ b/common/src/main/java/org/onap/so/openpojo/rules/EqualsAndHashCodeTester.java
@@ -73,9 +73,9 @@ public class EqualsAndHashCodeTester implements Tester {
boolean hasEquals = false;
boolean hasHashcode = false;
for (Method method : methods) {
- if (method.getName().equals("equals")) {
+ if ("equals".equals(method.getName())) {
hasEquals = true;
- } else if (method.getName().equals("hashCode")) {
+ } else if ("hashCode".equals(method.getName())) {
hasHashcode = true;
}
}
@@ -114,7 +114,7 @@ public class EqualsAndHashCodeTester implements Tester {
Affirm.affirmTrue("HashCode test failed for [" + classInstanceOne.getClass().getName() + "]",
classInstanceOne.hashCode() == classInstanceTwo.hashCode());
- Affirm.affirmFalse("Expected false for comparison of two unlike objects", classInstanceOne.equals("test"));
+ Affirm.affirmFalse("Expected false for comparison of two unlike objects", "test".equals(classInstanceOne));
}
}
diff --git a/common/src/main/java/org/onap/so/openpojo/rules/HasAnnotationMatcher.java b/common/src/main/java/org/onap/so/openpojo/rules/HasAnnotationMatcher.java
index fc9bb388f4..42dda850f5 100644
--- a/common/src/main/java/org/onap/so/openpojo/rules/HasAnnotationMatcher.java
+++ b/common/src/main/java/org/onap/so/openpojo/rules/HasAnnotationMatcher.java
@@ -22,7 +22,6 @@ package org.onap.so.openpojo.rules;
import static org.hamcrest.CoreMatchers.anything;
import java.lang.annotation.Annotation;
-import java.lang.reflect.AnnotatedElement;
import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.hamcrest.TypeSafeDiagnosingMatcher;
@@ -65,6 +64,6 @@ public class HasAnnotationMatcher<T extends PojoField> extends TypeSafeDiagnosin
public static <T extends PojoField> Matcher<T> hasAnnotation(final Class<? extends Annotation> annotationType,
final Matcher<? super T> annotationMatcher) {
- return new HasAnnotationMatcher<T>(annotationType, annotationMatcher);
+ return new HasAnnotationMatcher<>(annotationType, annotationMatcher);
}
}
diff --git a/common/src/main/java/org/onap/so/openpojo/rules/HasAnnotationPropertyWithValueMatcher.java b/common/src/main/java/org/onap/so/openpojo/rules/HasAnnotationPropertyWithValueMatcher.java
index 8a47299c73..a55113b0d0 100644
--- a/common/src/main/java/org/onap/so/openpojo/rules/HasAnnotationPropertyWithValueMatcher.java
+++ b/common/src/main/java/org/onap/so/openpojo/rules/HasAnnotationPropertyWithValueMatcher.java
@@ -78,6 +78,6 @@ public class HasAnnotationPropertyWithValueMatcher<T extends PojoField> extends
public static <T extends PojoField> Matcher<T> hasAnnotationPropertyWithValue(Class<? extends Annotation> clazz,
String attribute, final Matcher<?> annotationMatcher) {
- return new HasAnnotationPropertyWithValueMatcher<T>(clazz, attribute, annotationMatcher);
+ return new HasAnnotationPropertyWithValueMatcher<>(clazz, attribute, annotationMatcher);
}
}
diff --git a/common/src/main/java/org/onap/so/rest/exceptions/ExhaustedRetriesException.java b/common/src/main/java/org/onap/so/rest/exceptions/ExhaustedRetriesException.java
new file mode 100644
index 0000000000..6c91516b84
--- /dev/null
+++ b/common/src/main/java/org/onap/so/rest/exceptions/ExhaustedRetriesException.java
@@ -0,0 +1,19 @@
+package org.onap.so.rest.exceptions;
+
+public class ExhaustedRetriesException extends RuntimeException {
+
+ private static final long serialVersionUID = -8303091412739222943L;
+
+ public ExhaustedRetriesException(String s) {
+ super(s);
+ }
+
+ public ExhaustedRetriesException(Throwable t) {
+ super(t);
+ }
+
+ public ExhaustedRetriesException(String s, Throwable t) {
+ super(s, t);
+ }
+
+}
diff --git a/common/src/main/java/org/onap/so/serviceinstancebeans/CloudRequestData.java b/common/src/main/java/org/onap/so/serviceinstancebeans/CloudRequestData.java
new file mode 100644
index 0000000000..abaef26562
--- /dev/null
+++ b/common/src/main/java/org/onap/so/serviceinstancebeans/CloudRequestData.java
@@ -0,0 +1,59 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+
+package org.onap.so.serviceinstancebeans;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+public class CloudRequestData {
+
+ Object cloudRequest;
+ String cloudIdentifier;
+
+ public CloudRequestData() {}
+
+ public CloudRequestData(Object cloudRequest, String cloudIdentifier) {
+ this.cloudRequest = cloudRequest;
+ this.cloudIdentifier = cloudIdentifier;
+ }
+
+ public Object getCloudRequest() {
+ return cloudRequest;
+ }
+
+ public void setCloudRequest(Object cloudRequest) {
+ this.cloudRequest = cloudRequest;
+ }
+
+ public String getCloudIdentifier() {
+ return cloudIdentifier;
+ }
+
+ public void setCloudIdentifier(String cloudIdentifier) {
+ this.cloudIdentifier = cloudIdentifier;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this).append("cloudRequest", cloudRequest).append("cloudIdentifier", cloudIdentifier)
+ .toString();
+ }
+}
diff --git a/common/src/main/java/org/onap/so/serviceinstancebeans/GetOrchestrationResponse.java b/common/src/main/java/org/onap/so/serviceinstancebeans/GetOrchestrationResponse.java
index 53ce3884e9..7c1df67903 100644
--- a/common/src/main/java/org/onap/so/serviceinstancebeans/GetOrchestrationResponse.java
+++ b/common/src/main/java/org/onap/so/serviceinstancebeans/GetOrchestrationResponse.java
@@ -23,7 +23,6 @@ package org.onap.so.serviceinstancebeans;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
@JsonInclude(Include.NON_DEFAULT)
public class GetOrchestrationResponse {
diff --git a/common/src/main/java/org/onap/so/serviceinstancebeans/ModelType.java b/common/src/main/java/org/onap/so/serviceinstancebeans/ModelType.java
index 9a184b0a51..6b9b39e5a9 100644
--- a/common/src/main/java/org/onap/so/serviceinstancebeans/ModelType.java
+++ b/common/src/main/java/org/onap/so/serviceinstancebeans/ModelType.java
@@ -20,9 +20,76 @@
package org.onap.so.serviceinstancebeans;
+import java.lang.reflect.InvocationTargetException;
+import com.google.common.base.CaseFormat;
+
/*
* Enum for Model Type values returned by API Handler to BPMN
*/
public enum ModelType {
- service, vnf, vfModule, volumeGroup, network, configuration, connectionPoint, pnf, networkInstanceGroup, instanceGroup
+ service("serviceInstance"),
+ vnf("vnf"),
+ vfModule("vfModule"),
+ volumeGroup("volumeGroup"),
+ network("network"),
+ configuration("configuration"),
+ connectionPoint("connectionPoint"),
+ pnf("pnf"),
+ networkInstanceGroup("networkInstanceGroup"),
+ instanceGroup("instanceGroup"),
+ vpnBinding("vpnBinding");
+
+ final String name;
+
+ private ModelType(String name) {
+ this.name = name;
+ }
+
+
+ public <T> T getId(Object obj) {
+ return this.get(obj, "Id");
+ }
+
+ public <T> T getName(Object obj) {
+ return this.get(obj, "Name");
+ }
+
+ public void setId(Object obj, Object value) {
+ this.set(obj, "Id", value);
+ }
+
+ public void setName(Object obj, Object value) {
+ this.set(obj, "Name", value);
+ }
+
+ protected <T> T get(Object obj, String field) {
+ T result = null;
+ if (obj != null) {
+ try {
+ result = (T) obj.getClass().getMethod(String.format("%s%s%s", "get",
+ CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_CAMEL, this.name), field)).invoke(obj);
+ } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException
+ | NoSuchMethodException | SecurityException e) {
+ // silent fail
+ }
+ }
+
+ return result;
+ }
+
+ protected void set(Object obj, String field, Object value) {
+ if (obj != null) {
+ try {
+ obj.getClass()
+ .getMethod(
+ String.format("%s%s%s", "set",
+ CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_CAMEL, this.name), field),
+ value.getClass())
+ .invoke(obj, value);
+ } catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException
+ | InvocationTargetException e) {
+ // silent fail
+ }
+ }
+ }
}
diff --git a/common/src/main/java/org/onap/so/serviceinstancebeans/Request.java b/common/src/main/java/org/onap/so/serviceinstancebeans/Request.java
index 8635af5b94..75a6ba8280 100644
--- a/common/src/main/java/org/onap/so/serviceinstancebeans/Request.java
+++ b/common/src/main/java/org/onap/so/serviceinstancebeans/Request.java
@@ -20,6 +20,7 @@
package org.onap.so.serviceinstancebeans;
+import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.builder.ToStringBuilder;
import com.fasterxml.jackson.annotation.JsonInclude;
@@ -34,10 +35,12 @@ public class Request {
protected String finishTime;
protected String requestScope;
protected String requestType;
+ protected String originalRequestId;
protected RequestDetails requestDetails;
protected InstanceReferences instanceReferences;
protected RequestStatus requestStatus;
protected List<RequestProcessingData> requestProcessingData;
+ protected List<CloudRequestData> cloudRequestData = new ArrayList<>();
public String getRequestId() {
@@ -112,12 +115,30 @@ public class Request {
this.requestProcessingData = requestProcessingData;
}
+
+ public List<CloudRequestData> getCloudRequestData() {
+ return cloudRequestData;
+ }
+
+ public void setCloudRequestData(List<CloudRequestData> cloudRequestData) {
+ this.cloudRequestData = cloudRequestData;
+ }
+
+ public String getOriginalRequestId() {
+ return originalRequestId;
+ }
+
+ public void setOriginalRequestId(String originalRequestId) {
+ this.originalRequestId = originalRequestId;
+ }
+
@Override
public String toString() {
return new ToStringBuilder(this).append("requestId", requestId).append("startTime", startTime)
.append("finishTime", finishTime).append("requestScope", requestScope)
.append("requestType", requestType).append("requestDetails", requestDetails)
.append("instanceReferences", instanceReferences).append("requestStatus", requestStatus)
- .append("requestProcessingData", requestProcessingData).toString();
+ .append("requestProcessingData", requestProcessingData).append("cloudRequestData", cloudRequestData)
+ .append("originalRequestId", originalRequestId).toString();
}
}
diff --git a/common/src/main/java/org/onap/so/serviceinstancebeans/RequestParameters.java b/common/src/main/java/org/onap/so/serviceinstancebeans/RequestParameters.java
index 1df2c10411..a72229a25c 100644
--- a/common/src/main/java/org/onap/so/serviceinstancebeans/RequestParameters.java
+++ b/common/src/main/java/org/onap/so/serviceinstancebeans/RequestParameters.java
@@ -20,11 +20,11 @@
package org.onap.so.serviceinstancebeans;
-import java.beans.Transient;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import org.apache.commons.lang3.builder.ToStringBuilder;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -52,9 +52,32 @@ public class RequestParameters implements Serializable {
private Boolean cascadeDelete;
@JsonProperty("testApi")
private String testApi; // usePreload would always be true for Update
+ @JsonProperty("retainAssignments")
+ private Boolean retainAssignments; // usePreload would always be true for Update
@JsonProperty("rebuildVolumeGroups")
private Boolean rebuildVolumeGroups;
+ @JsonProperty("enforceValidNfValues")
+ private Boolean enforceValidNfValues = false;
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this).append("subscriptionServiceType", subscriptionServiceType)
+ .append("userParams", userParams).append("aLaCarte", aLaCarte).append("payload", payload)
+ .append("usePreload", usePreload).append("autoBuildVfModules", autoBuildVfModules)
+ .append("cascadeDelete", cascadeDelete).append("testApi", testApi)
+ .append("retainAssignments", retainAssignments).append("rebuildVolumeGroups", rebuildVolumeGroups)
+ .append("enforceValidNfValues", enforceValidNfValues).toString();
+ }
+
+ public Boolean getEnforceValidNfValues() {
+ return enforceValidNfValues;
+ }
+
+ public void setEnforceValidNfValues(Boolean enforceValidNfValues) {
+ this.enforceValidNfValues = enforceValidNfValues;
+ }
+
public String getSubscriptionServiceType() {
return subscriptionServiceType;
}
@@ -150,11 +173,13 @@ public class RequestParameters implements Serializable {
this.rebuildVolumeGroups = rebuildVolumeGroups;
}
- @Override
- public String toString() {
- return "RequestParameters [subscriptionServiceType=" + subscriptionServiceType + ", userParams=" + userParams
- + ", aLaCarte=" + aLaCarte + ", testApi= " + testApi + ", autoBuildVfModules=" + autoBuildVfModules
- + ", usePreload=" + usePreload + ", rebuildVolumeGroups=" + rebuildVolumeGroups + ", payload=" + payload
- + "]";
+ public Boolean getRetainAssignments() {
+ return retainAssignments;
}
+
+ public void setRetainAssignments(Boolean retainAssignments) {
+ this.retainAssignments = retainAssignments;
+ }
+
+
}
diff --git a/common/src/main/java/org/onap/so/serviceinstancebeans/RequestStatus.java b/common/src/main/java/org/onap/so/serviceinstancebeans/RequestStatus.java
index f659ae241a..3ada984b58 100644
--- a/common/src/main/java/org/onap/so/serviceinstancebeans/RequestStatus.java
+++ b/common/src/main/java/org/onap/so/serviceinstancebeans/RequestStatus.java
@@ -36,6 +36,48 @@ public class RequestStatus {
protected Integer percentProgress;
@JsonProperty("timestamp")
protected String timeStamp;
+ @JsonProperty("extSystemErrorSource")
+ protected String extSystemErrorSource;
+ @JsonProperty("rollbackExtSystemErrorSource")
+ protected String rollbackExtSystemErrorSource;
+ @JsonProperty("flowStatus")
+ protected String flowStatus;
+ @JsonProperty("retryStatusMessage")
+ protected String retryStatusMessage;
+ @JsonProperty("rollbackStatusMessage")
+ protected String rollbackStatusMessage;
+
+ public String getFlowStatus() {
+ return flowStatus;
+ }
+
+ public void setFlowStatus(String flowStatus) {
+ this.flowStatus = flowStatus;
+ }
+
+ public String getRetryStatusMessage() {
+ return retryStatusMessage;
+ }
+
+ public void setRetryStatusMessage(String retryStatusMessage) {
+ this.retryStatusMessage = retryStatusMessage;
+ }
+
+ public String getRollbackStatusMessage() {
+ return rollbackStatusMessage;
+ }
+
+ public void setRollbackStatusMessage(String rollbackStatusMessage) {
+ this.rollbackStatusMessage = rollbackStatusMessage;
+ }
+
+ public String getExtSystemErrorSource() {
+ return extSystemErrorSource;
+ }
+
+ public void setExtSystemErrorSource(String extSystemErrorSource) {
+ this.extSystemErrorSource = extSystemErrorSource;
+ }
public String getRequestState() {
return requestState;
@@ -69,9 +111,21 @@ public class RequestStatus {
this.timeStamp = timeStamp;
}
+ public String getRollbackExtSystemErrorSource() {
+ return rollbackExtSystemErrorSource;
+ }
+
+ public void setRollbackExtSystemErrorSource(String rollbackExtSystemErrorSource) {
+ this.rollbackExtSystemErrorSource = rollbackExtSystemErrorSource;
+ }
+
@Override
public String toString() {
return new ToStringBuilder(this).append("requestState", requestState).append("statusMessage", statusMessage)
- .append("percentProgress", percentProgress).append("timestamp", timeStamp).toString();
+ .append("percentProgress", percentProgress).append("timestamp", timeStamp)
+ .append("extSystemErrorSource", extSystemErrorSource)
+ .append("rollbackExtSystemErrorSource", rollbackExtSystemErrorSource).append("flowStatus", flowStatus)
+ .append("retryStatusMessage", retryStatusMessage).append("rollbackStatusMessage", rollbackStatusMessage)
+ .toString();
}
}
diff --git a/common/src/main/java/org/onap/so/serviceinstancebeans/Resources.java b/common/src/main/java/org/onap/so/serviceinstancebeans/Resources.java
index f239774d57..2123b2f6fc 100644
--- a/common/src/main/java/org/onap/so/serviceinstancebeans/Resources.java
+++ b/common/src/main/java/org/onap/so/serviceinstancebeans/Resources.java
@@ -24,7 +24,6 @@ package org.onap.so.serviceinstancebeans;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty;
diff --git a/common/src/main/java/org/onap/so/utils/CryptoUtils.java b/common/src/main/java/org/onap/so/utils/CryptoUtils.java
index 09b48d266f..640660e97c 100644
--- a/common/src/main/java/org/onap/so/utils/CryptoUtils.java
+++ b/common/src/main/java/org/onap/so/utils/CryptoUtils.java
@@ -23,6 +23,7 @@
package org.onap.so.utils;
+import org.onap.so.logger.LoggingAnchor;
import org.onap.so.logger.ErrorCode;
import org.onap.so.logger.MessageEnum;
import org.slf4j.Logger;
@@ -89,7 +90,7 @@ public final class CryptoUtils {
try {
return CryptoUtils.encrypt(message, CLOUD_KEY);
} catch (GeneralSecurityException e) {
- logger.error("{} {} {}", MessageEnum.RA_GENERAL_EXCEPTION.toString(),
+ logger.error(LoggingAnchor.THREE, MessageEnum.RA_GENERAL_EXCEPTION.toString(),
ErrorCode.BusinessProcesssError.getValue(), "Exception in encryptPassword ", e);
return null;
}
@@ -99,7 +100,7 @@ public final class CryptoUtils {
try {
return CryptoUtils.decrypt(message, CLOUD_KEY);
} catch (GeneralSecurityException e) {
- logger.error("{} {} {}", MessageEnum.RA_GENERAL_EXCEPTION.toString(),
+ logger.error(LoggingAnchor.THREE, MessageEnum.RA_GENERAL_EXCEPTION.toString(),
ErrorCode.BusinessProcesssError.getValue(), "Exception in encryptPassword ", e);
return null;
}
diff --git a/common/src/main/java/org/onap/so/utils/TargetEntities.java b/common/src/main/java/org/onap/so/utils/TargetEntities.java
new file mode 100644
index 0000000000..67016a1fa9
--- /dev/null
+++ b/common/src/main/java/org/onap/so/utils/TargetEntities.java
@@ -0,0 +1,27 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.utils;
+
+import java.io.Serializable;
+
+public interface TargetEntities extends Serializable {
+
+}
diff --git a/common/src/main/java/org/onap/so/utils/TargetEntity.java b/common/src/main/java/org/onap/so/utils/TargetEntity.java
index ea0b70413b..3a3ec91d2f 100644
--- a/common/src/main/java/org/onap/so/utils/TargetEntity.java
+++ b/common/src/main/java/org/onap/so/utils/TargetEntity.java
@@ -22,8 +22,26 @@ package org.onap.so.utils;
import java.util.EnumSet;
-public enum TargetEntity {
- OPENSTACK_ADAPTER, BPMN, GRM, AAI, DMAAP, POLICY, CATALOG_DB, REQUEST_DB, VNF_ADAPTER, SDNC_ADAPTER, SNIRO, SDC, EXTERNAL, MULTICLOUD, OOF;
+public enum TargetEntity implements TargetEntities {
+ OPENSTACK_ADAPTER,
+ BPMN,
+ GRM,
+ AAI,
+ DMAAP,
+ POLICY,
+ CATALOG_DB,
+ REQUEST_DB,
+ VNF_ADAPTER,
+ SDNC_ADAPTER,
+ SNIRO,
+ SDC,
+ EXTERNAL,
+ MULTICLOUD,
+ OOF,
+ SDNC,
+ SO,
+ UNKNOWN,
+ OPENSTACK;
private static final String PREFIX = "SO";
diff --git a/common/src/main/java/org/onap/so/utils/UUIDChecker.java b/common/src/main/java/org/onap/so/utils/UUIDChecker.java
index 585ffcc7c4..30fc92bf49 100644
--- a/common/src/main/java/org/onap/so/utils/UUIDChecker.java
+++ b/common/src/main/java/org/onap/so/utils/UUIDChecker.java
@@ -24,6 +24,7 @@
package org.onap.so.utils;
import java.util.UUID;
+import org.onap.so.logger.LoggingAnchor;
import org.onap.so.logger.MessageEnum;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -51,7 +52,7 @@ public class UUIDChecker {
public static String getUUID() {
String result = UUID.randomUUID().toString();
- logger.info("{} {}", MessageEnum.APIH_GENERATED_REQUEST_ID, result);
+ logger.info(LoggingAnchor.TWO, MessageEnum.APIH_GENERATED_REQUEST_ID, result);
return result;
}
}
diff --git a/common/src/main/java/org/onap/so/utils/XmlMarshaller.java b/common/src/main/java/org/onap/so/utils/XmlMarshaller.java
index 0022ecbb96..0ff3ccfa9c 100644
--- a/common/src/main/java/org/onap/so/utils/XmlMarshaller.java
+++ b/common/src/main/java/org/onap/so/utils/XmlMarshaller.java
@@ -32,6 +32,7 @@ import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.transform.sax.SAXSource;
+import org.onap.so.logger.LoggingAnchor;
import org.onap.so.exceptions.MarshallerException;
import org.onap.so.logger.ErrorCode;
import org.onap.so.logger.MessageEnum;
@@ -52,8 +53,8 @@ public class XmlMarshaller {
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
jaxbMarshaller.marshal(object, stringWriter);
} catch (JAXBException e) {
- logger.error("{} {} {}", MessageEnum.GENERAL_EXCEPTION.toString(), ErrorCode.SchemaError.getValue(),
- e.getMessage(), e);
+ logger.error(LoggingAnchor.THREE, MessageEnum.GENERAL_EXCEPTION.toString(),
+ ErrorCode.SchemaError.getValue(), e.getMessage(), e);
throw new MarshallerException(e.getMessage(), ErrorCode.SchemaError.getValue(), e);
}
@@ -77,8 +78,8 @@ public class XmlMarshaller {
SAXSource source = new SAXSource(xmlReader, inputSource);
object = jaxbUnmarshaller.unmarshal(source, object.getClass()).getValue();
} catch (Exception e) {
- logger.error("{} {} {}", MessageEnum.GENERAL_EXCEPTION.toString(), ErrorCode.SchemaError.getValue(),
- e.getMessage(), e);
+ logger.error(LoggingAnchor.THREE, MessageEnum.GENERAL_EXCEPTION.toString(),
+ ErrorCode.SchemaError.getValue(), e.getMessage(), e);
throw new MarshallerException(e.getMessage(), ErrorCode.SchemaError.getValue(), e);
}
diff --git a/common/src/test/java/org/onap/so/client/RestClientTest.java b/common/src/test/java/org/onap/so/client/RestClientTest.java
index b550079607..745dee23e8 100644
--- a/common/src/test/java/org/onap/so/client/RestClientTest.java
+++ b/common/src/test/java/org/onap/so/client/RestClientTest.java
@@ -22,24 +22,24 @@ package org.onap.so.client;
import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
import java.net.MalformedURLException;
import java.net.SocketTimeoutException;
import javax.ws.rs.NotFoundException;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.UriBuilder;
import javax.ws.rs.core.UriBuilderException;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
-import org.mockito.Mock;
import org.mockito.ArgumentMatchers;
-import org.onap.so.utils.TargetEntity;
+import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
+import org.onap.so.utils.TargetEntity;
@RunWith(MockitoJUnitRunner.class)
public class RestClientTest {
@@ -49,34 +49,34 @@ public class RestClientTest {
@Mock
private RestProperties props;
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
@Test
public void retries() throws Exception {
RestClient spy = buildSpy();
- RestRequest mockCallable = mock(RestRequest.class);
- when(mockCallable.call()).thenThrow(new WebApplicationException(new SocketTimeoutException()));
- doReturn(mockCallable).when(spy).buildRequest(any(String.class), ArgumentMatchers.isNull());
+ doThrow(new WebApplicationException(new SocketTimeoutException())).when(spy).buildRequest(any(String.class),
+ ArgumentMatchers.isNull());
try {
spy.get();
} catch (Exception e) {
- // we expect an exception, ignore it
+ // ignore this exception for this test
}
- verify(mockCallable, times(3)).call();
+ verify(spy, times(3)).buildRequest(any(String.class), ArgumentMatchers.isNull());
}
@Test
public void exceptionDoNotRetry() throws Exception {
RestClient spy = buildSpy();
- RestRequest mockCallable = mock(RestRequest.class);
- when(mockCallable.call()).thenThrow(new WebApplicationException(new NotFoundException()));
- doReturn(mockCallable).when(spy).buildRequest(any(String.class), ArgumentMatchers.isNull());
+ doThrow(new WebApplicationException(new NotFoundException())).when(spy).buildRequest(any(String.class),
+ ArgumentMatchers.isNull());
try {
spy.get();
} catch (Exception e) {
// we expect an exception, ignore it
}
- verify(mockCallable, times(1)).call();
+ verify(spy, times(1)).buildRequest(any(String.class), ArgumentMatchers.isNull());
}
diff --git a/common/src/test/java/org/onap/so/client/aai/AAISingleTransactionClientTest.java b/common/src/test/java/org/onap/so/client/aai/AAISingleTransactionClientTest.java
index 1c49c11382..b07d893adb 100644
--- a/common/src/test/java/org/onap/so/client/aai/AAISingleTransactionClientTest.java
+++ b/common/src/test/java/org/onap/so/client/aai/AAISingleTransactionClientTest.java
@@ -24,6 +24,7 @@ import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.Matchers.greaterThan;
import static org.junit.Assert.assertThat;
import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
@@ -32,12 +33,14 @@ import static org.mockito.Mockito.verify;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
+import java.util.HashMap;
+import java.util.Map;
import java.util.Optional;
+import javax.ws.rs.core.GenericType;
import org.json.JSONException;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mockito.InjectMocks;
import org.mockito.Spy;
import org.mockito.junit.MockitoJUnitRunner;
import org.onap.aai.domain.yang.Pserver;
@@ -46,7 +49,6 @@ import org.onap.so.client.aai.entities.singletransaction.SingleTransactionReques
import org.onap.so.client.aai.entities.singletransaction.SingleTransactionResponse;
import org.onap.so.client.aai.entities.uri.AAIResourceUri;
import org.onap.so.client.aai.entities.uri.AAIUriFactory;
-import org.onap.so.client.defaultproperties.DefaultAAIPropertiesImpl;
import org.onap.so.client.graphinventory.GraphInventoryPatchConverter;
import org.skyscreamer.jsonassert.JSONAssert;
import com.fasterxml.jackson.core.JsonParseException;
@@ -60,11 +62,13 @@ public class AAISingleTransactionClientTest {
private final static String AAI_JSON_FILE_LOCATION = "src/test/resources/__files/aai/singletransaction/";
AAIResourceUri uriA = AAIUriFactory.createResourceUri(AAIObjectType.PSERVER, "pserver-hostname");
AAIResourceUri uriB = AAIUriFactory.createResourceUri(AAIObjectType.COMPLEX, "my-complex");
+ AAIResourceUri uriC = AAIUriFactory.createResourceUri(AAIObjectType.COMPLEX, "my-complex2");
ObjectMapper mapper;
public AAIClient client = new AAIClient();
+ @Spy
public AAIResourcesClient aaiClient = new AAIResourcesClient();
@Before
@@ -82,9 +86,11 @@ public class AAISingleTransactionClientTest {
pserver2.setFqdn("patched-fqdn");
Complex complex = new Complex();
complex.setCity("my-city");
- AAISingleTransactionClient singleTransaction =
- aaiClient.beginSingleTransaction().create(uriA, pserver).update(uriA, pserver2).create(uriB, complex);
-
+ Map<String, Object> map = new HashMap<>();
+ map.put("resource-version", "1234");
+ doReturn(Optional.of(map)).when(aaiClient).get(any(GenericType.class), eq(uriC));
+ AAISingleTransactionClient singleTransaction = aaiClient.beginSingleTransaction().create(uriA, pserver)
+ .update(uriA, pserver2).create(uriB, complex).delete(uriC);
SingleTransactionRequest actual = singleTransaction.getRequest();
diff --git a/common/src/test/java/org/onap/so/client/aai/AAITransactionalClientTest.java b/common/src/test/java/org/onap/so/client/aai/AAITransactionalClientTest.java
index adbdbb419f..305cdf59cc 100644
--- a/common/src/test/java/org/onap/so/client/aai/AAITransactionalClientTest.java
+++ b/common/src/test/java/org/onap/so/client/aai/AAITransactionalClientTest.java
@@ -22,6 +22,7 @@ package org.onap.so.client.aai;
import static org.junit.Assert.assertEquals;
import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
@@ -31,19 +32,19 @@ import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
+import javax.ws.rs.core.GenericType;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mockito.InjectMocks;
import org.mockito.Spy;
import org.mockito.junit.MockitoJUnitRunner;
import org.onap.aai.domain.yang.Relationship;
import org.onap.so.client.aai.entities.uri.AAIResourceUri;
import org.onap.so.client.aai.entities.uri.AAIUriFactory;
-import org.onap.so.client.defaultproperties.DefaultAAIPropertiesImpl;
import org.onap.so.client.graphinventory.GraphInventoryPatchConverter;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.type.TypeReference;
@@ -61,11 +62,13 @@ public class AAITransactionalClientTest {
AAIResourceUri uriD = AAIUriFactory.createResourceUri(AAIObjectType.PSERVER, "test4");
AAIResourceUri uriE = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "test5");
AAIResourceUri uriF = AAIUriFactory.createResourceUri(AAIObjectType.PSERVER, "test6");
+ AAIResourceUri uriG = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, "test7");
ObjectMapper mapper;
public AAIClient client = new AAIClient();
+ @Spy
public AAIResourcesClient aaiClient = new AAIResourcesClient();
@Before
@@ -95,9 +98,12 @@ public class AAITransactionalClientTest {
List<AAIResourceUri> uris = new ArrayList<AAIResourceUri>();
uris.add(uriB);
+ Map<String, Object> map = new HashMap<>();
+ map.put("resource-version", "1234");
+ doReturn(Optional.of(map)).when(aaiClient).get(any(GenericType.class), eq(uriG));
AAIResourceUri uriAClone = uriA.clone();
AAITransactionalClient transactions = aaiClient.beginTransaction().connect(uriA, uris).connect(uriC, uriD)
- .beginNewTransaction().connect(uriE, uriF);
+ .beginNewTransaction().connect(uriE, uriF).beginNewTransaction().delete(uriG);
String serializedTransactions = mapper.writeValueAsString(transactions.getTransactions());
Map<String, Object> actual =
diff --git a/common/src/test/java/org/onap/so/client/aai/AAIValidatorTest.java b/common/src/test/java/org/onap/so/client/aai/AAIValidatorTest.java
index 5fa2ff0295..b91d0e705a 100644
--- a/common/src/test/java/org/onap/so/client/aai/AAIValidatorTest.java
+++ b/common/src/test/java/org/onap/so/client/aai/AAIValidatorTest.java
@@ -91,6 +91,13 @@ public class AAIValidatorTest {
}
@Test
+ public void test_IsPhysicalServerLocked_NoServers_False() throws IOException {
+ when(client.getPhysicalServerByVnfId(vnfName)).thenReturn(null);
+ boolean locked = validator.isPhysicalServerLocked(vnfName);
+ assertEquals(false, locked);
+ }
+
+ @Test
public void test_IsVNFLocked_False() {
when(client.getVnfByName(vnfName)).thenReturn(createGenericVnfs(false));
boolean locked = validator.isVNFLocked(vnfName);
diff --git a/common/src/test/java/org/onap/so/client/aai/DSLQueryBuilderTest.java b/common/src/test/java/org/onap/so/client/aai/DSLQueryBuilderTest.java
index 6e55fe17fa..fb45652d53 100644
--- a/common/src/test/java/org/onap/so/client/aai/DSLQueryBuilderTest.java
+++ b/common/src/test/java/org/onap/so/client/aai/DSLQueryBuilderTest.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.onap.so.client.graphinventory.entities.DSLNode;
+import org.onap.so.client.graphinventory.entities.DSLNodeKey;
import org.onap.so.client.graphinventory.entities.DSLQueryBuilder;
import org.onap.so.client.graphinventory.entities.__;
@@ -108,4 +109,40 @@ public class DSLQueryBuilderTest {
builder.equals("pserver*('hostname', 'my-hostname') > p-interface > sriov-pf('pf-pci-id', 'my-id')"));
assertTrue(builder.equals(builder));
}
+
+
+ @Test
+ public void mixedTypeTest() {
+ DSLQueryBuilder<DSLNode, DSLNode> builder = new DSLQueryBuilder<>(new DSLNode(AAIObjectType.CLOUD_REGION,
+ __.key("cloud-owner", "owner"), __.key("cloud-region-id", "id")));
+ builder.to(__.node(AAIObjectType.VLAN_TAG, __.key("vlan-id-outer", 167), __.key("my-boolean", true)).output());
+ assertTrue(builder.equals(
+ "cloud-region('cloud-owner', 'owner')('cloud-region-id', 'id') > vlan-tag*('vlan-id-outer', 167)('my-boolean', true)"));
+ }
+
+ @Test
+ public void outputOnNodeLambdasTest() {
+ DSLQueryBuilder<DSLNode, DSLNode> builder =
+ new DSLQueryBuilder<>(new DSLNode(AAIObjectType.L_INTERFACE, new DSLNodeKey("interface-id", "myId")));
+
+ builder.to(AAIObjectType.VSERVER, __.key("vserver-name", "myName")).output().to(AAIObjectType.P_INTERFACE)
+ .output();
+ assertEquals("l-interface('interface-id', 'myId') > vserver*('vserver-name', 'myName') > p-interface*",
+ builder.build());
+ }
+
+ @Test
+ public void skipOutputOnUnionTest() {
+ DSLQueryBuilder<DSLNode, DSLNode> builder =
+ new DSLQueryBuilder<>(new DSLNode(AAIObjectType.GENERIC_VNF, __.key("vnf-id", "vnfId")).output());
+
+ builder.union(__.node(AAIObjectType.PSERVER).output().to(__.node(AAIObjectType.COMPLEX).output()),
+ __.node(AAIObjectType.VSERVER)
+ .to(__.node(AAIObjectType.PSERVER).output().to(__.node(AAIObjectType.COMPLEX).output())))
+ .output();
+
+ assertEquals(
+ "generic-vnf*('vnf-id', 'vnfId') > " + "[ pserver* > complex*, " + "vserver > pserver* > complex* ]",
+ builder.build());
+ }
}
diff --git a/common/src/test/java/org/onap/so/client/dmaap/DmaapPublisherTest.java b/common/src/test/java/org/onap/so/client/dmaap/DmaapPublisherTest.java
deleted file mode 100644
index 4bfac38151..0000000000
--- a/common/src/test/java/org/onap/so/client/dmaap/DmaapPublisherTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2018 Huawei Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-package org.onap.so.client.dmaap;
-
-import org.junit.Test;
-import javax.ws.rs.ProcessingException;
-import java.io.IOException;
-import java.util.Optional;
-
-public class DmaapPublisherTest {
-
- DmaapPublisher dmaapPublisher = new DmaapPublisher(120) {
- @Override
- public String getAuth() {
- return "8F73A1691F6271E769329C176EE3EA48F52786AF12A3E16259007EED2A0F0CC3CB965F4AB5318483015723CCE1C0B48AB6C4DED6E251869393B01E4EC532FC88D4A128B92F4CDB34719B171923";
- }
-
- @Override
- public String getKey() {
- return "07a7159d3bf51a0e53be7a8f89699be7";
- }
-
- @Override
- public String getTopic() {
- return "test";
- }
-
- @Override
- public Optional<String> getHost() {
- return Optional.of("http://test");
- }
- };
-
- public DmaapPublisherTest() throws IOException {}
-
- @Test(expected = ProcessingException.class)
- public void sendTest() throws Exception {
- dmaapPublisher.send("{'key': 'value'}");
- }
-
-}
diff --git a/common/src/test/java/org/onap/so/db/connections/DbDnsIpAddressTest.java b/common/src/test/java/org/onap/so/db/connections/DbDnsIpAddressTest.java
new file mode 100644
index 0000000000..0dc35a054c
--- /dev/null
+++ b/common/src/test/java/org/onap/so/db/connections/DbDnsIpAddressTest.java
@@ -0,0 +1,19 @@
+package org.onap.so.db.connections;
+
+import static org.junit.Assert.assertEquals;
+import org.junit.Test;
+
+public class DbDnsIpAddressTest {
+
+ @Test
+ public void test() {
+ final String expectedIpAddress = "10.0.75.1";
+
+ DbDnsIpAddress dbDnsIpAddress = new DbDnsIpAddress();
+ dbDnsIpAddress.setIpAddress(expectedIpAddress);
+
+ assertEquals(expectedIpAddress, dbDnsIpAddress.getIpAddress());
+
+ }
+
+}
diff --git a/common/src/test/java/org/onap/so/serviceinstancebeans/ModelTypeTest.java b/common/src/test/java/org/onap/so/serviceinstancebeans/ModelTypeTest.java
new file mode 100644
index 0000000000..fd1977225f
--- /dev/null
+++ b/common/src/test/java/org/onap/so/serviceinstancebeans/ModelTypeTest.java
@@ -0,0 +1,58 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.serviceinstancebeans;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import org.junit.Test;
+
+public class ModelTypeTest {
+
+
+
+ @Test
+ public void reflectionTest() {
+ TestServiceInstanceBean a = new TestServiceInstanceBean();
+ TestServiceInstanceBean b = new TestServiceInstanceBean();
+
+ a.setServiceInstanceId("my-id-a");
+ a.setServiceInstanceName("my-name-a");
+
+ b.setServiceInstanceId("my-id-b");
+ b.setServiceInstanceName("my-name-b");
+
+ assertEquals("my-id-a", ModelType.service.getId(a));
+ assertEquals("my-name-a", ModelType.service.getName(a));
+ ModelType.service.setName(a, ModelType.service.getName(b));
+ ModelType.service.setId(a, ModelType.service.getId(b));
+ assertEquals("my-name-b", ModelType.service.getName(a));
+ assertEquals("my-id-b", ModelType.service.getId(a));
+ }
+
+ @Test
+ public void testSilentFail() {
+ TestServiceInstanceBean a = new TestServiceInstanceBean();
+
+ a.setServiceInstanceId("my-id-a");
+ a.setServiceInstanceName("my-name-a");
+ assertNull(ModelType.service.get(a, "NoField"));
+ }
+}
diff --git a/common/src/test/java/org/onap/so/serviceinstancebeans/TestServiceInstanceBean.java b/common/src/test/java/org/onap/so/serviceinstancebeans/TestServiceInstanceBean.java
new file mode 100644
index 0000000000..a14f3bace4
--- /dev/null
+++ b/common/src/test/java/org/onap/so/serviceinstancebeans/TestServiceInstanceBean.java
@@ -0,0 +1,44 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.serviceinstancebeans;
+
+public class TestServiceInstanceBean {
+
+ private String serviceInstanceId;
+ private String serviceInstanceName;
+
+ public String getServiceInstanceId() {
+ return serviceInstanceId;
+ }
+
+ public void setServiceInstanceId(String serviceInstanceId) {
+ this.serviceInstanceId = serviceInstanceId;
+ }
+
+ public String getServiceInstanceName() {
+ return serviceInstanceName;
+ }
+
+ public void setServiceInstanceName(String serviceInstanceName) {
+ this.serviceInstanceName = serviceInstanceName;
+ }
+
+}
diff --git a/common/src/test/resources/__files/aai/bulkprocess/test-request.json b/common/src/test/resources/__files/aai/bulkprocess/test-request.json
index f5ffe38285..5a2953c632 100644
--- a/common/src/test/resources/__files/aai/bulkprocess/test-request.json
+++ b/common/src/test/resources/__files/aai/bulkprocess/test-request.json
@@ -18,5 +18,9 @@
"related-link" : "/cloud-infrastructure/pservers/pserver/test6"
}
} ]
- } ]
+ }, {
+ "delete" : [ {
+ "uri" : "/network/generic-vnfs/generic-vnf/test7?resource-version=1234"
+ } ]
+ }]
} \ No newline at end of file
diff --git a/common/src/test/resources/__files/aai/singletransaction/sample-request.json b/common/src/test/resources/__files/aai/singletransaction/sample-request.json
index f0761a07b6..69024dca83 100644
--- a/common/src/test/resources/__files/aai/singletransaction/sample-request.json
+++ b/common/src/test/resources/__files/aai/singletransaction/sample-request.json
@@ -21,6 +21,12 @@
"body": {
"city": "my-city"
}
+ },
+ {
+ "action": "delete",
+ "uri": "/cloud-infrastructure/complexes/complex/my-complex2?resource-version=1234",
+ "body" : {
+ }
}
]
} \ No newline at end of file