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;