diff options
author | lukegleeson <luke.gleeson@est.tech> | 2022-10-20 10:14:00 +0100 |
---|---|---|
committer | lukegleeson <luke.gleeson@est.tech> | 2022-11-15 17:18:39 +0000 |
commit | 20e7a733d8a3657fd9932eaf8144f47777965533 (patch) | |
tree | 0776eaf8cb4de6689bdeae4ea7a1f688b29d56c8 /cps-ncmp-service/src/main | |
parent | b99f0f00cb964af7b88a85c09bbb11f6c0b1f04d (diff) |
Query data NCMP-Operational with CPSpath
New GET Endpoint: /v1/ch/{cm-handle}/data/ds/{ncmp-datastore-name}/query?cps-path={CPSPath}
Implemented error for {ncmp-datastore-name} other than operational
- (Toine) Refactored and renamed (abstract) handler for better re-use
Mainly by introducing a separate handler for OperationalQuery
Reviewers Toine, Sourabh, Priyank
Issue-ID: CPS-1002
Signed-off-by: lukegleeson <luke.gleeson@est.tech>
Change-Id: Iaca018869d95d4ce800072431baa190050a6dad0
Diffstat (limited to 'cps-ncmp-service/src/main')
2 files changed, 87 insertions, 0 deletions
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyQueryService.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyQueryService.java new file mode 100644 index 0000000000..340806b892 --- /dev/null +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/NetworkCmProxyQueryService.java @@ -0,0 +1,41 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2022 Nordix Foundation + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.cps.ncmp.api; + +import org.onap.cps.spi.FetchDescendantsOption; + +/* + * Datastore interface for handling cached CPS data query requests. + */ +public interface NetworkCmProxyQueryService { + + /** + * Get resource data for operational. + * + * @param cmHandleId cm handle identifier + * @param cpsPath cps path + * @Link FetchDescendantsOption fetch descendants option + * @return {@code Object} resource data + */ + Object queryResourceDataOperational(String cmHandleId, + String cpsPath, + FetchDescendantsOption fetchDescendantsOption); +} diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyQueryServiceImpl.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyQueryServiceImpl.java new file mode 100644 index 0000000000..5540ecd213 --- /dev/null +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyQueryServiceImpl.java @@ -0,0 +1,46 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2022 Nordix Foundation + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.cps.ncmp.api.impl; + +import static org.onap.cps.ncmp.api.impl.constants.DmiRegistryConstants.NFP_OPERATIONAL_DATASTORE_DATASPACE_NAME; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.onap.cps.api.CpsQueryService; +import org.onap.cps.ncmp.api.NetworkCmProxyQueryService; +import org.onap.cps.spi.FetchDescendantsOption; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@RequiredArgsConstructor +public class NetworkCmProxyQueryServiceImpl implements NetworkCmProxyQueryService { + + private final CpsQueryService cpsQueryService; + + @Override + public Object queryResourceDataOperational(final String cmHandleId, + final String cpsPath, + final FetchDescendantsOption fetchDescendantsOption) { + return cpsQueryService.queryDataNodes(NFP_OPERATIONAL_DATASTORE_DATASPACE_NAME, cmHandleId, cpsPath, + fetchDescendantsOption); + } +} |