static PendingEnrichment newInstance(final URI repositoryLocation, final String branchName, final String commitId) { return new PendingEnrichment(repositoryLocation,branchName,commitId); }
private void dumpPendingEnrichments(final List<PendingEnrichment> pendingEnrichments) { Consoles.defaultConsole().printf("- Pending enrichments (%d):%n",pendingEnrichments.size()); for(final PendingEnrichment pendingEnrichment:pendingEnrichments) { Consoles.defaultConsole().printf(" + Pending enrichment [%04d]:%n",pendingEnrichment.id()); Consoles.defaultConsole().printf(" * Repository location: %s%n",pendingEnrichment.repositoryLocation()); Consoles.defaultConsole().printf(" * Branch name........: %s%n",pendingEnrichment.branchName()); Consoles.defaultConsole().printf(" * Commit identifier..: %s%n",pendingEnrichment.commitId()); Consoles.defaultConsole().printf(" * Executions (%d): %n",pendingEnrichment.executions().size()); for(final URI execution:pendingEnrichment.executions()) { Consoles.defaultConsole().printf(" - %s%n",execution); } } }
private void processPendingEnrichment(final EnrichmentContext context) { final PendingEnrichment pending=this.pendingRepository.pendingEnrichmentOfExecution(context.targetExecution().executionId()); if(pending!=null) { LOGGER.trace("{} enrichment request is already being undertaken by pending enrichment #{}",context,pending.id()); return; } final List<PendingEnrichment> potentialEnrichments=this.pendingRepository.findPendingEnrichments(context.repositoryLocation(),context.branchName(),context.commitId()); if(!potentialEnrichments.isEmpty()) { final PendingEnrichment delegate = potentialEnrichments.get(0); delegate.executions().add(context.targetExecution().executionId()); LOGGER.trace("{} enrichment request joins to pending enrichment #{}",context,delegate.id()); return; } final PendingEnrichment newPending=PendingEnrichment.newInstance(context.repositoryLocation(),context.branchName(),context.commitId()); newPending.executions().add(context.targetExecution().executionId()); this.pendingRepository.add(newPending); LOGGER.trace("{} creates {}",context,newPending); context.setPendingEnrichment(newPending); this.requestor.enqueueRequest(context); }
private void processExecutionEnrichment(final EnrichmentContext context, final ExecutionEnrichment enrichment) { final PendingEnrichment pendingEnrichment=this.pendingRepository.pendingEnrichmentOfId(context.pendingEnrichment().id()); if(pendingEnrichment==null) { LOGGER.info("Discarding enrichment {}: pending enrichment does not exist",enrichment); processCompletedEnrichment(freshContext,pendingEnrichment.executions());
private void finalizePendingEnrichment(final PendingEnrichment pendingEnrichment) { this.pendingRepository.remove(pendingEnrichment); for(final URI executionId:pendingEnrichment.executions()) { final EntityLifecycleEvent event = EntityLifecycleEvent. newInstance(EntityType.EXECUTION,State.ENRICHED,executionId); final EntityLifecycleEventNotification notification=new EntityLifecycleEventNotification(event); this.listeners.notify(notification); } }