/*-
* ============LICENSE_START=======================================================
* PolicyEngineAPI
* ================================================================================
* Copyright (C) 2017,2019 AT&T 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
*
* 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.
* ============LICENSE_END=========================================================
*/
package org.onap.policy.api;
import com.google.gson.Gson;
import java.util.Map;
import java.util.UUID;
/**
* ConfigRequestParameters
defines the Config Policy Request Parameters which retrieve(s) the policy from
* PDP if the request parameters match with any Config Policy.
*
* @version 0.1
*/
public class ConfigRequestParameters {
private static final Gson GSON = new Gson();
private String policyName;
private String onapName;
private String configName;
private Map configAttributes;
private UUID requestID;
private Boolean unique = false;
/**
* Sets the PolicyName of the Config policy which needs to be retrieved.
*
* @param policyName the String
format of the PolicyFile Name whose configuration is required.
*/
public void setPolicyName(String policyName) {
this.policyName = policyName;
}
/**
* Sets the ONAP Component Name of the Config policy which needs to be retrieved.
*
* @param onapName the String
format of the onapName whose configuration is required.
*/
public void setOnapName(String onapName) {
this.onapName = onapName;
}
/**
* Sets the ONAP Component Name of the Config policy which needs to be retrieved.
*
* @param ecompName the String
format of the onapName whose configuration is required.
* @deprecated use {@link #setOnapName(String)} instead.
*/
@Deprecated
public void setEcompName(String ecompName) {
this.onapName = ecompName;
}
/**
* Sets the Config Name of the Config policy which needs to be retrieved.
*
* @param configName the String
format of the configurationName whose configuration is required.
*/
public void setConfigName(String configName) {
this.configName = configName;
}
/**
* Sets the ConfigAttributes of the Config policy which needs to be retrieved.
*
* @param configAttributes the Map
of String,String
format of the configuration attributes
* which are required.
*/
public void setConfigAttributes(Map configAttributes) {
this.configAttributes = configAttributes;
}
/**
* Sets the Request ID of the ONAP request.
*
* @param requestID unique UUID
requestID which will be passed throughout the ONAP components to
* correlate logging messages.
*/
public void setRequestID(UUID requestID) {
this.requestID = requestID;
}
/**
* Gets the policyName of the Request Parameters.
*
* @return String
format of the policyName.
*/
public String getPolicyName() {
return policyName;
}
/**
* Gets the ONAP Component Name of the Request Parameters.
*
* @return String
format of the ONAP Component Name.
*/
public String getOnapName() {
return onapName;
}
/**
* Gets the ONAP Component Name of the Request Parameters.
*
* @return String
format of the ONAP Component Name.
* @deprecated use {@link #getOnapName()} instead.
*/
@Deprecated
public String getEcompName() {
return onapName;
}
/**
* Gets the Config name of the Request Parameters.
*
* @return String
format of the Config Name.
*/
public String getConfigName() {
return configName;
}
/**
* Gets the Config Attributes of the Request Parameters.
*
* @return Map
of String
,String
format of the config Attributes.
*/
public Map getConfigAttributes() {
return configAttributes;
}
/**
* Gets the Request ID of the Request Paramters.
*
* @return UUID
format of requestID.
*/
public UUID getRequestID() {
return requestID;
}
/**
* Makes the results Unique, priority based. If set to True. Default Value is set to False.
*
* @param unique flag which is either true or false.
*/
public void makeUnique(Boolean unique) {
this.unique = unique;
}
/**
* Gets the Unique flag value from the Config Request Parameters.
*
* @return unique flag which is either true or false.
*/
public Boolean getUnique() {
return this.unique;
}
/**
* Used to print the input Params for getCOnfig REST call.
*
* @return JSON String of this object.
*/
@Override
public String toString() {
return GSON.toJson(this);
}
}