Ok, I'll work on it some more this week.&nbsp; Glad to hear things are moving along.<br><br>Don<br><br><div><span class="gmail_quote">On 2/14/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;">Don,<br>&nbsp;&nbsp;&nbsp;&nbsp;How are you coming with putting finishing touches on Journaling. I'd
<br>like to finish it up and release it. I have some bug fixes that should<br>be released. So I am eager to do a release.<br>In His Service,<br>&nbsp;&nbsp;&nbsp;&nbsp;DM<br><br>Don Brown wrote:<br>&gt; Cool!&nbsp;&nbsp;Good to hear you integrated it so quickly.&nbsp;&nbsp;Actually, I don't
<br>&gt; use Netbeans at all, as those artifacts were left over from Dave's<br>&gt; code.&nbsp;&nbsp;In fact, I've already spent some time cutting out the generated<br>&gt; GUI code in favor of that GriddedPanel class.&nbsp;&nbsp;Personally, I use vim
<br>&gt; and jEdit, although I'm trying Eclipse out for the first time with<br>&gt; this project.&nbsp;&nbsp;I've always actively avoided IDEs but the way this<br>&gt; project works so well with them, I'm giving them another chance.
<br>&gt;<br>&gt; Sure, all those changes sound fine.&nbsp;&nbsp;I'll send you the blogapps zip<br>&gt; and look over the changes tomorrow.&nbsp;&nbsp;The blogapps code isn't forked,<br>&gt; just not released since Dave's book hasn't hit production yet.
<br>&gt; Finally, I have been using the svn repo since you switched (thank<br>&gt; you!) so we should be on the same page.<br>&gt;<br>&gt; Don<br>&gt;<br>&gt; On 1/19/06, *DM Smith* &lt;<a href="mailto:dmsmith555@yahoo.com">
dmsmith555@yahoo.com</a><br>&gt; &lt;mailto:<a href="mailto:dmsmith555@yahoo.com">dmsmith555@yahoo.com</a>&gt;&gt; wrote:<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Don,<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; I've checked in your code. The code that you have is most
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; excellent and<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; I am looking forward to putting it in front of users! Thanks so<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; much for<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; your contribution! Once we have it ready for release, we'll<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; announce it<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; for people to look at it from the nightly and respond to their<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; comments.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Then we'll release!<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; I have made some simple changes to quite CheckStyle. We have it set up<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; that if you run ant against 
build.xml in jsword-web that it will<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; build<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; all the projects related to BibleDesktop and also the web. And<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; then run<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; a series of QA checks. You can do this from the command line in
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; the root<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; of jsword-web. The pertinent commands are:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; ant all (does a clean, build, install, check)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; ant incremental (does a clean, build, install, check)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; ant checkstyle (runs only checkstyle, but it only works after a
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; build.)<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; And I made two other changes. I already mentioned that I moved<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; code from<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; StatusBar into Desktop. The other change was that I used a &quot;Type safe<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; enumeration&quot; pattern for the type of Blog, called appropriately
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; BlogType.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; I hope that my changes and the huge refactoring job that I did,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; did not<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; get in your way.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Below are some more things that probably should be done to make it
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; similar to the rest of the code.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Don Brown wrote:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Cool, yeah, I've started doing the same, going through and cleaning<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; things up.&nbsp;&nbsp;The GUI code has tons of errors for two main reasons:
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;* Still not 100% sure how you solve localization, so there are<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; a lot<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; of labels and error messages still in the code<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; As noted before, we use the Msg class for localization of messages. I
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; took care of that for you. I also marked strings that didn't need<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; to be<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; localized.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; As to error messages, we use the o.c.c.util.Reporter static informUser<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; methods. Listeners for ReporterEvents will then handle the message
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; appropriately. So we never print exceptions to std err. See<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; o.c.b.desktop.DesktopActions for examples. We let listeners figure out<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; the best way to communicate to the user. So we don't create and manage
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; dialog boxes on the fly.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;* Most of that code was forked from the Blogapps code, where it<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; was a<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; standalone Swing app.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; In doing the connection, it appears that you are doing it in the main
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; thread. We have a Job class and a Progress meter that we use for long<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; running background processes. See<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; o.c.j.book.install.sword.AbstractSwordInstaller 's install method<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; for a
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; good example. Also see the documentation for JobManager.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; I would appreciate it if you could provide blogapps-1.0-src.zip.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Especially, if it is forked. In that case we may want to manage the
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; forked source.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Furthermore, a lot of it was autogenerated by Netbeans.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; In localizing buttons, and other actionable things, we use<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; o.c.c.swing.CWActions and o.c.c.swing.ActionFactory
 and an action<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; property file. An example of this is DesktopActions.java and<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Desktop.properties. This is also a good example of splitting the<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; responsibility of a complex screen into two classes. One for the
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; GUI and<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; the other for handling the events generated by that GUI.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; The basic idea is that an ActionFactory will read the property<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; file and<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; construct CWAction objects. The ActionFactory will then dispense of
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; CWActions by name. Also the ActionFactory and the CWAction work<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; together<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; to use reflection against a &quot;bean&quot; to call a &quot;do&quot; method constructed<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; using the name of the action.
<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; The reason that I mention this is that I don't think it fits well with<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Netbeans auto generated code. I left it alone so you could see if you<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; could integrate it using NetBeans.<br>
&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; In His Service,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DM<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; _______________________________________________<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; jsword-devel mailing list<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; <a href="mailto:jsword-devel@crosswire.org">jsword-devel@crosswire.org
</a> &lt;mailto:<a href="mailto:jsword-devel@crosswire.org">jsword-devel@crosswire.org</a>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.crosswire.org/mailman/listinfo/jsword-devel">http://www.crosswire.org/mailman/listinfo/jsword-devel
</a><br>&gt;<br>&gt;<br>&gt; ------------------------------------------------------------------------<br>&gt;<br>&gt; _______________________________________________<br>&gt; jsword-devel mailing list<br>&gt; <a href="mailto:jsword-devel@crosswire.org">
jsword-devel@crosswire.org</a><br>&gt; <a href="http://www.crosswire.org/mailman/listinfo/jsword-devel">http://www.crosswire.org/mailman/listinfo/jsword-devel</a><br>&gt;<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>