+ messageTranslators = new ConcurrentHashMap<>();
+ popListeners = new ConcurrentHashMap<>();
+ //TODO: move registration to factory
+ addMessageTranslator(ErrorMessage.class, OF10, new ErrorTranslator());
+ addMessageTranslator(ErrorMessage.class, OF13, new ErrorTranslator());
+ addMessageTranslator(FlowRemovedMessage.class, OF13, new FlowRemovedTranslator());
+ addMessageTranslator(PacketInMessage.class,OF10, new PacketInTranslator());
+ addMessageTranslator(PacketInMessage.class,OF13, new PacketInTranslator());
+ addMessageTranslator(PortStatusMessage.class,OF10, new PortStatusMessageToNodeConnectorUpdatedTranslator());
+ addMessageTranslator(PortStatusMessage.class,OF13, new PortStatusMessageToNodeConnectorUpdatedTranslator());
+ addMessageTranslator(MultipartReplyMessage.class,OF13,new MultiPartReplyPortToNodeConnectorUpdatedTranslator());
+ addMessageTranslator(MultipartReplyMessage.class,OF13, new MultiPartMessageDescToNodeUpdatedTranslator());
+ addMessageTranslator(ExperimenterMessage.class, OF10, new ExperimenterTranslator());
+ addMessageTranslator(MultipartReplyMessage.class,OF13, new MultipartReplyTranslator());
+ addMessageTranslator(MultipartReplyMessage.class,OF13,new MultipartReplyTableFeaturesToTableUpdatedTranslator());
+
+ //TODO: move registration to factory
+ NotificationPopListener<DataObject> notificationPopListener = new NotificationPopListener<DataObject>();
+ addMessagePopListener(NodeErrorNotification.class, notificationPopListener);
+ addMessagePopListener(NodeConnectorUpdated.class,notificationPopListener);
+ addMessagePopListener(PacketReceived.class,notificationPopListener);
+ addMessagePopListener(TransmitPacketInput.class, notificationPopListener);
+ addMessagePopListener(NodeUpdated.class, notificationPopListener);
+
+ addMessagePopListener(SwitchFlowRemoved.class, notificationPopListener);
+ addMessagePopListener(TableUpdated.class, notificationPopListener);
+ //Notification registrations for group-statistics
+ addMessagePopListener(GroupStatisticsUpdated.class, notificationPopListener);
+ addMessagePopListener(GroupFeaturesUpdated.class, notificationPopListener);
+ addMessagePopListener(GroupDescStatsUpdated.class, notificationPopListener);
+
+ //Notification registrations for meter-statistics
+ addMessagePopListener(MeterStatisticsUpdated.class, notificationPopListener);
+ addMessagePopListener(MeterConfigStatsUpdated.class, notificationPopListener);
+ addMessagePopListener(MeterFeaturesUpdated.class, notificationPopListener);
+
+
+ // Push the updated Listeners to Session Manager which will be then picked up by ConnectionConductor eventually
+ OFSessionUtil.getSessionManager().setTranslatorMapping(messageTranslators);
+ OFSessionUtil.getSessionManager().setPopListenerMapping(popListeners);