@Override public <H extends EventHandler> void fireEvent(Event<H> event) { wrapped.fireEvent(event); }
@Override public synchronized <H extends EventHandler> HandlerRegistration addHandler(Class<? extends Event<H>> eventClass, H handler) { final HandlerRegistration registration = wrapped.addHandler(eventClass, handler); registrations.add(registration); return new HandlerRegistration() { @Override public void removeHandler() { synchronized (ResettableEventBus.this) { registration.removeHandler(); registrations.remove(registration); } } }; }
@Test public void appLauncherLayoutChangedEventHandler() { DefinitionMetadata appMetadata1 = getDefinitionMetadata(appDescriptor1); DefinitionMetadata appMetadata2 = getDefinitionMetadata(appDescriptor2); DefinitionMetadata appMetadata3 = getDefinitionMetadata(appDescriptor3); final ArrayList<AppLauncherLayoutChangedEvent> events = new ArrayList<AppLauncherLayoutChangedEvent>(); systemEventBus.addHandler(AppLauncherLayoutChangedEvent.class, event -> events.add(event)); // WHEN systemEventBus.fireEvent(new AppRegistryEvent(appMetadata1, AppRegistryEventType.REGISTERED)); systemEventBus.fireEvent(new AppRegistryEvent(appMetadata2, AppRegistryEventType.REREGISTERED)); systemEventBus.fireEvent(new AppRegistryEvent(appMetadata3, AppRegistryEventType.UNREGISTERED)); // THEN assertThat(events, hasSize(3)); }
protected void goToWithoutChecks(Location newLocation) { this.where = newLocation; eventBus.fireEvent(new LocationChangedEvent(newLocation)); } }
@Inject public VirtualURIManager(ModuleRegistry moduleRegistry, Node2BeanProcessor nodeToBean, @Named(SystemEventBus.NAME) EventBus systemEventBus) { super("virtualURIMapping", moduleRegistry); this.nodeToBean = nodeToBean; if (systemEventBus != null) { systemEventBus.addHandler(ModulesStartedEvent.class, new ModulesStartedEvent.Handler() { @Override public void onModuleStartupCompleted(ModulesStartedEvent event) { VirtualURIManager.this.start(); } }); } }
/** * Send an event to the system event bus. */ private void sendEvent(AppRegistryEventType eventType, Collection<DefinitionMetadata> appDescriptors) { for (DefinitionMetadata appMetadata : appDescriptors) { systemEventBus.fireEvent(new AppRegistryEvent(appMetadata, eventType)); } } }
@Inject public LocalTaskDispatcherManager(@Named(SystemEventBus.NAME) final EventBus systemEventBus, Provider<SecuritySupport> securitySupport) { this.securitySupport = securitySupport; systemEventBus.addHandler(TaskEvent.class, this); }
@Override protected void onPostExecute() throws Exception { // Propagate event eventBus.fireEvent(new ContentChangedEvent(itemIdOfChangedItem)); }
@Inject public CacheModule(CacheMonitor cacheMonitor, @Named(SystemEventBus.NAME) EventBus systemEventBus) { super(cacheMonitor); systemEventBus.addHandler(ModulesStartedEvent.class, new ModulesStartedEvent.Handler() { @Override public void onModuleStartupCompleted(ModulesStartedEvent event) { start(); } }); }
private void sendEvent(AppLifecycleEventType appEventType, AppDescriptor appDescriptor) { eventBus.fireEvent(new AppLifecycleEvent(appDescriptor, appEventType)); }
@Inject public AppControllerImpl(ComponentProvider componentProvider, AppDescriptorRegistry appDescriptorRegistry, LocationController locationController, @Named(AdmincentralEventBus.NAME) EventBus admincentralEventBus, MessagesManager messagesManager, SimpleTranslator i18n, Context context) { this.componentProvider = componentProvider; this.appDescriptorRegistry = appDescriptorRegistry; this.locationController = locationController; this.eventBus = admincentralEventBus; this.messagesManager = messagesManager; this.i18n = i18n; this.user = context.getUser(); admincentralEventBus.addHandler(LocationChangedEvent.class, this); admincentralEventBus.addHandler(LocationChangeRequestedEvent.class, this); admincentralEventBus.addHandler(CloseAppEvent.class, this); }
@Override public void setLayout(AppLauncherLayoutDefinition layout) { this.layoutDefinitionReference.set(i18nizerProvider.get().decorate(layout)); log.debug("Sending AppLauncherLayoutChangedEvent on the system bus"); appPermissionsCache.invalidateAll(); systemEventBus.fireEvent(new AppLauncherLayoutChangedEvent()); }
@Inject public CommandsManager(ModuleRegistry moduleRegistry, Node2BeanProcessor nodeToBean, @Named(SystemEventBus.NAME) EventBus systemEventBus) { super("commands", moduleRegistry); this.nodeToBean = nodeToBean; this.commandTransformer = new CommandTransformer(); systemEventBus.addHandler(ModulesStartedEvent.class, new ModulesStartedEvent.Handler() { @Override public void onModuleStartupCompleted(ModulesStartedEvent event) { CommandsManager.this.start(); } }); }
@Override public void removeDecorator(DefinitionDecorator<EndpointDefinition> decorator) { Optional<DefinitionProvider<EndpointDefinition>> targetProvider = getAllProviders().stream() .filter(decorator::appliesTo) .findFirst(); super.removeDecorator(decorator); targetProvider.ifPresent(provider -> systemEventBus.fireEvent(new EndpointDefinitionRegistryEvent(REREGISTERED, provider))); }
/** * Initialize this location history handler. */ public HandlerRegistration register(LocationController locationController, EventBus eventBus, Location defaultLocation) { this.locationController = locationController; this.defaultLocation = defaultLocation; shell.addFragmentChangedHandler(new FragmentChangedHandler() { @Override public void onFragmentChanged(FragmentChangedEvent event) { String fragment = event.getFragment(); log.debug("fragmentChanged with fragment {}", fragment); handleFragment(fragment); } }); return eventBus.addHandler(LocationChangedEvent.class, new LocationChangedEvent.Handler() { @Override public void onLocationChanged(LocationChangedEvent event) { log.debug("onLocationChanged..."); Location newLocation = event.getNewLocation(); shell.setFragment(fragmentForLocation(newLocation)); } }); }
@Override public Set<DefinitionMetadata> unregisterAndRegister(Collection<DefinitionMetadata> toRemoveIds, Collection<DefinitionProvider<EndpointDefinition>> definitionProviders) { Set<DefinitionMetadata> registeredIds = super.unregisterAndRegister(toRemoveIds, definitionProviders); toRemoveIds.stream() .filter(metadata -> !registeredIds.contains(metadata)) .map(DefinitionMetadata::getReferenceId) .forEach(referenceId -> systemEventBus.fireEvent(new EndpointDefinitionRegistryEvent(UNREGISTERED, referenceId))); definitionProviders.stream() .filter(provider -> toRemoveIds.contains(provider.getMetadata())) .filter(provider -> registeredIds.contains(provider.getMetadata())) .forEach(provider -> systemEventBus.fireEvent(new EndpointDefinitionRegistryEvent(REREGISTERED, provider))); definitionProviders.stream() .filter(provider -> !toRemoveIds.contains(provider.getMetadata())) .filter(provider -> registeredIds.contains(provider.getMetadata())) .forEach(provider -> systemEventBus.fireEvent(new EndpointDefinitionRegistryEvent(REGISTERED, provider))); return registeredIds; }
@Inject public UploadAssetActionRenderer(UiContext layer, SimpleTranslator i18n, @Named(ChooseDialogEventBus.NAME)EventBus eventBus) { this.layer = layer; this.i18n = i18n; receiver = Components.newInstance(AssetUploadReceiver.class, i18n); eventBus.addHandler(SelectionChangedEvent.class, new SelectionChangedEvent.Handler() { @Override public void onSelectionChanged(SelectionChangedEvent event) { Set<Object> itemIds = event.getItemIds(); if (itemIds == null || itemIds.isEmpty()) { return; } try { JcrNodeItemId nodeItemId = (JcrNodeItemId) itemIds.iterator().next(); javax.jcr.Node node = MgnlContext.getJCRSession(nodeItemId.getWorkspace()).getNodeByIdentifier(nodeItemId.getUuid()); boolean uploadAllowed = itemIds.size() == 1; if (uploadAllowed) { uploadAllowed = NodeUtil.isNodeType(node, NodeTypes.Folder.NAME) || NodeUtil.getAncestors(node).isEmpty(); // Upload is allowed only if user has WRITE permission on child path which is intended to create (checking "untitled" as default) under the current path. uploadAllowed &= PermissionUtil.isGranted(node, Permission.WRITE) && PermissionUtil.isGranted(node.getSession(), PathUtil.createPath(node.getPath(), AbstractRepositoryAction.DEFAULT_NEW_ITEM_NAME), Permission.WRITE); } upload.setEnabled(uploadAllowed); } catch (RepositoryException e) { upload.setEnabled(false); } } }); }
@Override public void addDecorator(DefinitionDecorator<EndpointDefinition> decorator) { super.addDecorator(decorator); Optional<DefinitionProvider<EndpointDefinition>> targetProvider = getAllProviders().stream() .filter(decorator::appliesTo) .findFirst(); if (targetProvider.isPresent()) { systemEventBus.fireEvent(new EndpointDefinitionRegistryEvent(REREGISTERED, targetProvider.get())); } else { //provided decorator cannot be applied to any provider. super.removeDecorator(decorator); } }
systemEventBus.addHandler(AppRegistryEvent.class, new AppRegistryEventHandler() {
/** * Sends an event on the system event bus. */ private void logAndSendChangedEvent(AppRegistryEvent event) { String name = event.getAppDescriptorMetadata().getName(); log.debug("Got AppRegistryEvent." + event.getEventType() + " for app: " + name); appPermissionsCache.invalidateAll(); systemEventBus.fireEvent(new AppLauncherLayoutChangedEvent()); log.debug("Sending AppLauncherLayoutChangedEvent on the system bus"); } });