private EventBus.Subscription getChangeEventSubscription() { return (event, data) -> { // Never do anything that could block in this callback! if (event!=null && "change-event".equals(event)) { try { ChangeEvent changeEvent = Json.mapper().readValue(data, ChangeEvent.class); if (changeEvent != null) { changeEvent.getId().ifPresent(id -> { changeEvent.getKind() .map(Kind::from) .filter(k -> k == Kind.IntegrationDeployment) .ifPresent(k -> { checkIntegrationStatusIfNotAlreadyInProgress(id); }); }); } } catch (IOException e) { LOG.error("Error while subscribing to change-event {}", data, e); } } }; }
private <T extends WithId<T>> void importModels(JsonDbDao<T> export, ArrayList<ChangeEvent> result) { for (T item : export.fetchAll().getItems()) { Kind kind = item.getKind(); String id = item.getId().get(); if (dataManager.fetch(export.getType(), id) == null) { dataManager.create(item); if( kind == Kind.Connection ) { connectionHandler.updateBulletinBoard(id); } result.add(ChangeEvent.of("created", kind.getModelName(), id)); } } }
private void importIntegrations(SecurityContext sec, JsonDbDao<Integration> export, ArrayList<ChangeEvent> result) { for (Integration integration : export.fetchAll().getItems()) { Integration.Builder builder = new Integration.Builder() .createFrom(integration) .isDeleted(false) .updatedAt(System.currentTimeMillis()); // Do we need to create it? String id = integration.getId().get(); Integration previous = dataManager.fetch(Integration.class, id); if (previous == null) { LOG.info("Creating integration: {}", integration.getName()); integrationHandler.create(sec, builder.build()); result.add(ChangeEvent.of("created", integration.getKind().getModelName(), id)); } else { LOG.info("Updating integration: {}", integration.getName()); integrationHandler.update(id, builder.version(previous.getVersion()+1).build()); result.add(ChangeEvent.of("updated", integration.getKind().getModelName(), id)); } integrationHandler.updateBulletinBoard(id); break; } }
private EventBus.Subscription getChangeEventSubscription() { return (event, data) -> { // Never do anything that could block in this callback! if (event!=null && "change-event".equals(event)) { try { ChangeEvent changeEvent = Json.reader().forType(ChangeEvent.class).readValue(data); if (changeEvent != null) { changeEvent.getId().ifPresent(id -> { changeEvent.getKind() .map(Kind::from) .filter(k -> k == Kind.IntegrationDeployment) .ifPresent(k -> { checkIntegrationStatusIfNotAlreadyInProgress(id); }); }); } } catch (IOException e) { LOG.error("Error while subscribing to change-event {}", data, e); } } }; }