1 package org.opendaylight.groupbasedpolicy.neutron.mapper.mapping.rule;
3 import javax.annotation.concurrent.Immutable;
5 import org.opendaylight.groupbasedpolicy.neutron.mapper.util.MappingUtils;
6 import org.opendaylight.neutron.spi.NeutronSecurityRule;
7 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.has.classifier.refs.ClassifierRef;
8 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.contract.subject.Rule;
9 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.contract.subject.RuleBuilder;
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.subject.feature.instances.ClassifierInstance;
12 import com.google.common.collect.ImmutableList;
15 public class SingleClassifierRule {
17 private final ClassifierInstance classifierInstance;
18 private final ClassifierRef classifierRef;
19 private final Rule rule;
21 public SingleClassifierRule(NeutronSecurityRule secRule, int ruleOrder) {
22 classifierInstance = SecRuleEntityDecoder.getClassifierInstance(secRule);
23 classifierRef = SecRuleEntityDecoder.getClassifierRef(secRule);
24 rule = createRule(ruleOrder, secRule);
27 private Rule createRule(int order, NeutronSecurityRule secRule) {
28 return new RuleBuilder().setName(SecRuleNameDecoder.getRuleName(secRule))
30 .setActionRef(MappingUtils.ACTION_REF_ALLOW)
31 .setClassifierRef(ImmutableList.of(classifierRef))
35 public ClassifierInstance getClassifierInstance() {
36 return classifierInstance;
39 public ClassifierRef getClassifierRef() {
43 public Rule getRule() {