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/02/08 14:16:19 UTC
[19/24] ISIS-323: RO publishing done, but no xactn stuff yet
http://git-wip-us.apache.org/repos/asf/isis/blob/60575469/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/PublishingServiceWithDefaultPayloadFactories.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/PublishingServiceWithDefaultPayloadFactories.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/PublishingServiceWithDefaultPayloadFactories.java
new file mode 100644
index 0000000..978a238
--- /dev/null
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/PublishingServiceWithDefaultPayloadFactories.java
@@ -0,0 +1,59 @@
+package org.apache.isis.core.runtime.persistence.objectstore.transaction;
+
+import org.apache.isis.applib.annotation.PublishedAction;
+import org.apache.isis.applib.annotation.PublishedObject;
+import org.apache.isis.applib.services.publish.EventMetadata;
+import org.apache.isis.applib.services.publish.EventPayload;
+import org.apache.isis.applib.services.publish.PublishingService;
+import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.facets.actions.invoke.ActionInvocationFacet.CurrentInvocation;
+import org.apache.isis.core.metamodel.spec.ObjectAdapterUtils;
+
+/**
+ * Wrapper around {@link PublishingService} that also includes the
+ * {@link PublishedObject.PayloadFactory event} {@link PublishedAction.PayloadFactory canonicalizers}.
+ */
+public class PublishingServiceWithDefaultPayloadFactories {
+
+ private final PublishingService publishingService;
+ private final PublishedObject.PayloadFactory defaultObjectPayloadFactory;
+ private final PublishedAction.PayloadFactory defaultActionPayloadFactory;
+
+ public PublishingServiceWithDefaultPayloadFactories (
+ final PublishingService publishingService,
+ final PublishedObject.PayloadFactory defaultObjectPayloadFactory,
+ final PublishedAction.PayloadFactory defaultActionPayloadFactory) {
+ this.publishingService = publishingService;
+ this.defaultObjectPayloadFactory = defaultObjectPayloadFactory;
+ this.defaultActionPayloadFactory = defaultActionPayloadFactory;
+ }
+
+ public void publishObject(
+ final PublishedObject.PayloadFactory annotatedPayloadFactoryIfAny,
+ final EventMetadata metadata,
+ final ObjectAdapter changedAdapter) {
+ final PublishedObject.PayloadFactory payloadFactoryToUse =
+ annotatedPayloadFactoryIfAny != null
+ ? annotatedPayloadFactoryIfAny
+ : defaultObjectPayloadFactory;
+ final EventPayload payload = payloadFactoryToUse.payloadFor(ObjectAdapterUtils.unwrapObject(changedAdapter));
+ publishingService.publish(metadata, payload);
+ }
+
+ public void publishAction(
+ final PublishedAction.PayloadFactory annotatedPayloadFactoryIfAny,
+ final EventMetadata metadata,
+ final CurrentInvocation currentInvocation) {
+ final PublishedAction.PayloadFactory payloadFactoryToUse =
+ annotatedPayloadFactoryIfAny != null
+ ? annotatedPayloadFactoryIfAny
+ : defaultActionPayloadFactory;
+ final EventPayload payload = payloadFactoryToUse.payloadFor(
+ currentInvocation.getAction().getIdentifier(),
+ ObjectAdapterUtils.unwrapObject(currentInvocation.getTarget()),
+ ObjectAdapterUtils.unwrapObjects(currentInvocation.getParameters()),
+ ObjectAdapterUtils.unwrapObject(currentInvocation.getResult()));
+
+ publishingService.publish(metadata, payload);
+ }
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/60575469/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 3893480..a23fe8c 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
@@ -32,11 +32,11 @@ import java.util.Map.Entry;
import java.util.Set;
import java.util.UUID;
-import org.apache.isis.applib.annotation.PublishedAction.EventCanonicalizer;
+import org.apache.isis.applib.annotation.PublishedAction.PayloadFactory;
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.PublishingService;
+import org.apache.isis.applib.services.publish.EventMetadata;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.commons.components.TransactionScopedComponent;
import org.apache.isis.core.commons.ensure.Ensure;
@@ -57,7 +57,7 @@ import org.apache.isis.core.metamodel.spec.feature.ObjectAssociationFilters;
import org.apache.isis.core.runtime.persistence.objectstore.transaction.CreateObjectCommand;
import org.apache.isis.core.runtime.persistence.objectstore.transaction.DestroyObjectCommand;
import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommand;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PublishingServiceWithCanonicalizers;
+import org.apache.isis.core.runtime.persistence.objectstore.transaction.PublishingServiceWithDefaultPayloadFactories;
import org.apache.isis.core.runtime.persistence.objectstore.transaction.SaveObjectCommand;
import org.apache.isis.core.runtime.persistence.objectstore.transaction.TransactionalResource;
import org.apache.isis.core.runtime.system.context.IsisContext;
@@ -198,7 +198,7 @@ public class IsisTransaction implements TransactionScopedComponent {
/**
* could be null if none has been registered
*/
- private final PublishingServiceWithCanonicalizers publishingService;
+ private final PublishingServiceWithDefaultPayloadFactories publishingService;
private State state;
@@ -206,7 +206,7 @@ public class IsisTransaction implements TransactionScopedComponent {
private final UUID guid;
- public IsisTransaction(final IsisTransactionManager transactionManager, final MessageBroker messageBroker, final UpdateNotifier updateNotifier, final TransactionalResource objectStore, final AuditingService auditingService, PublishingServiceWithCanonicalizers publishingService) {
+ public IsisTransaction(final IsisTransactionManager transactionManager, final MessageBroker messageBroker, final UpdateNotifier updateNotifier, final TransactionalResource objectStore, final AuditingService auditingService, PublishingServiceWithDefaultPayloadFactories publishingService) {
ensureThatArg(transactionManager, is(not(nullValue())), "transaction manager is required");
ensureThatArg(messageBroker, is(not(nullValue())), "message broker is required");
@@ -434,8 +434,10 @@ public class IsisTransaction implements TransactionScopedComponent {
if(publishedObjectFacet == null) {
continue;
}
- final PublishedObject.EventCanonicalizer canonicalizer = publishedObjectFacet.value();
- publishingService.publishObject(canonicalizer, getGuid(), currentUser, currentTimestampEpoch, changedAdapter);
+ final PublishedObject.PayloadFactory payloadFactory = publishedObjectFacet.value();
+ final EventMetadata metadata = new EventMetadata(getGuid(), currentUser, currentTimestampEpoch);
+
+ publishingService.publishObject(payloadFactory, metadata, changedAdapter);
}
}
@@ -449,8 +451,9 @@ public class IsisTransaction implements TransactionScopedComponent {
if(publishedActionFacet == null) {
return;
}
- final EventCanonicalizer canonicalizer = publishedActionFacet.value();
- publishingService.publishAction(canonicalizer, guid, currentUser, currentTimestampEpoch, currentInvocation);
+ final PayloadFactory payloadFactory = publishedActionFacet.value();
+ final EventMetadata metadata = new EventMetadata(getGuid(), currentUser, currentTimestampEpoch);
+ publishingService.publishAction(payloadFactory, metadata, currentInvocation);
} finally {
ActionInvocationFacet.currentInvocation.set(null);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/60575469/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 edf67f5..34b8834 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
@@ -31,23 +31,32 @@ import java.util.List;
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.PublishedAction;
import org.apache.isis.applib.annotation.PublishedObject;
-import org.apache.isis.applib.annotation.PublishedObject.EventCanonicalizer;
import org.apache.isis.applib.services.audit.AuditingService;
-import org.apache.isis.applib.services.publish.CanonicalEvent;
+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.EventSerializer;
import org.apache.isis.applib.services.publish.PublishingService;
+import org.apache.isis.applib.services.publish.ObjectStringifier;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.commons.components.SessionScopedComponent;
import org.apache.isis.core.commons.debug.DebugBuilder;
import org.apache.isis.core.commons.exceptions.IsisException;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
+import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
import org.apache.isis.core.metamodel.services.ServicesInjectorSpi;
import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommand;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PublishingServiceWithCanonicalizers;
+import org.apache.isis.core.runtime.persistence.objectstore.transaction.PublishingServiceWithDefaultPayloadFactories;
import org.apache.isis.core.runtime.persistence.objectstore.transaction.TransactionalResource;
import org.apache.isis.core.runtime.system.context.IsisContext;
import org.apache.isis.core.runtime.system.session.IsisSession;
import org.apache.log4j.Logger;
+import com.google.common.base.Function;
+import com.google.common.collect.Lists;
+
public class IsisTransactionManager implements SessionScopedComponent {
@@ -65,7 +74,7 @@ public class IsisTransactionManager implements SessionScopedComponent {
/**
* Could be null.
*/
- private final PublishingServiceWithCanonicalizers publishingService;
+ private final PublishingServiceWithDefaultPayloadFactories publishingService;
private IsisSession session;
@@ -388,61 +397,79 @@ public class IsisTransactionManager implements SessionScopedComponent {
// Publishing service
// ///////////////////////////////////////////
- public PublishingServiceWithCanonicalizers getPublishingServiceIfAny(ServicesInjectorSpi servicesInjectorSpi) {
+ public PublishingServiceWithDefaultPayloadFactories getPublishingServiceIfAny(ServicesInjectorSpi servicesInjectorSpi) {
final PublishingService publishingService = servicesInjectorSpi.lookupService(PublishingService.class);
if(publishingService == null) {
return null;
}
-
- PublishedObject.EventCanonicalizer objectEventCanonicalizer = servicesInjectorSpi.lookupService(PublishedObject.EventCanonicalizer.class);
- if(objectEventCanonicalizer == null) {
- objectEventCanonicalizer = newDefaultObjectEventCanonicalizer();
+
+ EventSerializer eventSerializer = servicesInjectorSpi.lookupService(EventSerializer.class);
+ if(eventSerializer == null) {
+ eventSerializer = newSimpleEventSerializer();
+ }
+
+ PublishedObject.PayloadFactory objectPayloadFactory = servicesInjectorSpi.lookupService(PublishedObject.PayloadFactory.class);
+ if(objectPayloadFactory == null) {
+ objectPayloadFactory = newDefaultObjectPayloadFactory();
}
- PublishedAction.EventCanonicalizer actionEventCanonicalizer = servicesInjectorSpi.lookupService(PublishedAction.EventCanonicalizer.class);
- if(actionEventCanonicalizer == null) {
- actionEventCanonicalizer = newDefaultActionEventCanonicalizer();
+ PublishedAction.PayloadFactory actionPayloadFactory = servicesInjectorSpi.lookupService(PublishedAction.PayloadFactory.class);
+ if(actionPayloadFactory == null) {
+ actionPayloadFactory = newDefaultActionPayloadFactory();
}
- return new PublishingServiceWithCanonicalizers(publishingService, objectEventCanonicalizer, actionEventCanonicalizer);
+ return new PublishingServiceWithDefaultPayloadFactories(publishingService, objectPayloadFactory, actionPayloadFactory);
+ }
+
+ protected EventSerializer newSimpleEventSerializer() {
+ return new EventSerializer.Simple();
}
- protected PublishedObject.EventCanonicalizer newDefaultObjectEventCanonicalizer() {
- return new PublishedObject.EventCanonicalizer() {
+ protected PublishedObject.PayloadFactory newDefaultObjectPayloadFactory() {
+ return new PublishedObject.PayloadFactory() {
@Override
- public CanonicalEvent canonicalizeObject(final Object changedObject) {
- return new CanonicalEvent.Default("CHANGED_OBJECT\n "+oidStrFor(changedObject));
+ public EventPayload payloadFor(final Object changedObject) {
+ return new EventPayloadForChangedObject(changedObject)
+ .with(objectStringifier());
}
+
};
}
- protected PublishedAction.EventCanonicalizer newDefaultActionEventCanonicalizer() {
- return new PublishedAction.EventCanonicalizer() {
+ protected PublishedAction.PayloadFactory newDefaultActionPayloadFactory() {
+ return new PublishedAction.PayloadFactory(){
+ @Override
+ public EventPayload payloadFor(Identifier actionIdentifier, Object target, List<Object> arguments, Object result) {
+ return new EventPayloadForActionInvocation(
+ actionIdentifier,
+ target,
+ arguments,
+ result).with(objectStringifier());
+ }
+ };
+ }
+ protected ObjectStringifier objectStringifier() {
+ return new ObjectStringifier() {
@Override
- public CanonicalEvent canonicalizeAction(Object invokedObject, Identifier identifier, List<Object> args, Object actionResult) {
- final StringBuilder buf = new StringBuilder();
- buf.append("ACTION\n").append(identifier.toString());
- buf.append("\n target=").append(oidStrFor(invokedObject));
- buf.append("\n args=[");
- for (Object arg : args) {
- buf.append("\n ").append(oidStrFor(arg));
+ public String toString(Object object) {
+ if(object == null) {
+ return null;
}
- buf.append("\n ]");
- buf.append("\n result=").append(actionResult != null ? oidStrFor(actionResult) : "void");
- return new CanonicalEvent.Default(buf.toString()) ;
+ final ObjectAdapter adapter = getAdapterManager().adapterFor(object);
+ Oid oid = adapter.getOid();
+ return oid != null? oid.enString(IsisContext.getOidMarshaller()): encodedValueOf(adapter);
+ }
+ private String encodedValueOf(ObjectAdapter adapter) {
+ EncodableFacet facet = adapter.getSpecification().getFacet(EncodableFacet.class);
+ return facet != null? facet.toEncodedString(adapter): adapter.toString();
}
};
}
- private static String oidStrFor(final Object changedObject) {
- final ObjectAdapter adapter = IsisContext.getPersistenceSession().getAdapterManager().adapterFor(changedObject);
- return adapter.getOid().enString(IsisContext.getOidMarshaller());
- }
-
// //////////////////////////////////////////////////////////////
// Hooks
// //////////////////////////////////////////////////////////////
@@ -513,6 +540,11 @@ public class IsisTransactionManager implements SessionScopedComponent {
this.session = session;
}
+
+ // ////////////////////////////////////////////////////////////////
+ // Dependencies (from context)
+ // ////////////////////////////////////////////////////////////////
+
/**
* Called back by {@link IsisTransaction}.
@@ -520,8 +552,9 @@ public class IsisTransactionManager implements SessionScopedComponent {
protected AuthenticationSession getAuthenticationSession() {
return IsisContext.getAuthenticationSession();
}
-
-
-
+ protected AdapterManager getAdapterManager() {
+ return IsisContext.getPersistenceSession().getAdapterManager();
+ }
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/60575469/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/objectstore/PersistenceSessionObjectStoreTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/objectstore/PersistenceSessionObjectStoreTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/objectstore/PersistenceSessionObjectStoreTest.java
index a7092c4..bd01c72 100644
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/objectstore/PersistenceSessionObjectStoreTest.java
+++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/persistence/objectstore/PersistenceSessionObjectStoreTest.java
@@ -57,7 +57,7 @@ import org.apache.isis.core.runtime.persistence.objectstore.transaction.CreateOb
import org.apache.isis.core.runtime.persistence.objectstore.transaction.DestroyObjectCommand;
import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommand;
import org.apache.isis.core.runtime.persistence.objectstore.transaction.PojoAdapterBuilder;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PublishingServiceWithCanonicalizers;
+import org.apache.isis.core.runtime.persistence.objectstore.transaction.PublishingServiceWithDefaultPayloadFactories;
import org.apache.isis.core.runtime.persistence.objectstore.transaction.SaveObjectCommand;
import org.apache.isis.core.runtime.persistence.objectstore.transaction.PojoAdapterBuilder.Persistence;
import org.apache.isis.core.runtime.system.persistence.AdapterManagerSpi;
@@ -103,7 +103,7 @@ public class PersistenceSessionObjectStoreTest {
@Mock
private AuditingService mockAuditingService;
@Mock
- private PublishingServiceWithCanonicalizers mockPublishingService;
+ private PublishingServiceWithDefaultPayloadFactories mockPublishingService;
@Mock
private CreateObjectCommand createObjectCommand;
http://git-wip-us.apache.org/repos/asf/isis/blob/60575469/core/runtime/src/test/java/org/apache/isis/core/runtime/system/transaction/IsisTransactionTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/transaction/IsisTransactionTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/transaction/IsisTransactionTest.java
index 699c44d..5320556 100644
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/system/transaction/IsisTransactionTest.java
+++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/system/transaction/IsisTransactionTest.java
@@ -33,7 +33,7 @@ import org.apache.isis.core.runtime.persistence.objectstore.transaction.DestroyO
import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommand;
import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommandContext;
import org.apache.isis.core.runtime.persistence.objectstore.transaction.PojoAdapterBuilder;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PublishingServiceWithCanonicalizers;
+import org.apache.isis.core.runtime.persistence.objectstore.transaction.PublishingServiceWithDefaultPayloadFactories;
import org.apache.isis.core.runtime.persistence.objectstore.transaction.SaveObjectCommand;
import org.apache.isis.core.runtime.persistence.objectstore.transaction.PojoAdapterBuilder.Persistence;
import org.apache.isis.core.runtime.system.transaction.IsisTransaction;
@@ -77,7 +77,7 @@ public class IsisTransactionTest {
@Mock
private AuditingService mockAuditingService;
@Mock
- private PublishingServiceWithCanonicalizers mockPublishingService;
+ private PublishingServiceWithDefaultPayloadFactories mockPublishingService;
private PersistenceCommand command;
private PersistenceCommand command2;
http://git-wip-us.apache.org/repos/asf/isis/blob/60575469/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
index 0bc0671..7a4e757 100644
--- a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
+++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
@@ -82,7 +82,7 @@ import com.google.common.collect.Lists;
@javax.jdo.annotations.Version(strategy=VersionStrategy.VERSION_NUMBER, column="VERSION")
@ObjectType("TODO")
@Audited
-@PublishedObject
+@PublishedObject(ToDoItemChangedPayloadFactory.class)
@AutoComplete(repository=ToDoItems.class, action="autoComplete")
@MemberGroups({"General", "Detail"})
public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3: uncomment to use https://github.com/danhaywood/isis-wicket-gmap3
@@ -296,6 +296,7 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
// }}
// {{ add (action)
+ @PublishedAction
@MemberOrder(name="dependencies", sequence = "3")
public ToDoItem add(final ToDoItem toDoItem) {
getDependencies().add(toDoItem);
http://git-wip-us.apache.org/repos/asf/isis/blob/60575469/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
new file mode 100644
index 0000000..fd8415d
--- /dev/null
+++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItemChangedPayloadFactory.java
@@ -0,0 +1,24 @@
+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;
+
+public class ToDoItemChangedPayloadFactory implements PayloadFactory{
+
+ public static class ToDoItemPayload extends EventPayloadForChangedObject<ToDoItem> {
+
+ public ToDoItemPayload(ToDoItem changed) {
+ super(changed);
+ }
+
+ public String getDescription() {
+ return getChanged().getDescription();
+ }
+ }
+ @Override
+ public EventPayload payloadFor(Object changedObject) {
+ return new ToDoItemPayload((ToDoItem) changedObject);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/60575469/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/WEB-INF/isis.properties
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/WEB-INF/isis.properties b/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/WEB-INF/isis.properties
index c7cc47f..757952d 100644
--- a/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/WEB-INF/isis.properties
+++ b/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/WEB-INF/isis.properties
@@ -163,7 +163,8 @@ isis.user-profile-store=in-memory
isis.services = objstore.jdo.todo.ToDoItemsJdo,\
fixture.todo.ToDoItemsFixturesService,\
dom.audit.AuditServiceDemo,\
- org.apache.isis.applib.services.publish.PublishingService$Stderr,
+ org.apache.isis.applib.services.publish.PublishingService$Stderr,\
+ org.apache.isis.viewer.restfulobjects.rendering.eventserializer.RestfulObjectsSpecEventSerializer
# Specify the (optional) test fixtures
#
http://git-wip-us.apache.org/repos/asf/isis/blob/60575469/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/WEB-INF/web.xml b/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/WEB-INF/web.xml
index 48a034e..e8d2287 100644
--- a/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/WEB-INF/web.xml
+++ b/example/application/quickstart_wicket_restful_jdo/viewer-webapp/src/main/webapp/WEB-INF/web.xml
@@ -203,7 +203,7 @@
<!-- used by RestEasy to determine the JAX-RS resources and other related configuration -->
<context-param>
<param-name>javax.ws.rs.Application</param-name>
- <param-value>org.apache.isis.viewer.restfulobjects.viewer.RestfulObjectsApplication</param-value>
+ <param-value>org.apache.isis.viewer.restfulobjects.server.RestfulObjectsApplication</param-value>
</context-param>
<context-param>
@@ -219,7 +219,7 @@
<!-- authentication required for REST -->
<init-param>
<param-name>authenticationSessionStrategy</param-name>
- <param-value>org.apache.isis.viewer.restfulobjects.viewer.authentication.AuthenticationSessionStrategyBasicAuth</param-value>
+ <param-value>org.apache.isis.viewer.restfulobjects.server.authentication.AuthenticationSessionStrategyBasicAuth</param-value>
</init-param>
<init-param>
<!-- what to do if no session was found; we indicate to issue a 401 basic authentication challenge -->