use of javax.enterprise.event.Event in project indy by Commonjava.
the class DefaultStoreEventDispatcher method deleted.
@Override
public void deleted(final EventMetadata eventMetadata, final ArtifactStore... stores) {
if (postDelEvent != null) {
final List<StoreKey> storeList = Arrays.asList(stores).stream().map(store -> store.getKey()).collect(Collectors.toList());
logger.trace("Dispatch post-delete event for: {}", storeList);
executor.execute(() -> {
String oldName = Thread.currentThread().getName();
try {
Thread.currentThread().setName("POST-DELETE-EVENT: " + storeList);
final Map<ArtifactStore, Transfer> storeRoots = new HashMap<>();
for (final ArtifactStore store : stores) {
if (store == null) {
continue;
}
final Transfer root = fileManager.getStoreRootDirectory(store);
storeRoots.put(store, root);
}
final ArtifactStoreDeletePostEvent event = new ArtifactStoreDeletePostEvent(eventMetadata, storeRoots);
fireEvent(postDelEvent, event);
} finally {
if (oldName != null) {
Thread.currentThread().setName(oldName);
}
}
});
}
}
use of javax.enterprise.event.Event in project kie-wb-common by kiegroup.
the class LibraryFileUpdateNotifier method onBatchIndexEvent.
public void onBatchIndexEvent(@Observes final BatchIndexEvent event) {
event.getIndexEvents().stream().flatMap(evt -> {
switch(evt.getKind()) {
case Deleted:
return Stream.of(((IndexEvent.DeletedEvent) evt).getDeleted().getKey());
case NewlyIndexed:
return Stream.of(((IndexEvent.NewlyIndexedEvent) evt).getKObject().getKey());
case Renamed:
return Stream.of(((IndexEvent.RenamedEvent) evt).getTarget().getKey());
default:
return Stream.empty();
}
}).map(pathStr -> {
final Path path = getPath(pathStr);
final WorkspaceProject project = workspaceProjectService.resolveProject(convertPath(path));
final String repositoryId = project.getRepository().getIdentifier();
final String branchName = (path instanceof JGitPathImpl) ? ((JGitPathImpl) path).getRefTree() : null;
return new RepositoryFileListUpdatedEvent(repositoryId, branchName);
}).distinct().forEach(repositoryFileListUpdatedEvent::fire);
}
use of javax.enterprise.event.Event in project kie-wb-common by kiegroup.
the class LibraryAssetUpdateNotifier method notifyOnUpdatedAssets.
public void notifyOnUpdatedAssets(@Observes @Named(Constants.INDEXER_ID) BatchIndexEvent event) {
if (!isUpdateNotifierEnabled()) {
return;
}
// Assume that all indexed items are from the same project.
event.getIndexEvents().stream().flatMap(evt -> {
switch(evt.getKind()) {
case Deleted:
return Stream.of(((DeletedEvent) evt).getDeleted().getKey());
case NewlyIndexed:
return Stream.of(((NewlyIndexedEvent) evt).getKObject().getKey());
case Renamed:
return Stream.of(((RenamedEvent) evt).getTarget().getKey());
default:
return Stream.empty();
}
}).map(path -> org.uberfire.java.nio.file.Paths.get(path)).filter(path -> libraryIndexer.supportsPath(path)).flatMap(path -> {
try {
WorkspaceProject project = projectService.resolveProject(Paths.convert(path));
return (project == null) ? Stream.empty() : Stream.of(project);
} catch (Throwable t) {
return Stream.empty();
}
}).map(project -> new ProjectAssetListUpdated(project)).findFirst().ifPresent(clientEvent -> {
logger.info("Sending indexing notification for project [{}].", clientEvent.getProject().getRepository().getIdentifier());
assetListUpdateEvent.fire(clientEvent);
});
}
use of javax.enterprise.event.Event in project kie-wb-common by kiegroup.
the class ModuleSaverTest method testGavBasedPackagesSanitized.
@Test
public void testGavBasedPackagesSanitized() throws IOException {
String unsanitizedId = "hyphs-and.int.123";
String sanitizedPkgStructure = "hyphs_and/_int/_23/hyphs_and/_int/_23";
POM pom = new POM();
pom.setName("gavBassedPackagesTest");
pom.getGav().setGroupId(unsanitizedId);
pom.getGav().setArtifactId(unsanitizedId);
pom.getGav().setVersion(VERSION);
ArgumentCaptor<Event> eventCaptor = ArgumentCaptor.forClass(Event.class);
doNothing().when(newPackageEvent).fire((NewPackageEvent) eventCaptor.capture());
when(resourceResolver.newPackage(Mockito.<org.guvnor.common.services.project.model.Package>any(), Mockito.<String>any(), Mockito.anyBoolean())).thenAnswer(new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
org.guvnor.common.services.project.model.Package pkg = mock(org.guvnor.common.services.project.model.Package.class);
when(pkg.getRelativeCaption()).thenReturn((String) invocation.getArguments()[1]);
return pkg;
}
});
runProjecCreationTest(pom);
assertEquals(sanitizedPkgStructure, ((NewPackageEvent) eventCaptor.getValue()).getPackage().getRelativeCaption());
}
Aggregations