From 71ac0f796d9844809443f19dda03771aa3abe0e3 Mon Sep 17 00:00:00 2001 From: Pamela Dragosh Date: Tue, 28 Jul 2020 13:33:30 -0400 Subject: Update XACML tutorial code Just updating the code to ensure it compiles. I will cherry-pick this to frankfurt branch. Later I will upload the code as a tar and add some extra documentation on how to test in a runtime environment. Issue-ID: POLICY-2565 Change-Id: I3f93aca71c88072c5f35de72e63736ebe49856f8 Signed-off-by: Pamela Dragosh (cherry picked from commit 5138956adb55738db436358d839b8240b9cab57a) --- docs/xacml/tutorial/app/pom.xml | 65 ++++++++++++++-------- .../tutorial/tutorial/TutorialApplication.java | 18 ++++++ .../policy/tutorial/tutorial/TutorialRequest.java | 18 ++++++ .../tutorial/tutorial/TutorialTranslator.java | 21 ++++++- .../tutorial/tutorial/TutorialApplicationTest.java | 33 ++++++++--- .../app/src/test/resources/tutorial-policies.yaml | 4 +- .../src/test/resources/tutorial-policy-type.yaml | 2 +- 7 files changed, 127 insertions(+), 34 deletions(-) (limited to 'docs/xacml/tutorial') diff --git a/docs/xacml/tutorial/app/pom.xml b/docs/xacml/tutorial/app/pom.xml index bf8683a5..f8afc552 100644 --- a/docs/xacml/tutorial/app/pom.xml +++ b/docs/xacml/tutorial/app/pom.xml @@ -1,29 +1,48 @@ - 4.0.0 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 - org.onap.policy.tutorial - tutorial - 0.0.1-SNAPSHOT + org.onap.policy.tutorial + tutorial + 0.0.1-SNAPSHOT + jar - tutorial + tutorial - - UTF-8 - + + UTF-8 + - - - junit - junit - 4.12 - test - - - org.onap.policy.xacml-pdp.applications - common - 2.1.0-SNAPSHOT - - + + + junit + junit + 4.13 + test + + + org.onap.policy.xacml-pdp.applications + common + 2.2.2 + + + org.onap.policy.xacml-pdp + xacml-test + 2.2.2 + test + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.0 + + 11 + + + + diff --git a/docs/xacml/tutorial/app/src/main/java/org/onap/policy/tutorial/tutorial/TutorialApplication.java b/docs/xacml/tutorial/app/src/main/java/org/onap/policy/tutorial/tutorial/TutorialApplication.java index 24e84049..7f0c2b99 100644 --- a/docs/xacml/tutorial/app/src/main/java/org/onap/policy/tutorial/tutorial/TutorialApplication.java +++ b/docs/xacml/tutorial/app/src/main/java/org/onap/policy/tutorial/tutorial/TutorialApplication.java @@ -1,3 +1,21 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2020 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.tutorial.tutorial; import java.util.Arrays; diff --git a/docs/xacml/tutorial/app/src/main/java/org/onap/policy/tutorial/tutorial/TutorialRequest.java b/docs/xacml/tutorial/app/src/main/java/org/onap/policy/tutorial/tutorial/TutorialRequest.java index 1f890314..31aace69 100644 --- a/docs/xacml/tutorial/app/src/main/java/org/onap/policy/tutorial/tutorial/TutorialRequest.java +++ b/docs/xacml/tutorial/app/src/main/java/org/onap/policy/tutorial/tutorial/TutorialRequest.java @@ -1,3 +1,21 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2020 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.tutorial.tutorial; import java.util.Map; diff --git a/docs/xacml/tutorial/app/src/main/java/org/onap/policy/tutorial/tutorial/TutorialTranslator.java b/docs/xacml/tutorial/app/src/main/java/org/onap/policy/tutorial/tutorial/TutorialTranslator.java index 80f0c68c..1dd6186e 100644 --- a/docs/xacml/tutorial/app/src/main/java/org/onap/policy/tutorial/tutorial/TutorialTranslator.java +++ b/docs/xacml/tutorial/app/src/main/java/org/onap/policy/tutorial/tutorial/TutorialTranslator.java @@ -1,3 +1,21 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2020 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.tutorial.tutorial; import java.util.List; @@ -32,7 +50,8 @@ public class TutorialTranslator implements ToscaPolicyTranslator { new IdentifierImpl(ToscaDictionary.ID_URN_ONAP, "tutorial-entity"); private static final Identifier ID_TUTORIAL_PERM = new IdentifierImpl(ToscaDictionary.ID_URN_ONAP, "tutorial-perm"); - public PolicyType convertPolicy(ToscaPolicy toscaPolicy) throws ToscaPolicyConversionException { + @SuppressWarnings("unchecked") + public PolicyType convertPolicy(ToscaPolicy toscaPolicy) throws ToscaPolicyConversionException { // // Here is our policy with a version and default combining algo // diff --git a/docs/xacml/tutorial/app/src/test/java/org/onap/policy/tutorial/tutorial/TutorialApplicationTest.java b/docs/xacml/tutorial/app/src/test/java/org/onap/policy/tutorial/tutorial/TutorialApplicationTest.java index 7a1c2f94..65685236 100644 --- a/docs/xacml/tutorial/app/src/test/java/org/onap/policy/tutorial/tutorial/TutorialApplicationTest.java +++ b/docs/xacml/tutorial/app/src/test/java/org/onap/policy/tutorial/tutorial/TutorialApplicationTest.java @@ -1,9 +1,26 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2020 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.tutorial.tutorial; import java.io.File; import java.io.IOException; import java.util.Iterator; -import java.util.List; import java.util.Properties; import java.util.ServiceLoader; @@ -12,16 +29,16 @@ import org.junit.BeforeClass; import org.junit.ClassRule; import org.junit.Test; import org.junit.rules.TemporaryFolder; +import org.onap.policy.common.endpoints.parameters.RestServerParameters; import org.onap.policy.common.utils.coder.CoderException; import org.onap.policy.common.utils.coder.StandardCoder; import org.onap.policy.common.utils.resources.TextFileUtils; import org.onap.policy.models.decisions.concepts.DecisionRequest; import org.onap.policy.models.decisions.concepts.DecisionResponse; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; -import org.onap.policy.pdp.xacml.application.common.TestUtils; import org.onap.policy.pdp.xacml.application.common.XacmlApplicationException; import org.onap.policy.pdp.xacml.application.common.XacmlApplicationServiceProvider; import org.onap.policy.pdp.xacml.application.common.XacmlPolicyUtils; +import org.onap.policy.pdp.xacml.xacmltest.TestUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -67,9 +84,9 @@ public class TutorialApplicationTest { // Tell the application to initialize based on the properties file // we just built for it. // - service.initialize(propertiesFile.toPath().getParent()); - } - + service.initialize(propertiesFile.toPath().getParent(), new RestServerParameters()); + } + @Test public void test() throws CoderException, XacmlApplicationException, IOException { // @@ -83,10 +100,10 @@ public class TutorialApplicationTest { TextFileUtils .getTextFileAsString("src/test/resources/tutorial-decision-request.json"), DecisionRequest.class); - // + // // Test a decision // - Pair decision = service.makeDecision(decisionRequest); + Pair decision = service.makeDecision(decisionRequest, null); LOGGER.info(decision.getLeft().toString()); } diff --git a/docs/xacml/tutorial/app/src/test/resources/tutorial-policies.yaml b/docs/xacml/tutorial/app/src/test/resources/tutorial-policies.yaml index 90a1f9ed..fa353653 100644 --- a/docs/xacml/tutorial/app/src/test/resources/tutorial-policies.yaml +++ b/docs/xacml/tutorial/app/src/test/resources/tutorial-policies.yaml @@ -1,9 +1,10 @@ -tosca_definitions_version: tosca_simple_yaml_1_0_0 +tosca_definitions_version: tosca_simple_yaml_1_1_0 topology_template: policies: - onap.policy.tutorial.demo: type: onap.policies.Authorization + type_version: 1.0.0 version: 1.0.0 metadata: policy-id: onap.policy.tutorial.demo @@ -21,6 +22,7 @@ topology_template: onap.policy.tutorial.audit: type: onap.policies.Authorization version: 1.0.0 + type_version: 1.0.0 metadata: policy-id: onap.policy.tutorial.bar policy-version: 1 diff --git a/docs/xacml/tutorial/app/src/test/resources/tutorial-policy-type.yaml b/docs/xacml/tutorial/app/src/test/resources/tutorial-policy-type.yaml index 181a73c5..c742cf3e 100644 --- a/docs/xacml/tutorial/app/src/test/resources/tutorial-policy-type.yaml +++ b/docs/xacml/tutorial/app/src/test/resources/tutorial-policy-type.yaml @@ -1,4 +1,4 @@ -tosca_definitions_version: tosca_simple_yaml_1_0_0 +tosca_definitions_version: tosca_simple_yaml_1_1_0 policy_types: - onap.policies.Authorization: -- cgit 1.2.3-korg