You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by bu...@apache.org on 2013/02/08 16:10:20 UTC
svn commit: r849888 - in /websites/staging/isis/trunk: cgi-bin/ content/
content/core/publishing-service.html
Author: buildbot
Date: Fri Feb 8 15:10:20 2013
New Revision: 849888
Log:
Staging update by buildbot for isis
Modified:
websites/staging/isis/trunk/cgi-bin/ (props changed)
websites/staging/isis/trunk/content/ (props changed)
websites/staging/isis/trunk/content/core/publishing-service.html
Propchange: websites/staging/isis/trunk/cgi-bin/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Feb 8 15:10:20 2013
@@ -1 +1 @@
-1444048
+1444050
Propchange: websites/staging/isis/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Feb 8 15:10:20 2013
@@ -1 +1 @@
-1444048
+1444050
Modified: websites/staging/isis/trunk/content/core/publishing-service.html
==============================================================================
--- websites/staging/isis/trunk/content/core/publishing-service.html (original)
+++ websites/staging/isis/trunk/content/core/publishing-service.html Fri Feb 8 15:10:20 2013
@@ -262,7 +262,7 @@ public class ToDoItem {
@PublishedAction
public void completed() { ... }
...
-</div>
+</div>}
</pre>
<p>Similarly, to indicate that any changes to an object should be published, use the <code>PublishedObject</code> annotation:</p>
@@ -271,7 +271,7 @@ public class ToDoItem {
@PublishedObject
public class ToDoItem {
...
-</div>
+</div>}
</pre>
<p>Either or both of these annotations can be used.</p>
@@ -291,7 +291,7 @@ public interface PublishingService {
public void publish(EventMetadata metadata, EventPayload payload);
void setEventSerializer(EventSerializer eventSerializer);
-</div>
+</div>}
</pre>
<p>Typically implementations will use the injected <code>EventSerializer</code> to convert the metadata and payload into a form to be published:</p>
@@ -301,7 +301,7 @@ package org.apache.isis.applib.services.
public interface EventSerializer {
public Object serialize(EventMetadata metadata, EventPayload payload);
-</div>
+</div>}
</pre>
<p>The serialized form returned by <code>EventSerializer</code> will typically be something like JSON, XML or a string. The signature of <code>serialize(...)</code> returns an object
@@ -330,7 +330,7 @@ public interface EventSerializer {
}
}
...
-</div>
+</div>}
</pre>
<p>A simple implementation of <code>PublishingService</code> (which must be configured as a domain service) is also available; this simply writes to stderr is also provided:</p>
@@ -354,7 +354,7 @@ public interface PublishingService {
}
}
...
-</div>
+</div>}
</pre>
<p>Thus, to configure a very simple form of publishing, add the following to <code>isis.properties</code>:</p>
@@ -397,7 +397,7 @@ public @interface PublishedAction {
Object target, List<Object> arguments, Object result);
}
Class<? extends PayloadFactory> value() default PayloadFactory.class;
-</div>
+</div>}
</pre>
<p>For objects, the interface to implement is <code>@PublishedObject.PayloadFactory</code>:</p>
@@ -410,7 +410,7 @@ public @interface PublishedObject {
public EventPayload payloadFor(Object changed);
}
Class<? extends PayloadFactory> value() default PayloadFactory.class;
-</div>
+</div>}
</pre>
<p>For example, the following will eagerly include the <code>ToDoItem</code>'s <code>description</code> property whenever it is changed:</p>
@@ -419,7 +419,7 @@ public @interface PublishedObject {
@PublishedObject(ToDoItemPayloadFactory.class)
public class ToDoItem {
...
-</div>
+</div>}
</pre>
<p>where <code>ToDoItemPayloadFactory</code> is defined as:</p>
@@ -442,8 +442,7 @@ public class ToDoItemChangedPayloadFacto
public EventPayload payloadFor(Object changedObject) {
return new ToDoItemPayload((ToDoItem) changedObject);
}
-
-</div>
+</div>}
</pre>
<h3>Class Diagram</h3>