import static org.opendaylight.groupbasedpolicy.renderer.ofoverlay.flow.FlowUtils.nxOutputRegAction;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
+import org.opendaylight.groupbasedpolicy.api.ValidationResult;
+import org.opendaylight.groupbasedpolicy.api.sf.AllowActionDefinition;
+import org.opendaylight.groupbasedpolicy.dto.ValidationResultBuilder;
+import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.OfContext;
+import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.OfWriter;
+import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.mapper.policyenforcer.PolicyEnforcer.NetworkElements;
+import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.mapper.policyenforcer.PolicyEnforcer.PolicyPair;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.ActionBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ActionDefinitionId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ActionName;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.Description;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.HasDirection.Direction;
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.subject.feature.definitions.ActionDefinition;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.subject.feature.definitions.ActionDefinitionBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.policy.subject.feature.instances.ActionInstance;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.renderers.renderer.capabilities.supported.action.definition.SupportedParameterValues;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg7;
-
/**
* Allow action
*/
public class AllowAction extends Action {
- public static final ActionDefinitionId ID =
- new ActionDefinitionId("f942e8fd-e957-42b7-bd18-f73d11266d17");
- protected static final String TYPE = "type";
- protected static final ActionDefinition DEF =
- new ActionDefinitionBuilder()
- .setId(ID)
- .setName(new ActionName("allow"))
- .setDescription(new Description("Allow the specified traffic to pass"))
- .build();
// How allow is implemented in the PolicyEnforcer table
- private final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action allow =
- nxOutputRegAction(NxmNxReg7.class);
+ private final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action allow = nxOutputRegAction(NxmNxReg7.class);
@Override
public ActionDefinitionId getId() {
- return ID;
+ return AllowActionDefinition.ID;
}
@Override
public ActionDefinition getActionDef() {
- return DEF;
+ return AllowActionDefinition.DEFINITION;
}
@Override
public List<ActionBuilder> updateAction(List<ActionBuilder> actions,
Map<String, Object> params,
- Integer order) {
+ Integer order,
+ NetworkElements netElements,
+ PolicyPair policyPair,
+ OfWriter ofWriter,
+ OfContext ctx,
+ Direction direction) {
/*
* Allow action doesn't use parameters
* TODO: check to make sure ActionBuilder w/allow isn't already present
return actions;
}
+ @Override
+ public ValidationResult validate(ActionInstance actionInstance) {
+ return new ValidationResultBuilder().success().build();
+ }
+
+ @Override
+ public List<SupportedParameterValues> getSupportedParameterValues() {
+ // allow action definition has no parameter
+ return Collections.emptyList();
+ }
}