Bug 5540 - ConvertorManager DataContainer source, one Convertor interface
[openflowplugin.git] / openflowplugin / src / main / java / org / opendaylight / openflowplugin / openflow / md / core / sal / convertor / common / ConvertReactor.java
index 5127570a2aca81eb3c13402a84bfc9939e4afa92..0ff50e7c24750a4a80cc0accea1849a8c72a898a 100644 (file)
@@ -18,10 +18,10 @@ import java.util.Map;
  */
 public abstract class ConvertReactor<FROM> {
     private final Map<InjectionKey, ResultInjector<?, ?>> injectionMapping;
-    private final Map<Short, Convertor<FROM, ?>> conversionMapping;
+    private final Map<Short, Convertor<FROM, ?, ?>> conversionMapping;
 
     protected ConvertReactor() {
-        final Map<Short, Convertor<FROM, ?>> conversions = new HashMap<>();
+        final Map<Short, Convertor<FROM, ?, ?>> conversions = new HashMap<>();
         final Map<InjectionKey, ResultInjector<?, ?>> injections = new HashMap<>();
         initMappings(conversions, injections);
 
@@ -35,7 +35,7 @@ public abstract class ConvertReactor<FROM> {
      * @param conversions convert from
      * @param injections injection
      */
-    protected abstract void initMappings(Map<Short, Convertor<FROM, ?>> conversions,
+    protected abstract void initMappings(Map<Short, Convertor<FROM, ?, ?>> conversions,
             Map<InjectionKey, ResultInjector<?, ?>> injections);
 
     /**
@@ -49,11 +49,11 @@ public abstract class ConvertReactor<FROM> {
     public <RESULT, TARGET> void convert(final FROM source, final short version, final TARGET target) {
 
         //lookup converter
-        Convertor<FROM, RESULT> convertor = (Convertor<FROM, RESULT>) conversionMapping.get(version);
+        Convertor<FROM, RESULT, ?> convertor = (Convertor<FROM, RESULT, ?>) conversionMapping.get(version);
         if (convertor == null) {
             throw new IllegalArgumentException("convertor for given version ["+version+"] not found");
         }
-        RESULT convertedItem = convertor.convert(source);
+        RESULT convertedItem = convertor.convert(source, null);
 
         //lookup injection
         InjectionKey key = buildInjectionKey(version, convertedItem, target);