2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2021-2023 Nordix Foundation
4 * ================================================================================
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 * SPDX-License-Identifier: Apache-2.0
18 * ============LICENSE_END=========================================================
21 package org.onap.cps.ncmp.api.models;
23 import com.fasterxml.jackson.annotation.JsonInclude;
24 import com.fasterxml.jackson.annotation.JsonInclude.Include;
25 import com.google.common.base.Strings;
26 import java.util.Collections;
27 import java.util.List;
30 import org.onap.cps.ncmp.api.impl.exception.DmiRequestException;
31 import org.onap.cps.ncmp.api.impl.exception.NcmpException;
34 * Dmi Registry request object.
38 @JsonInclude(Include.NON_NULL)
39 public class DmiPluginRegistration {
41 private String dmiPlugin;
43 private String dmiDataPlugin;
45 private String dmiModelPlugin;
47 private List<NcmpServiceCmHandle> createdCmHandles = Collections.emptyList();
49 private List<NcmpServiceCmHandle> updatedCmHandles = Collections.emptyList();
51 private List<String> removedCmHandles = Collections.emptyList();
54 * Validates plugin service names.
55 * @throws NcmpException if validation fails.
57 public void validateDmiPluginRegistration() throws NcmpException {
58 final String combinedServiceName = dmiPlugin;
59 final String dataServiceName = dmiDataPlugin;
60 final String modelsServiceName = dmiModelPlugin;
62 String errorMessage = null;
64 if (isNullEmptyOrBlank(combinedServiceName)) {
65 if ((isNullEmptyOrBlank(dataServiceName) && isNullEmptyOrBlank(modelsServiceName))) {
66 errorMessage = "No DMI plugin service names";
68 if (isNullEmptyOrBlank(dataServiceName) || isNullEmptyOrBlank(modelsServiceName)) {
69 errorMessage = "Cannot register just a Data or Model plugin service name";
73 if (!isNullEmptyOrBlank(dataServiceName) || !isNullEmptyOrBlank(modelsServiceName)) {
74 errorMessage = "Cannot register combined plugin service name and other service names";
78 if (errorMessage != null) {
79 throw new DmiRequestException(errorMessage, "Please supply correct plugin information.");
83 public static boolean isNullEmptyOrBlank(final String serviceName) {
84 return Strings.isNullOrEmpty(serviceName) || serviceName.isBlank();