summaryrefslogtreecommitdiffstats
path: root/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier')
-rw-r--r--framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/FlowClassifierEvent.java63
-rw-r--r--framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/FlowClassifierListener.java25
-rw-r--r--framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/FlowClassifierService.java96
-rw-r--r--framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/impl/FlowClassifierManager.java160
-rw-r--r--framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/impl/package-info.java20
-rw-r--r--framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/package-info.java20
6 files changed, 0 insertions, 384 deletions
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;