X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=main%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fpdpx%2Fmain%2Fparameters%2FXacmlPdpParameterGroup.java;h=167a2c458e153c544488efd10ee9f713cf0d1fd9;hb=aba606406dded6ea6d9bf140ea2cbbf11fe90238;hp=e442a0876af83ea9b5aa1e483e61910ebe972e2d;hpb=dc6afa16a2b9fbd19373a1e2ca5859df2782dcb6;p=policy%2Fxacml-pdp.git diff --git a/main/src/main/java/org/onap/policy/pdpx/main/parameters/XacmlPdpParameterGroup.java b/main/src/main/java/org/onap/policy/pdpx/main/parameters/XacmlPdpParameterGroup.java index e442a087..167a2c45 100644 --- a/main/src/main/java/org/onap/policy/pdpx/main/parameters/XacmlPdpParameterGroup.java +++ b/main/src/main/java/org/onap/policy/pdpx/main/parameters/XacmlPdpParameterGroup.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +21,8 @@ package org.onap.policy.pdpx.main.parameters; +import org.onap.policy.common.endpoints.parameters.RestServerParameters; +import org.onap.policy.common.endpoints.parameters.TopicParameterGroup; import org.onap.policy.common.parameters.GroupValidationResult; import org.onap.policy.common.parameters.ParameterGroup; import org.onap.policy.common.parameters.ValidationStatus; @@ -31,9 +34,11 @@ import org.onap.policy.common.utils.validation.ParameterValidationUtils; */ public class XacmlPdpParameterGroup implements ParameterGroup { private static final String PARAM_REST_SERVER = "restServerParameters"; + private static final String PARAM_TOPIC_PARAMETER_GROUP = "topicParameterGroup"; private static final String PARAM_APPLICATION_PATH = "applicationPath"; private String name; private RestServerParameters restServerParameters; + private TopicParameterGroup topicParameterGroup; private String applicationPath; /** @@ -42,9 +47,10 @@ public class XacmlPdpParameterGroup implements ParameterGroup { * @param name the parameter group name */ public XacmlPdpParameterGroup(final String name, final RestServerParameters restServerParameters, - final String applicationPath) { + final TopicParameterGroup topicParameterGroup, final String applicationPath) { this.name = name; this.restServerParameters = restServerParameters; + this.topicParameterGroup = topicParameterGroup; this.applicationPath = applicationPath; } @@ -77,6 +83,15 @@ public class XacmlPdpParameterGroup implements ParameterGroup { return restServerParameters; } + /** + * Return the topicParameterGroup of this parameter group instance. + * + * @return the topicParameterGroup + */ + public TopicParameterGroup getTopicParameterGroup() { + return topicParameterGroup; + } + /** * Returns the path where applications will store their data. * @@ -103,6 +118,12 @@ public class XacmlPdpParameterGroup implements ParameterGroup { } else { validationResult.setResult(PARAM_REST_SERVER, restServerParameters.validate()); } + if (topicParameterGroup == null) { + validationResult.setResult(PARAM_TOPIC_PARAMETER_GROUP, ValidationStatus.INVALID, + "must have topicParameterGroup to configure xacml pdp topic sink and source"); + } else { + validationResult.setResult(PARAM_TOPIC_PARAMETER_GROUP, topicParameterGroup.validate()); + } // // Validate the application path directory //