You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2019/05/09 17:39:35 UTC
[isis] 04/04: ISIS-2112: fixes provisioning of MetamodelEventService
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch 2112_SpringBoot
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 6d6100e5edb0b174b4e3d2c0456d26a731dcb5c8
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu May 9 19:39:25 2019 +0200
ISIS-2112: fixes provisioning of MetamodelEventService
Task-Url: https://issues.apache.org/jira/browse/ISIS-2112
---
.../events/MetamodelEventSupport_Spring.java | 111 +++++++++++++++++++++
.../context/session/RuntimeEventService.java | 8 --
2 files changed, 111 insertions(+), 8 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/events/MetamodelEventSupport_Spring.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/events/MetamodelEventSupport_Spring.java
new file mode 100644
index 0000000..f7e5b4d
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/events/MetamodelEventSupport_Spring.java
@@ -0,0 +1,111 @@
+package org.apache.isis.core.metamodel.services.events;
+
+import java.lang.annotation.Annotation;
+import java.util.concurrent.CompletionStage;
+
+import javax.enterprise.event.Event;
+import javax.enterprise.event.NotificationOptions;
+import javax.enterprise.util.TypeLiteral;
+
+import org.springframework.context.ApplicationEventPublisher;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import org.apache.isis.applib.events.domain.ActionDomainEvent;
+import org.apache.isis.applib.events.domain.CollectionDomainEvent;
+import org.apache.isis.applib.events.domain.PropertyDomainEvent;
+import org.apache.isis.applib.events.ui.CssClassUiEvent;
+import org.apache.isis.applib.events.ui.IconUiEvent;
+import org.apache.isis.applib.events.ui.LayoutUiEvent;
+import org.apache.isis.applib.events.ui.TitleUiEvent;
+import org.apache.isis.commons.internal.debug._Probe;
+
+import lombok.RequiredArgsConstructor;
+
+@Configuration
+public class MetamodelEventSupport_Spring {
+
+ @Bean
+ public Event<CssClassUiEvent<Object>> cssClassUiEvents(ApplicationEventPublisher publisher) {
+ return new SimpleEvent<CssClassUiEvent<Object>>(publisher);
+ }
+
+ @Bean
+ public Event<IconUiEvent<Object>> iconUiEvents(ApplicationEventPublisher publisher) {
+ return new SimpleEvent<IconUiEvent<Object>>(publisher);
+ }
+
+ @Bean
+ public Event<LayoutUiEvent<Object>> layoutUiEvents(ApplicationEventPublisher publisher) {
+ return new SimpleEvent<LayoutUiEvent<Object>>(publisher);
+ }
+
+ @Bean
+ public Event<TitleUiEvent<Object>> titleUiEvents(ApplicationEventPublisher publisher) {
+ return new SimpleEvent<TitleUiEvent<Object>>(publisher);
+ }
+
+ @Bean
+ public Event<ActionDomainEvent<?>> actionDomainEvents(ApplicationEventPublisher publisher) {
+ return new SimpleEvent<ActionDomainEvent<?>>(publisher);
+ }
+
+ @Bean
+ public Event<PropertyDomainEvent<?, ?>> propertyDomainEvents(ApplicationEventPublisher publisher) {
+ return new SimpleEvent<PropertyDomainEvent<?, ?>>(publisher);
+ }
+
+ @Bean
+ public Event<CollectionDomainEvent<?, ?>> collectionDomainEvents(ApplicationEventPublisher publisher) {
+ return new SimpleEvent<CollectionDomainEvent<?, ?>>(publisher);
+ }
+
+ // -- HELPER
+
+ @RequiredArgsConstructor
+ static class SimpleEvent<T> implements Event<T> {
+
+ private final ApplicationEventPublisher publisher;
+
+ _Probe probe = _Probe.unlimited().label("SimpleEvent");
+
+ @Override
+ public void fire(T event) {
+ probe.println("fire(%s)", event.getClass());
+ publisher.publishEvent(event);
+ }
+
+ @Override
+ public <U extends T> CompletionStage<U> fireAsync(U event) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public <U extends T> CompletionStage<U> fireAsync(U event, NotificationOptions options) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Event<T> select(Annotation... qualifiers) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public <U extends T> Event<U> select(Class<U> subtype, Annotation... qualifiers) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public <U extends T> Event<U> select(TypeLiteral<U> subtype, Annotation... qualifiers) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ }
+
+
+}
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/session/RuntimeEventService.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/session/RuntimeEventService.java
index e46fe39..9b7588b 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/session/RuntimeEventService.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/context/session/RuntimeEventService.java
@@ -22,7 +22,6 @@ import javax.enterprise.event.Event;
import javax.inject.Inject;
import javax.inject.Singleton;
-import org.apache.isis.applib.events.ui.CssClassUiEvent;
import org.apache.isis.applib.fixturescripts.events.FixturesInstalledEvent;
import org.apache.isis.applib.fixturescripts.events.FixturesInstallingEvent;
import org.apache.isis.core.runtime.system.session.IsisSession;
@@ -77,13 +76,6 @@ public class RuntimeEventService {
public void fireFixturesInstalled(FixturesInstalledEvent fixturesInstalledEvent) {
fixturesInstalledEvents.fire(fixturesInstalledEvent);
}
-
- // -- METAMODEL EVENTS
-
- public void fireCssClassUiEvent(CssClassUiEvent<Object> cssClassUiEvent) {
- // TODO Auto-generated method stub
-
- }
}