@Override public void delete(String name, Collection<String> instances) { Preconditions.checkNotNull(name); if (instances == null || instances.isEmpty()) { return; } doLookup(); ConfigChanges changes = notificationManager.deleted(name, instances); Collection<Bean> beans = beanManager.delete(name, instances); schemaManager.setSchema(beans); if (cacheManager.isPresent()) { cacheManager.get().remove(name, instances); } notificationManager.fire(changes); }
/** * Fire a notification for a collection of beans that have been created. * * @param beans created beans */ public final void fireCreate(Collection<Bean> beans) { ConfigChanges changes = new ConfigChanges(); for (Bean bean : beans) { changes.add(ConfigChange.created(bean)); } fire(changes); }
/** * Fire a notification for a collection of beans that have been deleted. * * @param beans deleted beans */ public final void fireDelete(List<Bean> beans) { ConfigChanges changes = new ConfigChanges(); for (Bean bean : beans) { changes.add(ConfigChange.deleted(bean)); } fire(changes); }
/** * Fire a notification for a collection of beans that have been deleted. * * @param beans deleted beans */ public final void fireDelete(List<Bean> beans) { ConfigChanges changes = new ConfigChanges(); for (Bean bean : beans) { changes.add(ConfigChange.deleted(bean)); } fire(changes); }
/** * Fire a notification for a collection of beans that have been created. * * @param beans created beans */ public final void fireCreate(Collection<Bean> beans) { ConfigChanges changes = new ConfigChanges(); for (Bean bean : beans) { changes.add(ConfigChange.created(bean)); } fire(changes); }
@Override public void merge(Collection<Bean> beans) { if (beans == null || beans.isEmpty()) { return; } doLookup(); schemaManager.setSchema(beans); schemaManager.validateSchema(beans); // ok to not have validation manager available if (validationManager.isPresent()) { validateMerge(Bean.copy(beans)); } schemaManager.setSchema(beans); ConfigChanges changes = notificationManager.updated(beans); beanManager.merge(beans); if (cacheManager.isPresent()) { for (Bean bean : beans) { // must refresh the bean from storage since it is merged. Optional<Bean> refreshed = beanManager.getEager(bean.getId()); if (refreshed.isPresent()) { cacheManager.get().put(refreshed.get()); } } } notificationManager.fire(changes); }
@Override public void set(Collection<Bean> beans) { if (beans == null || beans.isEmpty()) { return; } doLookup(); beanManager.initializeReferences(beans); schemaManager.setSchema(beans); schemaManager.validateSchema(beans); if (validationManager.isPresent()) { validateSet(Bean.copy(beans)); } schemaManager.setSchema(beans); ConfigChanges changes = notificationManager.updated(beans); beanManager.set(beans); if (cacheManager.isPresent()) { cacheManager.get().putAll(beans); } notificationManager.fire(changes); }