Eclipse RCP platform has its own threading api. Use can choose the job run on backgroud or foreground. I maybe need to double check why the process failed. (I believe it is because of threading)<br>For book installation, I added two mirror methods to do downloading and copying.&nbsp; It works fine. The only issue is the api and package keep changing and I have to compare every time there is a new release and merge the code. 
<br><br>For indexing, I have not made it to work correctly.&nbsp; I will study the code next week. The basic idea is kick off a background job and call jsword api to generate index. No thread for indexing itself is needed.<br>
<br>For Web sword, the book installation is on server side. Never mind.&nbsp; It will not be used for end users. I put it on hold because I have several othe plugins need to be done soon.<br><br>Zhaojun<br><br><div><span class="gmail_quote">
On 12/8/06, <b class="gmail_sendername">DM Smith</b> &lt;<a href="mailto:dmsmith555@yahoo.com">dmsmith555@yahoo.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
David wrote:<br>&gt; Hi, DM and fellow developers,<br>&gt;<br>&gt; I am developing web sword(90% done, pure j2ee implementation, will<br>&gt; help web hosting) and sword on eclipse RCP.&nbsp;&nbsp;Issues were raised up<br>&gt; when I try to integrate install book and generate indices. The code
<br>&gt; now has job api build in and also has the reporter to communicate with<br>&gt; user UI.<br>&gt;<br>&gt; In order to accelerate the acceptance of jword library,&nbsp;&nbsp;the api for<br>&gt; downloading books and api for index processing need to seperated from
<br>&gt; Job api.<br>I'm not sure I understand the problem.<br><br>The index api (org.crosswire.jsword.index) is independent of the Job and<br>Reporter apis. The Lucene implementation is not.<br>Likewise for the install api (
org.crosswire.jsword.index) and the sword<br>implementation.<br><br>Both the Job api and the Reporter api are listener based. If there is no<br>listener for Job events or Reporter events, then those are not heard.<br>Any listener of your choosing can be provided or not provided. It is up
<br>to you.<br><br>The purpose of the Job and Reporter apis is to provide asynchronous<br>communication of a potentially background task thread. For example, you<br>will notice in BibleDesktop that you can download and/or index more than
<br>one Book at a time. Each download and index is on its own thread and it<br>communicates back to BibleDesktop asynchronously of its progress or any<br>problems that are encountered.<br><br>In a web environment asynchronous communication of long-lived threads on
<br>the server may prove to be a challenge, but it should be possible.<br><br><br>_______________________________________________<br>jsword-devel mailing list<br><a href="mailto:jsword-devel@crosswire.org">jsword-devel@crosswire.org
</a><br><a href="http://www.crosswire.org/mailman/listinfo/jsword-devel">http://www.crosswire.org/mailman/listinfo/jsword-devel</a><br></blockquote></div><br>