X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cps-ncmp-service%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fcps%2Fncmp%2Fapi%2Fmodels%2FDmiPluginRegistration.java;h=d1360c3256c9ca912fada1bb1d7fd04342d03ab0;hb=e557338803286d8aaa0f877aa25d52d18735f309;hp=a604f3448482b00fd1f08c6a6de80a6992680c72;hpb=1a07fc039140525af388d6b8c30fbbce9e1ebf9f;p=cps.git diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/models/DmiPluginRegistration.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/models/DmiPluginRegistration.java index a604f3448..d1360c325 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/models/DmiPluginRegistration.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/models/DmiPluginRegistration.java @@ -1,6 +1,6 @@ /* * ============LICENSE_START======================================================= - * Copyright (C) 2021 Nordix Foundation + * Copyright (C) 2021-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. @@ -22,12 +22,12 @@ package org.onap.cps.ncmp.api.models; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonSetter; -import com.fasterxml.jackson.annotation.Nulls; import com.google.common.base.Strings; +import java.util.Collections; import java.util.List; import lombok.Getter; import lombok.Setter; +import org.onap.cps.ncmp.api.impl.exception.DmiRequestException; import org.onap.cps.ncmp.api.impl.exception.NcmpException; /** @@ -38,26 +38,20 @@ import org.onap.cps.ncmp.api.impl.exception.NcmpException; @JsonInclude(Include.NON_NULL) public class DmiPluginRegistration { - @JsonSetter(nulls = Nulls.AS_EMPTY) private String dmiPlugin; - @JsonSetter(nulls = Nulls.AS_EMPTY) private String dmiDataPlugin; - @JsonSetter(nulls = Nulls.AS_EMPTY) private String dmiModelPlugin; - private List createdCmHandles; + private List createdCmHandles = Collections.emptyList(); - private List updatedCmHandles; + private List updatedCmHandles = Collections.emptyList(); - private List removedCmHandles; - - public static final String PLEASE_SUPPLY_CORRECT_PLUGIN_INFORMATION = "Please supply correct plugin information."; + private List removedCmHandles = Collections.emptyList(); /** * Validates plugin service names. - * * @throws NcmpException if validation fails. */ public void validateDmiPluginRegistration() throws NcmpException { @@ -67,19 +61,22 @@ public class DmiPluginRegistration { String errorMessage = null; - if (isNullEmptyOrBlank(combinedServiceName) - && isNullEmptyOrBlank(dataServiceName) - && isNullEmptyOrBlank(modelsServiceName)) { - errorMessage = "No DMI plugin service names"; - } - - if (!isNullEmptyOrBlank(combinedServiceName) - && (!isNullEmptyOrBlank(dataServiceName) || !isNullEmptyOrBlank(modelsServiceName))) { - errorMessage = "Invalid combination of plugin service names"; + if (isNullEmptyOrBlank(combinedServiceName)) { + if ((isNullEmptyOrBlank(dataServiceName) && isNullEmptyOrBlank(modelsServiceName))) { + errorMessage = "No DMI plugin service names"; + } else { + if (isNullEmptyOrBlank(dataServiceName) || isNullEmptyOrBlank(modelsServiceName)) { + errorMessage = "Cannot register just a Data or Model plugin service name"; + } + } + } else { + if (!isNullEmptyOrBlank(dataServiceName) || !isNullEmptyOrBlank(modelsServiceName)) { + errorMessage = "Cannot register combined plugin service name and other service names"; + } } if (errorMessage != null) { - throw new NcmpException(errorMessage, PLEASE_SUPPLY_CORRECT_PLUGIN_INFORMATION); + throw new DmiRequestException(errorMessage, "Please supply correct plugin information."); } }