2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2021 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.fasterxml.jackson.annotation.JsonSetter;
26 import com.fasterxml.jackson.annotation.Nulls;
27 import com.google.common.base.Strings;
28 import java.util.List;
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 @JsonSetter(nulls = Nulls.AS_EMPTY)
42 private String dmiPlugin;
44 @JsonSetter(nulls = Nulls.AS_EMPTY)
45 private String dmiDataPlugin;
47 @JsonSetter(nulls = Nulls.AS_EMPTY)
48 private String dmiModelPlugin;
50 private List<CmHandle> createdCmHandles;
52 private List<CmHandle> updatedCmHandles;
54 private List<String> removedCmHandles;
57 * Validates plugin service names.
59 * @throws NcmpException if validation fails.
61 public void validateDmiPluginRegistration() throws NcmpException {
62 final String combinedServiceName = dmiPlugin;
63 final String dataServiceName = dmiDataPlugin;
64 final String modelsServiceName = dmiModelPlugin;
66 String errorMessage = null;
68 if (isNullEmptyOrBlank(combinedServiceName)) {
69 if ((isNullEmptyOrBlank(dataServiceName) && isNullEmptyOrBlank(modelsServiceName))) {
70 errorMessage = "No DMI plugin service names";
72 if (isNullEmptyOrBlank(dataServiceName) || isNullEmptyOrBlank(modelsServiceName)) {
73 errorMessage = "Cannot register just a Data or Model plugin service name";
77 if (!isNullEmptyOrBlank(dataServiceName) || !isNullEmptyOrBlank(modelsServiceName)) {
78 errorMessage = "Cannot register combined plugin service name and other service names";
82 if (errorMessage != null) {
83 throw new NcmpException(errorMessage, "Please supply correct plugin information.");
87 private static boolean isNullEmptyOrBlank(final String serviceName) {
88 return Strings.isNullOrEmpty(serviceName) || serviceName.isBlank();