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 2007/02/13 17:49:08 UTC

svn commit: r507085 [1/2] - in /incubator/roller/branches/roller_4.0/apps/planet: ./ nbproject/ src/java/org/apache/roller/planet/business/ src/java/org/apache/roller/planet/business/datamapper/ src/java/org/apache/roller/planet/business/hibernate/ src...

Author: snoopdave
Date: Tue Feb 13 08:49:02 2007
New Revision: 507085

URL: http://svn.apache.org/viewvc?view=rev&rev=507085
Log:
Merging in new Planet code from trunk, plus JPA implementaiton of new manager methods

Added:
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/MultiPlanetURLStrategy.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/business/MultiPlanetURLStrategy.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/PropertiesManager.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/business/PropertiesManager.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/URLStrategy.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/business/URLStrategy.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/datamapper/DatamapperPropertiesManagerImpl.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePropertiesManagerImpl.java
      - copied, changed from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePropertiesManagerImpl.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/config/PlanetRuntimeConfig.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/config/PlanetRuntimeConfig.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/config/runtime/
      - copied from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/config/runtime/
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/config/runtime/ConfigDef.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/config/runtime/ConfigDef.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/config/runtime/DisplayGroup.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/config/runtime/DisplayGroup.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/config/runtime/PropertyDef.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/config/runtime/PropertyDef.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/config/runtime/RuntimeConfigDefs.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/config/runtime/RuntimeConfigDefs.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/config/runtime/RuntimeConfigDefsParser.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/config/runtime/RuntimeConfigDefsParser.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PlanetData.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/pojos/PlanetData.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PlanetData.orm.xml
      - copied, changed from r505072, incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PlanetConfigData.orm.xml
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PropertyData.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/pojos/PropertyData.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PropertyData.orm.xml
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/StaticTemplate.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/pojos/StaticTemplate.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/Template.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/pojos/Template.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/tasks/
      - copied from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/tasks/
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/tasks/GeneratePlanetTask.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/tasks/GeneratePlanetTask.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/tasks/RefreshPlanetTask.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/tasks/RefreshPlanetTask.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/tasks/StaticPlanetModel.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/tasks/StaticPlanetModel.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/tasks/TechnoratiRankingsTask.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/tasks/TechnoratiRankingsTask.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/
      - copied from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/admin/
      - copied from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/admin/
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/admin/struts2/
      - copied from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/admin/struts2/
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/admin/struts2/ConfigForm.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/admin/struts2/ConfigForm.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/admin/struts2/PlanetForm.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/admin/struts2/PlanetForm.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/admin/struts2/PlanetGroupForm.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/admin/struts2/PlanetGroupForm.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/admin/struts2/PlanetSubscriptionForm.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/admin/struts2/PlanetSubscriptionForm.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/admin/struts2/PlanetsList.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/admin/struts2/PlanetsList.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/admin/struts2/package.properties
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/admin/struts2/package.properties
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/core/
      - copied from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/core/
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/core/PlanetContext.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/core/PlanetContext.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/core/filters/
      - copied from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/core/filters/
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/core/filters/DebugFilter.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/core/filters/DebugFilter.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/core/filters/PersistenceSessionFilter.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/core/filters/PersistenceSessionFilter.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/core/struts2/
      - copied from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/core/struts2/
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/core/struts2/Login.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/core/struts2/Login.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/core/struts2/Logout.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/core/struts2/Logout.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/core/struts2/MainMenu.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/core/struts2/MainMenu.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/core/struts2/PlanetActionSupport.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/core/struts2/PlanetActionSupport.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/core/struts2/package.properties
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/core/struts2/package.properties
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/
      - copied from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/MultiPlanetRequestMapper.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/MultiPlanetRequestMapper.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/Renderer.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/Renderer.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/RendererFactory.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/RendererFactory.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/RendererManager.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/RendererManager.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/RenderingException.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/RenderingException.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/RequestMapper.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/RequestMapper.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/filters/
      - copied from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/filters/
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/filters/RequestMappingFilter.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/filters/RequestMappingFilter.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/model/
      - copied from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/model/
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/model/FeedModel.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/model/FeedModel.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/model/Model.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/model/Model.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/model/ModelLoader.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/model/ModelLoader.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/model/PageModel.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/model/PageModel.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/model/PlanetGroupModel.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/model/PlanetGroupModel.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/model/URLModel.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/model/URLModel.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/model/UtilitiesModel.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/model/UtilitiesModel.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/pagers/
      - copied from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/pagers/
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/pagers/AbstractPager.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/pagers/AbstractPager.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/pagers/Pager.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/pagers/Pager.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/pagers/PlanetEntriesPager.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/pagers/PlanetEntriesPager.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/servlets/
      - copied from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/servlets/
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/servlets/FeedServlet.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/servlets/FeedServlet.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/servlets/OpmlServlet.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/servlets/OpmlServlet.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/servlets/PageServlet.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/servlets/PageServlet.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/util/
      - copied from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/util/
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/util/InvalidRequestException.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/util/InvalidRequestException.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/util/ParsedRequest.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/util/ParsedRequest.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/util/PlanetGroupFeedRequest.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/util/PlanetGroupFeedRequest.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/util/PlanetGroupOpmlRequest.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/util/PlanetGroupOpmlRequest.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/util/PlanetGroupPageRequest.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/util/PlanetGroupPageRequest.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/util/PlanetGroupRequest.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/util/PlanetGroupRequest.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/util/PlanetRequest.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/util/PlanetRequest.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/velocity/
      - copied from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/velocity/
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/velocity/PlanetVelocity.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/velocity/PlanetVelocity.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/velocity/TemplateResourceLoader.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/velocity/TemplateResourceLoader.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/velocity/VelocityRenderer.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/velocity/VelocityRenderer.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/velocity/VelocityRendererFactory.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/velocity/VelocityRendererFactory.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/ui/rendering/velocity/WebappResourceLoader.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/ui/rendering/velocity/WebappResourceLoader.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/util/URLUtilities.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/util/URLUtilities.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/util/
      - copied from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/util/
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/util/DateUtil.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/util/DateUtil.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/util/ISO8601DateParser.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/util/ISO8601DateParser.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/util/OldUtilities.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/util/OldUtilities.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/util/StandaloneWebappClassLoader.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/util/StandaloneWebappClassLoader.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/util/TaskRunner.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/util/TaskRunner.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/util/UtilitiesModel.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/util/UtilitiesModel.java
    incubator/roller/branches/roller_4.0/apps/planet/test/java/org/apache/roller/planet/business/GroupTest.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/test/java/org/apache/roller/planet/business/GroupTest.java
    incubator/roller/branches/roller_4.0/apps/planet/test/java/org/apache/roller/planet/business/PlanetTest.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/test/java/org/apache/roller/planet/business/PlanetTest.java
    incubator/roller/branches/roller_4.0/apps/planet/test/java/org/apache/roller/planet/business/PropertiesTest.java
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/test/java/org/apache/roller/planet/business/PropertiesTest.java
    incubator/roller/branches/roller_4.0/apps/planet/testdata/planetRuntimeConfigDefs.xml
      - copied, changed from r506460, incubator/roller/trunk/apps/planet/testdata/planetRuntimeConfigDefs.xml
    incubator/roller/branches/roller_4.0/apps/planet/web/META-INF/
      - copied from r506460, incubator/roller/trunk/apps/planet/web/META-INF/
    incubator/roller/branches/roller_4.0/apps/planet/web/META-INF/context.xml
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/META-INF/context.xml
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/
      - copied from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/applicationContext.xml
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/applicationContext.xml
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/classes/
      - copied from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/classes/
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/classes/commons-logging.properties
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/classes/commons-logging.properties
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/classes/ehcache.xml
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/classes/ehcache.xml
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/classes/hibernate.cfg.xml
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/classes/hibernate.cfg.xml
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/classes/log4j.properties
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/classes/log4j.properties
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/classes/planet.properties
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/classes/planet.properties
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/classes/planetRuntimeConfigDefs.xml
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/classes/planetRuntimeConfigDefs.xml
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/classes/rome.properties
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/classes/rome.properties
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/classes/struts.properties
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/classes/struts.properties
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/classes/struts.xml
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/classes/struts.xml
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/jsps/
      - copied from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/jsps/
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/jsps/MainMenu.jsp
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/jsps/MainMenu.jsp
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/jsps/admin/
      - copied from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/jsps/admin/
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/jsps/admin/ConfigForm.jsp
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/jsps/admin/ConfigForm.jsp
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/jsps/admin/PlanetForm.jsp
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/jsps/admin/PlanetForm.jsp
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/jsps/admin/PlanetGroupForm.jsp
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/jsps/admin/PlanetGroupForm.jsp
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/jsps/admin/PlanetSubscriptionForm.jsp
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/jsps/admin/PlanetSubscriptionForm.jsp
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/jsps/admin/PlanetsList.jsp
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/jsps/admin/PlanetsList.jsp
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/jsps/admin/menu.jsp
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/jsps/admin/menu.jsp
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/jsps/admin/statusMessage.jsp
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/jsps/admin/statusMessage.jsp
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/jsps/login.jsp
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/jsps/login.jsp
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/jsps/logout.jsp
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/jsps/logout.jsp
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/scripts/
      - copied from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/scripts/
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/scripts/genplanet.sh
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/scripts/genplanet.sh
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/scripts/planet-custom.properties
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/scripts/planet-custom.properties
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/scripts/refreshplanet.sh
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/scripts/refreshplanet.sh
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/velocity/
      - copied from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/velocity/
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/velocity.properties
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/velocity.properties
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/velocity/group-atom.vm
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/velocity/group-atom.vm
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/velocity/group-rss.vm
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/velocity/group-rss.vm
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/velocity/group.vm
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/velocity/group.vm
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/velocity/opml.vm
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/velocity/opml.vm
    incubator/roller/branches/roller_4.0/apps/planet/web/WEB-INF/web.xml
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/WEB-INF/web.xml
    incubator/roller/branches/roller_4.0/apps/planet/web/index.jsp
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/index.jsp
    incubator/roller/branches/roller_4.0/apps/planet/web/planet-ui/
      - copied from r506460, incubator/roller/trunk/apps/planet/web/planet-ui/
    incubator/roller/branches/roller_4.0/apps/planet/web/planet-ui/css/
      - copied from r506460, incubator/roller/trunk/apps/planet/web/planet-ui/css/
    incubator/roller/branches/roller_4.0/apps/planet/web/planet-ui/css/planet.css
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/planet-ui/css/planet.css
    incubator/roller/branches/roller_4.0/apps/planet/web/planet-ui/images/
      - copied from r506460, incubator/roller/trunk/apps/planet/web/planet-ui/images/
    incubator/roller/branches/roller_4.0/apps/planet/web/planet-ui/images/body-bg-grey.png
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/planet-ui/images/body-bg-grey.png
    incubator/roller/branches/roller_4.0/apps/planet/web/planet-ui/images/delete.png
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/planet-ui/images/delete.png
    incubator/roller/branches/roller_4.0/apps/planet/web/planet-ui/images/feed_add.png
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/planet-ui/images/feed_add.png
    incubator/roller/branches/roller_4.0/apps/planet/web/planet-ui/images/feed_link.png
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/planet-ui/images/feed_link.png
    incubator/roller/branches/roller_4.0/apps/planet/web/planet-ui/images/folder_add.png
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/planet-ui/images/folder_add.png
    incubator/roller/branches/roller_4.0/apps/planet/web/planet-ui/images/folder_feed.png
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/planet-ui/images/folder_feed.png
    incubator/roller/branches/roller_4.0/apps/planet/web/planet-ui/images/page_white_world.png
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/planet-ui/images/page_white_world.png
    incubator/roller/branches/roller_4.0/apps/planet/web/planet-ui/images/th-bg-grey.png
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/planet-ui/images/th-bg-grey.png
    incubator/roller/branches/roller_4.0/apps/planet/web/planet-ui/images/world_link.png
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/planet-ui/images/world_link.png
    incubator/roller/branches/roller_4.0/apps/planet/web/planet-ui/index.jsp
      - copied unchanged from r506460, incubator/roller/trunk/apps/planet/web/planet-ui/index.jsp
Removed:
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PlanetConfigData.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PlanetConfigData.orm.xml
Modified:
    incubator/roller/branches/roller_4.0/apps/planet/build.properties
    incubator/roller/branches/roller_4.0/apps/planet/build.xml
    incubator/roller/branches/roller_4.0/apps/planet/nbproject/project.xml
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/Planet.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/PlanetManager.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/datamapper/DatamapperPlanetImpl.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/datamapper/DatamapperPlanetManagerImpl.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePlanetImpl.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePlanetManagerImpl.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/jpa/JPAPlanetImpl.java
    incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PlanetGroupData.java
    incubator/roller/branches/roller_4.0/apps/planet/test/java/org/apache/roller/planet/TestUtils.java
    incubator/roller/branches/roller_4.0/apps/planet/test/java/org/apache/roller/planet/business/PlanetManagerTest.java
    incubator/roller/branches/roller_4.0/apps/planet/test/java/org/apache/roller/planet/business/PlanetTestSuite.java
    incubator/roller/branches/roller_4.0/apps/planet/testdata/hibernate.cfg.xml
    incubator/roller/branches/roller_4.0/apps/planet/testdata/log4j.properties
    incubator/roller/branches/roller_4.0/apps/planet/testdata/planet-custom.properties

Modified: incubator/roller/branches/roller_4.0/apps/planet/build.properties
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/build.properties?view=diff&rev=507085&r1=507084&r2=507085
==============================================================================
--- incubator/roller/branches/roller_4.0/apps/planet/build.properties (original)
+++ incubator/roller/branches/roller_4.0/apps/planet/build.properties Tue Feb 13 08:49:02 2007
@@ -4,6 +4,35 @@
 build.sourcelevel=1.4
 build.deprecation=false
 
-# unit test properties
+
+# automated testing contorls
 junit.fork=true
-junit.haltonerror=false
+junit.haltonerror=true
+
+# customizable pre and post testing ant tasks.  ordering is ...
+#    startTask, initTask, unit tests run, stopTask
+test.db.startTask=start-db
+test.db.initTask=init-db
+test.db.stopTask=stop-db
+
+# define what db to use for testing.  default is derby.
+# NOTE: you must also apply these settings in testdata/planet-custom.properties
+test.db.name=derby
+test.db.cpath=${basedir}/../../tools/buildtime/derbyclient.jar
+test.db.driver=org.apache.derby.jdbc.ClientDriver
+test.db.url=jdbc:derby://localhost:3219/planet;create=true
+test.db.username=app
+test.db.password=app
+
+# example settings for running tests against a mysql database
+# NOTE: you must also apply these settings in testdata/roller-custom.properties
+#test.db.startTask=nothing
+#test.db.initTask=init-db
+#test.db.stopTask=nothing
+#test.db.name=mysql
+#test.db.cpath=/export/home/java/mysql-connector-java-3.0.14-production/mysql-connector-java-3.0.14-production-bin.jar
+#test.db.driver=com.mysql.jdbc.Driver
+#test.db.url=jdbc:mysql://localhost/test_planet
+#test.db.username=roller
+#test.db.password=roller
+

Modified: incubator/roller/branches/roller_4.0/apps/planet/build.xml
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/build.xml?view=diff&rev=507085&r1=507084&r2=507085
==============================================================================
--- incubator/roller/branches/roller_4.0/apps/planet/build.xml (original)
+++ incubator/roller/branches/roller_4.0/apps/planet/build.xml Tue Feb 13 08:49:02 2007
@@ -25,6 +25,7 @@
     <!-- core properties -->
     <property name="build"            value="${basedir}/build" />
     <property name="dist"             value="${basedir}/dist" />
+    <property name="lib"              value="${basedir}/lib" />
     <property name="src"              value="${basedir}/src/java" />
     <property name="tools"            value="${basedir}/../../tools" />
     <property name="test"             value="${basedir}/test/java" />
@@ -33,34 +34,29 @@
     <!-- build properties -->
     <property name="build.compile"                  value="${build}/compile"/>
     <property name="build.compile.business"         value="${build.compile}/business"/>
+    <property name="build.compile.web"              value="${build.compile}/web"/>
     <property name="build.compile.test"             value="${build.compile}/test"/>
     <property name="build.lib"           value="${build}/lib"/>
     <property name="build.webapp"        value="${build}/webapp"/>
     <property name="build.test"          value="${build}/test"/>
     <property name="build.test.reports"  value="${build.test}/reports"/>
     
-    
-    <fileset id="roller-jars" dir="${tools}">
+    <fileset id="business.tools" dir="${tools}" >
         
         <include name="roller-core/roller-core.jar"/>
 
         <!-- General dependencies -->
-        <include name="lib/commons-codec-1.3.jar"/>
         <include name="lib/log4j-1.2.11.jar"/>
-        <include name="lib/jaxen-full.jar"/>
-        <include name="lib/saxpath.jar"/>
+        <include name="lib/commons-codec-1.3.jar"/>
+        <include name="lib/commons-collections-3.1.jar"/>
+        <include name="lib/commons-digester-1.6.jar"/>
+        <include name="lib/commons-lang-2.1.jar"/>
+        <include name="lib/commons-logging-1.0.4.jar"/>
         <include name="buildtime/activation.jar"/>
         <include name="buildtime/mail.jar"/>
-        <include name="struts-1.2.4/lib/antlr.jar"/>
-        <include name="struts-1.2.4/lib/commons-lang-2.0.jar"/>
-        <include name="struts-1.2.4/lib/commons-logging.jar"/>
-        <include name="struts-1.2.4/lib/commons-fileupload.jar"/>
-        <include name="struts-1.2.4/lib/commons-validator.jar"/>
-        <include name="struts-1.2.4/lib/commons-collections.jar"/>
         
-        <!-- needed for Hibernate -->
+        <!-- Hibernate -->
         <include name="hibernate-3.1/hibernate3.jar"/>
-        <include name="hibernate-3.1/lib/antlr.jar"/>
         <include name="hibernate-3.1/lib/asm.jar"/>
         <include name="hibernate-3.1/lib/asm-attrs.jar"/>
         <include name="hibernate-3.1/lib/cglib-2.1.3.jar"/>
@@ -78,18 +74,42 @@
         <include name="lib/rome-fetcher-0.9.jar"/>
         <include name="lib/jdom.jar"/>
         
-        <!-- Needed for Velocity -->
+        <!-- Velocity -->
         <include name="lib/velocity-1.4.jar"/>
         <include name="lib/velocity-dep-1.4.jar"/>
+    </fileset>
+    
+    <fileset id="web.tools" dir="${tools}">
+        <!-- Jstl -->
+        <include name="jakarta-taglibs-standard-1.1.2/lib/jstl.jar" />
+        <include name="jakarta-taglibs-standard-1.1.2/lib/standard.jar" />
+        <include name="jakarta-taglibs-standard-1.1.2/lib/xalan.jar" />
+        <include name="jakarta-taglibs-standard-1.1.2/lib/serializer.jar" />
         
+        <!-- Struts 2 -->
+        <include name="struts-2.0.1/lib/*.jar"/>
     </fileset>
     
-    <path id="planet.path">
-        <fileset refid="roller-jars" />
+    <path id="planet.business.path">
+        <fileset refid="business.tools" />
+    </path>
+    
+    <path id="planet.web.path">
+        <fileset refid="web.tools" />
+        
+        <!-- need servlet api for build time -->
+        <pathelement location="${tools}/buildtime/tomcat-5.0.28/servlet-api.jar" />
+                
+        <!-- planet business layer classpath -->
+        <path refid="planet.business.path" />
+        
+        <!-- planet business layer library -->
+        <pathelement location="${build.lib}/roller-planet-business.jar"/>
     </path>
     
     <path id="xdoclet.path">
-        <path refid="planet.path"/>
+        <path refid="planet.web.path"/>
+        
         <fileset dir="${tools}/buildtime" includes="ejb-1.1.jar"/>
         <fileset dir="${tools}/buildtime/xdoclet-1.2.3/lib" includes="*.jar"/>
     </path>
@@ -99,7 +119,6 @@
         <fileset dir="${tools}/buildtime/mockrunner-0.35/lib">
             <include name="*.jar"/>
         </fileset>
-        
         <pathelement location="${tools}/buildtime/ant-1.6.2/ant.jar"/>
         <pathelement location="${tools}/buildtime/strutstest-2.0.0.jar"/>
         <pathelement location="${tools}/buildtime/junit-3.8.1.jar"/>
@@ -109,9 +128,9 @@
         <pathelement location="${tools}/lib/commons-httpclient-2.0.2.jar"/>
         
         <!-- plus normal jars -->
-        <path refid="planet.path"/>
+        <path refid="planet.web.path"/>
 
-        <!-- plus already built roller planet jars -->
+        <!-- plus already built roller planet libraries -->
         <fileset dir="${build.lib}" includes="*.jar" />
     </path>
     
@@ -148,7 +167,7 @@
     
     <!-- ============================================== -->
     <!-- build all code -->
-    <target name="build" depends="build-business" >
+    <target name="build" depends="build-business, build-web" >
     </target>
     
     <!-- build the business layer code and jar it up -->
@@ -157,6 +176,7 @@
         <!-- compile planet classes -->
         <mkdir dir="${build.compile.business}"/>
         <javac destdir="${build.compile.business}"
+               excludes="org/apache/roller/planet/ui/**"
                debug="${build.debug}" 
                source="${build.sourcelevel}"
                deprecation="${build.deprecation}">
@@ -164,13 +184,18 @@
             <src path="${src}" />
             
             <classpath>
-                <path refid="planet.path"/>
+                <path refid="planet.business.path"/>
             </classpath>
         </javac>
         
         <!-- Copy resources -->
         <copy todir="${build.compile.business}">
-            <fileset dir="${src}" excludes="**/*.java, **/*.html, **/*.png" />
+            <fileset dir="${src}">
+                <exclude name="org/apache/roller/planet/ui/**"/>
+                <exclude name="**/*.java"/>
+                <exclude name="**/*.html"/>
+                <exclude name="**/*.png"/>
+            </fileset>
         </copy>
         <mkdir dir="${build.compile.business}/META-INF" />
         <copy todir="${build.compile.business}" file="testdata/META-INF/persistence.xml" />
@@ -182,10 +207,46 @@
         
     </target>
     
+    <!-- build the web/ui layer code and jar it up -->
+    <target name="build-web" depends="build-business">
+        
+        <!-- compile planet web classes -->
+        <mkdir dir="${build.compile.web}"/>
+        <javac destdir="${build.compile.web}"
+               includes="org/apache/roller/planet/ui/**"
+               debug="${build.debug}" 
+               source="${build.sourcelevel}"
+               deprecation="${build.deprecation}">
+            
+            <src path="${src}" />
+            <include name="" />
+            
+            <classpath>
+                <path refid="planet.web.path"/>
+            </classpath>
+        </javac>
+        
+        <!-- Copy resources -->
+        <copy todir="${build.compile.web}">
+            <fileset dir="${src}">
+                <include name="org/apache/roller/planet/ui/**"/>
+                <exclude name="**/*.java"/>
+                <exclude name="**/*.html"/>
+                <exclude name="**/*.png"/>
+            </fileset>
+        </copy>
+        
+        <!-- Jar up the web layer -->
+        <mkdir dir="${build.lib}"/>
+        <jar basedir="${build.compile.web}"
+             jarfile="${build.lib}/roller-planet-web.jar"/>
+        
+    </target>
+    
     
     <!-- ============================================== -->
     <!-- create distributable components -->
-    <target name="dist" depends="build-business" description="Create Roller Planet distributables">
+    <target name="dist" depends="build-web" description="Create Roller Planet distributables">
         
         <!-- distributable libraries -->
         <mkdir dir="${dist}/lib" />
@@ -194,6 +255,29 @@
         </copy>
         
         <!-- TODO: distributable webapp -->
+        <mkdir dir="${build.webapp}/WEB-INF/lib" />
+        <copy todir="${build.webapp}/WEB-INF/lib" flatten="true">
+            <!-- our compiled Roller Planet libraries -->
+            <fileset dir="${build.lib}" />
+            
+            <!-- business layer tools -->
+            <fileset refid="business.tools" />
+            
+            <!-- web layer tools -->
+            <fileset refid="web.tools" />
+        </copy>         
+
+        <copy todir="${build.webapp}">
+            <fileset dir="${web}" includes="**/**" />
+        </copy>         
+        <chmod perm="+x" dir="${build.webapp}/WEB-INF/scripts" includes="*.sh" />
+        
+        <!-- distributable WAR file 
+        <mkdir dir="${dist}/webapp" />
+        <war destfile="${dist}/webapp/roller-planet.war"
+             basedir="${build.webapp}"
+             webxml="${build.webapp}/WEB-INF/web.xml" /> -->
+             
     </target>
     
     
@@ -220,13 +304,7 @@
         <copy todir="${build.compile.test}">
             <fileset dir="${test}" excludes="**/*.java, **/*.html, **/*.png" />
         </copy>
-    
-        <!-- register Ant tasks that were just built -->
-        <taskdef name="startdb" classname="org.apache.roller.ant.StartDerbyTask" 
-        classpath="${tools}/buildtime/derby.jar;${tools}/buildtime/derbynet.jar;${build.compile.test}" />
-        <taskdef name="stopdb" classname="org.apache.roller.ant.StopDerbyTask" 
-        classpath="${tools}/buildtime/derby.jar;${tools}/buildtime/derbynet.jar;${build.compile.test}" />
-    
+        
     </target>
     
     
@@ -245,8 +323,9 @@
         <mkdir dir="${build.test.reports}/business/xml"/>
         <mkdir dir="${build.test.reports}/business/html"/>
         
-        <antcall target="start-db" /> 
-        <antcall target="init-db" />
+        <!-- allow for startup and initialization of test db -->
+        <antcall target="${test.db.startTask}" />
+        <antcall target="${test.db.initTask}" />
         
         <junit dir="${build.test}" fork="${junit.fork}" printsummary="on" showOutput="true">
             <classpath>
@@ -263,9 +342,6 @@
             <!-- needed to satisfy ref in log4j.properties -->
             <jvmarg value="-Dcatalina.base=${build.test}"/> 
             <jvmarg value="-Dbuild=${build}"/>
-            <jvmarg value="-Dhttp.proxySet=true"/>
-            <jvmarg value="-Dhttp.proxyHost=webcache.sfbay.sun.com"/>
-            <jvmarg value="-Dhttp.proxyPort=8080"/>
             <formatter type="xml"/>
             <batchtest toDir="${build.test.reports}/business/xml" haltonerror="${junit.haltonerror}">
                 <fileset dir="${build.compile.test}">
@@ -281,34 +357,49 @@
             <report format="noframes" toDir="${build.test.reports}/business/html"/>
         </junitreport>
         
-        <antcall target="stop-db" />
+        <!-- allow for shutdown of test db -->
+        <antcall target="${test.db.stopTask}" />
+    
     </target>
     
     
     <!-- ********************************************************************* -->
-    <!-- Derby start, init and stop targets -->
+    <!-- Test database start, init and stop targets -->
     <!-- ********************************************************************* -->
     
     <target name="init-db" description=
-            "Initializes built-in database by running drop table and create table">
-        <sql driver="org.apache.derby.jdbc.ClientDriver"
-             url="jdbc:derby://localhost:3219/roller;create=true"
-             userid="app" password="app"
-             src="../../build/webapp/WEB-INF/dbscripts/droptables.sql" onerror="continue"
-             classpath="${tools}/buildtime/derbyclient.jar" />    
-        <sql driver="org.apache.derby.jdbc.ClientDriver" onerror="continue"
-             url="jdbc:derby://localhost:3219/roller"
-             userid="app" password="app"
-             src="../../build/webapp/WEB-INF/dbscripts/derby/createdb.sql"
-             classpath="${tools}/buildtime/derbyclient.jar" /> 
+            "Initializes test database by running drop table and create table">
+        <sql driver="${test.db.driver}"
+             url="${test.db.url}"
+             userid="${test.db.username}" 
+             password="${test.db.password}"
+             src="../../build/webapp/WEB-INF/dbscripts/droptables.sql" 
+             onerror="continue"
+             classpath="${test.db.cpath}" />
+        <sql driver="${test.db.driver}"
+             url="${test.db.url}"
+             userid="${test.db.username}" 
+             password="${test.db.password}"
+             src="../../build/webapp/WEB-INF/dbscripts/${test.db.name}/createdb.sql"
+             onerror="continue"
+             classpath="${test.db.cpath}" />
     </target>
     
     <target name="start-db" description="Starts built-in database">  
-        <startdb database="${build.test}/derby-system/roller" port="3219" /> 
+        <taskdef name="startdb" classname="org.apache.roller.ant.StartDerbyTask" 
+                 classpath="${tools}/buildtime/derby.jar;${tools}/buildtime/derbynet.jar;${build.compile.test}" />
+        <startdb database="${build.test}/derby-system/roller" port="3219" />
     </target>
     
-    <target name="stop-db" description="Drop tables and stops the built-in database">   
+    <target name="stop-db" description="Stops built-in database">   
+        <taskdef name="stopdb" classname="org.apache.roller.ant.StopDerbyTask" 
+                 classpath="${tools}/buildtime/derby.jar;${tools}/buildtime/derbynet.jar;${build.compile.test}" />
         <stopdb port="3219"/>
     </target>
 
+    <target name="nothing">
+        <!-- this task does nothing and is here so that 
+             dynamic task definitions have a no-op choice -->
+    </target>
+    
 </project>

Modified: incubator/roller/branches/roller_4.0/apps/planet/nbproject/project.xml
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/nbproject/project.xml?view=diff&rev=507085&r1=507084&r2=507085
==============================================================================
--- incubator/roller/branches/roller_4.0/apps/planet/nbproject/project.xml (original)
+++ incubator/roller/branches/roller_4.0/apps/planet/nbproject/project.xml Tue Feb 13 08:49:02 2007
@@ -4,12 +4,17 @@
     <configuration>
         <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
             <!-- Do not use Project Properties customizer when editing this file manually. -->
-            <name>roller_planet</name>
+            <name>planet_4.0</name>
             <properties>
                 <property name="ant.script">build.xml</property>
             </properties>
             <folders>
                 <source-folder>
+                    <label>web</label>
+                    <type>doc_root</type>
+                    <location>web</location>
+                </source-folder>
+                <source-folder>
                     <label>src</label>
                     <type>java</type>
                     <location>src/java</location>
@@ -19,11 +24,6 @@
                     <type>java</type>
                     <location>test/java</location>
                 </source-folder>
-                <source-folder>
-                    <label>web</label>
-                    <type>doc_root</type>
-                    <location>web</location>
-                </source-folder>
             </folders>
             <ide-actions>
                 <action name="build">
@@ -74,7 +74,7 @@
         <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
             <compilation-unit>
                 <package-root>src/java</package-root>
-                <classpath mode="compile">../../tools/lib/activation.jar:../../tools/lib/log4j-1.2.11.jar:../../tools/lib/mail.jar:../../tools/lib/rome-0.9.jar:../../tools/lib/rome-fetcher-0.9.jar:../../tools/lib/commons-codec-1.3.jar:../../tools/lib/jdom.jar:../../tools/struts-1.2.4/lib/commons-lang-2.0.jar:../../tools/struts-1.2.4/lib/commons-logging.jar:../../tools/hibernate-3.1/hibernate3.jar:../../tools/hibernate-3.1/lib/asm-attrs.jar:../../tools/hibernate-3.1/lib/asm.jar:../../tools/hibernate-3.1/lib/cglib-2.1.3.jar:../../tools/hibernate-3.1/lib/dom4j-1.6.1.jar:../../tools/hibernate-3.1/lib/ehcache-1.1.jar:../../tools/hibernate-3.1/lib/jdbc2_0-stdext.jar:../../tools/hibernate-3.1/lib/jta.jar:../../tools/struts-1.2.4/lib/antlr.jar:../../tools/roller-core/roller-core.jar</classpath>
+                <classpath mode="compile">../../tools/lib/activation.jar:../../tools/lib/log4j-1.2.11.jar:../../tools/lib/mail.jar:../../tools/lib/rome-0.9.jar:../../tools/lib/rome-fetcher-0.9.jar:../../tools/lib/commons-codec-1.3.jar:../../tools/lib/jdom.jar:../../tools/struts-1.2.4/lib/commons-lang-2.0.jar:../../tools/struts-1.2.4/lib/commons-logging.jar:../../tools/hibernate-3.1/hibernate3.jar:../../tools/hibernate-3.1/lib/asm-attrs.jar:../../tools/hibernate-3.1/lib/asm.jar:../../tools/hibernate-3.1/lib/cglib-2.1.3.jar:../../tools/hibernate-3.1/lib/dom4j-1.6.1.jar:../../tools/hibernate-3.1/lib/ehcache-1.1.jar:../../tools/hibernate-3.1/lib/jdbc2_0-stdext.jar:../../tools/hibernate-3.1/lib/jta.jar:../../tools/struts-1.2.4/lib/antlr.jar:../../tools/roller-core/roller-core.jar:../../tools/struts-2.0.1/lib/antlr-2.7.2.jar:../../tools/struts-2.0.1/lib/commons-beanutils-1.6.jar:../../tools/struts-2.0.1/lib/commons-chain-1.1.jar:../../tools/struts-2.0.1/lib/commons-validator-1.3.0
 .jar:../../tools/struts-2.0.1/lib/freemarker-2.3.4.jar:../../tools/struts-2.0.1/lib/ognl-2.6.7.jar:../../tools/struts-2.0.1/lib/oro-2.0.8.jar:../../tools/struts-2.0.1/lib/spring-aop-1.2.8.jar:../../tools/struts-2.0.1/lib/spring-beans-1.2.8.jar:../../tools/struts-2.0.1/lib/spring-context-1.2.8.jar:../../tools/struts-2.0.1/lib/spring-core-1.2.8.jar:../../tools/struts-2.0.1/lib/spring-web-1.2.8.jar:../../tools/struts-2.0.1/lib/struts2-api-2.0.1.jar:../../tools/struts-2.0.1/lib/struts2-core-2.0.1.jar:../../tools/struts-2.0.1/lib/xwork-2.0-beta-1.jar</classpath>
                 <source-level>1.4</source-level>
             </compilation-unit>
             <compilation-unit>

Modified: incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/Planet.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/Planet.java?view=diff&rev=507085&r1=507084&r2=507085
==============================================================================
--- incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/Planet.java (original)
+++ incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/Planet.java Tue Feb 13 08:49:02 2007
@@ -1,37 +1,56 @@
 /*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-*  contributor license agreements.  The ASF licenses this file to You
-* 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.  For additional information regarding
-* copyright in this work, please see the NOTICE file in the top level
-* directory of this distribution.
-*/
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  The ASF licenses this file to You
+ * 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.  For additional information regarding
+ * copyright in this work, please see the NOTICE file in the top level
+ * directory of this distribution.
+ */
 
 package org.apache.roller.planet.business;
 
 import org.apache.roller.RollerException;
-import org.apache.roller.planet.business.PlanetManager;
+import org.apache.roller.planet.business.PropertiesManager;
 
 
-/** 
+/**
  * The main entry point interface of the Roller business tier.
  */
 public interface Planet {
-           
+    
     /**
      * Get PlanetManager associated with this Roller instance.
      */
     public PlanetManager getPlanetManager();
-        
+    
+    
+    /**
+     * Get PropertiesManager.
+     */
+    public PropertiesManager getPropertiesManager();
+    
+    
+    /**
+     * Get the configured URLStrategy.
+     */
+    public URLStrategy getURLStrategy();
+    
+    
+    /**
+     * Set the configured URLStrategy.
+     */
+    public void setURLStrategy(URLStrategy urlStrategy);
+    
+    
     /**
      * Flush object states.
      */
@@ -39,13 +58,13 @@
     
     
     /**
-     * Release all resources associated with Roller session.
+     * Release any resources associated with a session.
      */
     public void release();
     
     
     /**
-     * Release all resources necessary for this instance of Roller.
+     * Shutdown the application.
      */
     public void shutdown();
     

Modified: incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/PlanetManager.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/PlanetManager.java?view=diff&rev=507085&r1=507084&r2=507085
==============================================================================
--- incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/PlanetManager.java (original)
+++ incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/PlanetManager.java Tue Feb 13 08:49:02 2007
@@ -23,7 +23,7 @@
 import java.util.List;
 
 import org.apache.roller.RollerException;
-import org.apache.roller.planet.pojos.PlanetConfigData;
+import org.apache.roller.planet.pojos.PlanetData;
 import org.apache.roller.planet.pojos.PlanetEntryData;
 import org.apache.roller.planet.pojos.PlanetGroupData;
 import org.apache.roller.planet.pojos.PlanetSubscriptionData;
@@ -37,12 +37,6 @@
     //------------------------------------------------------------------ create
     
     /**
-     * Save configration
-     */
-    public void saveConfiguration(PlanetConfigData config)
-    throws RollerException;
-    
-    /**
      * Save new or update existing entry
      */
     public void saveEntry(PlanetEntryData entry) throws RollerException;
@@ -58,28 +52,35 @@
     public void saveSubscription(PlanetSubscriptionData sub)
     throws RollerException;
     
+    public void savePlanet(PlanetData planet) throws RollerException;
+    
     //---------------------------------------------------------------- retrieve
     
-    /**
-     * Get the one planet config object, config has default group
-     */
-    public PlanetConfigData getConfiguration() throws RollerException;
+    public PlanetData getPlanet(String handle) throws RollerException;
+    public PlanetData getPlanetById(String id) throws RollerException;
+    public List getPlanets() throws RollerException;
     
     /**
      * Get handles for all defined groups
      */
     public List getGroupHandles() throws RollerException;
     
+    public List getGroupHandles(PlanetData planet) throws RollerException;
+    
     /**
      * Get list of group objects
      */
     public List getGroups() throws RollerException;
     
+    public List getGroups(PlanetData planet) throws RollerException;
+    
     /**
      * Get group by handle, group has subscriptions
      */
     public PlanetGroupData getGroup(String handle) throws RollerException;
     
+    public PlanetGroupData getGroup(PlanetData planet, String handle) throws RollerException;
+    
     /**
      * Get group by ID rather than handle.
      */
@@ -157,6 +158,8 @@
     public void refreshEntries(String cacheDirPath) throws RollerException;
     
     //------------------------------------------------------------------ delete
+    
+    public void deletePlanet(PlanetData planet) throws RollerException;
     
     /** Delete group and any subscriptions that are orphaned. */
     public void deleteGroup(PlanetGroupData group) throws RollerException;

Modified: incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/datamapper/DatamapperPlanetImpl.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/datamapper/DatamapperPlanetImpl.java?view=diff&rev=507085&r1=507084&r2=507085
==============================================================================
--- incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/datamapper/DatamapperPlanetImpl.java (original)
+++ incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/datamapper/DatamapperPlanetImpl.java Tue Feb 13 08:49:02 2007
@@ -24,6 +24,7 @@
 import org.apache.roller.planet.business.Planet;
 import org.apache.roller.planet.business.PlanetManager;
 import org.apache.roller.business.datamapper.DatamapperPersistenceStrategy;
+import org.apache.roller.planet.business.PropertiesManager;
 
 /**
  * A Datamapper specific implementation of the Roller business layer.
@@ -40,6 +41,7 @@
 
     // references to the managers we maintain
     private PlanetManager planetManager = null;
+    private PropertiesManager propertiesManager = null;
 
     
     protected DatamapperPlanetImpl() throws RollerException {
@@ -80,5 +82,20 @@
     protected PlanetManager createDatamapperPlanetManager(
             DatamapperPersistenceStrategy strategy) {
         return new DatamapperPlanetManagerImpl(strategy);
+    }    
+    
+    /**
+     * @see org.apache.roller.business.Roller#getBookmarkManager()
+     */
+    public PropertiesManager getPropertiesManager() {
+        if ( propertiesManager == null ) {
+            propertiesManager = createDatamapperPropertiesManager(strategy);
+        }
+        return propertiesManager;
+    }
+
+    protected PropertiesManager createDatamapperPropertiesManager(
+            DatamapperPersistenceStrategy strategy) {
+        return new DatamapperPropertiesManagerImpl(strategy);
     }    
 }

Modified: incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/datamapper/DatamapperPlanetManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/datamapper/DatamapperPlanetManagerImpl.java?view=diff&rev=507085&r1=507084&r2=507085
==============================================================================
--- incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/datamapper/DatamapperPlanetManagerImpl.java (original)
+++ incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/datamapper/DatamapperPlanetManagerImpl.java Tue Feb 13 08:49:02 2007
@@ -44,7 +44,7 @@
 import org.apache.roller.RollerException;
 
 import org.apache.roller.planet.business.PlanetManager;
-import org.apache.roller.planet.pojos.PlanetConfigData;
+import org.apache.roller.planet.pojos.PlanetData;
 import org.apache.roller.planet.pojos.PlanetEntryData;
 import org.apache.roller.planet.pojos.PlanetGroupData;
 import org.apache.roller.planet.pojos.PlanetSubscriptionData;
@@ -77,11 +77,6 @@
         this.strategy = strategy;
     }
 
-    public void saveConfiguration(PlanetConfigData config)
-            throws RollerException {
-        strategy.store(config);
-    }
-
     public void saveGroup(PlanetGroupData group) throws RollerException {
         strategy.store(group);
     }
@@ -114,21 +109,6 @@
         strategy.remove(sub);
     }
 
-    public PlanetConfigData getConfiguration() throws RollerException {
-        List results = (List) strategy.newQuery(PlanetConfigData.class, 
-                "PlanetConfigData.getAll").execute(); 
-        PlanetConfigData config = results.size()!=0 ? 
-            (PlanetConfigData)results.get(0) : null;
-            
-        // We inject the cache dir into the config object here to maintain
-        // compatibility with the standaline version of the aggregator.
-//        if (config != null) {
-//            config.setCacheDir(
-//                PlanetConfig.getProperty("planet.aggregator.cache.dir"));
-//        }
-        return config;
-    }
-
     public PlanetSubscriptionData getSubscription(String feedUrl)
             throws RollerException {
         List results = (List) strategy.newQuery(PlanetSubscriptionData.class, 
@@ -319,7 +299,6 @@
         
         Date now = new Date();
         long startTime = System.currentTimeMillis();
-        PlanetConfigData config = getConfiguration();
         
         // can't continue without cache dir
         if (cacheDirPath == null) {
@@ -356,12 +335,13 @@
         FeedFetcherCache feedInfoCache =
                 new DiskFeedInfoCache(cacheDirName);
         
-        if (config.getProxyHost()!=null && config.getProxyPort() > 0) {
+        /*if (config.getProxyHost()!=null && config.getProxyPort() > 0) {
             System.setProperty("proxySet", "true");
             System.setProperty("http.proxyHost", config.getProxyHost());
             System.setProperty("http.proxyPort",
                     Integer.toString(config.getProxyPort()));
-        }
+        }*/
+        
         /** a hack to set 15 sec timeouts for java.net.HttpURLConnection */
         System.setProperty("sun.net.client.defaultConnectTimeout", "15000");
         System.setProperty("sun.net.client.defaultReadTimeout", "15000");
@@ -494,5 +474,56 @@
     }
 
     public void release() {}
+    
+
+    public void savePlanet(PlanetData planet) throws RollerException {
+        strategy.store(planet);
+    }
+
+    public PlanetData getPlanet(String handle) throws RollerException {
+        List results = (List) strategy.newQuery(PlanetData.class, 
+            "PlanetData.getByHandle").execute(handle); 
+        // TODO handle max result == 1
+        PlanetData planet = results.size()!=0 ? 
+            (PlanetData)results.get(0) : null;
+        return planet;
+    }
+
+    public PlanetData getPlanetById(String id) throws RollerException {
+        return (PlanetData)strategy.load(PlanetData.class, id);
+    }
+
+    public List getPlanets() throws RollerException {
+        return (List)strategy.newQuery(PlanetData.class, 
+            "PlanetData.getAll").execute(); 
+    }
+
+    public List getGroupHandles(PlanetData planet) throws RollerException { 
+        List handles = new ArrayList();
+        Iterator list = getGroups(planet).iterator();
+        while (list.hasNext()) {
+            PlanetGroupData group = (PlanetGroupData) list.next();
+            handles.add(group.getHandle());
+        }
+        return handles;
+    }
+
+    public List getGroups(PlanetData planet) throws RollerException {
+       return (List)strategy.newQuery(PlanetGroupData.class, 
+            "PlanetGroupData.getByPlanet").execute(planet.getHandle()); 
+    }
+
+    public PlanetGroupData getGroup(PlanetData planet, String handle) throws RollerException {
+        List results = (List) strategy.newQuery(PlanetData.class, 
+            "PlanetGroupData.getByPlanetAndHandle").execute(handle); 
+        // TODO handle max result == 1
+        PlanetGroupData group = results.size()!=0 ? 
+            (PlanetGroupData)results.get(0) : null;
+        return group;
+    }
+
+    public void deletePlanet(PlanetData planet) throws RollerException {
+        strategy.remove(planet);
+    }
 }
 

Added: incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/datamapper/DatamapperPropertiesManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/datamapper/DatamapperPropertiesManagerImpl.java?view=auto&rev=507085
==============================================================================
--- incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/datamapper/DatamapperPropertiesManagerImpl.java (added)
+++ incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/datamapper/DatamapperPropertiesManagerImpl.java Tue Feb 13 08:49:02 2007
@@ -0,0 +1,197 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  The ASF licenses this file to You
+ * 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.  For additional information regarding
+ * copyright in this work, please see the NOTICE file in the top level
+ * directory of this distribution.
+ */
+
+package org.apache.roller.planet.business.datamapper;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.roller.RollerException;
+import org.apache.roller.business.datamapper.DatamapperPersistenceStrategy;
+import org.apache.roller.planet.business.PropertiesManager;
+import org.apache.roller.planet.config.PlanetRuntimeConfig;
+import org.apache.roller.planet.config.runtime.ConfigDef;
+import org.apache.roller.planet.config.runtime.DisplayGroup;
+import org.apache.roller.planet.config.runtime.PropertyDef;
+import org.apache.roller.planet.config.runtime.RuntimeConfigDefs;
+import org.apache.roller.planet.pojos.PropertyData;
+
+
+/**
+ * Hibernate implementation of the PropertiesManager.
+ */
+public class DatamapperPropertiesManagerImpl implements PropertiesManager {
+    
+    private static Log log = LogFactory.getLog(DatamapperPropertiesManagerImpl.class);
+    
+    private DatamapperPersistenceStrategy strategy = null;
+    
+    
+    /**
+     * Creates a new instance of DatamapperPropertiesManagerImpl
+     */
+    public DatamapperPropertiesManagerImpl(DatamapperPersistenceStrategy strat) {
+        
+        log.debug("Instantiating Datamapper Properties Manager");
+        
+        this.strategy = strat;
+        
+        // TODO: and new method initialize(props)
+        init();
+    }
+    
+    
+    /**
+     * Retrieve a single property by name.
+     */
+    public PropertyData getProperty(String name) throws RollerException {
+        return (PropertyData)strategy.load(PropertyData.class, name);
+    }
+    
+    
+    /**
+     * Retrieve all properties.
+     *
+     * Properties are returned in a Map to make them easy to lookup.  The Map
+     * uses the property name as the key and the PropertyData object
+     * as the value.
+     */
+    public Map getProperties() throws RollerException {
+
+        HashMap props = new HashMap();
+        List list = (List) strategy.newQuery(PropertyData.class,
+                "PropertyData.getAll").execute();
+        /*
+         * for convenience sake we are going to put the list of props
+         * into a map for users to access it.  The value element of the
+         * hash still needs to be the PropertyData object so that
+         * we can save the elements again after they have been updated
+         */
+        PropertyData prop = null;
+        Iterator it = list.iterator();
+        while(it.hasNext()) {
+            prop = (PropertyData) it.next();
+            props.put(prop.getName(), prop);
+        }
+
+        return props;
+    }
+    
+    
+    /**
+     * Save a single property.
+     */
+    public void saveProperty(PropertyData property) throws RollerException {
+        
+        strategy.store(property);
+    }
+    
+    
+    /**
+     * Save all properties.
+     */
+    public void saveProperties(Map properties) throws RollerException {
+        
+        // just go through the list and saveProperties each property
+        Iterator props = properties.values().iterator();
+        while (props.hasNext()) {
+            strategy.store((PropertyData) props.next());
+        }
+    }
+    
+    
+    private void init() {
+        Map props = null;
+        try {
+            props = this.getProperties();
+            
+            // initialize any new props
+            props = initializeMissingProps(props);
+            
+            // save our changes
+            this.saveProperties(props);
+        } catch (Exception e) {
+            log.fatal("Failed to initialize runtime configuration properties."+
+                    "Please check that the database has been upgraded!", e);
+            throw new RuntimeException(e);
+        }
+        
+    }
+    
+    
+    /**
+     * This method compares the property definitions in the RuntimeConfigDefs
+     * file with the properties in the given Map and initializes any properties
+     * that were not found in the Map.
+     *
+     * If the Map of props is empty/null then we will initialize all properties.
+     **/
+    private Map initializeMissingProps(Map props) {
+        
+        if(props == null)
+            props = new HashMap();
+        
+        // start by getting our runtimeConfigDefs
+        RuntimeConfigDefs runtimeConfigDefs =
+                PlanetRuntimeConfig.getRuntimeConfigDefs();
+        
+        // can't do initialization without our config defs
+        if(runtimeConfigDefs == null)
+            return props;
+        
+        // iterator through all the definitions and add properties
+        // that are not already in our props map
+        ConfigDef configDef = null;
+        DisplayGroup dGroup = null;
+        PropertyDef propDef = null;
+        Iterator defs = runtimeConfigDefs.getConfigDefs().iterator();
+        while(defs.hasNext()) {
+            configDef = (ConfigDef) defs.next();
+            
+            Iterator groups = configDef.getDisplayGroups().iterator();
+            while(groups.hasNext()) {
+                dGroup = (DisplayGroup) groups.next();
+                
+                Iterator propdefs = dGroup.getPropertyDefs().iterator();
+                while(propdefs.hasNext()) {
+                    propDef = (PropertyDef) propdefs.next();
+                    
+                    // do we already have this prop?  if not then add it
+                    if(!props.containsKey(propDef.getName())) {
+                        PropertyData newprop =
+                                new PropertyData(propDef.getName(), propDef.getDefaultValue());
+                        
+                        props.put(propDef.getName(), newprop);
+                        
+                        log.info("Found uninitialized property "+propDef.getName()+
+                                " ... setting value to ["+propDef.getDefaultValue()+"]");
+                    }
+                }
+            }
+        }
+        
+        return props;
+    }
+    
+    
+    public void release() {}
+    
+}

Modified: incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePlanetImpl.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePlanetImpl.java?view=diff&rev=507085&r1=507084&r2=507085
==============================================================================
--- incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePlanetImpl.java (original)
+++ incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePlanetImpl.java Tue Feb 13 08:49:02 2007
@@ -26,6 +26,8 @@
 import org.apache.roller.planet.business.Planet;
 import org.apache.roller.planet.business.PlanetManager;
 import org.apache.roller.business.hibernate.HibernatePersistenceStrategy;
+import org.apache.roller.planet.business.PropertiesManager;
+import org.apache.roller.planet.business.URLStrategy;
 
 
 /**
@@ -43,6 +45,10 @@
     
     // references to the managers we maintain
     protected PlanetManager planetManager = null;
+    protected PropertiesManager propertiesManager = null;
+    
+    // url strategy
+    protected URLStrategy urlStrategy = null;
     
         
     /**
@@ -92,6 +98,24 @@
             planetManager = new HibernatePlanetManagerImpl(strategy);  
         }
         return planetManager;
+    }
+    
+    
+    public PropertiesManager getPropertiesManager() {
+        if ( propertiesManager == null ) {
+            propertiesManager = new HibernatePropertiesManagerImpl(strategy);  
+        }
+        return propertiesManager;
+    }
+    
+    
+    public URLStrategy getURLStrategy() {
+        return this.urlStrategy;
+    }
+    
+    public void setURLStrategy(URLStrategy urlStrategy) {
+        this.urlStrategy = urlStrategy;
+        log.info("Using URLStrategy: " + urlStrategy.getClass().getName());
     }
     
     

Modified: incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePlanetManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePlanetManagerImpl.java?view=diff&rev=507085&r1=507084&r2=507085
==============================================================================
--- incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePlanetManagerImpl.java (original)
+++ incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePlanetManagerImpl.java Tue Feb 13 08:49:02 2007
@@ -46,7 +46,8 @@
 import org.apache.roller.RollerException;
 import org.apache.roller.business.hibernate.HibernatePersistenceStrategy;
 import org.apache.roller.planet.business.PlanetManager;
-import org.apache.roller.planet.pojos.PlanetConfigData;
+import org.apache.roller.planet.config.PlanetRuntimeConfig;
+import org.apache.roller.planet.pojos.PlanetData;
 import org.apache.roller.planet.pojos.PlanetEntryData;
 import org.apache.roller.planet.pojos.PlanetGroupData;
 import org.apache.roller.planet.pojos.PlanetSubscriptionData;
@@ -67,12 +68,13 @@
     public HibernatePlanetManagerImpl(HibernatePersistenceStrategy strat) {        
         this.strategy = strat;
     }
-        
-    public void saveConfiguration(PlanetConfigData config) 
+    
+    
+    public void savePlanet(PlanetData planet) 
         throws RollerException {
-        strategy.store(config);
+        strategy.store(planet);
     }
-        
+    
     public void saveGroup(PlanetGroupData group) 
         throws RollerException {
         strategy.store(group);
@@ -97,7 +99,12 @@
         throws RollerException {
         strategy.remove(entry);
     }
-        
+    
+    public void deletePlanet(PlanetData planet) 
+        throws RollerException {
+        strategy.remove(planet);
+    }
+    
     public void deleteGroup(PlanetGroupData group) 
         throws RollerException {
         strategy.remove(group);
@@ -107,20 +114,34 @@
         throws RollerException {
         strategy.remove(sub);
     }
-        
-    public PlanetConfigData getConfiguration() throws RollerException {
-        PlanetConfigData config = null;
+    
+    public PlanetData getPlanet(String handle) throws RollerException {
+        PlanetData planet = null;
         try {
             Session session = ((HibernatePersistenceStrategy)strategy).getSession();
-            Criteria criteria = session.createCriteria(PlanetConfigData.class);
+            Criteria criteria = session.createCriteria(PlanetData.class);
+            criteria.add(Expression.ilike("handle", handle));
             criteria.setMaxResults(1);
-            List list = criteria.list();
-            config = list.size()!=0 ? (PlanetConfigData)list.get(0) : null;
+            planet = (PlanetData) criteria.uniqueResult();
         } catch (HibernateException e) {
             throw new RollerException(e);
         }
-        return config;
-    }    
+        return planet;
+    }
+    
+    public PlanetData getPlanetById(String id) throws RollerException {
+        return (PlanetData) strategy.load(id, PlanetData.class);
+    }
+    
+    public List getPlanets() throws RollerException {
+        try {
+            Session session = ((HibernatePersistenceStrategy)strategy).getSession();
+            Criteria criteria = session.createCriteria(PlanetData.class);
+            return criteria.list();
+        } catch (HibernateException e) {
+            throw new RollerException(e);
+        }
+    }
     
     public PlanetSubscriptionData getSubscription(String feedURL) 
         throws RollerException {
@@ -207,11 +228,20 @@
     }
         
     public PlanetGroupData getGroup(String handle) throws RollerException {
+        return getGroup(null, handle);
+    }
+    
+    public PlanetGroupData getGroup(PlanetData planet, String handle) throws RollerException {
         try {
             Session session = strategy.getSession();
             Criteria criteria = session.createCriteria(PlanetGroupData.class);
             criteria.setMaxResults(1);
             criteria.add(Expression.eq("handle", handle));
+            if(planet != null) {
+                criteria.add(Expression.eq("planet", planet));
+            } else {
+                criteria.add(Expression.isNull("planet"));
+            }
             return (PlanetGroupData) criteria.uniqueResult();
         } catch (HibernateException e) {
             throw new RollerException(e);
@@ -223,9 +253,18 @@
     }
         
     public List getGroups() throws RollerException {
+        return getGroups(null);
+    }
+    
+    public List getGroups(PlanetData planet) throws RollerException {
         try {
             Session session = ((HibernatePersistenceStrategy)strategy).getSession();
             Criteria criteria = session.createCriteria(PlanetGroupData.class);
+            if(planet != null) {
+                criteria.add(Expression.eq("planet", planet));
+            } else {
+                criteria.add(Expression.isNull("planet"));
+            }
             return criteria.list();
         } catch (HibernateException e) {
             throw new RollerException(e);
@@ -233,8 +272,12 @@
     }
        
     public List getGroupHandles() throws RollerException {
+        return getGroupHandles(null);
+    }
+    
+    public List getGroupHandles(PlanetData planet) throws RollerException {
         List handles = new ArrayList();
-        Iterator list = getGroups().iterator();
+        Iterator list = getGroups(planet).iterator();
         while (list.hasNext()) {
             PlanetGroupData group = (PlanetGroupData)list.next();
             handles.add(group.getHandle());
@@ -359,7 +402,6 @@
         
         Date now = new Date();
         long startTime = System.currentTimeMillis();
-        PlanetConfigData config = getConfiguration();
         
         // can't continue without cache dir
         if (cacheDirPath == null) {
@@ -396,11 +438,12 @@
         FeedFetcherCache feedInfoCache =
                 new DiskFeedInfoCache(cacheDirName);
         
-        if (config.getProxyHost()!=null && config.getProxyPort() > 0) {
+        String proxyHost = PlanetRuntimeConfig.getProperty("site.proxyHost");
+        int proxyPort = PlanetRuntimeConfig.getIntProperty("site.proxyPort");
+        if (proxyHost != null && proxyPort > 0) {
             System.setProperty("proxySet", "true");
-            System.setProperty("http.proxyHost", config.getProxyHost());
-            System.setProperty("http.proxyPort",
-                    Integer.toString(config.getProxyPort()));
+            System.setProperty("http.proxyHost", proxyHost);
+            System.setProperty("http.proxyPort", Integer.toString(proxyPort));
         }
         /** a hack to set 15 sec timeouts for java.net.HttpURLConnection */
         System.setProperty("sun.net.client.defaultConnectTimeout", "15000");

Copied: incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePropertiesManagerImpl.java (from r506460, incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePropertiesManagerImpl.java)
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePropertiesManagerImpl.java?view=diff&rev=507085&p1=incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePropertiesManagerImpl.java&r1=506460&p2=incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePropertiesManagerImpl.java&r2=507085
==============================================================================
--- incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePropertiesManagerImpl.java (original)
+++ incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePropertiesManagerImpl.java Tue Feb 13 08:49:02 2007
@@ -28,6 +28,7 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.roller.RollerException;
+import org.apache.roller.business.hibernate.HibernatePersistenceStrategy;
 import org.apache.roller.planet.business.PropertiesManager;
 import org.apache.roller.planet.config.PlanetRuntimeConfig;
 import org.apache.roller.planet.config.runtime.ConfigDef;