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