private static Map<String, AdminFormValues> getNotificationsMap(PluginSettings pluginSettings) { final Map<String, AdminFormValues> allNotificationsMap = newTreeMap(); for (final AdminFormValues a : getSettingsAsFormValues(pluginSettings)) { if (tryFind(a, predicate(FORM_IDENTIFIER.name())).isPresent()) { allNotificationsMap.put(find(a, predicate(FORM_IDENTIFIER.name())).get(VALUE), a); } } return allNotificationsMap; }
public static void injectFormIdentifierIfNotSet(final AdminFormValues config) { final Optional<Map<String, String>> formIdOpt = tryFind(config, predicate(FORM_IDENTIFIER.name())); if (!formIdOpt.isPresent() || formIdOpt.get().get(VALUE).trim().isEmpty()) { final String generatedIdentifier = formIdentifierGnerator(); removeIf(config, predicate(FORM_IDENTIFIER.name())); config.add( new ImmutableMap.Builder<String, String>() .put(NAME, FORM_IDENTIFIER.name()) .put(VALUE, generatedIdentifier) .build()); } }
private static void storeNotificationsMap( PluginSettings pluginSettings, Map<String, AdminFormValues> allNotificationsMap) throws ValidationException { final List<String> toStore = newArrayList(); for (final AdminFormValues adminFormValues : allNotificationsMap.values()) { final Optional<Map<String, String>> formIdOpt = tryFind(adminFormValues, predicate(FORM_IDENTIFIER.name())); if (!formIdOpt.isPresent() || formIdOpt.get().get(VALUE).trim().isEmpty()) { throw new ValidationException(FORM_IDENTIFIER.name(), "Not set!"); } toStore.add(new Gson().toJson(adminFormValues)); } pluginSettings.put(STORAGE_KEY, toStore); }
public static void storeSettings(PluginSettings pluginSettings, final AdminFormValues config) throws ValidationException { injectFormIdentifierIfNotSet(config); final Map<String, AdminFormValues> allNotificationsMap = getNotificationsMap(pluginSettings); allNotificationsMap.put(find(config, predicate(FORM_IDENTIFIER.name())).get(VALUE), config); storeNotificationsMap(pluginSettings, allNotificationsMap); }
public static PrnfbButton getPrnfbButton(AdminFormValues adminFormValues) throws ValidationException { final Optional<Map<String, String>> titleOpt = tryFind(adminFormValues, predicate(button_title.name())); String title = "Trigger Notification"; if (titleOpt.isPresent()) { title = titleOpt.get().get(VALUE); } final Optional<Map<String, String>> visibilityOpt = tryFind(adminFormValues, predicate(button_visibility.name())); BUTTON_VISIBILITY visibility = NONE; if (visibilityOpt.isPresent()) { visibility = BUTTON_VISIBILITY.valueOf(visibilityOpt.get().get(VALUE)); } return new PrnfbButton( title, visibility, find(adminFormValues, predicate(FORM_IDENTIFIER.name())).get(VALUE)); }