You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2013/04/03 18:46:08 UTC
git commit: ISIS-377: added EventType to EventMetadata;
renamed "ChangedObject..." to "ObjectChanged..."
Updated Branches:
refs/heads/master c392f8f2c -> 62f7ab153
ISIS-377: added EventType to EventMetadata; renamed "ChangedObject..." to "ObjectChanged..."
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/62f7ab15
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/62f7ab15
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/62f7ab15
Branch: refs/heads/master
Commit: 62f7ab153d617ddc15b7ea073592a7e0594c1b4e
Parents: c392f8f
Author: Dan Haywood <da...@apache.org>
Authored: Wed Apr 3 17:29:50 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Wed Apr 3 17:29:50 2013 +0100
----------------------------------------------------------------------
.../jdo/applib/service/publish/PublishedEvent.java | 83 ++++++++++++---
.../service/publish/PublishingServiceJdo.java | 25 +++--
.../RestfulObjectsSpecEventSerializer.java | 1 +
.../applib/services/publish/EventMetadata.java | 7 +-
.../publish/EventPayloadForActionInvocation.java | 5 +-
.../publish/EventPayloadForChangedObject.java | 37 -------
.../publish/EventPayloadForObjectChanged.java | 37 +++++++
.../applib/services/publish/EventSerializer.java | 9 ++-
.../isis/applib/services/publish/EventType.java | 6 +
.../applib/services/publish/ObjectStringifier.java | 2 +-
.../services/publish/EventMetadataTest_getId.java | 3 +-
.../system/transaction/IsisTransaction.java | 9 +-
.../system/transaction/IsisTransactionManager.java | 6 +-
.../dom/todo/ToDoItemChangedPayloadFactory.java | 4 +-
.../viewer-webapp/pom.xml | 9 --
15 files changed, 160 insertions(+), 83 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/62f7ab15/component/objectstore/jdo/jdo-applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishedEvent.java
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/jdo-applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishedEvent.java b/component/objectstore/jdo/jdo-applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishedEvent.java
index edc1ee1..cdfed2f 100644
--- a/component/objectstore/jdo/jdo-applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishedEvent.java
+++ b/component/objectstore/jdo/jdo-applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishedEvent.java
@@ -3,13 +3,19 @@ package org.apache.isis.objectstore.jdo.applib.service.publish;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.Persistent;
+import org.apache.isis.applib.DomainObjectContainer;
+import org.apache.isis.applib.annotation.ActionSemantics;
+import org.apache.isis.applib.annotation.Bulk;
import org.apache.isis.applib.annotation.Hidden;
import org.apache.isis.applib.annotation.Immutable;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.MultiLine;
+import org.apache.isis.applib.annotation.NotInServiceMenu;
import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.applib.annotation.Title;
import org.apache.isis.applib.annotation.Where;
+import org.apache.isis.applib.annotation.ActionSemantics.Of;
+import org.apache.isis.applib.services.publish.EventType;
@javax.jdo.annotations.PersistenceCapable(identityType=IdentityType.APPLICATION)
@javax.jdo.annotations.Queries( {
@@ -17,9 +23,6 @@ import org.apache.isis.applib.annotation.Where;
name="publishedevent_of_state", language="JDOQL",
value="SELECT FROM org.apache.isis.objectstore.jdo.applib.service.publish.PublishedEvent WHERE state == :state ORDER BY timestamp")
})
-//@javax.jdo.annotations.Indices({
-// @javax.jdo.annotations.Index(members={"timestamp,transactionId,sequence"})
-//})
@Immutable
public class PublishedEvent {
@@ -104,18 +107,50 @@ public class PublishedEvent {
// }}
- // {{ User (property)
- private String user;
+ // {{ EventType (property)
+ private EventType eventType;
@MemberOrder(sequence = "3")
+ public EventType getEventType() {
+ return eventType;
+ }
+
+ public void setEventType(final EventType eventType) {
+ this.eventType = eventType;
+ }
+ // }}
+
+
+ // {{ User (property)
+ private String user;
+
+ @MemberOrder(sequence = "4")
public String getUser() {
return user;
}
-
+
public void setUser(final String user) {
this.user = user;
}
// }}
+
+
+ // {{ State (property)
+ private State state;
+
+ @MemberOrder(sequence = "5")
+ public State getState() {
+ return state;
+ }
+
+ public void setState(final State state) {
+ this.state = state;
+ }
+ private PublishedEvent setStateAndReturn(State state) {
+ setState(state);
+ return this;
+ }
+ // }}
// {{ SerializedForm (property)
@@ -124,7 +159,7 @@ public class PublishedEvent {
@MultiLine(numberOfLines=20)
@Hidden(where=Where.ALL_TABLES)
- @MemberOrder(sequence = "5")
+ @MemberOrder(sequence = "6")
public String getSerializedForm() {
return serializedForm;
}
@@ -134,17 +169,37 @@ public class PublishedEvent {
}
// }}
- // {{ State (property)
- private State state;
+ @Bulk
+ @ActionSemantics(Of.IDEMPOTENT)
+ @MemberOrder(sequence="10")
+ public PublishedEvent processed() {
+ return setStateAndReturn(State.PROCESSED);
+ }
- @MemberOrder(sequence = "4")
- public State getState() {
- return state;
+
+ @Bulk
+ @ActionSemantics(Of.IDEMPOTENT)
+ @MemberOrder(sequence="11")
+ public PublishedEvent reQueue() {
+ return setStateAndReturn(State.QUEUED);
}
- public void setState(final State state) {
- this.state = state;
+ @Bulk
+ @MemberOrder(sequence="12")
+ public void delete() {
+ container.removeIfNotAlready(this);
+ }
+
+
+ // {{ injected: DomainObjectContainer
+ private DomainObjectContainer container;
+
+ public void setDomainObjectContainer(final DomainObjectContainer container) {
+ this.container = container;
}
// }}
+
+
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/62f7ab15/component/objectstore/jdo/jdo-applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishingServiceJdo.java
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/jdo-applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishingServiceJdo.java b/component/objectstore/jdo/jdo-applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishingServiceJdo.java
index f2a45b8..898d5e0 100644
--- a/component/objectstore/jdo/jdo-applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishingServiceJdo.java
+++ b/component/objectstore/jdo/jdo-applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/publish/PublishingServiceJdo.java
@@ -5,8 +5,10 @@ import java.util.List;
import org.apache.isis.applib.AbstractService;
import org.apache.isis.applib.annotation.ActionSemantics;
import org.apache.isis.applib.annotation.ActionSemantics.Of;
+import org.apache.isis.applib.annotation.Bulk;
import org.apache.isis.applib.annotation.Hidden;
import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.NotInServiceMenu;
import org.apache.isis.applib.query.QueryDefault;
import org.apache.isis.applib.services.publish.EventMetadata;
import org.apache.isis.applib.services.publish.EventPayload;
@@ -31,6 +33,7 @@ public class PublishingServiceJdo extends AbstractService implements PublishingS
publishedEvent.setId(metadata.getId());
publishedEvent.setTransactionId(metadata.getTransactionId().toString());
publishedEvent.setSequence(metadata.getSequence());
+ publishedEvent.setEventType(metadata.getEventType());
publishedEvent.setTimestamp(metadata.getTimestamp());
publishedEvent.setUser(metadata.getUser());
publishedEvent.setTitle(metadata.getTitle());
@@ -46,18 +49,24 @@ public class PublishingServiceJdo extends AbstractService implements PublishingS
"state", PublishedEvent.State.QUEUED));
}
- @ActionSemantics(Of.IDEMPOTENT)
+ @ActionSemantics(Of.SAFE)
@MemberOrder(sequence="2")
- public PublishedEvent processed(PublishedEvent publishedEvent) {
- publishedEvent.setState(State.PROCESSED);
- return publishedEvent;
+ public List<PublishedEvent> processedEvents() {
+ return allMatches(
+ new QueryDefault<PublishedEvent>(PublishedEvent.class,
+ "publishedevent_of_state",
+ "state", PublishedEvent.State.PROCESSED));
}
- @ActionSemantics(Of.IDEMPOTENT)
+ @ActionSemantics(Of.SAFE)
@MemberOrder(sequence="3")
- public PublishedEvent reQueue(PublishedEvent publishedEvent) {
- publishedEvent.setState(State.QUEUED);
- return publishedEvent;
+ public void purgeProcessed() {
+ // REVIEW: this is not particularly performant.
+ // much better would be to go direct to the JDO API.
+ List<PublishedEvent> processedEvents = processedEvents();
+ for (PublishedEvent publishedEvent : processedEvents) {
+ publishedEvent.delete();
+ }
}
@Hidden
http://git-wip-us.apache.org/repos/asf/isis/blob/62f7ab15/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/RestfulObjectsSpecEventSerializer.java
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/RestfulObjectsSpecEventSerializer.java b/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/RestfulObjectsSpecEventSerializer.java
index 332780b..f92ab8e 100644
--- a/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/RestfulObjectsSpecEventSerializer.java
+++ b/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/RestfulObjectsSpecEventSerializer.java
@@ -60,6 +60,7 @@ public class RestfulObjectsSpecEventSerializer implements EventSerializer {
metadataRepr.mapPut("id", metadata.getId());
metadataRepr.mapPut("transactionId", metadata.getTransactionId());
metadataRepr.mapPut("sequence", metadata.getSequence());
+ metadataRepr.mapPut("eventType", metadata.getEventType());
metadataRepr.mapPut("user", metadata.getUser());
metadataRepr.mapPut("timestamp", metadata.getTimestamp());
eventRepr.mapPut("payload", payloadRepr);
http://git-wip-us.apache.org/repos/asf/isis/blob/62f7ab15/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventMetadata.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventMetadata.java b/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventMetadata.java
index f387a54..36d105a 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventMetadata.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventMetadata.java
@@ -17,13 +17,15 @@ public class EventMetadata {
private final String user;
private final long timestamp;
private final String title;
+ private final EventType eventType;
- public EventMetadata(UUID transactionId, int sequence, String user, long timestamp, String title) {
+ public EventMetadata(UUID transactionId, int sequence, EventType eventType, String user, long timestamp, String title) {
this.transactionId = transactionId;
this.sequence = sequence;
this.user = user;
this.timestamp = timestamp;
this.title = title;
+ this.eventType = eventType;
}
/**
@@ -77,6 +79,9 @@ public class EventMetadata {
return title;
}
+ public EventType getEventType() {
+ return eventType;
+ }
@Override
public String toString() {
http://git-wip-us.apache.org/repos/asf/isis/blob/62f7ab15/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventPayloadForActionInvocation.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventPayloadForActionInvocation.java b/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventPayloadForActionInvocation.java
index d53649a..db9f052 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventPayloadForActionInvocation.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventPayloadForActionInvocation.java
@@ -30,7 +30,7 @@ public class EventPayloadForActionInvocation<T> implements EventPayload {
this.arguments = arguments != null? arguments: Collections.emptyList();
this.result = result;
}
-
+
@Programmatic
public EventPayloadForActionInvocation<T> with(ObjectStringifier stringifier) {
this.stringifier = stringifier;
@@ -129,7 +129,7 @@ public class EventPayloadForActionInvocation<T> implements EventPayload {
@Override
public String toString() {
final StringBuilder buf = new StringBuilder();
- buf.append("ACTION:").append(getActionName());
+ buf.append(EventType.ACTION_INVOCATION + ":").append(getActionName());
buf.append("\n target=").append(stringifier.toString(target));
buf.append("\n args=[");
for (Object arg : arguments) {
@@ -140,4 +140,5 @@ public class EventPayloadForActionInvocation<T> implements EventPayload {
buf.append("\n result=").append(stringifiedResult != null ? stringifiedResult : "void");
return buf.toString();
}
+
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/62f7ab15/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventPayloadForChangedObject.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventPayloadForChangedObject.java b/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventPayloadForChangedObject.java
deleted file mode 100644
index 51b2209..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventPayloadForChangedObject.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.apache.isis.applib.services.publish;
-
-import org.apache.isis.applib.annotation.NotPersistable;
-import org.apache.isis.applib.annotation.Programmatic;
-
-/**
- * An immutable pojo that simply references some other (persistent) object.
- *
- * <p>
- * This class is annotated as a domain object for the benefit of the
- * <tt>RestfulObjectsSpecEventSerializer</tt>.
- */
-@NotPersistable
-public class EventPayloadForChangedObject<T> implements EventPayload {
-
- private final T changed;
- private ObjectStringifier stringifier = new ObjectStringifier.Simple();
-
- public EventPayloadForChangedObject(T changed) {
- this.changed = changed;
- }
-
- @Programmatic
- public EventPayloadForChangedObject<T> with(ObjectStringifier stringifier) {
- this.stringifier = stringifier;
- return this;
- }
-
- public T getChanged() {
- return changed;
- }
-
- @Override
- public String toString() {
- return "CHANGED_OBJECT:"+ stringifier.toString(changed);
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/62f7ab15/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventPayloadForObjectChanged.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventPayloadForObjectChanged.java b/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventPayloadForObjectChanged.java
new file mode 100644
index 0000000..c717d27
--- /dev/null
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventPayloadForObjectChanged.java
@@ -0,0 +1,37 @@
+package org.apache.isis.applib.services.publish;
+
+import org.apache.isis.applib.annotation.NotPersistable;
+import org.apache.isis.applib.annotation.Programmatic;
+
+/**
+ * An immutable pojo that simply references some other (persistent) object.
+ *
+ * <p>
+ * This class is annotated as a domain object for the benefit of the
+ * <tt>RestfulObjectsSpecEventSerializer</tt>.
+ */
+@NotPersistable
+public class EventPayloadForObjectChanged<T> implements EventPayload {
+
+ private final T changed;
+ private ObjectStringifier stringifier = new ObjectStringifier.Simple();
+
+ public EventPayloadForObjectChanged(T changed) {
+ this.changed = changed;
+ }
+
+ @Programmatic
+ public EventPayloadForObjectChanged<T> with(ObjectStringifier stringifier) {
+ this.stringifier = stringifier;
+ return this;
+ }
+
+ public T getChanged() {
+ return changed;
+ }
+
+ @Override
+ public String toString() {
+ return EventType.OBJECT_CHANGED + ":"+ stringifier.toString(changed);
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/62f7ab15/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventSerializer.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventSerializer.java b/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventSerializer.java
index 13008df..1b94741 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventSerializer.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventSerializer.java
@@ -26,7 +26,14 @@ public interface EventSerializer {
@Programmatic
@Override
public Object serialize(EventMetadata metadata, EventPayload payload) {
- return "PUBLISHED: \n metadata: " + metadata.getId() + ":" + metadata.getUser() + ":" + metadata.getTimestamp() + ": payload:s\n"+ payload.toString();
+ return "PUBLISHED:" +
+ "\n metadata:" +
+ "\n id :" + metadata.getId() +
+ "\n eventType:" + metadata.getEventType() +
+ "\n user :" + metadata.getUser() +
+ "\n timestamp:" + metadata.getTimestamp() +
+ "\n payload:" +
+ "\n" + payload.toString();
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/62f7ab15/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventType.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventType.java b/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventType.java
new file mode 100644
index 0000000..31f4166
--- /dev/null
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/publish/EventType.java
@@ -0,0 +1,6 @@
+package org.apache.isis.applib.services.publish;
+
+public enum EventType {
+ ACTION_INVOCATION,
+ OBJECT_CHANGED
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/62f7ab15/core/applib/src/main/java/org/apache/isis/applib/services/publish/ObjectStringifier.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/publish/ObjectStringifier.java b/core/applib/src/main/java/org/apache/isis/applib/services/publish/ObjectStringifier.java
index b329756..729cd12 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/publish/ObjectStringifier.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/publish/ObjectStringifier.java
@@ -2,7 +2,7 @@ package org.apache.isis.applib.services.publish;
/**
- * To optionally configure the way that {@link EventPayloadForChangedObject} and {@link EventPayloadForActionInvocation}
+ * To optionally configure the way that {@link EventPayloadForObjectChanged} and {@link EventPayloadForActionInvocation}
* create the <tt>toString()</tt> form of their contents.
*/
public interface ObjectStringifier {
http://git-wip-us.apache.org/repos/asf/isis/blob/62f7ab15/core/applib/src/test/java/org/apache/isis/applib/services/publish/EventMetadataTest_getId.java
----------------------------------------------------------------------
diff --git a/core/applib/src/test/java/org/apache/isis/applib/services/publish/EventMetadataTest_getId.java b/core/applib/src/test/java/org/apache/isis/applib/services/publish/EventMetadataTest_getId.java
index 8efa679..fb332c1 100644
--- a/core/applib/src/test/java/org/apache/isis/applib/services/publish/EventMetadataTest_getId.java
+++ b/core/applib/src/test/java/org/apache/isis/applib/services/publish/EventMetadataTest_getId.java
@@ -16,7 +16,7 @@ public class EventMetadataTest_getId {
String user = "fred";
long timestamp = 1364120978631L;
String title = "some title";
- EventMetadata eventMetadata = new EventMetadata(transactionId, sequence, user, timestamp, title);
+ EventMetadata eventMetadata = new EventMetadata(transactionId, sequence, EventType.ACTION_INVOCATION, user, timestamp, title);
assertThat(eventMetadata.getTransactionId(), is(UUID.fromString("1bd8e5d4-2d67-4395-b5e8-d74acd766766")));
assertThat(eventMetadata.getSequence(), is(2));
@@ -24,6 +24,7 @@ public class EventMetadataTest_getId {
assertThat(eventMetadata.getTimestamp(), is(1364120978631L));
assertThat(eventMetadata.getId(), is("1bd8e5d4-2d67-4395-b5e8-d74acd766766.2"));
assertThat(eventMetadata.getTitle(), is("some title"));
+ assertThat(eventMetadata.getEventType(), is(EventType.ACTION_INVOCATION));
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/62f7ab15/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java
index ee14acf..8f3b1e8 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java
@@ -46,6 +46,7 @@ import org.apache.isis.applib.annotation.PublishedObject;
import org.apache.isis.applib.clock.Clock;
import org.apache.isis.applib.services.audit.AuditingService;
import org.apache.isis.applib.services.publish.EventMetadata;
+import org.apache.isis.applib.services.publish.EventType;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.commons.components.TransactionScopedComponent;
import org.apache.isis.core.commons.ensure.Ensure;
@@ -419,7 +420,7 @@ public class IsisTransaction implements TransactionScopedComponent {
final String oidStr = getOidMarshaller().marshal(adapterOid);
final String title = oidStr + ": " + currentInvocation.getAction().getIdentifier().toNameParmsIdentityString();
- final EventMetadata metadata = newEventMetadata(currentUser, currentTimestampEpoch, title);
+ final EventMetadata metadata = newEventMetadata(EventType.ACTION_INVOCATION, currentUser, currentTimestampEpoch, title);
publishingService.publishAction(payloadFactory, metadata, currentInvocation);
} finally {
ActionInvocationFacet.currentInvocation.set(null);
@@ -438,7 +439,7 @@ public class IsisTransaction implements TransactionScopedComponent {
final String oidStr = getOidMarshaller().marshal(adapterOid);
final String title = oidStr;
- final EventMetadata metadata = newEventMetadata(currentUser, currentTimestampEpoch, title);
+ final EventMetadata metadata = newEventMetadata(EventType.OBJECT_CHANGED, currentUser, currentTimestampEpoch, title);
publishingService.publishObject(payloadFactory, metadata, changedAdapter);
}
@@ -448,8 +449,8 @@ public class IsisTransaction implements TransactionScopedComponent {
return Clock.getTime();
}
- private EventMetadata newEventMetadata(final String currentUser, final long currentTimestampEpoch, String title) {
- return new EventMetadata(getGuid(), nextEventSequence(), currentUser, currentTimestampEpoch, title);
+ private EventMetadata newEventMetadata(EventType eventType, final String currentUser, final long currentTimestampEpoch, String title) {
+ return new EventMetadata(getGuid(), nextEventSequence(), eventType, currentUser, currentTimestampEpoch, title);
}
private int nextEventSequence() {
http://git-wip-us.apache.org/repos/asf/isis/blob/62f7ab15/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransactionManager.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransactionManager.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransactionManager.java
index 31f601c..706ac90 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransactionManager.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransactionManager.java
@@ -36,7 +36,7 @@ import org.apache.isis.applib.annotation.PublishedObject;
import org.apache.isis.applib.services.audit.AuditingService;
import org.apache.isis.applib.services.publish.EventPayload;
import org.apache.isis.applib.services.publish.EventPayloadForActionInvocation;
-import org.apache.isis.applib.services.publish.EventPayloadForChangedObject;
+import org.apache.isis.applib.services.publish.EventPayloadForObjectChanged;
import org.apache.isis.applib.services.publish.EventSerializer;
import org.apache.isis.applib.services.publish.ObjectStringifier;
import org.apache.isis.applib.services.publish.PublishingService;
@@ -461,7 +461,7 @@ public class IsisTransactionManager implements SessionScopedComponent {
return new PublishedObject.PayloadFactory() {
@Override
public EventPayload payloadFor(final Object changedObject) {
- return new EventPayloadForChangedObject(changedObject)
+ return new EventPayloadForObjectChanged<Object>(changedObject)
.with(objectStringifier());
}
@@ -472,7 +472,7 @@ public class IsisTransactionManager implements SessionScopedComponent {
return new PublishedAction.PayloadFactory(){
@Override
public EventPayload payloadFor(Identifier actionIdentifier, Object target, List<Object> arguments, Object result) {
- return new EventPayloadForActionInvocation(
+ return new EventPayloadForActionInvocation<Object>(
actionIdentifier,
target,
arguments,
http://git-wip-us.apache.org/repos/asf/isis/blob/62f7ab15/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItemChangedPayloadFactory.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItemChangedPayloadFactory.java b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItemChangedPayloadFactory.java
index fd8415d..b714d1a 100644
--- a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItemChangedPayloadFactory.java
+++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItemChangedPayloadFactory.java
@@ -2,11 +2,11 @@ package dom.todo;
import org.apache.isis.applib.annotation.PublishedObject.PayloadFactory;
import org.apache.isis.applib.services.publish.EventPayload;
-import org.apache.isis.applib.services.publish.EventPayloadForChangedObject;
+import org.apache.isis.applib.services.publish.EventPayloadForObjectChanged;
public class ToDoItemChangedPayloadFactory implements PayloadFactory{
- public static class ToDoItemPayload extends EventPayloadForChangedObject<ToDoItem> {
+ public static class ToDoItemPayload extends EventPayloadForObjectChanged<ToDoItem> {
public ToDoItemPayload(ToDoItem changed) {
super(changed);
http://git-wip-us.apache.org/repos/asf/isis/blob/62f7ab15/example/application/quickstart_wicket_restful_jdo/viewer-webapp/pom.xml
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/viewer-webapp/pom.xml b/example/application/quickstart_wicket_restful_jdo/viewer-webapp/pom.xml
index 03b071a..66ee625 100644
--- a/example/application/quickstart_wicket_restful_jdo/viewer-webapp/pom.xml
+++ b/example/application/quickstart_wicket_restful_jdo/viewer-webapp/pom.xml
@@ -287,15 +287,6 @@
</dependency>
-->
- <!--
- ActiveMQ/RA Publishing Service:
- uncomment to use https://github.com/danhaywood/isis-publishingservice-activemq-ra
- <dependency>
- <groupId>com.danhaywood.isis.publishingservice</groupId>
- <artifactId>danhaywood-isis-publishingservice-activemq-ra</artifactId>
- </dependency>
- -->
-
</dependencies>
</project>