diff options
Diffstat (limited to 'framework/src/onos/apps/vtn/vtnrsc')
173 files changed, 0 insertions, 15669 deletions
diff --git a/framework/src/onos/apps/vtn/vtnrsc/pom.xml b/framework/src/onos/apps/vtn/vtnrsc/pom.xml deleted file mode 100644 index a2905909..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/pom.xml +++ /dev/null @@ -1,56 +0,0 @@ -<?xml version="1.0"?> -<!-- - ~ Copyright 2015 Open Networking Laboratory - ~ - ~ Licensed under the Apache License, Version 2.0 (the "License"); - ~ you may not use this file except in compliance with the License. - ~ You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, software - ~ distributed under the License is distributed on an "AS IS" BASIS, - ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ~ See the License for the specific language governing permissions and - ~ limitations under the License. - --> -<project - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" - xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.onosproject</groupId> - <artifactId>onos-app-vtn</artifactId> - <version>1.4.0-rc1</version> - <relativePath>../pom.xml</relativePath> - </parent> - - - <artifactId>onos-app-vtn-rsc</artifactId> - <packaging>bundle</packaging> - - <dependencies> - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onos-api</artifactId> - </dependency> - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onos-cli</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.apache.felix.scr.annotations</artifactId> - </dependency> - <dependency> - <groupId>org.apache.karaf.shell</groupId> - <artifactId>org.apache.karaf.shell.console</artifactId> - </dependency> - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onos-core-serializers</artifactId> - <version>${project.version}</version> - </dependency> - </dependencies> -</project> diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/AllocationPool.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/AllocationPool.java deleted file mode 100644 index 3d6ba8e8..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/AllocationPool.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import org.onlab.packet.IpAddress; - -/** - * The continuous IP address range between the start address and the end address for the allocation pools. - */ -public interface AllocationPool { - - /** - * The start address for the allocation pool. - * - * @return startIp - */ - IpAddress startIp(); - - /** - * The end address for the allocation pool. - * - * @return endIp - */ - IpAddress endIp(); -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/AllowedAddressPair.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/AllowedAddressPair.java deleted file mode 100644 index 4e1028d8..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/AllowedAddressPair.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -import org.onlab.packet.IpAddress; -import org.onlab.packet.MacAddress; - -/** - * Immutable representation of a allowed address pair. - */ -public final class AllowedAddressPair { - private final IpAddress ip; - private final MacAddress mac; - // Public construction is prohibited - private AllowedAddressPair(IpAddress ip, MacAddress mac) { - checkNotNull(ip, "IpAddress cannot be null"); - checkNotNull(mac, "MacAddress cannot be null"); - this.ip = ip; - this.mac = mac; - } - /** - * Returns the AllowedAddressPair ip address. - * - * @return ip address - */ - public IpAddress ip() { - return ip; - } - - /** - * Returns the AllowedAddressPair MAC address. - * - * @return MAC address - */ - public MacAddress mac() { - return mac; - } - - - /** - * Creates a allowedAddressPair using the supplied ipAddress & - * macAddress. - * - * @param ip IP address - * @param mac MAC address - * @return AllowedAddressPair - */ - public static AllowedAddressPair allowedAddressPair(IpAddress ip, - MacAddress mac) { - return new AllowedAddressPair(ip, mac); - } - - @Override - public int hashCode() { - return Objects.hash(ip, mac); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof AllowedAddressPair) { - final AllowedAddressPair that = (AllowedAddressPair) obj; - return Objects.equals(this.ip, that.ip) - && Objects.equals(this.mac, that.mac); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("ip", ip).add("mac", mac).toString(); - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/BindingHostId.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/BindingHostId.java deleted file mode 100644 index 7dca32de..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/BindingHostId.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -public final class BindingHostId { - private final String bindingHostId; - - // Public construction is prohibited - private BindingHostId(String bindingHostId) { - checkNotNull(bindingHostId, "BindingHosttId cannot be null"); - this.bindingHostId = bindingHostId; - } - - /** - * Creates a BindingHostId identifier. - * - * @param bindingHostId the bindingHostId identifier - * @return the bindingHostId identifier - */ - public static BindingHostId bindingHostId(String bindingHostId) { - return new BindingHostId(bindingHostId); - } - - /** - * Returns the bindingHostId identifier. - * - * @return the bindingHostId identifier - */ - public String bindingHostId() { - return bindingHostId; - } - - @Override - public int hashCode() { - return bindingHostId.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof BindingHostId) { - final BindingHostId that = (BindingHostId) obj; - return this.getClass() == that.getClass() - && Objects.equals(this.bindingHostId, that.bindingHostId); - } - return false; - } - - @Override - public String toString() { - return bindingHostId; - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultAllocationPool.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultAllocationPool.java deleted file mode 100644 index 8a480194..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultAllocationPool.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; -import java.util.Objects; - -import org.onlab.packet.IpAddress; - -/** - * The continuous IP address range between the start address and the end address - * for the allocation pools. - */ -public final class DefaultAllocationPool implements AllocationPool { - - private final IpAddress startIp; - private final IpAddress endIp; - - /** - * Creates an AllocationPool by using the start IP address and the end IP - * address. - * - * @param startIp the start IP address of the allocation pool - * @param endIp the end IP address of the allocation pool - */ - public DefaultAllocationPool(IpAddress startIp, IpAddress endIp) { - checkNotNull(startIp, "StartIp cannot be null"); - checkNotNull(endIp, "EndIp cannot be null"); - this.startIp = startIp; - this.endIp = endIp; - } - - @Override - public IpAddress startIp() { - return startIp; - } - - @Override - public IpAddress endIp() { - return endIp; - } - - @Override - public int hashCode() { - return Objects.hash(startIp, endIp); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof DefaultAllocationPool) { - final DefaultAllocationPool other = (DefaultAllocationPool) obj; - return Objects.equals(this.startIp, other.startIp) - && Objects.equals(this.endIp, other.endIp); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("startIp", startIp).add("endIp", endIp) - .toString(); - } -} - diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultFloatingIp.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultFloatingIp.java deleted file mode 100644 index 7a297d90..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultFloatingIp.java +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -import org.onlab.packet.IpAddress; - -/** - * Default implementation of FloatingIp interface. - */ -public final class DefaultFloatingIp implements FloatingIp { - - private final FloatingIpId id; - private final TenantId tenantId; - private final TenantNetworkId networkId; - private final VirtualPortId portId; - private final RouterId routerId; - private final IpAddress floatingIp; - private final IpAddress fixedIp; - private final Status status; - - /** - * - * Creates a floating Ip object. - * - * @param id floatingIp identifier - * @param tenantId tenant identifier - * @param networkId the identifier of network associated with the floating Ip - * @param portId port identifier - * @param routerId router identifier - * @param floatingIp floatingIp address - * @param fixedIp the fixed Ip associated with the floating Ip - * @param status the floating Ip status - */ - public DefaultFloatingIp(FloatingIpId id, TenantId tenantId, - TenantNetworkId networkId, VirtualPortId portId, - RouterId routerId, IpAddress floatingIp, - IpAddress fixedIp, Status status) { - this.id = checkNotNull(id, "id cannot be null"); - this.tenantId = checkNotNull(tenantId, "tenantId cannot be null"); - this.networkId = checkNotNull(networkId, "networkId cannot be null"); - this.portId = portId; - this.routerId = routerId; - this.floatingIp = checkNotNull(floatingIp, "floatingIp cannot be null"); - this.fixedIp = fixedIp; - this.status = checkNotNull(status, "status cannot be null"); - } - - @Override - public FloatingIpId id() { - return id; - } - - @Override - public TenantId tenantId() { - return tenantId; - } - - @Override - public TenantNetworkId networkId() { - return networkId; - } - - @Override - public VirtualPortId portId() { - return portId; - } - - @Override - public RouterId routerId() { - return routerId; - } - - @Override - public IpAddress floatingIp() { - return floatingIp; - } - - @Override - public IpAddress fixedIp() { - return fixedIp; - } - - @Override - public Status status() { - return status; - } - - @Override - public int hashCode() { - return Objects.hash(id, tenantId, networkId, portId, routerId, - floatingIp, fixedIp, status); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof DefaultFloatingIp) { - final DefaultFloatingIp that = (DefaultFloatingIp) obj; - return Objects.equals(this.id, that.id) - && Objects.equals(this.tenantId, that.tenantId) - && Objects.equals(this.networkId, that.networkId) - && Objects.equals(this.portId, that.portId) - && Objects.equals(this.routerId, that.routerId) - && Objects.equals(this.floatingIp, that.floatingIp) - && Objects.equals(this.fixedIp, that.fixedIp) - && Objects.equals(this.status, that.status); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("id", id).add("tenantId", tenantId) - .add("networkId", networkId).add("portId", portId) - .add("routerId", routerId).add("floatingIp", floatingIp) - .add("fixedIp", fixedIp).add("floatingIpStatus", status) - .toString(); - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultFlowClassifier.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultFlowClassifier.java deleted file mode 100644 index 7915ce08..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultFlowClassifier.java +++ /dev/null @@ -1,405 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import java.util.Objects; -import org.onlab.packet.IpPrefix; - -import com.google.common.base.MoreObjects; -import static com.google.common.base.Preconditions.checkNotNull; - -/** - * Provides Default flow classifier. - */ -public final class DefaultFlowClassifier implements FlowClassifier { - - private final FlowClassifierId flowClassifierId; - private final TenantId tenantId; - private final String name; - private final String description; - private final String etherType; - private final String protocol; - private final int minSrcPortRange; - private final int maxSrcPortRange; - private final int minDstPortRange; - private final int maxDstPortRange; - private final IpPrefix srcIpPrefix; - private final IpPrefix dstIpPrefix; - private final VirtualPortId srcPort; - private final VirtualPortId dstPort; - private static final int NULL_PORT = 0; - private static final String FLOW_CLASSIFIER_ID_NOT_NULL = "FlowClassifier id can not be null."; - private static final String TENANT_ID_NOT_NULL = "Tenant id can not be null."; - private static final String NAME_NOT_NULL = "Name can not be null."; - private static final String ETHER_TYPE_NOT_NULL = "Ether Type can not be null."; - - /** - * Constructor to create default flow classifier. - * - * @param flowClassifierId flow classifier Id - * @param tenantId Tenant ID - * @param name flow classifier name - * @param description flow classifier description - * @param etherType etherType - * @param protocol IP protocol - * @param minSrcPortRange Minimum Source port range - * @param maxSrcPortRange Maximum Source port range - * @param minDstPortRange Minimum destination port range - * @param maxDstPortRange Maximum destination port range - * @param srcIpPrefix Source IP prefix - * @param dstIpPrefix destination IP prefix - * @param srcPort Source VirtualPort - * @param dstPort destination VirtualPort - */ - private DefaultFlowClassifier(FlowClassifierId flowClassifierId, TenantId tenantId, String name, - String description, String etherType, String protocol, int minSrcPortRange, int maxSrcPortRange, - int minDstPortRange, int maxDstPortRange, IpPrefix srcIpPrefix, IpPrefix dstIpPrefix, - VirtualPortId srcPort, VirtualPortId dstPort) { - this.flowClassifierId = flowClassifierId; - this.tenantId = tenantId; - this.name = name; - this.description = description; - this.etherType = etherType; - this.protocol = protocol; - this.minSrcPortRange = minSrcPortRange; - this.maxSrcPortRange = maxSrcPortRange; - this.minDstPortRange = minDstPortRange; - this.maxDstPortRange = maxDstPortRange; - this.srcIpPrefix = srcIpPrefix; - this.dstIpPrefix = dstIpPrefix; - this.srcPort = srcPort; - this.dstPort = dstPort; - } - - @Override - public FlowClassifierId flowClassifierId() { - return flowClassifierId; - } - - @Override - public TenantId tenantId() { - return tenantId; - } - - @Override - public String name() { - return name; - } - - @Override - public String description() { - return description; - } - - @Override - public String etherType() { - return etherType; - } - - @Override - public String protocol() { - return protocol; - } - - @Override - public int minSrcPortRange() { - return minSrcPortRange; - } - - @Override - public int maxSrcPortRange() { - return maxSrcPortRange; - } - - @Override - public int minDstPortRange() { - return minDstPortRange; - } - - @Override - public int maxDstPortRange() { - return maxDstPortRange; - } - - @Override - public IpPrefix srcIpPrefix() { - return srcIpPrefix; - } - - @Override - public IpPrefix dstIpPrefix() { - return dstIpPrefix; - } - - @Override - public VirtualPortId srcPort() { - return srcPort; - } - - @Override - public VirtualPortId dstPort() { - return dstPort; - } - - /** - * Builder class for constructing Flow classifier. - */ - public static class Builder implements FlowClassifier.Builder { - - private FlowClassifierId flowClassifierId; - private TenantId tenantId; - private String name; - private String description; - private boolean isFlowClassifierDescriptionSet = false; - private String etherType; - private String protocol; - private boolean isProtocolSet = false; - private int minSrcPortRange; - private boolean isMinSrcPortRangeSet = false; - private int maxSrcPortRange; - private boolean isMaxSrcPortRangeSet = false; - private int minDstPortRange; - private boolean isMinDstPortRangeSet = false; - private int maxDstPortRange; - private boolean isMaxDstPortRangeSet = false; - private IpPrefix srcIpPrefix; - private boolean isSrcIpPrefixSet = false; - private IpPrefix dstIpPrefix; - private boolean isDstIpPrefixSet = false; - private VirtualPortId srcPort; - private boolean isSrcPortSet = false; - private VirtualPortId dstPort; - private boolean isDstPortSet = false; - - @Override - public FlowClassifier build() { - - checkNotNull(flowClassifierId, FLOW_CLASSIFIER_ID_NOT_NULL); - checkNotNull(tenantId, TENANT_ID_NOT_NULL); - checkNotNull(name, NAME_NOT_NULL); - checkNotNull(etherType, ETHER_TYPE_NOT_NULL); - String description = null; - String protocol = null; - int minSrcPortRange = NULL_PORT; - int maxSrcPortRange = NULL_PORT; - int minDstPortRange = NULL_PORT; - int maxDstPortRange = NULL_PORT; - IpPrefix srcIpPrefix = null; - IpPrefix dstIpPrefix = null; - VirtualPortId srcPort = null; - VirtualPortId dstPort = null; - - if (isFlowClassifierDescriptionSet) { - description = this.description; - } - if (isProtocolSet) { - protocol = this.protocol; - } - if (isMinSrcPortRangeSet) { - minSrcPortRange = this.minSrcPortRange; - } - if (isMaxSrcPortRangeSet) { - maxSrcPortRange = this.maxSrcPortRange; - } - if (isMinDstPortRangeSet) { - minDstPortRange = this.minDstPortRange; - } - if (isMaxDstPortRangeSet) { - maxDstPortRange = this.maxDstPortRange; - } - if (isSrcIpPrefixSet) { - srcIpPrefix = this.srcIpPrefix; - } - if (isDstIpPrefixSet) { - dstIpPrefix = this.dstIpPrefix; - } - if (isSrcPortSet) { - srcPort = this.srcPort; - } - if (isDstPortSet) { - dstPort = this.dstPort; - } - - return new DefaultFlowClassifier(flowClassifierId, tenantId, name, description, etherType, protocol, - minSrcPortRange, maxSrcPortRange, minDstPortRange, maxDstPortRange, srcIpPrefix, dstIpPrefix, - srcPort, dstPort); - } - - @Override - public Builder setFlowClassifierId(FlowClassifierId flowClassifierId) { - this.flowClassifierId = flowClassifierId; - return this; - } - - @Override - public Builder setTenantId(TenantId tenantId) { - this.tenantId = tenantId; - return this; - } - - @Override - public Builder setName(String name) { - this.name = name; - return this; - } - - @Override - public Builder setDescription(String description) { - this.description = description; - this.isFlowClassifierDescriptionSet = true; - return this; - } - - @Override - public Builder setEtherType(String etherType) { - this.etherType = etherType; - return this; - } - - @Override - public Builder setProtocol(String protocol) { - this.protocol = protocol; - this.isProtocolSet = true; - return this; - } - - @Override - public Builder setMinSrcPortRange(int minSrcPortRange) { - this.minSrcPortRange = minSrcPortRange; - this.isMinSrcPortRangeSet = true; - return this; - } - - @Override - public Builder setMaxSrcPortRange(int maxSrcPortRange) { - this.maxSrcPortRange = maxSrcPortRange; - this.isMaxSrcPortRangeSet = true; - return this; - } - - @Override - public Builder setMinDstPortRange(int minDstPortRange) { - this.minDstPortRange = minDstPortRange; - this.isMinDstPortRangeSet = true; - return this; - } - - @Override - public Builder setMaxDstPortRange(int maxDstPortRange) { - this.maxDstPortRange = maxDstPortRange; - this.isMaxDstPortRangeSet = true; - return this; - } - - @Override - public Builder setSrcIpPrefix(IpPrefix srcIpPrefix) { - this.srcIpPrefix = srcIpPrefix; - this.isSrcIpPrefixSet = true; - return this; - } - - @Override - public Builder setDstIpPrefix(IpPrefix dstIpPrefix) { - this.dstIpPrefix = dstIpPrefix; - this.isDstIpPrefixSet = true; - return this; - } - - @Override - public Builder setSrcPort(VirtualPortId srcPort) { - this.srcPort = srcPort; - this.isSrcPortSet = true; - return this; - } - - @Override - public Builder setDstPort(VirtualPortId dstPort) { - this.dstPort = dstPort; - this.isDstPortSet = true; - return this; - } - } - - @Override - public int hashCode() { - return Objects.hash(flowClassifierId, tenantId, name, description, etherType, protocol, minSrcPortRange, - maxSrcPortRange, minDstPortRange, maxDstPortRange, srcIpPrefix, dstIpPrefix, srcPort, dstPort); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof DefaultFlowClassifier) { - DefaultFlowClassifier other = (DefaultFlowClassifier) obj; - return Objects.equals(this.flowClassifierId, other.flowClassifierId) - && Objects.equals(this.tenantId, other.tenantId) - && Objects.equals(this.name, other.name) - && Objects.equals(this.description, other.description) - && Objects.equals(this.etherType, other.etherType) - && Objects.equals(this.protocol, other.protocol) - && Objects.equals(this.minSrcPortRange, other.minSrcPortRange) - && Objects.equals(this.maxSrcPortRange, other.maxSrcPortRange) - && Objects.equals(this.minDstPortRange, other.minDstPortRange) - && Objects.equals(this.maxDstPortRange, other.maxDstPortRange) - && Objects.equals(this.srcIpPrefix, other.srcIpPrefix) - && Objects.equals(this.dstIpPrefix, other.dstIpPrefix) - && Objects.equals(this.srcPort, other.srcPort) - && Objects.equals(this.dstPort, other.dstPort); - } - return false; - } - - @Override - public boolean exactMatch(FlowClassifier flowClassifier) { - return this.equals(flowClassifier) - && Objects.equals(this.flowClassifierId, flowClassifier.flowClassifierId()) - && Objects.equals(this.tenantId, flowClassifier.tenantId()) - && Objects.equals(this.name, flowClassifier.name()) - && Objects.equals(this.description, flowClassifier.description()) - && Objects.equals(this.etherType, flowClassifier.etherType()) - && Objects.equals(this.protocol, flowClassifier.protocol()) - && Objects.equals(this.minSrcPortRange, flowClassifier.minSrcPortRange()) - && Objects.equals(this.maxSrcPortRange, flowClassifier.maxSrcPortRange()) - && Objects.equals(this.minDstPortRange, flowClassifier.minDstPortRange()) - && Objects.equals(this.maxDstPortRange, flowClassifier.maxDstPortRange()) - && Objects.equals(this.srcIpPrefix, flowClassifier.srcIpPrefix()) - && Objects.equals(this.dstIpPrefix, flowClassifier.dstIpPrefix()) - && Objects.equals(this.srcPort, flowClassifier.srcPort()) - && Objects.equals(this.dstPort, flowClassifier.dstPort()); - } - - @Override - public String toString() { - return MoreObjects.toStringHelper(getClass()) - .add("FlowClassifierId", flowClassifierId) - .add("TenantId", tenantId) - .add("Name", name) - .add("Description", description) - .add("String", etherType) - .add("Protocol", protocol) - .add("MinSrcPortRange", minSrcPortRange) - .add("MaxSrcPortRange", maxSrcPortRange) - .add("MinDstPortRange", minDstPortRange) - .add("MaxDstPortRange", maxDstPortRange) - .add("SrcIpPrefix", srcIpPrefix) - .add("DstIpPrefix", dstIpPrefix) - .add("SrcPort", srcPort) - .add("DstPort", dstPort) - .toString(); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultHostRoute.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultHostRoute.java deleted file mode 100644 index 8679100d..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultHostRoute.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -import org.onlab.packet.IpAddress; -import org.onlab.packet.IpPrefix; - -/** - * Host route dictionaries for the subnet. - */ -public final class DefaultHostRoute implements HostRoute { - - private final IpAddress nexthop; - private final IpPrefix destination; - - /** - * - * Creates a DefaultHostRoute by using the next hop and the destination. - * - * @param nexthop of the DefaultHostRoute - * @param destination of the DefaultHostRoute - */ - public DefaultHostRoute(IpAddress nexthop, IpPrefix destination) { - this.nexthop = nexthop; - this.destination = destination; - } - - @Override - public IpAddress nexthop() { - return nexthop; - } - - @Override - public IpPrefix destination() { - return destination; - } - - @Override - public String toString() { - return toStringHelper(this).add("nexthop", nexthop) - .add("destination", destination).toString(); - } - - @Override - public int hashCode() { - return Objects.hash(nexthop, destination); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof DefaultHostRoute) { - final DefaultHostRoute other = (DefaultHostRoute) obj; - return Objects.equals(this.nexthop, other.nexthop) - && Objects.equals(this.destination, other.destination); - } - return false; - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultPortChain.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultPortChain.java deleted file mode 100644 index 89b94b3e..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultPortChain.java +++ /dev/null @@ -1,201 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.List; -import java.util.Objects; - -import com.google.common.collect.ImmutableList; - -/** - * Implementation of port chain. - */ -public final class DefaultPortChain implements PortChain { - - private final PortChainId portChainId; - private final TenantId tenantId; - private final String name; - private final String description; - private final List<PortPairGroupId> portPairGroupList; - private final List<FlowClassifierId> flowClassifierList; - - /** - * Default constructor to create port chain. - * - * @param portChainId port chain id - * @param tenantId tenant id - * @param name name of port chain - * @param description description of port chain - * @param portPairGroupList port pair group list - * @param flowClassifierList flow classifier list - */ - private DefaultPortChain(PortChainId portChainId, TenantId tenantId, - String name, String description, - List<PortPairGroupId> portPairGroupList, - List<FlowClassifierId> flowClassifierList) { - - this.portChainId = portChainId; - this.tenantId = tenantId; - this.name = name; - this.description = description; - this.portPairGroupList = portPairGroupList; - this.flowClassifierList = flowClassifierList; - } - - @Override - public PortChainId portChainId() { - return portChainId; - } - - @Override - public TenantId tenantId() { - return tenantId; - } - - @Override - public String name() { - return name; - } - - @Override - public String description() { - return description; - } - - @Override - public List<PortPairGroupId> portPairGroups() { - return ImmutableList.copyOf(portPairGroupList); - } - - @Override - public List<FlowClassifierId> flowClassifiers() { - return ImmutableList.copyOf(flowClassifierList); - } - - @Override - public int hashCode() { - return Objects.hash(portChainId, tenantId, name, description, - portPairGroupList, flowClassifierList); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof DefaultPortChain) { - DefaultPortChain that = (DefaultPortChain) obj; - return Objects.equals(portChainId, that.portChainId) && - Objects.equals(tenantId, that.tenantId) && - Objects.equals(name, that.name) && - Objects.equals(description, that.description) && - Objects.equals(portPairGroupList, that.portPairGroupList) && - Objects.equals(flowClassifierList, that.flowClassifierList); - } - return false; - } - - @Override - public boolean exactMatch(PortChain portChain) { - return this.equals(portChain) && - Objects.equals(this.portChainId, portChain.portChainId()) && - Objects.equals(this.tenantId, portChain.tenantId()); - } - - @Override - public String toString() { - return toStringHelper(this) - .add("id", portChainId.toString()) - .add("tenantId", tenantId.toString()) - .add("name", name) - .add("description", description) - .add("portPairGroupList", portPairGroupList) - .add("flowClassifier", flowClassifierList) - .toString(); - } - - /** - * To create an instance of the builder. - * - * @return instance of builder - */ - public static Builder builder() { - return new Builder(); - } - - /** - * Builder class for Port chain. - */ - public static final class Builder implements PortChain.Builder { - - private PortChainId portChainId; - private TenantId tenantId; - private String name; - private String description; - private List<PortPairGroupId> portPairGroupList; - private List<FlowClassifierId> flowClassifierList; - - @Override - public Builder setId(PortChainId portChainId) { - this.portChainId = portChainId; - return this; - } - - @Override - public Builder setTenantId(TenantId tenantId) { - this.tenantId = tenantId; - return this; - } - - @Override - public Builder setName(String name) { - this.name = name; - return this; - } - - @Override - public Builder setDescription(String description) { - this.description = description; - return this; - } - - @Override - public Builder setPortPairGroups(List<PortPairGroupId> portPairGroups) { - this.portPairGroupList = portPairGroups; - return this; - } - - @Override - public Builder setFlowClassifiers(List<FlowClassifierId> flowClassifiers) { - this.flowClassifierList = flowClassifiers; - return this; - } - - @Override - public PortChain build() { - - checkNotNull(portChainId, "Port chain id cannot be null"); - checkNotNull(tenantId, "Tenant id cannot be null"); - checkNotNull(portPairGroupList, "Port pair groups cannot be null"); - - return new DefaultPortChain(portChainId, tenantId, name, description, - portPairGroupList, flowClassifierList); - } - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultPortPair.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultPortPair.java deleted file mode 100644 index 4b3b7cf3..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultPortPair.java +++ /dev/null @@ -1,198 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -/** - * Implementation of port pair. - */ -public final class DefaultPortPair implements PortPair { - - private final PortPairId portPairId; - private final TenantId tenantId; - private final String name; - private final String description; - private final String ingress; - private final String egress; - - /** - * Default constructor to create Port Pair. - * - * @param portPairId port pair id - * @param tenantId tenant id - * @param name name of port pair - * @param description description of port pair - * @param ingress ingress port - * @param egress egress port - */ - private DefaultPortPair(PortPairId portPairId, TenantId tenantId, - String name, String description, - String ingress, String egress) { - - this.portPairId = portPairId; - this.tenantId = tenantId; - this.name = name; - this.description = description; - this.ingress = ingress; - this.egress = egress; - } - - @Override - public PortPairId portPairId() { - return portPairId; - } - - @Override - public TenantId tenantId() { - return tenantId; - } - - @Override - public String name() { - return name; - } - - @Override - public String description() { - return description; - } - - @Override - public String ingress() { - return ingress; - } - - @Override - public String egress() { - return egress; - } - - @Override - public int hashCode() { - return Objects.hash(portPairId, tenantId, name, description, - ingress, egress); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof DefaultPortPair) { - DefaultPortPair that = (DefaultPortPair) obj; - return Objects.equals(portPairId, that.portPairId) && - Objects.equals(tenantId, that.tenantId) && - Objects.equals(name, that.name) && - Objects.equals(description, that.description) && - Objects.equals(ingress, that.ingress) && - Objects.equals(egress, that.egress); - } - return false; - } - - @Override - public boolean exactMatch(PortPair portPair) { - return this.equals(portPair) && - Objects.equals(this.portPairId, portPair.portPairId()) && - Objects.equals(this.tenantId, portPair.tenantId()); - } - - @Override - public String toString() { - return toStringHelper(this) - .add("id", portPairId.toString()) - .add("tenantId", tenantId.tenantId()) - .add("name", name) - .add("description", description) - .add("ingress", ingress) - .add("egress", egress) - .toString(); - } - - /** - * To create an instance of the builder. - * - * @return instance of builder - */ - public static Builder builder() { - return new Builder(); - } - - /** - * Builder class for Port pair. - */ - public static final class Builder implements PortPair.Builder { - - private PortPairId portPairId; - private TenantId tenantId; - private String name; - private String description; - private String ingress; - private String egress; - - @Override - public Builder setId(PortPairId portPairId) { - this.portPairId = portPairId; - return this; - } - - @Override - public Builder setTenantId(TenantId tenantId) { - this.tenantId = tenantId; - return this; - } - - @Override - public Builder setName(String name) { - this.name = name; - return this; - } - - @Override - public Builder setDescription(String description) { - this.description = description; - return this; - } - - @Override - public Builder setIngress(String ingress) { - this.ingress = ingress; - return this; - } - - @Override - public Builder setEgress(String egress) { - this.egress = egress; - return this; - } - - @Override - public PortPair build() { - - checkNotNull(portPairId, "Port pair id cannot be null"); - checkNotNull(tenantId, "Tenant id cannot be null"); - checkNotNull(ingress, "Ingress of a port pair cannot be null"); - checkNotNull(egress, "Egress of a port pair cannot be null"); - - return new DefaultPortPair(portPairId, tenantId, name, description, - ingress, egress); - } - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultPortPairGroup.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultPortPairGroup.java deleted file mode 100644 index 877cc6c9..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultPortPairGroup.java +++ /dev/null @@ -1,183 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.List; -import java.util.Objects; - -import com.google.common.collect.ImmutableList; - -/** - * Implementation of port pair group. - */ -public final class DefaultPortPairGroup implements PortPairGroup { - - private final PortPairGroupId portPairGroupId; - private final TenantId tenantId; - private final String name; - private final String description; - private final List<PortPairId> portPairList; - - /** - * Default constructor to create Port Pair Group. - * - * @param portPairGroupId port pair group id - * @param tenantId tenant id - * @param name name of port pair group - * @param description description of port pair group - * @param portPairList list of port pairs - */ - private DefaultPortPairGroup(PortPairGroupId portPairGroupId, TenantId tenantId, - String name, String description, - List<PortPairId> portPairList) { - - this.portPairGroupId = portPairGroupId; - this.tenantId = tenantId; - this.name = name; - this.description = description; - this.portPairList = portPairList; - } - - @Override - public PortPairGroupId portPairGroupId() { - return portPairGroupId; - } - - @Override - public TenantId tenantId() { - return tenantId; - } - - @Override - public String name() { - return name; - } - - @Override - public String description() { - return description; - } - - @Override - public List<PortPairId> portPairs() { - return ImmutableList.copyOf(portPairList); - } - - @Override - public int hashCode() { - return Objects.hash(portPairGroupId, tenantId, name, description, - portPairList); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof DefaultPortPairGroup) { - DefaultPortPairGroup that = (DefaultPortPairGroup) obj; - return Objects.equals(portPairGroupId, that.portPairGroupId) && - Objects.equals(tenantId, that.tenantId) && - Objects.equals(name, that.name) && - Objects.equals(description, that.description) && - Objects.equals(portPairList, that.portPairList); - } - return false; - } - - @Override - public boolean exactMatch(PortPairGroup portPairGroup) { - return this.equals(portPairGroup) && - Objects.equals(this.portPairGroupId, portPairGroup.portPairGroupId()) && - Objects.equals(this.tenantId, portPairGroup.tenantId()); - } - - @Override - public String toString() { - return toStringHelper(this) - .add("id", portPairGroupId.toString()) - .add("tenantId", tenantId.toString()) - .add("name", name) - .add("description", description) - .add("portPairGroupList", portPairList) - .toString(); - } - - /** - * To create an instance of the builder. - * - * @return instance of builder - */ - public static Builder builder() { - return new Builder(); - } - - /** - * Builder class for Port pair group. - */ - public static final class Builder implements PortPairGroup.Builder { - - private PortPairGroupId portPairGroupId; - private TenantId tenantId; - private String name; - private String description; - private List<PortPairId> portPairList; - - @Override - public Builder setId(PortPairGroupId portPairGroupId) { - this.portPairGroupId = portPairGroupId; - return this; - } - - @Override - public Builder setTenantId(TenantId tenantId) { - this.tenantId = tenantId; - return this; - } - - @Override - public Builder setName(String name) { - this.name = name; - return this; - } - - @Override - public Builder setDescription(String description) { - this.description = description; - return this; - } - - @Override - public Builder setPortPairs(List<PortPairId> portPairs) { - this.portPairList = portPairs; - return this; - } - - @Override - public PortPairGroup build() { - - checkNotNull(portPairGroupId, "Port pair group id cannot be null"); - checkNotNull(tenantId, "Tenant id cannot be null"); - checkNotNull(portPairList, "Port pairs cannot be null"); - - return new DefaultPortPairGroup(portPairGroupId, tenantId, name, description, - portPairList); - } - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultRouter.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultRouter.java deleted file mode 100644 index a2404f56..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultRouter.java +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.List; -import java.util.Objects; - -/** - * Default implementation of router interface. - */ -public final class DefaultRouter implements Router { - private final RouterId id; - private final String name; - private final boolean adminStateUp; - private final Status status; - private final boolean distributed; - private final RouterGateway externalGatewayInfo; - private final VirtualPortId gatewayPortId; - private final TenantId tenantId; - private final List<String> routes; - - /** - * Creates router object. - * - * @param id router identifier - * @param routerName the name of router - * @param adminStateUp the status of admin state - * @param status the status of router - * @param distributed the status of router distributed - * @param externalGatewayInfo the gateway info of router - * @param gatewayPortId the port identifier of router gateway - * @param tenantId the tenant identifier - * @param routes the routes configure - */ - public DefaultRouter(RouterId id, String routerName, boolean adminStateUp, - Status status, boolean distributed, - RouterGateway externalGatewayInfo, - VirtualPortId gatewayPortId, TenantId tenantId, - List<String> routes) { - this.id = checkNotNull(id, "id cannot be null"); - this.name = routerName; - this.adminStateUp = checkNotNull(adminStateUp, "adminStateUp cannot be null"); - this.status = checkNotNull(status, "status cannot be null"); - this.distributed = checkNotNull(distributed, "distributed cannot be null"); - this.externalGatewayInfo = externalGatewayInfo; - this.gatewayPortId = gatewayPortId; - this.tenantId = checkNotNull(tenantId, "tenantId cannot be null"); - this.routes = routes; - } - - @Override - public RouterId id() { - return id; - } - - @Override - public String name() { - return name; - } - - @Override - public boolean adminStateUp() { - return adminStateUp; - } - - @Override - public Status status() { - return status; - } - - @Override - public boolean distributed() { - return distributed; - } - - @Override - public RouterGateway externalGatewayInfo() { - return externalGatewayInfo; - } - - @Override - public VirtualPortId gatewayPortid() { - return gatewayPortId; - } - - @Override - public TenantId tenantId() { - return tenantId; - } - - @Override - public List<String> routes() { - return routes; - } - - @Override - public int hashCode() { - return Objects.hash(id, name, adminStateUp, status, distributed, - externalGatewayInfo, gatewayPortId, routes); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof DefaultRouter) { - final DefaultRouter that = (DefaultRouter) obj; - return Objects.equals(this.id, that.id) - && Objects.equals(this.name, that.name) - && Objects.equals(this.adminStateUp, that.adminStateUp) - && Objects.equals(this.status, that.status) - && Objects.equals(this.distributed, that.distributed) - && Objects.equals(this.externalGatewayInfo, - that.externalGatewayInfo) - && Objects.equals(this.gatewayPortId, that.gatewayPortId) - && Objects.equals(this.routes, that.routes); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("id", id).add("routerName", name) - .add("adminStateUp", adminStateUp).add("status", status) - .add("distributed", distributed) - .add("externalGatewayInfo", externalGatewayInfo) - .add("gatewayPortid", gatewayPortId).add("routes", routes).toString(); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultSubnet.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultSubnet.java deleted file mode 100644 index 6049b558..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultSubnet.java +++ /dev/null @@ -1,183 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; -import java.util.Set; - -import org.onlab.packet.IpAddress; -import org.onlab.packet.IpAddress.Version; -import org.onlab.packet.IpPrefix; - -/** - * Default implementation of Subnet interface . - */ -public final class DefaultSubnet implements Subnet { - private final SubnetId id; - private final String subnetName; - private final TenantNetworkId networkId; - private final TenantId tenantId; - private final Version ipVersion; - private final IpPrefix cidr; - private final IpAddress gatewayIp; - private final boolean dhcpEnabled; - private final boolean shared; - private final Mode ipV6AddressMode; - private final Mode ipV6RaMode; - private final Set<HostRoute> hostRoutes; - private final Set<AllocationPool> allocationPools; - - /** - * Creates a subnet object. - * - * @param id subnet identifier - * @param subnetName the name of subnet - * @param networkId network identifier - * @param tenantId tenant identifier - * @param ipVersion Version of ipv4 or ipv6 - * @param cidr the cidr - * @param gatewayIp gateway ip - * @param dhcpEnabled dhcp enabled or not - * @param shared indicates whether this network is shared across all - * tenants, By default, only administrative user can change this - * value - * @param hostRoutes a collection of host routes - * @param ipV6AddressMode ipV6AddressMode - * @param ipV6RaMode ipV6RaMode - * @param allocationPoolsIt a collection of allocationPools - */ - public DefaultSubnet(SubnetId id, String subnetName, - TenantNetworkId networkId, TenantId tenantId, - Version ipVersion, IpPrefix cidr, IpAddress gatewayIp, - boolean dhcpEnabled, boolean shared, - Set<HostRoute> hostRoutes, Mode ipV6AddressMode, - Mode ipV6RaMode, - Set<AllocationPool> allocationPoolsIt) { - this.id = id; - this.subnetName = subnetName; - this.networkId = networkId; - this.tenantId = tenantId; - this.ipVersion = ipVersion; - this.cidr = cidr; - this.gatewayIp = gatewayIp; - this.dhcpEnabled = dhcpEnabled; - this.shared = shared; - this.ipV6AddressMode = ipV6AddressMode; - this.ipV6RaMode = ipV6RaMode; - this.hostRoutes = hostRoutes; - this.allocationPools = allocationPoolsIt; - } - - @Override - public SubnetId id() { - return id; - } - - @Override - public String subnetName() { - return subnetName; - } - - @Override - public TenantNetworkId networkId() { - return networkId; - } - - @Override - public TenantId tenantId() { - return tenantId; - } - - @Override - public Version ipVersion() { - return ipVersion; - } - - @Override - public IpPrefix cidr() { - return cidr; - } - - @Override - public IpAddress gatewayIp() { - return gatewayIp; - } - - @Override - public boolean dhcpEnabled() { - return dhcpEnabled; - } - - @Override - public boolean shared() { - return shared; - } - - @Override - public Iterable<HostRoute> hostRoutes() { - return hostRoutes; - } - - @Override - public Mode ipV6AddressMode() { - return ipV6AddressMode; - } - - @Override - public Mode ipV6RaMode() { - return ipV6RaMode; - } - - @Override - public Iterable<AllocationPool> allocationPools() { - return allocationPools; - } - - @Override - public int hashCode() { - return Objects.hash(id, subnetName, ipVersion, cidr, gatewayIp, - dhcpEnabled, shared, tenantId); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof DefaultSubnet) { - final DefaultSubnet that = (DefaultSubnet) obj; - return Objects.equals(this.id, that.id) - && Objects.equals(this.subnetName, that.subnetName) - && Objects.equals(this.ipVersion, that.ipVersion) - && Objects.equals(this.cidr, that.cidr) - && Objects.equals(this.shared, that.shared) - && Objects.equals(this.gatewayIp, that.gatewayIp) - && Objects.equals(this.dhcpEnabled, that.dhcpEnabled); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("id", id).add("subnetName", subnetName) - .add("ipVersion", ipVersion).add("cidr", cidr) - .add("shared", shared).add("gatewayIp", gatewayIp) - .add("dhcpEnabled", dhcpEnabled).toString(); - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultTenantNetwork.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultTenantNetwork.java deleted file mode 100644 index 8c941ea2..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultTenantNetwork.java +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * Default implementation of TenantNetwork interface. - */ -public final class DefaultTenantNetwork implements TenantNetwork { - private final TenantNetworkId id; - private final String name; - private final boolean adminStateUp; - private final State state; - private final boolean shared; - private final Type type; - private final TenantId tenantId; - private final boolean routerExternal; - private final PhysicalNetwork physicalNetwork; - private final SegmentationId segmentationId; - - /** - * Creates a neutronNetwork element attributed to the specified provider. - * - * @param id network identifier - * @param name the network name - * @param adminStateUp administrative state of the network - * @param state the network state - * @param shared indicates whether this network is shared across all - * tenants, By default, only administrative user can change this - * value - * @param tenantId tenant identifier - * @param routerExternal network routerExternal - * @param type the network type - * @param physicalNetwork physicalNetwork identifier - * @param segmentationId segmentation identifier - */ - public DefaultTenantNetwork(TenantNetworkId id, String name, - boolean adminStateUp, State state, - boolean shared, TenantId tenantId, - boolean routerExternal, Type type, - PhysicalNetwork physicalNetwork, - SegmentationId segmentationId) { - this.id = id; - this.name = name; - this.adminStateUp = adminStateUp; - this.state = state; - this.shared = shared; - this.type = type; - this.tenantId = tenantId; - this.routerExternal = routerExternal; - this.physicalNetwork = physicalNetwork; - this.segmentationId = segmentationId; - } - - @Override - public TenantNetworkId id() { - return id; - } - - @Override - public String name() { - return name; - } - - @Override - public boolean adminStateUp() { - return adminStateUp; - } - - @Override - public State state() { - return state; - } - - @Override - public boolean shared() { - return shared; - } - - @Override - public TenantId tenantId() { - return tenantId; - } - - @Override - public boolean routerExternal() { - return routerExternal; - } - - @Override - public Type type() { - return type; - } - - @Override - public PhysicalNetwork physicalNetwork() { - return physicalNetwork; - } - - @Override - public SegmentationId segmentationId() { - return segmentationId; - } - - @Override - public int hashCode() { - return Objects.hash(id, name, adminStateUp, state, shared, tenantId, - routerExternal, type, physicalNetwork, - segmentationId); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof DefaultTenantNetwork) { - final DefaultTenantNetwork that = (DefaultTenantNetwork) obj; - return Objects.equals(this.id, that.id) - && Objects.equals(this.name, that.name) - && Objects.equals(this.adminStateUp, that.adminStateUp) - && Objects.equals(this.state, that.state) - && Objects.equals(this.shared, that.shared) - && Objects.equals(this.tenantId, that.tenantId) - && Objects.equals(this.routerExternal, that.routerExternal) - && Objects.equals(this.type, that.type) - && Objects.equals(this.physicalNetwork, - that.physicalNetwork) - && Objects.equals(this.segmentationId, that.segmentationId); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("id", id).add("name", name) - .add("adminStateUp", adminStateUp).add("state", state) - .add("shared", shared).add("tenantId", tenantId) - .add("routeExternal", routerExternal).add("type", type) - .add("physicalNetwork", physicalNetwork) - .add("segmentationId", segmentationId).toString(); - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultVirtualPort.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultVirtualPort.java deleted file mode 100644 index 9ee85da7..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/DefaultVirtualPort.java +++ /dev/null @@ -1,229 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Collection; -import java.util.Map; -import java.util.Objects; -import java.util.Set; - -import org.onlab.packet.MacAddress; -import org.onosproject.net.DeviceId; - -/** - * Default implementation of VirtualPort interface . - */ -public final class DefaultVirtualPort implements VirtualPort { - private final VirtualPortId id; - private final TenantNetworkId networkId; - private final Boolean adminStateUp; - private final String name; - private final State state; - private final MacAddress macAddress; - private final TenantId tenantId; - private final String deviceOwner; - private final DeviceId deviceId; - private final Set<FixedIp> fixedIps; - private final BindingHostId bindingHostId; - private final String bindingVnicType; - private final String bindingVifType; - private final String bindingVifDetails; - private final Set<AllowedAddressPair> allowedAddressPairs; - private final Set<SecurityGroup> securityGroups; - - /** - * Creates a VirtualPort object. - * - * @param id the virtual port identifier - * @param networkId the network identifier - * @param adminStateUp adminStateup true or false - * @param strMap the map of properties of virtual port - * @param state virtual port state - * @param macAddress the MAC address - * @param tenantId the tenant identifier - * @param deviceId the device identifier - * @param fixedIps set of fixed IP - * @param bindingHostId the binding host identifier - * @param allowedAddressPairs the collection of allowdeAddressPairs - * @param securityGroups the collection of securityGroups - */ - public DefaultVirtualPort(VirtualPortId id, - TenantNetworkId networkId, - Boolean adminStateUp, - Map<String, String> strMap, - State state, - MacAddress macAddress, - TenantId tenantId, - DeviceId deviceId, - Set<FixedIp> fixedIps, - BindingHostId bindingHostId, - Set<AllowedAddressPair> allowedAddressPairs, - Set<SecurityGroup> securityGroups) { - this.id = id; - this.networkId = networkId; - this.adminStateUp = adminStateUp; - this.name = strMap.get("name"); - this.state = state; - this.macAddress = macAddress; - this.tenantId = tenantId; - this.deviceOwner = strMap.get("deviceOwner"); - this.deviceId = deviceId; - this.fixedIps = fixedIps; - this.bindingHostId = bindingHostId; - this.bindingVnicType = strMap.get("bindingVnicType"); - this.bindingVifType = strMap.get("bindingVifType"); - this.bindingVifDetails = strMap.get("bindingVifDetails"); - this.allowedAddressPairs = allowedAddressPairs; - this.securityGroups = securityGroups; - } - - @Override - public VirtualPortId portId() { - return id; - } - - @Override - public TenantNetworkId networkId() { - return networkId; - } - - @Override - public String name() { - return name; - } - - @Override - public boolean adminStateUp() { - return adminStateUp; - } - - @Override - public State state() { - return state; - } - - @Override - public MacAddress macAddress() { - return macAddress; - } - - @Override - public TenantId tenantId() { - return tenantId; - } - - @Override - public DeviceId deviceId() { - return deviceId; - } - - @Override - public String deviceOwner() { - return deviceOwner; - } - - @Override - public Collection<AllowedAddressPair> allowedAddressPairs() { - return allowedAddressPairs; - } - - @Override - public Set<FixedIp> fixedIps() { - return fixedIps; - } - - @Override - public BindingHostId bindingHostId() { - return bindingHostId; - } - - @Override - public String bindingVnicType() { - return bindingVifType; - } - - @Override - public String bindingVifType() { - return bindingVifType; - } - - @Override - public String bindingVifDetails() { - return bindingVifDetails; - } - - @Override - public Collection<SecurityGroup> securityGroups() { - return securityGroups; - } - - @Override - public int hashCode() { - return Objects.hash(id, networkId, adminStateUp, name, state, - macAddress, tenantId, deviceId, deviceOwner, - allowedAddressPairs, fixedIps, bindingHostId, - bindingVnicType, bindingVifType, bindingVifDetails, - securityGroups); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof DefaultVirtualPort) { - final DefaultVirtualPort that = (DefaultVirtualPort) obj; - return Objects.equals(this.id, that.id) - && Objects.equals(this.networkId, that.networkId) - && Objects.equals(this.adminStateUp, that.adminStateUp) - && Objects.equals(this.state, that.state) - && Objects.equals(this.name, that.name) - && Objects.equals(this.tenantId, that.tenantId) - && Objects.equals(this.macAddress, that.macAddress) - && Objects.equals(this.deviceId, that.deviceId) - && Objects.equals(this.deviceOwner, that.deviceOwner) - && Objects.equals(this.allowedAddressPairs, - that.allowedAddressPairs) - && Objects.equals(this.fixedIps, that.fixedIps) - && Objects.equals(this.bindingHostId, that.bindingHostId) - && Objects.equals(this.bindingVifDetails, - that.bindingVifDetails) - && Objects.equals(this.bindingVifType, that.bindingVifType) - && Objects.equals(this.bindingVnicType, - that.bindingVnicType) - && Objects.equals(this.securityGroups, that.securityGroups); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("id", id).add("network_id", networkId) - .add("adminStateUp", adminStateUp).add("state", state) - .add("name", name).add("state", state) - .add("macAddress", macAddress).add("tenantId", tenantId) - .add("deviced", deviceId).add("deviceOwner", deviceOwner) - .add("allowedAddressPairs", allowedAddressPairs) - .add("fixedIp", fixedIps).add("bindingHostId", bindingHostId) - .add("bindingVnicType", bindingVnicType) - .add("bindingVifDetails", bindingVifDetails) - .add("bindingVifType", bindingVifType) - .add("securityGroups", securityGroups).toString(); - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/FixedIp.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/FixedIp.java deleted file mode 100644 index c6569a7b..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/FixedIp.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -import org.onlab.packet.IpAddress; - -/** - * Immutable representation of a IP address for the port, Include the IP address - * and subnet identity. - */ -public final class FixedIp { - private final SubnetId subnetId; - private final IpAddress ip; - // Public construction is prohibited - private FixedIp(SubnetId subnetId, IpAddress ip) { - checkNotNull(subnetId, "SubnetId cannot be null"); - checkNotNull(ip, "IpAddress cannot be null"); - this.subnetId = subnetId; - this.ip = ip; - } - - /** - * Returns the FixedIp subnet identifier. - * - * @return subnet identifier - */ - public SubnetId subnetId() { - return subnetId; - } - - /** - * Returns the FixedIp IP address. - * - * @return IP address - */ - public IpAddress ip() { - return ip; - } - - /** - * Creates a fixed ip using the supplied fixedIp. - * - * @param subnetId subnet identity - * @param ip IP address - * @return FixedIp - */ - public static FixedIp fixedIp(SubnetId subnetId, IpAddress ip) { - return new FixedIp(subnetId, ip); - } - - @Override - public int hashCode() { - return Objects.hash(subnetId, ip); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof FixedIp) { - final FixedIp that = (FixedIp) obj; - return Objects.equals(this.subnetId, that.subnetId) - && Objects.equals(this.ip, that.ip); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("subnetId", subnetId).add("ip", ip) - .toString(); - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/FloatingIp.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/FloatingIp.java deleted file mode 100644 index 0933d9ef..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/FloatingIp.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import org.onlab.packet.IpAddress; - -/** - * Representation of a floatingIp. - */ -public interface FloatingIp { - - /** - * Coarse classification of the type of the FloatingIp. - */ - public enum Status { - /** - * Signifies that a floating Ip is currently active. - */ - ACTIVE, - /** - * Signifies that a floating Ip is currently inactive. - */ - INACTIVE - } - - /** - * Returns the floatingIp identifier. - * - * @return identifier - */ - FloatingIpId id(); - - /** - * Returns the tenant identifier. - * - * @return the tenant identifier - */ - TenantId tenantId(); - - /** - * Returns the network identifier. - * - * @return the network identifier - */ - TenantNetworkId networkId(); - - /** - * Returns the port identifier. - * - * @return the port identifier - */ - VirtualPortId portId(); - - /** - * Returns the router identifier. - * - * @return the router identifier - */ - RouterId routerId(); - - /** - * Returns the floating ip address. - * - * @return floatingIp - */ - IpAddress floatingIp(); - - /** - * Returns the fixed ip address. - * - * @return fixedIp - */ - IpAddress fixedIp(); - - /** - * Returns the status of floating ip. - * - * @return floatingIpStatus - */ - Status status(); -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/FloatingIpId.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/FloatingIpId.java deleted file mode 100644 index 1b48c7d6..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/FloatingIpId.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; -import java.util.UUID; - -/** - * Immutable representation of a floating IP identifier. - */ -public final class FloatingIpId { - private final UUID floatingIpId; - - // Public construction is prohibited - private FloatingIpId(UUID floatingIpId) { - this.floatingIpId = checkNotNull(floatingIpId, "floatingIpId cannot be null"); - } - - /** - * Creates a floating IP identifier. - * - * @param floatingIpId the UUID id of floating IP identifier - * @return object of floating IP identifier - */ - public static FloatingIpId of(UUID floatingIpId) { - return new FloatingIpId(floatingIpId); - } - - /** - * Creates a floating IP identifier. - * - * @param floatingIpId the floating IP identifier in string - * @return object of floating IP identifier - */ - public static FloatingIpId of(String floatingIpId) { - return new FloatingIpId(UUID.fromString(floatingIpId)); - } - - /** - * Returns the floating IP identifier. - * - * @return the floating IP identifier - */ - public UUID floatingIpId() { - return floatingIpId; - } - - @Override - public int hashCode() { - return floatingIpId.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof FloatingIpId) { - final FloatingIpId that = (FloatingIpId) obj; - return Objects.equals(this.floatingIpId, that.floatingIpId); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("floatingIpId", floatingIpId).toString(); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/FlowClassifier.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/FlowClassifier.java deleted file mode 100644 index 7b4108dc..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/FlowClassifier.java +++ /dev/null @@ -1,259 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import org.onlab.packet.IpPrefix; - -/** - * Abstraction of an entity which provides flow classifier for service function chain. - * FlowClassifier classify the traffic based on the criteria defined in the request. - * The classification can be based on port range or source and destination IP address or - * other flow classifier elements. - */ -public interface FlowClassifier { - - /** - * Returns flow classifier ID. - * - * @return flow classifier id - */ - FlowClassifierId flowClassifierId(); - - /** - * Returns Tenant ID. - * - * @return tenant Id - */ - TenantId tenantId(); - - /** - * Returns flow classifier name. - * - * @return flow classifier name - */ - String name(); - - /** - * Returns flow classifier description. - * - * @return flow classifier description - */ - String description(); - - /** - * Returns EtherType. - * - * @return EtherType - */ - String etherType(); - - /** - * Returns IP Protocol. - * - * @return IP protocol - */ - String protocol(); - - /** - * Returns minimum source port range. - * - * @return minimum source port range - */ - int minSrcPortRange(); - - /** - * Returns maximum source port range. - * - * @return maximum source port range - */ - int maxSrcPortRange(); - - /** - * Returns minimum destination port range. - * - * @return minimum destination port range - */ - int minDstPortRange(); - - /** - * Returns maximum destination port range. - * - * @return maximum destination port range. - */ - int maxDstPortRange(); - - /** - * Returns Source IP prefix. - * - * @return Source IP prefix - */ - IpPrefix srcIpPrefix(); - - /** - * Returns Destination IP prefix. - * - * @return Destination IP prefix - */ - IpPrefix dstIpPrefix(); - - /** - * Returns Source virtual port. - * - * @return Source virtual port - */ - VirtualPortId srcPort(); - - /** - * Returns Destination virtual port. - * - * @return Destination virtual port - */ - VirtualPortId dstPort(); - - /** - * Returns whether this Flow classifier is an exact match to the - * Flow classifier given in the argument. - * - * @param flowClassifier other flowClassifier to match against - * @return true if the flowClassifiers are an exact match, otherwise false - */ - boolean exactMatch(FlowClassifier flowClassifier); - - /** - * Builder for flow Classifier. - */ - interface Builder { - - /** - * Returns Flow Classifier. - * - * @return flow classifier. - */ - FlowClassifier build(); - - /** - * Sets Flow Classifier ID. - * - * @param flowClassifierId flow classifier id. - * @return Builder object by setting flow classifier Id. - */ - Builder setFlowClassifierId(FlowClassifierId flowClassifierId); - - /** - * Sets Tenant ID. - * - * @param tenantId tenant id. - * @return Builder object by setting Tenant ID. - */ - Builder setTenantId(TenantId tenantId); - - /** - * Sets Flow classifier name. - * - * @param name flow classifier name - * @return builder object by setting flow classifier name - */ - Builder setName(String name); - - /** - * Sets flow classifier description. - * - * @param description flow classifier description - * @return flow classifier description - */ - Builder setDescription(String description); - - /** - * Sets EtherType. - * - * @param etherType EtherType - * @return EtherType - */ - Builder setEtherType(String etherType); - - /** - * Sets IP protocol. - * - * @param protocol IP protocol - * @return builder object by setting IP protocol - */ - Builder setProtocol(String protocol); - - /** - * Set minimum source port range. - * - * @param minRange minimum source port range - * @return builder object by setting minimum source port range - */ - Builder setMinSrcPortRange(int minRange); - - /** - * Sets maximum source port range. - * - * @param maxRange maximum source port range - * @return builder object by setting maximum source port range - */ - Builder setMaxSrcPortRange(int maxRange); - - /** - * Sets minimum destination port range. - * - * @param minRange minimum destination port range - * @return builder object by setting minimum destination port range - */ - Builder setMinDstPortRange(int minRange); - - /** - * Sets maximum destination port range. - * - * @param maxRange maximum destination port range. - * @return builder object by setting maximum destination port range. - */ - Builder setMaxDstPortRange(int maxRange); - - /** - * Sets Source IP prefix. - * - * @param srcIpPrefix Source IP prefix - * @return builder object by setting Source IP prefix - */ - Builder setSrcIpPrefix(IpPrefix srcIpPrefix); - - /** - * Sets Destination IP prefix. - * - * @param dstIpPrefix Destination IP prefix - * @return builder object by setting Destination IP prefix - */ - Builder setDstIpPrefix(IpPrefix dstIpPrefix); - - /** - * Sets Source virtual port. - * - * @param srcPort Source virtual port - * @return builder object by setting Source virtual port - */ - Builder setSrcPort(VirtualPortId srcPort); - - /** - * Sets Destination virtual port. - * - * @param dstPort Destination virtual port - * @return builder object by setting Destination virtual port - */ - Builder setDstPort(VirtualPortId dstPort); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/FlowClassifierId.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/FlowClassifierId.java deleted file mode 100644 index df180ebe..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/FlowClassifierId.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.Preconditions.checkNotNull; - -import com.google.common.base.MoreObjects; - -import java.util.UUID; -import java.util.Objects; - -/** - * Flow classification identifier. - */ -public final class FlowClassifierId { - - private final UUID flowClassifierId; - - /** - * Constructor to create flow classifier id. - * - * @param flowClassifierId flow classifier id. - */ - private FlowClassifierId(final UUID flowClassifierId) { - checkNotNull(flowClassifierId, "Flow classifier id can not be null"); - this.flowClassifierId = flowClassifierId; - } - - /** - * Returns new flow classifier id. - * - * @param flowClassifierId flow classifier id - * @return new flow classifier id - */ - public static FlowClassifierId of(final UUID flowClassifierId) { - return new FlowClassifierId(flowClassifierId); - } - - /** - * Returns new flow classifier id. - * - * @param flowClassifierId flow classifier id - * @return new flow classifier id - */ - public static FlowClassifierId of(final String flowClassifierId) { - return new FlowClassifierId(UUID.fromString(flowClassifierId)); - } - - /** - * Returns the value of flow classifier id. - * - * @return flow classifier id. - */ - public UUID value() { - return flowClassifierId; - } - - @Override - public int hashCode() { - return Objects.hashCode(this.flowClassifierId); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof FlowClassifierId) { - final FlowClassifierId other = (FlowClassifierId) obj; - return Objects.equals(this.flowClassifierId, other.flowClassifierId); - } - return false; - } - - @Override - public String toString() { - return MoreObjects.toStringHelper(getClass()) - .add("FlowClassifierId", flowClassifierId) - .toString(); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/HostRoute.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/HostRoute.java deleted file mode 100644 index b18cb950..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/HostRoute.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import org.onlab.packet.IpAddress; -import org.onlab.packet.IpPrefix; - -/** - * Host route dictionaries for the subnet. - */ -public interface HostRoute { - - /** - * Returns the next hop address. - * - * @return next hop address - */ - IpAddress nexthop(); - - /** - * Returns the destination address. - * - * @return destination address - */ - IpPrefix destination(); -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PhysicalNetwork.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PhysicalNetwork.java deleted file mode 100644 index 30631d28..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PhysicalNetwork.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import java.util.Objects; - -import static com.google.common.base.Preconditions.checkNotNull; - -/** - * Immutable representation of a physical network identity. - */ -public final class PhysicalNetwork { - - private final String physicalNetwork; - - // Public construction is prohibited - private PhysicalNetwork(String physicalNetwork) { - checkNotNull(physicalNetwork, "PhysicalNetwork cannot be null"); - this.physicalNetwork = physicalNetwork; - } - - /** - * Creates a PhysicalNetwork object. - * - * @param physicalNetwork physical network - * @return physical network - */ - public static PhysicalNetwork physicalNetwork(String physicalNetwork) { - return new PhysicalNetwork(physicalNetwork); - } - - /** - * Returns a physicalNetwork. - * - * @return physical network - */ - public String physicalNetwork() { - return physicalNetwork; - } - - @Override - public int hashCode() { - return physicalNetwork.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof PhysicalNetwork) { - final PhysicalNetwork that = (PhysicalNetwork) obj; - return this.getClass() == that.getClass() - && Objects.equals(this.physicalNetwork, - that.physicalNetwork); - } - return false; - } - - @Override - public String toString() { - return physicalNetwork; - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortChain.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortChain.java deleted file mode 100644 index d147eaaa..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortChain.java +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import java.util.List; - -/** - * Abstraction of an entity providing Port Chain information. - * A Port Chain (Service Function Path) consists of - * a set of Neutron ports, to define the sequence of service functions - * a set of flow classifiers, to specify the classified traffic flows to enter the chain - */ -public interface PortChain { - - /** - * Returns the ID of this port chain. - * - * @return the port chain id - */ - PortChainId portChainId(); - - /** - * Returns the tenant id of this port chain. - * - * @return the tenant id - */ - TenantId tenantId(); - - /** - * Returns the name of this port chain. - * - * @return name of port chain - */ - String name(); - - /** - * Returns the description of this port chain. - * - * @return description of port chain - */ - String description(); - - /** - * Returns the list of port pair groups associated with - * this port chain. - * - * @return list of port pair groups - */ - List<PortPairGroupId> portPairGroups(); - - /** - * Returns the list of flow classifiers associated with - * this port chain. - * - * @return list of flow classifiers - */ - List<FlowClassifierId> flowClassifiers(); - - /** - * Returns whether this port chain is an exact match to the port chain given - * in the argument. - * <p> - * Exact match means the port pair groups and flow classifiers match - * with the given port chain. It does not consider the port chain id, name - * and description. - * </p> - * - * @param portChain other port chain to match against - * @return true if the port chains are an exact match, otherwise false - */ - boolean exactMatch(PortChain portChain); - - /** - * A port chain builder.. - */ - interface Builder { - - /** - * Assigns the port chain id to this object. - * - * @param portChainId the port chain id - * @return this the builder object - */ - Builder setId(PortChainId portChainId); - - /** - * Assigns tenant id to this object. - * - * @param tenantId tenant id of the port chain - * @return this the builder object - */ - Builder setTenantId(TenantId tenantId); - - /** - * Assigns the name to this object. - * - * @param name name of the port chain - * @return this the builder object - */ - Builder setName(String name); - - /** - * Assigns the description to this object. - * - * @param description description of the port chain - * @return this the builder object - */ - Builder setDescription(String description); - - /** - * Assigns the port pair groups associated with the port chain - * to this object. - * - * @param portPairGroups list of port pair groups - * @return this the builder object - */ - Builder setPortPairGroups(List<PortPairGroupId> portPairGroups); - - /** - * Assigns the flow classifiers associated with the port chain - * to this object. - * - * @param flowClassifiers list of flow classifiers - * @return this the builder object - */ - Builder setFlowClassifiers(List<FlowClassifierId> flowClassifiers); - - /** - * Builds a port chain object. - * - * @return a port chain. - */ - PortChain build(); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortChainId.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortChainId.java deleted file mode 100644 index a42a700f..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortChainId.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.UUID; -import java.util.Objects; - -/** - * Representation of a Port Chain ID. - */ -public final class PortChainId { - - private final UUID portChainId; - - /** - * Private constructor for port chain id. - * - * @param id UUID id of port chain - */ - private PortChainId(UUID id) { - checkNotNull(id, "Port chain id can not be null"); - this.portChainId = id; - } - - /** - * Returns newly created port chain id object. - * - * @param id UUID of port chain - * @return object of port chain id - */ - public static PortChainId of(UUID id) { - return new PortChainId(id); - } - - /** - * Returns newly created port chain id object. - * - * @param id port chain id in string - * @return object of port chain id - */ - public static PortChainId of(String id) { - return new PortChainId(UUID.fromString(id)); - } - - /** - * Returns the value of port chain id. - * - * @return port chain id - */ - public UUID value() { - return portChainId; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof PortChainId) { - final PortChainId other = (PortChainId) obj; - return Objects.equals(this.portChainId, other.portChainId); - } - return false; - } - - @Override - public int hashCode() { - return Objects.hashCode(this.portChainId); - } - - @Override - public String toString() { - return toStringHelper(this).add("portChainId", portChainId).toString(); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortPair.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortPair.java deleted file mode 100644 index f6285e61..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortPair.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - - -/** - * Abstraction of an entity providing Port Pair information. - * A port pair represents a service function instance. - */ -public interface PortPair { - - /** - * Returns the ID of this port Pair. - * - * @return the port pair id - */ - PortPairId portPairId(); - - /** - * Returns the tenant id of this port pair. - * - * @return an tenant id - */ - TenantId tenantId(); - - /** - * Returns the description of this port pair. - * - * @return description of port pair - */ - String name(); - - /** - * Returns the description of this port pair. - * - * @return description of port pair - */ - String description(); - - /** - * Returns the ingress port of this port pair. - * - * @return ingress of port pair - */ - String ingress(); - - /** - * Returns the egress port of this port pair. - * - * @return egress of port pair - */ - String egress(); - - /** - * Returns whether this port pair is an exact match to the port pair given - * in the argument. - * <p> - * Exact match means the Port port pairs match with the given port pair. - * It does not consider the port pair id, name and description. - * </p> - * @param portPair other port pair to match against - * @return true if the port pairs are an exact match, otherwise false - */ - boolean exactMatch(PortPair portPair); - - /** - * A port pair builder.. - */ - interface Builder { - - /** - * Assigns the port pair id to this object. - * - * @param portPairId the port pair id - * @return this the builder object - */ - Builder setId(PortPairId portPairId); - - /** - * Assigns tenant id to this object. - * - * @param tenantId tenant id of the port pair - * @return this the builder object - */ - Builder setTenantId(TenantId tenantId); - - /** - * Assigns the name to this object. - * - * @param name name of the port pair - * @return this the builder object - */ - Builder setName(String name); - - /** - * Assigns the description to this object. - * - * @param description description of the port pair - * @return this the builder object - */ - Builder setDescription(String description); - - /** - * Assigns the ingress port to this object. - * - * @param port ingress port of the port pair - * @return this the builder object - */ - Builder setIngress(String port); - - /** - * Assigns the egress port to this object. - * - * @param port egress port of the port pair - * @return this the builder object - */ - Builder setEgress(String port); - - /** - * Builds a port pair object. - * - * @return a port pair. - */ - PortPair build(); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortPairGroup.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortPairGroup.java deleted file mode 100644 index f647b57f..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortPairGroup.java +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import java.util.List; - -/** - * Abstraction of an entity providing Port Pair Group information. - * A port pair group consists of one or more port pairs. - */ -public interface PortPairGroup { - - /** - * Returns the ID of this port pair group. - * - * @return the port pair group id - */ - PortPairGroupId portPairGroupId(); - - /** - * Returns the tenant id of this port pair group. - * - * @return the tenant id - */ - TenantId tenantId(); - - /** - * Returns the name of this port pair group. - * - * @return name of port pair group - */ - String name(); - - /** - * Returns the description of this port pair group. - * - * @return description of port pair group - */ - String description(); - - /** - * Returns the list of port pairs associated with this port pair group. - * - * @return list of port pairs - */ - List<PortPairId> portPairs(); - - /** - * Returns whether this port pair group is an exact match to the - * port pair group given in the argument. - * <p> - * Exact match means the Port pairs match with the given port pair group. - * It does not consider the port pair group id, name and description. - * </p> - * @param portPairGroup other port pair group to match against - * @return true if the port pairs are an exact match, otherwise false - */ - boolean exactMatch(PortPairGroup portPairGroup); - - /** - * A port pair group builder.. - */ - interface Builder { - - /** - * Assigns the port pair group id to this object. - * - * @param portPairGroupId the port pair group id - * @return this the builder object - */ - Builder setId(PortPairGroupId portPairGroupId); - - /** - * Assigns tenant id to this object. - * - * @param tenantId tenant id of port pair group - * @return this the builder object - */ - Builder setTenantId(TenantId tenantId); - - /** - * Assigns the name to this object. - * - * @param name name of the port pair group - * @return this the builder object - */ - Builder setName(String name); - - /** - * Assigns the description to this object. - * - * @param description description of the port pair group - * @return this the builder object - */ - Builder setDescription(String description); - - /** - * Assigns the port pairs associated with the port pair group - * to this object. - * - * @param portPairs list of port pairs - * @return this the builder object - */ - Builder setPortPairs(List<PortPairId> portPairs); - - /** - * Builds a port pair group object. - * - * @return a port pair group object. - */ - PortPairGroup build(); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortPairGroupId.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortPairGroupId.java deleted file mode 100644 index a52a2bb3..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortPairGroupId.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.UUID; -import java.util.Objects; - -/** - * Representation of a Port Pair Group ID. - */ -public final class PortPairGroupId { - - private final UUID portPairGroupId; - - /** - * Private constructor for port pair group id. - * - * @param id UUID id of port pair group - */ - private PortPairGroupId(UUID id) { - checkNotNull(id, "Port pair group id can not be null"); - this.portPairGroupId = id; - } - - /** - * Returns newly created port pair group id object. - * - * @param id port pair group id in UUID - * @return object of port pair group id - */ - public static PortPairGroupId of(UUID id) { - return new PortPairGroupId(id); - } - - /** - * Returns newly created port pair group id object. - * - * @param id port pair group id in string - * @return object of port pair group id - */ - public static PortPairGroupId of(String id) { - return new PortPairGroupId(UUID.fromString(id)); - } - - /** - * Returns the value of port pair group id. - * - * @return port pair group id - */ - public UUID value() { - return portPairGroupId; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof PortPairGroupId) { - final PortPairGroupId other = (PortPairGroupId) obj; - return Objects.equals(this.portPairGroupId, other.portPairGroupId); - } - return false; - } - - @Override - public int hashCode() { - return Objects.hashCode(this.portPairGroupId); - } - - @Override - public String toString() { - return toStringHelper(this).add("portPairGroupId", portPairGroupId) - .toString(); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortPairId.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortPairId.java deleted file mode 100644 index 1f45e80e..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/PortPairId.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.UUID; -import java.util.Objects; - -/** - * Representation of a Port Pair ID. - */ -public final class PortPairId { - - private final UUID portPairId; - - /** - * Private constructor for port pair id. - * - * @param id UUID id of port pair - */ - private PortPairId(UUID id) { - checkNotNull(id, "Port chain id can not be null"); - this.portPairId = id; - } - - /** - * Returns newly created port pair id object. - * - * @param id UUID of port pair id - * @return object of port pair id - */ - public static PortPairId of(UUID id) { - return new PortPairId(id); - } - - /** - * Returns newly created port pair id object. - * - * @param id port pair id in string - * @return object of port pair id - */ - public static PortPairId of(String id) { - return new PortPairId(UUID.fromString(id)); - } - - /** - * Returns teh value of port pair id. - * - * @return port pair id - */ - public UUID value() { - return portPairId; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof PortPairId) { - final PortPairId other = (PortPairId) obj; - return Objects.equals(this.portPairId, other.portPairId); - } - return false; - } - - @Override - public int hashCode() { - return Objects.hashCode(this.portPairId); - } - - @Override - public String toString() { - return toStringHelper(this) - .add("portPairId", portPairId) - .toString(); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/Router.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/Router.java deleted file mode 100644 index e853ec2f..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/Router.java +++ /dev/null @@ -1,102 +0,0 @@ -/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.vtnrsc;
-
-import java.util.List;
-
-/**
- * Representation of a Router.
- */
-public interface Router {
-
- /**
- * Coarse classification of the type of the Router.
- */
- public enum Status {
- /**
- * Signifies that a router is currently active.
- */
- ACTIVE,
- /**
- * Signifies that a router is currently inactive.
- */
- INACTIVE
- }
-
- /**
- * Returns the router identifier.
- *
- * @return identifier
- */
- RouterId id();
-
- /**
- * Returns the router Name.
- *
- * @return routerName
- */
- String name();
-
- /**
- * Returns the router admin state.
- *
- * @return true or false
- */
- boolean adminStateUp();
-
- /**
- * Returns the status of router.
- *
- * @return RouterStatus
- */
- Status status();
-
- /**
- * Returns the distributed status of this router.
- * If true, indicates a distributed router.
- *
- * @return true or false
- */
- boolean distributed();
-
- /**
- * Returns the RouterGateway of router.
- *
- * @return routerGateway
- */
- RouterGateway externalGatewayInfo();
-
- /**
- * Returns the gatewayPortid of router.
- *
- * @return virtualPortId
- */
- VirtualPortId gatewayPortid();
-
- /**
- * Returns the owner(tenant) of this router.
- *
- * @return tenantId
- */
- TenantId tenantId();
-
- /**
- * Returns the router list of router.
- *
- * @return routes
- */
- List<String> routes();
-}
diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/RouterGateway.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/RouterGateway.java deleted file mode 100644 index 9a755561..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/RouterGateway.java +++ /dev/null @@ -1,108 +0,0 @@ -/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.vtnrsc;
-
-import static com.google.common.base.MoreObjects.toStringHelper;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Collection;
-import java.util.Objects;
-
-/**
- * Representation of a Router gateway.
- */
-public final class RouterGateway {
-
- private final TenantNetworkId networkId;
- private final boolean enableSnat;
- private final Collection<FixedIp> externalFixedIps;
-
- // Public construction is prohibited
- private RouterGateway(TenantNetworkId networkId, boolean enableSnat,
- Collection<FixedIp> externalFixedIps) {
- this.networkId = checkNotNull(networkId, "networkId cannot be null");
- this.enableSnat = checkNotNull(enableSnat, "enableSnat cannot be null");
- this.externalFixedIps = checkNotNull(externalFixedIps, "externalFixedIps cannot be null");
- }
-
- /**
- * Creates router gateway object.
- *
- * @param networkId network identifier
- * @param enableSnat SNAT enable or not
- * @param externalFixedIps external fixed IP
- * @return RouterGateway
- */
- public static RouterGateway routerGateway(TenantNetworkId networkId, boolean enableSnat,
- Collection<FixedIp> externalFixedIps) {
- return new RouterGateway(networkId, enableSnat, externalFixedIps);
- }
-
- /**
- * Returns network identifier.
- *
- * @return networkId
- */
- public TenantNetworkId networkId() {
- return networkId;
- }
-
- /**
- * Return SNAT enable or not.
- *
- * @return enableSnat
- */
- public boolean enableSnat() {
- return enableSnat;
- }
-
- /**
- * Return external fixed Ip.
- *
- * @return externalFixedIps
- */
- public Collection<FixedIp> externalFixedIps() {
- return externalFixedIps;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(networkId, enableSnat, externalFixedIps);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof RouterGateway) {
- final RouterGateway that = (RouterGateway) obj;
- return Objects.equals(this.networkId, that.networkId)
- && Objects.equals(this.enableSnat, that.enableSnat)
- && Objects.equals(this.externalFixedIps, that.externalFixedIps);
- }
- return false;
- }
-
- @Override
- public String toString() {
- return toStringHelper(this)
- .add("networkId", networkId)
- .add("enableSnat", enableSnat)
- .add("externalFixedIps", externalFixedIps)
- .toString();
- }
-}
diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/RouterId.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/RouterId.java deleted file mode 100644 index d396c0d1..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/RouterId.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -/** - * Immutable representation of a router identifier. - */ -public final class RouterId { - - private final String routerId; - - // Public construction is prohibited - private RouterId(String routerId) { - checkNotNull(routerId, "routerId cannot be null"); - this.routerId = routerId; - } - - /** - * Creates a router identifier. - * - * @param routerId the router identifier - * @return the router identifier - */ - public static RouterId valueOf(String routerId) { - return new RouterId(routerId); - } - - /** - * Returns the router identifier. - * - * @return the router identifier - */ - public String routerId() { - return routerId; - } - - @Override - public int hashCode() { - return routerId.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof RouterId) { - final RouterId that = (RouterId) obj; - return Objects.equals(this.routerId, that.routerId); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("routerId", routerId).toString(); - } -} - diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/RouterInterface.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/RouterInterface.java deleted file mode 100644 index 5c37c30b..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/RouterInterface.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -/** - * Representation of a Router interface. - */ -public final class RouterInterface { - private final SubnetId subnetId; - private final VirtualPortId portId; - private final RouterId routerId; - private final TenantId tenantId; - - // Public construction is prohibited - private RouterInterface(SubnetId subnetId, VirtualPortId portId, - RouterId routerId, TenantId tenantId) { - this.subnetId = checkNotNull(subnetId, "subnetId cannot be null"); - this.portId = checkNotNull(portId, "portId cannot be null"); - this.routerId = checkNotNull(routerId, "routerId cannot be null"); - this.tenantId = checkNotNull(tenantId, "tenantId cannot be null"); - } - - /** - * Creates router interface object. - * - * @param subnetId subnet identifier - * @param portId port identifier - * @param routerId router identifier - * @param tenantId tenant identifier - * @return RouterInterface - */ - public static RouterInterface routerInterface(SubnetId subnetId, - VirtualPortId portId, - RouterId routerId, - TenantId tenantId) { - return new RouterInterface(subnetId, portId, routerId, tenantId); - } - - /** - * Returns subnet identifier. - * - * @return subnetId the subnet identifier - */ - public SubnetId subnetId() { - return subnetId; - } - - /** - * Returns port identifier. - * - * @return portId the port identifier - */ - public VirtualPortId portId() { - return portId; - } - - /** - * Returns router identifier. - * - * @return routerId the router identifier - */ - public RouterId routerId() { - return routerId; - } - - /** - * Returns tenant identifier. - * - * @return tenantId the tenant identifier - */ - public TenantId tenantId() { - return tenantId; - } - - @Override - public int hashCode() { - return Objects.hash(subnetId, portId, routerId, tenantId); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof RouterInterface) { - final RouterInterface that = (RouterInterface) obj; - return Objects.equals(this.subnetId, that.subnetId) - && Objects.equals(this.portId, that.portId) - && Objects.equals(this.routerId, that.routerId) - && Objects.equals(this.tenantId, that.tenantId); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("subnetId", subnetId) - .add("portId", portId).add("routerId", routerId) - .add("tenantId", tenantId).toString(); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/SecurityGroup.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/SecurityGroup.java deleted file mode 100644 index 33ddcbfe..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/SecurityGroup.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import java.util.Objects; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -/** - * Immutable representation of a security group. - */ -public final class SecurityGroup { - private final String securityGroup; - - /** - * Returns the securityGroup. - * - * @return securityGroup - */ - public String securityGroup() { - return securityGroup; - } - // Public construction is prohibited - private SecurityGroup(String securityGroup) { - checkNotNull(securityGroup, "SecurityGroup cannot be null"); - this.securityGroup = securityGroup; - } - - /** - * Creates a securityGroup using the supplied securityGroup. - * - * @param securityGroup security group - * @return securityGroup - */ - public static SecurityGroup securityGroup(String securityGroup) { - return new SecurityGroup(securityGroup); - } - - @Override - public int hashCode() { - return securityGroup.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof SecurityGroup) { - final SecurityGroup that = (SecurityGroup) obj; - return this.getClass() == that.getClass() - && Objects.equals(this.securityGroup, that.securityGroup); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("securityGroup", securityGroup) - .toString(); - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/SegmentationId.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/SegmentationId.java deleted file mode 100644 index 651ebd89..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/SegmentationId.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import java.util.Objects; - -import static com.google.common.base.Preconditions.checkNotNull; - -/** - * Immutable representation of a Segmentation identifier. - */ -public final class SegmentationId { - - private final String segmentationId; - - // Public construction is prohibited - private SegmentationId(String segmentationId) { - checkNotNull(segmentationId, "SegmentationId cannot be null"); - this.segmentationId = segmentationId; - } - - /** - * Creates a SegmentationId object. - * - * @param segmentationId segmentation identifier - * @return SegmentationId - */ - public static SegmentationId segmentationId(String segmentationId) { - return new SegmentationId(segmentationId); - } - - /** - * Returns the segmentation identifier. - * - * @return segmentationId - */ - public String segmentationId() { - return segmentationId; - } - - @Override - public int hashCode() { - return segmentationId.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof SegmentationId) { - final SegmentationId that = (SegmentationId) obj; - return this.getClass() == that.getClass() - && Objects.equals(this.segmentationId, that.segmentationId); - } - return false; - } - - @Override - public String toString() { - return segmentationId; - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/Subnet.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/Subnet.java deleted file mode 100644 index f563a78f..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/Subnet.java +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import org.onlab.packet.IpAddress; -import org.onlab.packet.IpAddress.Version; -import org.onlab.packet.IpPrefix; - -/** - * Representation of a subnet. - */ -public interface Subnet { - - /** - * Coarse classification of the type of the ipV6Mode. - */ - enum Mode { - DHCPV6_STATEFUL, DHCPV6_STATELESS, SLAAC - } - - /** - * Returns the subnet identifier. - * - * @return identifier - */ - SubnetId id(); - - /** - * Returns the name of the subnet. - * - * @return subnetName - */ - String subnetName(); - - /** - * Returns the network identifier. - * - * @return the network identifier - */ - TenantNetworkId networkId(); - - /** - * Returns tenant identifier. - * - * @return the tenant identifier - */ - TenantId tenantId(); - - /** - * Returns the IP version, which is 4 or 6. - * - * @return ipVersion - */ - Version ipVersion(); - - /** - * Returns the cidr. - * - * @return cidr - */ - IpPrefix cidr(); - - /** - * Returns the gateway IP address. - * - * @return gatewayIp - */ - IpAddress gatewayIp(); - - /** - * Returns true if DHCP is enabled and return false if DHCP is disabled. - * - * @return true or false - */ - boolean dhcpEnabled(); - - /** - * Indicates whether this tenantNetwork is shared across all tenants. By - * default, only administrative user can change this value. - * - * @return true or false - */ - boolean shared(); - - /** - * Returns a collection of hostRoutes. - * - * @return a collection of hostRoutes - */ - Iterable<HostRoute> hostRoutes(); - - /** - * Returns the ipV6AddressMode. A valid value is dhcpv6-stateful, - * dhcpv6-stateless, or slaac. - * - * @return ipV6AddressMode whose value is dhcpv6-stateful, dhcpv6-stateless - * or slaac - */ - Mode ipV6AddressMode(); - - /** - * Returns the ipV6RaMode.A valid value is dhcpv6-stateful, - * dhcpv6-stateless, or slaac. - * - * @return ipV6RaMode whose value is dhcpv6-stateful, dhcpv6-stateless or - * slaac - */ - Mode ipV6RaMode(); - - /** - * Returns a collection of allocation_pools. - * - * @return a collection of allocationPools - */ - Iterable<AllocationPool> allocationPools(); -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/SubnetId.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/SubnetId.java deleted file mode 100644 index eb93d153..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/SubnetId.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -/** - * Immutable representation of a subnet identifier. - */ -public final class SubnetId { - - private final String subnetId; - - // Public construction is prohibited - private SubnetId(String subnetId) { - checkNotNull(subnetId, "SubnetId cannot be null"); - this.subnetId = subnetId; - } - - /** - * Creates a Subnet identifier. - * - * @param subnetId the subnet identifier - * @return the subnet identifier - */ - public static SubnetId subnetId(String subnetId) { - return new SubnetId(subnetId); - } - - /** - * Returns the subnet identifier. - * - * @return the subnet identifier - */ - public String subnetId() { - return subnetId; - } - - @Override - public int hashCode() { - return subnetId.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof SubnetId) { - final SubnetId that = (SubnetId) obj; - return this.getClass() == that.getClass() - && Objects.equals(this.subnetId, that.subnetId); - } - return false; - } - - @Override - public String toString() { - return subnetId; - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/TenantId.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/TenantId.java deleted file mode 100644 index 0e7c9417..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/TenantId.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import java.util.Objects; - -import static com.google.common.base.Preconditions.checkNotNull; - -/** - * Immutable representation of a tenant identifier. - */ -public final class TenantId { - - private final String tenantId; - - // Public construction is prohibited - private TenantId(String tenantId) { - this.tenantId = tenantId; - } - - /** - * Creates a network id using the tenantid. - * - * @param tenantid network String - * @return TenantId - */ - public static TenantId tenantId(String tenantid) { - checkNotNull(tenantid, "Tenantid can not be null"); - return new TenantId(tenantid); - } - - /** - * Returns the tenant identifier. - * - * @return the tenant identifier - */ - public String tenantId() { - return tenantId; - } - - @Override - public int hashCode() { - return tenantId.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof TenantId) { - final TenantId that = (TenantId) obj; - return this.getClass() == that.getClass() - && Objects.equals(this.tenantId, that.tenantId); - } - return false; - } - - @Override - public String toString() { - return tenantId; - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/TenantNetwork.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/TenantNetwork.java deleted file mode 100644 index 256352f4..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/TenantNetwork.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -/** - * Representation of the tenantNetwork. - */ -public interface TenantNetwork { - - /** - * Coarse classification of the state of the tenantNetwork. - */ - enum State { - /** - * Signifies that a tenantNetwork is currently active.This state means - * that this network is available. - */ - ACTIVE, - /** - * Signifies that a tenantNetwork is currently built. - */ - BUILD, - /** - * Signifies that a tenantNetwork is currently unavailable. - */ - DOWN, - /** - * Signifies that a tenantNetwork is currently error. - */ - ERROR - } - - /** - * Coarse classification of the type of the tenantNetwork. - */ - enum Type { - /** - * Signifies that a tenantNetwork is local. - */ - LOCAL - } - - /** - * Returns the tenantNetwork identifier. - * - * @return tenantNetwork identifier - */ - TenantNetworkId id(); - - /** - * Returns the tenantNetwork name. - * - * @return tenantNetwork name - */ - String name(); - - /** - * Returns the administrative state of the tenantNetwork,which is up(true) - * or down(false). - * - * @return true or false - */ - boolean adminStateUp(); - - /** - * Returns the tenantNetwork state. - * - * @return tenant network state - */ - State state(); - - /** - * Indicates whether this tenantNetwork is shared across all tenants. By - * default,only administrative user can change this value. - * - * @return true or false - */ - boolean shared(); - - /** - * Returns the UUID of the tenant that will own the tenantNetwork. This - * tenant can be different from the tenant that makes the create - * tenantNetwork request. - * - * @return the tenant identifier - */ - TenantId tenantId(); - - /** - * Returns the routerExternal.Indicates whether this network is externally - * accessible. - * - * @return true or false - */ - boolean routerExternal(); - - /** - * Returns the tenantNetwork Type. - * - * @return tenantNetwork Type - */ - Type type(); - - /** - * Returns the tenantNetwork physical network. - * - * @return tenantNetwork physical network - */ - PhysicalNetwork physicalNetwork(); - - /** - * Returns the tenantNetwork segmentation id. - * - * @return tenantNetwork segmentation id - */ - SegmentationId segmentationId(); -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/TenantNetworkId.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/TenantNetworkId.java deleted file mode 100644 index 8680d28f..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/TenantNetworkId.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import java.util.Objects; -import static com.google.common.base.Preconditions.checkNotNull; - -/** - * Immutable representation of a tenantNetwork identity. - */ -public final class TenantNetworkId { - - private final String networkId; - - // Public construction is prohibited - private TenantNetworkId(String networkId) { - this.networkId = networkId; - } - - /** - * Creates a TenantNetwork identifier. - * - * @param networkId tenantNetwork identify string - * @return the attached tenantNetwork identifier - */ - public static TenantNetworkId networkId(String networkId) { - checkNotNull(networkId, "Networkid cannot be null"); - return new TenantNetworkId(networkId); - } - - /** - * Returns tenantNetwork identifier. - * - * @return the tenantNetwork identifier - */ - public String networkId() { - return networkId; - } - - @Override - public int hashCode() { - return networkId.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof TenantNetworkId) { - final TenantNetworkId that = (TenantNetworkId) obj; - return this.getClass() == that.getClass() - && Objects.equals(this.networkId, that.networkId); - } - return false; - } - - @Override - public String toString() { - return networkId; - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/VirtualPort.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/VirtualPort.java deleted file mode 100644 index d2d7c146..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/VirtualPort.java +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import java.util.Collection; -import java.util.Set; - -import org.onlab.packet.MacAddress; -import org.onosproject.net.DeviceId; - -/** - * Representation of the VirtualPort. - */ -public interface VirtualPort { - /** - * Coarse classification of the type of the virtual port. - */ - enum State { - /** - * Signifies that a virtualPort is currently active,This state mean that - * this virtualPort is available. - */ - ACTIVE, - /** - * Signifies that a virtualPort is currently unavailable. - */ - DOWN; - } - - /** - * Returns the virtualPort identifier. - * - * @return virtualPort identifier - */ - VirtualPortId portId(); - - /** - * Returns the network identifier. - * - * @return tenantNetwork identifier - */ - TenantNetworkId networkId(); - - /** - * Returns the symbolic name for the virtualPort. - * - * @return virtualPort name - */ - String name(); - - /** - * Returns the administrative status of the port,which is up(true) or - * down(false). - * - * @return true if the administrative status of the port is up - */ - boolean adminStateUp(); - - /** - * Returns the state. - * - * @return state - */ - State state(); - - /** - * Returns the MAC address. - * - * @return MAC Address - */ - MacAddress macAddress(); - - /** - * Returns the port tenantId. - * - * @return port tenantId - */ - TenantId tenantId(); - - /** - * Returns the device identifier. - * - * @return deviceId - */ - DeviceId deviceId(); - - /** - * Returns the identifier of the entity that uses this port. - * - * @return deviceOwner - */ - String deviceOwner(); - - /** - * Returns the virtualPort allowedAddressPairs. - * - * @return virtualPort allowedAddressPairs - */ - Collection<AllowedAddressPair> allowedAddressPairs(); - - /** - * Returns set of IP addresses for the port, include the IP addresses and subnet - * identity. - * - * @return FixedIps Set of fixedIp - */ - Set<FixedIp> fixedIps(); - - /** - * Returns the virtualPort bindinghostId. - * - * @return virtualPort bindinghostId - */ - BindingHostId bindingHostId(); - - /** - * Returns the virtualPort bindingVnicType. - * - * @return virtualPort bindingVnicType - */ - String bindingVnicType(); - - /** - * Returns the virtualPort bindingVifType. - * - * @return virtualPort bindingVifType - */ - String bindingVifType(); - - /** - * Returns the virtualPort bindingvifDetail. - * - * @return virtualPort bindingvifDetail - */ - String bindingVifDetails(); - - /** - * Returns the security groups. - * - * @return port security groups - */ - Iterable<SecurityGroup> securityGroups(); -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/VirtualPortId.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/VirtualPortId.java deleted file mode 100644 index a3863483..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/VirtualPortId.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -/** - * Immutable representation of a virtual port identifier. - */ -public final class VirtualPortId { - private final String portId; - // Public construction is prohibited - private VirtualPortId(String virtualPortId) { - checkNotNull(virtualPortId, "VirtualPortId cannot be null"); - this.portId = virtualPortId; - } - - public String portId() { - return portId; - } - - /** - * Creates a virtualPort id using the supplied portId. - * - * @param portId virtualport identifier - * @return VirtualPortId - */ - public static VirtualPortId portId(String portId) { - return new VirtualPortId(portId); - } - - @Override - public int hashCode() { - return portId.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof VirtualPortId) { - final VirtualPortId that = (VirtualPortId) obj; - return this.getClass() == that.getClass() - && Objects.equals(this.portId, that.portId); - } - return false; - } - - @Override - public String toString() { - return portId; - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/classifier/ClassifierService.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/classifier/ClassifierService.java deleted file mode 100644 index a15da3ef..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/classifier/ClassifierService.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.classifier; - -import org.onosproject.net.DeviceId; - -/** - * Provides Services for Classifier. - */ -public interface ClassifierService { - - /** - * Get Classifier devices for sfc. - * - * @return list of device id's for classifiers - */ - Iterable<DeviceId> getClassifiers(); - - /** - * Add Classifier device for sfc. - */ - void addClassifier(DeviceId deviceId); - - /** - * Remove Classifier device for sfc. - */ - void removeClassifier(DeviceId deviceId); -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/classifier/impl/ClassifierManager.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/classifier/impl/ClassifierManager.java deleted file mode 100644 index a12d6221..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/classifier/impl/ClassifierManager.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.classifier.impl; - -import static org.slf4j.LoggerFactory.getLogger; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onosproject.net.DeviceId; -import org.onosproject.store.serializers.KryoNamespaces; -import org.onosproject.store.service.DistributedSet; -import org.onosproject.store.service.Serializer; -import org.onosproject.store.service.StorageService; -import org.onosproject.vtnrsc.classifier.ClassifierService; -import org.slf4j.Logger; - -import com.google.common.collect.ImmutableList; - -/** - * Provides implementation of the Classifier Service. - */ -@Component(immediate = true) -@Service -public class ClassifierManager implements ClassifierService { - - private final Logger log = getLogger(ClassifierManager.class); - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected StorageService storageService; - - private DistributedSet<DeviceId> classifierList; - - @Activate - protected void activate() { - classifierList = storageService.<DeviceId>setBuilder() - .withName("classifier") - .withSerializer(Serializer.using(KryoNamespaces.API)) - .build(); - log.info("Started"); - } - - @Deactivate - protected void deactivate() { - log.info("Stopped"); - } - - @Override - public void addClassifier(DeviceId deviceId) { - classifierList.add(deviceId); - } - - @Override - public Iterable<DeviceId> getClassifiers() { - return ImmutableList.copyOf(classifierList); - } - - @Override - public void removeClassifier(DeviceId deviceId) { - classifierList.remove(deviceId); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/classifier/impl/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/classifier/impl/package-info.java deleted file mode 100644 index dc72e806..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/classifier/impl/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Provides implementation of the Classifier service. - */ -package org.onosproject.vtnrsc.classifier.impl; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/classifier/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/classifier/package-info.java deleted file mode 100644 index 56976d96..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/classifier/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Service for interacting with Classifier of SFC. - */ -package org.onosproject.vtnrsc.classifier; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/floatingip/FloatingIpCreateCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/floatingip/FloatingIpCreateCommand.java deleted file mode 100644 index 00758dd2..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/floatingip/FloatingIpCreateCommand.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.floatingip; - -import java.util.Set; - -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; -import org.onlab.packet.IpAddress; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.vtnrsc.DefaultFloatingIp; -import org.onosproject.vtnrsc.FloatingIpId; -import org.onosproject.vtnrsc.FloatingIp; -import org.onosproject.vtnrsc.FloatingIp.Status; -import org.onosproject.vtnrsc.RouterId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.TenantNetworkId; -import org.onosproject.vtnrsc.VirtualPortId; -import org.onosproject.vtnrsc.floatingip.FloatingIpService; - -import com.google.common.collect.Sets; - -/** - * Supports for create a floating IP. - */ -@Command(scope = "onos", name = "floatingip-create", - description = "Supports for creating a floating IP") -public class FloatingIpCreateCommand extends AbstractShellCommand { - @Argument(index = 0, name = "id", description = "The floating IP identifier", - required = true, multiValued = false) - String id = null; - - @Argument(index = 1, name = "networkId", description = "The network identifier of floating IP", - required = true, multiValued = false) - String networkId = null; - - @Argument(index = 2, name = "tenantId", description = "The tenant identifier of floating IP", - required = true, multiValued = false) - String tenantId = null; - - @Argument(index = 3, name = "routerId", description = "The router identifier of floating IP", - required = true, multiValued = false) - String routerId = null; - - @Argument(index = 4, name = "fixedIp", description = "The fixed IP of floating IP", - required = true, multiValued = false) - String fixedIp = null; - - @Argument(index = 5, name = "floatingIp", description = "The floating IP of floating IP", - required = true, multiValued = false) - String floatingIp = null; - - @Option(name = "-p", aliases = "--portId", description = "The port identifier of floating IP", - required = false, multiValued = false) - String portId = null; - - @Option(name = "-s", aliases = "--status", description = "The status of floating IP", - required = false, multiValued = false) - String status = null; - - @Override - protected void execute() { - FloatingIpService service = get(FloatingIpService.class); - try { - FloatingIp floatingIpObj = new DefaultFloatingIp( - FloatingIpId.of(id), - TenantId.tenantId(tenantId), - TenantNetworkId.networkId(networkId), - VirtualPortId.portId(portId), - RouterId.valueOf(routerId), - floatingIp == null ? null : IpAddress.valueOf(floatingIp), - fixedIp == null ? null : IpAddress.valueOf(fixedIp), - status == null ? Status.ACTIVE - : Status.valueOf(status)); - Set<FloatingIp> floatingIpSet = Sets.newHashSet(floatingIpObj); - service.createFloatingIps(floatingIpSet); - } catch (Exception e) { - print(null, e.getMessage()); - } - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/floatingip/FloatingIpQueryCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/floatingip/FloatingIpQueryCommand.java deleted file mode 100644 index c441d535..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/floatingip/FloatingIpQueryCommand.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.floatingip; - -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.vtnrsc.FloatingIpId; -import org.onosproject.vtnrsc.FloatingIp; -import org.onosproject.vtnrsc.floatingip.FloatingIpService; - -/** - * Supports for query a floating IP. - */ -@Command(scope = "onos", name = "floatingips", description = "Supports for querying a floating IP") -public class FloatingIpQueryCommand extends AbstractShellCommand { - @Option(name = "-I", aliases = "--id", description = "The floating IP identifier", - required = false, multiValued = false) - String id = null; - - @Option(name = "-i", aliases = "--fixedIp", description = "The fixed IP of floating IP", - required = false, multiValued = false) - String fixedIp = null; - - @Option(name = "-l", aliases = "--floatingIp", description = "The floating IP of floating IP", - required = false, multiValued = false) - String floatingIp = null; - - private static final String FMT = "floatingIpId=%s, networkId=%s, tenantId=%s, portId=%s," - + "routerId=%s, fixedIp=%s, floatingIp=%s, status=%s"; - - @Override - protected void execute() { - FloatingIpService service = get(FloatingIpService.class); - if (id != null) { - FloatingIp floatingIp = service.getFloatingIp(FloatingIpId - .of(id)); - printFloatingIp(floatingIp); - } else if (fixedIp != null || floatingIp != null) { - Iterable<FloatingIp> floatingIps = service.getFloatingIps(); - if (floatingIps == null) { - return; - } - if (fixedIp != null) { - for (FloatingIp floatingIp : floatingIps) { - if (floatingIp.fixedIp().toString().equals(fixedIp)) { - printFloatingIp(floatingIp); - return; - } - } - print(null, "The fixedIp is not existed"); - } - if (floatingIp != null) { - for (FloatingIp floatingIpObj : floatingIps) { - if (floatingIpObj.fixedIp().toString().equals(floatingIp)) { - printFloatingIp(floatingIpObj); - return; - } - } - print(null, "The floatingIp is not existed"); - } - } else { - Iterable<FloatingIp> floatingIps = service.getFloatingIps(); - if (floatingIps == null) { - return; - } - for (FloatingIp floatingIp : floatingIps) { - printFloatingIp(floatingIp); - } - } - } - - private void printFloatingIp(FloatingIp floatingIp) { - print(FMT, floatingIp.id(), floatingIp.networkId(), - floatingIp.tenantId(), floatingIp.portId(), - floatingIp.routerId(), floatingIp.fixedIp(), - floatingIp.floatingIp(), floatingIp.status()); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/floatingip/FloatingIpRemoveCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/floatingip/FloatingIpRemoveCommand.java deleted file mode 100644 index a413503a..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/floatingip/FloatingIpRemoveCommand.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.floatingip; - -import java.util.Set; - -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.vtnrsc.FloatingIp; -import org.onosproject.vtnrsc.FloatingIpId; -import org.onosproject.vtnrsc.floatingip.FloatingIpService; - -import com.google.common.collect.Sets; - -/** - * Supports for remove a floating IP. - */ -@Command(scope = "onos", name = "floatingip-remove", description = "Supports for removing a floating IP") -public class FloatingIpRemoveCommand extends AbstractShellCommand { - @Option(name = "-I", aliases = "--id", description = "The floating IP identifier", - required = false, multiValued = false) - String id = null; - - @Option(name = "-i", aliases = "--fixedIp", description = "The fixed IP of floating IP", - required = false, multiValued = false) - String fixedIp = null; - - @Option(name = "-l", aliases = "--floatingIp", description = "The floating IP of floating IP", - required = false, multiValued = false) - String floatingIp = null; - - @Override - protected void execute() { - FloatingIpService service = get(FloatingIpService.class); - if (id == null && fixedIp == null && floatingIp == null) { - print(null, "one of id, fixedIp, floatingIp should not be null"); - } - try { - Set<FloatingIpId> floatingIpSet = Sets.newHashSet(); - if (id != null) { - floatingIpSet.add(FloatingIpId.of(id)); - service.removeFloatingIps(floatingIpSet); - } else { - Iterable<FloatingIp> floatingIps = service.getFloatingIps(); - if (floatingIps == null) { - return; - } - if (fixedIp != null) { - for (FloatingIp floatingIp : floatingIps) { - if (floatingIp.fixedIp().toString().equals(fixedIp)) { - floatingIpSet.add(floatingIp.id()); - service.removeFloatingIps(floatingIpSet); - return; - } - } - print(null, "The fixedIp is not existed"); - return; - } - if (floatingIp != null) { - for (FloatingIp floatingIpObj : floatingIps) { - if (floatingIpObj.fixedIp().toString() - .equals(floatingIp)) { - floatingIpSet.add(floatingIpObj.id()); - service.removeFloatingIps(floatingIpSet); - return; - } - } - print(null, "The floatingIp is not existed"); - return; - } - } - } catch (Exception e) { - print(null, e.getMessage()); - } - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/floatingip/FloatingIpUpdateCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/floatingip/FloatingIpUpdateCommand.java deleted file mode 100644 index 413b3bdb..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/floatingip/FloatingIpUpdateCommand.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.floatingip; - -import java.util.Set; - -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; -import org.onlab.packet.IpAddress; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.vtnrsc.DefaultFloatingIp; -import org.onosproject.vtnrsc.FloatingIpId; -import org.onosproject.vtnrsc.FloatingIp; -import org.onosproject.vtnrsc.FloatingIp.Status; -import org.onosproject.vtnrsc.RouterId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.TenantNetworkId; -import org.onosproject.vtnrsc.VirtualPortId; -import org.onosproject.vtnrsc.floatingip.FloatingIpService; - -import com.google.common.collect.Sets; - -/** - * Supports for update a floating IP. - */ -@Command(scope = "onos", name = "floatingip-update", - description = "Supports for updating a floating IP") -public class FloatingIpUpdateCommand extends AbstractShellCommand { - @Argument(index = 0, name = "id", description = "The floating IP identifier", - required = true, multiValued = false) - String id = null; - - @Option(name = "-n", aliases = "--networkId", description = "The network identifier of floating IP", - required = false, multiValued = false) - String networkId = null; - - @Option(name = "-t", aliases = "--tenantId", description = "The tenant identifier of floating IP", - required = false, multiValued = false) - String tenantId = null; - - @Option(name = "-r", aliases = "--routerId", description = "The router identifier of floating IP", - required = false, multiValued = false) - String routerId = null; - - @Option(name = "-p", aliases = "--portId", description = "The port identifier of floating IP", - required = false, multiValued = false) - String portId = null; - - @Option(name = "-s", aliases = "--status", description = "The status of floating IP", - required = false, multiValued = false) - String status = null; - - @Option(name = "-i", aliases = "--fixedIp", description = "The fixed IP of floating IP", - required = false, multiValued = false) - String fixedIp = null; - - @Option(name = "-l", aliases = "--floatingIp", description = "The floating IP of floating IP", - required = false, multiValued = false) - String floatingIp = null; - - @Override - protected void execute() { - FloatingIpService service = get(FloatingIpService.class); - FloatingIpId floatingIpId = FloatingIpId.of(id); - FloatingIp floatingIpStore = get(FloatingIpService.class).getFloatingIp(floatingIpId); - try { - FloatingIp floatingIpObj = new DefaultFloatingIp( - floatingIpId, - tenantId == null ? floatingIpStore.tenantId() - : TenantId.tenantId(tenantId), - networkId == null ? floatingIpStore.networkId() - : TenantNetworkId.networkId(networkId), - portId == null ? floatingIpStore.portId() - : VirtualPortId.portId(portId), - routerId == null ? floatingIpStore.routerId() - : RouterId.valueOf(routerId), - floatingIp == null ? floatingIpStore.floatingIp() - : IpAddress.valueOf(floatingIp), - fixedIp == null ? floatingIpStore.fixedIp() - : IpAddress.valueOf(fixedIp), - status == null ? floatingIpStore.status() - : Status.valueOf(status)); - Set<FloatingIp> floatingIpSet = Sets.newHashSet(floatingIpObj); - service.updateFloatingIps(floatingIpSet); - } catch (Exception e) { - print(null, e.getMessage()); - } - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/floatingip/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/floatingip/package-info.java deleted file mode 100644 index ac560771..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/floatingip/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Command line interface for floatingIP. - */ -package org.onosproject.vtnrsc.cli.floatingip; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/network/TenantNetworkCreateCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/network/TenantNetworkCreateCommand.java deleted file mode 100644 index bcfdacfa..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/network/TenantNetworkCreateCommand.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.network; - -import java.util.Set; - -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.vtnrsc.DefaultTenantNetwork; -import org.onosproject.vtnrsc.PhysicalNetwork; -import org.onosproject.vtnrsc.SegmentationId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.TenantNetwork; -import org.onosproject.vtnrsc.TenantNetworkId; -import org.onosproject.vtnrsc.tenantnetwork.TenantNetworkService; - -import com.google.common.collect.Sets; - -/** - * Supports for creating a TenantNetwork. - */ -@Command(scope = "onos", name = "tenantnetwork-create", - description = "Supports for creating a TenantNetwork") -public class TenantNetworkCreateCommand extends AbstractShellCommand { - - @Argument(index = 0, name = "id", description = "TenantNetwork network id", required = true, - multiValued = false) - String id = null; - - @Argument(index = 1, name = "tenantID", description = "The tenant id of TenantNetwork", - required = true, multiValued = false) - String tenantID = null; - - @Argument(index = 2, name = "type", description = "The type of TenantNetwork", required = true, - multiValued = false) - String type = null; - - @Argument(index = 3, name = "segmentationID", description = "The segmentation id of TenantNetwork", - required = true, multiValued = false) - String segmentationID = ""; - - @Option(name = "-n", aliases = "--name", description = "TenantNetwork name", required = false, - multiValued = false) - String name = null; - - @Option(name = "-a", aliases = "--adminStateUp", description = "TenantNetwork adminStateUp is true or false", - required = false, multiValued = false) - boolean adminStateUp = false; - - @Option(name = "-s", aliases = "--state", description = "The state of TenantNetwork", - required = false, multiValued = false) - String state = null; - - @Option(name = "-d", aliases = "--shared", description = "TenantNetwork is shared or not", - required = false, multiValued = false) - boolean shared = false; - - @Option(name = "-r", aliases = "--routerExternal", - description = "TenantNetwork is routerExternal or not", required = false, - multiValued = false) - boolean routerExternal = false; - - @Option(name = "-p", aliases = "--physicalNetwork", description = "The physical network of Tenant", - required = false, multiValued = false) - String physicalNetwork = ""; - - @Override - protected void execute() { - TenantNetworkService service = get(TenantNetworkService.class); - TenantNetwork network = new DefaultTenantNetwork(TenantNetworkId.networkId(id), name, - adminStateUp, - TenantNetwork.State.valueOf(state), - shared, TenantId.tenantId(tenantID), - routerExternal, - TenantNetwork.Type.valueOf(type), - PhysicalNetwork.physicalNetwork(physicalNetwork), - SegmentationId.segmentationId(segmentationID)); - - Set<TenantNetwork> networksSet = Sets.newHashSet(network); - service.createNetworks(networksSet); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/network/TenantNetworkQueryCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/network/TenantNetworkQueryCommand.java deleted file mode 100644 index 47ea83c2..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/network/TenantNetworkQueryCommand.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.network; - -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.vtnrsc.TenantNetwork; -import org.onosproject.vtnrsc.TenantNetworkId; -import org.onosproject.vtnrsc.tenantnetwork.TenantNetworkService; - -/** - * Supports for querying TenantNetworks by network id. - */ -@Command(scope = "onos", name = "tenantnetworks", description = "Supports for querying" - + "tenantNetworks by networkid") -public class TenantNetworkQueryCommand extends AbstractShellCommand { - - @Option(name = "-i", aliases = "--id", description = "TenantNetwork id", required = false, - multiValued = false) - String id = null; - - private static final String FMT = "networkId=%s, networkName=%s, segmentationId=%s," - + "tenantId=%s, type=%s, adminStateUp=%s"; - - @Override - protected void execute() { - TenantNetworkService service = get(TenantNetworkService.class); - if (id != null) { - TenantNetwork network = service.getNetwork(TenantNetworkId.networkId(id)); - printNetwork(network); - } else { - Iterable<TenantNetwork> networks = service.getNetworks(); - for (TenantNetwork network : networks) { - printNetwork(network); - } - } - } - - private void printNetwork(TenantNetwork network) { - if (network == null) { - return; - } - print(FMT, network.id(), network.name(), network.segmentationId(), - network.tenantId(), network.type(), network.adminStateUp()); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/network/TenantNetworkRemoveCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/network/TenantNetworkRemoveCommand.java deleted file mode 100644 index 0ea22853..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/network/TenantNetworkRemoveCommand.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.network; - -import java.util.Set; - -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.vtnrsc.TenantNetworkId; -import org.onosproject.vtnrsc.tenantnetwork.TenantNetworkService; - -import com.google.common.collect.Sets; - -/** - * Supports for removing a TenantNetwork by network id. - */ -@Command(scope = "onos", name = "tenantnetwork-remove", description = "Supports for removing" - + " a tenantNetwork by tenantNetworkid") -public class TenantNetworkRemoveCommand extends AbstractShellCommand { - - @Argument(index = 0, name = "id", description = "TenantNetwork neutronNetwork Id", - required = true, multiValued = false) - String id = null; - - @Override - protected void execute() { - TenantNetworkService service = get(TenantNetworkService.class); - Set<TenantNetworkId> networkIds = Sets.newHashSet(TenantNetworkId.networkId(id)); - service.removeNetworks(networkIds); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/network/TenantNetworkUpdateCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/network/TenantNetworkUpdateCommand.java deleted file mode 100644 index 2a738f72..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/network/TenantNetworkUpdateCommand.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.network; - -import java.util.Set; - -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.vtnrsc.DefaultTenantNetwork; -import org.onosproject.vtnrsc.PhysicalNetwork; -import org.onosproject.vtnrsc.SegmentationId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.TenantNetwork; -import org.onosproject.vtnrsc.TenantNetworkId; -import org.onosproject.vtnrsc.tenantnetwork.TenantNetworkService; - -import com.google.common.collect.Sets; - -/** - * Supports for updating a TenantNetwork. - */ -@Command(scope = "onos", name = "tenantnetwork-update", - description = "Supports for updating a TenantNetwork") -public class TenantNetworkUpdateCommand extends AbstractShellCommand { - - @Argument(index = 0, name = "id", description = "TenantNetwork network id", required = true, - multiValued = false) - String id = null; - - @Argument(index = 1, name = "tenantID", description = "The tenant id of TenantNetwork", - required = true, multiValued = false) - String tenantID = null; - - @Argument(index = 2, name = "type", description = "The type of TenantNetwork", required = true, - multiValued = false) - String type = null; - - @Argument(index = 3, name = "segmentationID", description = "The segmentation id of TenantNetwork", - required = true, multiValued = false) - String segmentationID = ""; - - @Option(name = "-n", aliases = "--name", description = "TenantNetwork name", required = false, - multiValued = false) - String name = null; - - @Option(name = "-a", aliases = "--adminStateUp", description = "TenantNetwork adminStateUp is true or false", - required = false, multiValued = false) - boolean adminStateUp = false; - - @Option(name = "-s", aliases = "--state", description = "The state of TenantNetwork", - required = false, multiValued = false) - String state = null; - - @Option(name = "-d", aliases = "--shared", description = "TenantNetwork is shared or not", - required = false, multiValued = false) - boolean shared = false; - - @Option(name = "-r", aliases = "--routerExternal", - description = "TenantNetwork is routerExternal or not", required = false, - multiValued = false) - boolean routerExternal = false; - - @Option(name = "-p", aliases = "--physicalNetwork", description = "The physical network of Tenant", - required = false, multiValued = false) - String physicalNetwork = ""; - - @Override - protected void execute() { - TenantNetworkService service = get(TenantNetworkService.class); - TenantNetwork network = new DefaultTenantNetwork(TenantNetworkId.networkId(id), name, - adminStateUp, - TenantNetwork.State.valueOf(state), - shared, TenantId.tenantId(tenantID), - routerExternal, - TenantNetwork.Type.valueOf(type), - PhysicalNetwork.physicalNetwork(physicalNetwork), - SegmentationId.segmentationId(segmentationID)); - - Set<TenantNetwork> networksSet = Sets.newHashSet(); - networksSet.add(network); - service.updateNetworks(networksSet); - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/network/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/network/package-info.java deleted file mode 100644 index 1622c800..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/network/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Command line interface for tenant networks. - */ -package org.onosproject.vtnrsc.cli.network; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/router/RouterCreateCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/router/RouterCreateCommand.java deleted file mode 100644 index 3a736deb..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/router/RouterCreateCommand.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.router; - -import java.util.ArrayList; -import java.util.List; -import java.util.Set; - -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.vtnrsc.DefaultRouter; -import org.onosproject.vtnrsc.Router; -import org.onosproject.vtnrsc.Router.Status; -import org.onosproject.vtnrsc.RouterId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.VirtualPortId; -import org.onosproject.vtnrsc.router.RouterService; - -import com.google.common.collect.Sets; - -/** - * Supports for create a router. - */ -@Command(scope = "onos", name = "router-create", - description = "Supports for creating a router") -public class RouterCreateCommand extends AbstractShellCommand { - @Argument(index = 0, name = "id", description = "The router identifier", - required = true, multiValued = false) - String id = null; - - @Argument(index = 1, name = "routerName", description = "The name of router", - required = true, multiValued = false) - String routerName = null; - - @Argument(index = 2, name = "tenantId", description = "The tenant identifier of router", - required = true, multiValued = false) - String tenantId = null; - - @Option(name = "-g", aliases = "--gatewayPortId", description = "The gatewayPort identifier of router", - required = false, multiValued = false) - String gatewayPortId = null; - - @Option(name = "-e", aliases = "--externalGatewayInfo", description = "The external gateway info of router", - required = false, multiValued = false) - String externalGatewayInfo = null; - - @Option(name = "-s", aliases = "--status", description = "The status of router", - required = false, multiValued = false) - String status = null; - - @Option(name = "-a", aliases = "--adminStateUp", description = "The boolean adminStateUp of router", - required = false, multiValued = false) - boolean adminStateUp = true; - - @Option(name = "-d", aliases = "--distributed", description = "The boolean distributed of router", - required = false, multiValued = false) - boolean distributed = false; - - @Override - protected void execute() { - RouterService service = get(RouterService.class); - try { - List<String> routes = new ArrayList<String>(); - Router router = new DefaultRouter( - RouterId.valueOf(id), - routerName, - adminStateUp, - status == null ? Status.ACTIVE - : Status.valueOf(status), - distributed, - null, - VirtualPortId.portId(gatewayPortId), - TenantId.tenantId(tenantId), - routes); - Set<Router> routerSet = Sets.newHashSet(router); - service.createRouters(routerSet); - } catch (Exception e) { - print(null, e.getMessage()); - } - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/router/RouterQueryCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/router/RouterQueryCommand.java deleted file mode 100644 index a8a4b585..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/router/RouterQueryCommand.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.router; - -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.vtnrsc.Router; -import org.onosproject.vtnrsc.RouterId; -import org.onosproject.vtnrsc.router.RouterService; - -/** - * Supports for query a list of router. - */ -@Command(scope = "onos", name = "routers", description = "Supports for creating a router") -public class RouterQueryCommand extends AbstractShellCommand { - @Option(name = "-i", aliases = "--id", description = "The router identifier", - required = false, multiValued = false) - String id = null; - - @Option(name = "-n", aliases = "--routerName", description = "The name of router", - required = false, multiValued = false) - String routerName = null; - - private static final String FMT = "routerId=%s, routerName=%s, tenantId=%s, gatewayPortId=%s," - + "externalGatewayInfo=%s, status=%s, adminStateUp=%s, distributed=%s, routers=%s"; - - @Override - protected void execute() { - RouterService service = get(RouterService.class); - if (id != null) { - Router router = service.getRouter(RouterId.valueOf(id)); - printFloatingIp(router); - } else if (routerName != null) { - Iterable<Router> routers = service.getRouters(); - if (routers == null) { - return; - } - for (Router router : routers) { - if (router.name().equals(routerName)) { - printFloatingIp(router); - return; - } - } - print(null, "The routerName is not existed"); - } else { - Iterable<Router> routers = service.getRouters(); - if (routers == null) { - return; - } - for (Router router : routers) { - printFloatingIp(router); - } - } - } - - private void printFloatingIp(Router router) { - print(FMT, router.id(), router.name(), router.tenantId(), - router.gatewayPortid(), router.externalGatewayInfo(), - router.status(), router.adminStateUp(), router.distributed(), - router.routes()); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/router/RouterRemoveCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/router/RouterRemoveCommand.java deleted file mode 100644 index b48434a1..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/router/RouterRemoveCommand.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.router; - -import java.util.Set; - -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.vtnrsc.Router; -import org.onosproject.vtnrsc.RouterId; -import org.onosproject.vtnrsc.router.RouterService; - -import com.google.common.collect.Sets; - -/** - * Supports for remove a router. - */ -@Command(scope = "onos", name = "router-remove", description = "Supports for removing a router") -public class RouterRemoveCommand extends AbstractShellCommand { - @Option(name = "-i", aliases = "--id", description = "The router identifier", - required = false, multiValued = false) - String id = null; - - @Option(name = "-n", aliases = "--routerName", description = "The name of router", - required = false, multiValued = false) - String routerName = null; - - @Override - protected void execute() { - RouterService service = get(RouterService.class); - if (id == null && routerName == null) { - print(null, "one of id, routerName should not be null"); - } - try { - Set<RouterId> routerSet = Sets.newHashSet(); - if (id != null) { - routerSet.add(RouterId.valueOf(id)); - service.removeRouters(routerSet); - } else { - Iterable<Router> routers = service.getRouters(); - if (routers == null) { - return; - } - for (Router router : routers) { - if (router.name().equals(routerName)) { - routerSet.add(router.id()); - service.removeRouters(routerSet); - return; - } - } - } - } catch (Exception e) { - print(null, e.getMessage()); - } - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/router/RouterUpdateCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/router/RouterUpdateCommand.java deleted file mode 100644 index 699874b3..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/router/RouterUpdateCommand.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.router; - -import java.util.ArrayList; -import java.util.List; -import java.util.Set; - -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.vtnrsc.DefaultRouter; -import org.onosproject.vtnrsc.Router; -import org.onosproject.vtnrsc.Router.Status; -import org.onosproject.vtnrsc.RouterId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.VirtualPortId; -import org.onosproject.vtnrsc.router.RouterService; - -import com.google.common.collect.Sets; - -/** - * Supports for update a router. - */ -@Command(scope = "onos", name = "router-update", description = "Supports for updating a router") -public class RouterUpdateCommand extends AbstractShellCommand { - @Argument(index = 0, name = "id", description = "The router identifier", - required = true, multiValued = false) - String id = null; - - @Option(name = "-r", aliases = "--routerName", description = "The name of router", - required = false, multiValued = false) - String routerName = null; - - @Option(name = "-t", aliases = "--tenantId", description = "The tenant identifier of router", - required = false, multiValued = false) - String tenantId = null; - - @Option(name = "-g", aliases = "--gatewayPortId", description = "The gatewayPort identifier of router", - required = false, multiValued = false) - String gatewayPortId = null; - - @Option(name = "-e", aliases = "--externalGatewayInfo", description = "The externalGatewayInfo of router", - required = false, multiValued = false) - String externalGatewayInfo = null; - - @Option(name = "-s", aliases = "--status", description = "The status of router", - required = false, multiValued = false) - String status = null; - - @Option(name = "-a", aliases = "--adminStateUp", description = "The boolean adminStateUp of router", - required = false, multiValued = false) - boolean adminStateUp = true; - - @Option(name = "-d", aliases = "--distributed", description = "The boolean distributed of router", - required = false, multiValued = false) - boolean distributed = false; - - @Override - protected void execute() { - RouterService service = get(RouterService.class); - RouterId routerId = RouterId.valueOf(id); - Router router = get(RouterService.class).getRouter(routerId); - try { - List<String> routes = new ArrayList<String>(); - Router routerObj = new DefaultRouter( - RouterId.valueOf(id), - routerName == null ? router.name() : routerName, - adminStateUp, - status == null ? Status.ACTIVE - : Status.valueOf(status), - distributed, - null, - gatewayPortId == null ? router.gatewayPortid() - : VirtualPortId.portId(gatewayPortId), - tenantId == null ? router.tenantId() - : TenantId.tenantId(tenantId), - routes); - Set<Router> routerSet = Sets.newHashSet(routerObj); - service.createRouters(routerSet); - } catch (Exception e) { - print(null, e.getMessage()); - } - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/router/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/router/package-info.java deleted file mode 100644 index 4f1768ac..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/router/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Command line interface for router. - */ -package org.onosproject.vtnrsc.cli.router; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/routerinterface/RouterInterfaceCreateCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/routerinterface/RouterInterfaceCreateCommand.java deleted file mode 100644 index a3a174c9..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/routerinterface/RouterInterfaceCreateCommand.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.routerinterface; - -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.vtnrsc.RouterId; -import org.onosproject.vtnrsc.RouterInterface; -import org.onosproject.vtnrsc.SubnetId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.VirtualPortId; -import org.onosproject.vtnrsc.routerinterface.RouterInterfaceService; - -/** - * Supports for create a router interface. - */ -@Command(scope = "onos", name = "routerinterface-create", description = "Supports for creating a router interface") -public class RouterInterfaceCreateCommand extends AbstractShellCommand { - @Argument(index = 0, name = "routerId", description = "The router identifier of router interface", - required = true, multiValued = false) - String routerId = null; - - @Argument(index = 1, name = "tenantId", description = "The tenant identifier of router interface", - required = true, multiValued = false) - String tenantId = null; - - @Argument(index = 2, name = "portId", description = "The port identifier of router interface", - required = true, multiValued = false) - String portId = null; - - @Argument(index = 3, name = "subnetId", description = "The subnet identifier of router interface", - required = true, multiValued = false) - String subnetId = null; - - @Override - protected void execute() { - RouterInterfaceService service = get(RouterInterfaceService.class); - try { - RouterInterface routerInterface = RouterInterface.routerInterface( - SubnetId.subnetId(subnetId), - VirtualPortId.portId(portId), - RouterId.valueOf(routerId), - TenantId.tenantId(tenantId)); - service.addRouterInterface(routerInterface); - } catch (Exception e) { - print(null, e.getMessage()); - } - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/routerinterface/RouterInterfaceQueryCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/routerinterface/RouterInterfaceQueryCommand.java deleted file mode 100644 index 5de35aee..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/routerinterface/RouterInterfaceQueryCommand.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.routerinterface; - -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.vtnrsc.RouterInterface; -import org.onosproject.vtnrsc.SubnetId; -import org.onosproject.vtnrsc.routerinterface.RouterInterfaceService; - -/** - * Supports for query a router interface. - */ -@Command(scope = "onos", name = "routerinterfaces", description = "Supports for querying a router interface") -public class RouterInterfaceQueryCommand extends AbstractShellCommand { - @Option(name = "-s", aliases = "--subnetId", description = "The subnet identifier of router interface", - required = false, multiValued = false) - String subnetId = null; - - private static final String FMT = "subnetId=%s, tenantId=%s, portId=%s, routerId=%s"; - - @Override - protected void execute() { - RouterInterfaceService service = get(RouterInterfaceService.class); - if (subnetId != null) { - RouterInterface routerInterface = service - .getRouterInterface(SubnetId.subnetId(subnetId)); - printRouterInterface(routerInterface); - } else { - Iterable<RouterInterface> routerInterfaces = service - .getRouterInterfaces(); - for (RouterInterface routerInterface : routerInterfaces) { - printRouterInterface(routerInterface); - } - } - } - - private void printRouterInterface(RouterInterface routerInterface) { - print(FMT, routerInterface.subnetId(), routerInterface.tenantId(), - routerInterface.portId(), routerInterface.routerId()); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/routerinterface/RouterInterfaceRemoveCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/routerinterface/RouterInterfaceRemoveCommand.java deleted file mode 100644 index 4e838e26..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/routerinterface/RouterInterfaceRemoveCommand.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.routerinterface; - -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.vtnrsc.RouterInterface; -import org.onosproject.vtnrsc.SubnetId; -import org.onosproject.vtnrsc.routerinterface.RouterInterfaceService; - -/** - * Supports for remove a router interface. - */ -@Command(scope = "onos", name = "routerinterface-remove", description = "Supports for removing a router interface") -public class RouterInterfaceRemoveCommand extends AbstractShellCommand { - @Option(name = "-s", aliases = "--subnetId", description = "The subnet identifier of router interface", - required = true, multiValued = false) - String subnetId = null; - - @Override - protected void execute() { - RouterInterfaceService service = get(RouterInterfaceService.class); - try { - RouterInterface routerInterface = service - .getRouterInterface(SubnetId.subnetId(subnetId)); - if (routerInterface == null) { - print(null, "subnet ID of interface doesn't exist"); - return; - } - service.removeRouterInterface(routerInterface); - } catch (Exception e) { - print(null, e.getMessage()); - } - - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/routerinterface/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/routerinterface/package-info.java deleted file mode 100644 index 7b82004e..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/routerinterface/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Command line interface for router interface. - */ -package org.onosproject.vtnrsc.cli.routerinterface; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/subnet/SubnetCreateCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/subnet/SubnetCreateCommand.java deleted file mode 100644 index de8cfe53..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/subnet/SubnetCreateCommand.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.subnet; - -import java.util.Set; - -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; -import org.onlab.packet.IpAddress; -import org.onlab.packet.IpAddress.Version; -import org.onlab.packet.IpPrefix; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.vtnrsc.AllocationPool; -import org.onosproject.vtnrsc.DefaultSubnet; -import org.onosproject.vtnrsc.HostRoute; -import org.onosproject.vtnrsc.Subnet; -import org.onosproject.vtnrsc.Subnet.Mode; -import org.onosproject.vtnrsc.SubnetId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.TenantNetworkId; -import org.onosproject.vtnrsc.subnet.SubnetService; - -import com.google.common.collect.Sets; - -/** - * Supports for creating a subnet. - */ -@Command(scope = "onos", name = "subnet-create", description = "Supports for creating a subnet") -public class SubnetCreateCommand extends AbstractShellCommand { - - @Argument(index = 0, name = "id", description = "Subnet Id", required = true, - multiValued = false) - String id = null; - - @Argument(index = 1, name = "subnetName", description = "Subnet String name", required = true, - multiValued = false) - String subnetName = null; - - @Argument(index = 2, name = "networkId", description = "Subnet Network Id", required = true, - multiValued = false) - String networkId = null; - - @Argument(index = 3, name = "tenantId", description = "Subnet Tenant Id", required = true, - multiValued = false) - String tenantId = null; - - @Option(name = "-i", aliases = "--ipVersion", description = "Subnet Version ipVersion", - required = false, multiValued = false) - Version ipVersion = null; - - @Option(name = "-c", aliases = "--cidr", description = "Subnet IpPrefix cidr", - required = false, multiValued = false) - String cidr = "0.0.0.0/0"; - - @Option(name = "-g", aliases = "--gatewayIp", description = "Subnet IpAddress gatewayIp", - required = false, multiValued = false) - String gatewayIp = "0.0.0.0"; - - @Option(name = "-d", aliases = "--dhcpEnabled", description = "Subnet boolean dhcpEnabled", - required = false, multiValued = false) - boolean dhcpEnabled = false; - - @Option(name = "-s", aliases = "--shared", description = "Subnet boolean shared", - required = false, multiValued = false) - boolean shared = false; - - @Option(name = "-m", aliases = "--ipV6AddressMode", - description = "Subnet Mode ipV6AddressMode", required = false, multiValued = false) - String ipV6AddressMode = null; - - @Option(name = "-r", aliases = "--ipV6RaMode", description = "Subnet Mode ipV6RaMode", - required = false, multiValued = false) - String ipV6RaMode = null; - - @Option(name = "-h", aliases = "--hostRoutes", description = "Subnet jsonnode hostRoutes", - required = false, multiValued = false) - Set<HostRoute> hostRoutes = Sets.newHashSet(); - - @Option(name = "-a", aliases = "--allocationPools", - description = "Subnet jsonnode allocationPools", required = false, multiValued = false) - Set<AllocationPool> allocationPools = Sets.newHashSet(); - - @Override - protected void execute() { - SubnetService service = get(SubnetService.class); - if (id == null || networkId == null || tenantId == null) { - print("id,networkId,tenantId can not be null"); - return; - } - Subnet subnet = new DefaultSubnet(SubnetId.subnetId(id), subnetName, - TenantNetworkId.networkId(networkId), - TenantId.tenantId(tenantId), ipVersion, - cidr == null ? null : IpPrefix.valueOf(cidr), - gatewayIp == null ? null : IpAddress.valueOf(gatewayIp), - dhcpEnabled, shared, hostRoutes, - ipV6AddressMode == null ? null : Mode.valueOf(ipV6AddressMode), - ipV6RaMode == null ? null : Mode.valueOf(ipV6RaMode), - allocationPools); - - Set<Subnet> subnetsSet = Sets.newHashSet(subnet); - service.createSubnets(subnetsSet); - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/subnet/SubnetQueryCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/subnet/SubnetQueryCommand.java deleted file mode 100644 index f5a94f0f..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/subnet/SubnetQueryCommand.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.subnet; - -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.vtnrsc.Subnet; -import org.onosproject.vtnrsc.SubnetId; -import org.onosproject.vtnrsc.subnet.SubnetService; - -/** - * Supports for querying a subnet. - */ -@Command(scope = "onos", name = "subnets", description = "Supports for querying a subnet") -public class SubnetQueryCommand extends AbstractShellCommand { - - @Option(name = "-i", aliases = "--id", description = "Subnet id", required = false, - multiValued = false) - String id = null; - - private static final String FMT = "subnetId=%s, networkId=%s, subnetName=%s," - + "tenantId=%s, cidr=%s, dhcpEnabled=%s, gatewayIp=%s," + "ipVersion=%s"; - - @Override - protected void execute() { - SubnetService service = get(SubnetService.class); - if (id != null) { - Subnet subnet = service.getSubnet(SubnetId.subnetId(id)); - printSubnet(subnet); - } else { - Iterable<Subnet> subnets = service.getSubnets(); - if (subnets == null) { - return; - } - for (Subnet subnet : subnets) { - printSubnet(subnet); - } - } - } - - private void printSubnet(Subnet subnet) { - print(FMT, subnet.id(), subnet.networkId(), subnet.subnetName(), - subnet.tenantId(), subnet.cidr(), subnet.dhcpEnabled(), subnet - .gatewayIp(), subnet.ipVersion()); - - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/subnet/SubnetRemoveCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/subnet/SubnetRemoveCommand.java deleted file mode 100644 index 241af87e..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/subnet/SubnetRemoveCommand.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.subnet; - -import java.util.Set; - -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.vtnrsc.SubnetId; -import org.onosproject.vtnrsc.subnet.SubnetService; - -import com.google.common.collect.Sets; - -/** - * Supports for removing a subnet. - */ -@Command(scope = "onos", name = "subnet-remove", description = "Supports for removing a subnet") -public class SubnetRemoveCommand extends AbstractShellCommand { - - @Argument(index = 0, name = "id", description = "Subnet SubnetId Id", required = true, - multiValued = false) - String id = null; - - @Override - protected void execute() { - SubnetService service = get(SubnetService.class); - Set<SubnetId> subnetsSet = Sets.newHashSet(); - subnetsSet.add(SubnetId.subnetId(id)); - service.removeSubnets(subnetsSet); - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/subnet/SubnetUpdateCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/subnet/SubnetUpdateCommand.java deleted file mode 100644 index c76ca5b2..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/subnet/SubnetUpdateCommand.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.subnet; - -import java.util.Set; - -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; -import org.onlab.packet.IpAddress; -import org.onlab.packet.IpAddress.Version; -import org.onlab.packet.IpPrefix; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.vtnrsc.AllocationPool; -import org.onosproject.vtnrsc.DefaultSubnet; -import org.onosproject.vtnrsc.HostRoute; -import org.onosproject.vtnrsc.Subnet; -import org.onosproject.vtnrsc.Subnet.Mode; -import org.onosproject.vtnrsc.SubnetId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.TenantNetworkId; -import org.onosproject.vtnrsc.subnet.SubnetService; - -import com.google.common.collect.Sets; - -/** - * Supports for updating a subnet. - */ -@Command(scope = "onos", name = "subnet-update", description = "Supports for updating a subnet") -public class SubnetUpdateCommand extends AbstractShellCommand { - - @Argument(index = 0, name = "id", description = "Subnet Id", required = true, - multiValued = false) - String id = null; - - @Argument(index = 1, name = "subnetName", description = "Subnet String name", required = true, - multiValued = false) - String subnetName = null; - - @Argument(index = 2, name = "networkId", description = "Subnet Network Id", required = true, - multiValued = false) - String networkId = null; - - @Argument(index = 3, name = "tenantId", description = "Subnet Tenant Id", required = true, - multiValued = false) - String tenantId = null; - - @Option(name = "-i", aliases = "--ipVersion", description = "Subnet Version ipVersion", - required = false, multiValued = false) - Version ipVersion = null; - - @Option(name = "-c", aliases = "--cidr", description = "Subnet IpPrefix cidr", required = false, - multiValued = false) - String cidr = "0.0.0.0/0"; - - @Option(name = "-g", aliases = "--gatewayIp", description = "Subnet IpAddress gatewayIp", - required = false, multiValued = false) - String gatewayIp = "0.0.0.0"; - - @Option(name = "-d", aliases = "--dhcpEnabled", description = "Subnet boolean dhcpEnabled", - required = false, multiValued = false) - boolean dhcpEnabled = false; - - @Option(name = "-s", aliases = "--shared", description = "Subnet boolean shared", required = false, - multiValued = false) - boolean shared = false; - - @Option(name = "-m", aliases = "--ipV6AddressMode", description = "Subnet Mode ipV6AddressMode", - required = false, multiValued = false) - String ipV6AddressMode = null; - - @Option(name = "-r", aliases = "--ipV6RaMode", description = "Subnet Mode ipV6RaMode", - required = false, multiValued = false) - String ipV6RaMode = null; - - @Option(name = "-h", aliases = "--hostRoutes", description = "Subnet jsonnode hostRoutes", - required = false, multiValued = false) - Set<HostRoute> hostRoutes = Sets.newHashSet(); - - @Option(name = "-a", aliases = "--allocationPools", - description = "Subnet jsonnode allocationPools", required = false, multiValued = false) - Set<AllocationPool> allocationPools = Sets.newHashSet(); - - @Override - protected void execute() { - SubnetService service = get(SubnetService.class); - if (id == null || networkId == null || tenantId == null) { - print("id,networkId,tenantId can not be null"); - return; - } - Subnet subnet = new DefaultSubnet(SubnetId.subnetId(id), subnetName, - TenantNetworkId.networkId(networkId), - TenantId.tenantId(tenantId), ipVersion, - cidr == null ? null : IpPrefix.valueOf(cidr), - gatewayIp == null ? null : IpAddress.valueOf(gatewayIp), - dhcpEnabled, shared, hostRoutes, - ipV6AddressMode == null ? null : Mode.valueOf(ipV6AddressMode), - ipV6RaMode == null ? null : Mode.valueOf(ipV6RaMode), - allocationPools); - Set<Subnet> subnetsSet = Sets.newHashSet(); - subnetsSet.add(subnet); - service.updateSubnets(subnetsSet); - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/subnet/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/subnet/package-info.java deleted file mode 100644 index b3a2ff51..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/subnet/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Command line interface for subnets. - */ -package org.onosproject.vtnrsc.cli.subnet; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/virtualport/VirtualPortCreateCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/virtualport/VirtualPortCreateCommand.java deleted file mode 100644 index 4c555e33..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/virtualport/VirtualPortCreateCommand.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.virtualport; - -import java.util.Map; -import java.util.Set; - -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; -import org.onlab.packet.MacAddress; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.net.DeviceId; -import org.onosproject.vtnrsc.AllowedAddressPair; -import org.onosproject.vtnrsc.BindingHostId; -import org.onosproject.vtnrsc.DefaultVirtualPort; -import org.onosproject.vtnrsc.FixedIp; -import org.onosproject.vtnrsc.SecurityGroup; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.TenantNetworkId; -import org.onosproject.vtnrsc.VirtualPort; -import org.onosproject.vtnrsc.VirtualPortId; -import org.onosproject.vtnrsc.virtualport.VirtualPortService; - -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; - -/** - * Supports for creating a virtualPort. - */ -@Command(scope = "onos", name = "virtualport-create", - description = "Supports for creating a virtualPort.") -public class VirtualPortCreateCommand extends AbstractShellCommand { - - @Argument(index = 0, name = "id", description = "virtualPort id.", required = true, - multiValued = false) - String id = null; - - @Argument(index = 1, name = "networkId", description = "network id.", required = true, - multiValued = false) - String networkId = null; - - @Argument(index = 2, name = "name", description = "virtualPort name.", required = true, - multiValued = false) - String name = null; - - @Argument(index = 3, name = "tenantId", description = "tenant id.", required = true, - multiValued = false) - String tenantId = null; - - @Argument(index = 4, name = "deviceId", description = "device id.", required = true, - multiValued = false) - String deviceId = null; - - @Option(name = "-a", aliases = "--adminStateUp", - description = "administrative status of the virtualPort which is true or false.", - required = false, multiValued = false) - Boolean adminStateUp = false; - - @Option(name = "-s", aliases = "--state", description = "virtualPort state.", required = false, - multiValued = false) - String state = null; - - @Option(name = "-m", aliases = "--macAddress", description = "MAC address.", required = false, - multiValued = false) - String macAddress = ""; - - @Option(name = "-d", aliases = "--deviceOwner", description = "ID of the entity that uses this " - + "virtualPort.", required = false, multiValued = false) - String deviceOwner = null; - - @Option(name = "-f", aliases = "--fixedIp", - description = "The IP address for the port,include the IP address " - + "and subnet identity.", required = false, multiValued = false) - FixedIp fixedIp = null; - - @Option(name = "-i", aliases = "--bindingHostId", description = "virtualPort bindingHostId.", - required = false, multiValued = false) - String bindingHostId = null; - - @Option(name = "-t", aliases = "--bindingvnicType", description = "virtualPort bindingvnicType.", - required = false, multiValued = false) - String bindingvnicType = null; - - @Option(name = "-v", aliases = "--bindingvifType", description = "virtualPort bindingvifType.", - required = false, multiValued = false) - String bindingvifType = null; - - @Option(name = "-b", aliases = "--bindingvnicDetails", - description = "virtualPort bindingvnicDetails.", required = false, multiValued = false) - String bindingvnicDetails = null; - - @Option(name = "-l", aliases = "--allowedAddress", description = "virtual allowedAddressPair.", - required = false, multiValued = false) - Set<AllowedAddressPair> allowedAddressPairs = Sets.newHashSet(); - - @Option(name = "-e", aliases = "--securityGroups", description = "virtualPort securityGroups.", - required = false, multiValued = false) - Set<SecurityGroup> securityGroups = Sets.newHashSet(); - - @Override - protected void execute() { - Map<String, String> strMap = Maps.newHashMap(); - strMap.putIfAbsent("name", name); - strMap.putIfAbsent("deviceOwner", deviceOwner); - strMap.putIfAbsent("bindingvnicType", bindingvnicType); - strMap.putIfAbsent("bindingvifType", bindingvifType); - strMap.putIfAbsent("bindingvnicDetails", bindingvnicDetails); - VirtualPortService service = get(VirtualPortService.class); - VirtualPort virtualPort = new DefaultVirtualPort(VirtualPortId.portId(id), - TenantNetworkId.networkId(networkId), - false, strMap, VirtualPort.State.ACTIVE, - MacAddress.valueOf(macAddress), - TenantId.tenantId(tenantId), - DeviceId.deviceId(deviceId), Sets.newHashSet(fixedIp), - BindingHostId.bindingHostId(bindingHostId), - allowedAddressPairs, securityGroups); - Set<VirtualPort> virtualPorts = Sets.newHashSet(virtualPort); - service.createPorts(virtualPorts); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/virtualport/VirtualPortQueryCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/virtualport/VirtualPortQueryCommand.java deleted file mode 100644 index 47126d1b..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/virtualport/VirtualPortQueryCommand.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.virtualport; - -import java.util.Collection; - -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.net.DeviceId; -import org.onosproject.vtnrsc.TenantNetworkId; -import org.onosproject.vtnrsc.VirtualPort; -import org.onosproject.vtnrsc.VirtualPortId; -import org.onosproject.vtnrsc.virtualport.VirtualPortService; - -/** - * Supports for querying virtualPorts. - */ -@Command(scope = "onos", name = "virtualports", description = "Supports for querying virtualPorts.") -public class VirtualPortQueryCommand extends AbstractShellCommand { - - @Option(name = "-v", aliases = "--vPortId", description = "virtualPort ID.", required = false, - multiValued = false) - String vPortId; - - @Option(name = "-n", aliases = "--networkId", description = "network ID.", required = false, - multiValued = false) - String networkId; - - @Option(name = "-d", aliases = "--deviceId", description = "device ID.", required = false, - multiValued = false) - String deviceId; - - @Option(name = "-t", aliases = "--tenantId", description = "tenant ID.", required = false, - multiValued = false) - String tenantId; - - private static final String FMT = "virtualPortId=%s, networkId=%s, name=%s," - + " tenantId=%s, deviceId=%s, adminStateUp=%s, state=%s," - + " macAddress=%s, deviceOwner=%s, fixedIp=%s, bindingHostId=%s," - + " bindingvnicType=%s, bindingvifType=%s, bindingvnicDetails=%s," - + " allowedAddress=%s, securityGroups=%s"; - - @Override - protected void execute() { - VirtualPortService service = get(VirtualPortService.class); - if (vPortId != null && networkId == null && deviceId == null && tenantId == null) { - VirtualPort port = service.getPort(VirtualPortId.portId(vPortId)); - printPort(port); - } else if (vPortId == null && networkId != null && deviceId == null && tenantId == null) { - Collection<VirtualPort> ports = service.getPorts(TenantNetworkId.networkId(networkId)); - printPorts(ports); - } else if (vPortId == null && networkId == null && deviceId != null && tenantId == null) { - Collection<VirtualPort> ports = service.getPorts(DeviceId.deviceId(deviceId)); - printPorts(ports); - } else if (vPortId == null && networkId == null && deviceId == null && tenantId != null) { - Collection<VirtualPort> ports = service.getPorts(DeviceId.deviceId(tenantId)); - printPorts(ports); - } else if (vPortId == null && networkId == null && deviceId == null && tenantId == null) { - Collection<VirtualPort> ports = service.getPorts(); - printPorts(ports); - } else { - print("cannot input more than one parameter"); - } - - } - - private void printPorts(Collection<VirtualPort> ports) { - for (VirtualPort port : ports) { - printPort(port); - } - } - - private void printPort(VirtualPort port) { - print(FMT, port.portId(), port.networkId(), port.name(), port.tenantId(), port.deviceId(), - port.adminStateUp(), port.state(), port.macAddress(), port.deviceOwner(), port - .fixedIps(), port.bindingHostId(), port.bindingVnicType(), - port.bindingVifType(), port.bindingVifDetails(), port.allowedAddressPairs(), - port.securityGroups()); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/virtualport/VirtualPortRemoveCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/virtualport/VirtualPortRemoveCommand.java deleted file mode 100644 index 1a3cb4f0..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/virtualport/VirtualPortRemoveCommand.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.virtualport; - -import java.util.Set; - -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.vtnrsc.VirtualPortId; -import org.onosproject.vtnrsc.virtualport.VirtualPortService; - -import com.google.common.collect.Sets; - -/** - * Supports for removing a virtualPort. - */ -@Command(scope = "onos", name = "virtualport-remove", - description = "Supports for removing a virtualPort.") -public class VirtualPortRemoveCommand extends AbstractShellCommand { - - @Argument(index = 0, name = "id", description = "virtualPort id.", required = true, - multiValued = false) - String id = null; - - @Override - protected void execute() { - VirtualPortService service = get(VirtualPortService.class); - Set<VirtualPortId> virtualPorts = Sets.newHashSet(VirtualPortId.portId(id)); - service.removePorts(virtualPorts); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/virtualport/VirtualPortUpdateCommand.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/virtualport/VirtualPortUpdateCommand.java deleted file mode 100644 index 6df4b23c..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/virtualport/VirtualPortUpdateCommand.java +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.cli.virtualport; - -import java.util.Map; -import java.util.Set; - -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.apache.karaf.shell.commands.Option; -import org.onlab.packet.MacAddress; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.net.DeviceId; -import org.onosproject.vtnrsc.AllowedAddressPair; -import org.onosproject.vtnrsc.BindingHostId; -import org.onosproject.vtnrsc.DefaultVirtualPort; -import org.onosproject.vtnrsc.FixedIp; -import org.onosproject.vtnrsc.SecurityGroup; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.TenantNetworkId; -import org.onosproject.vtnrsc.VirtualPort; -import org.onosproject.vtnrsc.VirtualPortId; -import org.onosproject.vtnrsc.virtualport.VirtualPortService; - -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; - -/** - * Supports for updating a virtualPort. - */ -@Command(scope = "onos", name = "virtualport-update", - description = "Supports for updating a virtualPort.") -public class VirtualPortUpdateCommand extends AbstractShellCommand { - - @Argument(index = 0, name = "id", description = "virtualPort id.", required = true, - multiValued = false) - String id = null; - - @Argument(index = 1, name = "networkId", description = "network id.", required = true, - multiValued = false) - String networkId = null; - - @Argument(index = 2, name = "name", description = "virtualPort name.", required = true, - multiValued = false) - String name = null; - - @Argument(index = 3, name = "tenantId", description = "tenant id.", required = true, - multiValued = false) - String tenantId = null; - - @Argument(index = 4, name = "deviceId", description = "device id.", required = true, - multiValued = false) - String deviceId = null; - - @Option(name = "-a", aliases = "--adminStateUp", - description = "administrative status of the virtualPort which is true or false.", - required = false, multiValued = false) - Boolean adminStateUp = false; - - @Option(name = "-s", aliases = "--state", description = "virtualPort state.", required = false, - multiValued = false) - String state = null; - - @Option(name = "-m", aliases = "--macAddress", description = "MAC address.", required = false, - multiValued = false) - String macAddress = ""; - - @Option(name = "-d", aliases = "--deviceOwner", - description = "ID of the entity that uses this " + "virtualPort.", required = false, - multiValued = false) - String deviceOwner = null; - - @Option(name = "-f", aliases = "--fixedIp", - description = "The IP address for the port,include the IP address " - + "and subnet identity.", required = false, multiValued = false) - FixedIp fixedIp = null; - - @Option(name = "-i", aliases = "--bindingHostId", description = "virtualPort bindingHostId.", - required = false, multiValued = false) - String bindingHostId = ""; - - @Option(name = "-t", aliases = "--bindingvnicType", - description = "virtualPort bindingvnicType.", required = false, multiValued = false) - String bindingvnicType = null; - - @Option(name = "-v", aliases = "--bindingvifType", description = "virtualPort bindingvifType.", - required = false, multiValued = false) - String bindingvifType = null; - - @Option(name = "-b", aliases = "--bindingvnicDetails", - description = "virtualPort bindingvnicDetails.", required = false, multiValued = false) - String bindingvnicDetails = null; - - @Option(name = "-l", aliases = "--allowedAddress", description = "virtual allowedAddressPair.", - required = false, multiValued = false) - Set<AllowedAddressPair> allowedAddressPairs = Sets.newHashSet(); - - @Option(name = "-e", aliases = "--securityGroups", description = "virtualPort securityGroups.", - required = false, multiValued = false) - Set<SecurityGroup> securityGroups = Sets.newHashSet(); - - @Override - protected void execute() { - VirtualPortService service = get(VirtualPortService.class); - Map<String, String> strMap = Maps.newHashMap(); - strMap.putIfAbsent("name", name); - strMap.putIfAbsent("deviceOwner", deviceOwner); - strMap.putIfAbsent("bindingvnicType", bindingvnicType); - strMap.putIfAbsent("bindingvifType", bindingvifType); - strMap.putIfAbsent("bindingvnicDetails", bindingvnicDetails); - VirtualPort virtualPort = new DefaultVirtualPort(VirtualPortId.portId(id), - TenantNetworkId.networkId(networkId), - false, strMap, VirtualPort.State.ACTIVE, - MacAddress.valueOf(macAddress), - TenantId.tenantId(tenantId), - DeviceId.deviceId(deviceId), Sets.newHashSet(fixedIp), - BindingHostId.bindingHostId(bindingHostId), - allowedAddressPairs, securityGroups); - Set<VirtualPort> virtualPorts = Sets.newHashSet(virtualPort); - service.updatePorts(virtualPorts); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/virtualport/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/virtualport/package-info.java deleted file mode 100644 index fac214a1..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/cli/virtualport/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Command line interface for virtual ports. - */ -package org.onosproject.vtnrsc.cli.virtualport; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/event/VtnRscEvent.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/event/VtnRscEvent.java deleted file mode 100644 index ce3faae7..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/event/VtnRscEvent.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.event; - -import org.onosproject.event.AbstractEvent; - - -/** - * Describes network vtnrsc event. - */ -public class VtnRscEvent - extends AbstractEvent<VtnRscEvent.Type, VtnRscEventFeedback> { - - /** - * Type of vtnrsc events. - */ - public enum Type { - /** - * Signifies that floating IP has create. - */ - FLOATINGIP_PUT, - /** - * Signifies that floating IP has delete. - */ - FLOATINGIP_DELETE, - /** - * Signifies that router has create. - */ - ROUTER_PUT, - /** - * Signifies that router has delete. - */ - ROUTER_DELETE, - /** - * Signifies that router interface has add. - */ - ROUTER_INTERFACE_PUT, - /** - * Signifies that router interface has remove. - */ - ROUTER_INTERFACE_DELETE, - /** - * Signifies that port-pair has add. - */ - PORT_PAIR_PUT, - /** - * Signifies that port-pair has remove. - */ - PORT_PAIR_DELETE, - /** - * Signifies that port-pair has update. - */ - PORT_PAIR_UPDATE, - /** - * Signifies that port-pair-group has add. - */ - PORT_PAIR_GROUP_PUT, - /** - * Signifies that port-pair-group has remove. - */ - PORT_PAIR_GROUP_DELETE, - /** - * Signifies that port-pair-group has update. - */ - PORT_PAIR_GROUP_UPDATE, - /** - * Signifies that flow-classifier has add. - */ - FLOW_CLASSIFIER_PUT, - /** - * Signifies that flow-classifier has remove. - */ - FLOW_CLASSIFIER_DELETE, - /** - * Signifies that flow-classifier has update. - */ - FLOW_CLASSIFIER_UPDATE, - /** - * Signifies that port-chain has add. - */ - PORT_CHAIN_PUT, - /** - * Signifies that port-chain has remove. - */ - PORT_CHAIN_DELETE, - /** - * Signifies that port-chain has update. - */ - PORT_CHAIN_UPDATE - } - - /** - * Creates an event of a given type and for the specified vtn event feedback. - * - * @param type Vtnrsc event type - * @param vtnFeedback event VtnrscEventFeedback subject - */ - public VtnRscEvent(Type type, VtnRscEventFeedback vtnFeedback) { - super(type, vtnFeedback); - } - - /** - * Creates an event of a given type and for the specified vtn event feedback. - * - * @param type Vtnrsc event type - * @param vtnFeedback event VtnrscEventFeedback subject - * @param time occurrence time - */ - public VtnRscEvent(Type type, VtnRscEventFeedback vtnFeedback, long time) { - super(type, vtnFeedback, time); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/event/VtnRscEventFeedback.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/event/VtnRscEventFeedback.java deleted file mode 100644 index 112c6411..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/event/VtnRscEventFeedback.java +++ /dev/null @@ -1,252 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.event; - -import java.util.Objects; - -import org.onosproject.vtnrsc.FloatingIp; -import org.onosproject.vtnrsc.Router; -import org.onosproject.vtnrsc.RouterInterface; -import org.onosproject.vtnrsc.PortPair; -import org.onosproject.vtnrsc.PortPairGroup; -import org.onosproject.vtnrsc.FlowClassifier; -import org.onosproject.vtnrsc.PortChain; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -/** - * Representation of a VtnRsc event feedback. - */ -public class VtnRscEventFeedback { - private final FloatingIp floaingtIp; - private final Router router; - private final RouterInterface routerInterface; - private final PortPair portPair; - private final PortPairGroup portPairGroup; - private final FlowClassifier flowClassifier; - private final PortChain portChain; - - /** - * Creates VtnRscEventFeedback object. - * - * @param floatingIp the floating Ip - */ - public VtnRscEventFeedback(FloatingIp floatingIp) { - this.floaingtIp = checkNotNull(floatingIp, "floaintIp cannot be null"); - this.router = null; - this.routerInterface = null; - this.portPair = null; - this.portPairGroup = null; - this.flowClassifier = null; - this.portChain = null; - } - - /** - * Creates VtnRscEventFeedback object. - * - * @param router the router - */ - public VtnRscEventFeedback(Router router) { - this.floaingtIp = null; - this.router = checkNotNull(router, "router cannot be null"); - this.routerInterface = null; - this.portPair = null; - this.portPairGroup = null; - this.flowClassifier = null; - this.portChain = null; - } - - /** - * Creates VtnRscEventFeedback object. - * - * @param routerInterface the router interface - */ - public VtnRscEventFeedback(RouterInterface routerInterface) { - this.floaingtIp = null; - this.router = null; - this.routerInterface = checkNotNull(routerInterface, - "routerInterface cannot be null"); - this.portPair = null; - this.portPairGroup = null; - this.flowClassifier = null; - this.portChain = null; - } - - /** - * Creates VtnRscEventFeedback object. - * - * @param portPair the Port-Pair - */ - public VtnRscEventFeedback(PortPair portPair) { - this.floaingtIp = null; - this.router = null; - this.routerInterface = null; - this.portPair = checkNotNull(portPair, - "Port-Pair cannot be null"); - this.portPairGroup = null; - this.flowClassifier = null; - this.portChain = null; - } - - /** - * Creates VtnRscEventFeedback object. - * - * @param portPairGroup the Port-Pair-Group - */ - public VtnRscEventFeedback(PortPairGroup portPairGroup) { - this.floaingtIp = null; - this.router = null; - this.routerInterface = null; - this.portPair = null; - this.portPairGroup = checkNotNull(portPairGroup, - "Port-Pair-Group cannot be null"); - this.flowClassifier = null; - this.portChain = null; - } - - /** - * Creates VtnRscEventFeedback object. - * - * @param flowClassifier the Flow-Classifier - */ - public VtnRscEventFeedback(FlowClassifier flowClassifier) { - this.floaingtIp = null; - this.router = null; - this.routerInterface = null; - this.portPair = null; - this.portPairGroup = null; - this.flowClassifier = checkNotNull(flowClassifier, - "Flow-Classifier cannot be null"); - this.portChain = null; - } - - /** - * Creates VtnRscEventFeedback object. - * - * @param portChain the Port-Chain - */ - public VtnRscEventFeedback(PortChain portChain) { - this.floaingtIp = null; - this.router = null; - this.routerInterface = null; - this.portPair = null; - this.portPairGroup = null; - this.flowClassifier = null; - this.portChain = checkNotNull(portChain, - "Port-Chain cannot be null"); - } - - /** - * Returns floating IP. - * - * @return floaingtIp the floating IP - */ - public FloatingIp floatingIp() { - return floaingtIp; - } - - /** - * Returns router. - * - * @return router the router - */ - public Router router() { - return router; - } - - /** - * Returns router interface. - * - * @return routerInterface the router interface - */ - public RouterInterface routerInterface() { - return routerInterface; - } - - /** - * Returns Port-Pair. - * - * @return portPair the Port-Pair - */ - public PortPair portPair() { - return portPair; - } - - /** - * Returns Port-Pair-Group. - * - * @return portPairGroup the Port-Pair-Group - */ - public PortPairGroup portPairGroup() { - return portPairGroup; - } - - /** - * Returns Flow-Classifier. - * - * @return flowClassifier the Flow-Classifier - */ - public FlowClassifier flowClassifier() { - return flowClassifier; - } - - /** - * Returns Port-Chain. - * - * @return portChain the Port-Chain - */ - public PortChain portChain() { - return portChain; - } - - @Override - public int hashCode() { - return Objects.hash(floaingtIp, router, routerInterface, portPair, - portPairGroup, flowClassifier, portChain); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof VtnRscEventFeedback) { - final VtnRscEventFeedback that = (VtnRscEventFeedback) obj; - return Objects.equals(this.floaingtIp, that.floaingtIp) - && Objects.equals(this.router, that.router) - && Objects.equals(this.routerInterface, that.routerInterface) - && Objects.equals(this.portPair, that.portPair) - && Objects.equals(this.portPairGroup, that.portPairGroup) - && Objects.equals(this.flowClassifier, that.flowClassifier) - && Objects.equals(this.portChain, that.portChain); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("router", router) - .add("floaingtIp", floaingtIp) - .add("routerInterface", routerInterface) - .add("portPair", portPair) - .add("portPairGroup", portPairGroup) - .add("flowClassifier", flowClassifier) - .add("portChain", portChain) - .toString(); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/event/VtnRscListener.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/event/VtnRscListener.java deleted file mode 100644 index fdd67552..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/event/VtnRscListener.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onosproject.vtnrsc.event; - -import org.onosproject.event.EventListener; - -/** - * Entity capable of VtnRsc related events. - */ -public interface VtnRscListener extends EventListener<VtnRscEvent> { - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/event/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/event/package-info.java deleted file mode 100644 index c1575ad3..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/event/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Event of VtnRsc for VtnRsc service. - */ -package org.onosproject.vtnrsc.event; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/FloatingIpEvent.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/FloatingIpEvent.java deleted file mode 100644 index f76007f7..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/FloatingIpEvent.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.floatingip; - -import org.onosproject.event.AbstractEvent; -import org.onosproject.vtnrsc.FloatingIp; - -/** - * Describes network Floating IP event. - */ -public class FloatingIpEvent - extends AbstractEvent<FloatingIpEvent.Type, FloatingIp> { - /** - * Type of Floating IP events. - */ - public enum Type { - /** - * Signifies that Floating IP has been created. - */ - FLOATINGIP_PUT, - /** - * Signifies that Floating IP has been deleted. - */ - FLOATINGIP_DELETE - } - - /** - * Creates an event of a given type and for the specified Floating IP. - * - * @param type Floating IP event type - * @param floagingIp Floating IP subject - */ - public FloatingIpEvent(Type type, FloatingIp floagingIp) { - super(type, floagingIp); - } - - /** - * Creates an event of a given type and for the specified Floating IP. - * - * @param type Floating IP event type - * @param floagingIp Floating IP subject - * @param time occurrence time - */ - public FloatingIpEvent(Type type, FloatingIp floagingIp, long time) { - super(type, floagingIp, time); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/FloatingIpListener.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/FloatingIpListener.java deleted file mode 100644 index a42af136..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/FloatingIpListener.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.floatingip; - -import org.onosproject.event.EventListener; - -/** - * Entity capable of Floating IP related events. - */ -public interface FloatingIpListener extends EventListener<FloatingIpEvent> { - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/FloatingIpService.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/FloatingIpService.java deleted file mode 100644 index 3f6f2515..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/FloatingIpService.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.floatingip; - -import java.util.Collection; - -import org.onlab.packet.IpAddress; -import org.onosproject.vtnrsc.FloatingIp; -import org.onosproject.vtnrsc.FloatingIpId; -import org.onosproject.vtnrsc.TenantId; - -/** - * Service for interacting with the inventory of floating IP. - */ -public interface FloatingIpService { - /** - * Returns exists or not of specific floatingIp identifier. - * - * @param floatingIpId floatingIp identifier - * @return true or false - */ - boolean exists(FloatingIpId floatingIpId); - - /** - * Returns is used or not of specific floating IP address. - * - * @param floatingIpAddr floatingIp address - * @param floatingIpId floatingIp identifier - * @return true or false - */ - boolean floatingIpIsUsed(IpAddress floatingIpAddr, FloatingIpId floatingIpId); - - /** - * Returns is used or not of specific fixed IP address. - * - * @param fixedIpAddr fixedIp address - * @param tenantId the tenant identifier of floating IP - * @param floatingIpId floatingIp identifier - * @return true or false - */ - boolean fixedIpIsUsed(IpAddress fixedIpAddr, TenantId tenantId, FloatingIpId floatingIpId); - - /** - * Returns a collection of the currently known floating IP. - * - * @return collection of floating IP - */ - Collection<FloatingIp> getFloatingIps(); - - /** - * Returns the floatingIp with the specified identifier. - * - * @param floatingIpId floatingIp identifier - * @return floatingIp or null if one with the given identifier is not known - */ - FloatingIp getFloatingIp(FloatingIpId floatingIpId); - - /** - * Creates new floatingIps. - * - * @param floatingIps the collection of floatingIp - * @return true if the identifier floatingIp has been created right - */ - boolean createFloatingIps(Collection<FloatingIp> floatingIps); - - /** - * Updates existing floatingIps. - * - * @param floatingIps the collection of floatingIp - * @return true if all floatingIp were updated successfully - */ - boolean updateFloatingIps(Collection<FloatingIp> floatingIps); - - /** - * Removes the specified floatingIp from the store. - * - * @param floatingIpIds the collection of floatingIp identifier - * @return true if remove identifier floatingIp successfully - */ - boolean removeFloatingIps(Collection<FloatingIpId> floatingIpIds); - - /** - * Adds the specified listener to floating Ip manager. - * - * @param listener floating Ip listener - */ - void addListener(FloatingIpListener listener); - - /** - * Removes the specified listener to floating Ip manager. - * - * @param listener floating Ip listener - */ - void removeListener(FloatingIpListener listener); -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/impl/FloatingIpManager.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/impl/FloatingIpManager.java deleted file mode 100644 index ce9bb21f..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/impl/FloatingIpManager.java +++ /dev/null @@ -1,343 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.floatingip.impl; - -import static com.google.common.base.Preconditions.checkNotNull; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.Collection; -import java.util.Collections; -import java.util.Set; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onlab.packet.IpAddress; -import org.onlab.util.KryoNamespace; -import org.onosproject.core.ApplicationId; -import org.onosproject.core.CoreService; -import org.onosproject.store.serializers.KryoNamespaces; -import org.onosproject.store.service.EventuallyConsistentMap; -import org.onosproject.store.service.EventuallyConsistentMapEvent; -import org.onosproject.store.service.EventuallyConsistentMapListener; -import org.onosproject.store.service.StorageService; -import org.onosproject.store.service.WallClockTimestamp; -import org.onosproject.vtnrsc.DefaultFloatingIp; -import org.onosproject.vtnrsc.FloatingIp; -import org.onosproject.vtnrsc.FloatingIpId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.TenantNetworkId; -import org.onosproject.vtnrsc.VirtualPortId; -import org.onosproject.vtnrsc.RouterId; -import org.onosproject.vtnrsc.floatingip.FloatingIpEvent; -import org.onosproject.vtnrsc.floatingip.FloatingIpListener; -import org.onosproject.vtnrsc.floatingip.FloatingIpService; -import org.onosproject.vtnrsc.router.RouterService; -import org.onosproject.vtnrsc.tenantnetwork.TenantNetworkService; -import org.onosproject.vtnrsc.virtualport.VirtualPortService; -import org.slf4j.Logger; - -import com.google.common.collect.Sets; - -/** - * Provides implementation of the FloatingIp service. - */ -@Component(immediate = true) -@Service -public class FloatingIpManager implements FloatingIpService { - private static final String FLOATINGIP_ID_NOT_NULL = "Floatingip ID cannot be null"; - private static final String FLOATINGIP_NOT_NULL = "Floatingip cannot be null"; - private static final String FLOATINGIP = "vtn-floatingip-store"; - private static final String VTNRSC_APP = "org.onosproject.vtnrsc"; - private static final String LISTENER_NOT_NULL = "Listener cannot be null"; - private static final String EVENT_NOT_NULL = "event cannot be null"; - - private final Logger log = getLogger(getClass()); - private final Set<FloatingIpListener> listeners = Sets - .newCopyOnWriteArraySet(); - private EventuallyConsistentMapListener<FloatingIpId, FloatingIp> floatingIpListener = - new InnerFloatingIpStoreListener(); - protected EventuallyConsistentMap<FloatingIpId, FloatingIp> floatingIpStore; - protected ApplicationId appId; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected StorageService storageService; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected CoreService coreService; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected TenantNetworkService tenantNetworkService; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected VirtualPortService virtualPortService; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected RouterService routerService; - - @Activate - public void activate() { - appId = coreService.registerApplication(VTNRSC_APP); - KryoNamespace.Builder serializer = KryoNamespace - .newBuilder() - .register(KryoNamespaces.API) - .register(FloatingIp.class, FloatingIpId.class, - TenantNetworkId.class, TenantId.class, - FloatingIp.Status.class, RouterId.class, - VirtualPortId.class, DefaultFloatingIp.class); - floatingIpStore = storageService - .<FloatingIpId, FloatingIp>eventuallyConsistentMapBuilder() - .withName(FLOATINGIP).withSerializer(serializer) - .withTimestampProvider((k, v) -> new WallClockTimestamp()) - .build(); - floatingIpStore.addListener(floatingIpListener); - log.info("Started"); - } - - @Deactivate - public void deactivate() { - floatingIpStore.removeListener(floatingIpListener); - floatingIpStore.destroy(); - listeners.clear(); - log.info("Stopped"); - } - - @Override - public Collection<FloatingIp> getFloatingIps() { - return Collections.unmodifiableCollection(floatingIpStore.values()); - } - - @Override - public FloatingIp getFloatingIp(FloatingIpId floatingIpId) { - checkNotNull(floatingIpId, FLOATINGIP_ID_NOT_NULL); - return floatingIpStore.get(floatingIpId); - } - - @Override - public boolean exists(FloatingIpId floatingIpId) { - checkNotNull(floatingIpId, FLOATINGIP_ID_NOT_NULL); - return floatingIpStore.containsKey(floatingIpId); - } - - @Override - public boolean floatingIpIsUsed(IpAddress floatingIpAddr, - FloatingIpId floatingIpId) { - checkNotNull(floatingIpAddr, "Floating IP address cannot be null"); - checkNotNull(floatingIpId, "Floating IP Id cannot be null"); - Collection<FloatingIp> floatingIps = getFloatingIps(); - for (FloatingIp floatingIp : floatingIps) { - if (floatingIp.floatingIp().equals(floatingIpAddr) - && !floatingIp.id().equals(floatingIpId)) { - return true; - } - } - return false; - } - - @Override - public boolean fixedIpIsUsed(IpAddress fixedIpAddr, TenantId tenantId, - FloatingIpId floatingIpId) { - checkNotNull(fixedIpAddr, "Fixed IP address cannot be null"); - checkNotNull(tenantId, "Tenant Id cannot be null"); - checkNotNull(floatingIpId, "Floating IP Id cannot be null"); - Collection<FloatingIp> floatingIps = getFloatingIps(); - for (FloatingIp floatingIp : floatingIps) { - IpAddress fixedIp = floatingIp.fixedIp(); - if (fixedIp != null) { - if (fixedIp.equals(fixedIpAddr) - && floatingIp.tenantId().equals(tenantId) - && !floatingIp.id().equals(floatingIpId)) { - return true; - } - } - } - return false; - } - - @Override - public boolean createFloatingIps(Collection<FloatingIp> floatingIps) { - checkNotNull(floatingIps, FLOATINGIP_NOT_NULL); - boolean result = true; - for (FloatingIp floatingIp : floatingIps) { - verifyFloatingIpData(floatingIp); - if (floatingIp.portId() != null) { - floatingIpStore.put(floatingIp.id(), floatingIp); - if (!floatingIpStore.containsKey(floatingIp.id())) { - log.debug("The floating Ip is created failed whose identifier is {}", - floatingIp.id().toString()); - result = false; - } - } else { - FloatingIp oldFloatingIp = floatingIpStore.get(floatingIp.id()); - if (oldFloatingIp != null) { - floatingIpStore.remove(floatingIp.id(), oldFloatingIp); - if (floatingIpStore.containsKey(floatingIp.id())) { - log.debug("The floating Ip is created failed whose identifier is {}", - floatingIp.id().toString()); - result = false; - } - } - } - } - return result; - } - - @Override - public boolean updateFloatingIps(Collection<FloatingIp> floatingIps) { - checkNotNull(floatingIps, FLOATINGIP_NOT_NULL); - boolean result = true; - for (FloatingIp floatingIp : floatingIps) { - verifyFloatingIpData(floatingIp); - if (floatingIp.portId() != null) { - floatingIpStore.put(floatingIp.id(), floatingIp); - if (!floatingIpStore.containsKey(floatingIp.id())) { - log.debug("The floating Ip is updated failed whose identifier is {}", - floatingIp.id().toString()); - result = false; - } - } else { - FloatingIp oldFloatingIp = floatingIpStore.get(floatingIp.id()); - if (oldFloatingIp != null) { - floatingIpStore.remove(floatingIp.id(), oldFloatingIp); - if (floatingIpStore.containsKey(floatingIp.id())) { - log.debug("The floating Ip is updated failed whose identifier is {}", - floatingIp.id().toString()); - result = false; - } - } - } - } - return result; - } - - @Override - public boolean removeFloatingIps(Collection<FloatingIpId> floatingIpIds) { - checkNotNull(floatingIpIds, FLOATINGIP_ID_NOT_NULL); - boolean result = true; - for (FloatingIpId floatingIpId : floatingIpIds) { - if (!floatingIpStore.containsKey(floatingIpId)) { - log.debug("The floatingIp is not exist whose identifier is {}", - floatingIpId.toString()); - throw new IllegalArgumentException( - "FloatingIP ID doesn't exist"); - } - FloatingIp floatingIp = floatingIpStore.get(floatingIpId); - floatingIpStore.remove(floatingIpId, floatingIp); - if (floatingIpStore.containsKey(floatingIpId)) { - log.debug("The floating Ip is deleted failed whose identifier is {}", - floatingIpId.toString()); - result = false; - } - } - return result; - } - - @Override - public void addListener(FloatingIpListener listener) { - checkNotNull(listener, LISTENER_NOT_NULL); - listeners.add(listener); - } - - @Override - public void removeListener(FloatingIpListener listener) { - checkNotNull(listener, LISTENER_NOT_NULL); - listeners.add(listener); - } - - /** - * Verifies validity of FloatingIp data. - * - * @param floatingIps floatingIp instance - */ - private void verifyFloatingIpData(FloatingIp floatingIps) { - checkNotNull(floatingIps, FLOATINGIP_NOT_NULL); - if (!tenantNetworkService.exists(floatingIps.networkId())) { - log.debug("The network identifier {} that the floating Ip {} create for is not exist", - floatingIps.networkId().toString(), floatingIps.id() - .toString()); - throw new IllegalArgumentException( - "Floating network ID doesn't exist"); - } - - VirtualPortId portId = floatingIps.portId(); - if (portId != null && !virtualPortService.exists(portId)) { - log.debug("The port identifier {} that the floating Ip {} create for is not exist", - floatingIps.portId().toString(), floatingIps.id() - .toString()); - throw new IllegalArgumentException("Port ID doesn't exist"); - } - - RouterId routerId = floatingIps.routerId(); - if (routerId != null && !routerService.exists(routerId)) { - log.debug("The router identifier {} that the floating Ip {} create for is not exist", - floatingIps.routerId().toString(), floatingIps.id() - .toString()); - throw new IllegalArgumentException("Router ID doesn't exist"); - } - - if (floatingIpIsUsed(floatingIps.floatingIp(), floatingIps.id())) { - log.debug("The floaing Ip {} that the floating Ip {} create for is used", - floatingIps.floatingIp().toString(), floatingIps.id() - .toString()); - throw new IllegalArgumentException( - "The floating IP address is used"); - } - - IpAddress fixedIp = floatingIps.fixedIp(); - if (fixedIp != null - && fixedIpIsUsed(fixedIp, floatingIps.tenantId(), - floatingIps.id())) { - log.debug("The fixed Ip {} that the floating Ip {} create for is used", - floatingIps.fixedIp().toString(), floatingIps.id() - .toString()); - throw new IllegalArgumentException("The fixed IP address is used"); - } - } - - private class InnerFloatingIpStoreListener - implements - EventuallyConsistentMapListener<FloatingIpId, FloatingIp> { - - @Override - public void event(EventuallyConsistentMapEvent<FloatingIpId, FloatingIp> event) { - checkNotNull(event, EVENT_NOT_NULL); - FloatingIp floatingIp = event.value(); - if (EventuallyConsistentMapEvent.Type.PUT == event.type()) { - notifyListeners(new FloatingIpEvent( - FloatingIpEvent.Type.FLOATINGIP_PUT, - floatingIp)); - } - if (EventuallyConsistentMapEvent.Type.REMOVE == event.type()) { - notifyListeners(new FloatingIpEvent( - FloatingIpEvent.Type.FLOATINGIP_DELETE, - floatingIp)); - } - } - } - - /** - * Notifies specify event to all listeners. - * - * @param event Floating IP event - */ - private void notifyListeners(FloatingIpEvent event) { - checkNotNull(event, EVENT_NOT_NULL); - listeners.forEach(listener -> listener.event(event)); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/impl/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/impl/package-info.java deleted file mode 100644 index c638eba0..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/impl/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Provides implementation of the FloatingIp service. - */ -package org.onosproject.vtnrsc.floatingip.impl; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/package-info.java deleted file mode 100644 index 274cbdd0..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Service for interacting with the inventory of FloatingIp. - */ -package org.onosproject.vtnrsc.floatingip; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/FlowClassifierEvent.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/FlowClassifierEvent.java deleted file mode 100644 index d81ab48a..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/FlowClassifierEvent.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.flowclassifier; - -import org.onosproject.event.AbstractEvent; -import org.onosproject.vtnrsc.FlowClassifier; - -/** - * Describes network Flow-Classifier event. - */ -public class FlowClassifierEvent extends AbstractEvent<FlowClassifierEvent.Type, FlowClassifier> { - /** - * Type of flow-classifier events. - */ - public enum Type { - /** - * Signifies that flow-classifier has been created. - */ - FLOW_CLASSIFIER_PUT, - /** - * Signifies that flow-classifier has been deleted. - */ - FLOW_CLASSIFIER_DELETE, - /** - * Signifies that flow-classifier has been updated. - */ - FLOW_CLASSIFIER_UPDATE - } - - /** - * Creates an event of a given type and for the specified Flow-Classifier. - * - * @param type Flow-Classifier event type - * @param flowClassifier Flow-Classifier subject - */ - public FlowClassifierEvent(Type type, FlowClassifier flowClassifier) { - super(type, flowClassifier); - } - - /** - * Creates an event of a given type and for the specified Flow-Classifier. - * - * @param type Flow-Classifier event type - * @param flowClassifier Flow-Classifier subject - * @param time occurrence time - */ - public FlowClassifierEvent(Type type, FlowClassifier flowClassifier, long time) { - super(type, flowClassifier, time); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/FlowClassifierListener.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/FlowClassifierListener.java deleted file mode 100644 index 3c0409ad..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/FlowClassifierListener.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.flowclassifier; - -import org.onosproject.event.EventListener; - -/** - * Entity capable of Flow-Classifier related events. - */ -public interface FlowClassifierListener extends EventListener<FlowClassifierEvent> { - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/FlowClassifierService.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/FlowClassifierService.java deleted file mode 100644 index e3cbf9ac..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/FlowClassifierService.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.flowclassifier; - -import org.onosproject.vtnrsc.FlowClassifier; -import org.onosproject.vtnrsc.FlowClassifierId; - -/** - * Provides Services for Flow Classifier. - */ -public interface FlowClassifierService { - - /** - * Check whether Flow Classifier is present based on given Flow Classifier - * Id. - * - * @param id flow classifier identifier - * @return true if flow classifier is present otherwise return false - */ - boolean exists(FlowClassifierId id); - - /** - * Returns the number of flow classifiers known to the system. - * - * @return number of flow classifiers - */ - int getFlowClassifierCount(); - - /** - * Store Flow Classifier. - * - * @param flowClassifier flow classifier - * @return true if adding flow classifier into store is success otherwise - * return false - */ - boolean createFlowClassifier(FlowClassifier flowClassifier); - - /** - * Return the existing collection of Flow Classifier. - * - * @return flow classifier collections - */ - Iterable<FlowClassifier> getFlowClassifiers(); - - /** - * Retrieve the Flow Classifier based on given Flow Classifier id. - * - * @param id flow classifier identifier - * @return flow classifier if present otherwise returns null - */ - FlowClassifier getFlowClassifier(FlowClassifierId id); - - /** - * Update Flow Classifier based on given Flow Classifier Id. - * - * @param flowClassifier flow classifier - * @return true if flow classifier update is success otherwise return false - */ - boolean updateFlowClassifier(FlowClassifier flowClassifier); - - /** - * Remove Flow Classifier from store based on given Flow Classifier Id. - * - * @param id flow classifier identifier - * @return true if flow classifier removal is success otherwise return - * false - */ - boolean removeFlowClassifier(FlowClassifierId id); - - /** - * Adds the specified listener to Flow-Classifier manager. - * - * @param listener Flow-Classifier listener - */ - void addListener(FlowClassifierListener listener); - - /** - * Removes the specified listener to Flow-Classifier manager. - * - * @param listener Flow-Classifier listener - */ - void removeListener(FlowClassifierListener listener); -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/impl/FlowClassifierManager.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/impl/FlowClassifierManager.java deleted file mode 100644 index b29dc7a3..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/impl/FlowClassifierManager.java +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.flowclassifier.impl; - -import static org.slf4j.LoggerFactory.getLogger; -import static com.google.common.base.Preconditions.checkNotNull; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onlab.util.KryoNamespace; -import org.onosproject.store.serializers.KryoNamespaces; -import org.onosproject.store.service.EventuallyConsistentMap; -import org.onosproject.store.service.MultiValuedTimestamp; -import org.onosproject.store.service.StorageService; -import org.onosproject.store.service.WallClockTimestamp; -import org.onosproject.vtnrsc.FlowClassifierId; -import org.onosproject.vtnrsc.FlowClassifier; -import org.onosproject.vtnrsc.flowclassifier.FlowClassifierListener; -import org.onosproject.vtnrsc.flowclassifier.FlowClassifierService; -import org.slf4j.Logger; - -import java.util.Set; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Sets; - -/** - * Provides implementation of the Flow Classifier Service. - */ -@Component(immediate = true) -@Service -public class FlowClassifierManager implements FlowClassifierService { - - private static final String FLOW_CLASSIFIER_NOT_NULL = "Flow Classifier cannot be null"; - private static final String FLOW_CLASSIFIER_ID_NOT_NULL = "Flow Classifier Id cannot be null"; - private static final String LISTENER_NOT_NULL = "Listener cannot be null"; - - private final Logger log = getLogger(FlowClassifierManager.class); - private final Set<FlowClassifierListener> listeners = Sets.newCopyOnWriteArraySet(); - private EventuallyConsistentMap<FlowClassifierId, FlowClassifier> flowClassifierStore; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected StorageService storageService; - - @Activate - protected void activate() { - KryoNamespace.Builder serializer = KryoNamespace.newBuilder() - .register(KryoNamespaces.API) - .register(MultiValuedTimestamp.class) - .register(FlowClassifier.class); - flowClassifierStore = storageService - .<FlowClassifierId, FlowClassifier>eventuallyConsistentMapBuilder() - .withName("flowclassifierstore").withSerializer(serializer) - .withTimestampProvider((k, v) -> new WallClockTimestamp()).build(); - log.info("Flow Classifier service activated"); - } - - @Deactivate - protected void deactivate() { - flowClassifierStore.destroy(); - listeners.clear(); - log.info("Flow Classifier service deactivated"); - } - - @Override - public boolean exists(FlowClassifierId id) { - checkNotNull(id, FLOW_CLASSIFIER_ID_NOT_NULL); - return flowClassifierStore.containsKey(id); - } - - @Override - public int getFlowClassifierCount() { - return flowClassifierStore.size(); - } - - @Override - public Iterable<FlowClassifier> getFlowClassifiers() { - return ImmutableList.copyOf(flowClassifierStore.values()); - } - - @Override - public FlowClassifier getFlowClassifier(FlowClassifierId id) { - checkNotNull(id, FLOW_CLASSIFIER_ID_NOT_NULL); - return flowClassifierStore.get(id); - } - - @Override - public boolean createFlowClassifier(FlowClassifier flowClassifier) { - log.debug("createFlowClassifier"); - checkNotNull(flowClassifier, FLOW_CLASSIFIER_NOT_NULL); - FlowClassifierId id = flowClassifier.flowClassifierId(); - - flowClassifierStore.put(id, flowClassifier); - if (!flowClassifierStore.containsKey(id)) { - log.debug("Flow Classifier creation is failed whose identifier is {}.", id.toString()); - return false; - } - return true; - } - - @Override - public boolean updateFlowClassifier(FlowClassifier flowClassifier) { - checkNotNull(flowClassifier, FLOW_CLASSIFIER_NOT_NULL); - - if (!flowClassifierStore.containsKey(flowClassifier.flowClassifierId())) { - log.debug("The flowClassifier is not exist whose identifier was {} ", flowClassifier.flowClassifierId() - .toString()); - return false; - } - - flowClassifierStore.put(flowClassifier.flowClassifierId(), flowClassifier); - - if (!flowClassifier.equals(flowClassifierStore.get(flowClassifier.flowClassifierId()))) { - log.debug("Updation of flowClassifier is failed whose identifier was {} ", flowClassifier - .flowClassifierId().toString()); - return false; - } - return true; - } - - @Override - public boolean removeFlowClassifier(FlowClassifierId id) { - checkNotNull(id, FLOW_CLASSIFIER_ID_NOT_NULL); - flowClassifierStore.remove(id); - if (flowClassifierStore.containsKey(id)) { - log.debug("The Flow Classifier removal is failed whose identifier is {}", id.toString()); - return false; - } - return true; - } - - @Override - public void addListener(FlowClassifierListener listener) { - checkNotNull(listener, LISTENER_NOT_NULL); - listeners.add(listener); - } - - @Override - public void removeListener(FlowClassifierListener listener) { - checkNotNull(listener, LISTENER_NOT_NULL); - listeners.remove(listener); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/impl/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/impl/package-info.java deleted file mode 100644 index 62b5603d..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/impl/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Provides implementation of the flow Classifier service. - */ -package org.onosproject.vtnrsc.flowclassifier.impl; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/package-info.java deleted file mode 100644 index c8c75bf3..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Service for interacting with flow Classifier of SFC. - */ -package org.onosproject.vtnrsc.flowclassifier; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/package-info.java deleted file mode 100644 index b245fb14..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * VTN resources that used by virtual tenant network. - */ -package org.onosproject.vtnrsc; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/PortChainEvent.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/PortChainEvent.java deleted file mode 100644 index 44a4e8ed..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/PortChainEvent.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.portchain; - -import org.onosproject.event.AbstractEvent; -import org.onosproject.vtnrsc.PortChain; - -/** - * Describes network Port-Chain event. - */ -public class PortChainEvent extends AbstractEvent<PortChainEvent.Type, PortChain> { - /** - * Type of port-chain events. - */ - public enum Type { - /** - * Signifies that port-chain has been created. - */ - PORT_CHAIN_PUT, - /** - * Signifies that port-chain has been deleted. - */ - PORT_CHAIN_DELETE, - /** - * Signifies that port-chain has been updated. - */ - PORT_CHAIN_UPDATE - } - - /** - * Creates an event of a given type and for the specified Port-Chain. - * - * @param type Port-Chain event type - * @param portChain Port-Chain subject - */ - public PortChainEvent(Type type, PortChain portChain) { - super(type, portChain); - } - - /** - * Creates an event of a given type and for the specified Port-Chain. - * - * @param type Port-Chain event type - * @param portChain Port-Chain subject - * @param time occurrence time - */ - public PortChainEvent(Type type, PortChain portChain, long time) { - super(type, portChain, time); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/PortChainListener.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/PortChainListener.java deleted file mode 100644 index 27a498b5..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/PortChainListener.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.portchain; - -import org.onosproject.event.EventListener; - -/** - * Entity capable of Port-Chain related events. - */ -public interface PortChainListener extends EventListener<PortChainEvent> { - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/PortChainService.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/PortChainService.java deleted file mode 100644 index 5b08262b..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/PortChainService.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.portchain; - -import org.onosproject.event.ListenerService; -import org.onosproject.vtnrsc.PortChain; -import org.onosproject.vtnrsc.PortChainId; - -/** - * Service for interacting with the inventory of port chains. - */ -public interface PortChainService extends ListenerService<PortChainEvent, PortChainListener> { - - /** - * Returns if the port chain is existed. - * - * @param portChainId port chain identifier - * @return true or false if one with the given identifier exists. - */ - boolean exists(PortChainId portChainId); - - /** - * Returns the number of port chains known to the system. - * - * @return number of port chains. - */ - int getPortChainCount(); - - /** - * Returns an iterable collection of the currently known port chains. - * - * @return collection of port chains. - */ - Iterable<PortChain> getPortChains(); - - /** - * Returns the portChain with the given identifier. - * - * @param portChainId port chain identifier - * @return PortChain or null if port chain with the given identifier is not - * known. - */ - PortChain getPortChain(PortChainId portChainId); - - /** - * Creates a PortChain in the store. - * - * @param portChain the port chain to create - * @return true if given port chain is created successfully. - */ - boolean createPortChain(PortChain portChain); - - /** - * Updates the portChain in the store. - * - * @param portChain the port chain to update - * @return true if given port chain is updated successfully. - */ - boolean updatePortChain(PortChain portChain); - - /** - * Deletes portChain by given portChainId. - * - * @param portChainId id of port chain to remove - * @return true if the give port chain is deleted successfully. - */ - boolean removePortChain(PortChainId portChainId); -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/impl/PortChainManager.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/impl/PortChainManager.java deleted file mode 100644 index 0062db48..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/impl/PortChainManager.java +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.portchain.impl; - -import static com.google.common.base.Preconditions.checkNotNull; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.Collections; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onlab.util.KryoNamespace; -import org.onosproject.event.AbstractListenerManager; -import org.onosproject.store.serializers.KryoNamespaces; -import org.onosproject.store.service.EventuallyConsistentMap; -import org.onosproject.store.service.MultiValuedTimestamp; -import org.onosproject.store.service.StorageService; -import org.onosproject.store.service.WallClockTimestamp; -import org.onosproject.vtnrsc.PortChain; -import org.onosproject.vtnrsc.PortChainId; -import org.onosproject.vtnrsc.portchain.PortChainEvent; -import org.onosproject.vtnrsc.portchain.PortChainListener; -import org.onosproject.vtnrsc.portchain.PortChainService; -import org.slf4j.Logger; - -/** - * Provides implementation of the portChainService. - */ -@Component(immediate = true) -@Service -public class PortChainManager extends AbstractListenerManager<PortChainEvent, PortChainListener> implements - PortChainService { - - private static final String PORT_CHAIN_ID_NULL = "PortChain ID cannot be null"; - private static final String PORT_CHAIN_NULL = "PortChain cannot be null"; - private static final String LISTENER_NOT_NULL = "Listener cannot be null"; - - private final Logger log = getLogger(getClass()); - private EventuallyConsistentMap<PortChainId, PortChain> portChainStore; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected StorageService storageService; - - @Activate - public void activate() { - - KryoNamespace.Builder serializer = KryoNamespace.newBuilder() - .register(KryoNamespaces.API) - .register(MultiValuedTimestamp.class) - .register(PortChain.class); - - portChainStore = storageService - .<PortChainId, PortChain>eventuallyConsistentMapBuilder() - .withName("portchainstore").withSerializer(serializer) - .withTimestampProvider((k, v) -> new WallClockTimestamp()).build(); - - log.info("Started"); - } - - @Deactivate - public void deactivate() { - portChainStore.destroy(); - log.info("Stopped"); - } - - @Override - public boolean exists(PortChainId portChainId) { - checkNotNull(portChainId, PORT_CHAIN_ID_NULL); - return portChainStore.containsKey(portChainId); - } - - @Override - public int getPortChainCount() { - return portChainStore.size(); - } - - @Override - public Iterable<PortChain> getPortChains() { - return Collections.unmodifiableCollection(portChainStore.values()); - } - - @Override - public PortChain getPortChain(PortChainId portChainId) { - checkNotNull(portChainId, PORT_CHAIN_ID_NULL); - return portChainStore.get(portChainId); - } - - @Override - public boolean createPortChain(PortChain portChain) { - checkNotNull(portChain, PORT_CHAIN_NULL); - - portChainStore.put(portChain.portChainId(), portChain); - if (!portChainStore.containsKey(portChain.portChainId())) { - log.debug("The portChain is created failed which identifier was {}", portChain.portChainId() - .toString()); - return false; - } - return true; - } - - @Override - public boolean updatePortChain(PortChain portChain) { - checkNotNull(portChain, PORT_CHAIN_NULL); - - if (!portChainStore.containsKey(portChain.portChainId())) { - log.debug("The portChain is not exist whose identifier was {} ", - portChain.portChainId().toString()); - return false; - } - - portChainStore.put(portChain.portChainId(), portChain); - - if (!portChain.equals(portChainStore.get(portChain.portChainId()))) { - log.debug("The portChain is updated failed whose identifier was {} ", - portChain.portChainId().toString()); - return false; - } - return true; - } - - @Override - public boolean removePortChain(PortChainId portChainId) { - checkNotNull(portChainId, PORT_CHAIN_NULL); - - portChainStore.remove(portChainId); - if (portChainStore.containsKey(portChainId)) { - log.debug("The portChain is removed failed whose identifier was {}", - portChainId.toString()); - return false; - } - return true; - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/impl/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/impl/package-info.java deleted file mode 100644 index 424d54ab..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/impl/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Implementation of service for interacting with the inventory of port chains. - */ -package org.onosproject.vtnrsc.portchain.impl; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/package-info.java deleted file mode 100644 index 74642bc3..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Service for interacting with the inventory of port chains. - */ -package org.onosproject.vtnrsc.portchain; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/PortPairEvent.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/PortPairEvent.java deleted file mode 100644 index 31ecc737..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/PortPairEvent.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.portpair; - -import org.onosproject.event.AbstractEvent; -import org.onosproject.vtnrsc.PortPair; - -/** - * Describes network Port-Pair event. - */ -public class PortPairEvent extends AbstractEvent<PortPairEvent.Type, PortPair> { - /** - * Type of port-pair events. - */ - public enum Type { - /** - * Signifies that port-pair has been created. - */ - PORT_PAIR_PUT, - /** - * Signifies that port-pair has been deleted. - */ - PORT_PAIR_DELETE, - /** - * Signifies that port-pair has been updated. - */ - PORT_PAIR_UPDATE - } - - /** - * Creates an event of a given type and for the specified Port-Pair. - * - * @param type Port-Pair event type - * @param portPair Port-Pair subject - */ - public PortPairEvent(Type type, PortPair portPair) { - super(type, portPair); - } - - /** - * Creates an event of a given type and for the specified Port-Pair. - * - * @param type Port-Pair event type - * @param portPair Port-Pair subject - * @param time occurrence time - */ - public PortPairEvent(Type type, PortPair portPair, long time) { - super(type, portPair, time); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/PortPairListener.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/PortPairListener.java deleted file mode 100644 index 3bdb9e4e..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/PortPairListener.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.portpair; - -import org.onosproject.event.EventListener; - -/** - * Entity capable of Port-Pair related events. - */ -public interface PortPairListener extends EventListener<PortPairEvent> { - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/PortPairService.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/PortPairService.java deleted file mode 100644 index e98a6a20..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/PortPairService.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.portpair; - -import org.onosproject.vtnrsc.PortPair; -import org.onosproject.vtnrsc.PortPairId; - -/** - * Service for interacting with the inventory of port pairs. - */ -public interface PortPairService { - - /** - * Returns if the port pair is existed. - * - * @param portPairId port pair identifier - * @return true or false if one with the given identifier exists. - */ - boolean exists(PortPairId portPairId); - - /** - * Returns the number of port pairs known to the system. - * - * @return number of port pairs. - */ - int getPortPairCount(); - - /** - * Returns an iterable collection of the currently known port pairs. - * - * @return collection of port pairs. - */ - Iterable<PortPair> getPortPairs(); - - /** - * Returns the portPair with the given identifier. - * - * @param portPairId port pair identifier - * @return PortPair or null if port pair with the given identifier is not - * known. - */ - PortPair getPortPair(PortPairId portPairId); - - /** - * Creates a PortPair in the store. - * - * @param portPair the port pair to create - * @return true if given port pair is created successfully. - */ - boolean createPortPair(PortPair portPair); - - /** - * Updates the portPair in the store. - * - * @param portPair the port pair to update - * @return true if given port pair is updated successfully. - */ - boolean updatePortPair(PortPair portPair); - - /** - * Deletes portPair by given portPairId. - * - * @param portPairId id of port pair to remove - * @return true if the give port pair is deleted successfully. - */ - boolean removePortPair(PortPairId portPairId); - - /** - * Adds the specified listener to Port-Pair manager. - * - * @param listener Port-Pair listener - */ - void addListener(PortPairListener listener); - - /** - * Removes the specified listener to Port-Pair manager. - * - * @param listener Port-Pair listener - */ - void removeListener(PortPairListener listener); -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/impl/PortPairManager.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/impl/PortPairManager.java deleted file mode 100644 index ad6fd4bb..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/impl/PortPairManager.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.portpair.impl; - -import static com.google.common.base.Preconditions.checkNotNull; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.Collections; -import java.util.Set; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onlab.util.KryoNamespace; -import org.onosproject.store.serializers.KryoNamespaces; -import org.onosproject.store.service.EventuallyConsistentMap; -import org.onosproject.store.service.MultiValuedTimestamp; -import org.onosproject.store.service.StorageService; -import org.onosproject.store.service.WallClockTimestamp; -import org.onosproject.vtnrsc.PortPair; -import org.onosproject.vtnrsc.PortPairId; -import org.onosproject.vtnrsc.portpair.PortPairListener; -import org.onosproject.vtnrsc.portpair.PortPairService; -import org.slf4j.Logger; - -import com.google.common.collect.Sets; - -/** - * Provides implementation of the portPairService. - */ -@Component(immediate = true) -@Service -public class PortPairManager implements PortPairService { - - private static final String PORT_PAIR_ID_NULL = "PortPair ID cannot be null"; - private static final String PORT_PAIR_NULL = "PortPair cannot be null"; - private static final String LISTENER_NOT_NULL = "Listener cannot be null"; - - private final Logger log = getLogger(getClass()); - private final Set<PortPairListener> listeners = Sets.newCopyOnWriteArraySet(); - private EventuallyConsistentMap<PortPairId, PortPair> portPairStore; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected StorageService storageService; - - @Activate - public void activate() { - - KryoNamespace.Builder serializer = KryoNamespace.newBuilder() - .register(KryoNamespaces.API) - .register(MultiValuedTimestamp.class) - .register(PortPair.class); - - portPairStore = storageService - .<PortPairId, PortPair>eventuallyConsistentMapBuilder() - .withName("portpairstore").withSerializer(serializer) - .withTimestampProvider((k, v) -> new WallClockTimestamp()).build(); - - log.info("Started"); - } - - @Deactivate - public void deactivate() { - portPairStore.destroy(); - listeners.clear(); - log.info("Stopped"); - } - - @Override - public boolean exists(PortPairId portPairId) { - checkNotNull(portPairId, PORT_PAIR_ID_NULL); - return portPairStore.containsKey(portPairId); - } - - @Override - public int getPortPairCount() { - return portPairStore.size(); - } - - @Override - public Iterable<PortPair> getPortPairs() { - return Collections.unmodifiableCollection(portPairStore.values()); - } - - @Override - public PortPair getPortPair(PortPairId portPairId) { - checkNotNull(portPairId, PORT_PAIR_ID_NULL); - return portPairStore.get(portPairId); - } - - @Override - public boolean createPortPair(PortPair portPair) { - checkNotNull(portPair, PORT_PAIR_NULL); - - portPairStore.put(portPair.portPairId(), portPair); - if (!portPairStore.containsKey(portPair.portPairId())) { - log.debug("The portPair is created failed which identifier was {}", portPair.portPairId() - .toString()); - return false; - } - return true; - } - - @Override - public boolean updatePortPair(PortPair portPair) { - checkNotNull(portPair, PORT_PAIR_NULL); - - if (!portPairStore.containsKey(portPair.portPairId())) { - log.debug("The portPair is not exist whose identifier was {} ", - portPair.portPairId().toString()); - return false; - } - - portPairStore.put(portPair.portPairId(), portPair); - - if (!portPair.equals(portPairStore.get(portPair.portPairId()))) { - log.debug("The portPair is updated failed whose identifier was {} ", - portPair.portPairId().toString()); - return false; - } - return true; - } - - @Override - public boolean removePortPair(PortPairId portPairId) { - checkNotNull(portPairId, PORT_PAIR_NULL); - - portPairStore.remove(portPairId); - if (portPairStore.containsKey(portPairId)) { - log.debug("The portPair is removed failed whose identifier was {}", - portPairId.toString()); - return false; - } - return true; - } - - @Override - public void addListener(PortPairListener listener) { - checkNotNull(listener, LISTENER_NOT_NULL); - listeners.add(listener); - } - - @Override - public void removeListener(PortPairListener listener) { - checkNotNull(listener, LISTENER_NOT_NULL); - listeners.remove(listener); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/impl/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/impl/package-info.java deleted file mode 100644 index 625fbdd4..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/impl/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Implementation of service for interacting with the inventory of port pairs. - */ -package org.onosproject.vtnrsc.portpair.impl; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/package-info.java deleted file mode 100644 index e2c61531..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpair/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Service for interacting with the inventory of port pairs. - */ -package org.onosproject.vtnrsc.portpair; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/PortPairGroupEvent.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/PortPairGroupEvent.java deleted file mode 100644 index 88e1d7fb..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/PortPairGroupEvent.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.portpairgroup; - -import org.onosproject.event.AbstractEvent; -import org.onosproject.vtnrsc.PortPairGroup; - -/** - * Describes network Port-Pair-Group event. - */ -public class PortPairGroupEvent extends AbstractEvent<PortPairGroupEvent.Type, PortPairGroup> { - /** - * Type of port-pair-group events. - */ - public enum Type { - /** - * Signifies that port-pair-group has been created. - */ - PORT_PAIR_GROUP_PUT, - /** - * Signifies that port-pair-group has been deleted. - */ - PORT_PAIR_GROUP_DELETE, - /** - * Signifies that port-pair-group has been updated. - */ - PORT_PAIR_GROUP_UPDATE - } - - /** - * Creates an event of a given type and for the specified Port-Pair-Group. - * - * @param type Port-Pair-Group event type - * @param portPairGroup Port-Pair-Group subject - */ - public PortPairGroupEvent(Type type, PortPairGroup portPairGroup) { - super(type, portPairGroup); - } - - /** - * Creates an event of a given type and for the specified Port-Pair-Group. - * - * @param type Port-Pair-Group event type - * @param portPairGroup Port-Pair-Group subject - * @param time occurrence time - */ - public PortPairGroupEvent(Type type, PortPairGroup portPairGroup, long time) { - super(type, portPairGroup, time); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/PortPairGroupListener.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/PortPairGroupListener.java deleted file mode 100644 index 637149e3..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/PortPairGroupListener.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.portpairgroup; - -import org.onosproject.event.EventListener; - -/** - * Entity capable of Port-Pair-Group related events. - */ -public interface PortPairGroupListener extends EventListener<PortPairGroupEvent> { - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/PortPairGroupService.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/PortPairGroupService.java deleted file mode 100644 index efee0eb9..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/PortPairGroupService.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.portpairgroup; - -import org.onosproject.vtnrsc.PortPairGroup; -import org.onosproject.vtnrsc.PortPairGroupId; - -/** - * Service for interacting with the inventory of port pair groups. - */ -public interface PortPairGroupService { - - /** - * Returns if the port pair group is existed. - * - * @param portPairGroupId port pair group identifier - * @return true or false if one with the given identifier exists. - */ - boolean exists(PortPairGroupId portPairGroupId); - - /** - * Returns the number of port pair groups known to the system. - * - * @return number of port pair groups. - */ - int getPortPairGroupCount(); - - /** - * Returns an iterable collection of the currently known port pair groups. - * - * @return collection of port pair groups. - */ - Iterable<PortPairGroup> getPortPairGroups(); - - /** - * Returns the portPairGroup with the given identifier. - * - * @param portPairGroupId port pair group identifier - * @return PortPairGroup or null if port pair group with the given identifier is not - * known. - */ - PortPairGroup getPortPairGroup(PortPairGroupId portPairGroupId); - - /** - * Creates a PortPairGroup in the store. - * - * @param portPairGroup the port pair group to create - * @return true if given port pair group is created successfully. - */ - boolean createPortPairGroup(PortPairGroup portPairGroup); - - /** - * Updates the portPairGroup in the store. - * - * @param portPairGroup the port pair group to update - * @return true if given port pair group is updated successfully. - */ - boolean updatePortPairGroup(PortPairGroup portPairGroup); - - /** - * Deletes portPairGroup by given portPairGroupId. - * - * @param portPairGroupId id of port pair group to remove - * @return true if the give port pair group is deleted successfully. - */ - boolean removePortPairGroup(PortPairGroupId portPairGroupId); - - /** - * Adds the specified listener to Port-Pair-Group manager. - * - * @param listener Port-Pair-Group listener - */ - void addListener(PortPairGroupListener listener); - - /** - * Removes the specified listener to Port-Pair-Group manager. - * - * @param listener Port-Pair-Group listener - */ - void removeListener(PortPairGroupListener listener); -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/impl/PortPairGroupManager.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/impl/PortPairGroupManager.java deleted file mode 100644 index 5f80ef64..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/impl/PortPairGroupManager.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.portpairgroup.impl; - -import static com.google.common.base.Preconditions.checkNotNull; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.Collections; -import java.util.Set; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onlab.util.KryoNamespace; -import org.onosproject.store.serializers.KryoNamespaces; -import org.onosproject.store.service.EventuallyConsistentMap; -import org.onosproject.store.service.MultiValuedTimestamp; -import org.onosproject.store.service.StorageService; -import org.onosproject.store.service.WallClockTimestamp; -import org.onosproject.vtnrsc.PortPairGroup; -import org.onosproject.vtnrsc.PortPairGroupId; -import org.onosproject.vtnrsc.portpairgroup.PortPairGroupListener; -import org.onosproject.vtnrsc.portpairgroup.PortPairGroupService; -import org.slf4j.Logger; - -import com.google.common.collect.Sets; - -/** - * Provides implementation of the portPairGroupService. - */ -@Component(immediate = true) -@Service -public class PortPairGroupManager implements PortPairGroupService { - - private static final String PORT_PAIR_GROUP_ID_NULL = "PortPairGroup ID cannot be null"; - private static final String PORT_PAIR_GROUP_NULL = "PortPairGroup cannot be null"; - private static final String LISTENER_NOT_NULL = "Listener cannot be null"; - - private final Logger log = getLogger(getClass()); - private final Set<PortPairGroupListener> listeners = Sets.newCopyOnWriteArraySet(); - private EventuallyConsistentMap<PortPairGroupId, PortPairGroup> portPairGroupStore; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected StorageService storageService; - - @Activate - public void activate() { - - KryoNamespace.Builder serializer = KryoNamespace.newBuilder() - .register(KryoNamespaces.API) - .register(MultiValuedTimestamp.class) - .register(PortPairGroup.class); - - portPairGroupStore = storageService - .<PortPairGroupId, PortPairGroup>eventuallyConsistentMapBuilder() - .withName("portpairgroupstore").withSerializer(serializer) - .withTimestampProvider((k, v) -> new WallClockTimestamp()).build(); - - log.info("Started"); - } - - @Deactivate - public void deactivate() { - portPairGroupStore.destroy(); - listeners.clear(); - log.info("Stopped"); - } - - @Override - public boolean exists(PortPairGroupId portPairGroupId) { - checkNotNull(portPairGroupId, PORT_PAIR_GROUP_ID_NULL); - return portPairGroupStore.containsKey(portPairGroupId); - } - - @Override - public int getPortPairGroupCount() { - return portPairGroupStore.size(); - } - - @Override - public Iterable<PortPairGroup> getPortPairGroups() { - return Collections.unmodifiableCollection(portPairGroupStore.values()); - } - - @Override - public PortPairGroup getPortPairGroup(PortPairGroupId portPairGroupId) { - checkNotNull(portPairGroupId, PORT_PAIR_GROUP_ID_NULL); - return portPairGroupStore.get(portPairGroupId); - } - - @Override - public boolean createPortPairGroup(PortPairGroup portPairGroup) { - checkNotNull(portPairGroup, PORT_PAIR_GROUP_NULL); - - portPairGroupStore.put(portPairGroup.portPairGroupId(), portPairGroup); - if (!portPairGroupStore.containsKey(portPairGroup.portPairGroupId())) { - log.debug("The portPairGroup is created failed which identifier was {}", portPairGroup.portPairGroupId() - .toString()); - return false; - } - return true; - } - - @Override - public boolean updatePortPairGroup(PortPairGroup portPairGroup) { - checkNotNull(portPairGroup, PORT_PAIR_GROUP_NULL); - - if (!portPairGroupStore.containsKey(portPairGroup.portPairGroupId())) { - log.debug("The portPairGroup is not exist whose identifier was {} ", - portPairGroup.portPairGroupId().toString()); - return false; - } - - portPairGroupStore.put(portPairGroup.portPairGroupId(), portPairGroup); - - if (!portPairGroup.equals(portPairGroupStore.get(portPairGroup.portPairGroupId()))) { - log.debug("The portPairGroup is updated failed whose identifier was {} ", - portPairGroup.portPairGroupId().toString()); - return false; - } - return true; - } - - @Override - public boolean removePortPairGroup(PortPairGroupId portPairGroupId) { - checkNotNull(portPairGroupId, PORT_PAIR_GROUP_NULL); - - portPairGroupStore.remove(portPairGroupId); - if (portPairGroupStore.containsKey(portPairGroupId)) { - log.debug("The portPairGroup is removed failed whose identifier was {}", - portPairGroupId.toString()); - return false; - } - return true; - } - - @Override - public void addListener(PortPairGroupListener listener) { - checkNotNull(listener, LISTENER_NOT_NULL); - listeners.add(listener); - } - - @Override - public void removeListener(PortPairGroupListener listener) { - checkNotNull(listener, LISTENER_NOT_NULL); - listeners.remove(listener); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/impl/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/impl/package-info.java deleted file mode 100644 index 68c186bc..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/impl/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Implementation of service for interacting with the inventory of port pair groups. - */ -package org.onosproject.vtnrsc.portpairgroup.impl; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/package-info.java deleted file mode 100644 index 8a79fe97..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portpairgroup/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Service for interacting with the inventory of port pair groups. - */ -package org.onosproject.vtnrsc.portpairgroup; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/RouterEvent.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/RouterEvent.java deleted file mode 100644 index 25bd7b31..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/RouterEvent.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.router; - -import org.onosproject.event.AbstractEvent; -import org.onosproject.vtnrsc.Router; - -/** - * Describes network Router event. - */ -public class RouterEvent extends AbstractEvent<RouterEvent.Type, Router> { - /** - * Type of Router events. - */ - public enum Type { - /** - * Signifies that router has been created. - */ - ROUTER_PUT, - /** - * Signifies that router has been deleted. - */ - ROUTER_DELETE - } - - /** - * Creates an event of a given type and for the specified Router. - * - * @param type Router event type - * @param router Router subject - */ - public RouterEvent(Type type, Router router) { - super(type, router); - } - - /** - * Creates an event of a given type and for the specified Router. - * - * @param type Router event type - * @param router Router subject - * @param time occurrence time - */ - public RouterEvent(Type type, Router router, long time) { - super(type, router, time); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/RouterListener.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/RouterListener.java deleted file mode 100644 index dc772981..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/RouterListener.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.router; - -import org.onosproject.event.EventListener; - -/** - * Entity capable of Router related events. - */ -public interface RouterListener extends EventListener<RouterEvent> { - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/RouterService.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/RouterService.java deleted file mode 100644 index 362fa02b..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/RouterService.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.router; - -import java.util.Collection; - -import org.onosproject.vtnrsc.Router; -import org.onosproject.vtnrsc.RouterId; - -/** - * Service for interacting with the inventory of Routers. - */ -public interface RouterService { - /** - * Returns exists or not of specific router identifier. - * - * @param routerId router identifier - * @return true or false - */ - boolean exists(RouterId routerId); - - /** - * Returns a collection of the currently known Routers. - * - * @return collection of Routers - */ - Collection<Router> getRouters(); - - /** - * Returns the Router with the specified identifier. - * - * @param routerId Router identifier - * @return Router or null if one with the given identifier is not known - */ - Router getRouter(RouterId routerId); - - /** - * Creates new Routers. - * - * @param routers the collection of Routers - * @return true if the identifier Router has been created right. - * false if the identifier Router is failed to store - */ - boolean createRouters(Collection<Router> routers); - - /** - * Updates existing Routers. - * - * @param routers the collection of Routers - * @return true if Routers were updated successfully. - * false if Routers were updated failed - */ - boolean updateRouters(Collection<Router> routers); - - /** - * Removes the specified Routers from the store. - * - * @param routerIds the collection of Routers identifier - * @return true if remove identifier Routers successfully. false if remove - * identifier Routers failed - */ - boolean removeRouters(Collection<RouterId> routerIds); - - /** - * Adds the specified listener to Router manager. - * - * @param listener Router listener - */ - void addListener(RouterListener listener); - - /** - * Removes the specified listener to Router manager. - * - * @param listener Router listener - */ - void removeListener(RouterListener listener); -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/impl/RouterManager.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/impl/RouterManager.java deleted file mode 100644 index b796fd7b..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/impl/RouterManager.java +++ /dev/null @@ -1,269 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.router.impl; - -import static com.google.common.base.Preconditions.checkNotNull; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.Collection; -import java.util.Collections; -import java.util.Set; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onlab.util.KryoNamespace; -import org.onosproject.core.ApplicationId; -import org.onosproject.core.CoreService; -import org.onosproject.store.serializers.KryoNamespaces; -import org.onosproject.store.service.EventuallyConsistentMap; -import org.onosproject.store.service.EventuallyConsistentMapEvent; -import org.onosproject.store.service.EventuallyConsistentMapListener; -import org.onosproject.store.service.StorageService; -import org.onosproject.store.service.WallClockTimestamp; -import org.onosproject.vtnrsc.DefaultRouter; -import org.onosproject.vtnrsc.FixedIp; -import org.onosproject.vtnrsc.Router; -import org.onosproject.vtnrsc.RouterGateway; -import org.onosproject.vtnrsc.RouterId; -import org.onosproject.vtnrsc.SubnetId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.TenantNetworkId; -import org.onosproject.vtnrsc.VirtualPortId; -import org.onosproject.vtnrsc.router.RouterEvent; -import org.onosproject.vtnrsc.router.RouterListener; -import org.onosproject.vtnrsc.router.RouterService; -import org.onosproject.vtnrsc.subnet.SubnetService; -import org.onosproject.vtnrsc.tenantnetwork.TenantNetworkService; -import org.onosproject.vtnrsc.virtualport.VirtualPortService; -import org.slf4j.Logger; - -import com.google.common.collect.Sets; - -/** - * Provides implementation of the Router service. - */ -@Component(immediate = true) -@Service -public class RouterManager implements RouterService { - - private static final String ROUTER_ID_NULL = "Router ID cannot be null"; - private static final String ROUTER_NOT_NULL = "Router cannot be null"; - private static final String ROUTER = "vtn-router-store"; - private static final String VTNRSC_APP = "org.onosproject.vtnrsc"; - private static final String LISTENER_NOT_NULL = "Listener cannot be null"; - private static final String EVENT_NOT_NULL = "event cannot be null"; - - private final Logger log = getLogger(getClass()); - private final Set<RouterListener> listeners = Sets.newCopyOnWriteArraySet(); - private EventuallyConsistentMapListener<RouterId, Router> routerListener = new InnerRouterStoreListener(); - protected EventuallyConsistentMap<RouterId, Router> routerStore; - protected ApplicationId appId; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected StorageService storageService; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected CoreService coreService; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected TenantNetworkService tenantNetworkService; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected VirtualPortService virtualPortService; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected SubnetService subnetService; - - @Activate - public void activate() { - appId = coreService.registerApplication(VTNRSC_APP); - KryoNamespace.Builder serializer = KryoNamespace - .newBuilder() - .register(KryoNamespaces.API) - .register(Router.class, RouterId.class, DefaultRouter.class, - TenantNetworkId.class, TenantId.class, - VirtualPortId.class, DefaultRouter.class, - RouterGateway.class, Router.Status.class, - SubnetId.class); - routerStore = storageService - .<RouterId, Router>eventuallyConsistentMapBuilder() - .withName(ROUTER).withSerializer(serializer) - .withTimestampProvider((k, v) -> new WallClockTimestamp()) - .build(); - routerStore.addListener(routerListener); - log.info("Started"); - } - - @Deactivate - public void deactivate() { - routerStore.removeListener(routerListener); - routerStore.destroy(); - listeners.clear(); - log.info("Stopped"); - } - - @Override - public boolean exists(RouterId routerId) { - checkNotNull(routerId, ROUTER_ID_NULL); - return routerStore.containsKey(routerId); - } - - @Override - public Collection<Router> getRouters() { - return Collections.unmodifiableCollection(routerStore.values()); - } - - @Override - public Router getRouter(RouterId routerId) { - checkNotNull(routerId, ROUTER_ID_NULL); - return routerStore.get(routerId); - } - - @Override - public boolean createRouters(Collection<Router> routers) { - checkNotNull(routers, ROUTER_NOT_NULL); - for (Router router : routers) { - verifyRouterData(router); - routerStore.put(router.id(), router); - if (!routerStore.containsKey(router.id())) { - log.debug("The router is created failed whose identifier is {}", - router.id().toString()); - return false; - } - } - return true; - } - - @Override - public boolean updateRouters(Collection<Router> routers) { - checkNotNull(routers, ROUTER_NOT_NULL); - for (Router router : routers) { - if (!routerStore.containsKey(router.id())) { - log.debug("The routers is not exist whose identifier is {}", - router.id().toString()); - throw new IllegalArgumentException( - "routers ID doesn't exist"); - } - verifyRouterData(router); - routerStore.put(router.id(), router); - if (!router.equals(routerStore.get(router.id()))) { - log.debug("The router is updated failed whose identifier is {}", - router.id().toString()); - return false; - } - } - return true; - } - - @Override - public boolean removeRouters(Collection<RouterId> routerIds) { - checkNotNull(routerIds, ROUTER_ID_NULL); - for (RouterId routerId : routerIds) { - if (!routerStore.containsKey(routerId)) { - log.debug("The router is not exist whose identifier is {}", - routerId.toString()); - throw new IllegalArgumentException( - "router ID doesn't exist"); - } - Router router = routerStore.get(routerId); - routerStore.remove(routerId, router); - if (routerStore.containsKey(routerId)) { - log.debug("The router deleted is failed whose identifier is {}", - routerId.toString()); - return false; - } - } - return true; - } - - @Override - public void addListener(RouterListener listener) { - checkNotNull(listener, LISTENER_NOT_NULL); - listeners.add(listener); - } - - @Override - public void removeListener(RouterListener listener) { - checkNotNull(listener, LISTENER_NOT_NULL); - listeners.remove(listener); - } - - /** - * Verifies validity of Router data. - * - * @param routers router instance - */ - private void verifyRouterData(Router routers) { - checkNotNull(routers, ROUTER_NOT_NULL); - if (routers.gatewayPortid() != null - && !virtualPortService.exists(routers.gatewayPortid())) { - log.debug("The gateway port ID is not exist whose identifier is {}", - routers.gatewayPortid().toString()); - throw new IllegalArgumentException("gateway port ID doesn't exist"); - } - - if (routers.externalGatewayInfo() != null) { - RouterGateway routerGateway = routers.externalGatewayInfo(); - if (!tenantNetworkService.exists(routerGateway.networkId())) { - log.debug("The network ID of gateway info is not exist whose identifier is {}", - routers.id().toString()); - throw new IllegalArgumentException( - "network ID of gateway info doesn't exist"); - } - Iterable<FixedIp> fixedIps = routerGateway.externalFixedIps(); - for (FixedIp fixedIp : fixedIps) { - if (!subnetService.exists(fixedIp.subnetId())) { - log.debug("The subnet ID of gateway info is not exist whose identifier is {}", - routers.id().toString()); - throw new IllegalArgumentException( - "subnet ID of gateway info doesn't exist"); - } - } - } - } - - private class InnerRouterStoreListener - implements EventuallyConsistentMapListener<RouterId, Router> { - - @Override - public void event(EventuallyConsistentMapEvent<RouterId, Router> event) { - checkNotNull(event, EVENT_NOT_NULL); - Router router = event.value(); - if (EventuallyConsistentMapEvent.Type.PUT == event.type()) { - notifyListeners(new RouterEvent(RouterEvent.Type.ROUTER_PUT, - router)); - } - if (EventuallyConsistentMapEvent.Type.REMOVE == event.type()) { - notifyListeners(new RouterEvent(RouterEvent.Type.ROUTER_DELETE, - router)); - } - } - } - - /** - * Notifies specify event to all listeners. - * - * @param event Floating IP event - */ - private void notifyListeners(RouterEvent event) { - checkNotNull(event, EVENT_NOT_NULL); - listeners.forEach(listener -> listener.event(event)); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/impl/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/impl/package-info.java deleted file mode 100644 index 1254f982..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/impl/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Provides implementation of the Router service. - */ -package org.onosproject.vtnrsc.router.impl; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/package-info.java deleted file mode 100644 index fb6834aa..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/router/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Service for interacting with the inventory of Router. - */ -package org.onosproject.vtnrsc.router; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/RouterInterfaceEvent.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/RouterInterfaceEvent.java deleted file mode 100644 index 7f5cfa13..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/RouterInterfaceEvent.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.routerinterface; - -import org.onosproject.event.AbstractEvent; -import org.onosproject.vtnrsc.RouterInterface; - -/** - * Describes network Router Interface event. - */ -public class RouterInterfaceEvent - extends AbstractEvent<RouterInterfaceEvent.Type, RouterInterface> { - - /** - * Type of Router Interface events. - */ - public enum Type { - /** - * Signifies that router interface has been added. - */ - ROUTER_INTERFACE_PUT, - /** - * Signifies that router interface has been removed. - */ - ROUTER_INTERFACE_DELETE - } - - /** - * Creates an event of a given type and for the specified Router Interface. - * - * @param type Router Interface event type - * @param routerInterface Router Interface subject - */ - public RouterInterfaceEvent(Type type, RouterInterface routerInterface) { - super(type, routerInterface); - } - - /** - * Creates an event of a given type and for the specified Router Interface. - * - * @param type Router Interface event type. - * @param routerInterface Router Interface subject - * @param time occurrence time - */ - public RouterInterfaceEvent(Type type, RouterInterface routerInterface, - long time) { - super(type, routerInterface, time); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/RouterInterfaceListener.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/RouterInterfaceListener.java deleted file mode 100644 index 1d0dab6f..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/RouterInterfaceListener.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onosproject.vtnrsc.routerinterface; - -import org.onosproject.event.EventListener; - -/** - * Entity capable of Router Interface related events. - */ -public interface RouterInterfaceListener - extends EventListener<RouterInterfaceEvent> { - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/RouterInterfaceService.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/RouterInterfaceService.java deleted file mode 100644 index 8cf147a5..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/RouterInterfaceService.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.routerinterface; - -import java.util.Collection; - -import org.onosproject.vtnrsc.RouterInterface; -import org.onosproject.vtnrsc.SubnetId; - -/** - * Service for interacting with the inventory of Router interface. - */ -public interface RouterInterfaceService { - /** - * Returns exists or not of specific subnet identifier. - * - * @param subnetId subnet identifier - * @return true or false - */ - boolean exists(SubnetId subnetId); - - /** - * Returns a collection of the currently known Router interface. - * - * @return collection of RouterInterface - */ - Collection<RouterInterface> getRouterInterfaces(); - - /** - * Returns the Router interface with the specified subnet identifier. - * - * @param subnetId subnet identifier - * @return RouterInterface or null if one with the given identifier is not - * known - */ - RouterInterface getRouterInterface(SubnetId subnetId); - - /** - * Adds the specified RouterInterface. - * - * @param routerInterface the interface add to router - * @return true if add router interface successfully - */ - boolean addRouterInterface(RouterInterface routerInterface); - - /** - * Removes the specified RouterInterface. - * - * @param routerInterface the interface remove from router - * @return true if remove router interface successfully - */ - boolean removeRouterInterface(RouterInterface routerInterface); - - /** - * Adds the specified listener to Router Interface manager. - * - * @param listener Router Interface listener - */ - void addListener(RouterInterfaceListener listener); - - /** - * Removes the specified listener to RouterInterface manager. - * - * @param listener Router Interface listener - */ - void removeListener(RouterInterfaceListener listener); -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/impl/RouterInterfaceManager.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/impl/RouterInterfaceManager.java deleted file mode 100644 index 244a5c03..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/impl/RouterInterfaceManager.java +++ /dev/null @@ -1,235 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.routerinterface.impl; - -import static com.google.common.base.Preconditions.checkNotNull; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.Collection; -import java.util.Collections; -import java.util.Set; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onlab.util.KryoNamespace; -import org.onosproject.core.ApplicationId; -import org.onosproject.core.CoreService; -import org.onosproject.store.serializers.KryoNamespaces; -import org.onosproject.store.service.EventuallyConsistentMap; -import org.onosproject.store.service.EventuallyConsistentMapEvent; -import org.onosproject.store.service.EventuallyConsistentMapListener; -import org.onosproject.store.service.StorageService; -import org.onosproject.store.service.WallClockTimestamp; -import org.onosproject.vtnrsc.RouterId; -import org.onosproject.vtnrsc.RouterInterface; -import org.onosproject.vtnrsc.SubnetId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.VirtualPortId; -import org.onosproject.vtnrsc.router.RouterService; -import org.onosproject.vtnrsc.routerinterface.RouterInterfaceEvent; -import org.onosproject.vtnrsc.routerinterface.RouterInterfaceListener; -import org.onosproject.vtnrsc.routerinterface.RouterInterfaceService; -import org.onosproject.vtnrsc.subnet.SubnetService; -import org.onosproject.vtnrsc.virtualport.VirtualPortService; -import org.slf4j.Logger; - -import com.google.common.collect.Sets; - -/** - * Provides implementation of the Router interface service. - */ -@Component(immediate = true) -@Service -public class RouterInterfaceManager implements RouterInterfaceService { - private static final String SUBNET_ID_NULL = "Subnet ID cannot be null"; - private static final String ROUTER_INTERFACE_NULL = "Router Interface cannot be null"; - private static final String ROUTER_INTERFACE = "vtn-router-interface-store"; - private static final String VTNRSC_APP = "org.onosproject.vtnrsc"; - private static final String LISTENER_NOT_NULL = "Listener cannot be null"; - private static final String EVENT_NOT_NULL = "event cannot be null"; - - private final Logger log = getLogger(getClass()); - private final Set<RouterInterfaceListener> listeners = Sets - .newCopyOnWriteArraySet(); - private EventuallyConsistentMapListener<SubnetId, RouterInterface> routerInterfaceListener = - new InnerRouterInterfaceStoreListener(); - protected EventuallyConsistentMap<SubnetId, RouterInterface> routerInterfaceStore; - protected ApplicationId appId; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected StorageService storageService; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected CoreService coreService; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected VirtualPortService virtualPortService; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected SubnetService subnetService; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected RouterService routerService; - - @Activate - public void activate() { - appId = coreService.registerApplication(VTNRSC_APP); - KryoNamespace.Builder serializer = KryoNamespace - .newBuilder() - .register(KryoNamespaces.API) - .register(RouterId.class, TenantId.class, VirtualPortId.class, - RouterInterface.class, SubnetId.class); - routerInterfaceStore = storageService - .<SubnetId, RouterInterface>eventuallyConsistentMapBuilder() - .withName(ROUTER_INTERFACE).withSerializer(serializer) - .withTimestampProvider((k, v) -> new WallClockTimestamp()) - .build(); - routerInterfaceStore.addListener(routerInterfaceListener); - log.info("Started"); - } - - @Deactivate - public void deactivate() { - routerInterfaceStore.removeListener(routerInterfaceListener); - routerInterfaceStore.destroy(); - listeners.clear(); - log.info("Stopped"); - } - - @Override - public boolean exists(SubnetId subnetId) { - checkNotNull(subnetId, SUBNET_ID_NULL); - return routerInterfaceStore.containsKey(subnetId); - } - - @Override - public Collection<RouterInterface> getRouterInterfaces() { - return Collections - .unmodifiableCollection(routerInterfaceStore.values()); - } - - @Override - public RouterInterface getRouterInterface(SubnetId subnetId) { - checkNotNull(subnetId, SUBNET_ID_NULL); - return routerInterfaceStore.get(subnetId); - } - - @Override - public boolean addRouterInterface(RouterInterface routerInterface) { - checkNotNull(routerInterface, ROUTER_INTERFACE_NULL); - verifyRouterInterfaceData(routerInterface); - routerInterfaceStore.put(routerInterface.subnetId(), routerInterface); - if (!routerInterfaceStore.containsKey(routerInterface.subnetId())) { - log.debug("The router interface is created failed whose identifier is {}", - routerInterface.subnetId().toString()); - return false; - } - return true; - } - - @Override - public boolean removeRouterInterface(RouterInterface routerInterface) { - checkNotNull(routerInterface, ROUTER_INTERFACE_NULL); - if (!routerInterfaceStore.containsKey(routerInterface.subnetId())) { - log.debug("The router interface is not exist whose identifier is {}", - routerInterface.subnetId().toString()); - throw new IllegalArgumentException("subnet ID doesn't exist"); - } - verifyRouterInterfaceData(routerInterface); - routerInterfaceStore - .remove(routerInterface.subnetId(), routerInterface); - if (routerInterfaceStore.containsKey(routerInterface.subnetId())) { - log.debug("The router interface deleted is failed whose identifier is {}", - routerInterface.subnetId().toString()); - return false; - } - return true; - } - - @Override - public void addListener(RouterInterfaceListener listener) { - checkNotNull(listener, LISTENER_NOT_NULL); - listeners.add(listener); - } - - @Override - public void removeListener(RouterInterfaceListener listener) { - checkNotNull(listener, LISTENER_NOT_NULL); - listeners.remove(listener); - } - - /** - * Verifies validity of Router interface data. - * - * @param routers router instance - */ - private void verifyRouterInterfaceData(RouterInterface routerInterface) { - checkNotNull(routerInterface, ROUTER_INTERFACE_NULL); - if (!subnetService.exists(routerInterface.subnetId())) { - log.debug("The subnet ID of interface is not exist whose identifier is {}", - routerInterface.subnetId().toString()); - throw new IllegalArgumentException( - "subnet ID of interface doesn't exist"); - } - if (!virtualPortService.exists(routerInterface.portId())) { - log.debug("The port ID of interface is not exist whose identifier is {}", - routerInterface.portId().toString()); - throw new IllegalArgumentException( - "port ID of interface doesn't exist"); - } - if (!routerService.exists(routerInterface.routerId())) { - log.debug("The router ID of interface is not exist whose identifier is {}", - routerInterface.routerId().toString()); - throw new IllegalArgumentException( - "router ID of interface doesn't exist"); - } - } - - private class InnerRouterInterfaceStoreListener - implements - EventuallyConsistentMapListener<SubnetId, RouterInterface> { - - @Override - public void event(EventuallyConsistentMapEvent<SubnetId, RouterInterface> event) { - checkNotNull(event, EVENT_NOT_NULL); - RouterInterface routerInterface = event.value(); - if (EventuallyConsistentMapEvent.Type.PUT == event.type()) { - notifyListeners(new RouterInterfaceEvent( - RouterInterfaceEvent.Type.ROUTER_INTERFACE_PUT, - routerInterface)); - } - if (EventuallyConsistentMapEvent.Type.REMOVE == event.type()) { - notifyListeners(new RouterInterfaceEvent( - RouterInterfaceEvent.Type.ROUTER_INTERFACE_DELETE, - routerInterface)); - } - } - } - - /** - * Notifies specify event to all listeners. - * - * @param event Floating IP event - */ - private void notifyListeners(RouterInterfaceEvent event) { - checkNotNull(event, EVENT_NOT_NULL); - listeners.forEach(listener -> listener.event(event)); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/impl/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/impl/package-info.java deleted file mode 100644 index 71db9dc5..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/impl/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Provides implementation of the RouterInterface service. - */ -package org.onosproject.vtnrsc.routerinterface.impl; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/package-info.java deleted file mode 100644 index 3804089a..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/routerinterface/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Service for interacting with the inventory of RouterInterface. - */ -package org.onosproject.vtnrsc.routerinterface; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/VtnRscService.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/VtnRscService.java deleted file mode 100644 index bc9f4e68..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/VtnRscService.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.service; - -import java.util.Iterator; - -import org.onlab.packet.MacAddress; -import org.onosproject.event.ListenerService; -import org.onosproject.net.Device; -import org.onosproject.net.DeviceId; -import org.onosproject.net.HostId; -import org.onosproject.vtnrsc.SegmentationId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.VirtualPortId; -import org.onosproject.vtnrsc.event.VtnRscEvent; -import org.onosproject.vtnrsc.event.VtnRscListener; - -/** - * Service for interacting with the inventory of Vtn resource. - */ -public interface VtnRscService extends ListenerService<VtnRscEvent, VtnRscListener> { - /** - * Returns the SegmentationId of tenant. - * - * @param tenantId tenant identifier - * @return SegmentationId the SegmentationId of tenant - */ - SegmentationId getL3vni(TenantId tenantId); - - /** - * Returns Classifier Ovs list of the specific tenant. - * - * @param tenantId tenant identifier - * @return iterable collection of Device - */ - Iterator<Device> getClassifierOfTenant(TenantId tenantId); - - /** - * Returns Service function forwarders Ovs list of the specific tenant. - * - * @param tenantId tenant identifier - * @return iterable collection of Device - */ - Iterator<Device> getSFFOfTenant(TenantId tenantId); - - /** - * Returns gateway mac address of the specific host. - * - * @param hostId host identifier - * @return MacAddress of host - */ - MacAddress getGatewayMac(HostId hostId); - - /** - * Checks if a specific port is a service function. - * - * @param portId port identifier - * @return true or false - */ - boolean isServiceFunction(VirtualPortId portId); - - /** - * Returns device identifier mapping to the specific port. - * - * @param portId port identifier - * @return device identifier - */ - DeviceId getSFToSFFMaping(VirtualPortId portId); -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/impl/VtnRscManager.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/impl/VtnRscManager.java deleted file mode 100644 index b21ad200..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/impl/VtnRscManager.java +++ /dev/null @@ -1,582 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.service.impl; - -import static com.google.common.base.Preconditions.checkNotNull; -import static org.slf4j.LoggerFactory.getLogger; - -import java.util.HashSet; -import java.util.Iterator; -import java.util.Set; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onlab.packet.IpAddress; -import org.onlab.packet.MacAddress; -import org.onlab.util.KryoNamespace; -import org.onosproject.core.CoreService; -import org.onosproject.event.AbstractListenerManager; -import org.onosproject.net.Device; -import org.onosproject.net.DeviceId; -import org.onosproject.net.Host; -import org.onosproject.net.HostId; -import org.onosproject.net.host.HostEvent; -import org.onosproject.net.host.HostListener; -import org.onosproject.net.host.HostService; -import org.onosproject.net.device.DeviceService; -import org.onosproject.store.serializers.KryoNamespaces; -import org.onosproject.store.service.EventuallyConsistentMap; -import org.onosproject.store.service.LogicalClockService; -import org.onosproject.store.service.StorageService; -import org.onosproject.vtnrsc.FixedIp; -import org.onosproject.vtnrsc.FloatingIp; -import org.onosproject.vtnrsc.Router; -import org.onosproject.vtnrsc.RouterInterface; -import org.onosproject.vtnrsc.SegmentationId; -import org.onosproject.vtnrsc.Subnet; -import org.onosproject.vtnrsc.SubnetId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.VirtualPort; -import org.onosproject.vtnrsc.VirtualPortId; -import org.onosproject.vtnrsc.PortPair; -import org.onosproject.vtnrsc.PortPairId; -import org.onosproject.vtnrsc.PortPairGroup; -import org.onosproject.vtnrsc.FlowClassifier; -import org.onosproject.vtnrsc.PortChain; -import org.onosproject.vtnrsc.event.VtnRscEvent; -import org.onosproject.vtnrsc.event.VtnRscEventFeedback; -import org.onosproject.vtnrsc.event.VtnRscListener; -import org.onosproject.vtnrsc.floatingip.FloatingIpEvent; -import org.onosproject.vtnrsc.floatingip.FloatingIpListener; -import org.onosproject.vtnrsc.floatingip.FloatingIpService; -import org.onosproject.vtnrsc.router.RouterEvent; -import org.onosproject.vtnrsc.router.RouterListener; -import org.onosproject.vtnrsc.router.RouterService; -import org.onosproject.vtnrsc.routerinterface.RouterInterfaceEvent; -import org.onosproject.vtnrsc.routerinterface.RouterInterfaceListener; -import org.onosproject.vtnrsc.routerinterface.RouterInterfaceService; -import org.onosproject.vtnrsc.service.VtnRscService; -import org.onosproject.vtnrsc.subnet.SubnetService; -import org.onosproject.vtnrsc.tenantnetwork.TenantNetworkService; -import org.onosproject.vtnrsc.virtualport.VirtualPortService; -import org.onosproject.vtnrsc.portpair.PortPairEvent; -import org.onosproject.vtnrsc.portpair.PortPairListener; -import org.onosproject.vtnrsc.portpair.PortPairService; -import org.onosproject.vtnrsc.portpairgroup.PortPairGroupEvent; -import org.onosproject.vtnrsc.portpairgroup.PortPairGroupListener; -import org.onosproject.vtnrsc.portpairgroup.PortPairGroupService; -import org.onosproject.vtnrsc.flowclassifier.FlowClassifierEvent; -import org.onosproject.vtnrsc.flowclassifier.FlowClassifierListener; -import org.onosproject.vtnrsc.flowclassifier.FlowClassifierService; -import org.onosproject.vtnrsc.portchain.PortChainEvent; -import org.onosproject.vtnrsc.portchain.PortChainListener; -import org.onosproject.vtnrsc.portchain.PortChainService; -import org.slf4j.Logger; - -/** - * Provides implementation of the VtnRsc service. - */ -@Component(immediate = true) -@Service -public class VtnRscManager extends AbstractListenerManager<VtnRscEvent, VtnRscListener> - implements VtnRscService { - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected CoreService coreService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected StorageService storageService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected LogicalClockService clockService; - - private final Logger log = getLogger(getClass()); - private HostListener hostListener = new InnerHostListener(); - private FloatingIpListener floatingIpListener = new InnerFloatingIpListener(); - private RouterListener routerListener = new InnerRouterListener(); - private RouterInterfaceListener routerInterfaceListener = new InnerRouterInterfaceListener(); - private PortPairListener portPairListener = new InnerPortPairListener(); - private PortPairGroupListener portPairGroupListener = new InnerPortPairGroupListener(); - private FlowClassifierListener flowClassifierListener = new InnerFlowClassifierListener(); - private PortChainListener portChainListener = new InnerPortChainListener(); - - private EventuallyConsistentMap<TenantId, SegmentationId> l3vniMap; - private EventuallyConsistentMap<TenantId, Set<DeviceId>> classifierOvsMap; - private EventuallyConsistentMap<TenantId, Set<DeviceId>> sffOvsMap; - - private static final String IFACEID = "ifaceid"; - private static final String RUNNELOPTOPOIC = "tunnel-ops-ids"; - private static final String LISTENER_NOT_NULL = "listener cannot be null"; - private static final String EVENT_NOT_NULL = "event cannot be null"; - private static final String TENANTID_NOT_NULL = "tenantId cannot be null"; - private static final String DEVICEID_NOT_NULL = "deviceId cannot be null"; - private static final String OVSMAP_NOT_NULL = "ovsMap cannot be null"; - private static final String L3VNIMAP = "l3vniMap"; - private static final String CLASSIFIEROVSMAP = "classifierOvsMap"; - private static final String SFFOVSMAP = "sffOvsMap"; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected RouterService routerService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected FloatingIpService floatingIpService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected RouterInterfaceService routerInterfaceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected VirtualPortService virtualPortService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected HostService hostService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected SubnetService subnetService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected TenantNetworkService tenantNetworkService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected DeviceService deviceService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected PortPairService portPairService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected PortPairGroupService portPairGroupService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected FlowClassifierService flowClassifierService; - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected PortChainService portChainService; - - @Activate - public void activate() { - hostService.addListener(hostListener); - floatingIpService.addListener(floatingIpListener); - routerService.addListener(routerListener); - routerInterfaceService.addListener(routerInterfaceListener); - portPairService.addListener(portPairListener); - portPairGroupService.addListener(portPairGroupListener); - flowClassifierService.addListener(flowClassifierListener); - portChainService.addListener(portChainListener); - - KryoNamespace.Builder serializer = KryoNamespace.newBuilder() - .register(KryoNamespaces.API) - .register(TenantId.class, DeviceId.class); - l3vniMap = storageService - .<TenantId, SegmentationId>eventuallyConsistentMapBuilder() - .withName(L3VNIMAP).withSerializer(serializer) - .withTimestampProvider((k, v) -> clockService.getTimestamp()) - .build(); - - classifierOvsMap = storageService - .<TenantId, Set<DeviceId>>eventuallyConsistentMapBuilder() - .withName(CLASSIFIEROVSMAP).withSerializer(serializer) - .withTimestampProvider((k, v) -> clockService.getTimestamp()) - .build(); - - sffOvsMap = storageService - .<TenantId, Set<DeviceId>>eventuallyConsistentMapBuilder() - .withName(SFFOVSMAP).withSerializer(serializer) - .withTimestampProvider((k, v) -> clockService.getTimestamp()) - .build(); - } - - @Deactivate - public void deactivate() { - hostService.removeListener(hostListener); - floatingIpService.removeListener(floatingIpListener); - routerService.removeListener(routerListener); - routerInterfaceService.removeListener(routerInterfaceListener); - portPairService.removeListener(portPairListener); - portPairGroupService.removeListener(portPairGroupListener); - flowClassifierService.removeListener(flowClassifierListener); - portChainService.removeListener(portChainListener); - - l3vniMap.destroy(); - classifierOvsMap.destroy(); - sffOvsMap.destroy(); - log.info("Stopped"); - } - - @Override - public SegmentationId getL3vni(TenantId tenantId) { - checkNotNull(tenantId, "tenantId cannot be null"); - SegmentationId l3vni = l3vniMap.get(tenantId); - if (l3vni == null) { - long segmentationId = coreService.getIdGenerator(RUNNELOPTOPOIC) - .getNewId(); - l3vni = SegmentationId.segmentationId(String - .valueOf(segmentationId)); - l3vniMap.put(tenantId, l3vni); - } - return l3vni; - } - - private class InnerHostListener implements HostListener { - - @Override - public void event(HostEvent event) { - checkNotNull(event, EVENT_NOT_NULL); - Host host = event.subject(); - String ifaceId = host.annotations().value(IFACEID); - VirtualPortId hPortId = VirtualPortId.portId(ifaceId); - TenantId tenantId = virtualPortService.getPort(hPortId).tenantId(); - DeviceId deviceId = host.location().deviceId(); - if (HostEvent.Type.HOST_ADDED == event.type()) { - if (isServiceFunction(hPortId)) { - addDeviceIdOfOvsMap(tenantId, deviceId, sffOvsMap); - } else { - addDeviceIdOfOvsMap(tenantId, deviceId, classifierOvsMap); - } - } else if (HostEvent.Type.HOST_REMOVED == event.type()) { - if (isLastSFHostOfTenant(host, deviceId, tenantId)) { - removeDeviceIdOfOvsMap(tenantId, deviceId, sffOvsMap); - } - if (isLastClassifierHostOfTenant(host, deviceId, tenantId)) { - removeDeviceIdOfOvsMap(tenantId, deviceId, classifierOvsMap); - } - } - } - } - - private class InnerFloatingIpListener implements FloatingIpListener { - - @Override - public void event(FloatingIpEvent event) { - checkNotNull(event, EVENT_NOT_NULL); - FloatingIp floatingIp = event.subject(); - if (FloatingIpEvent.Type.FLOATINGIP_PUT == event.type()) { - notifyListeners(new VtnRscEvent( - VtnRscEvent.Type.FLOATINGIP_PUT, - new VtnRscEventFeedback( - floatingIp))); - } - if (FloatingIpEvent.Type.FLOATINGIP_DELETE == event.type()) { - notifyListeners(new VtnRscEvent( - VtnRscEvent.Type.FLOATINGIP_DELETE, - new VtnRscEventFeedback( - floatingIp))); - } - } - } - - private class InnerRouterListener implements RouterListener { - - @Override - public void event(RouterEvent event) { - checkNotNull(event, EVENT_NOT_NULL); - Router router = event.subject(); - if (RouterEvent.Type.ROUTER_PUT == event.type()) { - notifyListeners(new VtnRscEvent(VtnRscEvent.Type.ROUTER_PUT, - new VtnRscEventFeedback(router))); - } - if (RouterEvent.Type.ROUTER_DELETE == event.type()) { - notifyListeners(new VtnRscEvent(VtnRscEvent.Type.ROUTER_DELETE, - new VtnRscEventFeedback(router))); - } - } - } - - private class InnerRouterInterfaceListener - implements RouterInterfaceListener { - - @Override - public void event(RouterInterfaceEvent event) { - checkNotNull(event, EVENT_NOT_NULL); - RouterInterface routerInterface = event.subject(); - if (RouterInterfaceEvent.Type.ROUTER_INTERFACE_PUT == event.type()) { - notifyListeners(new VtnRscEvent( - VtnRscEvent.Type.ROUTER_INTERFACE_PUT, - new VtnRscEventFeedback( - routerInterface))); - } - if (RouterInterfaceEvent.Type.ROUTER_INTERFACE_DELETE == event - .type()) { - notifyListeners(new VtnRscEvent( - VtnRscEvent.Type.ROUTER_INTERFACE_DELETE, - new VtnRscEventFeedback( - routerInterface))); - } - } - } - - private class InnerPortPairListener implements PortPairListener { - - @Override - public void event(PortPairEvent event) { - checkNotNull(event, EVENT_NOT_NULL); - PortPair portPair = event.subject(); - if (PortPairEvent.Type.PORT_PAIR_PUT == event.type()) { - notifyListeners(new VtnRscEvent(VtnRscEvent.Type.PORT_PAIR_PUT, - new VtnRscEventFeedback(portPair))); - } else if (PortPairEvent.Type.PORT_PAIR_DELETE == event.type()) { - notifyListeners(new VtnRscEvent( - VtnRscEvent.Type.PORT_PAIR_DELETE, - new VtnRscEventFeedback(portPair))); - } else if (PortPairEvent.Type.PORT_PAIR_UPDATE == event.type()) { - notifyListeners(new VtnRscEvent( - VtnRscEvent.Type.PORT_PAIR_UPDATE, - new VtnRscEventFeedback(portPair))); - } - } - } - - private class InnerPortPairGroupListener implements PortPairGroupListener { - - @Override - public void event(PortPairGroupEvent event) { - checkNotNull(event, EVENT_NOT_NULL); - PortPairGroup portPairGroup = event.subject(); - if (PortPairGroupEvent.Type.PORT_PAIR_GROUP_PUT == event.type()) { - notifyListeners(new VtnRscEvent( - VtnRscEvent.Type.PORT_PAIR_GROUP_PUT, - new VtnRscEventFeedback(portPairGroup))); - } else if (PortPairGroupEvent.Type.PORT_PAIR_GROUP_DELETE == event.type()) { - notifyListeners(new VtnRscEvent( - VtnRscEvent.Type.PORT_PAIR_GROUP_DELETE, - new VtnRscEventFeedback(portPairGroup))); - } else if (PortPairGroupEvent.Type.PORT_PAIR_GROUP_UPDATE == event.type()) { - notifyListeners(new VtnRscEvent( - VtnRscEvent.Type.PORT_PAIR_GROUP_UPDATE, - new VtnRscEventFeedback(portPairGroup))); - } - } - } - - private class InnerFlowClassifierListener implements FlowClassifierListener { - - @Override - public void event(FlowClassifierEvent event) { - checkNotNull(event, EVENT_NOT_NULL); - FlowClassifier flowClassifier = event.subject(); - if (FlowClassifierEvent.Type.FLOW_CLASSIFIER_PUT == event.type()) { - notifyListeners(new VtnRscEvent( - VtnRscEvent.Type.FLOW_CLASSIFIER_PUT, - new VtnRscEventFeedback(flowClassifier))); - } else if (FlowClassifierEvent.Type.FLOW_CLASSIFIER_DELETE == event.type()) { - notifyListeners(new VtnRscEvent( - VtnRscEvent.Type.FLOW_CLASSIFIER_DELETE, - new VtnRscEventFeedback(flowClassifier))); - } else if (FlowClassifierEvent.Type.FLOW_CLASSIFIER_UPDATE == event.type()) { - notifyListeners(new VtnRscEvent( - VtnRscEvent.Type.FLOW_CLASSIFIER_UPDATE, - new VtnRscEventFeedback(flowClassifier))); - } - } - } - - private class InnerPortChainListener implements PortChainListener { - - @Override - public void event(PortChainEvent event) { - checkNotNull(event, EVENT_NOT_NULL); - PortChain portChain = event.subject(); - if (PortChainEvent.Type.PORT_CHAIN_PUT == event.type()) { - notifyListeners(new VtnRscEvent( - VtnRscEvent.Type.PORT_CHAIN_PUT, - new VtnRscEventFeedback(portChain))); - } else if (PortChainEvent.Type.PORT_CHAIN_DELETE == event.type()) { - notifyListeners(new VtnRscEvent( - VtnRscEvent.Type.PORT_CHAIN_DELETE, - new VtnRscEventFeedback(portChain))); - } else if (PortChainEvent.Type.PORT_CHAIN_UPDATE == event.type()) { - notifyListeners(new VtnRscEvent( - VtnRscEvent.Type.PORT_CHAIN_UPDATE, - new VtnRscEventFeedback(portChain))); - } - } - } - - @Override - public Iterator<Device> getClassifierOfTenant(TenantId tenantId) { - checkNotNull(tenantId, TENANTID_NOT_NULL); - Set<DeviceId> deviceIdSet = classifierOvsMap.get(tenantId); - Set<Device> deviceSet = new HashSet<>(); - if (deviceIdSet != null) { - for (DeviceId deviceId : deviceIdSet) { - deviceSet.add(deviceService.getDevice(deviceId)); - } - } - return deviceSet.iterator(); - } - - @Override - public Iterator<Device> getSFFOfTenant(TenantId tenantId) { - checkNotNull(tenantId, TENANTID_NOT_NULL); - Set<DeviceId> deviceIdSet = sffOvsMap.get(tenantId); - Set<Device> deviceSet = new HashSet<>(); - if (deviceIdSet != null) { - for (DeviceId deviceId : deviceIdSet) { - deviceSet.add(deviceService.getDevice(deviceId)); - } - } - return deviceSet.iterator(); - } - - @Override - public MacAddress getGatewayMac(HostId hostId) { - checkNotNull(hostId, "hostId cannot be null"); - Host host = hostService.getHost(hostId); - String ifaceId = host.annotations().value(IFACEID); - VirtualPortId hPortId = VirtualPortId.portId(ifaceId); - VirtualPort hPort = virtualPortService.getPort(hPortId); - SubnetId subnetId = hPort.fixedIps().iterator().next().subnetId(); - Subnet subnet = subnetService.getSubnet(subnetId); - IpAddress gatewayIp = subnet.gatewayIp(); - Iterable<VirtualPort> virtualPorts = virtualPortService.getPorts(); - MacAddress macAddress = null; - for (VirtualPort port : virtualPorts) { - Set<FixedIp> fixedIpSet = port.fixedIps(); - for (FixedIp fixedIp : fixedIpSet) { - if (fixedIp.ip().equals(gatewayIp)) { - macAddress = port.macAddress(); - } - } - } - return macAddress; - } - - @Override - public boolean isServiceFunction(VirtualPortId portId) { - return portPairService.exists(PortPairId.of(portId.portId())); - } - - @Override - public DeviceId getSFToSFFMaping(VirtualPortId portId) { - checkNotNull(portId, "portId cannot be null"); - VirtualPort vmPort = virtualPortService.getPort(portId); - Set<Host> hostSet = hostService.getHostsByMac(vmPort.macAddress()); - for (Host host : hostSet) { - if (host.annotations().value(IFACEID).equals(vmPort.portId().portId())) { - return host.location().deviceId(); - } - } - return null; - } - - /** - * Checks whether the last Service Function host of a specific tenant in - * this device. - * - * @param host the host on device - * @param deviceId the device identifier - * @param tenantId the tenant identifier - * @return true or false - */ - private boolean isLastSFHostOfTenant(Host host, DeviceId deviceId, - TenantId tenantId) { - checkNotNull(host, "host cannot be null"); - checkNotNull(deviceId, DEVICEID_NOT_NULL); - checkNotNull(tenantId, TENANTID_NOT_NULL); - Set<Host> hostSet = hostService.getConnectedHosts(deviceId); - for (Host h : hostSet) { - String ifaceId = h.annotations().value(IFACEID); - VirtualPortId hPortId = VirtualPortId.portId(ifaceId); - if (virtualPortService.getPort(hPortId).tenantId() != tenantId) { - hostSet.remove(h); - } else { - if (!isServiceFunction(hPortId)) { - hostSet.remove(h); - } - } - } - if (hostSet.size() == 1 && hostSet.contains(host)) { - return true; - } - return false; - } - - /** - * Checks whether the last Classifier host of a specific tenant in this - * device. - * - * @param host the host on device - * @param deviceId the device identifier - * @param tenantId the tenant identifier - * @return true or false - */ - private boolean isLastClassifierHostOfTenant(Host host, DeviceId deviceId, - TenantId tenantId) { - checkNotNull(host, "host cannot be null"); - checkNotNull(deviceId, DEVICEID_NOT_NULL); - checkNotNull(tenantId, TENANTID_NOT_NULL); - Set<Host> hostSet = hostService.getConnectedHosts(deviceId); - for (Host h : hostSet) { - String ifaceId = h.annotations().value(IFACEID); - VirtualPortId hPortId = VirtualPortId.portId(ifaceId); - if (virtualPortService.getPort(hPortId).tenantId() != tenantId) { - hostSet.remove(h); - } else { - if (isServiceFunction(hPortId)) { - hostSet.remove(h); - } - } - } - if (hostSet.size() == 1 && hostSet.contains(host)) { - return true; - } - return false; - } - - /** - * Adds specify Device identifier to OvsMap. - * - * @param tenantId the tenant identifier - * @param deviceId the device identifier - * @param ovsMap the instance of map to store device identifier - */ - private void addDeviceIdOfOvsMap(TenantId tenantId, - DeviceId deviceId, - EventuallyConsistentMap<TenantId, Set<DeviceId>> ovsMap) { - checkNotNull(tenantId, TENANTID_NOT_NULL); - checkNotNull(deviceId, DEVICEID_NOT_NULL); - checkNotNull(ovsMap, OVSMAP_NOT_NULL); - if (ovsMap.containsKey(tenantId)) { - Set<DeviceId> deviceIdSet = ovsMap.get(tenantId); - deviceIdSet.add(deviceId); - ovsMap.put(tenantId, deviceIdSet); - } else { - Set<DeviceId> deviceIdSet = new HashSet<>(); - deviceIdSet.add(deviceId); - ovsMap.put(tenantId, deviceIdSet); - } - } - - /** - * Removes specify Device identifier from OvsMap. - * - * @param tenantId the tenant identifier - * @param deviceId the device identifier - * @param ovsMap the instance of map to store device identifier - */ - private void removeDeviceIdOfOvsMap(TenantId tenantId, - DeviceId deviceId, - EventuallyConsistentMap<TenantId, Set<DeviceId>> ovsMap) { - checkNotNull(tenantId, TENANTID_NOT_NULL); - checkNotNull(deviceId, DEVICEID_NOT_NULL); - checkNotNull(ovsMap, OVSMAP_NOT_NULL); - Set<DeviceId> deviceIdSet = ovsMap.get(tenantId); - if (deviceIdSet.size() > 1) { - deviceIdSet.remove(deviceId); - ovsMap.put(tenantId, deviceIdSet); - } else { - ovsMap.remove(tenantId); - } - } - - /** - * Notifies specify event to all listeners. - * - * @param event VtnRsc event - */ - private void notifyListeners(VtnRscEvent event) { - checkNotNull(event, EVENT_NOT_NULL); - post(event); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/impl/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/impl/package-info.java deleted file mode 100644 index aaea08b3..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/impl/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Provides implementation of the VtnRsc service. - */ -package org.onosproject.vtnrsc.service.impl; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/package-info.java deleted file mode 100644 index 37af604a..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Service for interacting with the inventory of Vtn resource. - */ -package org.onosproject.vtnrsc.service; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/subnet/SubnetService.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/subnet/SubnetService.java deleted file mode 100644 index 82eb9611..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/subnet/SubnetService.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.subnet; - -import org.onosproject.vtnrsc.Subnet; -import org.onosproject.vtnrsc.SubnetId; - - -/** - * Service for interacting with the inventory of subnets. - */ -public interface SubnetService { - /** - * Returns the subnet with the specified identifier. - * - * @param subnetId subnet identifier - * @return true or false - */ - boolean exists(SubnetId subnetId); - /** - * Returns a collection of the currently known subnets. - * - * @return iterable collection of subnets - */ - Iterable<Subnet> getSubnets(); - - /** - * Returns the subnet with the specified identifier. - * - * @param subnetId subnet identifier - * @return subnet or null if one with the given identifier is not known - */ - Subnet getSubnet(SubnetId subnetId); - /** - * Creates new subnets. - * - * @param subnets the iterable collection of subnets - * @return true if the identifier subnet has been created right - */ - boolean createSubnets(Iterable<Subnet> subnets); - - /** - * Updates existing subnets. - * - * @param subnets the iterable collection of subnets - * @return true if all subnets were updated successfully - */ - boolean updateSubnets(Iterable<Subnet> subnets); - - /** - * Administratively removes the specified subnets from the store. - * - * @param subnetIds the iterable collection of subnets identifier - * @return true if remove identifier subnets successfully - */ - boolean removeSubnets(Iterable<SubnetId> subnetIds); - - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/subnet/impl/SubnetManager.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/subnet/impl/SubnetManager.java deleted file mode 100644 index 94430389..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/subnet/impl/SubnetManager.java +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.subnet.impl; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onlab.packet.IpAddress; -import org.onosproject.core.ApplicationId; -import org.onosproject.core.CoreService; -import org.onosproject.store.serializers.KryoNamespaces; -import org.onosproject.store.service.Serializer; -import org.onosproject.store.service.StorageService; -import org.onosproject.vtnrsc.AllocationPool; -import org.onosproject.vtnrsc.DefaultAllocationPool; -import org.onosproject.vtnrsc.DefaultHostRoute; -import org.onosproject.vtnrsc.DefaultSubnet; -import org.onosproject.vtnrsc.HostRoute; -import org.onosproject.vtnrsc.Subnet; -import org.onosproject.vtnrsc.SubnetId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.TenantNetworkId; -import org.onosproject.vtnrsc.subnet.SubnetService; -import org.onosproject.vtnrsc.tenantnetwork.TenantNetworkService; -import org.slf4j.Logger; - -import java.util.Arrays; -import java.util.Collections; -import java.util.Map; - -import static com.google.common.base.Preconditions.checkNotNull; -import static org.slf4j.LoggerFactory.getLogger; - -/** - * Provides implementation of the Subnet service. - */ -@Component(immediate = true) -@Service -public class SubnetManager implements SubnetService { - - private static final String SUBNET_ID_NULL = "Subnet ID cannot be null"; - private static final String SUBNET_NOT_NULL = "Subnet cannot be null"; - private static final String SUBNET = "vtn-subnet-store"; - private static final String VTNRSC_APP = "org.onosproject.vtnrsc"; - - - private final Logger log = getLogger(getClass()); - - protected Map<SubnetId, Subnet> subnetStore; - protected ApplicationId appId; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected StorageService storageService; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected CoreService coreService; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected TenantNetworkService tenantNetworkService; - - @Activate - public void activate() { - - appId = coreService.registerApplication(VTNRSC_APP); - - subnetStore = storageService.<SubnetId, Subnet>consistentMapBuilder() - .withName(SUBNET) - .withApplicationId(appId) - .withPurgeOnUninstall() - .withSerializer(Serializer.using(Arrays.asList(KryoNamespaces.API), - Subnet.class, - SubnetId.class, - TenantNetworkId.class, - TenantId.class, - HostRoute.class, - DefaultHostRoute.class, - Subnet.Mode.class, - AllocationPool.class, - DefaultAllocationPool.class, - DefaultSubnet.class, - IpAddress.Version.class)) - .build().asJavaMap(); - - log.info("Started"); - } - - @Deactivate - public void deactivate() { - log.info("Stopped"); - } - - @Override - public Iterable<Subnet> getSubnets() { - return Collections.unmodifiableCollection(subnetStore.values()); - } - - @Override - public Subnet getSubnet(SubnetId subnetId) { - checkNotNull(subnetId, SUBNET_ID_NULL); - return subnetStore.get(subnetId); - } - - @Override - public boolean exists(SubnetId subnetId) { - checkNotNull(subnetId, SUBNET_ID_NULL); - return subnetStore.containsKey(subnetId); - } - - @Override - public boolean createSubnets(Iterable<Subnet> subnets) { - checkNotNull(subnets, SUBNET_NOT_NULL); - for (Subnet subnet : subnets) { - if (!tenantNetworkService.exists(subnet.networkId())) { - log.debug("The network identifier that the subnet {} belong to is not exist", - subnet.networkId().toString(), subnet.id().toString()); - return false; - } - subnetStore.put(subnet.id(), subnet); - if (!subnetStore.containsKey(subnet.id())) { - log.debug("The identified subnet whose identifier is {} create failed", - subnet.id().toString()); - return false; - } - } - return true; - } - - @Override - public boolean updateSubnets(Iterable<Subnet> subnets) { - checkNotNull(subnets, SUBNET_NOT_NULL); - for (Subnet subnet : subnets) { - if (!subnetStore.containsKey(subnet.id())) { - log.debug("The subnet is not exist whose identifier is {}", - subnet.id().toString()); - return false; - } - - subnetStore.put(subnet.id(), subnet); - - if (!subnet.equals(subnetStore.get(subnet.id()))) { - log.debug("The subnet is updated failed whose identifier is {}", - subnet.id().toString()); - return false; - } - } - return true; - } - - @Override - public boolean removeSubnets(Iterable<SubnetId> subnetIds) { - checkNotNull(subnetIds, SUBNET_ID_NULL); - for (SubnetId subnetId : subnetIds) { - subnetStore.remove(subnetId); - if (subnetStore.containsKey(subnetId)) { - log.debug("The subnet created is failed whose identifier is {}", - subnetId.toString()); - return false; - } - } - return true; - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/subnet/impl/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/subnet/impl/package-info.java deleted file mode 100644 index 79040d8d..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/subnet/impl/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Provides implementation of the Subnet service. - */ -package org.onosproject.vtnrsc.subnet.impl; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/subnet/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/subnet/package-info.java deleted file mode 100644 index 7b2bdb90..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/subnet/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Service for interacting with the inventory of subnets. - */ -package org.onosproject.vtnrsc.subnet; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/tenantnetwork/TenantNetworkService.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/tenantnetwork/TenantNetworkService.java deleted file mode 100644 index e246cc4e..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/tenantnetwork/TenantNetworkService.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.tenantnetwork; - -import org.onosproject.vtnrsc.TenantNetwork; -import org.onosproject.vtnrsc.TenantNetworkId; - -/** - * Service for interacting with the inventory of tenantNetwork. - */ -public interface TenantNetworkService { - - /** - * Returns if the tenantNetwork is existed. - * - * @param networkId tenantNetwork identifier - * @return true or false if one with the given identifier exists. - */ - boolean exists(TenantNetworkId networkId); - - /** - * Returns the number of tenantNetwork known to the system. - * - * @return number of tenantNetwork. - */ - int getNetworkCount(); - - /** - * Returns an iterable collection of the currently known tenantNetwork. - * - * @return collection of tenantNetwork. - */ - Iterable<TenantNetwork> getNetworks(); - - /** - * Returns the tenantNetwork with the identifier. - * - * @param networkId TenantNetwork identifier - * @return TenantNetwork or null if one with the given identifier is not - * known. - */ - TenantNetwork getNetwork(TenantNetworkId networkId); - - /** - * Creates tenantNetworks by networks. - * - * @param networks the collection of tenantNetworks - * @return true if all given identifiers created successfully. - */ - boolean createNetworks(Iterable<TenantNetwork> networks); - - /** - * Updates tenantNetworks by tenantNetworks. - * - * @param networks the collection of tenantNetworks - * @return true if all given identifiers updated successfully. - */ - boolean updateNetworks(Iterable<TenantNetwork> networks); - - /** - * Deletes tenantNetwork by tenantNetworkIds. - * - * @param networksIds the collection of tenantNetworkIds - * @return true if the specified tenantNetworks deleted successfully. - */ - boolean removeNetworks(Iterable<TenantNetworkId> networksIds); -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/tenantnetwork/impl/TenantNetworkManager.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/tenantnetwork/impl/TenantNetworkManager.java deleted file mode 100644 index 0dfc99e2..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/tenantnetwork/impl/TenantNetworkManager.java +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.tenantnetwork.impl; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onosproject.core.ApplicationId; -import org.onosproject.core.CoreService; -import org.onosproject.store.serializers.KryoNamespaces; -import org.onosproject.store.service.Serializer; -import org.onosproject.store.service.StorageService; -import org.onosproject.vtnrsc.DefaultTenantNetwork; -import org.onosproject.vtnrsc.PhysicalNetwork; -import org.onosproject.vtnrsc.SegmentationId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.TenantNetwork; -import org.onosproject.vtnrsc.TenantNetworkId; -import org.onosproject.vtnrsc.tenantnetwork.TenantNetworkService; -import org.slf4j.Logger; - -import java.util.Arrays; -import java.util.Collections; -import java.util.Map; - -import static com.google.common.base.Preconditions.checkNotNull; -import static org.slf4j.LoggerFactory.getLogger; - -/** - * Provides implementation of the tenantNetworkService. - */ -@Component(immediate = true) -@Service -public class TenantNetworkManager implements TenantNetworkService { - - private static final String NETWORK_ID_NULL = "Network ID cannot be null"; - private static final String NETWORK_NOT_NULL = "Network ID cannot be null"; - private static final String TENANTNETWORK = "vtn-tenant-network-store"; - private static final String VTNRSC_APP = "org.onosproject.vtnrsc"; - - protected Map<TenantNetworkId, TenantNetwork> networkIdAsKeyStore; - protected ApplicationId appId; - - private final Logger log = getLogger(getClass()); - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected StorageService storageService; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected CoreService coreService; - - - @Activate - public void activate() { - - appId = coreService.registerApplication(VTNRSC_APP); - - networkIdAsKeyStore = storageService.<TenantNetworkId, TenantNetwork>consistentMapBuilder() - .withName(TENANTNETWORK) - .withApplicationId(appId) - .withPurgeOnUninstall() - .withSerializer(Serializer.using(Arrays.asList(KryoNamespaces.API), - TenantNetworkId.class, - DefaultTenantNetwork.class, - TenantNetwork.State.class, - TenantId.class, - TenantNetwork.Type.class, - PhysicalNetwork.class, - SegmentationId.class)) - .build().asJavaMap(); - - log.info("Started"); - } - - @Deactivate - public void deactivate() { - log.info("Stopped"); - } - - @Override - public boolean exists(TenantNetworkId networkId) { - checkNotNull(networkId, NETWORK_ID_NULL); - return networkIdAsKeyStore.containsKey(networkId); - } - - @Override - public int getNetworkCount() { - return networkIdAsKeyStore.size(); - } - - @Override - public Iterable<TenantNetwork> getNetworks() { - return Collections.unmodifiableCollection(networkIdAsKeyStore.values()); - } - - @Override - public TenantNetwork getNetwork(TenantNetworkId networkId) { - checkNotNull(networkId, NETWORK_ID_NULL); - return networkIdAsKeyStore.get(networkId); - } - - @Override - public boolean createNetworks(Iterable<TenantNetwork> networks) { - checkNotNull(networks, NETWORK_NOT_NULL); - for (TenantNetwork network : networks) { - networkIdAsKeyStore.put(network.id(), network); - if (!networkIdAsKeyStore.containsKey(network.id())) { - log.debug("The tenantNetwork is created failed which identifier was {}", network.id() - .toString()); - return false; - } - } - return true; - } - - @Override - public boolean updateNetworks(Iterable<TenantNetwork> networks) { - checkNotNull(networks, NETWORK_NOT_NULL); - for (TenantNetwork network : networks) { - if (!networkIdAsKeyStore.containsKey(network.id())) { - log.debug("The tenantNetwork is not exist whose identifier was {} ", - network.id().toString()); - return false; - } - - networkIdAsKeyStore.put(network.id(), network); - - if (!network.equals(networkIdAsKeyStore.get(network.id()))) { - log.debug("The tenantNetwork is updated failed whose identifier was {} ", - network.id().toString()); - return false; - } - - } - return true; - } - - @Override - public boolean removeNetworks(Iterable<TenantNetworkId> networkIds) { - checkNotNull(networkIds, NETWORK_NOT_NULL); - for (TenantNetworkId networkId : networkIds) { - networkIdAsKeyStore.remove(networkId); - if (networkIdAsKeyStore.containsKey(networkId)) { - log.debug("The tenantNetwork is removed failed whose identifier was {}", - networkId.toString()); - return false; - } - } - return true; - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/tenantnetwork/impl/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/tenantnetwork/impl/package-info.java deleted file mode 100644 index f381fda6..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/tenantnetwork/impl/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Implementation of service for interacting with the inventory of tenant networks. - */ -package org.onosproject.vtnrsc.tenantnetwork.impl; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/tenantnetwork/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/tenantnetwork/package-info.java deleted file mode 100644 index 1489c973..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/tenantnetwork/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Service for interacting with the inventory of tenant networks. - */ -package org.onosproject.vtnrsc.tenantnetwork; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/virtualport/VirtualPortService.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/virtualport/VirtualPortService.java deleted file mode 100644 index 19548db8..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/virtualport/VirtualPortService.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.virtualport; - -import java.util.Collection; - -import org.onlab.packet.IpAddress; -import org.onosproject.net.DeviceId; -import org.onosproject.vtnrsc.FixedIp; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.TenantNetworkId; -import org.onosproject.vtnrsc.VirtualPort; -import org.onosproject.vtnrsc.VirtualPortId; - -/** - * Service for interacting with the inventory of virtualPort. - */ -public interface VirtualPortService { - /** - * Returns if the virtualPort is existed. - * - * @param virtualPortId virtualPort identifier - * @return true or false if one with the given identifier is not existed. - */ - boolean exists(VirtualPortId virtualPortId); - - /** - * Returns the virtualPort with the identifier. - * - * @param virtualPortId virtualPort ID - * @return VirtualPort or null if one with the given ID is not know. - */ - VirtualPort getPort(VirtualPortId virtualPortId); - - /** - * Returns the virtualPort associated with the fixedIP. - * - * @param fixedIP the fixedIP identifier - * @return virtualPort. - */ - VirtualPort getPort(FixedIp fixedIP); - - /** - * Returns the virtualPort associated with the networkId and ip. - * - * @param networkId the TenantNetworkId identifier - * @param ip the ip identifier - * @return virtualPort. - */ - VirtualPort getPort(TenantNetworkId networkId, IpAddress ip); - - /** - * Returns the collection of the currently known virtualPort. - * @return collection of VirtualPort. - */ - Collection<VirtualPort> getPorts(); - - /** - * Returns the collection of the virtualPorts associated with the networkId. - * - * @param networkId the network identifer - * @return collection of virtualPort. - */ - Collection<VirtualPort> getPorts(TenantNetworkId networkId); - - /** - * Returns the collection of the virtualPorts associated with the tenantId. - * - * @param tenantId the tenant identifier - * @return collection of virtualPorts. - */ - Collection<VirtualPort> getPorts(TenantId tenantId); - - /** - * Returns the collection of the virtualPorts associated with the deviceId. - * - * @param deviceId the device identifier - * @return collection of virtualPort. - */ - Collection<VirtualPort> getPorts(DeviceId deviceId); - - /** - * Creates virtualPorts by virtualPorts. - * - * @param virtualPorts the iterable collection of virtualPorts - * @return true if all given identifiers created successfully. - */ - boolean createPorts(Iterable<VirtualPort> virtualPorts); - - /** - * Updates virtualPorts by virtualPorts. - * - * @param virtualPorts the iterable collection of virtualPorts - * @return true if all given identifiers updated successfully. - */ - boolean updatePorts(Iterable<VirtualPort> virtualPorts); - - /** - * Deletes virtualPortIds by virtualPortIds. - * - * @param virtualPortIds the iterable collection of virtualPort identifiers - * @return true or false if one with the given identifier to delete is - * successfully. - */ - boolean removePorts(Iterable<VirtualPortId> virtualPortIds); -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/virtualport/impl/VirtualPortManager.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/virtualport/impl/VirtualPortManager.java deleted file mode 100644 index 9639e086..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/virtualport/impl/VirtualPortManager.java +++ /dev/null @@ -1,249 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.virtualport.impl; - -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onlab.packet.IpAddress; -import org.onosproject.core.ApplicationId; -import org.onosproject.core.CoreService; -import org.onosproject.net.DeviceId; -import org.onosproject.store.serializers.KryoNamespaces; -import org.onosproject.store.service.Serializer; -import org.onosproject.store.service.StorageService; -import org.onosproject.vtnrsc.AllowedAddressPair; -import org.onosproject.vtnrsc.BindingHostId; -import org.onosproject.vtnrsc.DefaultVirtualPort; -import org.onosproject.vtnrsc.FixedIp; -import org.onosproject.vtnrsc.SecurityGroup; -import org.onosproject.vtnrsc.SubnetId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.TenantNetworkId; -import org.onosproject.vtnrsc.VirtualPort; -import org.onosproject.vtnrsc.VirtualPortId; -import org.onosproject.vtnrsc.tenantnetwork.TenantNetworkService; -import org.onosproject.vtnrsc.virtualport.VirtualPortService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Provides implementation of the VirtualPort APIs. - */ -@Component(immediate = true) -@Service -public class VirtualPortManager implements VirtualPortService { - - private final Logger log = LoggerFactory.getLogger(getClass()); - - private static final String VIRTUALPORT = "vtn-virtual-port"; - private static final String VTNRSC_APP = "org.onosproject.vtnrsc"; - - private static final String VIRTUALPORT_ID_NULL = "VirtualPort ID cannot be null"; - private static final String VIRTUALPORT_NOT_NULL = "VirtualPort cannot be null"; - private static final String TENANTID_NOT_NULL = "TenantId cannot be null"; - private static final String NETWORKID_NOT_NULL = "NetworkId cannot be null"; - private static final String DEVICEID_NOT_NULL = "DeviceId cannot be null"; - private static final String FIXEDIP_NOT_NULL = "FixedIp cannot be null"; - private static final String IP_NOT_NULL = "Ip cannot be null"; - - protected Map<VirtualPortId, VirtualPort> vPortStore; - protected ApplicationId appId; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected StorageService storageService; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected TenantNetworkService networkService; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected CoreService coreService; - - @Activate - public void activate() { - - appId = coreService.registerApplication(VTNRSC_APP); - - vPortStore = storageService.<VirtualPortId, VirtualPort>consistentMapBuilder() - .withName(VIRTUALPORT) - .withApplicationId(appId) - .withPurgeOnUninstall() - .withSerializer(Serializer.using(Arrays.asList(KryoNamespaces.API), - VirtualPortId.class, - TenantNetworkId.class, - VirtualPort.State.class, - TenantId.class, - AllowedAddressPair.class, - FixedIp.class, - BindingHostId.class, - SecurityGroup.class, - SubnetId.class, - IpAddress.class, - DefaultVirtualPort.class)) - .build().asJavaMap(); - log.info("Started"); - } - - @Deactivate - public void deactivate() { - vPortStore.clear(); - log.info("Stoppped"); - } - - @Override - public boolean exists(VirtualPortId vPortId) { - checkNotNull(vPortId, VIRTUALPORT_ID_NULL); - return vPortStore.containsKey(vPortId); - } - - @Override - public VirtualPort getPort(VirtualPortId vPortId) { - checkNotNull(vPortId, VIRTUALPORT_ID_NULL); - return vPortStore.get(vPortId); - } - - @Override - public VirtualPort getPort(FixedIp fixedIP) { - checkNotNull(fixedIP, FIXEDIP_NOT_NULL); - List<VirtualPort> vPorts = new ArrayList<>(); - vPortStore.values().stream().forEach(p -> { - Iterator<FixedIp> fixedIps = p.fixedIps().iterator(); - while (fixedIps.hasNext()) { - if (fixedIps.next().equals(fixedIP)) { - vPorts.add(p); - break; - } - } - }); - if (vPorts.size() == 0) { - return null; - } - return vPorts.get(0); - } - - @Override - public VirtualPort getPort(TenantNetworkId networkId, IpAddress ip) { - checkNotNull(networkId, NETWORKID_NOT_NULL); - checkNotNull(ip, IP_NOT_NULL); - List<VirtualPort> vPorts = new ArrayList<>(); - vPortStore.values().stream().filter(p -> p.networkId().equals(networkId)) - .forEach(p -> { - Iterator<FixedIp> fixedIps = p.fixedIps().iterator(); - while (fixedIps.hasNext()) { - if (fixedIps.next().ip().equals(ip)) { - vPorts.add(p); - break; - } - } - }); - if (vPorts.size() == 0) { - return null; - } - return vPorts.get(0); - } - - @Override - public Collection<VirtualPort> getPorts() { - return Collections.unmodifiableCollection(vPortStore.values()); - } - - @Override - public Collection<VirtualPort> getPorts(TenantNetworkId networkId) { - checkNotNull(networkId, NETWORKID_NOT_NULL); - return vPortStore.values().stream().filter(d -> d.networkId().equals(networkId)) - .collect(Collectors.toList()); - } - - @Override - public Collection<VirtualPort> getPorts(TenantId tenantId) { - checkNotNull(tenantId, TENANTID_NOT_NULL); - return vPortStore.values().stream().filter(d -> d.tenantId().equals(tenantId)) - .collect(Collectors.toList()); - } - - @Override - public Collection<VirtualPort> getPorts(DeviceId deviceId) { - checkNotNull(deviceId, DEVICEID_NOT_NULL); - return vPortStore.values().stream().filter(d -> d.deviceId().equals(deviceId)) - .collect(Collectors.toList()); - } - - @Override - public boolean createPorts(Iterable<VirtualPort> vPorts) { - checkNotNull(vPorts, VIRTUALPORT_NOT_NULL); - for (VirtualPort vPort : vPorts) { - log.debug("vPortId is {} ", vPort.portId().toString()); - vPortStore.put(vPort.portId(), vPort); - if (!vPortStore.containsKey(vPort.portId())) { - log.debug("The virtualPort is created failed whose identifier is {} ", - vPort.portId().toString()); - return false; - } - } - return true; - } - - @Override - public boolean updatePorts(Iterable<VirtualPort> vPorts) { - checkNotNull(vPorts, VIRTUALPORT_NOT_NULL); - for (VirtualPort vPort : vPorts) { - vPortStore.put(vPort.portId(), vPort); - if (!vPortStore.containsKey(vPort.portId())) { - log.debug("The virtualPort is not exist whose identifier is {}", - vPort.portId().toString()); - return false; - } - - vPortStore.put(vPort.portId(), vPort); - - if (!vPort.equals(vPortStore.get(vPort.portId()))) { - log.debug("The virtualPort is updated failed whose identifier is {}", - vPort.portId().toString()); - return false; - } - } - return true; - } - - @Override - public boolean removePorts(Iterable<VirtualPortId> vPortIds) { - checkNotNull(vPortIds, VIRTUALPORT_ID_NULL); - for (VirtualPortId vPortId : vPortIds) { - vPortStore.remove(vPortId); - if (vPortStore.containsKey(vPortId)) { - log.debug("The virtualPort is removed failed whose identifier is {}", - vPortId.toString()); - return false; - } - } - return true; - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/virtualport/impl/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/virtualport/impl/package-info.java deleted file mode 100644 index 24eb0d3f..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/virtualport/impl/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Implementation of service for interacting with the inventory of virtual ports. - */ -package org.onosproject.vtnrsc.virtualport.impl; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/virtualport/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/virtualport/package-info.java deleted file mode 100644 index 06a01a04..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/virtualport/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Service for interacting with the inventory of virtual ports. - */ -package org.onosproject.vtnrsc.virtualport; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/resources/OSGI-INF/blueprint/shell-config.xml b/framework/src/onos/apps/vtn/vtnrsc/src/main/resources/OSGI-INF/blueprint/shell-config.xml deleted file mode 100644 index f7a1bf44..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/resources/OSGI-INF/blueprint/shell-config.xml +++ /dev/null @@ -1,89 +0,0 @@ -<!-- - ~ Copyright 2015 Open Networking Laboratory - ~ - ~ Licensed under the Apache License, Version 2.0 (the "License"); - ~ you may not use this file except in compliance with the License. - ~ You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, software - ~ distributed under the License is distributed on an "AS IS" BASIS, - ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ~ See the License for the specific language governing permissions and - ~ limitations under the License. - --> -<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"> - - <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.1.0"> - <command> - <action class="org.onosproject.vtnrsc.cli.network.TenantNetworkCreateCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.network.TenantNetworkQueryCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.network.TenantNetworkRemoveCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.network.TenantNetworkUpdateCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.subnet.SubnetCreateCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.subnet.SubnetQueryCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.subnet.SubnetRemoveCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.subnet.SubnetUpdateCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.virtualport.VirtualPortCreateCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.virtualport.VirtualPortQueryCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.virtualport.VirtualPortRemoveCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.virtualport.VirtualPortUpdateCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.floatingip.FloatingIpCreateCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.floatingip.FloatingIpQueryCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.floatingip.FloatingIpRemoveCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.floatingip.FloatingIpUpdateCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.router.RouterCreateCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.router.RouterQueryCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.router.RouterRemoveCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.router.RouterUpdateCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.routerinterface.RouterInterfaceCreateCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.routerinterface.RouterInterfaceRemoveCommand"/> - </command> - <command> - <action class="org.onosproject.vtnrsc.cli.routerinterface.RouterInterfaceQueryCommand"/> - </command> - </command-bundle> -</blueprint> diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/AllowedAddressPairTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/AllowedAddressPairTest.java deleted file mode 100644 index 05152359..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/AllowedAddressPairTest.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onosproject.vtnrsc; - -import org.junit.Test; -import org.onlab.packet.IpAddress; -import org.onlab.packet.MacAddress; - -import com.google.common.testing.EqualsTester; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for AllowedAddressPair class. - */ -public class AllowedAddressPairTest { - - final IpAddress ip1 = IpAddress.valueOf("192.168.0.1"); - final IpAddress ip2 = IpAddress.valueOf("192.168.0.2"); - final MacAddress mac1 = MacAddress.valueOf("fa:16:3e:76:83:88"); - final MacAddress mac2 = MacAddress.valueOf("aa:16:3e:76:83:88"); - - /** - * Checks that the AllowedAddressPair class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(AllowedAddressPair.class); - } - - /** - * Checks the operation of equals(). - */ - @Test - public void testEquals() { - AllowedAddressPair p1 = AllowedAddressPair - .allowedAddressPair(ip1, mac1); - AllowedAddressPair p2 = AllowedAddressPair - .allowedAddressPair(ip1, mac1); - AllowedAddressPair p3 = AllowedAddressPair - .allowedAddressPair(ip2, mac2); - new EqualsTester().addEqualityGroup(p1, p2).addEqualityGroup(p3) - .testEquals(); - } - - /** - * Checks the construction of a AllowedAddressPair object. - */ - @Test - public void testConstruction() { - AllowedAddressPair allowedAddressPair = AllowedAddressPair - .allowedAddressPair(ip1, mac1); - assertThat(ip1, is(notNullValue())); - assertThat(ip1, is(allowedAddressPair.ip())); - assertThat(mac1, is(notNullValue())); - assertThat(mac1, is(allowedAddressPair.mac())); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultAllocationPoolTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultAllocationPoolTest.java deleted file mode 100644 index 9e7d3c1c..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultAllocationPoolTest.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import org.junit.Test; -import org.onlab.packet.IpAddress; - -import com.google.common.testing.EqualsTester; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for DefaultAllocationPool class. - */ -public class DefaultAllocationPoolTest { - - final IpAddress startIP1 = IpAddress.valueOf("192.168.1.1"); - final IpAddress startIP2 = IpAddress.valueOf("192.168.1.2"); - final IpAddress endIP1 = IpAddress.valueOf("192.168.1.1"); - final IpAddress endIP2 = IpAddress.valueOf("192.168.1.2"); - - /** - * Checks that the DefaultAllocationPool class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(DefaultAllocationPool.class); - } - - /** - * Checks the operation of equals() methods. - */ - @Test - public void testEquals() { - AllocationPool pool1 = new DefaultAllocationPool(startIP1, endIP1); - AllocationPool pool2 = new DefaultAllocationPool(startIP1, endIP1); - AllocationPool pool3 = new DefaultAllocationPool(startIP2, endIP2); - new EqualsTester().addEqualityGroup(pool1, pool2) - .addEqualityGroup(pool3).testEquals(); - } - - /** - * Checks the construction of a DefaultAllocationPool object. - */ - @Test - public void testConstruction() { - final AllocationPool apool = new DefaultAllocationPool(startIP1, endIP1); - assertThat(startIP1, is(apool.startIp())); - assertThat(endIP1, is(apool.endIp())); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultFlowClassifierTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultFlowClassifierTest.java deleted file mode 100644 index 7032c216..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultFlowClassifierTest.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import org.junit.Test; -import org.onlab.packet.IpPrefix; - -import com.google.common.testing.EqualsTester; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for DefaultFlowClassifier class. - */ -public class DefaultFlowClassifierTest { - /** - * Checks that the DefaultFlowClassifier class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(DefaultFlowClassifier.class); - } - - /** - * Checks the operation of equals() methods. - */ - @Test - public void testEquals() { - // Create same two flow classifier objects. - final String name = "FlowClassifier1"; - final String description = "FlowClassifier1"; - final String ethType = "IPv4"; - final String protocol = "tcp"; - final int minSrcPortRange = 5; - final int maxSrcPortRange = 10; - final int minDstPortRange = 5; - final int maxDstPortRange = 10; - final FlowClassifierId flowClassifierId = FlowClassifierId.of("78dcd363-fc23-aeb6-f44b-56dc5e2fb3ae"); - final TenantId tenantId = TenantId.tenantId("1"); - final IpPrefix srcIpPrefix = IpPrefix.valueOf("0.0.0.0/0"); - final IpPrefix dstIpPrefix = IpPrefix.valueOf("10.10.10.10/0"); - final VirtualPortId virtualSrcPort = VirtualPortId.portId("1"); - final VirtualPortId virtualDstPort = VirtualPortId.portId("2"); - - DefaultFlowClassifier.Builder flowClassifierBuilder = new DefaultFlowClassifier.Builder(); - final FlowClassifier flowClassifier1 = flowClassifierBuilder.setFlowClassifierId(flowClassifierId) - .setTenantId(tenantId).setName(name).setDescription(description).setEtherType(ethType) - .setProtocol(protocol).setMinSrcPortRange(minSrcPortRange).setMaxSrcPortRange(maxSrcPortRange) - .setMinDstPortRange(minDstPortRange).setMaxDstPortRange(maxDstPortRange).setSrcIpPrefix(srcIpPrefix) - .setDstIpPrefix(dstIpPrefix).setSrcPort(virtualSrcPort).setDstPort(virtualDstPort).build(); - - flowClassifierBuilder = new DefaultFlowClassifier.Builder(); - final FlowClassifier sameAsFlowClassifier1 = flowClassifierBuilder.setFlowClassifierId(flowClassifierId) - .setTenantId(tenantId).setName(name).setDescription(description).setEtherType(ethType) - .setProtocol(protocol).setMinSrcPortRange(minSrcPortRange).setMaxSrcPortRange(maxSrcPortRange) - .setMinDstPortRange(minDstPortRange).setMaxDstPortRange(maxDstPortRange).setSrcIpPrefix(srcIpPrefix) - .setDstIpPrefix(dstIpPrefix).setSrcPort(virtualSrcPort).setDstPort(virtualDstPort).build(); - - // Create different classifier object. - final String name2 = "FlowClassifier2"; - final String description2 = "FlowClassifier2"; - final String ethType2 = "IPv6"; - final String protocol2 = "udp"; - final int minSrcPortRange2 = 5; - final int maxSrcPortRange2 = 10; - final int minDstPortRange2 = 5; - final int maxDstPortRange2 = 10; - final FlowClassifierId flowClassifierId2 = FlowClassifierId.of("78dcd363-fc23-aeb6-f44b-56dc5e2fb3ae"); - final TenantId tenantId2 = TenantId.tenantId("2"); - final IpPrefix srcIpPrefix2 = IpPrefix.valueOf("0.0.0.0/0"); - final IpPrefix dstIpPrefix2 = IpPrefix.valueOf("10.10.10.10/0"); - final VirtualPortId virtualSrcPort2 = VirtualPortId.portId("3"); - final VirtualPortId virtualDstPort2 = VirtualPortId.portId("4"); - - DefaultFlowClassifier.Builder flowClassifierBuilder3 = new DefaultFlowClassifier.Builder(); - final FlowClassifier flowClassifier2 = flowClassifierBuilder3.setFlowClassifierId(flowClassifierId2) - .setTenantId(tenantId2).setName(name2).setDescription(description2).setEtherType(ethType2) - .setProtocol(protocol2).setMinSrcPortRange(minSrcPortRange2).setMaxSrcPortRange(maxSrcPortRange2) - .setMinDstPortRange(minDstPortRange2).setMaxDstPortRange(maxDstPortRange2).setSrcIpPrefix(srcIpPrefix2) - .setDstIpPrefix(dstIpPrefix2).setSrcPort(virtualSrcPort2).setDstPort(virtualDstPort2).build(); - - new EqualsTester().addEqualityGroup(flowClassifier1, sameAsFlowClassifier1).addEqualityGroup(flowClassifier2) - .testEquals(); - } - - /** - * Checks the construction of a DefaultFlowClassifier object. - */ - @Test - public void testConstruction() { - final String name = "FlowClassifier"; - final String description = "FlowClassifier"; - final String ethType = "IPv4"; - final String protocol = "tcp"; - final int minSrcPortRange = 5; - final int maxSrcPortRange = 10; - final int minDstPortRange = 5; - final int maxDstPortRange = 10; - final FlowClassifierId flowClassifierId = FlowClassifierId.of("78dcd363-fc23-aeb6-f44b-56dc5e2fb3ae"); - final TenantId tenantId = TenantId.tenantId("1"); - final IpPrefix srcIpPrefix = IpPrefix.valueOf("0.0.0.0/0"); - final IpPrefix dstIpPrefix = IpPrefix.valueOf("10.10.10.10/0"); - final VirtualPortId virtualSrcPort = VirtualPortId.portId("1"); - final VirtualPortId virtualDstPort = VirtualPortId.portId("2"); - - DefaultFlowClassifier.Builder flowClassifierBuilder = new DefaultFlowClassifier.Builder(); - final FlowClassifier flowClassifier = flowClassifierBuilder.setFlowClassifierId(flowClassifierId) - .setTenantId(tenantId).setName(name).setDescription(description).setEtherType(ethType) - .setProtocol(protocol).setMinSrcPortRange(minSrcPortRange).setMaxSrcPortRange(maxSrcPortRange) - .setMinDstPortRange(minDstPortRange).setMaxDstPortRange(maxDstPortRange).setSrcIpPrefix(srcIpPrefix) - .setDstIpPrefix(dstIpPrefix).setSrcPort(virtualSrcPort).setDstPort(virtualDstPort).build(); - - assertThat(flowClassifierId, is(flowClassifier.flowClassifierId())); - assertThat(tenantId, is(flowClassifier.tenantId())); - assertThat(name, is(flowClassifier.name())); - assertThat(description, is(flowClassifier.description())); - assertThat(ethType, is(flowClassifier.etherType())); - assertThat(protocol, is(flowClassifier.protocol())); - assertThat(minSrcPortRange, is(flowClassifier.minSrcPortRange())); - assertThat(maxSrcPortRange, is(flowClassifier.maxSrcPortRange())); - assertThat(minDstPortRange, is(flowClassifier.minDstPortRange())); - assertThat(maxDstPortRange, is(flowClassifier.maxDstPortRange())); - assertThat(srcIpPrefix, is(flowClassifier.srcIpPrefix())); - assertThat(dstIpPrefix, is(flowClassifier.dstIpPrefix())); - assertThat(virtualSrcPort, is(flowClassifier.srcPort())); - assertThat(virtualDstPort, is(flowClassifier.dstPort())); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultHostRouteTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultHostRouteTest.java deleted file mode 100644 index 53ead67f..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultHostRouteTest.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import org.junit.Test; -import org.onlab.packet.IpAddress; -import org.onlab.packet.IpPrefix; - -import com.google.common.testing.EqualsTester; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for DefaultHostRoute class. - */ -public class DefaultHostRouteTest { - final IpAddress nexthop1 = IpAddress.valueOf("192.168.1.1"); - final IpAddress nexthop2 = IpAddress.valueOf("192.168.1.2"); - final IpPrefix destination1 = IpPrefix.valueOf("1.1.1.1/1"); - final IpPrefix destination2 = IpPrefix.valueOf("1.1.1.1/2"); - - /** - * Checks that the DefaultHostRoute class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(DefaultHostRoute.class); - } - - /** - * Checks the operation of equals() methods. - */ - @Test - public void testEquals() { - HostRoute route1 = new DefaultHostRoute(nexthop1, destination1); - HostRoute route2 = new DefaultHostRoute(nexthop1, destination1); - HostRoute route3 = new DefaultHostRoute(nexthop2, destination2); - new EqualsTester().addEqualityGroup(route1, route2) - .addEqualityGroup(route3).testEquals(); - } - - /** - * Checks the construction of a DefaultHostRoute object. - */ - @Test - public void testConstruction() { - final HostRoute host = new DefaultHostRoute(nexthop1, destination1); - assertThat(nexthop1, is(host.nexthop())); - assertThat(destination1, is(host.destination())); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultNeutronNetworkTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultNeutronNetworkTest.java deleted file mode 100644 index 7f186a1d..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultNeutronNetworkTest.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import org.junit.Test; - -import com.google.common.testing.EqualsTester; - -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for DefaultNeutronNetwork class. - */ -public class DefaultNeutronNetworkTest { - - private String networkIdStr1 = "123"; - private String networkIdStr2 = "234"; - private String physicalNetworkStr = "1234"; - private String tenantIdStr = "345"; - private String segmentationIdStr = "1"; - private String name = "456"; - - /** - * Checks that the DefaultNeutronNetwork class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(DefaultTenantNetwork.class); - } - - /** - * Checks the operation of equals() methods. - */ - @Test - public void testEquality() { - TenantNetworkId networkid1 = TenantNetworkId.networkId(networkIdStr1); - TenantNetworkId networkid2 = TenantNetworkId.networkId(networkIdStr2); - PhysicalNetwork physicalNetwork = PhysicalNetwork - .physicalNetwork(physicalNetworkStr); - TenantId tenantId = TenantId.tenantId(tenantIdStr); - SegmentationId segmentationID = SegmentationId - .segmentationId(segmentationIdStr); - TenantNetwork p1 = new DefaultTenantNetwork(networkid1, name, false, - TenantNetwork.State.ACTIVE, - false, tenantId, false, - TenantNetwork.Type.LOCAL, - physicalNetwork, - segmentationID); - TenantNetwork p2 = new DefaultTenantNetwork(networkid1, name, false, - TenantNetwork.State.ACTIVE, - false, tenantId, false, - TenantNetwork.Type.LOCAL, - physicalNetwork, - segmentationID); - TenantNetwork p3 = new DefaultTenantNetwork(networkid2, name, false, - TenantNetwork.State.ACTIVE, - false, tenantId, false, - TenantNetwork.Type.LOCAL, - physicalNetwork, - segmentationID); - new EqualsTester().addEqualityGroup(p1, p2).addEqualityGroup(p3) - .testEquals(); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultPortChainTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultPortChainTest.java deleted file mode 100644 index 27234ac3..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultPortChainTest.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import java.util.LinkedList; -import java.util.List; - -import org.junit.Test; - -import com.google.common.testing.EqualsTester; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for DefaultPortChain class. - */ -public class DefaultPortChainTest { - /** - * Checks that the DefaultPortChain class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(DefaultPortChain.class); - } - - /** - * Checks the operation of equals() methods. - */ - @Test - public void testEquals() { - // Create same two port chain objects. - final PortChainId portChainId = PortChainId.of("78888888-fc23-aeb6-f44b-56dc5e2fb3ae"); - final TenantId tenantId = TenantId.tenantId("1"); - final String name = "PortChain1"; - final String description = "PortChain1"; - // create list of Port Pair Groups. - final List<PortPairGroupId> portPairGroups = new LinkedList<PortPairGroupId>(); - PortPairGroupId portPairGroupId = PortPairGroupId.of("73333333-fc23-aeb6-f44b-56dc5e2fb3ae"); - portPairGroups.add(portPairGroupId); - portPairGroupId = PortPairGroupId.of("73333333-fc23-aeb6-f44b-56dc5e2fb3af"); - portPairGroups.add(portPairGroupId); - // create list of Flow classifiers. - final List<FlowClassifierId> flowClassifiers = new LinkedList<FlowClassifierId>(); - FlowClassifierId flowClassifierId = FlowClassifierId.of("74444444-fc23-aeb6-f44b-56dc5e2fb3ae"); - flowClassifiers.add(flowClassifierId); - flowClassifierId = FlowClassifierId.of("74444444-fc23-aeb6-f44b-56dc5e2fb3af"); - flowClassifiers.add(flowClassifierId); - - DefaultPortChain.Builder portChainBuilder = new DefaultPortChain.Builder(); - final PortChain portChain1 = portChainBuilder.setId(portChainId).setTenantId(tenantId).setName(name) - .setDescription(description).setPortPairGroups(portPairGroups).setFlowClassifiers(flowClassifiers) - .build(); - - portChainBuilder = new DefaultPortChain.Builder(); - final PortChain samePortChain1 = portChainBuilder.setId(portChainId).setTenantId(tenantId).setName(name) - .setDescription(description).setPortPairGroups(portPairGroups).setFlowClassifiers(flowClassifiers) - .build(); - - // Create different port chain object. - final PortChainId portChainId2 = PortChainId.of("79999999-fc23-aeb6-f44b-56dc5e2fb3ae"); - final TenantId tenantId2 = TenantId.tenantId("2"); - final String name2 = "PortChain2"; - final String description2 = "PortChain2"; - // create list of Port Pair Groups. - final List<PortPairGroupId> portPairGroups2 = new LinkedList<PortPairGroupId>(); - portPairGroupId = PortPairGroupId.of("75555555-fc23-aeb6-f44b-56dc5e2fb3ae"); - portPairGroups2.add(portPairGroupId); - portPairGroupId = PortPairGroupId.of("75555555-fc23-aeb6-f44b-56dc5e2fb3af"); - portPairGroups2.add(portPairGroupId); - // create list of Flow classifiers. - final List<FlowClassifierId> flowClassifiers2 = new LinkedList<FlowClassifierId>(); - flowClassifierId = FlowClassifierId.of("76666666-fc23-aeb6-f44b-56dc5e2fb3ae"); - flowClassifiers2.add(flowClassifierId); - flowClassifierId = FlowClassifierId.of("76666666-fc23-aeb6-f44b-56dc5e2fb3af"); - flowClassifiers2.add(flowClassifierId); - - portChainBuilder = new DefaultPortChain.Builder(); - final PortChain portChain2 = portChainBuilder.setId(portChainId2).setTenantId(tenantId2).setName(name2) - .setDescription(description2).setPortPairGroups(portPairGroups2).setFlowClassifiers(flowClassifiers2) - .build(); - - new EqualsTester().addEqualityGroup(portChain1, samePortChain1).addEqualityGroup(portChain2).testEquals(); - } - - /** - * Checks the construction of a DefaultPortChain object. - */ - @Test - public void testConstruction() { - final PortChainId portChainId = PortChainId.of("78888888-fc23-aeb6-f44b-56dc5e2fb3ae"); - final TenantId tenantId = TenantId.tenantId("1"); - final String name = "PortChain"; - final String description = "PortChain"; - // create list of Port Pair Groups. - final List<PortPairGroupId> portPairGroups = new LinkedList<PortPairGroupId>(); - PortPairGroupId portPairGroupId = PortPairGroupId.of("73333333-fc23-aeb6-f44b-56dc5e2fb3ae"); - portPairGroups.add(portPairGroupId); - portPairGroupId = PortPairGroupId.of("73333333-fc23-aeb6-f44b-56dc5e2fb3af"); - portPairGroups.add(portPairGroupId); - // create list of Flow classifiers. - final List<FlowClassifierId> flowClassifiers = new LinkedList<FlowClassifierId>(); - FlowClassifierId flowClassifierId = FlowClassifierId.of("74444444-fc23-aeb6-f44b-56dc5e2fb3ae"); - flowClassifiers.add(flowClassifierId); - flowClassifierId = FlowClassifierId.of("74444444-fc23-aeb6-f44b-56dc5e2fb3af"); - flowClassifiers.add(flowClassifierId); - - DefaultPortChain.Builder portChainBuilder = new DefaultPortChain.Builder(); - final PortChain portChain = portChainBuilder.setId(portChainId).setTenantId(tenantId).setName(name) - .setDescription(description).setPortPairGroups(portPairGroups).setFlowClassifiers(flowClassifiers) - .build(); - - assertThat(portChainId, is(portChain.portChainId())); - assertThat(tenantId, is(portChain.tenantId())); - assertThat(name, is(portChain.name())); - assertThat(description, is(portChain.description())); - assertThat(portPairGroups, is(portChain.portPairGroups())); - assertThat(flowClassifiers, is(portChain.flowClassifiers())); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultPortPairGroupTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultPortPairGroupTest.java deleted file mode 100644 index 1b484e94..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultPortPairGroupTest.java +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import java.util.LinkedList; -import java.util.List; - -import org.junit.Test; - -import com.google.common.testing.EqualsTester; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for DefaultPortPairGroup class. - */ -public class DefaultPortPairGroupTest { - /** - * Checks that the DefaultPortPairGroup class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(DefaultPortPairGroup.class); - } - - /** - * Checks the operation of equals() methods. - */ - @Test - public void testEquals() { - // Create same two port-pair-group objects. - final PortPairGroupId portPairGroupId = PortPairGroupId.of("78888888-fc23-aeb6-f44b-56dc5e2fb3ae"); - final TenantId tenantId = TenantId.tenantId("1"); - final String name = "PortPairGroup1"; - final String description = "PortPairGroup1"; - // create port-pair-id list - final List<PortPairId> portPairList = new LinkedList<PortPairId>(); - PortPairId portPairId = PortPairId.of("73333333-fc23-aeb6-f44b-56dc5e2fb3ae"); - portPairList.add(portPairId); - portPairId = PortPairId.of("74444444-fc23-aeb6-f44b-56dc5e2fb3ae"); - portPairList.add(portPairId); - - DefaultPortPairGroup.Builder portPairGroupBuilder = new DefaultPortPairGroup.Builder(); - final PortPairGroup portPairGroup1 = portPairGroupBuilder.setId(portPairGroupId).setTenantId(tenantId) - .setName(name).setDescription(description).setPortPairs(portPairList).build(); - - portPairGroupBuilder = new DefaultPortPairGroup.Builder(); - final PortPairGroup samePortPairGroup1 = portPairGroupBuilder.setId(portPairGroupId).setTenantId(tenantId) - .setName(name).setDescription(description).setPortPairs(portPairList).build(); - - // Create different port-pair-group object. - final PortPairGroupId portPairGroupId2 = PortPairGroupId.of("79999999-fc23-aeb6-f44b-56dc5e2fb3ae"); - final TenantId tenantId2 = TenantId.tenantId("2"); - final String name2 = "PortPairGroup2"; - final String description2 = "PortPairGroup2"; - // create port-pair-id list - final List<PortPairId> portPairList2 = new LinkedList<PortPairId>(); - portPairId = PortPairId.of("75555555-fc23-aeb6-f44b-56dc5e2fb3ae"); - portPairList2.add(portPairId); - portPairId = PortPairId.of("75555555-fc23-aeb6-f44b-56dc5e2fb3ae"); - portPairList2.add(portPairId); - - portPairGroupBuilder = new DefaultPortPairGroup.Builder(); - final PortPairGroup portPairGroup2 = portPairGroupBuilder.setId(portPairGroupId2).setTenantId(tenantId2) - .setName(name2).setDescription(description2).setPortPairs(portPairList2).build(); - - new EqualsTester().addEqualityGroup(portPairGroup1, samePortPairGroup1).addEqualityGroup(portPairGroup2) - .testEquals(); - } - - /** - * Checks the construction of a DefaultPortPairGroup object. - */ - @Test - public void testConstruction() { - final PortPairGroupId portPairGroupId = PortPairGroupId.of("78888888-fc23-aeb6-f44b-56dc5e2fb3ae"); - final TenantId tenantId = TenantId.tenantId("1"); - final String name = "PortPairGroup"; - final String description = "PortPairGroup"; - // create port-pair-id list - final List<PortPairId> portPairList = new LinkedList<PortPairId>(); - PortPairId portPairId = PortPairId.of("73333333-fc23-aeb6-f44b-56dc5e2fb3ae"); - portPairList.add(portPairId); - portPairId = PortPairId.of("74444444-fc23-aeb6-f44b-56dc5e2fb3ae"); - portPairList.add(portPairId); - - DefaultPortPairGroup.Builder portPairGroupBuilder = new DefaultPortPairGroup.Builder(); - final PortPairGroup portPairGroup = portPairGroupBuilder.setId(portPairGroupId).setTenantId(tenantId) - .setName(name).setDescription(description).setPortPairs(portPairList).build(); - - assertThat(portPairGroupId, is(portPairGroup.portPairGroupId())); - assertThat(tenantId, is(portPairGroup.tenantId())); - assertThat(name, is(portPairGroup.name())); - assertThat(description, is(portPairGroup.description())); - assertThat(portPairList, is(portPairGroup.portPairs())); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultPortPairTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultPortPairTest.java deleted file mode 100644 index c8004ce6..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultPortPairTest.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import org.junit.Test; - -import com.google.common.testing.EqualsTester; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for DefaultPortPair class. - */ -public class DefaultPortPairTest { - /** - * Checks that the DefaultPortPair class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(DefaultPortPair.class); - } - - /** - * Checks the operation of equals() methods. - */ - @Test - public void testEquals() { - // Create same two port pair objects. - final PortPairId portPairId = PortPairId.of("78888888-fc23-aeb6-f44b-56dc5e2fb3ae"); - final TenantId tenantId = TenantId.tenantId("1"); - final String name = "PortPair1"; - final String description = "PortPair1"; - final String ingress = "d3333333-24fc-4fae-af4b-321c5e2eb3d1"; - final String egress = "a4444444-4a56-2a6e-cd3a-9dee4e2ec345"; - - DefaultPortPair.Builder portPairBuilder = new DefaultPortPair.Builder(); - final PortPair portPair1 = portPairBuilder.setId(portPairId).setTenantId(tenantId).setName(name) - .setDescription(description).setIngress(ingress).setEgress(egress).build(); - - portPairBuilder = new DefaultPortPair.Builder(); - final PortPair samePortPair1 = portPairBuilder.setId(portPairId).setTenantId(tenantId).setName(name) - .setDescription(description).setIngress(ingress).setEgress(egress).build(); - - // Create different port pair object. - final PortPairId portPairId2 = PortPairId.of("79999999-fc23-aeb6-f44b-56dc5e2fb3ae"); - final TenantId tenantId2 = TenantId.tenantId("2"); - final String name2 = "PortPair2"; - final String description2 = "PortPair2"; - final String ingress2 = "d5555555-24fc-4fae-af4b-321c5e2eb3d1"; - final String egress2 = "a6666666-4a56-2a6e-cd3a-9dee4e2ec345"; - - portPairBuilder = new DefaultPortPair.Builder(); - final PortPair portPair2 = portPairBuilder.setId(portPairId2).setTenantId(tenantId2).setName(name2) - .setDescription(description2).setIngress(ingress2).setEgress(egress2).build(); - - new EqualsTester().addEqualityGroup(portPair1, samePortPair1).addEqualityGroup(portPair2).testEquals(); - } - - /** - * Checks the construction of a DefaultPortPair object. - */ - @Test - public void testConstruction() { - final PortPairId portPairId = PortPairId.of("78888888-fc23-aeb6-f44b-56dc5e2fb3ae"); - final TenantId tenantId = TenantId.tenantId("1"); - final String name = "PortPair"; - final String description = "PortPair"; - final String ingress = "d3333333-24fc-4fae-af4b-321c5e2eb3d1"; - final String egress = "a4444444-4a56-2a6e-cd3a-9dee4e2ec345"; - - DefaultPortPair.Builder portPairBuilder = new DefaultPortPair.Builder(); - final PortPair portPair = portPairBuilder.setId(portPairId).setTenantId(tenantId).setName(name) - .setDescription(description).setIngress(ingress).setEgress(egress).build(); - - assertThat(portPairId, is(portPair.portPairId())); - assertThat(tenantId, is(portPair.tenantId())); - assertThat(name, is(portPair.name())); - assertThat(description, is(portPair.description())); - assertThat(ingress, is(portPair.ingress())); - assertThat(egress, is(portPair.egress())); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultVirtualPortTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultVirtualPortTest.java deleted file mode 100644 index 81d8b14d..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/DefaultVirtualPortTest.java +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onosproject.vtnrsc; - -import java.util.Map; -import java.util.Set; - -import org.junit.Test; -import org.onlab.packet.IpAddress; -import org.onlab.packet.MacAddress; -import org.onosproject.net.DeviceId; - -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; -import com.google.common.testing.EqualsTester; - -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for DefaultVirtualPort class. - */ -public class DefaultVirtualPortTest { - - private Set<FixedIp> fixedIps; - private Map<String, String> propertyMap; - private Set<AllowedAddressPair> allowedAddressPairs; - private Set<SecurityGroup> securityGroups; - private VirtualPortId id1; - private VirtualPortId id2; - private String macAddressStr = "fa:12:3e:56:ee:a2"; - private String ipAddress = "10.1.1.1"; - private String deviceStr = "of:000000000000001"; - private String tenantIdStr = "123"; - private String portId1 = "1241"; - private String portId2 = "1242"; - private String tenantNetworkId = "1234567"; - private String subnet = "1212"; - private String hostIdStr = "fa:e2:3e:56:ee:a2"; - - private void initVirtualPortId() { - id1 = VirtualPortId.portId(portId1); - id2 = VirtualPortId.portId(portId2); - } - - private void initFixedIpSet() { - FixedIp fixedIp = FixedIp.fixedIp(SubnetId.subnetId(subnet), - IpAddress.valueOf(ipAddress)); - fixedIps = Sets.newHashSet(); - fixedIps.add(fixedIp); - } - - private void initPropertyMap() { - String deviceOwner = "james"; - propertyMap = Maps.newHashMap(); - propertyMap.putIfAbsent("deviceOwner", deviceOwner); - } - - private void initAddressPairSet() { - allowedAddressPairs = Sets.newHashSet(); - AllowedAddressPair allowedAddressPair = AllowedAddressPair - .allowedAddressPair(IpAddress.valueOf(ipAddress), - MacAddress.valueOf(macAddressStr)); - allowedAddressPairs.add(allowedAddressPair); - } - - private void initSecurityGroupSet() { - securityGroups = Sets.newHashSet(); - } - - /** - * Checks that the DefaultVirtualPort class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(SecurityGroup.class); - } - - /** - * Checks the operation of equals(). - */ - @Test - public void testEquals() { - initVirtualPortId(); - initFixedIpSet(); - initPropertyMap(); - initAddressPairSet(); - initSecurityGroupSet(); - TenantNetworkId networkId = TenantNetworkId.networkId(tenantNetworkId); - MacAddress macAddress = MacAddress.valueOf(macAddressStr); - TenantId tenantId = TenantId.tenantId(tenantIdStr); - DeviceId deviceId = DeviceId.deviceId(deviceStr); - BindingHostId bindingHostId = BindingHostId.bindingHostId(hostIdStr); - - VirtualPort d1 = new DefaultVirtualPort(id1, networkId, true, - propertyMap, - VirtualPort.State.ACTIVE, - macAddress, tenantId, deviceId, - fixedIps, bindingHostId, - allowedAddressPairs, - securityGroups); - VirtualPort d2 = new DefaultVirtualPort(id1, networkId, true, - propertyMap, - VirtualPort.State.ACTIVE, - macAddress, tenantId, deviceId, - fixedIps, bindingHostId, - allowedAddressPairs, - securityGroups); - VirtualPort d3 = new DefaultVirtualPort(id2, networkId, true, - propertyMap, - VirtualPort.State.ACTIVE, - macAddress, tenantId, deviceId, - fixedIps, bindingHostId, - allowedAddressPairs, - securityGroups); - new EqualsTester().addEqualityGroup(d1, d2).addEqualityGroup(d3) - .testEquals(); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/FixedIpTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/FixedIpTest.java deleted file mode 100644 index d77532a7..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/FixedIpTest.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onosproject.vtnrsc; - -import org.junit.Test; -import org.onlab.packet.IpAddress; - -import com.google.common.testing.EqualsTester; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for FixedIp class. - */ -public class FixedIpTest { - - final SubnetId subnetId1 = SubnetId.subnetId("lef11-95w-4er-9c9c"); - final SubnetId subnetId2 = SubnetId.subnetId("lefaa-95w-4er-9c9c"); - final IpAddress ip1 = IpAddress.valueOf("192.168.0.1"); - final IpAddress ip2 = IpAddress.valueOf("192.168.1.1"); - - /** - * Checks that the FixedIp class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(FixedIp.class); - } - - /** - * Checks the operation of equals(). - */ - @Test - public void testEquals() { - FixedIp fixedIp1 = FixedIp.fixedIp(subnetId1, ip1); - FixedIp fixedIp2 = FixedIp.fixedIp(subnetId1, ip1); - FixedIp fixedIp3 = FixedIp.fixedIp(subnetId2, ip2); - new EqualsTester().addEqualityGroup(fixedIp1, fixedIp2) - .addEqualityGroup(fixedIp3).testEquals(); - } - - /** - * Checks the construction of a FixedIp object. - */ - @Test - public void testConstruction() { - FixedIp fixedIp = FixedIp.fixedIp(subnetId1, ip1); - assertThat(ip1, is(notNullValue())); - assertThat(ip1, is(fixedIp.ip())); - assertThat(subnetId1, is(notNullValue())); - assertThat(subnetId1, is(fixedIp.subnetId())); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/FlowClassifierIdTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/FlowClassifierIdTest.java deleted file mode 100644 index 0bef00fc..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/FlowClassifierIdTest.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import java.util.UUID; - -import org.junit.Test; - -import com.google.common.testing.EqualsTester; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for FlowClassifierId class. - */ -public class FlowClassifierIdTest { - - final FlowClassifierId flowClassifierId1 = FlowClassifierId - .of("78dcd363-fc23-aeb6-f44b-56dc5e2fb3ae"); - final FlowClassifierId sameAsFlowClassifierId1 = FlowClassifierId - .of("78dcd363-fc23-aeb6-f44b-56dc5e2fb3ae"); - final FlowClassifierId flowClassifierId2 = FlowClassifierId - .of("dace4513-24fc-4fae-af4b-321c5e2eb3d1"); - - /** - * Checks that the FlowClassifierId class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(FlowClassifierId.class); - } - - /** - * Checks the operation of equals() methods. - */ - @Test - public void testEquals() { - new EqualsTester().addEqualityGroup(flowClassifierId1, sameAsFlowClassifierId1) - .addEqualityGroup(flowClassifierId2).testEquals(); - } - - /** - * Checks the construction of a FlowClassifierId object. - */ - @Test - public void testConstruction() { - final String flowClassifierIdValue = "dace4513-24fc-4fae-af4b-321c5e2eb3d1"; - final FlowClassifierId flowClassifierId = FlowClassifierId.of(flowClassifierIdValue); - assertThat(flowClassifierId, is(notNullValue())); - assertThat(flowClassifierId.value(), is(UUID.fromString(flowClassifierIdValue))); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/PhysicalNetworkTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/PhysicalNetworkTest.java deleted file mode 100644 index c4f591e7..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/PhysicalNetworkTest.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import org.junit.Test; - -import com.google.common.testing.EqualsTester; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for PhysicalNetwork class. - */ -public class PhysicalNetworkTest { - - final PhysicalNetwork physicalNetwork1 = PhysicalNetwork.physicalNetwork("1"); - final PhysicalNetwork sameAsPhysicalNetwork1 = PhysicalNetwork.physicalNetwork("1"); - final PhysicalNetwork physicalNetwork2 = PhysicalNetwork.physicalNetwork("2"); - - /** - * Checks that the PhysicalNetwork class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(PhysicalNetwork.class); - } - - /** - * Checks the operation of equals() methods. - */ - @Test - public void testEquals() { - new EqualsTester().addEqualityGroup(physicalNetwork1, sameAsPhysicalNetwork1) - .addEqualityGroup(physicalNetwork2).testEquals(); - } - - /** - * Checks the construction of a PhysicalNetwork object. - */ - @Test - public void testConstruction() { - final String physicalNetworkValue = "s"; - final PhysicalNetwork physicalNetwork = PhysicalNetwork - .physicalNetwork(physicalNetworkValue); - assertThat(physicalNetwork, is(notNullValue())); - assertThat(physicalNetwork.physicalNetwork(), is(physicalNetworkValue)); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/PortChainIdTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/PortChainIdTest.java deleted file mode 100644 index 1e84fc5d..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/PortChainIdTest.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import java.util.UUID; - -import org.junit.Test; - -import com.google.common.testing.EqualsTester; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for PortChainId class. - */ -public class PortChainIdTest { - - final PortChainId portChainId1 = PortChainId.of("78dcd363-fc23-aeb6-f44b-56dc5e2fb3ae"); - final PortChainId sameAsPortChainId1 = PortChainId.of("78dcd363-fc23-aeb6-f44b-56dc5e2fb3ae"); - final PortChainId portChainId2 = PortChainId.of("dace4513-24fc-4fae-af4b-321c5e2eb3d1"); - - /** - * Checks that the PortChainId class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(PortChainId.class); - } - - /** - * Checks the operation of equals() methods. - */ - @Test - public void testEquals() { - new EqualsTester().addEqualityGroup(portChainId1, sameAsPortChainId1).addEqualityGroup(portChainId2) - .testEquals(); - } - - /** - * Checks the construction of a PortChainId object. - */ - @Test - public void testConstruction() { - final String portChainIdValue = "dace4513-24fc-4fae-af4b-321c5e2eb3d1"; - final PortChainId portChainId = PortChainId.of(portChainIdValue); - assertThat(portChainId, is(notNullValue())); - assertThat(portChainId.value(), is(UUID.fromString(portChainIdValue))); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/PortPairGroupIdTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/PortPairGroupIdTest.java deleted file mode 100644 index 20eb24a5..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/PortPairGroupIdTest.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import java.util.UUID; - -import org.junit.Test; - -import com.google.common.testing.EqualsTester; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for PortPairGroupId class. - */ -public class PortPairGroupIdTest { - - final PortPairGroupId portPairGroupId1 = PortPairGroupId.of("78dcd363-fc23-aeb6-f44b-56dc5e2fb3ae"); - final PortPairGroupId sameAsPortPairGroupId1 = PortPairGroupId - .of("78dcd363-fc23-aeb6-f44b-56dc5e2fb3ae"); - final PortPairGroupId portPairGroupId2 = PortPairGroupId.of("dace4513-24fc-4fae-af4b-321c5e2eb3d1"); - - /** - * Checks that the PortPairGroupId class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(PortPairGroupId.class); - } - - /** - * Checks the operation of equals() methods. - */ - @Test - public void testEquals() { - new EqualsTester().addEqualityGroup(portPairGroupId1, sameAsPortPairGroupId1) - .addEqualityGroup(portPairGroupId2).testEquals(); - } - - /** - * Checks the construction of a PortPairGroupId object. - */ - @Test - public void testConstruction() { - final String portPairGroupIdValue = "dace4513-24fc-4fae-af4b-321c5e2eb3d1"; - final PortPairGroupId portPairGroupId = PortPairGroupId.of(portPairGroupIdValue); - assertThat(portPairGroupId, is(notNullValue())); - assertThat(portPairGroupId.value(), is(UUID.fromString(portPairGroupIdValue))); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/PortPairIdTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/PortPairIdTest.java deleted file mode 100644 index 757d3a69..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/PortPairIdTest.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import java.util.UUID; - -import org.junit.Test; - -import com.google.common.testing.EqualsTester; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for PortPairId class. - */ -public class PortPairIdTest { - - final PortPairId portPairId1 = PortPairId.of("78dcd363-fc23-aeb6-f44b-56dc5e2fb3ae"); - final PortPairId sameAsPortPairId1 = PortPairId.of("78dcd363-fc23-aeb6-f44b-56dc5e2fb3ae"); - final PortPairId portPairId2 = PortPairId.of("dace4513-24fc-4fae-af4b-321c5e2eb3d1"); - - /** - * Checks that the PortPairId class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(PortPairId.class); - } - - /** - * Checks the operation of equals() methods. - */ - @Test - public void testEquals() { - new EqualsTester().addEqualityGroup(portPairId1, sameAsPortPairId1).addEqualityGroup(portPairId2).testEquals(); - } - - /** - * Checks the construction of a PortPairId object. - */ - @Test - public void testConstruction() { - final String portPairIdValue = "dace4513-24fc-4fae-af4b-321c5e2eb3d1"; - final PortPairId portPairId = PortPairId.of(portPairIdValue); - assertThat(portPairId, is(notNullValue())); - assertThat(portPairId.value(), is(UUID.fromString(portPairIdValue))); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/RouterGatewayTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/RouterGatewayTest.java deleted file mode 100644 index 9f60de8f..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/RouterGatewayTest.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import java.util.HashSet; -import java.util.Set; - -import org.junit.Test; - -import com.google.common.testing.EqualsTester; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for RouterGateway class. - */ -public class RouterGatewayTest { - final TenantNetworkId networkId1 = TenantNetworkId.networkId("1"); - final TenantNetworkId networkId2 = TenantNetworkId.networkId("2"); - final Set<FixedIp> fixedIpSet1 = new HashSet<>(); - final Set<FixedIp> fixedIpSet2 = new HashSet<>(); - - /** - * Checks that the RouterGateway class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(RouterGateway.class); - } - - /** - * Checks the operation of equals(). - */ - @Test - public void testEquals() { - RouterGateway routerGateway1 = RouterGateway.routerGateway(networkId1, - true, - fixedIpSet1); - RouterGateway routerGateway2 = RouterGateway.routerGateway(networkId1, - true, - fixedIpSet1); - RouterGateway routerGateway3 = RouterGateway.routerGateway(networkId2, - true, - fixedIpSet2); - new EqualsTester().addEqualityGroup(routerGateway1, routerGateway2) - .addEqualityGroup(routerGateway3).testEquals(); - } - - /** - * Checks the construction of a RouterGateway object. - */ - @Test - public void testConstruction() { - RouterGateway routerGateway = RouterGateway.routerGateway(networkId1, - true, - fixedIpSet1); - assertThat(fixedIpSet1, is(notNullValue())); - assertThat(fixedIpSet1, is(routerGateway.externalFixedIps())); - assertThat(networkId1, is(notNullValue())); - assertThat(networkId1, is(routerGateway.networkId())); - assertThat(routerGateway.enableSnat(), is(true)); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/RouterIdTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/RouterIdTest.java deleted file mode 100644 index 225211b9..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/RouterIdTest.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import org.junit.Test; - -import com.google.common.testing.EqualsTester; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for RouterId class. - */ -public class RouterIdTest { - final RouterId routerId1 = RouterId.valueOf("1"); - final RouterId sameAsRouterId1 = RouterId.valueOf("1"); - final RouterId routerId2 = RouterId.valueOf("2"); - - /** - * Checks that the RouterId class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(RouterId.class); - } - - /** - * Checks the operation of equals() methods. - */ - @Test - public void testEquals() { - new EqualsTester().addEqualityGroup(routerId1, sameAsRouterId1).addEqualityGroup(routerId2) - .testEquals(); - } - - /** - * Checks the construction of a RouterId object. - */ - @Test - public void testConstruction() { - final String routerIdValue = "s"; - final RouterId routerId = RouterId.valueOf(routerIdValue); - assertThat(routerId, is(notNullValue())); - assertThat(routerId.routerId(), is(routerIdValue)); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/SecurityGroupTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/SecurityGroupTest.java deleted file mode 100644 index 20871c02..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/SecurityGroupTest.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onosproject.vtnrsc; - -import org.junit.Test; - -import com.google.common.testing.EqualsTester; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for SecurityGroup class. - */ -public class SecurityGroupTest { - - final SecurityGroup securityGroup1 = SecurityGroup.securityGroup("1"); - final SecurityGroup sameAssecurityGroup = SecurityGroup.securityGroup("1"); - final SecurityGroup securityGroup2 = SecurityGroup.securityGroup("2"); - - /** - * Checks that the SecurityGroup class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(SecurityGroup.class); - } - - /** - * Checks the operation of equals(). - */ - @Test - public void testEquals() { - new EqualsTester().addEqualityGroup(securityGroup1, sameAssecurityGroup) - .addEqualityGroup(securityGroup2).testEquals(); - } - - /** - * Checks the construction of a SecurityGroup object. - */ - @Test - public void testConstruction() { - final String securityGroupValue = "1"; - final SecurityGroup securityGroup = SecurityGroup.securityGroup(securityGroupValue); - assertThat(securityGroup, is(notNullValue())); - assertThat(securityGroup.securityGroup(), is(securityGroupValue)); - - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/SegmentationIdTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/SegmentationIdTest.java deleted file mode 100644 index dfb3dcf8..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/SegmentationIdTest.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import org.junit.Test; - -import com.google.common.testing.EqualsTester; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for SegmentationId class. - */ -public class SegmentationIdTest { - - final SegmentationId segmentationID1 = SegmentationId.segmentationId("1"); - final SegmentationId sameAsSegmentationID1 = SegmentationId.segmentationId("1"); - final SegmentationId segmentationID2 = SegmentationId.segmentationId("2"); - - /** - * Checks that the SegmentationId class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(SegmentationId.class); - } - - /** - * Checks the operation of equals() methods. - */ - @Test - public void testEquals() { - new EqualsTester().addEqualityGroup(segmentationID1, sameAsSegmentationID1) - .addEqualityGroup(segmentationID2).testEquals(); - } - - /** - * Checks the construction of a segmentationId object. - */ - @Test - public void testConstruction() { - final String segmentationIdValue = "s"; - final SegmentationId segmentationId = SegmentationId.segmentationId(segmentationIdValue); - assertThat(segmentationId, is(notNullValue())); - assertThat(segmentationId.segmentationId(), is(segmentationIdValue)); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/SubnetIdTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/SubnetIdTest.java deleted file mode 100644 index 5a1809ce..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/SubnetIdTest.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import org.junit.Test; - -import com.google.common.testing.EqualsTester; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for SubnetId class. - */ -public class SubnetIdTest { - - final SubnetId subnetId1 = SubnetId.subnetId("1"); - final SubnetId sameAsSubnetId1 = SubnetId.subnetId("1"); - final SubnetId subnetId2 = SubnetId.subnetId("2"); - - /** - * Checks that the SubnetId class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(SubnetId.class); - } - - /** - * Checks the operation of equals() methods. - */ - @Test - public void testEquals() { - new EqualsTester().addEqualityGroup(subnetId1, sameAsSubnetId1).addEqualityGroup(subnetId2) - .testEquals(); - } - - /** - * Checks the construction of a SubnetId object. - */ - @Test - public void testConstruction() { - final String subnetIdValue = "s"; - final SubnetId subnetId = SubnetId.subnetId(subnetIdValue); - assertThat(subnetId, is(notNullValue())); - assertThat(subnetId.subnetId(), is(subnetIdValue)); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/TenantIdTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/TenantIdTest.java deleted file mode 100644 index f601d427..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/TenantIdTest.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import org.junit.Test; - -import com.google.common.testing.EqualsTester; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for TenantId class. - */ -public class TenantIdTest { - - final TenantId tenantId1 = TenantId.tenantId("1"); - final TenantId sameAsTenantId1 = TenantId.tenantId("1"); - final TenantId tenantId2 = TenantId.tenantId("2"); - - /** - * Checks that the TenantId class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(TenantId.class); - } - - /** - * Checks the operation of equals() methods. - */ - @Test - public void testEquals() { - new EqualsTester().addEqualityGroup(tenantId1, sameAsTenantId1).addEqualityGroup(tenantId2) - .testEquals(); - } - - /** - * Checks the construction of a TenantId object. - */ - @Test - public void testConstruction() { - final String tenantIdValue = "s"; - final TenantId tenantId = TenantId.tenantId(tenantIdValue); - assertThat(tenantId, is(notNullValue())); - assertThat(tenantId.tenantId(), is(tenantIdValue)); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/TenantNetworkIdTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/TenantNetworkIdTest.java deleted file mode 100644 index 3bd72026..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/TenantNetworkIdTest.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc; - -import org.junit.Test; - -import com.google.common.testing.EqualsTester; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for TenantNetworkId class. - */ -public class TenantNetworkIdTest { - - final TenantNetworkId networkId1 = TenantNetworkId.networkId("1"); - final TenantNetworkId sameAsnetworkId1 = TenantNetworkId.networkId("1"); - final TenantNetworkId networkId2 = TenantNetworkId.networkId("2"); - - /** - * Checks that the TenantNetworkId class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(TenantNetworkId.class); - } - - /** - * Checks the operation of equals() methods. - */ - @Test - public void testEquals() { - new EqualsTester().addEqualityGroup(networkId1, sameAsnetworkId1) - .addEqualityGroup(networkId2).testEquals(); - } - - /** - * Checks the construction of a TenantNetworkId object. - */ - @Test - public void testConstruction() { - final String networkIdValue = "s"; - final TenantNetworkId networkId = TenantNetworkId.networkId(networkIdValue); - assertThat(networkId, is(notNullValue())); - assertThat(networkId.networkId(), is(networkIdValue)); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/VirtualPortIdTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/VirtualPortIdTest.java deleted file mode 100644 index 70966118..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/VirtualPortIdTest.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onosproject.vtnrsc; - -import org.junit.Test; - -import com.google.common.testing.EqualsTester; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -/** - * Unit tests for VirtualPortId class. - */ -public class VirtualPortIdTest { - - final VirtualPortId virtualPortId1 = VirtualPortId.portId("1"); - final VirtualPortId sameAsVirtualPortId1 = VirtualPortId.portId("1"); - final VirtualPortId virtualPortId2 = VirtualPortId.portId("2"); - - /** - * Checks that the VirtualPortId class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(VirtualPortId.class); - } - - /** - * Checks the operation of equals(). - */ - @Test - public void testEquals() { - new EqualsTester().addEqualityGroup(virtualPortId1, sameAsVirtualPortId1) - .addEqualityGroup(virtualPortId2).testEquals(); - } - - /** - * Checks the construction of a VirtualPortId object. - */ - @Test - public void testConstruction() { - final String vPortIdValue = "aaa"; - final VirtualPortId virtualPortId = VirtualPortId.portId(vPortIdValue); - assertThat(virtualPortId, is(notNullValue())); - assertThat(virtualPortId.portId(), is(vPortIdValue)); - - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/floatingip/DefaultFloatingIpTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/floatingip/DefaultFloatingIpTest.java deleted file mode 100644 index d6826f5d..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/floatingip/DefaultFloatingIpTest.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.floatingip; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -import org.junit.Test; -import org.onlab.packet.IpAddress; -import org.onosproject.vtnrsc.DefaultFloatingIp; -import org.onosproject.vtnrsc.FloatingIp; -import org.onosproject.vtnrsc.FloatingIpId; -import org.onosproject.vtnrsc.RouterId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.TenantNetworkId; -import org.onosproject.vtnrsc.VirtualPortId; - -import com.google.common.testing.EqualsTester; - -/** - * Unit tests for DefaultFloatingIp class. - */ -public class DefaultFloatingIpTest { - - private String floatingIpIdStr1 = "5fb63824-4d5c-4b85-9f2f-ebb93c9ce3df"; - private String floatingIpIdStr2 = "fa44f585-fe02-40d3-afe7-d1d7e5782c99"; - private String floatingIpStr = "10.1.1.2"; - private String fixedIpStr = "192.168.1.2"; - private String tenantIdStr = "123"; - private String tenantNetworkId = "1234567"; - private String virtualPortId = "1212"; - private String routerIdStr = "123"; - - /** - * Checks that the DefaultFloatingIp class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(DefaultFloatingIp.class); - } - - /** - * Checks the operation of equals(). - */ - @Test - public void testEquals() { - final TenantId tenantId = TenantId.tenantId(tenantIdStr); - final TenantNetworkId networkId = TenantNetworkId - .networkId(tenantNetworkId); - final VirtualPortId portId = VirtualPortId.portId(virtualPortId); - final RouterId routerId = RouterId.valueOf(routerIdStr); - final FloatingIpId id1 = FloatingIpId.of(floatingIpIdStr1); - final FloatingIpId id2 = FloatingIpId.of(floatingIpIdStr2); - final IpAddress floatingIpAddress = IpAddress.valueOf(floatingIpStr); - final IpAddress fixedIpAddress = IpAddress.valueOf(fixedIpStr); - - FloatingIp fip1 = new DefaultFloatingIp(id1, tenantId, networkId, - portId, routerId, - floatingIpAddress, - fixedIpAddress, - FloatingIp.Status.ACTIVE); - FloatingIp fip2 = new DefaultFloatingIp(id1, tenantId, networkId, - portId, routerId, - floatingIpAddress, - fixedIpAddress, - FloatingIp.Status.ACTIVE); - FloatingIp fip3 = new DefaultFloatingIp(id2, tenantId, networkId, - portId, routerId, - floatingIpAddress, - fixedIpAddress, - FloatingIp.Status.ACTIVE); - - new EqualsTester().addEqualityGroup(fip1, fip2).addEqualityGroup(fip3) - .testEquals(); - } - - /** - * Checks the construction of a DefaultFloatingIp object. - */ - @Test - public void testConstruction() { - final TenantId tenantId = TenantId.tenantId(tenantIdStr); - final TenantNetworkId networkId = TenantNetworkId - .networkId(tenantNetworkId); - final VirtualPortId portId = VirtualPortId.portId(virtualPortId); - final RouterId routerId = RouterId.valueOf(routerIdStr); - final FloatingIpId id = FloatingIpId.of(floatingIpIdStr1); - final IpAddress floatingIpAddress = IpAddress.valueOf(floatingIpStr); - final IpAddress fixedIpAddress = IpAddress.valueOf(fixedIpStr); - - FloatingIp fip = new DefaultFloatingIp(id, tenantId, networkId, portId, - routerId, floatingIpAddress, - fixedIpAddress, - FloatingIp.Status.ACTIVE); - assertThat(id, is(notNullValue())); - assertThat(id, is(fip.id())); - assertThat(tenantId, is(notNullValue())); - assertThat(tenantId, is(fip.tenantId())); - assertThat(networkId, is(notNullValue())); - assertThat(networkId, is(fip.networkId())); - assertThat(portId, is(notNullValue())); - assertThat(portId, is(fip.portId())); - assertThat(routerId, is(notNullValue())); - assertThat(routerId, is(fip.routerId())); - assertThat(floatingIpAddress, is(notNullValue())); - assertThat(floatingIpAddress, is(fip.floatingIp())); - assertThat(fixedIpAddress, is(notNullValue())); - assertThat(fixedIpAddress, is(fip.fixedIp())); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/floatingip/FloatingIpIdTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/floatingip/FloatingIpIdTest.java deleted file mode 100644 index 6ae27e9e..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/floatingip/FloatingIpIdTest.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.floatingip; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -import org.junit.Test; -import org.onosproject.vtnrsc.FloatingIpId; - -import com.google.common.testing.EqualsTester; - -/** - * Unit tests for FloatingIpId class. - */ -public class FloatingIpIdTest { - private String floatingIpIdStr1 = "5fb63824-4d5c-4b85-9f2f-ebb93c9ce3df"; - private String floatingIpIdStr2 = "fa44f585-fe02-40d3-afe7-d1d7e5782c99"; - - /** - * Checks that the FloatingIpId class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(FloatingIpId.class); - } - - /** - * Checks the operation of equals() methods. - */ - @Test - public void testEquals() { - FloatingIpId id1 = FloatingIpId.of(floatingIpIdStr1); - FloatingIpId id2 = FloatingIpId.of(floatingIpIdStr1); - FloatingIpId id3 = FloatingIpId.of(floatingIpIdStr2); - new EqualsTester().addEqualityGroup(id1, id2).addEqualityGroup(id3) - .testEquals(); - } - - /** - * Checks the construction of a FloatingIpId object. - */ - @Test - public void testConstruction() { - final FloatingIpId id = FloatingIpId.of(floatingIpIdStr1); - assertThat(id, is(notNullValue())); - assertThat(id.floatingIpId().toString(), is(floatingIpIdStr1)); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/flowclassifier/impl/FlowClassifierManagerTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/flowclassifier/impl/FlowClassifierManagerTest.java deleted file mode 100644 index 8283a52b..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/flowclassifier/impl/FlowClassifierManagerTest.java +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.flowclassifier.impl; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; - -import org.junit.Test; - -import org.onlab.packet.IpPrefix; - -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.DefaultFlowClassifier; -import org.onosproject.vtnrsc.FlowClassifierId; -import org.onosproject.vtnrsc.VirtualPortId; -import org.onosproject.vtnrsc.FlowClassifier; -import org.onosproject.vtnrsc.util.VtnStorageServiceTest; - -/** - * Unit tests for FlowClassifierManager class. - */ -public class FlowClassifierManagerTest { - - final String name = "FlowClassifier"; - final String description = "FlowClassifier"; - final String ethType = "IPv4"; - final String protocol = "udp"; - final int minSrcPortRange = 1024; - final int maxSrcPortRange = 5000; - final int minDstPortRange = 1024; - final int maxDstPortRange = 5000; - final FlowClassifierId flowClassifierId = FlowClassifierId.of("71111111-fc23-aeb6-f44b-56dc5e2fb3ae"); - final TenantId tenantId = TenantId.tenantId("8"); - final IpPrefix srcIpPrefix = IpPrefix.valueOf("0.0.0.0/0"); - final IpPrefix dstIpPrefix = IpPrefix.valueOf("100.100.100.100/0"); - final VirtualPortId virtualSrcPort = VirtualPortId.portId("100"); - final VirtualPortId virtualDstPort = VirtualPortId.portId("200"); - DefaultFlowClassifier.Builder flowClassifierBuilder = new DefaultFlowClassifier.Builder(); - FlowClassifierManager flowClassifierMgr = new FlowClassifierManager(); - FlowClassifier flowClassifier = null; - private final VtnStorageServiceTest storageService = new VtnStorageServiceTest(); - - /** - * Checks the operation of createFlowClassifier() method. - */ - @Test - public void testCreateFlowClassifier() { - // initialize flow classifier manager - flowClassifierMgr.storageService = storageService; - flowClassifierMgr.activate(); - - // create flow classifier - flowClassifier = flowClassifierBuilder.setFlowClassifierId(flowClassifierId).setTenantId(tenantId) - .setName(name).setDescription(description).setEtherType(ethType).setProtocol(protocol) - .setMinSrcPortRange(minSrcPortRange).setMaxSrcPortRange(maxSrcPortRange) - .setMinDstPortRange(minDstPortRange).setMaxDstPortRange(maxDstPortRange).setSrcIpPrefix(srcIpPrefix) - .setDstIpPrefix(dstIpPrefix).setSrcPort(virtualSrcPort).setDstPort(virtualDstPort).build(); - assertThat(flowClassifierMgr.createFlowClassifier(flowClassifier), is(true)); - } - - /** - * Checks the operation of exists() method. - */ - @Test - public void testExists() { - testCreateFlowClassifier(); - assertThat(flowClassifierMgr.exists(flowClassifierId), is(true)); - } - - /** - * Checks the operation of getFlowClassifierCount() method. - */ - @Test - public void testGetFlowClassifierCount() { - testCreateFlowClassifier(); - assertThat(flowClassifierMgr.getFlowClassifierCount(), is(1)); - } - - /** - * Checks the operation of getFlowClassifiers() method. - */ - @Test - public void testGetFlowClassifiers() { - testCreateFlowClassifier(); - final Iterable<FlowClassifier> flowClassifierList = flowClassifierMgr.getFlowClassifiers(); - assertThat(flowClassifierList, is(notNullValue())); - assertThat(flowClassifierList.iterator().hasNext(), is(true)); - } - - /** - * Checks the operation of getFlowClassifier() method. - */ - @Test - public void testGetFlowClassifier() { - testCreateFlowClassifier(); - assertThat(flowClassifier, is(notNullValue())); - assertThat(flowClassifierMgr.getFlowClassifier(flowClassifierId), is(flowClassifier)); - } - - /** - * Checks the operation of updateFlowClassifier() method. - */ - @Test - public void testUpdateFlowClassifier() { - // create a flow classifier - testCreateFlowClassifier(); - - // new updates - final String name2 = "FlowClassifier2"; - final String description2 = "FlowClassifier2"; - final String ethType2 = "IPv6"; - final String protocol2 = "tcp"; - final TenantId tenantId2 = TenantId.tenantId("10"); - final VirtualPortId virtualSrcPort2 = VirtualPortId.portId("300"); - final VirtualPortId virtualDstPort2 = VirtualPortId.portId("400"); - flowClassifier = flowClassifierBuilder.setFlowClassifierId(flowClassifierId) - .setTenantId(tenantId2).setName(name2).setDescription(description2).setEtherType(ethType2) - .setProtocol(protocol2).setMinSrcPortRange(minSrcPortRange).setMaxSrcPortRange(maxSrcPortRange) - .setMinDstPortRange(minDstPortRange).setMaxDstPortRange(maxDstPortRange).setSrcIpPrefix(srcIpPrefix) - .setDstIpPrefix(dstIpPrefix).setSrcPort(virtualSrcPort2).setDstPort(virtualDstPort2).build(); - assertThat(flowClassifierMgr.updateFlowClassifier(flowClassifier), is(true)); - } - - /** - * Checks the operation of removeFlowClassifier() method. - */ - @Test - public void testRemoveFlowClassifier() { - testCreateFlowClassifier(); - assertThat(flowClassifierMgr.removeFlowClassifier(flowClassifierId), is(true)); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/portchain/impl/PortChainManagerTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/portchain/impl/PortChainManagerTest.java deleted file mode 100644 index 0831ec9c..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/portchain/impl/PortChainManagerTest.java +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.portchain.impl; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; - -import org.junit.Test; -import java.util.List; -import java.util.LinkedList; - -import org.onosproject.vtnrsc.PortChainId; -import org.onosproject.vtnrsc.PortPairGroupId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.FlowClassifierId; -import org.onosproject.vtnrsc.PortChain; -import org.onosproject.vtnrsc.DefaultPortChain; -import org.onosproject.vtnrsc.DefaultFlowClassifier; -import org.onosproject.vtnrsc.util.VtnStorageServiceTest; - -/** - * Unit tests for PortChainManager class. - */ -public class PortChainManagerTest { - final PortChainId portChainId = PortChainId.of("78888888-fc23-aeb6-f44b-56dc5e2fb3ae"); - final TenantId tenantId = TenantId.tenantId("1"); - final String name = "PortChain"; - final String description = "PortChain"; - final List<PortPairGroupId> portPairGroupList = new LinkedList<PortPairGroupId>(); - final List<FlowClassifierId> flowClassifierList = new LinkedList<FlowClassifierId>(); - DefaultPortChain.Builder portChainBuilder = new DefaultPortChain.Builder(); - DefaultFlowClassifier.Builder flowClassifierBuilder = new DefaultFlowClassifier.Builder(); - PortChainManager portChainMgr = new PortChainManager(); - PortChain portChain = null; - private final VtnStorageServiceTest storageService = new VtnStorageServiceTest(); - - /** - * Checks the operation of createPortChain() method. - */ - @Test - public void testCreatePortChain() { - // initialize port chain manager - portChainMgr.storageService = storageService; - portChainMgr.activate(); - - // create list of Port Pair Groups. - PortPairGroupId portPairGroupId = PortPairGroupId.of("73333333-fc23-aeb6-f44b-56dc5e2fb3ae"); - portPairGroupList.add(portPairGroupId); - portPairGroupId = PortPairGroupId.of("73333333-fc23-aeb6-f44b-56dc5e2fb3af"); - portPairGroupList.add(portPairGroupId); - - // create list of Flow classifiers. - FlowClassifierId flowClassifierId = FlowClassifierId.of("74444444-fc23-aeb6-f44b-56dc5e2fb3ae"); - flowClassifierList.add(flowClassifierId); - flowClassifierId = FlowClassifierId.of("74444444-fc23-aeb6-f44b-56dc5e2fb3af"); - flowClassifierList.add(flowClassifierId); - - // create port chain - portChain = portChainBuilder.setId(portChainId).setTenantId(tenantId).setName(name).setDescription(description) - .setPortPairGroups(portPairGroupList).setFlowClassifiers(flowClassifierList).build(); - assertThat(portChainMgr.createPortChain(portChain), is(true)); - } - - /** - * Checks the operation of exists() method. - */ - @Test - public void testExists() { - testCreatePortChain(); - assertThat(portChainMgr.exists(portChainId), is(true)); - } - - /** - * Checks the operation of getPortChainCount() method. - */ - @Test - public void testGetPortChainCount() { - testCreatePortChain(); - assertThat(portChainMgr.getPortChainCount(), is(1)); - } - - /** - * Checks the operation of getPortChains() method. - */ - @Test - public void testGetPortChains() { - testCreatePortChain(); - final Iterable<PortChain> portChainList = portChainMgr.getPortChains(); - assertThat(portChainList, is(notNullValue())); - assertThat(portChainList.iterator().hasNext(), is(true)); - } - - /** - * Checks the operation of getPortChain() method. - */ - @Test - public void testGetPortChain() { - testCreatePortChain(); - assertThat(portChain, is(notNullValue())); - assertThat(portChainMgr.getPortChain(portChainId), is(portChain)); - } - - /** - * Checks the operation of updatePortChain() method. - */ - @Test - public void testUpdatePortChain() { - // create a port chain - testCreatePortChain(); - - // new updates - final TenantId tenantId2 = TenantId.tenantId("2"); - final String name2 = "PortChain2"; - final String description2 = "PortChain2"; - // create list of Port Pair Groups. - final List<PortPairGroupId> portPairGroupList = new LinkedList<PortPairGroupId>(); - PortPairGroupId portPairGroupId = PortPairGroupId.of("75555555-fc23-aeb6-f44b-56dc5e2fb3ae"); - portPairGroupList.add(portPairGroupId); - portPairGroupId = PortPairGroupId.of("75555555-fc23-aeb6-f44b-56dc5e2fb3af"); - portPairGroupList.add(portPairGroupId); - // create list of Flow classifiers. - final List<FlowClassifierId> flowClassifierList = new LinkedList<FlowClassifierId>(); - FlowClassifierId flowClassifierId = FlowClassifierId.of("76666666-fc23-aeb6-f44b-56dc5e2fb3ae"); - flowClassifierList.add(flowClassifierId); - flowClassifierId = FlowClassifierId.of("76666666-fc23-aeb6-f44b-56dc5e2fb3af"); - flowClassifierList.add(flowClassifierId); - portChain = portChainBuilder.setId(portChainId).setTenantId(tenantId2).setName(name2) - .setDescription(description2).setPortPairGroups(portPairGroupList) - .setFlowClassifiers(flowClassifierList).build(); - assertThat(portChainMgr.updatePortChain(portChain), is(true)); - } - - /** - * Checks the operation of removePortChain() method. - */ - @Test - public void testRemovePortChain() { - testCreatePortChain(); - assertThat(portChainMgr.removePortChain(portChainId), is(true)); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/portpair/impl/PortPairManagerTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/portpair/impl/PortPairManagerTest.java deleted file mode 100644 index c936d7cc..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/portpair/impl/PortPairManagerTest.java +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.portpair.impl; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; - -import org.junit.Test; - -import org.onosproject.vtnrsc.PortPair; -import org.onosproject.vtnrsc.PortPairId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.DefaultPortPair; -import org.onosproject.vtnrsc.util.VtnStorageServiceTest; - -/** - * Unit tests for PortPairManager class. - */ -public class PortPairManagerTest { - final PortPairId portPairId = PortPairId.of("78888888-fc23-aeb6-f44b-56dc5e2fb3ae"); - final TenantId tenantId = TenantId.tenantId("1"); - final String name = "PortPair"; - final String description = "PortPair"; - final String ingress = "d3333333-24fc-4fae-af4b-321c5e2eb3d1"; - final String egress = "a4444444-4a56-2a6e-cd3a-9dee4e2ec345"; - DefaultPortPair.Builder portPairBuilder = new DefaultPortPair.Builder(); - PortPairManager portPairMgr = new PortPairManager(); - PortPair portPair = null; - private final VtnStorageServiceTest storageService = new VtnStorageServiceTest(); - - /** - * Checks the operation of createPortPair() method. - */ - @Test - public void testCreatePortPair() { - // initialize port pair manager - portPairMgr.storageService = storageService; - portPairMgr.activate(); - - // create port pair - portPair = portPairBuilder.setId(portPairId).setTenantId(tenantId).setName(name) - .setDescription(description).setIngress(ingress).setEgress(egress).build(); - assertThat(portPairMgr.createPortPair(portPair), is(true)); - } - - /** - * Checks the operation of exists() method. - */ - @Test - public void testExists() { - testCreatePortPair(); - assertThat(portPairMgr.exists(portPairId), is(true)); - } - - /** - * Checks the operation of getPortPairCount() method. - */ - @Test - public void testGetPortPairCount() { - testCreatePortPair(); - assertThat(portPairMgr.getPortPairCount(), is(1)); - } - - /** - * Checks the operation of getPortPairs() method. - */ - @Test - public void testGetPortPairs() { - testCreatePortPair(); - final Iterable<PortPair> portPairList = portPairMgr.getPortPairs(); - assertThat(portPairList, is(notNullValue())); - assertThat(portPairList.iterator().hasNext(), is(true)); - } - - /** - * Checks the operation of getPortPair() method. - */ - @Test - public void testGetPortPair() { - testCreatePortPair(); - assertThat(portPair, is(notNullValue())); - assertThat(portPairMgr.getPortPair(portPairId), is(portPair)); - } - - /** - * Checks the operation of updatePortPair() method. - */ - @Test - public void testUpdatePortPair() { - // create a port pair - testCreatePortPair(); - - // new updates - final TenantId tenantId2 = TenantId.tenantId("2"); - final String name2 = "PortPair2"; - final String description2 = "PortPair2"; - final String ingress2 = "d5555555-24fc-4fae-af4b-321c5e2eb3d1"; - final String egress2 = "a6666666-4a56-2a6e-cd3a-9dee4e2ec345"; - portPair = portPairBuilder.setId(portPairId).setTenantId(tenantId2).setName(name2) - .setDescription(description2).setIngress(ingress2).setEgress(egress2).build(); - assertThat(portPairMgr.updatePortPair(portPair), is(true)); - } - - /** - * Checks the operation of removePortPair() method. - */ - @Test - public void testRemovePortPair() { - testCreatePortPair(); - assertThat(portPairMgr.removePortPair(portPairId), is(true)); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/portpairgroup/impl/PortPairGroupManagerTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/portpairgroup/impl/PortPairGroupManagerTest.java deleted file mode 100644 index 95bcd09a..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/portpairgroup/impl/PortPairGroupManagerTest.java +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.portpairgroup.impl; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; - -import org.junit.Test; -import java.util.List; -import java.util.LinkedList; - -import org.onosproject.vtnrsc.PortPairId; -import org.onosproject.vtnrsc.PortPairGroup; -import org.onosproject.vtnrsc.PortPairGroupId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.DefaultPortPairGroup; -import org.onosproject.vtnrsc.util.VtnStorageServiceTest; - -/** - * Unit tests for PortPairGroupManager class. - */ -public class PortPairGroupManagerTest { - final PortPairGroupId portPairGroupId = PortPairGroupId.of("78888888-fc23-aeb6-f44b-56dc5e2fb3ae"); - final TenantId tenantId = TenantId.tenantId("1"); - final String name = "PortPairGroup"; - final String description = "PortPairGroup"; - final List<PortPairId> portPairIdList = new LinkedList<PortPairId>(); - DefaultPortPairGroup.Builder portPairGroupBuilder = new DefaultPortPairGroup.Builder(); - PortPairGroupManager portPairGroupMgr = new PortPairGroupManager(); - PortPairGroup portPairGroup = null; - private final VtnStorageServiceTest storageService = new VtnStorageServiceTest(); - - /** - * Checks the operation of createPortPairGroup() method. - */ - @Test - public void testCreatePortPairGroup() { - // initialize port pair group manager - portPairGroupMgr.storageService = storageService; - portPairGroupMgr.activate(); - - // create port-pair-id list - PortPairId portPairId = PortPairId.of("73333333-fc23-aeb6-f44b-56dc5e2fb3ae"); - portPairIdList.add(portPairId); - portPairId = PortPairId.of("74444444-fc23-aeb6-f44b-56dc5e2fb3ae"); - portPairIdList.add(portPairId); - - // create port pair - portPairGroup = portPairGroupBuilder.setId(portPairGroupId).setTenantId(tenantId).setName(name) - .setDescription(description).setPortPairs(portPairIdList).build(); - assertThat(portPairGroupMgr.createPortPairGroup(portPairGroup), is(true)); - } - - /** - * Checks the operation of exists() method. - */ - @Test - public void testExists() { - testCreatePortPairGroup(); - assertThat(portPairGroupMgr.exists(portPairGroupId), is(true)); - } - - /** - * Checks the operation of getPortPairGroupCount() method. - */ - @Test - public void testGetPortPairGroupCount() { - testCreatePortPairGroup(); - assertThat(portPairGroupMgr.getPortPairGroupCount(), is(1)); - } - - /** - * Checks the operation of getPortPairGroups() method. - */ - @Test - public void testGetPortPairGroups() { - testCreatePortPairGroup(); - final Iterable<PortPairGroup> portPairGroupList = portPairGroupMgr.getPortPairGroups(); - assertThat(portPairGroupList, is(notNullValue())); - assertThat(portPairGroupList.iterator().hasNext(), is(true)); - } - - /** - * Checks the operation of getPortPairGroup() method. - */ - @Test - public void testGetPortPairGroup() { - testCreatePortPairGroup(); - assertThat(portPairGroup, is(notNullValue())); - assertThat(portPairGroupMgr.getPortPairGroup(portPairGroupId), is(portPairGroup)); - } - - /** - * Checks the operation of updatePortPairGroup() method. - */ - @Test - public void testUpdatePortPairGroup() { - // create a port pair group - testCreatePortPairGroup(); - - // new updates - // create port-pair-id list - final TenantId tenantId2 = TenantId.tenantId("2"); - final String name2 = "PortPairGroup2"; - final String description2 = "PortPairGroup2"; - final List<PortPairId> portPairIdList = new LinkedList<PortPairId>(); - PortPairId portPairId = PortPairId.of("75555555-fc23-aeb6-f44b-56dc5e2fb3ae"); - portPairIdList.add(portPairId); - portPairId = PortPairId.of("76666666-fc23-aeb6-f44b-56dc5e2fb3ae"); - portPairIdList.add(portPairId); - - // create port pair - portPairGroup = portPairGroupBuilder.setId(portPairGroupId).setTenantId(tenantId2).setName(name2) - .setDescription(description2).setPortPairs(portPairIdList).build(); - assertThat(portPairGroupMgr.updatePortPairGroup(portPairGroup), is(true)); - } - - /** - * Checks the operation of removePortPairGroup() method. - */ - @Test - public void testRemovePortPairGroup() { - testCreatePortPairGroup(); - assertThat(portPairGroupMgr.removePortPairGroup(portPairGroupId), is(true)); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/router/DefaultRouterTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/router/DefaultRouterTest.java deleted file mode 100644 index ecc80658..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/router/DefaultRouterTest.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.router; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -import java.util.Collections; - -import org.junit.Test; -import org.onosproject.vtnrsc.DefaultRouter; -import org.onosproject.vtnrsc.Router; -import org.onosproject.vtnrsc.RouterGateway; -import org.onosproject.vtnrsc.RouterId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.TenantNetworkId; -import org.onosproject.vtnrsc.VirtualPortId; - -import com.google.common.testing.EqualsTester; - -/** - * Unit tests for DefaultRouter class. - */ -public class DefaultRouterTest { - - private String tenantIdStr = "123"; - private String virtualPortId = "1212"; - private String routeIdStr1 = "1"; - private String routeIdStr2 = "2"; - private String routerName = "router"; - private String tenantNetworkId = "1234567"; - - /** - * Checks that the DefaultRouter class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(DefaultRouter.class); - } - - /** - * Checks the operation of equals(). - */ - @Test - public void testEquals() { - final TenantId tenantId = TenantId.tenantId(tenantIdStr); - final VirtualPortId portId = VirtualPortId.portId(virtualPortId); - final RouterId routerId1 = RouterId.valueOf(routeIdStr1); - final RouterId routerId2 = RouterId.valueOf(routeIdStr2); - final TenantNetworkId networkId = TenantNetworkId - .networkId(tenantNetworkId); - final RouterGateway routerGateway = RouterGateway.routerGateway( - networkId, - true, - Collections - .emptySet()); - - Router r1 = new DefaultRouter(routerId1, routerName, false, - Router.Status.ACTIVE, false, - routerGateway, portId, tenantId, null); - Router r2 = new DefaultRouter(routerId1, routerName, false, - Router.Status.ACTIVE, false, - routerGateway, portId, tenantId, null); - Router r3 = new DefaultRouter(routerId2, routerName, false, - Router.Status.ACTIVE, false, - routerGateway, portId, tenantId, null); - - new EqualsTester().addEqualityGroup(r1, r2).addEqualityGroup(r3) - .testEquals(); - } - - /** - * Checks the construction of a DefaultRouter object. - */ - @Test - public void testConstruction() { - final TenantId tenantId = TenantId.tenantId(tenantIdStr); - final VirtualPortId portId = VirtualPortId.portId(virtualPortId); - final RouterId routerId = RouterId.valueOf(routeIdStr1); - final TenantNetworkId networkId = TenantNetworkId - .networkId(tenantNetworkId); - final RouterGateway routerGateway = RouterGateway.routerGateway( - networkId, - true, - Collections - .emptySet()); - - Router r1 = new DefaultRouter(routerId, routerName, false, - Router.Status.ACTIVE, false, - routerGateway, portId, tenantId, null); - assertThat(routerId, is(notNullValue())); - assertThat(routerId, is(r1.id())); - assertThat(tenantId, is(notNullValue())); - assertThat(tenantId, is(r1.tenantId())); - assertThat(routerGateway, is(notNullValue())); - assertThat(routerGateway, is(r1.externalGatewayInfo())); - } - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/router/RouterInterfaceTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/router/RouterInterfaceTest.java deleted file mode 100644 index 53ea037d..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/router/RouterInterfaceTest.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.vtnrsc.router; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notNullValue; -import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; - -import org.junit.Test; -import org.onosproject.vtnrsc.RouterId; -import org.onosproject.vtnrsc.RouterInterface; -import org.onosproject.vtnrsc.SubnetId; -import org.onosproject.vtnrsc.TenantId; -import org.onosproject.vtnrsc.VirtualPortId; - -import com.google.common.testing.EqualsTester; - -/** - * Unit tests for RouterInterface class. - */ -public class RouterInterfaceTest { - private String tenantIdStr = "123"; - private String virtualPortId = "1212"; - private String routeIdStr1 = "1"; - private String routeIdStr2 = "2"; - private String subnetIdStr = "1234567"; - - /** - * Checks that the RouterInterface class is immutable. - */ - @Test - public void testImmutability() { - assertThatClassIsImmutable(RouterInterface.class); - } - - /** - * Checks the operation of equals(). - */ - @Test - public void testEquals() { - final TenantId tenantId = TenantId.tenantId(tenantIdStr); - final VirtualPortId portId = VirtualPortId.portId(virtualPortId); - final RouterId routerId1 = RouterId.valueOf(routeIdStr1); - final RouterId routerId2 = RouterId.valueOf(routeIdStr2); - final SubnetId subnet = SubnetId.subnetId(subnetIdStr); - - RouterInterface ri1 = RouterInterface.routerInterface(subnet, portId, - routerId1, - tenantId); - RouterInterface ri2 = RouterInterface.routerInterface(subnet, portId, - routerId1, - tenantId); - RouterInterface ri3 = RouterInterface.routerInterface(subnet, portId, - routerId2, - tenantId); - - new EqualsTester().addEqualityGroup(ri1, ri2).addEqualityGroup(ri3) - .testEquals(); - } - - /** - * Checks the construction of a RouterInterface object. - */ - @Test - public void testConstruction() { - final TenantId tenantId = TenantId.tenantId(tenantIdStr); - final VirtualPortId portId = VirtualPortId.portId(virtualPortId); - final RouterId routerId1 = RouterId.valueOf(routeIdStr1); - final SubnetId subnet = SubnetId.subnetId(subnetIdStr); - - RouterInterface ri1 = RouterInterface.routerInterface(subnet, portId, - routerId1, - tenantId); - assertThat(portId, is(notNullValue())); - assertThat(portId, is(ri1.portId())); - assertThat(tenantId, is(notNullValue())); - assertThat(tenantId, is(ri1.tenantId())); - assertThat(routerId1, is(notNullValue())); - assertThat(routerId1, is(ri1.routerId())); - assertThat(subnet, is(notNullValue())); - assertThat(subnet, is(ri1.subnetId())); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/util/VtnEventuallyConsistentMapAdapter.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/util/VtnEventuallyConsistentMapAdapter.java deleted file mode 100644 index 0631f865..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/util/VtnEventuallyConsistentMapAdapter.java +++ /dev/null @@ -1,114 +0,0 @@ -/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.vtnrsc.util;
-
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-import java.util.function.BiFunction;
-
-import org.onosproject.store.service.EventuallyConsistentMap;
-import org.onosproject.store.service.EventuallyConsistentMapListener;
-
-/**
- * Testing adapter for EventuallyConsistentMap.
- */
-public class VtnEventuallyConsistentMapAdapter<K, V> implements EventuallyConsistentMap<K, V> {
- @Override
- public int size() {
- return 0;
- }
-
- @Override
- public boolean isEmpty() {
- return false;
- }
-
- @Override
- public boolean containsKey(K key) {
- return false;
- }
-
- @Override
- public boolean containsValue(V value) {
- return false;
- }
-
- @Override
- public V get(K key) {
- return null;
- }
-
- @Override
- public void put(K key, V value) {
-
- }
-
- @Override
- public V remove(K key) {
- return null;
- }
-
- @Override
- public void remove(K key, V value) {
-
- }
-
- @Override
- public V compute(K key, BiFunction<K, V, V> recomputeFunction) {
- return null;
- }
-
- @Override
- public void putAll(Map<? extends K, ? extends V> m) {
-
- }
-
- @Override
- public void clear() {
-
- }
-
- @Override
- public Set<K> keySet() {
- return null;
- }
-
- @Override
- public Collection<V> values() {
- return null;
- }
-
- @Override
- public Set<Map.Entry<K, V>> entrySet() {
- return null;
- }
-
- @Override
- public void addListener(EventuallyConsistentMapListener<K, V> listener) {
-
- }
-
- @Override
- public void removeListener(EventuallyConsistentMapListener<K, V> listener) {
-
- }
-
- @Override
- public void destroy() {
-
- }
-}
diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/util/VtnEventuallyConsistentMapTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/util/VtnEventuallyConsistentMapTest.java deleted file mode 100644 index 68b7d689..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/util/VtnEventuallyConsistentMapTest.java +++ /dev/null @@ -1,242 +0,0 @@ -/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.vtnrsc.util;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-import java.util.function.BiFunction;
-
-import org.onlab.util.KryoNamespace;
-import org.onosproject.cluster.NodeId;
-import org.onosproject.store.Timestamp;
-
-import static org.onosproject.store.service.EventuallyConsistentMapEvent.Type.*;
-import org.onosproject.store.service.EventuallyConsistentMapListener;
-import org.onosproject.store.service.EventuallyConsistentMapEvent;
-import org.onosproject.store.service.EventuallyConsistentMapBuilder;
-import org.onosproject.store.service.EventuallyConsistentMap;
-
-/**
- * Testing version of an Eventually Consistent Map.
- */
-
-public final class VtnEventuallyConsistentMapTest<K, V> extends VtnEventuallyConsistentMapAdapter<K, V> {
-
- private final HashMap<K, V> map;
- private final String mapName;
- private final List<EventuallyConsistentMapListener<K, V>> listeners;
- private final BiFunction<K, V, Collection<NodeId>> peerUpdateFunction;
-
- private VtnEventuallyConsistentMapTest(String mapName,
- BiFunction<K, V, Collection<NodeId>> peerUpdateFunction) {
- map = new HashMap<>();
- listeners = new LinkedList<>();
- this.mapName = mapName;
- this.peerUpdateFunction = peerUpdateFunction;
- }
-
- /**
- * Notify all listeners of an event.
- */
- private void notifyListeners(EventuallyConsistentMapEvent<K, V> event) {
- listeners.forEach(
- listener -> listener.event(event)
- );
- }
-
- @Override
- public int size() {
- return map.size();
- }
-
- @Override
- public boolean isEmpty() {
- return map.isEmpty();
- }
-
- @Override
- public boolean containsKey(K key) {
- return map.containsKey(key);
- }
-
- @Override
- public boolean containsValue(V value) {
- return map.containsValue(value);
- }
-
- @Override
- public V get(K key) {
- return map.get(key);
- }
-
- @Override
- public void put(K key, V value) {
- map.put(key, value);
- EventuallyConsistentMapEvent<K, V> addEvent =
- new EventuallyConsistentMapEvent<>(mapName, PUT, key, value);
- notifyListeners(addEvent);
- if (peerUpdateFunction != null) {
- peerUpdateFunction.apply(key, value);
- }
- }
-
- @Override
- public V remove(K key) {
- V result = map.remove(key);
- if (result != null) {
- EventuallyConsistentMapEvent<K, V> removeEvent =
- new EventuallyConsistentMapEvent<>(mapName, REMOVE,
- key, map.get(key));
- notifyListeners(removeEvent);
- }
- return result;
- }
-
- @Override
- public void remove(K key, V value) {
- boolean removed = map.remove(key, value);
- if (removed) {
- EventuallyConsistentMapEvent<K, V> removeEvent =
- new EventuallyConsistentMapEvent<>(mapName, REMOVE, key, value);
- notifyListeners(removeEvent);
- }
- }
-
- @Override
- public V compute(K key, BiFunction<K, V, V> recomputeFunction) {
- return map.compute(key, recomputeFunction);
- }
-
- @Override
- public void putAll(Map<? extends K, ? extends V> m) {
- map.putAll(m);
- }
-
- @Override
- public void clear() {
- map.clear();
- }
-
- @Override
- public Set<K> keySet() {
- return map.keySet();
- }
-
- @Override
- public Collection<V> values() {
- return map.values();
- }
-
- @Override
- public Set<Map.Entry<K, V>> entrySet() {
- return map.entrySet();
- }
-
- public static <K, V> Builder<K, V> builder() {
- return new Builder<>();
- }
-
- @Override
- public void addListener(EventuallyConsistentMapListener<K, V> listener) {
- listeners.add(listener);
- }
-
- @Override
- public void removeListener(EventuallyConsistentMapListener<K, V> listener) {
- listeners.remove(listener);
- }
-
- public static class Builder<K, V> implements EventuallyConsistentMapBuilder<K, V> {
- private String name;
- private BiFunction<K, V, Collection<NodeId>> peerUpdateFunction;
-
- @Override
- public EventuallyConsistentMapBuilder<K, V> withName(String name) {
- this.name = name;
- return this;
- }
-
- @Override
- public EventuallyConsistentMapBuilder<K, V> withSerializer(KryoNamespace.Builder serializerBuilder) {
- return this;
- }
-
- @Override
- public EventuallyConsistentMapBuilder<K, V>
- withTimestampProvider(BiFunction<K, V, Timestamp> timestampProvider) {
- return this;
- }
-
- @Override
- public EventuallyConsistentMapBuilder<K, V> withEventExecutor(ExecutorService executor) {
- return this;
- }
-
- @Override
- public EventuallyConsistentMapBuilder<K, V> withCommunicationExecutor(ExecutorService executor) {
- return this;
- }
-
- @Override
- public EventuallyConsistentMapBuilder<K, V> withBackgroundExecutor(ScheduledExecutorService executor) {
- return this;
- }
-
- @Override
- public EventuallyConsistentMapBuilder<K, V>
- withPeerUpdateFunction(BiFunction<K, V, Collection<NodeId>> peerUpdateFunction) {
- this.peerUpdateFunction = peerUpdateFunction;
- return this;
- }
-
- @Override
- public EventuallyConsistentMapBuilder<K, V> withTombstonesDisabled() {
- return this;
- }
-
- @Override
- public EventuallyConsistentMapBuilder<K, V> withAntiEntropyPeriod(long period, TimeUnit unit) {
- return this;
- }
-
- @Override
- public EventuallyConsistentMapBuilder<K, V> withFasterConvergence() {
- return this;
- }
-
- @Override
- public EventuallyConsistentMapBuilder<K, V> withPersistence() {
- return this;
- }
-
- @Override
- public EventuallyConsistentMap<K, V> build() {
- if (name == null) {
- name = "test";
- }
- return new VtnEventuallyConsistentMapTest<>(name, peerUpdateFunction);
- }
- }
-
-}
-
diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/util/VtnStorageServiceAdapter.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/util/VtnStorageServiceAdapter.java deleted file mode 100644 index efb1a791..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/util/VtnStorageServiceAdapter.java +++ /dev/null @@ -1,65 +0,0 @@ -/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.vtnrsc.util;
-
-import org.onosproject.store.service.EventuallyConsistentMapBuilder;
-import org.onosproject.store.service.ConsistentMapBuilder;
-import org.onosproject.store.service.DistributedSetBuilder;
-import org.onosproject.store.service.DistributedQueueBuilder;
-import org.onosproject.store.service.AtomicCounterBuilder;
-import org.onosproject.store.service.AtomicValueBuilder;
-import org.onosproject.store.service.TransactionContextBuilder;
-import org.onosproject.store.service.StorageService;
-
-/**
- * Adapter for the storage service.
- */
-public class VtnStorageServiceAdapter implements StorageService {
- @Override
- public <K, V> EventuallyConsistentMapBuilder<K, V> eventuallyConsistentMapBuilder() {
- return null;
- }
-
- @Override
- public <K, V> ConsistentMapBuilder<K, V> consistentMapBuilder() {
- return null;
- }
-
- @Override
- public <E> DistributedSetBuilder<E> setBuilder() {
- return null;
- }
-
- @Override
- public <E> DistributedQueueBuilder<E> queueBuilder() {
- return null;
- }
-
- @Override
- public AtomicCounterBuilder atomicCounterBuilder() {
- return null;
- }
-
- @Override
- public <V> AtomicValueBuilder<V> atomicValueBuilder() {
- return null;
- }
-
- @Override
- public TransactionContextBuilder transactionContextBuilder() {
- return null;
- }
-}
diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/util/VtnStorageServiceTest.java b/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/util/VtnStorageServiceTest.java deleted file mode 100644 index 1f0f1835..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/test/java/org/onosproject/vtnrsc/util/VtnStorageServiceTest.java +++ /dev/null @@ -1,25 +0,0 @@ -/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.vtnrsc.util;
-
-import org.onosproject.store.service.EventuallyConsistentMapBuilder;
-
-public class VtnStorageServiceTest extends VtnStorageServiceAdapter {
- @Override
- public <K, V> EventuallyConsistentMapBuilder<K, V> eventuallyConsistentMapBuilder() {
- return VtnEventuallyConsistentMapTest.builder();
- }
-}
|