You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2005/06/26 11:57:53 UTC

svn commit: r201785 [1/3] - in /incubator/roller/trunk: ./ sandbox/planetroller/src/org/roller/tools/planet/ sandbox/standalone/ sandbox/standalone/tomcat/ src/org/roller/ src/org/roller/business/ src/org/roller/business/hibernate/ src/org/roller/busin...

Author: snoopdave
Date: Sat Jun 25 12:45:36 2005
New Revision: 201785

URL: http://svn.apache.org/viewcvs?rev=201785&view=rev
Log:
Roller 1.2 final


Added:
    incubator/roller/trunk/src/org/roller/business/roller-persistence.png   (with props)
    incubator/roller/trunk/src/org/roller/business/roller-services-impl.png   (with props)
    incubator/roller/trunk/src/org/roller/business/utils/package.html
    incubator/roller/trunk/src/org/roller/config/package.html
    incubator/roller/trunk/src/org/roller/config/runtime/package.html
    incubator/roller/trunk/src/org/roller/model/roller-services.png   (with props)
    incubator/roller/trunk/src/org/roller/pojos/roller-datamodel.png   (with props)
    incubator/roller/trunk/src/org/roller/presentation/atomapi/package.html
    incubator/roller/trunk/src/org/roller/presentation/pagecache/roller-caching.png   (with props)
    incubator/roller/trunk/src/org/roller/presentation/pagecache/rollercache/package.html
    incubator/roller/trunk/src/org/roller/presentation/pings/package.html
    incubator/roller/trunk/src/org/roller/presentation/planet/package.html
    incubator/roller/trunk/src/org/roller/presentation/roller-ui.png   (with props)
    incubator/roller/trunk/src/org/roller/presentation/util/package.html
    incubator/roller/trunk/src/org/roller/presentation/velocity/roller-velocity.png   (with props)
    incubator/roller/trunk/src/org/roller/util/rome/package.html
    incubator/roller/trunk/tools/buildtime/velocidoc-templates/
    incubator/roller/trunk/tools/buildtime/velocidoc-templates/allmacros.vm
    incubator/roller/trunk/tools/buildtime/velocidoc-templates/alltemplates.vm
    incubator/roller/trunk/tools/buildtime/velocidoc-templates/control.vm
    incubator/roller/trunk/tools/buildtime/velocidoc-templates/index.vm
    incubator/roller/trunk/tools/buildtime/velocidoc-templates/macro.vm
    incubator/roller/trunk/tools/buildtime/velocidoc-templates/overview-frame.vm
    incubator/roller/trunk/tools/buildtime/velocidoc-templates/package-overview.vm
    incubator/roller/trunk/tools/buildtime/velocidoc-templates/package-templatelist.vm
    incubator/roller/trunk/tools/buildtime/velocidoc-templates/roller-overview.vm
    incubator/roller/trunk/tools/buildtime/velocidoc-templates/stylesheet.vm
    incubator/roller/trunk/tools/buildtime/velocidoc-templates/template.vm
    incubator/roller/trunk/tools/lib/xmlrpc-1.2-b1.jar   (with props)
    incubator/roller/trunk/web/WEB-INF/classes/searchdisabled.vm
    incubator/roller/trunk/web/editor/ekitappletspell.jar   (with props)
    incubator/roller/trunk/web/local-banner-planet.jspf
Modified:
    incubator/roller/trunk/CHANGES.txt
    incubator/roller/trunk/LICENSE.txt
    incubator/roller/trunk/ant.properties
    incubator/roller/trunk/build.xml
    incubator/roller/trunk/sandbox/planetroller/src/org/roller/tools/planet/PlanetTool.java
    incubator/roller/trunk/sandbox/standalone/build.xml
    incubator/roller/trunk/sandbox/standalone/tomcat/hibernate.cfg.xml
    incubator/roller/trunk/sandbox/standalone/tomcat/setenv.bat
    incubator/roller/trunk/src/org/roller/RollerException.java
    incubator/roller/trunk/src/org/roller/RollerPermissionsException.java
    incubator/roller/trunk/src/org/roller/business/AutoPingManagerImpl.java
    incubator/roller/trunk/src/org/roller/business/FileManagerImpl.java
    incubator/roller/trunk/src/org/roller/business/IndexManagerImpl.java
    incubator/roller/trunk/src/org/roller/business/PingQueueManagerImpl.java
    incubator/roller/trunk/src/org/roller/business/PingTargetManagerImpl.java
    incubator/roller/trunk/src/org/roller/business/PlanetManagerImpl.java
    incubator/roller/trunk/src/org/roller/business/RollerImpl.java
    incubator/roller/trunk/src/org/roller/business/hibernate/HibernatePlanetManagerImpl.java
    incubator/roller/trunk/src/org/roller/business/hibernate/HibernateRefererManagerImpl.java
    incubator/roller/trunk/src/org/roller/business/hibernate/package.html
    incubator/roller/trunk/src/org/roller/business/package.html
    incubator/roller/trunk/src/org/roller/business/search/operations/AddEntryOperation.java
    incubator/roller/trunk/src/org/roller/business/search/operations/ReIndexEntryOperation.java
    incubator/roller/trunk/src/org/roller/business/search/operations/RebuildUserIndexOperation.java
    incubator/roller/trunk/src/org/roller/business/search/operations/package.html
    incubator/roller/trunk/src/org/roller/business/search/package.html
    incubator/roller/trunk/src/org/roller/model/AutoPingManager.java
    incubator/roller/trunk/src/org/roller/model/BookmarkManager.java
    incubator/roller/trunk/src/org/roller/model/ConfigManager.java
    incubator/roller/trunk/src/org/roller/model/FileManager.java
    incubator/roller/trunk/src/org/roller/model/IndexManager.java
    incubator/roller/trunk/src/org/roller/model/PingQueueManager.java
    incubator/roller/trunk/src/org/roller/model/PingTargetManager.java
    incubator/roller/trunk/src/org/roller/model/PropertiesManager.java
    incubator/roller/trunk/src/org/roller/model/RefererManager.java
    incubator/roller/trunk/src/org/roller/model/Roller.java
    incubator/roller/trunk/src/org/roller/model/RollerFactory.java
    incubator/roller/trunk/src/org/roller/model/ScheduledTask.java
    incubator/roller/trunk/src/org/roller/model/ThreadManager.java
    incubator/roller/trunk/src/org/roller/model/UserManager.java
    incubator/roller/trunk/src/org/roller/model/WeblogManager.java
    incubator/roller/trunk/src/org/roller/model/package.html
    incubator/roller/trunk/src/org/roller/package.html
    incubator/roller/trunk/src/org/roller/pojos/PersistentObject.java
    incubator/roller/trunk/src/org/roller/pojos/WeblogEntryData.java
    incubator/roller/trunk/src/org/roller/pojos/package.html
    incubator/roller/trunk/src/org/roller/presentation/RollerContext.java
    incubator/roller/trunk/src/org/roller/presentation/RollerRequest.java
    incubator/roller/trunk/src/org/roller/presentation/bookmarks/actions/ImportBookmarksFormAction.java
    incubator/roller/trunk/src/org/roller/presentation/bookmarks/actions/package.html
    incubator/roller/trunk/src/org/roller/presentation/bookmarks/formbeans/package.html
    incubator/roller/trunk/src/org/roller/presentation/bookmarks/tags/package.html
    incubator/roller/trunk/src/org/roller/presentation/filters/package.html
    incubator/roller/trunk/src/org/roller/presentation/forms/package.html
    incubator/roller/trunk/src/org/roller/presentation/newsfeeds/package.html
    incubator/roller/trunk/src/org/roller/presentation/package.html
    incubator/roller/trunk/src/org/roller/presentation/pagecache/package.html
    incubator/roller/trunk/src/org/roller/presentation/planet/PlanetAction.java
    incubator/roller/trunk/src/org/roller/presentation/tags/calendar/package.html
    incubator/roller/trunk/src/org/roller/presentation/tags/menu/BaseRollerMenu.java
    incubator/roller/trunk/src/org/roller/presentation/tags/menu/MenuImpl.java
    incubator/roller/trunk/src/org/roller/presentation/tags/menu/MenuItem.java
    incubator/roller/trunk/src/org/roller/presentation/tags/menu/RollerMenuModel.java
    incubator/roller/trunk/src/org/roller/presentation/tags/menu/package.html
    incubator/roller/trunk/src/org/roller/presentation/tags/package.html
    incubator/roller/trunk/src/org/roller/presentation/velocity/CommentServlet.java
    incubator/roller/trunk/src/org/roller/presentation/velocity/PlanetFeedServlet.java
    incubator/roller/trunk/src/org/roller/presentation/velocity/SearchServlet.java
    incubator/roller/trunk/src/org/roller/presentation/velocity/package.html
    incubator/roller/trunk/src/org/roller/presentation/weblog/actions/WeblogEntryFormAction.java
    incubator/roller/trunk/src/org/roller/presentation/weblog/actions/WeblogEntryPageModel.java
    incubator/roller/trunk/src/org/roller/presentation/weblog/actions/package.html
    incubator/roller/trunk/src/org/roller/presentation/weblog/formbeans/WeblogEntryFormEx.java
    incubator/roller/trunk/src/org/roller/presentation/weblog/formbeans/package.html
    incubator/roller/trunk/src/org/roller/presentation/weblog/package.html
    incubator/roller/trunk/src/org/roller/presentation/weblog/tags/package.html
    incubator/roller/trunk/src/org/roller/presentation/website/actions/WebsiteFormAction.java
    incubator/roller/trunk/src/org/roller/presentation/website/actions/package.html
    incubator/roller/trunk/src/org/roller/presentation/website/formbeans/RollerConfigFormEx.java
    incubator/roller/trunk/src/org/roller/presentation/website/formbeans/package.html
    incubator/roller/trunk/src/org/roller/presentation/website/package.html
    incubator/roller/trunk/src/org/roller/presentation/website/tags/package.html
    incubator/roller/trunk/src/org/roller/presentation/xmlrpc/MetaWeblogAPIHandler.java
    incubator/roller/trunk/src/org/roller/presentation/xmlrpc/package.html
    incubator/roller/trunk/src/org/roller/util/package.html
    incubator/roller/trunk/tests/org/roller/business/IndexManagerTest.java
    incubator/roller/trunk/web/WEB-INF/classes/ApplicationResources.properties
    incubator/roller/trunk/web/WEB-INF/classes/bookmark.vm
    incubator/roller/trunk/web/WEB-INF/classes/comments.vm
    incubator/roller/trunk/web/WEB-INF/classes/flavors/atom.vm
    incubator/roller/trunk/web/WEB-INF/classes/navbar.vm
    incubator/roller/trunk/web/WEB-INF/classes/newsfeed.vm
    incubator/roller/trunk/web/WEB-INF/classes/planetrss.vm
    incubator/roller/trunk/web/WEB-INF/classes/referer.vm
    incubator/roller/trunk/web/WEB-INF/classes/roller.properties
    incubator/roller/trunk/web/WEB-INF/classes/roller.vm
    incubator/roller/trunk/web/WEB-INF/classes/rssmacros.vm
    incubator/roller/trunk/web/WEB-INF/classes/searchresults_day.vm
    incubator/roller/trunk/web/WEB-INF/classes/user.vm
    incubator/roller/trunk/web/WEB-INF/classes/weblog.vm
    incubator/roller/trunk/web/WEB-INF/classes/website.vm
    incubator/roller/trunk/web/WEB-INF/editor-menu.xml
    incubator/roller/trunk/web/main.jsp
    incubator/roller/trunk/web/planet.jsp
    incubator/roller/trunk/web/planet/PlanetConfig.jsp
    incubator/roller/trunk/web/weblog/WeblogEdit.jsp
    incubator/roller/trunk/web/weblog/editor-ekit.jsp

Modified: incubator/roller/trunk/CHANGES.txt
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/CHANGES.txt?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/CHANGES.txt (original)
+++ incubator/roller/trunk/CHANGES.txt Sat Jun 25 12:45:36 2005
@@ -1,6 +1,44 @@
 
 ROLLER CHANGE LOG
 -----------------
+
+Roller 1.2 - New feature release
+
+Also, changed license to Apache License v2.0
+
+    New Feature
+    * [ROL-305] - Configurable Weblogs.com pings
+
+    Improvement
+    * [ROL-708] - Metadata driven configuration
+    * [ROL-730] - Upgraded to Ekit-editor version 1.0
+
+    Bugs fixes
+    * [ROL-684] - ekit jar in wrong place
+    * [ROL-699] - Weblog Editor shows wrong timezone
+    * [ROL-725] - RSS dates are invalid in non-English locales
+    * [ROL-729] - Deleting Pinned to Main Entry
+    * [ROL-734] - Bookmark OPML fails if folder named 'unfiled' already exists
+    * [ROL-742] - Saving Website:Settings clears hit count
+    * [ROL-743] - #showOpmlLink() macro broken
+
+------------------------------------------------------------------------------
+Roller 1.1.2 - Bug fix release
+
+No new features, just one bug fix.
+
+   * [ROL-724] - Deleted and modified entris not removed from Search Index
+
+------------------------------------------------------------------------------
+Roller 1.1.1 - Bug fix release
+
+No new features, just one bug fix.
+
+   * [ROL-716] Search is broken
+   
+------------------------------------------------------------------------------
+Roller 1.1 - New feature release
+
 This release includes basic support for Podcasting, bug fixes and minor improvements.
 A new aggregator front page (known as Planet Roller) has been added to Roller, but
 it is an unsupported feature available only via Roller's custom build mechanism.

Modified: incubator/roller/trunk/LICENSE.txt
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/LICENSE.txt?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/LICENSE.txt (original)
+++ incubator/roller/trunk/LICENSE.txt Sat Jun 25 12:45:36 2005
@@ -1,46 +1,201 @@
-
-Roller Software License
-
-Version 1.0
-
-Copyright (c) 2000 David M Johnson. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, 
-are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this 
-list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice, 
-this list of conditions and the following disclaimer in the documentation and/or 
-other materials provided with the distribution.
-
-3. The end-user documentation included with the redistribution, if any, must 
-include the following acknowledgment:
-
-"This product includes software developed by David M Johnson"
-
-Alternately, this acknowledgment may appear in the software itself, if and 
-wherever such third-party acknowledgments normally appear.
-
-4. The names "Roller" and "David M Johnson" must not be used to endorse or 
-promote products derived from this software without prior written permission. 
-For written permission, please contact snoopdave@users.sourceforce.net.
-
-5. Products derived from this software may not be called "Roller", nor may 
-"Roller" appear in their name, without prior written permission of David M Johnson.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, 
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 
-FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ROLLER
-PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
-POSSIBILITY OF SUCH DAMAGE.
-
-This software consists of voluntary contributions made by many individuals on 
-behalf of the David M Johnson. 
-
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.

Modified: incubator/roller/trunk/ant.properties
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/ant.properties?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/ant.properties (original)
+++ incubator/roller/trunk/ant.properties Sat Jun 25 12:45:36 2005
@@ -1,6 +1,7 @@
 build.debug=on
 build.deprecation=false
-ro.version=1.2-dev
+ro.version=1.2
+#ro.version=1.2-BlogApps
 ro.build=./build
 ro.tools=./tools
 basedir=.

Modified: incubator/roller/trunk/build.xml
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/build.xml?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/build.xml (original)
+++ incubator/roller/trunk/build.xml Sat Jun 25 12:45:36 2005
@@ -386,12 +386,6 @@
     <copy todir="${build.stage_web}/WEB-INF/tlds">
         <fileset dir="${ro.tools}/lib" includes="*.tld"/>
     </copy>
-    <!-- Copy applet jars to root of servlet context -->
-    <copy todir="${build.stage_web}">
-        <fileset dir="${ro.tools}/lib">
-            <include name="ekitapplet.jar"/>
-        </fileset>
-    </copy>
     <!-- copy database related files -->
     <antcall target="stage-dbscripts" />
 
@@ -464,9 +458,17 @@
 </target>
 
 <!-- ********************************************************************* -->
-<!-- Generate Javadocs -->
+<!-- Generate Javadocs and Velocidocs -->
 <!-- ********************************************************************* -->
 	
+<target name="docs" depends="javadoc,velocidoc" >
+    <copy todir="${build.javadoc}">
+        <fileset dir="${build.velocidoc}/docs">
+            <include name="*.css"/>
+        </fileset>
+    </copy>
+</target>
+
 <target name="javadoc">
     <mkdir dir="${build.javadoc}"/>
     <javadoc
@@ -491,31 +493,36 @@
         <link href="http://jakarta.apache.org/struts/doc-1.0.2/api"/>
         <link href="http://hibernate.bluemars.net/hib_docs/api/"/>
     </javadoc>
-
-    <antcall target="velocidoc" />
+    <copy todir="${build.javadoc}">
+        <fileset dir="${basedir}/src">
+            <include name="**/roller*.png"/>
+        </fileset>
+    </copy>
 </target>
 	
 <target name="velocidoc">
     <mkdir dir="${build.velocidoc}/temp"/>
     <copy todir="${build.velocidoc}/temp">
         <fileset dir="./web/WEB-INF/classes/">
-            <include name="bookmarks.vm" />
+            <include name="bookmark.vm" />
             <include name="comments.vm" />
             <include name="navbar.vm" />
-            <include name="navbar-css.vm" />
             <include name="referer.vm" />
             <include name="roller.vm" />
             <include name="rssmacros.vm" />
             <include name="user.vm" />
             <include name="weblog.vm" />
             <include name="website.vm" />
+            <!--
+            -->
         </fileset>
     </copy>
     <mkdir dir="${build.velocidoc}/docs"/>
     <java fork="true" jar="${ro.tools}/buildtime/velocidoc-app.jar">
-        <arg line="-s ${build.velocidocs}/temp -d ${build.velocidoc}/docs"/>
-        <arg line="-ctl ${ro.tools}/buildtime/velocidoc-templates/control.vm"/>
-        <arg line="-src ${ro.tools}/buildtime/velocidoc-templates/"/>
+        <arg line="-s ${build.velocidoc}/temp \
+           -d ${build.velocidoc}/docs \
+           -t ${ro.tools}/buildtime/velocidoc-templates/ \
+           -c ${ro.tools}/buildtime/velocidoc-templates/control.vm "/>
     </java>
 </target>
 

Modified: incubator/roller/trunk/sandbox/planetroller/src/org/roller/tools/planet/PlanetTool.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/sandbox/planetroller/src/org/roller/tools/planet/PlanetTool.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/sandbox/planetroller/src/org/roller/tools/planet/PlanetTool.java (original)
+++ incubator/roller/trunk/sandbox/planetroller/src/org/roller/tools/planet/PlanetTool.java Sat Jun 25 12:45:36 2005
@@ -238,6 +238,11 @@
     {
         throw new RuntimeException("Not implemented");
     }
+    
+    public List getTopSubscriptions(PlanetGroupData group, int max) throws RollerException
+    {
+        throw new RuntimeException("Not implemented");
+    }
 
     public PlanetSubscriptionData getSubscriptionById(String id) 
         throws RollerException

Modified: incubator/roller/trunk/sandbox/standalone/build.xml
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/sandbox/standalone/build.xml?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/sandbox/standalone/build.xml (original)
+++ incubator/roller/trunk/sandbox/standalone/build.xml Sat Jun 25 12:45:36 2005
@@ -83,22 +83,33 @@
         todir="./build/roller-demo/conf/Catalina/localhost" />
         
    <!-- And hibernate.cfg.xml configured for HSQLDB -->
+   <mkdir dir="./build/roller-demo/common/classes" />
+   <copy file="./tomcat/roller-custom.properties" overwrite="true"
+        todir="./build/roller-demo/common/classes" />
+   
+   <!-- And hibernate.cfg.xml configured for HSQLDB -->
    <copy file="./tomcat/hibernate.cfg.xml" overwrite="true"
         todir="./build/roller-demo/webapps/roller/WEB-INF/classes" />
-   
+	   
    <!-- Roller HSQLDB starter goes into Tomcat -->
    <copy file="./build/roller-hsqldb.jar" 
         todir="./build/roller-demo/server/lib" />
    <copy file="${roller.srcdir}/tools/buildtime/hsqldb.jar" 
         todir="./build/roller-demo/common/lib" />
+	
+   <!-- Custom local-banner -->
+   <copy file="./tomcat/localbanner.jspf" 
+        todir="./build/roller-demo/webapps/roller" />
 
    <!-- Our own server.xml: adds HSQLDB startup -->         
    <copy file="./tomcat/server.xml"
         todir="./build/roller-demo/conf" />
         
    <!-- Define VM properties needed by HSQLDB and JSPWiki plugins -->
-   <copy file="./tomcat/setenv.sh"
-        todir="./build/roller-demo/bin" />
+	   <copy file="./tomcat/setenv.sh"
+	        todir="./build/roller-demo/bin" />
+	   <copy file="./tomcat/setenv.bat"
+	        todir="./build/roller-demo/bin" />
         
    <chmod perm="+x">
        <fileset dir="./build/roller-demo/bin" includes="*.sh" />
@@ -121,13 +132,6 @@
         url="jdbc:hsqldb:hsql://localhost:3219"
         userid="sa" password=""
         src="./build/roller-demo/webapps/roller/WEB-INF/dbscripts/hsql/createdb.sql"
-        classpath="./build/roller-demo/common/lib/hsqldb.jar" />
-        
-    <!-- Create Roller Planet database tables -->
-    <sql driver="org.hsqldb.jdbcDriver"
-        url="jdbc:hsqldb:hsql://localhost:3219"
-        userid="sa" password=""
-        src="./build/roller-demo/webapps/roller/WEB-INF/dbscripts/hsql/createdb-planet.sql"
         classpath="./build/roller-demo/common/lib/hsqldb.jar" />
         
     <!-- Shutdown HSQLDB -->

Modified: incubator/roller/trunk/sandbox/standalone/tomcat/hibernate.cfg.xml
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/sandbox/standalone/tomcat/hibernate.cfg.xml?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/sandbox/standalone/tomcat/hibernate.cfg.xml (original)
+++ incubator/roller/trunk/sandbox/standalone/tomcat/hibernate.cfg.xml Sat Jun 25 12:45:36 2005
@@ -19,6 +19,10 @@
         <mapping resource="org/roller/pojos/FolderAssoc.hbm.xml" />
         <mapping resource="org/roller/pojos/FolderData.hbm.xml" />
         <mapping resource="org/roller/pojos/PageData.hbm.xml" />
+        <mapping resource="org/roller/pojos/PingCategoryRestrictionData.hbm.xml" />
+        <mapping resource="org/roller/pojos/AutoPingData.hbm.xml" />
+        <mapping resource="org/roller/pojos/PingQueueEntryData.hbm.xml" />
+        <mapping resource="org/roller/pojos/PingTargetData.hbm.xml" />
         <mapping resource="org/roller/pojos/RefererData.hbm.xml" />
         <mapping resource="org/roller/pojos/RoleData.hbm.xml" />
         <mapping resource="org/roller/pojos/RollerConfigData.hbm.xml" />
@@ -28,7 +32,7 @@
         <mapping resource="org/roller/pojos/WeblogCategoryAssoc.hbm.xml" />
         <mapping resource="org/roller/pojos/WeblogEntryData.hbm.xml" />
         <mapping resource="org/roller/pojos/WebsiteData.hbm.xml" />
-
+        <mapping resource="org/roller/pojos/RollerPropertyData.hbm.xml" />
         <mapping resource="org/roller/pojos/PlanetConfigData.hbm.xml" />
         <mapping resource="org/roller/pojos/PlanetGroupData.hbm.xml" />
         <mapping resource="org/roller/pojos/PlanetEntryData.hbm.xml" />

Modified: incubator/roller/trunk/sandbox/standalone/tomcat/setenv.bat
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/sandbox/standalone/tomcat/setenv.bat?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/sandbox/standalone/tomcat/setenv.bat (original)
+++ incubator/roller/trunk/sandbox/standalone/tomcat/setenv.bat Sat Jun 25 12:45:36 2005
@@ -1 +1,2 @@
 set JAVA_OPTS=-Dhsqldb_database=%CATALINA_HOME%\blogdata\rollerdb -Dhsqldb_port=7475 -DrollerPageDir=%CATALINA_HOME%\wikidata -DrollerStorageDir=%CATALINA_HOME%\wikiattachments
+set CATALINA_TMPDIR=\temp
\ No newline at end of file

Modified: incubator/roller/trunk/src/org/roller/RollerException.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/RollerException.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/RollerException.java (original)
+++ incubator/roller/trunk/src/org/roller/RollerException.java Sat Jun 25 12:45:36 2005
@@ -4,36 +4,57 @@
 import java.io.PrintStream;
 import java.io.PrintWriter;
 
-/** 
- * Generic RollerException
+/**
+ * Roller services interfaces throw this exception.
  */ 
 public class RollerException extends Exception
 {
     private Throwable mRootCause = null;
     
+	/**
+	 * Construct RollerException, wrapping existing throwable.
+	 * @param s Error message
+	 * @param t Existing connection to wrap.
+	 */
 	public RollerException(String s,Throwable t)
 	{
 		super(s);
         mRootCause = t;
 	}
+	/**
+	 * Construct RollerException, wrapping existing throwable.
+	 * @param t Existing exception to be wrapped.
+	 */
 	public RollerException(Throwable t)
 	{
         mRootCause = t;
 	}
+	/**
+	 * Construct RollerException with message string.
+	 * @param s Error message string.
+	 */
 	public RollerException(String s)
 	{
 		super(s);
 	}
+	/**
+	 * Construct emtpy exception object.
+	 */
 	public RollerException()
 	{
 		super();
 	}
+    /**
+     * Get root cause object, or null if none.
+     * @return Root cause or null if none.
+     */
     public Throwable getRootCause()
     {
         return mRootCause;
     }
    
-    /** 
+    /**
+     * Print stack trace for exception and for root cause exception if htere is one.
      * @see java.lang.Throwable#printStackTrace()
      */
     public void printStackTrace()
@@ -46,8 +67,9 @@
         }
     }
 
-    /** 
-     * @see java.lang.Throwable#printStackTrace(java.io.PrintStream)
+    /**
+     * Print stack trace for exception and for root cause exception if htere is one.
+     * @param s Stream to print to.
      */
     public void printStackTrace(PrintStream s)
     {
@@ -59,8 +81,9 @@
         }
     }
 
-    /** 
-     * @see java.lang.Throwable#printStackTrace(java.io.PrintWriter)
+    /**
+     * Print stack trace for exception and for root cause exception if htere is one.
+     * @param s Writer to write to.
      */
     public void printStackTrace(PrintWriter s)
     {
@@ -72,6 +95,10 @@
        }
     }
 
+    /**
+     * Get root cause message.
+     * @return Root cause message.
+     */
     public String getRootCauseMessage() 
     {
         String rcmessage = null;

Modified: incubator/roller/trunk/src/org/roller/RollerPermissionsException.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/RollerPermissionsException.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/RollerPermissionsException.java (original)
+++ incubator/roller/trunk/src/org/roller/RollerPermissionsException.java Sat Jun 25 12:45:36 2005
@@ -1,18 +1,31 @@
 package org.roller;
 
-/** 
- * Throw when persistence session user lacks one or more required permissions.
+/**
+ * Thrown when persistence session user lacks one or more required permissions.
  */ 
 public class RollerPermissionsException extends RollerException
 {
+	/**
+	 * Construct RollerException, wrapping existing throwable.
+	 * @param s Error message.
+	 * @param t Throwable to be wrapped
+	 */
 	public RollerPermissionsException(String s,Throwable t)
 	{
 		super(s,t);
 	}
+	/**
+	 * Construct RollerException, wrapping existing throwable.
+	 * @param t Throwable to be wrapped
+	 */
 	public RollerPermissionsException(Throwable t)
 	{
         super(t);
 	}
+	/**
+	 * Construct RollerException, with error message.
+	 * @param s Error message
+	 */
 	public RollerPermissionsException(String s)
 	{
 		super(s);

Modified: incubator/roller/trunk/src/org/roller/business/AutoPingManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/AutoPingManagerImpl.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/business/AutoPingManagerImpl.java (original)
+++ incubator/roller/trunk/src/org/roller/business/AutoPingManagerImpl.java Sat Jun 25 12:45:36 2005
@@ -26,6 +26,9 @@
 import java.util.Iterator;
 import java.util.Collection;
 
+/**
+ * Abstract implementation of AutoPingManager.
+ */
 public abstract class AutoPingManagerImpl implements AutoPingManager
 {
     protected PersistenceStrategy persistenceStrategy;

Modified: incubator/roller/trunk/src/org/roller/business/FileManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/FileManagerImpl.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/business/FileManagerImpl.java (original)
+++ incubator/roller/trunk/src/org/roller/business/FileManagerImpl.java Sat Jun 25 12:45:36 2005
@@ -46,7 +46,7 @@
         String uploadurl = RollerConfig.getProperty("uploads.url");
         
         if(uploaddir == null || uploaddir.trim().length() < 1)
-            uploaddir = "${user.home}/roller_data/uploads";
+            uploaddir = "${user.home}"+File.separator+"roller_data"+File.separator+"uploads";
         
         if(uploaddir.startsWith("${user.home}"))
             uploaddir = System.getProperty("user.home") + uploaddir.substring(12);
@@ -55,9 +55,9 @@
             uploaddir += File.separator;
         
         if(uploadurl == null || uploadurl.trim().length() < 1)
-            uploadurl = "/resources";
+            uploadurl = File.separator+"resources";
         
-        this.upload_dir = uploaddir;
+        this.upload_dir = uploaddir.replace('/',File.separatorChar);
         this.upload_url = uploadurl;
     }
     

Modified: incubator/roller/trunk/src/org/roller/business/IndexManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/IndexManagerImpl.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/business/IndexManagerImpl.java (original)
+++ incubator/roller/trunk/src/org/roller/business/IndexManagerImpl.java Sat Jun 25 12:45:36 2005
@@ -26,21 +26,20 @@
 import org.roller.business.search.operations.RemoveUserIndexOperation;
 import org.roller.business.search.operations.WriteToIndexOperation;
 import org.roller.model.IndexManager;
-import org.roller.model.ThreadManager;
 import org.roller.pojos.UserData;
 import org.roller.pojos.WeblogEntryData;
 
 import EDU.oswego.cs.dl.util.concurrent.ReadWriteLock;
 import EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock;
+import org.roller.config.RollerConfig;
+import org.roller.model.RollerFactory;
+import org.roller.util.StringUtils;
 
 /**
+ * Lucene implementation of IndexManager. This is the central entry point into the Lucene
+ * searching API.
  * @author aim4min
- * @author mraible (formatting and indexDir configurable)
- * 
- * This is the lucene manager. This is the central entry point into the Lucene
- * searching API. This should be retrieved from the roller context, and not
- * instatiated manually.
- *  
+ * @author mraible (formatting and making indexDir configurable)
  */
 public class IndexManagerImpl implements IndexManager
 {
@@ -55,7 +54,7 @@
     //~ Instance fields
     // ========================================================
 
-    private ThreadManager mThreadManager;
+    private boolean searchEnabled = true;
 
     File indexConsistencyMarker;
 
@@ -81,72 +80,106 @@
      * @param indexDir -
      *            the path to the index directory
      */
-    public IndexManagerImpl(String indexDir, ThreadManager manager)
+    public IndexManagerImpl()
     {
-        this.mThreadManager = manager;
-
-        this.indexDir = indexDir;
+        // check config to see if the internal search is enabled
+        String enabled = RollerConfig.getProperty("search.enabled");
+        if("false".equalsIgnoreCase(enabled))
+            this.searchEnabled = false;
+        
+        // we also need to know what our index directory is
+        String indexDir = RollerConfig.getProperty("search.index.dir");
+        if (indexDir.indexOf("${user.home}") != -1) 
+        {
+            indexDir = StringUtils.replace(
+                    indexDir, "${user.home}",
+                    System.getProperty("user.home"));
+        }
+
+        this.indexDir = indexDir.replace('/', File.separatorChar);
+        
+        // a little debugging
+        mLogger.info("search enabled: " + this.searchEnabled);
+        mLogger.info("index dir: " + this.indexDir);
 
         String test = indexDir + File.separator + ".index-inconsistent";
         indexConsistencyMarker = new File(test);
 
-        // 1. If inconsistency marker exists.
-        //     Delete index
-        // 2. if we're using RAM index
-        //     load ram index wrapper around index
-        //
-        if (indexConsistencyMarker.exists())
-        {
-            getFSDirectory(true);
-            inconsistentAtStartup = true;
-        }
-        else
+        // only setup the index if search is enabled
+        if (this.searchEnabled) 
         {
-            try
+            
+            // 1. If inconsistency marker exists.
+            //     Delete index
+            // 2. if we're using RAM index
+            //     load ram index wrapper around index
+            //
+            if (indexConsistencyMarker.exists()) 
+            {
+                getFSDirectory(true);
+                inconsistentAtStartup = true;
+            } 
+            else 
             {
-                File makeIndexDir = new File(indexDir);
-                if (!makeIndexDir.exists())
+                try 
                 {
-                    makeIndexDir.mkdirs();
-                    inconsistentAtStartup = true;
+                    File makeIndexDir = new File(indexDir);
+                    if (!makeIndexDir.exists()) 
+                    {
+                        makeIndexDir.mkdirs();
+                        inconsistentAtStartup = true;
+                    }
+                    indexConsistencyMarker.createNewFile();
+                } 
+                catch (IOException e) 
+                {
+                    mLogger.error(e);
                 }
-                indexConsistencyMarker.createNewFile();
-            }
-            catch (IOException e)
-            {
-                mLogger.error(e);
             }
-        }
-
-        if (indexExists())
-        {
-            if (useRAMIndex)
+            
+            if (indexExists()) 
             {
-                Directory filesystem = getFSDirectory(false);
-
-                try
+                if (useRAMIndex) 
                 {
-                    fRAMindex = new RAMDirectory(filesystem);
+                    Directory filesystem = getFSDirectory(false);
+                    
+                    try 
+                    {
+                        fRAMindex = new RAMDirectory(filesystem);
+                    } 
+                    catch (IOException e)                     
+                    {
+                        mLogger.error("Error creating in-memory index", e);
+                    }
                 }
-                catch (IOException e)
+            } 
+            else 
+            {
+                if (useRAMIndex) 
+                {
+                    fRAMindex = new RAMDirectory();
+                    createIndex(fRAMindex);
+                } 
+                else 
                 {
-                    mLogger.error("Error creating in-memory index", e);
+                    createIndex(getFSDirectory(true));
                 }
             }
-        }
-        else
-        {
-            if (useRAMIndex)
-            {
-                fRAMindex = new RAMDirectory();
-                createIndex(fRAMindex);
-            }
-            else
+            
+            if (isInconsistentAtStartup())
             {
-                createIndex(getFSDirectory(true));
-            }
+                mLogger.info(
+                    "Index was inconsistent. Rebuilding index in the background...");
+                try 
+                {                    
+                    rebuildUserIndex();
+                }
+                catch (RollerException e) 
+                {
+                    mLogger.error("ERROR: scheduling re-index operation");
+                }
+            }       
         }
-
     }
 
     //~ Methods
@@ -202,11 +235,19 @@
         return new StandardAnalyzer();
     }
 
-    public void scheduleIndexOperation(final IndexOperation op)
+    private void scheduleIndexOperation(final IndexOperation op)
     {
         try
         {
-            mThreadManager.executeInBackground(op);
+            // only if search is enabled
+            if(this.searchEnabled) {
+                mLogger.debug("Starting scheduled index operation: "+op.getClass().getName());
+                RollerFactory.getRoller().getThreadManager().executeInBackground(op);
+            }
+        }
+        catch (RollerException re)
+        {
+            mLogger.error("Error getting thread manager", re);
         }
         catch (InterruptedException e)
         {
@@ -221,7 +262,15 @@
     {
         try
         {
-            mThreadManager.executeInForeground(op);
+            // only if search is enabled
+            if(this.searchEnabled) {
+                mLogger.debug("Executing index operation now: "+op.getClass().getName());
+                RollerFactory.getRoller().getThreadManager().executeInForeground(op);
+            }
+        }
+        catch (RollerException re)
+        {
+            mLogger.error("Error getting thread manager", re);
         }
         catch (InterruptedException e)
         {

Modified: incubator/roller/trunk/src/org/roller/business/PingQueueManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/PingQueueManagerImpl.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/business/PingQueueManagerImpl.java (original)
+++ incubator/roller/trunk/src/org/roller/business/PingQueueManagerImpl.java Sat Jun 25 12:45:36 2005
@@ -14,6 +14,9 @@
 import org.roller.model.PingQueueManager;
 import org.roller.pojos.PingQueueEntryData;
 
+/**
+ * Abstract implementation of PingQueueManager.
+ */
 public abstract class PingQueueManagerImpl implements PingQueueManager
 {
     protected PersistenceStrategy persistenceStrategy;

Modified: incubator/roller/trunk/src/org/roller/business/PingTargetManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/PingTargetManagerImpl.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/business/PingTargetManagerImpl.java (original)
+++ incubator/roller/trunk/src/org/roller/business/PingTargetManagerImpl.java Sat Jun 25 12:45:36 2005
@@ -24,6 +24,9 @@
 import java.util.Iterator;
 import java.util.List;
 
+/**
+ * Abstract implementation of PingTargetManager.
+ */
 public abstract class PingTargetManagerImpl implements PingTargetManager
 {
     protected PersistenceStrategy persistenceStrategy;

Modified: incubator/roller/trunk/src/org/roller/business/PlanetManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/PlanetManagerImpl.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/business/PlanetManagerImpl.java (original)
+++ incubator/roller/trunk/src/org/roller/business/PlanetManagerImpl.java Sat Jun 25 12:45:36 2005
@@ -39,13 +39,17 @@
     protected Roller roller = null;
     protected PersistenceStrategy strategy;
     protected Date lastUpdated = new Date();
-    protected List aggregation = null;
     protected Map lastUpdatedByGroup = new HashMap();
     
     // Cache up to 20 aggregations, each for up to 30 minutes
     // TODO: make this aggregation cache configurable
     protected LRUCache2 aggregationsByGroup = 
-            new LRUCache2(20, 30 * 60 * 1000);
+        new LRUCache2(20, 30 * 60 * 1000);
+    
+    // Cache up to 20 aggregations, each for up to 30 minutes
+    // TODO: make this top-subscriptions cache configurable
+    protected LRUCache2 topSubscriptionsByGroup = 
+        new LRUCache2(20, 30 * 60 * 1000);
 
     private static Log logger =
         LogFactory.getFactory().getInstance(PlanetManagerImpl.class);
@@ -209,6 +213,7 @@
                 }
                 sub.purgeEntries();
                 sub.addEntries(newEntries); 
+                if (roller != null) roller.commit();
             }
             long subEndTime = System.currentTimeMillis();  
             logger.info("   " + count + " - " 
@@ -226,8 +231,8 @@
 
     public synchronized void clearCachedAggregations() 
     {
-        aggregation = null;
         aggregationsByGroup.purge();
+        topSubscriptionsByGroup.purge();
         lastUpdatedByGroup.clear();
         lastUpdated = new Date();
     }

Modified: incubator/roller/trunk/src/org/roller/business/RollerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/RollerImpl.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/business/RollerImpl.java (original)
+++ incubator/roller/trunk/src/org/roller/business/RollerImpl.java Sat Jun 25 12:45:36 2005
@@ -71,18 +71,7 @@
     {
         if (mIndexManager == null)
         {
-            String indexDir = RollerConfig.getProperty("search.index.dir");
-            if (indexDir.indexOf("${user.home}") != -1)
-            {
-                indexDir = StringUtils.replace(
-                        indexDir, "${user.home}",
-                        System.getProperty("user.home"));
-            }
-            if (mLogger.isDebugEnabled())
-            {
-                mLogger.debug("index dir: " + indexDir);
-            }
-            mIndexManager = new IndexManagerImpl(indexDir, this.getThreadManager());
+            mIndexManager = new IndexManagerImpl();
         }
         return mIndexManager;
     }

Modified: incubator/roller/trunk/src/org/roller/business/hibernate/HibernatePlanetManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/hibernate/HibernatePlanetManagerImpl.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/business/hibernate/HibernatePlanetManagerImpl.java (original)
+++ incubator/roller/trunk/src/org/roller/business/hibernate/HibernatePlanetManagerImpl.java Sat Jun 25 12:45:36 2005
@@ -47,7 +47,7 @@
  */
 public class HibernatePlanetManagerImpl extends PlanetManagerImpl
 {
-    private List topSubscriptions;
+    private static final String NO_GROUP = "zzz_nogroup_zzz"; 
     
     private static Log logger = 
         LogFactory.getFactory().getInstance(HibernatePlanetManagerImpl.class);
@@ -194,20 +194,14 @@
     public synchronized List getAggregation(PlanetGroupData group, int maxEntries) 
         throws RollerException
     {
-        long startTime = System.currentTimeMillis();
         List ret = null;
         try
         {
-            if (group != null) 
-            {
-                ret = (List)aggregationsByGroup.get(group);
-            }
-            else 
-            {
-                ret = aggregation;
-            }
+            String groupHandle = (group == null) ? NO_GROUP : group.getHandle();
+            ret = (List)aggregationsByGroup.get(groupHandle);
             if (ret == null) 
             {
+                long startTime = System.currentTimeMillis();
                 Session session = 
                     ((HibernateStrategy)strategy).getSession();
                 if (group != null)
@@ -241,16 +235,12 @@
                 {
                     retLastUpdated = new Date();
                 }
-                if (group != null)
-                {
-                    aggregationsByGroup.put(group, ret);
-                    lastUpdatedByGroup.put(group, retLastUpdated);
-                }
-                else
-                {
-                    aggregation = ret;
-                    lastUpdated = retLastUpdated;
-                }
+                aggregationsByGroup.put(groupHandle, ret);
+                lastUpdatedByGroup.put(groupHandle, retLastUpdated);
+
+                long endTime = System.currentTimeMillis();
+                logger.info("Generated aggregation in "
+                                    +((endTime-startTime)/1000.0)+" seconds");
             }
         }
         catch (Exception e)
@@ -258,9 +248,6 @@
             logger.error("ERROR: building aggregation for: "+group, e);
             throw new RollerException(e);
         }
-        long endTime = System.currentTimeMillis();
-        logger.info("Generated aggregation in "
-                                    +((endTime-startTime)/1000.0)+" seconds");
         return ret; 
     }
 
@@ -316,7 +303,9 @@
 
     public synchronized List getTopSubscriptions(int max) throws RollerException
     {
-        if (topSubscriptions == null)
+        String groupHandle = NO_GROUP;
+        List ret = (List)topSubscriptionsByGroup.get(groupHandle);
+        if (ret == null)
         {
             try
             {
@@ -325,20 +314,23 @@
                         session.createCriteria(PlanetSubscriptionData.class);
                 criteria.setMaxResults(max);
                 criteria.addOrder(Order.desc("inboundblogs"));
-                topSubscriptions = criteria.list();
+                ret = criteria.list();
             }
             catch (HibernateException e)
             {
                 throw new RollerException(e);
             }
+            topSubscriptionsByGroup.put(groupHandle, ret);
         }
-        return topSubscriptions;
+        return ret;
     }
 
     public synchronized List getTopSubscriptions(
             PlanetGroupData group, int max) throws RollerException
     {
-        if (topSubscriptions == null)
+        String groupHandle = (group == null) ? NO_GROUP : group.getHandle();
+        List ret = (List)topSubscriptionsByGroup.get(groupHandle);
+        if (ret == null)
         {
             try
             {
@@ -351,21 +343,15 @@
                    +"order by sub.inboundblogs desc");
                 query.setString("groupHandle", group.getHandle());
                 query.setMaxResults(max);
-                topSubscriptions = query.list();
+                ret = query.list();
             }
             catch (HibernateException e)
             {
                 throw new RollerException(e);
             }
+            topSubscriptionsByGroup.put(groupHandle, ret);
         }
-        return topSubscriptions;
+        return ret;
     }
-
-    public synchronized void clearCachedAggregations() 
-    {
-        super.clearCachedAggregations();
-        topSubscriptions = null;
-    }
-
 }
 

Modified: incubator/roller/trunk/src/org/roller/business/hibernate/HibernateRefererManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/hibernate/HibernateRefererManagerImpl.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/business/hibernate/HibernateRefererManagerImpl.java (original)
+++ incubator/roller/trunk/src/org/roller/business/hibernate/HibernateRefererManagerImpl.java Sat Jun 25 12:45:36 2005
@@ -108,6 +108,8 @@
             
             String[] ignoreWords = StringUtils.split(
                 StringUtils.deleteWhitespace(website.getIgnoreWords()),",");
+            if (ignoreWords.length == 0) return;
+            
             Junction or = Expression.disjunction();          
             for (int i=0; i<ignoreWords.length; i++) 
             {

Modified: incubator/roller/trunk/src/org/roller/business/hibernate/package.html
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/hibernate/package.html?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/business/hibernate/package.html (original)
+++ incubator/roller/trunk/src/org/roller/business/hibernate/package.html Sat Jun 25 12:45:36 2005
@@ -4,6 +4,6 @@
   <title></title>
 </head>
 <body>
-Hibernate implementation of the Roller backend.
+Concrete and Hibernate-based implementaitons of business layer interfaces.
 </body>
 </html>

Modified: incubator/roller/trunk/src/org/roller/business/package.html
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/package.html?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/business/package.html (original)
+++ incubator/roller/trunk/src/org/roller/business/package.html Sat Jun 25 12:45:36 2005
@@ -4,8 +4,24 @@
   <title></title>
 </head>
 <body>
-Abstract implementation of the Roller backend interfaces defined in the
-org.roller.model package. The Roller presentation layer should not use
-any of the org.roller.business.* classes directly.
+Abstract implementation of the business layer interfaces.
+
+<p>At this level we avoid dependance on specific persistence engines 
+(e.g. Hibernate). We do this by using an interface named 
+{@link org.roller.business.PersistenceStrategy PersistenceStrategy} 
+to store, retrieve and remove 
+{@link org.roller.pojos.PersistentObject PersistentObjects}.</p>
+
+<img src="roller-persistence.png" 
+    alt="diagram of Roller persistence object and strategy" />
+
+<p>The diagram below illustrates the dependency relationships between the 
+{@link org.roller.pojos org.roller.pojos}, 
+{@link org.roller.model org.roller.model}, and 
+org.roller.business packages.</p>
+
+<img src="roller-services-impl.png" 
+    alt="diagram of Roller business and persistence layers" />
+
 </body>
 </html>

Added: incubator/roller/trunk/src/org/roller/business/roller-persistence.png
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/roller-persistence.png?rev=201785&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/src/org/roller/business/roller-persistence.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/src/org/roller/business/roller-services-impl.png
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/roller-services-impl.png?rev=201785&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/src/org/roller/business/roller-services-impl.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: incubator/roller/trunk/src/org/roller/business/search/operations/AddEntryOperation.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/search/operations/AddEntryOperation.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/business/search/operations/AddEntryOperation.java (original)
+++ incubator/roller/trunk/src/org/roller/business/search/operations/AddEntryOperation.java Sat Jun 25 12:45:36 2005
@@ -11,6 +11,8 @@
 import org.apache.commons.logging.LogFactory;
 import org.apache.lucene.index.IndexWriter;
 import org.roller.business.IndexManagerImpl;
+import org.roller.model.Roller;
+import org.roller.model.RollerFactory;
 import org.roller.pojos.WeblogEntryData;
 
 
@@ -49,7 +51,7 @@
     public void doRun()
     {    	
         IndexWriter writer = beginWriting();
-
+        Roller roller = RollerFactory.getRoller();
         try
         {
             if (writer != null)
@@ -63,6 +65,7 @@
         }
         finally
         {
+            if (roller != null) roller.release();
             endWriting();
         }    	
     }

Modified: incubator/roller/trunk/src/org/roller/business/search/operations/ReIndexEntryOperation.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/search/operations/ReIndexEntryOperation.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/business/search/operations/ReIndexEntryOperation.java (original)
+++ incubator/roller/trunk/src/org/roller/business/search/operations/ReIndexEntryOperation.java Sat Jun 25 12:45:36 2005
@@ -9,12 +9,14 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexReader;
-import org.roller.business.IndexManagerImpl;
-import org.roller.pojos.WeblogEntryData;
+import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.Term;
+import org.roller.business.IndexManagerImpl;
 import org.roller.business.search.FieldConstants;
+import org.roller.model.Roller;
+import org.roller.model.RollerFactory;
+import org.roller.pojos.WeblogEntryData;
 
 /**
  * @author aim4min
@@ -69,6 +71,7 @@
         }
         
         IndexWriter writer = beginWriting();
+        Roller roller = RollerFactory.getRoller();
         try
         {
             if (writer != null)
@@ -82,6 +85,7 @@
         }
         finally
         {
+            if (roller != null) roller.release();
             endWriting();
         }    	
     }    

Modified: incubator/roller/trunk/src/org/roller/business/search/operations/RebuildUserIndexOperation.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/search/operations/RebuildUserIndexOperation.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/business/search/operations/RebuildUserIndexOperation.java (original)
+++ incubator/roller/trunk/src/org/roller/business/search/operations/RebuildUserIndexOperation.java Sat Jun 25 12:45:36 2005
@@ -127,8 +127,6 @@
                        MessageFormat.format("Indexed entry {0}: {1}",
                        new Object[] {entry.getPubTime(), entry.getAnchor()}));
                 }
-                // release the database connection
-                roller.release();
             }
         }
         catch (Exception e)

Modified: incubator/roller/trunk/src/org/roller/business/search/operations/package.html
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/search/operations/package.html?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/business/search/operations/package.html (original)
+++ incubator/roller/trunk/src/org/roller/business/search/operations/package.html Sat Jun 25 12:45:36 2005
@@ -4,6 +4,6 @@
   <title></title>
 </head>
 <body>
-Weblog search operations using Lucene.<br>
+Lucene-based search operations to be executed by ThreadManager.<br>
 </body>
 </html>

Modified: incubator/roller/trunk/src/org/roller/business/search/package.html
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/search/package.html?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/business/search/package.html (original)
+++ incubator/roller/trunk/src/org/roller/business/search/package.html Sat Jun 25 12:45:36 2005
@@ -4,6 +4,6 @@
   <title></title>
 </head>
 <body>
-Weblog search implementation using Lucene.<br>
+Utilities needed by implementation of search interface.
 </body>
 </html>

Added: incubator/roller/trunk/src/org/roller/business/utils/package.html
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/business/utils/package.html?rev=201785&view=auto
==============================================================================
--- incubator/roller/trunk/src/org/roller/business/utils/package.html (added)
+++ incubator/roller/trunk/src/org/roller/business/utils/package.html Sat Jun 25 12:45:36 2005
@@ -0,0 +1,10 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+  <title></title>
+</head>
+<body>
+Roller database utilities.
+
+</body>
+</html>

Added: incubator/roller/trunk/src/org/roller/config/package.html
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/config/package.html?rev=201785&view=auto
==============================================================================
--- incubator/roller/trunk/src/org/roller/config/package.html (added)
+++ incubator/roller/trunk/src/org/roller/config/package.html Sat Jun 25 12:45:36 2005
@@ -0,0 +1,10 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+  <title></title>
+</head>
+<body>
+Classes for accessing Roller configuration.
+
+</body>
+</html>

Added: incubator/roller/trunk/src/org/roller/config/runtime/package.html
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/config/runtime/package.html?rev=201785&view=auto
==============================================================================
--- incubator/roller/trunk/src/org/roller/config/runtime/package.html (added)
+++ incubator/roller/trunk/src/org/roller/config/runtime/package.html Sat Jun 25 12:45:36 2005
@@ -0,0 +1,10 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+  <title></title>
+</head>
+<body>
+Classes for parsing Roller configuration definition files.
+
+</body>
+</html>

Modified: incubator/roller/trunk/src/org/roller/model/AutoPingManager.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/model/AutoPingManager.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/model/AutoPingManager.java (original)
+++ incubator/roller/trunk/src/org/roller/model/AutoPingManager.java Sat Jun 25 12:45:36 2005
@@ -18,21 +18,23 @@
 import java.util.Collection;
 import java.util.List;
 
+/**
+ * Manages autoping storage/retrieval, queries and queue.
+ */
 public interface AutoPingManager extends Serializable
 {
     /**
-     * Release all resources.
+     * Release all resources associated with Roller session.
      */
     public void release();
 
     /**
      * Create an auto ping configuration specifying that the given ping target is to be pinged when the given website
      * changes.
-     *
      * @param pingTarget target to ping
-     * @param website    website whose changes should trigger the ping
+     * @param website website whose changes should trigger the ping
      * @return new auto ping configuration
-     * @throws RollerException
+     * @throws RollerException 
      */
     public AutoPingData createAutoPing(PingTargetData pingTarget, WebsiteData website)
         throws RollerException;

Modified: incubator/roller/trunk/src/org/roller/model/BookmarkManager.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/model/BookmarkManager.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/model/BookmarkManager.java (original)
+++ incubator/roller/trunk/src/org/roller/model/BookmarkManager.java Sat Jun 25 12:45:36 2005
@@ -94,6 +94,9 @@
 	public void moveFolderContents(FolderData src, FolderData dest) 
 		throws RollerException;
 
+    /**
+     * Delete contents of specified folder.
+     */
     public void deleteFolderContents(FolderData src) throws RollerException;
     
     //---------------------------------------------------------------- Queries 
@@ -173,8 +176,14 @@
      */
     public List getFolderAncestorAssocs(FolderData data) throws RollerException;
 
+    /**
+     * Release all resources associated with Roller session.
+     */
     public void release();
 
+    /**
+     * Determines if folder is descendent of folder.
+     */
     public boolean isDescendentOf(FolderData data, FolderData ancestor) throws RollerException;
 }
 

Modified: incubator/roller/trunk/src/org/roller/model/ConfigManager.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/model/ConfigManager.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/model/ConfigManager.java (original)
+++ incubator/roller/trunk/src/org/roller/model/ConfigManager.java Sat Jun 25 12:45:36 2005
@@ -1,2 +1,17 @@
 /*
- * Created on Feb 4, 2004
 */
package org.roller.model;

import org.roller.RollerException;
import org.roller.pojos.RollerConfigData;
import java.io.Serializable;

/**
 * @author lance.lavandowska
 */
public interface ConfigManager extends Serializable 
{
    /** Release any resources used */
    public void release();

    public void storeRollerConfig( RollerConfigData data ) throws RollerException;
    
    public RollerConfigData getRollerConfig() throws RollerException;
    
    public RollerConfigData readFromFile(String filePath) throws RollerException;
}
+ * Created on Feb 4, 2004
 */
package org.roller.model;

import org.roller.RollerException;
import org.roller.pojos.RollerConfigData;
import java.io.Serializable;

/**
+ * Manages Roller configuration
+ * @deprecated Replaced by {@link RollerProperties}.
+ */
public interface ConfigManager extends Serializable 
{
    /**
+     * Release all resources associated with Roller session.
+     */
    public void release();    /**
+     * Store
+     */
+

    public void storeRollerConfig( RollerConfigData data ) throws RollerException;
        /**
+     * Get single RollerConfig object in system.
+     * @deprecated 
+     */
+
    public RollerConfigData getRollerConfig() throws RollerException;
        /**
+     * Read RollerConfig from XML file.
+     */
+
    public RollerConfigData readFromFile(String filePath) throws RollerException;
}

Modified: incubator/roller/trunk/src/org/roller/model/FileManager.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/model/FileManager.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/model/FileManager.java (original)
+++ incubator/roller/trunk/src/org/roller/model/FileManager.java Sat Jun 25 12:45:36 2005
@@ -37,8 +37,17 @@
     public void saveFile(WebsiteData site, String name, long size, InputStream is) 
         throws RollerException;
 
+    /**
+     * Get directory in which uploaded files are stored
+     */
     public String getUploadDir();
+    /**
+     * Get base URL where uploaded files are made available.
+     */
     public String getUploadUrl();
     
+    /**
+     * Release all resources associated with Roller session.
+     */
     public void release();
 }

Modified: incubator/roller/trunk/src/org/roller/model/IndexManager.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/model/IndexManager.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/model/IndexManager.java (original)
+++ incubator/roller/trunk/src/org/roller/model/IndexManager.java Sat Jun 25 12:45:36 2005
@@ -32,7 +32,9 @@
     /** Execute operation immediately */
     public abstract void executeIndexOperationNow(final IndexOperation op);
     
-    /** Release to be called at end of request processing */
+    /**
+     * Release all resources associated with Roller session.
+     */
     public abstract void release();
     
     /** Shutdown to be called on application shutdown */

Modified: incubator/roller/trunk/src/org/roller/model/PingQueueManager.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/model/PingQueueManager.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/model/PingQueueManager.java (original)
+++ incubator/roller/trunk/src/org/roller/model/PingQueueManager.java Sat Jun 25 12:45:36 2005
@@ -25,7 +25,7 @@
 public interface PingQueueManager extends Serializable
 {
     /**
-     * Release resources.
+     * Release all resources associated with Roller session.
      */
     public void release();
 

Modified: incubator/roller/trunk/src/org/roller/model/PingTargetManager.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/model/PingTargetManager.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/model/PingTargetManager.java (original)
+++ incubator/roller/trunk/src/org/roller/model/PingTargetManager.java Sat Jun 25 12:45:36 2005
@@ -15,10 +15,13 @@
 import java.io.Serializable;
 import java.util.List;
 
+/**
+ * Manages ping targets.
+ */
 public interface PingTargetManager extends Serializable
 {
     /**
-     * Release all resources used.
+     * Release all resources associated with Roller session.
      */
     public void release();
 

Modified: incubator/roller/trunk/src/org/roller/model/PropertiesManager.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/model/PropertiesManager.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/model/PropertiesManager.java (original)
+++ incubator/roller/trunk/src/org/roller/model/PropertiesManager.java Sat Jun 25 12:45:36 2005
@@ -18,7 +18,9 @@
 public interface PropertiesManager extends Serializable 
 {
     
-    /** Release any resources used */
+    /**
+     * Release all resources associated with Roller session.
+     */
     public void release();
 
     /** Save a single property */

Modified: incubator/roller/trunk/src/org/roller/model/RefererManager.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/model/RefererManager.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/model/RefererManager.java (original)
+++ incubator/roller/trunk/src/org/roller/model/RefererManager.java Sat Jun 25 12:45:36 2005
@@ -105,19 +105,34 @@
 
     //---------------------------------------------- Referer tracking turnover
 
+    /**
+     * Force refer of referer hit counts and deletes all referers that do nto have excerpts.
+     */
     public void forceTurnover(String websiteId) throws RollerException;
 
+    /**
+     * Check to see if it's time for turnover.
+     */
     public void checkForTurnover(boolean forceTurnover, String websiteId)
             throws RollerException;
 
     //----------------------------------------------- Standard manager methods
 
+    /**
+     * Retrieve referer specifie by ID.
+     */
     public RefererData retrieveReferer(String id)
         throws RollerException;
 
+    /**
+     * Remove referer specified by ID.
+     */
     public void removeReferer( String id )
         throws RollerException;
 
+    /**
+     * Release all resources associated with Roller session.
+     */
     public void release();
 }
 

Modified: incubator/roller/trunk/src/org/roller/model/Roller.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/model/Roller.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/model/Roller.java (original)
+++ incubator/roller/trunk/src/org/roller/model/Roller.java Sat Jun 25 12:45:36 2005
@@ -94,8 +94,17 @@
     /** Begin transaction for a thread.
      */ 
     public void begin() throws RollerException;
+    /**
+     * Start Roller session on behalf of specified user.
+     */
     public void begin(UserData user) throws RollerException;
+    /**
+     * Set user for Roller session.
+     */
     public void setUser(UserData user) throws RollerException;
+    /**
+     * Get user associated with Roller session.
+     */
     public UserData getUser() throws RollerException;
     
     /** Commit transaction for a thread.
@@ -107,7 +116,8 @@
      */ 
     public void rollback();
     
-    /** Rollback and release associated resources for a thread.
+    /**
+     * Release all resources associated with Roller session.
      */ 
     public void release();
 

Modified: incubator/roller/trunk/src/org/roller/model/RollerFactory.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/model/RollerFactory.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/model/RollerFactory.java (original)
+++ incubator/roller/trunk/src/org/roller/model/RollerFactory.java Sat Jun 25 12:45:36 2005
@@ -123,6 +123,9 @@
     }
     
 	
+	/**
+	 * Set Roller to be returned by factory.
+	 */
 	public static void setRoller(Roller roller)
 	{
 		if (roller != null) rollerInstance = roller;

Modified: incubator/roller/trunk/src/org/roller/model/ScheduledTask.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/model/ScheduledTask.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/model/ScheduledTask.java (original)
+++ incubator/roller/trunk/src/org/roller/model/ScheduledTask.java Sat Jun 25 12:45:36 2005
@@ -8,5 +8,8 @@
  */
 public interface ScheduledTask
 {
+    /**
+     * Initialized scheduled task with Roller instance and real-path to Roller context.
+     */
     public void init(Roller roller, String realPath) throws RollerException;
 }

Modified: incubator/roller/trunk/src/org/roller/model/ThreadManager.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/model/ThreadManager.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/model/ThreadManager.java (original)
+++ incubator/roller/trunk/src/org/roller/model/ThreadManager.java Sat Jun 25 12:45:36 2005
@@ -4,25 +4,48 @@
 import java.sql.Date;
 
 /**
- * Index to thread management for executing scheduled and asynchronous tasks.
+ * Thread management for executing scheduled and asynchronous tasks.
  */
 public interface ThreadManager
 {
     public static final long MIN_RATE_INTERVAL_MINS = 1;
 
+    /**
+     * Execute runnable in background (asynchronously).
+     * @param runnable 
+     * @throws java.lang.InterruptedException 
+     */
     public void executeInBackground(Runnable runnable)
             throws InterruptedException;
 
+    /**
+     * Execute runnable in foreground (synchronously).
+     */
     public void executeInForeground(Runnable runnable)
             throws InterruptedException;
 
+    /**
+     * Schedule task to run once a day.
+     */
     public void scheduleDailyTimerTask(TimerTask task);
 
+    /**
+     * Schedule task to run once per hour.
+     */
     public void scheduleHourlyTimerTask(TimerTask task);
 
+    /**
+     * Schedule task to run at fixed rate.
+     */
     public void scheduleFixedRateTimerTask(TimerTask task, long delayMins, long periodMins);
 
+    /**
+     * Shutdown
+     */
     public void shutdown();
 
+    /**
+     * Release all resources associated with Roller session.
+     */
     public void release();
 }

Modified: incubator/roller/trunk/src/org/roller/model/UserManager.java
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/src/org/roller/model/UserManager.java?rev=201785&r1=201784&r2=201785&view=diff
==============================================================================
--- incubator/roller/trunk/src/org/roller/model/UserManager.java (original)
+++ incubator/roller/trunk/src/org/roller/model/UserManager.java Sat Jun 25 12:45:36 2005
@@ -19,7 +19,9 @@
  */
 public interface UserManager extends Serializable
 {
-    /** Release any resources used */
+    /**
+     * Release all resources associated with Roller session.
+     */
     public void release();
     
     //--------------------------------------------------------------- UserData
@@ -44,22 +46,56 @@
             String locale, String timezone)
         throws RollerException;
 
+    /**
+     * Get user by ID
+     */
     public UserData retrieveUser(String id)throws RollerException;
+    /**
+     * Store user.
+     */
     public void storeUser( UserData data ) throws RollerException;
 
+    /**
+     * Get all user roles.
+     */
     public List getUserRoles(UserData user) throws RollerException;
+    /**
+     * Get role by ID
+     */
     public RoleData retrieveRole(String id) throws RollerException;
+    /**
+     * Store role.
+     */
     public void storeRole( RoleData data ) throws RollerException;
+    /**
+     * Remove role by ID.
+     */
     public void removeRole( String id ) throws RollerException;
 
     //------------------------------------------------------------ WebsiteData
     
     /** Get website object by user name */
     public WebsiteData getWebsite(String userName) throws RollerException;
+	/**
+	 * Get website by username.
+	 * @param userName Username of website's owner
+	 * @param enabledOnly Only return enabled websites.
+	 * @throws org.roller.RollerException 
+	 * @return 
+	 */
 	public WebsiteData getWebsite(String userName, boolean enabledOnly) throws RollerException;
 
+    /**
+     * Get website by ID
+     */
     public WebsiteData retrieveWebsite(String id) throws RollerException;
+    /**
+     * Store website
+     */
     public void storeWebsite(WebsiteData data) throws RollerException;
+    /**
+     * Remove website by ID.
+     */
     public void removeWebsite(String id) throws RollerException;
 
     //--------------------------------------------------------------- PageData
@@ -76,8 +112,17 @@
     /** Get users pages */
     public List getPages(WebsiteData w) throws RollerException;
 
+    /**
+     * Get page by ID
+     */
     public PageData retrievePage(String id) throws RollerException;
+    /**
+     * Store page
+     */
     public void storePage(PageData data) throws RollerException;
+    /**
+     * Remove page by ID
+     */
     public void removePage(String id) throws RollerException;