private boolean isAnyPluginInterestedInAgentStatus() { return notificationPluginRegistry.isAnyPluginInterestedIn(NotificationExtension.AGENT_STATUS_CHANGE_NOTIFICATION); } }
@Override public <T> String requestMessageForNotify(T data) { return getConverter(data).createRequest(); }
@Override public <T> String requestMessageForNotify(T data) { return getConverter(data).createRequest(); }
@Override public void pluginLoaded(GoPluginDescriptor pluginDescriptor) { if (notificationExtension.canHandlePlugin(pluginDescriptor.id())) { try { notificationPluginRegistry.registerPlugin(pluginDescriptor.id()); List<String> notificationsInterestedIn = notificationExtension.getNotificationsOfInterestFor(pluginDescriptor.id()); if (notificationsInterestedIn != null && !notificationsInterestedIn.isEmpty()) { checkNotificationTypes(pluginDescriptor, notificationsInterestedIn); notificationPluginRegistry.registerPluginInterests(pluginDescriptor.id(), notificationsInterestedIn); } } catch (Exception e) { LOGGER.warn("Error occurred during plugin notification interest registration.", e); } } }
@Override public void pluginUnLoaded(GoPluginDescriptor pluginDescriptor) { if (notificationExtension.canHandlePlugin(pluginDescriptor.id())) { notificationPluginRegistry.deregisterPlugin(pluginDescriptor.id()); notificationPluginRegistry.removePluginInterests(pluginDescriptor.id()); } } }
@Test public void shouldUnregisterPluginInterestsOnPluginUnLoad() { NotificationPluginRegistrar notificationPluginRegistrar = new NotificationPluginRegistrar(pluginManager, notificationExtension, notificationPluginRegistry); notificationPluginRegistrar.pluginUnLoaded(new GoPluginDescriptor(PLUGIN_ID_1, null, null, null, null, true)); verify(notificationPluginRegistry).removePluginInterests(PLUGIN_ID_1); }
@Test public void shouldRegisterPluginOnPluginLoad() { NotificationPluginRegistrar notificationPluginRegistrar = new NotificationPluginRegistrar(pluginManager, notificationExtension, notificationPluginRegistry); notificationPluginRegistrar.pluginLoaded(new GoPluginDescriptor(PLUGIN_ID_1, null, null, null, null, true)); verify(notificationPluginRegistry).registerPlugin(PLUGIN_ID_1); }
@Test public void shouldUnregisterPluginOnPluginUnLoad() { NotificationPluginRegistrar notificationPluginRegistrar = new NotificationPluginRegistrar(pluginManager, notificationExtension, notificationPluginRegistry); notificationPluginRegistrar.pluginUnLoaded(new GoPluginDescriptor(PLUGIN_ID_1, null, null, null, null, true)); verify(notificationPluginRegistry).deregisterPlugin(PLUGIN_ID_1); } }
@Test public void shouldNotRegisterPluginInterestsOnPluginLoadIfPluginIfPluginIsNotOfNotificationType() { NotificationPluginRegistrar notificationPluginRegistrar = new NotificationPluginRegistrar(pluginManager, notificationExtension, notificationPluginRegistry); notificationPluginRegistrar.pluginLoaded(new GoPluginDescriptor(PLUGIN_ID_4, null, null, null, null, true)); verify(notificationPluginRegistry, never()).registerPluginInterests(anyString(), anyList()); }
@Override public <T> String requestMessageForNotify(T data) { return getConverter(data).createRequest(); }
@Override public <T> String requestMessageForNotify(T data) { return getConverter(data).createRequest(); }
@Override public List<String> onSuccess(String responseBody, Map<String, String> responseHeaders, String resolvedExtensionVersion) { return messageHandlerMap.get(resolvedExtensionVersion).responseMessageForNotificationsInterestedIn(responseBody); } });
@Override public Result onSuccess(String responseBody, Map<String, String> responseHeaders, String resolvedExtensionVersion) { return messageHandlerMap.get(resolvedExtensionVersion).responseMessageForNotify(responseBody); } });
@Override public String requestBody(String resolvedExtensionVersion) { return messageHandlerMap.get(resolvedExtensionVersion).requestMessageForNotify(data); }
public void registerPluginInterests(String pluginId, List<String> notificationNames) { if (notificationNames != null && !notificationNames.isEmpty()) { for (String notificationName : notificationNames) { addToMap(notificationName, pluginId); } } }
private void registerHandlers(String version, PluginSettingsJsonMessageHandler pluginSettingsJsonMessageHandler, JsonMessageHandler jsonMessageHandler) { registerHandler(version, pluginSettingsJsonMessageHandler); messageHandlerMap.put(version, jsonMessageHandler); }
public NotificationPluginInfo pluginInfoFor(GoPluginDescriptor descriptor) { PluggableInstanceSettings pluggableInstanceSettings = getPluginSettingsAndView(descriptor, extension); return new NotificationPluginInfo(descriptor, pluggableInstanceSettings); }
@After public void tearDown() { notificationPluginRegistry.clear(); }
@Test public void shouldNotUnregisterPluginInterestsOnPluginUnLoadIfPluginIsNotOfNotificationType() { NotificationPluginRegistrar notificationPluginRegistrar = new NotificationPluginRegistrar(pluginManager, notificationExtension, notificationPluginRegistry); notificationPluginRegistrar.pluginUnLoaded(new GoPluginDescriptor(PLUGIN_ID_4, null, null, null, null, true)); verify(notificationPluginRegistry, never()).removePluginInterests(PLUGIN_ID_4); }
private boolean isAnyPluginInterestedInStageStatus() { return notificationPluginRegistry.isAnyPluginInterestedIn(NotificationExtension.STAGE_STATUS_CHANGE_NOTIFICATION); }