diff options
author | CNlucius <lukai1@huawei.com> | 2016-09-13 11:40:12 +0800 |
---|---|---|
committer | CNlucius <lukai1@huawei.com> | 2016-09-13 11:41:53 +0800 |
commit | b731e2f1dd0972409b136aebc7b463dd72c9cfad (patch) | |
tree | 5107d7d80c19ad8076c2c97c2b5ef8d1cf3ab903 /framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain | |
parent | ee93993458266114c29271a481ef9ce7ce621b2a (diff) |
ONOSFW-171
O/S-SFC-ONOS scenario documentation
Change-Id: I51ae1cf736ea24ab6680f8edca1b2bf5dd598365
Signed-off-by: CNlucius <lukai1@huawei.com>
Diffstat (limited to 'framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain')
6 files changed, 0 insertions, 359 deletions
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; |