diff options
author | sangeeta.bellara <sangeeta.bellara@t-systems.com> | 2023-03-09 22:13:03 +0530 |
---|---|---|
committer | Sangeeta Bellara <sangeeta.bellara@t-systems.com> | 2023-03-28 06:26:20 +0000 |
commit | e1e4154a3914f0878e26ea2e1683ebdfe507f5a9 (patch) | |
tree | 6dc21739b666f486daab905de63f2ca5e1aa72d9 /prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiQueryTaskImpl.java | |
parent | fb93a46a63c859434cecdbd07c0e08531c366855 (diff) |
PRH Code Additions for Early PNF registrations1.9.0
Issue-ID: DCAEGEN2-3312
Change-Id: Id9b1ca83390af3675e26fc61ccc8d12611ab8ddf
Signed-off-by: sangeeta.bellara <sangeeta.bellara@t-systems.com>
Signed-off-by: sangeeta.bellara <sangeeta.bellara@t-systems.com>
Change-Id: I9bc25bc1343c40aca5644de3fd30f7c2142c1a47
Signed-off-by: sangeeta.bellara <sangeeta.bellara@t-systems.com>
Diffstat (limited to 'prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiQueryTaskImpl.java')
-rw-r--r-- | prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiQueryTaskImpl.java | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiQueryTaskImpl.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiQueryTaskImpl.java index 3db4887a..4a7eef58 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiQueryTaskImpl.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiQueryTaskImpl.java @@ -3,10 +3,10 @@ * PNF-REGISTRATION-HANDLER * ================================================================================ * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. + * Copyright (C) 2023 Deutsche Telekom 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 * @@ -35,6 +35,8 @@ import org.onap.dcaegen2.services.prh.model.RelationshipDict; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import reactor.core.publisher.Mono; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; @Component public class AaiQueryTaskImpl implements AaiQueryTask { @@ -44,6 +46,7 @@ public class AaiQueryTaskImpl implements AaiQueryTask { static final String SERVICE_TYPE = "service-subscription.service-type"; static final String SERVICE_INSTANCE_ID = "service-instance.service-instance-id"; + private static final Logger LOGGER = LoggerFactory.getLogger(AaiQueryTaskImpl.class); private final AaiHttpClient<ConsumerDmaapModel, AaiPnfResultModel> getPnfModelClient; private final AaiHttpClient<AaiServiceInstanceQueryModel, AaiServiceInstanceResultModel> getServiceClient; @@ -55,8 +58,11 @@ public class AaiQueryTaskImpl implements AaiQueryTask { this.getServiceClient = getServiceClient; } + + @Override public Mono<Boolean> execute(ConsumerDmaapModel aaiModel) { + return getPnfModelClient .getAaiResponse(aaiModel) .flatMap(this::checkIfPnfHasRelationToService) @@ -65,7 +71,22 @@ public class AaiQueryTaskImpl implements AaiQueryTask { .defaultIfEmpty(false); } + + // Added by DTAG, March 2023 + @Override + public Mono<ConsumerDmaapModel> findPnfinAAI(final ConsumerDmaapModel model) { + + return getPnfModelClient + .getAaiResponse(model) + .flatMap(aaiModel -> Mono.just(model)); + + + } + + + private Mono<AaiServiceInstanceQueryModel> checkIfPnfHasRelationToService(final AaiPnfResultModel model) { + return Mono .justOrEmpty(model.getRelationshipList()) .map(this::findRelatedTo) @@ -88,10 +109,12 @@ public class AaiQueryTaskImpl implements AaiQueryTask { } private Boolean checkIfRelatedServiceInstanceIsActive(final AaiServiceInstanceResultModel model) { + return ACTIVE_STATUS.equalsIgnoreCase(model.getOrchestrationStatus()); } private Optional<RelationshipDict> findRelatedTo(final Relationship data) { + return Optional.ofNullable(data.getRelationship()) .map(Stream::of) .orElseGet(Stream::empty) @@ -101,10 +124,12 @@ public class AaiQueryTaskImpl implements AaiQueryTask { } private Optional<String> findValue(final List<RelationshipData> data, final String key) { + return data .stream() .filter(y -> key.equals(y.getRelationshipKey())) .findFirst() .map(RelationshipData::getRelationshipValue); } + } |