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 [2/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...

Modified: incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/jpa/JPAPlanetImpl.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/jpa/JPAPlanetImpl.java?view=diff&rev=507085&r1=507084&r2=507085
==============================================================================
--- incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/jpa/JPAPlanetImpl.java (original)
+++ incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/business/jpa/JPAPlanetImpl.java Tue Feb 13 08:49:02 2007
@@ -21,6 +21,8 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.roller.RollerException;
+import org.apache.roller.planet.business.PropertiesManager;
+import org.apache.roller.planet.business.URLStrategy;
 import org.apache.roller.planet.business.datamapper.DatamapperPlanetImpl;
 import org.apache.roller.planet.business.datamapper.DatamapperPlanetManagerImpl;
 import org.apache.roller.planet.business.Planet;
@@ -42,6 +44,9 @@
     // references to the managers we maintain
     protected PlanetManager planetManager = null;
     
+    // url strategy
+    protected URLStrategy urlStrategy = null;
+    
         
     protected JPAPlanetImpl() throws RollerException {
         // set strategy used by Datamapper
@@ -59,13 +64,14 @@
         }
         
         return me;
+    }    
+
+    public URLStrategy getURLStrategy() {
+        return this.urlStrategy;
     }
     
-    
-    public PlanetManager getPlanetManager() {
-        if ( planetManager == null ) {
-            planetManager = new DatamapperPlanetManagerImpl(strategy);  
-        }
-        return planetManager;
-    }           
+    public void setURLStrategy(URLStrategy urlStrategy) {
+        this.urlStrategy = urlStrategy;
+        log.info("Using URLStrategy: " + urlStrategy.getClass().getName());
+    }
 }

Copied: incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PlanetData.orm.xml (from r505072, incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PlanetConfigData.orm.xml)
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PlanetData.orm.xml?view=diff&rev=507085&p1=incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PlanetConfigData.orm.xml&r1=505072&p2=incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PlanetData.orm.xml&r2=507085
==============================================================================
--- incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PlanetConfigData.orm.xml (original)
+++ incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PlanetData.orm.xml Tue Feb 13 08:49:02 2007
@@ -10,61 +10,28 @@
     </persistence-unit-metadata>
     <package>org.apache.roller.pojos</package>
     <entity metadata-complete="true" name=""
-            class="org.apache.roller.planet.pojos.PlanetConfigData">
+            class="org.apache.roller.planet.pojos.PlanetData">
         <table name="rag_config"/>
         <table-generator name="ROLLER-TABLE-GENERATOR" table="ROLLER_ID_TABLE" pk-column-name="pk" value-column-name="value" pk-column-value="1"/>
-        <named-query name="PlanetConfigData.getAll">
-            <query>SELECT p FROM PlanetConfigData p</query>
+        <named-query name="PlanetData.getAll">
+            <query>SELECT p FROM PlanetData p</query>
         </named-query>
         <attributes>
             <id name="id">
                 <column name="id"/>
                 <generated-value strategy="TABLE" generator="ROLLER-TABLE-GENERATOR"/>
             </id>
-            <basic name="groupPage">
-                <column name="group_page" insertable="true" updatable="true" unique="false"/>
+            <basic name="name">
+                <column name="name" insertable="true" updatable="true" unique="false"/>
             </basic>
-            <basic name="mainPage">
-                <column name="main_page" insertable="true" updatable="true" unique="false"/>
+            <basic name="handle">
+                <column name="handle" insertable="true" updatable="true" unique="true"/>
             </basic>
-            <basic name="proxyHost">
-                <column name="proxy_host" insertable="true" updatable="true" unique="false"/>
-            </basic>
-            <basic name="proxyPort">
-                <column name="proxy_port" insertable="true" updatable="true" unique="false"/>
-            </basic>
-            <basic name="siteURL">
-                <column name="site_url" insertable="true" updatable="true" unique="false"/>
-            </basic>
-            <basic name="adminEmail">
-                <column name="admin_email" insertable="true" updatable="true" unique="false"/>
-            </basic>
-            <basic name="adminName">
-                <column name="admin_name" insertable="true" updatable="true" unique="false"/>
-            </basic>
-            <basic name="outputDir">
-                <column name="output_dir" insertable="true" updatable="true" unique="false"/>
-            </basic>
-            <basic name="templateDir">
-                <column name="template_dir" insertable="true" updatable="true" unique="false"/>
-            </basic>
-            <basic name="description">
-                <column name="description" insertable="true" updatable="true" unique="false"/>
-            </basic>
-            <basic name="title">
-                <column name="title" insertable="true" updatable="true" unique="false"/>
-            </basic>
-            <basic name="cacheDir">
-                <column name="cache_dir" insertable="true" updatable="true" unique="false"/>
-            </basic>
-            <many-to-one name="defaultGroup"
-                         target-entity="org.apache.roller.planet.pojos.PlanetGroupData">
-                <join-column name="default_group_id" insertable="true" updatable="true"
-                             nullable="true"/>
+            <one-to-many name="groups" mapped-by="planet_id" target-entity="org.apache.roller.planet.pojos.PlanetGroupData" fetch="LAZY">
                 <cascade>
                     <cascade-all/>
                 </cascade>
-            </many-to-one>
+            </one-to-many>
         </attributes>
     </entity>
 </entity-mappings>

Modified: incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PlanetGroupData.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PlanetGroupData.java?view=diff&rev=507085&r1=507084&r2=507085
==============================================================================
--- incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PlanetGroupData.java (original)
+++ incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PlanetGroupData.java Tue Feb 13 08:49:02 2007
@@ -58,6 +58,8 @@
     /** Subscriptions in this group */
     private Set subscriptions = new HashSet();
 
+    private PlanetData planet = null;
+    
     //------------------------------------------------------- persistent fields
 
     /** 
@@ -154,6 +156,17 @@
         this.title = title;
     }
 
+    /**
+     * @hibernate.many-to-one column="planet_id" cascade="none" non-null="false"
+     */
+    public PlanetData getPlanet() {
+        return planet;
+    }
+
+    public void setPlanet(PlanetData planet) {
+        this.planet = planet;
+    }
+    
     //--------------------------------------------------------------- app logic
 
     /**

Added: incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PropertyData.orm.xml
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PropertyData.orm.xml?view=auto&rev=507085
==============================================================================
--- incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PropertyData.orm.xml (added)
+++ incubator/roller/branches/roller_4.0/apps/planet/src/java/org/apache/roller/planet/pojos/PropertyData.orm.xml Tue Feb 13 08:49:02 2007
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity-mappings version="1.0" xmlns="http://java.sun.com/xml/ns/persistence/orm"
+                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm
+ orm_1_0.xsd">
+    <description>Persistence Metadata for Roller</description>
+    <persistence-unit-metadata>
+        <persistence-unit-defaults>
+            <access>PROPERTY</access>
+        </persistence-unit-defaults>
+    </persistence-unit-metadata>
+    <package>org.apache.roller.planet.pojos</package>
+    <entity metadata-complete="true" name="PropertyData"
+            class="org.apache.roller.planet.pojos.PropertyData">
+        <table name="roller_properties"/>
+        <named-query name="RollerData.getAll">
+            <query>SELECT r FROM PropertyData r</query>
+        </named-query>
+        <attributes>
+            <id name="name">
+                <column name="name"/>
+                <generated-value strategy="TABLE" generator="ROLLER-TABLE-GENERATOR"/>
+            </id>
+            <basic name="value">
+                <column name="value" insertable="true" updatable="true" unique="false"/>
+            </basic>
+        </attributes>
+    </entity>
+</entity-mappings>

Modified: incubator/roller/branches/roller_4.0/apps/planet/test/java/org/apache/roller/planet/TestUtils.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/test/java/org/apache/roller/planet/TestUtils.java?view=diff&rev=507085&r1=507084&r2=507085
==============================================================================
--- incubator/roller/branches/roller_4.0/apps/planet/test/java/org/apache/roller/planet/TestUtils.java (original)
+++ incubator/roller/branches/roller_4.0/apps/planet/test/java/org/apache/roller/planet/TestUtils.java Tue Feb 13 08:49:02 2007
@@ -18,8 +18,10 @@
 
 package org.apache.roller.planet;
 
-import org.apache.roller.planet.business.Planet;
+import org.apache.roller.RollerException;
 import org.apache.roller.planet.business.PlanetFactory;
+import org.apache.roller.planet.business.PlanetManager;
+import org.apache.roller.planet.pojos.PlanetData;
 
 
 /**
@@ -43,6 +45,47 @@
         }
         
         PlanetFactory.getPlanet().release();
+    }
+    
+    
+    /**
+     * Convenience method that creates a planet and stores it.
+     */
+    public static PlanetData setupPlanet(String handle) throws Exception {
+        
+        PlanetData testPlanet = new PlanetData(handle, handle);
+        
+        // store
+        PlanetManager mgr = PlanetFactory.getPlanet().getPlanetManager();
+        mgr.savePlanet(testPlanet);
+        
+        // flush
+        PlanetFactory.getPlanet().flush();
+        
+        // query to make sure we return the persisted object
+        PlanetData planet = mgr.getPlanet(handle);
+        
+        if(planet == null)
+            throw new RollerException("error inserting new planet");
+        
+        return planet;
+    }
+    
+    
+    /**
+     * Convenience method for removing a planet.
+     */
+    public static void teardownPlanet(String id) throws Exception {
+        
+        // lookup
+        PlanetManager mgr = PlanetFactory.getPlanet().getPlanetManager();
+        PlanetData planet = mgr.getPlanetById(id);
+        
+        // remove
+        mgr.deletePlanet(planet);
+        
+        // flush
+        PlanetFactory.getPlanet().flush();
     }
     
 }

Modified: incubator/roller/branches/roller_4.0/apps/planet/test/java/org/apache/roller/planet/business/PlanetManagerTest.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/test/java/org/apache/roller/planet/business/PlanetManagerTest.java?view=diff&rev=507085&r1=507084&r2=507085
==============================================================================
--- incubator/roller/branches/roller_4.0/apps/planet/test/java/org/apache/roller/planet/business/PlanetManagerTest.java (original)
+++ incubator/roller/branches/roller_4.0/apps/planet/test/java/org/apache/roller/planet/business/PlanetManagerTest.java Tue Feb 13 08:49:02 2007
@@ -31,7 +31,6 @@
 import org.apache.roller.planet.business.Planet;
 import org.apache.roller.planet.business.PlanetFactory;
 import org.apache.roller.planet.business.PlanetManager;
-import org.apache.roller.planet.pojos.PlanetConfigData;
 import org.apache.roller.planet.pojos.PlanetEntryData;
 import org.apache.roller.planet.pojos.PlanetGroupData;
 import org.apache.roller.planet.pojos.PlanetSubscriptionData;
@@ -44,86 +43,6 @@
     
     public static Log log = LogFactory.getLog(PlanetManagerTest.class);
     
-    static {
-        try {
-            // planet config should always exist
-            PlanetConfigData config = new PlanetConfigData();
-            config.setTitle("test_title");
-            config.setAdminEmail("test_admin_email");
-            PlanetFactory.getPlanet().getPlanetManager().saveConfiguration(config);
-            TestUtils.endSession(true);
-        } catch (Exception ex) {
-            log.error(ex);
-            throw new RuntimeException(ex);
-        }
-    }
-    
-    
-    public static Test suite() {
-        return new TestSuite(PlanetManagerTest.class);
-    }
-    
-    
-    protected void setUp() throws Exception {
-        super.setUp();
-        //RollerConfig.setPlanetCachePath("." + File.separator + "planet-cache");
-    }
-    
-    public void testConfigurationStorage() throws Exception {
-        
-        PlanetManager planet = PlanetFactory.getPlanet().getPlanetManager();
-        
-        {   // retrieve config
-            PlanetConfigData config = planet.getConfiguration();
-            assertNotNull(config);
-            assertEquals("test_title", config.getTitle());
-            assertEquals("test_admin_email", config.getAdminEmail());
-            assertNull(config.getSiteURL());
-        }
-        {   // save config
-            PlanetConfigData config = planet.getConfiguration();
-            config.setSiteURL("http://footest/lskdf/null");
-            planet.saveConfiguration(config);
-            TestUtils.endSession(true);
-        }
-        {
-            // make sure config was saved
-            PlanetConfigData config = planet.getConfiguration();
-            assertNotNull(config);
-            assertEquals("http://footest/lskdf/null", config.getSiteURL());
-        }
-    }
-    
-    
-    public void testGroupStorage() throws Exception {
-        
-        PlanetManager planet = PlanetFactory.getPlanet().getPlanetManager();
-        
-        {   // save group
-            PlanetGroupData group = new PlanetGroupData();
-            group.setDescription("test_group_desc");
-            group.setHandle("test_handle");
-            group.setTitle("test_title");
-            planet.saveGroup(group);
-            TestUtils.endSession(true);
-        }
-        {   // retrieve group
-            PlanetGroupData group = planet.getGroup("test_handle");
-            assertEquals("test_group_desc",group.getDescription());
-            assertEquals("test_title",group.getTitle());
-            assertTrue(planet.getGroupHandles().size() > 0);
-        }
-        {   // remove group
-            PlanetGroupData group = planet.getGroup("test_handle");
-            planet.deleteGroup(group);
-            TestUtils.endSession(true);
-        }
-        {   // verify that it is gone
-            PlanetGroupData group = planet.getGroup("test_handle");
-            assertNull(group);
-        }
-    }
-    
     
     public void testSubscriptionStorage() throws Exception {
         
@@ -283,10 +202,10 @@
         String feed_url1 = "http://rollerweblogger.org/roller/feed/entries/rss";
         
         {
-            PlanetConfigData config = planet.getConfiguration();
-            config.setAdminName("admin");
-            config.setSiteURL("http://localhost:8080/roller");
-            planet.saveConfiguration(config);
+//            PlanetConfigData config = planet.getConfiguration();
+//            config.setAdminName("admin");
+//            config.setSiteURL("http://localhost:8080/roller");
+//            planet.saveConfiguration(config);
             
             PlanetGroupData group = new PlanetGroupData();
             group.setDescription("test_group_desc");

Modified: incubator/roller/branches/roller_4.0/apps/planet/test/java/org/apache/roller/planet/business/PlanetTestSuite.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/test/java/org/apache/roller/planet/business/PlanetTestSuite.java?view=diff&rev=507085&r1=507084&r2=507085
==============================================================================
--- incubator/roller/branches/roller_4.0/apps/planet/test/java/org/apache/roller/planet/business/PlanetTestSuite.java (original)
+++ incubator/roller/branches/roller_4.0/apps/planet/test/java/org/apache/roller/planet/business/PlanetTestSuite.java Tue Feb 13 08:49:02 2007
@@ -41,6 +41,12 @@
 	
         // TODO: add a test for PlanetConfig
         
+        suite.addTestSuite(PropertiesTest.class);
+        
+        suite.addTestSuite(PlanetTest.class);
+        
+        suite.addTestSuite(GroupTest.class);
+        
         suite.addTestSuite(PlanetManagerTest.class);
 
         return suite;

Modified: incubator/roller/branches/roller_4.0/apps/planet/testdata/hibernate.cfg.xml
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/testdata/hibernate.cfg.xml?view=diff&rev=507085&r1=507084&r2=507085
==============================================================================
--- incubator/roller/branches/roller_4.0/apps/planet/testdata/hibernate.cfg.xml (original)
+++ incubator/roller/branches/roller_4.0/apps/planet/testdata/hibernate.cfg.xml Tue Feb 13 08:49:02 2007
@@ -40,10 +40,11 @@
         <property name="hibernate.cache.use_structured_entries">true</property>
         
         <!-- Map Planet POJO classes -->
-        <mapping resource="org/apache/roller/planet/pojos/PlanetConfigData.hbm.xml" />
+        <mapping resource="org/apache/roller/planet/pojos/PlanetData.hbm.xml" />
         <mapping resource="org/apache/roller/planet/pojos/PlanetGroupData.hbm.xml" />
         <mapping resource="org/apache/roller/planet/pojos/PlanetEntryData.hbm.xml" />
         <mapping resource="org/apache/roller/planet/pojos/PlanetSubscriptionData.hbm.xml" />
+        <mapping resource="org/apache/roller/planet/pojos/PropertyData.hbm.xml" />
                 
     </session-factory>
 </hibernate-configuration>

Modified: incubator/roller/branches/roller_4.0/apps/planet/testdata/log4j.properties
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/testdata/log4j.properties?view=diff&rev=507085&r1=507084&r2=507085
==============================================================================
--- incubator/roller/branches/roller_4.0/apps/planet/testdata/log4j.properties (original)
+++ incubator/roller/branches/roller_4.0/apps/planet/testdata/log4j.properties Tue Feb 13 08:49:02 2007
@@ -25,7 +25,7 @@
 
 # Options are: DEBUG, INFO, WARN, ERROR, FATAL
 # Roller code
-log4j.category.org.apache.roller=INFO
+log4j.category.org.apache.roller=DEBUG
 log4j.category.net.java.roller=INFO
 
 # Roller dependent libraries

Modified: incubator/roller/branches/roller_4.0/apps/planet/testdata/planet-custom.properties
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/testdata/planet-custom.properties?view=diff&rev=507085&r1=507084&r2=507085
==============================================================================
--- incubator/roller/branches/roller_4.0/apps/planet/testdata/planet-custom.properties (original)
+++ incubator/roller/branches/roller_4.0/apps/planet/testdata/planet-custom.properties Tue Feb 13 08:49:02 2007
@@ -1,6 +1,12 @@
 
 jdbc.driverClass=org.apache.derby.jdbc.ClientDriver
-jdbc.connectionURL=jdbc:derby://localhost:3219/roller
-jdbc.username=APP
-jdbc.password=APP
+jdbc.connectionURL=jdbc:derby://localhost:3219/planet
+jdbc.username=app
+jdbc.password=app
 hibernate.dialect=org.hibernate.dialect.DerbyDialect
+
+#jdbc.driverClass=com.mysql.jdbc.Driver
+#jdbc.connectionURL=jdbc:mysql://localhost:3306/test_planet
+#jdbc.username=roller
+#jdbc.password=roller
+#hibernate.dialect=org.hibernate.dialect.MySQLDialect

Copied: incubator/roller/branches/roller_4.0/apps/planet/testdata/planetRuntimeConfigDefs.xml (from r506460, incubator/roller/trunk/apps/planet/testdata/planetRuntimeConfigDefs.xml)
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/apps/planet/testdata/planetRuntimeConfigDefs.xml?view=diff&rev=507085&p1=incubator/roller/trunk/apps/planet/testdata/planetRuntimeConfigDefs.xml&r1=506460&p2=incubator/roller/branches/roller_4.0/apps/planet/testdata/planetRuntimeConfigDefs.xml&r2=507085
==============================================================================
--- incubator/roller/trunk/apps/planet/testdata/planetRuntimeConfigDefs.xml (original)
+++ incubator/roller/branches/roller_4.0/apps/planet/testdata/planetRuntimeConfigDefs.xml Tue Feb 13 08:49:02 2007
@@ -64,6 +64,14 @@
            <type>string</type>
            <default-value></default-value>
        </property-def>
+       <property-def  name="site.proxyHost"  key="ConfigForm.proxyHost">
+           <type>string</type>
+           <default-value></default-value>
+       </property-def>
+       <property-def  name="site.proxyPort"  key="ConfigForm.proxyPort">
+           <type>int</type>
+           <default-value></default-value>
+       </property-def>
        
    </display-group >