summaryrefslogtreecommitdiffstats
path: root/mso-api-handlers/mso-requests-db/src/main
diff options
context:
space:
mode:
authorBenjamin, Max (mb388a) <mb388a@us.att.com>2018-09-04 11:21:02 -0400
committerBenjamin, Max (mb388a) <mb388a@us.att.com>2018-09-08 22:33:28 -0400
commit69455a268648881f4b5a0c4547d769c2e6ecc2c1 (patch)
tree8ea753e5282e91316d842522c8873fd51572344c /mso-api-handlers/mso-requests-db/src/main
parent3e9ee0977d0c8643f81e720bbf23e5a40864a0d8 (diff)
added generic fabric support to SO
Fix Autoincrement of ID field in table Fix accidental removal of method Update usage of requestdb client removed unused imports in common tasks and test Fix broken branch, have unit tests pass references the Epic branch Fix broken branch from compiling committing classpath for vfc adapter cause its not going away added in the fail case for when there are no profiles removed second set of adapters in application test yml removed double adapters in request db application test added jpa repo dependency to the so bpmn folder pom add creation timestamp column to the table added in null checks for Config returned from policy switched to string in requestprocess with jenerate switched to string in requestprocess with jenerate updated aai version in common pom to 605 from 591 renamed the db scripts for flyway sync to register added endpoint to application test yml for failing test ... Change-Id: I800f837ea75d7cdff740dc3a387e4d7654cfd085 Issue-ID: SO-972 Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
Diffstat (limited to 'mso-api-handlers/mso-requests-db/src/main')
-rw-r--r--mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/InfraRequests.java2
-rw-r--r--mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/RequestProcessingData.java167
-rw-r--r--mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/client/RequestsDbClient.java (renamed from mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/requestsdb/client/RequestsDbClient.java)170
-rw-r--r--mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/data/repository/RequestProcessingDataRepository.java37
-rw-r--r--mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/requestsdb/RequestsDBHelper.java4
-rw-r--r--mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/requestsdb/TimestampXMLAdapter.java (renamed from mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/requestsdb/adapter/TimestampXMLAdapter.java)2
6 files changed, 341 insertions, 41 deletions
diff --git a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/InfraRequests.java b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/InfraRequests.java
index 0833064f8a..4a46a0d00d 100644
--- a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/InfraRequests.java
+++ b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/InfraRequests.java
@@ -35,7 +35,7 @@ import javax.persistence.TemporalType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.onap.so.requestsdb.adapter.TimestampXMLAdapter;
+import org.onap.so.requestsdb.TimestampXMLAdapter;
import uk.co.blackpepper.bowman.annotation.ResourceId;
diff --git a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/RequestProcessingData.java b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/RequestProcessingData.java
new file mode 100644
index 0000000000..34832b9917
--- /dev/null
+++ b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/RequestProcessingData.java
@@ -0,0 +1,167 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. 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.db.request.beans;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.PrePersist;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+
+import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+import com.openpojo.business.annotation.BusinessKey;
+
+/**
+ * persist the request identifiers created when MSO POSTs a request to PINC
+ * <br>
+ * <p>
+ * </p>
+ *
+ * @author
+ * @version
+ */
+
+@Entity
+@Table(name = "request_processing_data")
+public class RequestProcessingData implements Serializable{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -3497593687393936143L;
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "ID")
+ private Integer id;
+
+ @BusinessKey
+ @Column(name = "SO_REQUEST_ID", length=50, unique=true)
+ private String soRequestId;
+
+ @BusinessKey
+ @Column(name = "GROUPING_ID", length=100, unique=true)
+ private String groupingId;
+
+ @BusinessKey
+ @Column(name = "NAME", length=200)
+ private String name;
+
+ @Column(name = "VALUE", columnDefinition = "LONGTEXT")
+ private String value;
+
+ @BusinessKey
+ @Column(name = "TAG", length=200)
+ private String tag;
+
+ @Column(name = "CREATE_TIME", insertable = false, updatable = false)
+ @Temporal(TemporalType.TIMESTAMP)
+ private Date created = null;
+
+ @Override
+ public boolean equals(final Object other) {
+ if (!(other instanceof RequestProcessingData)) {
+ return false;
+ }
+ RequestProcessingData castOther = (RequestProcessingData) other;
+ return new EqualsBuilder().append(soRequestId, castOther.soRequestId).append(groupingId, castOther.groupingId)
+ .append(name, castOther.name).append(tag, castOther.tag).isEquals();
+ }
+
+ @Override
+ public int hashCode() {
+ return new HashCodeBuilder().append(soRequestId).append(groupingId).append(name).append(tag).toHashCode();
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this).append("id", id).append("soRequestId", soRequestId)
+ .append("groupingId", groupingId).append("name", name).append("value", value).append("tag", tag)
+ .toString();
+ }
+
+ @PrePersist
+ protected void createdAt() {
+ this.created = new Date();
+ }
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public String getSoRequestId() {
+ return soRequestId;
+ }
+
+ public void setSoRequestId(String soRequestId) {
+ this.soRequestId = soRequestId;
+ }
+
+ public String getGroupingId() {
+ return groupingId;
+ }
+
+ public void setGroupingId(String groupingId) {
+ this.groupingId = groupingId;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ public String getTag() {
+ return tag;
+ }
+
+ public void setTag(String tag) {
+ this.tag = tag;
+ }
+
+ public Date getCreated() {
+ return created;
+ }
+} \ No newline at end of file
diff --git a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/requestsdb/client/RequestsDbClient.java b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/client/RequestsDbClient.java
index 8e291aa15b..54fec3ad4d 100644
--- a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/requestsdb/client/RequestsDbClient.java
+++ b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/client/RequestsDbClient.java
@@ -18,60 +18,77 @@
* ============LICENSE_END=========================================================
*/
-package org.onap.so.requestsdb.client;
+package org.onap.so.db.request.client;
+
+import java.io.IOException;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.PostConstruct;
+import javax.ws.rs.core.UriBuilder;
import org.apache.http.HttpStatus;
+import org.onap.so.db.request.beans.ArchivedInfraRequests;
import org.onap.so.db.request.beans.InfraActiveRequests;
-import org.onap.so.db.request.beans.OperationalEnvDistributionStatus;
import org.onap.so.db.request.beans.OperationStatus;
+import org.onap.so.db.request.beans.OperationalEnvDistributionStatus;
import org.onap.so.db.request.beans.OperationalEnvServiceModelStatus;
-import org.onap.so.db.request.beans.WatchdogServiceModVerIdLookup;
-import org.onap.so.db.request.beans.ArchivedInfraRequests;
+import org.onap.so.db.request.beans.RequestProcessingData;
import org.onap.so.db.request.beans.ResourceOperationStatus;
+import org.onap.so.db.request.beans.SiteStatus;
import org.onap.so.db.request.beans.WatchdogComponentDistributionStatus;
import org.onap.so.db.request.beans.WatchdogDistributionStatus;
-import org.onap.so.db.request.beans.SiteStatus;
+import org.onap.so.db.request.beans.WatchdogServiceModVerIdLookup;
import org.onap.so.db.request.data.controller.InstanceNameDuplicateCheckRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Primary;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpRequest;
+import org.springframework.http.client.ClientHttpRequestExecution;
+import org.springframework.http.client.ClientHttpRequestInterceptor;
+import org.springframework.http.client.ClientHttpResponse;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.client.RestTemplate;
+
import uk.co.blackpepper.bowman.Client;
import uk.co.blackpepper.bowman.ClientFactory;
import uk.co.blackpepper.bowman.Configuration;
+import uk.co.blackpepper.bowman.RestTemplateConfigurer;
-import javax.annotation.PostConstruct;
-import javax.ws.rs.core.UriBuilder;
-import java.net.URI;
-import java.util.List;
-import java.util.Map;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-
-@Component
+@Component("RequestsDbClient")
+@Primary
public class RequestsDbClient {
private static final String SERVICE_ID = "SERVICE_ID";
private static final String OPERATION_ID = "OPERATION_ID";
+ private static final String SO_REQUEST_ID = "SO_REQUEST_ID";
+ private static final String GROUPING_ID = "GROUPING_ID";
+ private static final String REQUEST_ID = "REQUEST_ID";
private static final String OPERATIONAL_ENVIRONMENT_ID = "OPERATIONAL_ENVIRONMENT_ID";
private static final String SERVICE_MODEL_VERSION_ID = "SERVICE_MODEL_VERSION_ID";
- private static final String REQUEST_ID = "REQUEST_ID";
-
- private final Client<InfraActiveRequests> infraActiveRequestClient;
- private final Client<OperationStatus> operationStatusClient;
+ private static final String NAME = "NAME";
+ private static final String VALUE = "VALUE";
+ private static final String TAG = "TAG";
+
+ private Client<InfraActiveRequests> infraActiveRequestClient;
+ private Client<OperationStatus> operationStatusClient;
+ private Client<RequestProcessingData> requestProcessingDataClient;
private final Client<OperationalEnvDistributionStatus> distributionStatusClient;
private final Client<OperationalEnvServiceModelStatus> serviceModelStatusClient;
@Value("${mso.adapters.requestDb.endpoint}")
- private String endpoint;
+ protected String endpoint;
@Value("${mso.adapters.requestDb.auth}")
private String msoAdaptersAuth;
@@ -80,29 +97,38 @@ public class RequestsDbClient {
private static final String OPERATION_STATUS_SEARCH = "/operationStatus/search";
private static final String OPERATIONAL_ENV_SERVICE_MODEL_STATUS_SEARCH = "/operationalEnvServiceModelStatus/search";
+
private String checkVnfIdStatus = "/infraActiveRequests/checkVnfIdStatus/";
private String infraActiveRequestURI = "/infraActiveRequests/";
private String checkInstanceNameDuplicate = "/infraActiveRequests/checkInstanceNameDuplicate";
+ private String operationalEnvDistributionStatusURI = "/operationalEnvDistributionStatus/";
+
private String findOneByServiceIdAndOperationIdURI = "/findOneByServiceIdAndOperationId";
- private String operationalEnvDistributionStatusURI = "/operationalEnvDistributionStatus/";
-
- private String cloudOrchestrationFiltersFromInfraActive = "/infraActiveRequests/getCloudOrchestrationFiltersFromInfraActive";
-
private String findOneByOperationalEnvIdAndServiceModelVersionIdURI = "/findOneByOperationalEnvIdAndServiceModelVersionId";
private String findAllByOperationalEnvIdAndRequestIdURI = "/findAllByOperationalEnvIdAndRequestId";
- private HttpHeaders headers;
+ private String cloudOrchestrationFiltersFromInfraActive = "/infraActiveRequests/getCloudOrchestrationFiltersFromInfraActive";
+
+ private String requestProcessingDataURI = "/requestProcessingData";
+
+ private String findOneBySoRequestIdAndGroupingIdAndNameAndTagURI = "/requestProcessingData/search/findOneBySoRequestIdAndGroupingIdAndNameAndTag/";
+
+ private String findBySoRequestIdOrderByGroupingIdDesc = "/requestProcessingData/search/findBySoRequestIdOrderByGroupingIdDesc/";
+ protected HttpHeaders headers;
+
+ protected ClientFactory clientFactory;
+
@Autowired
- private RestTemplate restTemplate;
+ protected RestTemplate restTemplate;
+
@Autowired
ClassURLMapper classURLMapper;
-
@PostConstruct
public void init() {
@@ -112,6 +138,7 @@ public class RequestsDbClient {
checkInstanceNameDuplicate = endpoint + checkInstanceNameDuplicate;
cloudOrchestrationFiltersFromInfraActive = endpoint + cloudOrchestrationFiltersFromInfraActive;
findOneByServiceIdAndOperationIdURI = endpoint + OPERATION_STATUS_SEARCH + findOneByServiceIdAndOperationIdURI;
+ requestProcessingDataURI = endpoint + requestProcessingDataURI;
operationalEnvDistributionStatusURI = endpoint + operationalEnvDistributionStatusURI;
findOneByOperationalEnvIdAndServiceModelVersionIdURI = endpoint + OPERATIONAL_ENV_SERVICE_MODEL_STATUS_SEARCH + findOneByOperationalEnvIdAndServiceModelVersionIdURI;
findAllByOperationalEnvIdAndRequestIdURI = endpoint + OPERATIONAL_ENV_SERVICE_MODEL_STATUS_SEARCH + findAllByOperationalEnvIdAndRequestIdURI;
@@ -120,15 +147,28 @@ public class RequestsDbClient {
}
public RequestsDbClient() {
- ClientFactory clientFactory = Configuration.builder().setRestTemplateConfigurer(restTemplate -> restTemplate.getInterceptors().add((request, body, execution) -> {
- request.getHeaders().add("Authorization", msoAdaptersAuth);
- return execution.execute(request, body);
- })).build().buildClientFactory();
+ ClientFactory clientFactory = Configuration.builder().setRestTemplateConfigurer(new RestTemplateConfigurer() {
+
+ public void configure(RestTemplate restTemplate) {
+
+ restTemplate.getInterceptors().add(new ClientHttpRequestInterceptor() {
+
+ public ClientHttpResponse intercept(HttpRequest request, byte[] body,
+ ClientHttpRequestExecution execution) throws IOException {
+
+ request.getHeaders().add("Authorization", msoAdaptersAuth);
+ return execution.execute(request, body);
+ }
+ });
+ }
+ }).build().buildClientFactory();
infraActiveRequestClient = clientFactory.create(InfraActiveRequests.class);
operationStatusClient = clientFactory.create(OperationStatus.class);
+ requestProcessingDataClient = clientFactory.create(RequestProcessingData.class);
distributionStatusClient = clientFactory.create(OperationalEnvDistributionStatus.class);
serviceModelStatusClient = clientFactory.create(OperationalEnvServiceModelStatus.class);
}
+
public List<InfraActiveRequests> getCloudOrchestrationFiltersFromInfraActive(Map<String, String> orchestrationMap){
URI uri = getUri(cloudOrchestrationFiltersFromInfraActive);
HttpEntity<Map> entity = new HttpEntity<>(orchestrationMap, headers);
@@ -175,7 +215,7 @@ public class RequestsDbClient {
.queryParam(OPERATION_ID,operationId)
.build());
}
-
+
public OperationalEnvServiceModelStatus findOneByOperationalEnvIdAndServiceModelVersionId(String operationalEnvironmentId, String serviceModelVersionId) {
return this.getSingleOperationalEnvServiceModelStatus(UriBuilder.fromUri(findOneByOperationalEnvIdAndServiceModelVersionIdURI)
.queryParam(OPERATIONAL_ENVIRONMENT_ID,operationalEnvironmentId)
@@ -211,7 +251,7 @@ public class RequestsDbClient {
HttpEntity<InfraActiveRequests> entity = new HttpEntity<>(infraActiveRequests, headers);
restTemplate.postForLocation(uri, entity);
}
-
+
public <T> void save(T object){
URI uri = getUri(endpoint+classURLMapper.getURI(object.getClass()));
HttpEntity<T> entity = new HttpEntity<>(object, headers);
@@ -221,8 +261,8 @@ public class RequestsDbClient {
private OperationalEnvDistributionStatus getSingleOperationalEnvDistributionStatus(URI uri){
return distributionStatusClient.get(uri);
}
-
- private InfraActiveRequests getSingleInfraActiveRequests(URI uri) {
+
+ protected InfraActiveRequests getSingleInfraActiveRequests(URI uri) {
return infraActiveRequestClient.get(uri);
}
@@ -230,12 +270,56 @@ public class RequestsDbClient {
infraActiveRequestClient.put(request);
}
- private OperationStatus getSingleOperationStatus(URI uri){
+ protected URI getUri(String uri) {
+ return URI.create(uri);
+ }
+
+
+
+ public OperationStatus getSingleOperationStatus(URI uri){
return operationStatusClient.get(uri);
}
- private URI getUri(String uri) {
- return URI.create(uri);
+ public void saveRequestProcessingData(RequestProcessingData requestProcessingData) {
+ URI uri = getUri(endpoint + requestProcessingDataURI);
+ HttpEntity<RequestProcessingData> entity = new HttpEntity<>(requestProcessingData, headers);
+ restTemplate.postForLocation(uri, entity);
+ }
+
+ public RequestProcessingData getRequestProcessingDataBySoRequestIdAndGroupingIdAndNameAndTag(String soRequestId,
+ String groupingId, String name, String tag) {
+ return this.getSingleRequestProcessingData(UriBuilder.fromUri(endpoint + findOneBySoRequestIdAndGroupingIdAndNameAndTagURI)
+ .queryParam(SO_REQUEST_ID,soRequestId)
+ .queryParam(GROUPING_ID,groupingId)
+ .queryParam(NAME,name)
+ .queryParam(TAG,tag)
+ .build());
+ }
+ public List<RequestProcessingData> getRequestProcessingDataBySoRequestId(String soRequestId) {
+ return this.getRequestProcessingData(UriBuilder.fromUri(endpoint + findBySoRequestIdOrderByGroupingIdDesc)
+ .queryParam(SO_REQUEST_ID,soRequestId)
+ .build());
+ }
+
+ public RequestProcessingData getSingleRequestProcessingData(URI uri){
+ return requestProcessingDataClient.get(uri);
+ }
+
+ private List<RequestProcessingData> getRequestProcessingData(URI uri) {
+ Iterable<RequestProcessingData> requestProcessingDataIterator = requestProcessingDataClient.getAll(uri);
+ List<RequestProcessingData> requestProcessingDataList = new ArrayList<>();
+ Iterator<RequestProcessingData> it = requestProcessingDataIterator.iterator();
+ it.forEachRemaining(requestProcessingDataList::add);
+ return requestProcessingDataList;
+ }
+
+ public List<RequestProcessingData> getAllRequestProcessingData() {
+
+ return (List<RequestProcessingData>) this.getAllRequestProcessingData(UriBuilder.fromUri(endpoint + "/requestProcessingData").build());
+ }
+
+ private Iterable<RequestProcessingData> getAllRequestProcessingData(URI uri) {
+ return requestProcessingDataClient.getAll(uri);
}
@Bean
@@ -269,4 +353,14 @@ public class RequestsDbClient {
return classURLMap.get(actualClass);
}
}
+
+ //USED FOR TEST ONLY
+ public void setPortToEndpoint(String port) {
+ endpoint = endpoint + port;
+ }
+
+ //USED FOR TEST ONLY
+ public void removePortFromEndpoint() {
+ endpoint = endpoint.substring(0, endpoint.lastIndexOf(':') + 1);
+ }
}
diff --git a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/data/repository/RequestProcessingDataRepository.java b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/data/repository/RequestProcessingDataRepository.java
new file mode 100644
index 0000000000..f80be0525c
--- /dev/null
+++ b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/data/repository/RequestProcessingDataRepository.java
@@ -0,0 +1,37 @@
+/*-
+ * ============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.db.request.data.repository;
+
+import java.util.List;
+
+import org.onap.so.db.request.beans.RequestProcessingData;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.repository.query.Param;
+import org.springframework.data.rest.core.annotation.RepositoryRestResource;
+
+@RepositoryRestResource(collectionResourceRel = "requestProcessingData", path = "requestProcessingData")
+public interface RequestProcessingDataRepository extends JpaRepository<RequestProcessingData, Integer> {
+ RequestProcessingData findOneBySoRequestIdAndGroupingIdAndNameAndTag(
+ @Param("SO_REQUEST_ID") String soRequestId, @Param("GROUPING_ID") String groupingId,
+ @Param("NAME") String name, @Param("TAG") String tag);
+
+ List<RequestProcessingData> findBySoRequestIdOrderByGroupingIdDesc(@Param("SO_REQUEST_ID") String soRequestId);
+}
diff --git a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/requestsdb/RequestsDBHelper.java b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/requestsdb/RequestsDBHelper.java
index 562e54ca6e..ea3ef30827 100644
--- a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/requestsdb/RequestsDBHelper.java
+++ b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/requestsdb/RequestsDBHelper.java
@@ -24,8 +24,9 @@ import java.sql.Timestamp;
import org.onap.so.db.request.beans.InfraActiveRequests;
import org.onap.so.logger.MsoLogger;
-import org.onap.so.requestsdb.client.RequestsDbClient;
+import org.onap.so.db.request.client.RequestsDbClient;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
@Component
@@ -37,6 +38,7 @@ public class RequestsDBHelper {
private String methodName = "";
private String classMethodMessage = "";
@Autowired
+ @Qualifier("RequestsDbClient")
private RequestsDbClient requestsDbClient;
/**
* This util method is to update the InfraRequest table to Complete
diff --git a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/requestsdb/adapter/TimestampXMLAdapter.java b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/requestsdb/TimestampXMLAdapter.java
index 1cde1aac51..3a326598a7 100644
--- a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/requestsdb/adapter/TimestampXMLAdapter.java
+++ b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/requestsdb/TimestampXMLAdapter.java
@@ -18,7 +18,7 @@
* ============LICENSE_END=========================================================
*/
-package org.onap.so.requestsdb.adapter;
+package org.onap.so.requestsdb;
import java.sql.Timestamp;