Update XACML tutorial code 66/110666/2
authorPamela Dragosh <pdragosh@research.att.com>
Tue, 28 Jul 2020 17:33:30 +0000 (13:33 -0400)
committerPamela Dragosh <pdragosh@research.att.com>
Tue, 28 Jul 2020 17:47:57 +0000 (13:47 -0400)
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 <pdragosh@research.att.com>
docs/xacml/tutorial/app/pom.xml
docs/xacml/tutorial/app/src/main/java/org/onap/policy/tutorial/tutorial/TutorialApplication.java
docs/xacml/tutorial/app/src/main/java/org/onap/policy/tutorial/tutorial/TutorialRequest.java
docs/xacml/tutorial/app/src/main/java/org/onap/policy/tutorial/tutorial/TutorialTranslator.java
docs/xacml/tutorial/app/src/test/java/org/onap/policy/tutorial/tutorial/TutorialApplicationTest.java
docs/xacml/tutorial/app/src/test/resources/tutorial-policies.yaml
docs/xacml/tutorial/app/src/test/resources/tutorial-policy-type.yaml

index bf8683a..f8afc55 100644 (file)
@@ -1,29 +1,48 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0"
 <project xmlns="http://maven.apache.org/POM/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">
-    <modelVersion>4.0.0</modelVersion>
+  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">
+  <modelVersion>4.0.0</modelVersion>
 
 
-    <groupId>org.onap.policy.tutorial</groupId>
-    <artifactId>tutorial</artifactId>
-    <version>0.0.1-SNAPSHOT</version>
+  <groupId>org.onap.policy.tutorial</groupId>
+  <artifactId>tutorial</artifactId>
+  <version>0.0.1-SNAPSHOT</version>
+  <packaging>jar</packaging>
 
 
-    <name>tutorial</name>
+  <name>tutorial</name>
 
 
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+  </properties>
 
 
-    <dependencies>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.12</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.onap.policy.xacml-pdp.applications</groupId>
-            <artifactId>common</artifactId>
-            <version>2.1.0-SNAPSHOT</version>
-        </dependency>
-    </dependencies>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.13</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.policy.xacml-pdp.applications</groupId>
+      <artifactId>common</artifactId>
+      <version>2.2.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.onap.policy.xacml-pdp</groupId>
+      <artifactId>xacml-test</artifactId>
+      <version>2.2.2</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.8.0</version>
+        <configuration>
+          <release>11</release>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
 </project>
 </project>
index 24e8404..7f0c2b9 100644 (file)
@@ -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;
 package org.onap.policy.tutorial.tutorial;
 
 import java.util.Arrays;
index 1f89031..31aace6 100644 (file)
@@ -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;
 package org.onap.policy.tutorial.tutorial;
 
 import java.util.Map;
index 80f0c68..1dd6186 100644 (file)
@@ -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;
 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");
 
             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
         //
         //
         // Here is our policy with a version and default combining algo
         //
index 7a1c2f9..6568523 100644 (file)
@@ -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;
 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;
 
 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.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.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.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;
 
 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.
         //
         // 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 {
         //
     @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);
                 TextFileUtils
                 .getTextFileAsString("src/test/resources/tutorial-decision-request.json"),
                 DecisionRequest.class);
-       //
+        //
         // Test a decision
         //
         // Test a decision
         //
-        Pair<DecisionResponse, Response> decision = service.makeDecision(decisionRequest);
+        Pair<DecisionResponse, Response> decision = service.makeDecision(decisionRequest, null);
         LOGGER.info(decision.getLeft().toString());
     }
 
         LOGGER.info(decision.getLeft().toString());
     }
 
index 90a1f9e..fa35365 100644 (file)
@@ -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
 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
                 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
             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
                 metadata:
                     policy-id: onap.policy.tutorial.bar
                     policy-version: 1
index 181a73c..c742cf3 100644 (file)
@@ -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:
 policy_types:
   -
     onap.policies.Authorization: