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 >