Fixing OF flow and group provider run-time dependency.
Change-Id: I25fa3c72ab01500c39fc90198abc4c383a9512a2
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilder.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilder.java
index 4cdbb83..21e44c6 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilder.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilder.java
@@ -64,6 +64,8 @@
import org.onosproject.net.flow.criteria.VlanIdCriterion;
import org.onosproject.net.flow.criteria.VlanPcpCriterion;
import org.onosproject.openflow.controller.ExtensionSelectorInterpreter;
+import org.onosproject.provider.of.flow.util.NoMappingFoundException;
+import org.onosproject.provider.of.flow.util.OpenFlowValueMapper;
import org.projectfloodlight.openflow.protocol.OFFactory;
import org.projectfloodlight.openflow.protocol.OFFlowMod;
import org.projectfloodlight.openflow.protocol.match.Match;
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilderVer13.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilderVer13.java
index 70b7e68..1b9ef5d 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilderVer13.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilderVer13.java
@@ -54,6 +54,8 @@
import org.onosproject.net.flow.instructions.L4ModificationInstruction;
import org.onosproject.net.flow.instructions.L4ModificationInstruction.ModTransportPortInstruction;
import org.onosproject.openflow.controller.ExtensionTreatmentInterpreter;
+import org.onosproject.provider.of.flow.util.NoMappingFoundException;
+import org.onosproject.provider.of.flow.util.OpenFlowValueMapper;
import org.projectfloodlight.openflow.protocol.OFFactory;
import org.projectfloodlight.openflow.protocol.OFFlowAdd;
import org.projectfloodlight.openflow.protocol.OFFlowDeleteStrict;
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java
index 7bf5878..bbf1436 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java
@@ -53,6 +53,7 @@
import org.onosproject.openflow.controller.OpenFlowSwitchListener;
import org.onosproject.openflow.controller.RoleState;
import org.onosproject.openflow.controller.ThirdPartyMessage;
+import org.onosproject.provider.of.flow.util.FlowEntryBuilder;
import org.osgi.service.component.ComponentContext;
import org.projectfloodlight.openflow.protocol.OFBadRequestCode;
import org.projectfloodlight.openflow.protocol.OFBarrierRequest;
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowEntryBuilder.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/util/FlowEntryBuilder.java
similarity index 98%
rename from providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowEntryBuilder.java
rename to providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/util/FlowEntryBuilder.java
index 51d32df..da0affc 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowEntryBuilder.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/util/FlowEntryBuilder.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2015 Open Networking Laboratory
+ * Copyright 2016 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.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.onosproject.provider.of.flow.impl;
+package org.onosproject.provider.of.flow.util;
import com.google.common.collect.Lists;
import org.onlab.packet.EthType;
@@ -101,10 +101,10 @@
import static org.onosproject.net.flow.criteria.Criteria.matchOduSignalType;
import static org.onosproject.net.flow.instructions.Instructions.modL0Lambda;
import static org.onosproject.net.flow.instructions.Instructions.modL1OduSignalId;
-import static org.onosproject.provider.of.flow.impl.OpenFlowValueMapper.lookupChannelSpacing;
-import static org.onosproject.provider.of.flow.impl.OpenFlowValueMapper.lookupGridType;
-import static org.onosproject.provider.of.flow.impl.OpenFlowValueMapper.lookupOchSignalType;
-import static org.onosproject.provider.of.flow.impl.OpenFlowValueMapper.lookupOduSignalType;
+import static org.onosproject.provider.of.flow.util.OpenFlowValueMapper.lookupChannelSpacing;
+import static org.onosproject.provider.of.flow.util.OpenFlowValueMapper.lookupGridType;
+import static org.onosproject.provider.of.flow.util.OpenFlowValueMapper.lookupOchSignalType;
+import static org.onosproject.provider.of.flow.util.OpenFlowValueMapper.lookupOduSignalType;
public class FlowEntryBuilder {
private static final Logger log = LoggerFactory.getLogger(FlowEntryBuilder.class);
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/NoMappingFoundException.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/util/NoMappingFoundException.java
similarity index 92%
rename from providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/NoMappingFoundException.java
rename to providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/util/NoMappingFoundException.java
index 898b286..50c8d26 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/NoMappingFoundException.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/util/NoMappingFoundException.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2015 Open Networking Laboratory
+ * Copyright 2016 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.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.onosproject.provider.of.flow.impl;
+package org.onosproject.provider.of.flow.util;
/**
* Thrown to indicate that no mapping for the input value is found.
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowValueMapper.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/util/OpenFlowValueMapper.java
similarity index 92%
rename from providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowValueMapper.java
rename to providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/util/OpenFlowValueMapper.java
index 556f76f..58d8b3d 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowValueMapper.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/util/OpenFlowValueMapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2015 Open Networking Laboratory
+ * Copyright 2016 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.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.onosproject.provider.of.flow.impl;
+package org.onosproject.provider.of.flow.util;
import com.google.common.collect.BiMap;
import com.google.common.collect.EnumHashBiMap;
@@ -25,7 +25,7 @@
/**
* Collection of helper methods to convert protocol agnostic models to values used in OpenFlow spec.
*/
-final class OpenFlowValueMapper {
+public final class OpenFlowValueMapper {
// prohibit instantiation
private OpenFlowValueMapper() {}
@@ -94,7 +94,7 @@
* @return the byte value corresponding to the specified grid type
* @throws NoMappingFoundException if the specified grid type is not found
*/
- static byte lookupGridType(GridType type) {
+ public static byte lookupGridType(GridType type) {
return lookup(GRID_TYPES, type, Byte.class);
}
@@ -106,7 +106,7 @@
* @param type byte value as grid type defined the spec
* @return the corresponding GridType instance
*/
- static GridType lookupGridType(byte type) {
+ public static GridType lookupGridType(byte type) {
return lookup(GRID_TYPES.inverse(), type, GridType.class);
}
@@ -119,7 +119,7 @@
* @return byte value corresponding to the specified channel spacing
* @throws NoMappingFoundException if the specified channel spacing is not found
*/
- static byte lookupChannelSpacing(ChannelSpacing spacing) {
+ public static byte lookupChannelSpacing(ChannelSpacing spacing) {
return lookup(CHANNEL_SPACING, spacing, Byte.class);
}
@@ -132,7 +132,7 @@
* @return the corresponding ChannelSpacing instance
* @throws NoMappingFoundException if the specified channel spacing is not found
*/
- static ChannelSpacing lookupChannelSpacing(byte spacing) {
+ public static ChannelSpacing lookupChannelSpacing(byte spacing) {
return lookup(CHANNEL_SPACING.inverse(), spacing, ChannelSpacing.class);
}
@@ -145,7 +145,7 @@
* @return byte value corresponding to the specified OCh signal type
* @throws NoMappingFoundException if the specified Och signal type is not found
*/
- static byte lookupOchSignalType(OchSignalType signalType) {
+ public static byte lookupOchSignalType(OchSignalType signalType) {
return lookup(OCH_SIGNAL_TYPES, signalType, Byte.class);
}
@@ -158,7 +158,7 @@
* @return the corresponding OchSignalType instance
* @throws NoMappingFoundException if the specified Och signal type is not found
*/
- static OchSignalType lookupOchSignalType(byte signalType) {
+ public static OchSignalType lookupOchSignalType(byte signalType) {
return lookup(OCH_SIGNAL_TYPES.inverse(), signalType, OchSignalType.class);
}
@@ -171,7 +171,7 @@
* @return byte value corresponding to the specified ODU signal type
* @throws NoMappingFoundException if the specified ODU signal type is not found
*/
- static byte lookupOduSignalType(OduSignalType signalType) {
+ public static byte lookupOduSignalType(OduSignalType signalType) {
return lookup(ODU_SIGNAL_TYPES, signalType, Byte.class);
}
@@ -184,7 +184,7 @@
* @return the corresponding OchSignalType instance
* @throws NoMappingFoundException if the specified ODU signal type is not found
*/
- static OduSignalType lookupOduSignalType(byte signalType) {
+ public static OduSignalType lookupOduSignalType(byte signalType) {
return lookup(ODU_SIGNAL_TYPES.inverse(), signalType, OduSignalType.class);
}
}
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/util/package-info.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/util/package-info.java
new file mode 100644
index 0000000..9220aaf
--- /dev/null
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/util/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2016 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.
+ */
+
+/**
+ * Shared utilities for OF flow rule and group providers.
+ */
+package org.onosproject.provider.of.flow.util;
\ No newline at end of file
diff --git a/providers/openflow/group/src/main/java/org/onosproject/provider/of/group/impl/GroupBucketEntryBuilder.java b/providers/openflow/group/src/main/java/org/onosproject/provider/of/group/impl/GroupBucketEntryBuilder.java
index c5ff2ba..3c7db24 100644
--- a/providers/openflow/group/src/main/java/org/onosproject/provider/of/group/impl/GroupBucketEntryBuilder.java
+++ b/providers/openflow/group/src/main/java/org/onosproject/provider/of/group/impl/GroupBucketEntryBuilder.java
@@ -31,7 +31,7 @@
import org.onosproject.net.group.GroupBucket;
import org.onosproject.net.group.GroupBuckets;
import org.onosproject.openflow.controller.Dpid;
-import org.onosproject.provider.of.flow.impl.FlowEntryBuilder;
+import org.onosproject.provider.of.flow.util.FlowEntryBuilder;
import org.projectfloodlight.openflow.protocol.OFBucket;
import org.projectfloodlight.openflow.protocol.OFGroupType;
import org.projectfloodlight.openflow.protocol.action.OFAction;
@@ -41,7 +41,7 @@
import static org.slf4j.LoggerFactory.getLogger;
-/*
+/**
* Builder for GroupBucketEntry.
*/
public class GroupBucketEntryBuilder {