2 * Copyright (c) 2016 Red Hat, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.netvirt.aclservice.tests
11 import javax.annotation.concurrent.NotThreadSafe
13 import org.opendaylight.netvirt.aclservice.tests.infra.DataTreeIdentifierDataObjectPairBuilder
14 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.iana._if.type.rev140508.L2vlan
15 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.Interfaces
16 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface
17 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceBuilder
18 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceKey
19 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.InterfaceAcl
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.InterfaceAclBuilder
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.aclservice.rev160608.interfaces._interface.AllowedAddressPairs
23 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier
25 import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType.CONFIGURATION
27 import static extension org.opendaylight.mdsal.binding.testutils.XtendBuilderExtensions.operator_doubleGreaterThan
28 import java.util.ArrayList
31 class IdentifiedInterfaceWithAclBuilder implements DataTreeIdentifierDataObjectPairBuilder<Interface> {
33 var String interfaceName
34 var Boolean portSecurity
35 var List<Uuid> newSecurityGroups = new ArrayList
36 var List<AllowedAddressPairs> ifAllowedAddressPairs = new ArrayList
42 override identifier() {
43 InstanceIdentifier.builder(Interfaces)
44 .child(Interface, new InterfaceKey(interfaceName)).build
47 override dataObject() {
48 new InterfaceBuilder >> [
49 addAugmentation(InterfaceAcl, new InterfaceAclBuilder >> [
50 portSecurityEnabled = portSecurity
51 securityGroups = newSecurityGroups
52 allowedAddressPairs = ifAllowedAddressPairs
59 // see IdentifiedAceBuilder (@Builder)
61 def interfaceName(String interfaceName) {
62 this.interfaceName = interfaceName
66 def portSecurity(Boolean portSecurity) {
67 this.portSecurity = portSecurity
71 def addAllNewSecurityGroups(List<Uuid> newSecurityGroups) {
72 this.newSecurityGroups.addAll(newSecurityGroups)
76 def addAllIfAllowedAddressPairs(List<AllowedAddressPairs> ifAllowedAddressPairs) {
77 this.ifAllowedAddressPairs.addAll(ifAllowedAddressPairs)