Submit Policy Tutorials
[policy/xacml-pdp.git] / tutorials / tutorial-xacml-application / src / main / java / org / onap / policy / tutorial / tutorial / TutorialApplication.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  * ============LICENSE_END=========================================================
17  */
18
19 package org.onap.policy.tutorial.tutorial;
20
21 import java.util.Arrays;
22 import java.util.List;
23 import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier;
24 import org.onap.policy.pdp.xacml.application.common.ToscaPolicyTranslator;
25 import org.onap.policy.pdp.xacml.application.common.std.StdXacmlApplicationServiceProvider;
26
27 public class TutorialApplication extends StdXacmlApplicationServiceProvider {
28
29     private final ToscaPolicyTypeIdentifier supportedPolicyType =
30             new ToscaPolicyTypeIdentifier("onap.policies.Authorization", "1.0.0");
31     private final TutorialTranslator translator = new TutorialTranslator();
32
33     @Override
34     public String applicationName() {
35         return "tutorial";
36     }
37
38     @Override
39     public List<String> actionDecisionsSupported() {
40         return Arrays.asList("authorize");
41     }
42
43     @Override
44     public synchronized List<ToscaPolicyTypeIdentifier> supportedPolicyTypes() {
45         return Arrays.asList(supportedPolicyType);
46     }
47
48     @Override
49     public boolean canSupportPolicyType(ToscaPolicyTypeIdentifier policyTypeId) {
50         return supportedPolicyType.equals(policyTypeId);
51     }
52
53     @Override
54     protected ToscaPolicyTranslator getTranslator(String type) {
55         return translator;
56     }
57
58 }