import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
public abstract class StdXacmlApplicationServiceProvider implements XacmlApplicationServiceProvider {
private static final Logger LOGGER = LoggerFactory.getLogger(StdXacmlApplicationServiceProvider.class);
+
+ protected String applicationName = "Please Override";
+ protected List<String> actions = Collections.emptyList();
+ protected List<ToscaPolicyTypeIdentifier> supportedPolicyTypes = new ArrayList<>();
+
private Path pathForData = null;
@Getter
private RestServerParameters policyApiParameters;
@Override
public String applicationName() {
- return "Please Override";
+ return applicationName;
}
@Override
public List<String> actionDecisionsSupported() {
- return Collections.emptyList();
+ return actions;
}
@Override
@Override
public List<ToscaPolicyTypeIdentifier> supportedPolicyTypes() {
- throw new UnsupportedOperationException("Please override and implement supportedPolicyTypes");
+ return supportedPolicyTypes;
}
@Override
package org.onap.policy.pdp.xacml.application.common.std;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@Test
public void testSupportedPolicyTypes() {
- assertThatThrownBy(() -> prov.supportedPolicyTypes()).isInstanceOf(UnsupportedOperationException.class);
+ assertThat(prov.supportedPolicyTypes()).isEmpty();
}
@Test
package org.onap.policy.xacml.pdp.application.guard;
-import java.util.ArrayList;
import java.util.Arrays;
-import java.util.List;
import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier;
import org.onap.policy.pdp.xacml.application.common.ToscaPolicyTranslator;
import org.onap.policy.pdp.xacml.application.common.std.StdXacmlApplicationServiceProvider;
public class GuardPdpApplication extends StdXacmlApplicationServiceProvider {
private static final Logger LOGGER = LoggerFactory.getLogger(GuardPdpApplication.class);
private static final String STRING_VERSION100 = "1.0.0";
- private List<ToscaPolicyTypeIdentifier> supportedPolicyTypes = new ArrayList<>();
+
private GuardTranslator guardTranslator = new GuardTranslator();
private CoordinationGuardTranslator coordinationTranslator = new CoordinationGuardTranslator();
*
*/
public GuardPdpApplication() {
+ super();
+
+ applicationName = "guard";
+ actions = Arrays.asList("guard");
+
this.supportedPolicyTypes.add(new ToscaPolicyTypeIdentifier(
GuardTranslator.POLICYTYPE_FREQUENCY,
STRING_VERSION100));
STRING_VERSION100));
}
- @Override
- public String applicationName() {
- return "guard";
- }
-
- @Override
- public List<String> actionDecisionsSupported() {
- return Arrays.asList("guard");
- }
-
- @Override
- public List<ToscaPolicyTypeIdentifier> supportedPolicyTypes() {
- return supportedPolicyTypes;
- }
-
@Override
public boolean canSupportPolicyType(ToscaPolicyTypeIdentifier policyTypeId) {
//
import java.nio.file.Path;
import java.util.Arrays;
-import java.util.List;
import org.onap.policy.common.endpoints.parameters.RestServerParameters;
import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier;
import org.onap.policy.pdp.xacml.application.common.ToscaPolicyTranslator;
private StdMatchableTranslator translator = new StdMatchableTranslator();
- @Override
- public String applicationName() {
- return "match";
- }
+ /**
+ * Constructor.
+ */
+ public MatchPdpApplication() {
+ super();
- @Override
- public List<String> actionDecisionsSupported() {
- return Arrays.asList("match");
+ applicationName = "match";
+ actions = Arrays.asList("match");
+ supportedPolicyTypes.add(supportedPolicy);
}
@Override
super.initialize(pathForData, policyApiParameters);
}
- @Override
- public synchronized List<ToscaPolicyTypeIdentifier> supportedPolicyTypes() {
- return Arrays.asList(supportedPolicy);
- }
-
@Override
public boolean canSupportPolicyType(ToscaPolicyTypeIdentifier policyTypeId) {
return policyTypeId.getName().startsWith(ONAP_MATCH_DERIVED_POLICY_TYPE);
package org.onap.policy.xacml.pdp.application.monitoring;
import com.att.research.xacml.api.Response;
-import java.util.ArrayList;
import java.util.Arrays;
-import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.apache.commons.lang3.tuple.Pair;
public static final String VERSION_100 = "1.0.0";
private StdCombinedPolicyResultsTranslator translator = new StdCombinedPolicyResultsTranslator();
- private List<ToscaPolicyTypeIdentifier> supportedPolicyTypes = new ArrayList<>();
/**
* Constructor.
*/
public MonitoringPdpApplication() {
+ super();
+
+ applicationName = "monitoring";
+ actions = Arrays.asList("configure");
//
// By default this supports just Monitoring policy types
//
supportedPolicyTypes.add(new ToscaPolicyTypeIdentifier(ONAP_MONITORING_BASE_POLICY_TYPE, VERSION_100));
}
- @Override
- public String applicationName() {
- return "monitoring";
- }
-
- @Override
- public List<String> actionDecisionsSupported() {
- return Arrays.asList("configure");
- }
-
- @Override
- public synchronized List<ToscaPolicyTypeIdentifier> supportedPolicyTypes() {
- return supportedPolicyTypes;
- }
-
@Override
public boolean canSupportPolicyType(ToscaPolicyTypeIdentifier policyTypeId) {
//
package org.onap.policy.xacml.pdp.application.naming;
import java.util.Arrays;
-import java.util.List;
import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier;
import org.onap.policy.pdp.xacml.application.common.ToscaPolicyTranslator;
import org.onap.policy.pdp.xacml.application.common.std.StdCombinedPolicyResultsTranslator;
public class NamingPdpApplication extends StdXacmlApplicationServiceProvider {
- private static final ToscaPolicyTypeIdentifier supportedPolicy = new ToscaPolicyTypeIdentifier(
+ private static final ToscaPolicyTypeIdentifier namingPolicyType = new ToscaPolicyTypeIdentifier(
"onap.policies.Naming", "1.0.0");
private StdCombinedPolicyResultsTranslator translator = new StdCombinedPolicyResultsTranslator();
- @Override
- public String applicationName() {
- return "naming";
- }
-
- @Override
- public List<String> actionDecisionsSupported() {
- return Arrays.asList("naming");
- }
+ /**
+ * Constructor.
+ */
+ public NamingPdpApplication() {
+ super();
- @Override
- public synchronized List<ToscaPolicyTypeIdentifier> supportedPolicyTypes() {
- return Arrays.asList(supportedPolicy);
+ applicationName = "naming";
+ actions = Arrays.asList("naming");
+ supportedPolicyTypes.add(namingPolicyType);
}
@Override
public boolean canSupportPolicyType(ToscaPolicyTypeIdentifier policyTypeId) {
- return supportedPolicy.equals(policyTypeId);
+ return namingPolicyType.equals(policyTypeId);
}
@Override
import com.att.research.xacml.api.Request;
import com.att.research.xacml.api.Response;
import java.util.Arrays;
-import java.util.List;
import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier;
import org.onap.policy.pdp.xacml.application.common.ToscaPolicyTranslator;
import org.onap.policy.pdp.xacml.application.common.std.StdXacmlApplicationServiceProvider;
*/
public class NativePdpApplication extends StdXacmlApplicationServiceProvider {
- private static final ToscaPolicyTypeIdentifier supportedPolicyType = new ToscaPolicyTypeIdentifier(
+ private static final ToscaPolicyTypeIdentifier nativePolicyType = new ToscaPolicyTypeIdentifier(
"onap.policies.native.Xacml", "1.0.0");
private NativePdpApplicationTranslator translator = new NativePdpApplicationTranslator();
- @Override
- public String applicationName() {
- return "native";
- }
-
- @Override
- public List<String> actionDecisionsSupported() {
- return Arrays.asList("native");
- }
+ /**
+ * Constructor.
+ */
+ public NativePdpApplication() {
+ super();
- @Override
- public synchronized List<ToscaPolicyTypeIdentifier> supportedPolicyTypes() {
- return Arrays.asList(supportedPolicyType);
+ applicationName = "native";
+ actions = Arrays.asList("native");
+ supportedPolicyTypes.add(nativePolicyType);
}
@Override
public boolean canSupportPolicyType(ToscaPolicyTypeIdentifier policyTypeId) {
- return supportedPolicyType.equals(policyTypeId);
+ return nativePolicyType.equals(policyTypeId);
}
@Override
import com.att.research.xacml.api.Response;
import com.att.research.xacml.api.Result;
import java.nio.file.Path;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.tuple.Pair;
public static final String ONAP_OPTIMIZATION_DERIVED_POLICY_TYPE = "onap.policies.optimization.";
private OptimizationPdpApplicationTranslator translator = new OptimizationPdpApplicationTranslator();
- private List<ToscaPolicyTypeIdentifier> supportedPolicyTypes = new ArrayList<>();
/**
* Constructor.
*/
public OptimizationPdpApplication() {
+ super();
+
+ applicationName = "optimization";
+ actions = Arrays.asList("optimize");
+
this.supportedPolicyTypes.add(new ToscaPolicyTypeIdentifier(POLICYTYPE_AFFINITY, STRING_VERSION100));
this.supportedPolicyTypes.add(new ToscaPolicyTypeIdentifier(POLICYTYPE_DISTANCE, STRING_VERSION100));
this.supportedPolicyTypes.add(new ToscaPolicyTypeIdentifier(POLICYTYPE_HPA, STRING_VERSION100));
this.supportedPolicyTypes.add(new ToscaPolicyTypeIdentifier(POLICYTYPE_VNF, STRING_VERSION100));
}
- @Override
- public String applicationName() {
- return "optimization";
- }
-
- @Override
- public List<String> actionDecisionsSupported() {
- return Arrays.asList("optimize");
- }
-
@Override
public void initialize(Path pathForData, RestServerParameters policyApiParameters)
throws XacmlApplicationException {
super.initialize(pathForData, policyApiParameters);
}
- @Override
- public synchronized List<ToscaPolicyTypeIdentifier> supportedPolicyTypes() {
- return Collections.unmodifiableList(supportedPolicyTypes);
- }
-
@Override
public boolean canSupportPolicyType(ToscaPolicyTypeIdentifier policyTypeId) {
//