[dna-commits] DNA SVN: r1006 - trunk/docs/reference/src/main/docbook/en-US/content/core.
dna-commits at lists.jboss.org
dna-commits at lists.jboss.org
Tue Jun 9 02:11:58 EDT 2009
Author: rhauch
Date: 2009-06-09 02:11:57 -0400 (Tue, 09 Jun 2009)
New Revision: 1006
Modified:
trunk/docs/reference/src/main/docbook/en-US/content/core/connector.xml
Log:
Clarified how the connector should be broadcasting events
Modified: trunk/docs/reference/src/main/docbook/en-US/content/core/connector.xml
===================================================================
--- trunk/docs/reference/src/main/docbook/en-US/content/core/connector.xml 2009-06-09 06:11:41 UTC (rev 1005)
+++ trunk/docs/reference/src/main/docbook/en-US/content/core/connector.xml 2009-06-09 06:11:57 UTC (rev 1006)
@@ -579,6 +579,12 @@
</para>
</note>
<para>
+ Also, make sure your &RequestProcessor; is properly <link linkend="connector_events">broadcasting the changes</link> made during execution.
+ The &RequestProcessor; class has a <code>recordChange(&ChangeRequest;)</code> that can be called from each of the <code>process(...)</code>
+ methods that take a &ChangeRequest;. The &RequestProcessor; enqueues these requests, and when the &RequestProcessor; is
+ closed, the default implementation is to send a &Change; to the &Observer; supplied into the constructor.
+ </para>
+ <para>
Then, in your connector's <code>execute(&ExecutionContext;, &Request;)</code> method, instantiate your &RequestProcessor; subclass
and call its <code>process(&Request;) method, passing in the <code>execute(...)</code> method's &Request; parameter.</code>
The &RequestProcessor; will determine the appropriate method given the actual &Request; object and will then invoke that method:
@@ -586,11 +592,13 @@
<programlisting>
public void execute( final &ExecutionContext; context,
final &Request; request ) throws RepositorySourceException {
- RequestProcessor processor = new RequestProcessor(context);
+ String sourceName = // from the &RepositorySource;
+ &Observer; observer = // from the &RepositoryContext;
+ &RequestProcessor; processor = new CustomRequestProcessor(sourceName,context,observer);
try {
processor.process(request);
} finally {
- processor.close();
+ processor.close(); // sends the accumulated &ChangeRequest;s as a &Changes; to the &Observer;
}
}</programlisting>
<para>
More information about the dna-commits
mailing list