public void addPersistenceService(PersistenceService service) { if (service instanceof QueryablePersistenceService) { persistenceServices.put(service.getId(), (QueryablePersistenceService) service); } }
@Override public Collection<ParameterOption> getParameterOptions(URI uri, String param, Locale locale) { if (uri.toString().equals("system:persistence") && param.equals("default")) { Set<ParameterOption> options = new HashSet<>(); for (PersistenceService service : getAll()) { options.add(new ParameterOption(service.getId(), service.getLabel(locale))); } return options; } return null; }
/** * Calls all persistence services which use change or update policy for the given item * * @param item the item to persist * @param onlyChanges true, if it has the change strategy, false otherwise */ private void handleStateEvent(Item item, boolean onlyChanges) { synchronized (persistenceServiceConfigs) { for (Entry<String, PersistenceServiceConfiguration> entry : persistenceServiceConfigs.entrySet()) { final String serviceName = entry.getKey(); final PersistenceServiceConfiguration config = entry.getValue(); if (persistenceServices.containsKey(serviceName)) { for (SimpleItemConfiguration itemConfig : config.getConfigs()) { if (hasStrategy(serviceName, itemConfig, onlyChanges ? SimpleStrategy.Globals.CHANGE : SimpleStrategy.Globals.UPDATE)) { if (appliesToItem(itemConfig, item)) { persistenceServices.get(serviceName).store(item, itemConfig.getAlias()); } } } } } } }
@Override public Collection<ParameterOption> getParameterOptions(URI uri, String param, Locale locale) { if (uri.toString().equals("system:persistence") && param.equals("default")) { Set<ParameterOption> options = new HashSet<>(); for (PersistenceService service : getAll()) { options.add(new ParameterOption(service.getId(), service.getLabel(locale))); } return options; } return null; }
@Override public void run() { synchronized (manager.persistenceServiceConfigs) { final PersistenceService persistenceService = manager.persistenceServices.get(dbId); final PersistenceServiceConfiguration config = manager.persistenceServiceConfigs.get(dbId); if (persistenceService != null) { for (SimpleItemConfiguration itemConfig : config.getConfigs()) { if (hasStrategy(config.getDefaults(), itemConfig, strategyName)) { for (Item item : manager.getAllItems(itemConfig)) { long startTime = System.nanoTime(); persistenceService.store(item, itemConfig.getAlias()); logger.trace("Storing item '{}' with persistence service '{}' took {}ms", item.getName(), dbId, TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startTime)); } } } } } }
public void removePersistenceService(PersistenceService service) { persistenceServices.remove(service.getId()); }
/** * Gets a list of persistence services currently configured in the system * * @return list of persistence services as {@link ServiceBean} */ private List<PersistenceServiceDTO> getPersistenceServiceList(Locale locale) { List<PersistenceServiceDTO> dtoList = new ArrayList<PersistenceServiceDTO>(); for (PersistenceService service : persistenceServiceRegistry.getAll()) { PersistenceServiceDTO serviceDTO = new PersistenceServiceDTO(); serviceDTO.id = service.getId(); serviceDTO.label = service.getLabel(locale); if (service instanceof ModifiablePersistenceService) { serviceDTO.type = MODIFYABLE; } else if (service instanceof QueryablePersistenceService) { serviceDTO.type = QUERYABLE; } else { serviceDTO.type = STANDARD; } dtoList.add(serviceDTO); } return dtoList; }
/** * Calls all persistence services which use change or update policy for the given item * * @param item the item to persist * @param onlyChanges true, if it has the change strategy, false otherwise */ private void handleStateEvent(Item item, boolean onlyChanges) { synchronized (persistenceServiceConfigs) { for (Entry<String, PersistenceServiceConfiguration> entry : persistenceServiceConfigs.entrySet()) { final String serviceName = entry.getKey(); final PersistenceServiceConfiguration config = entry.getValue(); if (persistenceServices.containsKey(serviceName)) { for (SimpleItemConfiguration itemConfig : config.getConfigs()) { if (hasStrategy(serviceName, itemConfig, onlyChanges ? SimpleStrategy.Globals.CHANGE : SimpleStrategy.Globals.UPDATE)) { if (appliesToItem(itemConfig, item)) { persistenceServices.get(serviceName).store(item, itemConfig.getAlias()); } } } } } } }
public void removePersistenceService(PersistenceService service) { services.remove(service.getId()); }
@Override public void run() { synchronized (manager.persistenceServiceConfigs) { final PersistenceService persistenceService = manager.persistenceServices.get(dbId); final PersistenceServiceConfiguration config = manager.persistenceServiceConfigs.get(dbId); if (persistenceService != null) { for (SimpleItemConfiguration itemConfig : config.getConfigs()) { if (hasStrategy(config.getDefaults(), itemConfig, strategyName)) { for (Item item : manager.getAllItems(itemConfig)) { long startTime = System.nanoTime(); persistenceService.store(item, itemConfig.getAlias()); logger.trace("Storing item '{}' with persistence service '{}' took {}ms", item.getName(), dbId, TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startTime)); } } } } } }
public void removePersistenceService(PersistenceService service) { services.remove(service.getId()); }
@Reference(cardinality = ReferenceCardinality.MULTIPLE, policy = ReferencePolicy.DYNAMIC) public void addPersistenceService(PersistenceService service) { services.put(service.getId(), service); }
@Reference(cardinality = ReferenceCardinality.MULTIPLE, policy = ReferencePolicy.DYNAMIC) public void addPersistenceService(PersistenceService service) { services.put(service.getId(), service); }
@Reference(cardinality = ReferenceCardinality.MULTIPLE, policy = ReferencePolicy.DYNAMIC) protected void addPersistenceService(PersistenceService persistenceService) { logger.debug("Initializing {} persistence service.", persistenceService.getId()); persistenceServices.put(persistenceService.getId(), persistenceService); stopEventHandling(persistenceService.getId()); startEventHandling(persistenceService.getId()); }
@Reference(cardinality = ReferenceCardinality.MULTIPLE, policy = ReferencePolicy.DYNAMIC) protected void addPersistenceService(PersistenceService persistenceService) { logger.debug("Initializing {} persistence service.", persistenceService.getId()); persistenceServices.put(persistenceService.getId(), persistenceService); if (started) { stopEventHandling(persistenceService.getId()); startEventHandling(persistenceService.getId()); } }