Bug 5540 - FlowConvertor, FlowStatsResponseConvertor, FlowInstructionResponseConvertor
[openflowplugin.git] / openflowplugin / src / main / java / org / opendaylight / openflowplugin / openflow / md / core / sal / SwitchFeaturesUtil.java
index 1286252b6c57f81f986b50139b2bc6c4253f9a1a..766b426e389ebfc3dd17a546b324126e2f57414b 100644 (file)
@@ -7,9 +7,12 @@
  */
 package org.opendaylight.openflowplugin.openflow.md.core.sal;
 
+import static org.opendaylight.openflowplugin.api.OFConstants.OFP_VERSION_1_0;
+import static org.opendaylight.openflowplugin.api.OFConstants.OFP_VERSION_1_3;
+
 import java.util.HashMap;
 import java.util.Map;
-
+import org.opendaylight.openflowplugin.api.openflow.md.core.sal.BuildSwitchFeatures;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.flow.node.SwitchFeatures;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetFeaturesOutput;
 import org.slf4j.Logger;
@@ -19,47 +22,48 @@ import org.slf4j.LoggerFactory;
  * @author jsebin
  *
  */
-public class SwitchFeaturesUtil {
+public final class SwitchFeaturesUtil {
+
+    private static final Logger LOG = LoggerFactory.getLogger(SwitchFeaturesUtil.class);
 
-    protected static final Logger LOG = LoggerFactory.getLogger(SwitchFeaturesUtil.class);
-    
     private static SwitchFeaturesUtil instance = new SwitchFeaturesUtil();
     private Map<Short, BuildSwitchFeatures> swFeaturesBuilders;
-    
+
     private SwitchFeaturesUtil() {
         swFeaturesBuilders = new HashMap<>();
-        swFeaturesBuilders.put((short) 1, BuildSwitchCapabilitiesOF10.getInstance());
-        swFeaturesBuilders.put((short) 4, BuildSwitchCapabilitiesOF13.getInstance());
+        swFeaturesBuilders.put(OFP_VERSION_1_0, BuildSwitchCapabilitiesOF10.getInstance());
+        swFeaturesBuilders.put(OFP_VERSION_1_3, BuildSwitchCapabilitiesOF13.getInstance());
     }
-    
+
     /**
      * Get singleton instance
-     * 
+     *
      * @return instance
      */
     public static SwitchFeaturesUtil getInstance() {
         return instance;
     }
-    
+
     /**
      * @param features {@link org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetFeaturesOutput}
      * @return switch features
      */
     public SwitchFeatures buildSwitchFeatures(GetFeaturesOutput features) {
 
-        if(swFeaturesBuilders.containsKey(features.getVersion()) == true) {
+        if(swFeaturesBuilders.containsKey(features.getVersion())) {
             LOG.debug("map contains version {}", features.getVersion());
             try {
                 return swFeaturesBuilders.get(features.getVersion()).build(features);
             } catch (NullPointerException e) {
-                LOG.error("error while building switch features {}", e);
+                LOG.warn("error while building switch features: {}", e.getMessage());
+                LOG.debug("error while building switch features.. ", e);
             }
         }
         else {
-            LOG.warn("unknown version: {}", features.getVersion());            
-        }                
-        
+            LOG.warn("unknown version: {}", features.getVersion());
+        }
+
         return null;
     }
-    
+
 }