Allow xacml-pdp to use kafka
[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, 2023 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.List;
23 import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
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 ToscaConceptIdentifier supportedPolicyType =
30             new ToscaConceptIdentifier("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 List.of("authorize");
41     }
42
43     @Override
44     public synchronized List<ToscaConceptIdentifier> supportedPolicyTypes() {
45         return List.of(supportedPolicyType);
46     }
47
48     @Override
49     public boolean canSupportPolicyType(ToscaConceptIdentifier policyTypeId) {
50         return supportedPolicyType.equals(policyTypeId);
51     }
52
53     @Override
54     protected ToscaPolicyTranslator getTranslator(String type) {
55         return translator;
56     }
57
58 }