You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wookie.apache.org by sc...@apache.org on 2009/10/22 16:47:03 UTC
svn commit: r828725 - in /incubator/wookie/branches/standalone: ./ ant/
scripts/ scripts/derby/ scripts/mysql/ src/ src/org/apache/wookie/server/
Author: scottbw
Date: Thu Oct 22 14:47:02 2009
New Revision: 828725
URL: http://svn.apache.org/viewvc?rev=828725&view=rev
Log:
Applied enhancements for WOOKIE-26 that support both derby/jetty and mysql/tomcat deployment based on build.properties. Instructions provided in the readme.txt.
Added:
incubator/wookie/branches/standalone/scripts/derby/
incubator/wookie/branches/standalone/scripts/derby/hibernate.cfg.xml
incubator/wookie/branches/standalone/scripts/derby/widgetdb.sql
- copied unchanged from r827972, incubator/wookie/branches/standalone/scripts/widgetdb_derby.sql
incubator/wookie/branches/standalone/scripts/mysql/
incubator/wookie/branches/standalone/scripts/mysql/hibernate.cfg.xml
incubator/wookie/branches/standalone/scripts/mysql/widgetdb.sql
- copied unchanged from r827970, incubator/wookie/branches/standalone/scripts/widgetdb_mysql.sql
Removed:
incubator/wookie/branches/standalone/scripts/widgetdb_derby.sql
incubator/wookie/branches/standalone/scripts/widgetdb_mysql.sql
incubator/wookie/branches/standalone/src/hibernate.cfg.xml
Modified:
incubator/wookie/branches/standalone/ant/ivy-webapp-common.xml
incubator/wookie/branches/standalone/build.properties
incubator/wookie/branches/standalone/build.xml
incubator/wookie/branches/standalone/ivy.xml
incubator/wookie/branches/standalone/readme.txt
incubator/wookie/branches/standalone/src/org/apache/wookie/server/Start.java
Modified: incubator/wookie/branches/standalone/ant/ivy-webapp-common.xml
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/standalone/ant/ivy-webapp-common.xml?rev=828725&r1=828724&r2=828725&view=diff
==============================================================================
--- incubator/wookie/branches/standalone/ant/ivy-webapp-common.xml (original)
+++ incubator/wookie/branches/standalone/ant/ivy-webapp-common.xml Thu Oct 22 14:47:02 2009
@@ -17,10 +17,7 @@
-->
<project xmlns:ivy="antlib:fr.jayasoft.ivy.ant">
- <property name="project.webapp.dir" location="src/webapp" />
- <property name="project.lib.dir" location="lib" />
-
- <property name="serveltEngine.webapp.dir" location="C:\\Program Files\\Apache Software Foundation\\Tomcat 5.5\\webapps" />
+ <property name="project.webapp.dir" location="WebContent" />
<import file="ivy-java-common.xml" />
@@ -29,19 +26,23 @@
<java classname="org.apache.wookie.server.Stop" classpathref="run.path.id" />
</parallel>
</target>
-
- <target name="deploy-webapp" depends="compile-core">
- <copy todir="${serveltEngine.webapp.dir}/${ant.project.name}/WEB-INF/classes">
+
+ <target name="clean-webapp-lib" description="--> clean the project webapp libs directory">
+ <delete includeemptydirs="true" dir="${project.weblib.dir}"/>
+ </target>
+
+ <target name="deploy-webapp" depends="compile-core, clean-webapp-lib">
+ <ivy:cachepath pathid="project.core.class.path" conf="default" />
+ <copy todir="${servletEngine.webapp.dir}/${ant.project.name}/WEB-INF/classes">
<fileset dir="${project.build.classes.dir}" />
</copy>
- <copy todir="${serveltEngine.webapp.dir}/${ant.project.name}">
+ <copy todir="${servletEngine.webapp.dir}/${ant.project.name}">
<fileset dir="${project.webapp.dir}" />
</copy>
-
- <ivy:retrieve />
- <copy todir="${serveltEngine.webapp.dir}/${ant.project.name}/WEB-INF/lib">
- <fileset dir="${project.lib.dir}" />
+ <ivy:retrieve conf="deploy" pattern="${project.weblib.dir}/[artifact]-[revision].[ext]"/>
+ <copy todir="${servletEngine.webapp.dir}/${ant.project.name}/WEB-INF/lib">
+ <fileset dir="${project.weblib.dir}" />
</copy>
<antcall target="post-deploy-webapp" />
@@ -50,7 +51,9 @@
<target name="post-deploy-webapp" />
<target name="undeploy-webapp">
- <delete dir="${serveltEngine.webapp.dir}/${ant.project.name}" />
+ <delete dir="${servletEngine.webapp.dir}/${ant.project.name}" />
</target>
+
+ <target name="redeploy-webapp" description="replace current webapp" depends="undeploy-webapp, deploy-webapp"/>
</project>
Modified: incubator/wookie/branches/standalone/build.properties
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/standalone/build.properties?rev=828725&r1=828724&r2=828725&view=diff
==============================================================================
--- incubator/wookie/branches/standalone/build.properties (original)
+++ incubator/wookie/branches/standalone/build.properties Thu Oct 22 14:47:02 2009
@@ -1,3 +1,10 @@
build.dir=build
ivy.repository.dir=ant
-main.class.name=org.apache.wookie.server.Start
\ No newline at end of file
+main.class.name=org.apache.wookie.server.Start
+## Set this to the location of your tomcat app engine, or ignore if using built-in Jetty server
+servletEngine.webapp.dir=/usr/local/tomcat-5.5.27/webapps/
+project.weblib.dir=weblibs
+
+## Enable one of the following settings to select database to use
+#project.using.mysql=true
+project.using.derby=true
\ No newline at end of file
Modified: incubator/wookie/branches/standalone/build.xml
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/standalone/build.xml?rev=828725&r1=828724&r2=828725&view=diff
==============================================================================
--- incubator/wookie/branches/standalone/build.xml (original)
+++ incubator/wookie/branches/standalone/build.xml Thu Oct 22 14:47:02 2009
@@ -25,11 +25,34 @@
<import file="ant/ivy-webapp-common.xml"/>
- <target name="post-compile-core">
- <copy file="scripts/widgetdb_derby.sql" tofile="${project.build.classes.dir}/widgetdb_derby.sql"/>
+ <target name="set-mysql-script-dir" if="project.using.mysql">
+ <property name="project.scripts.dir" value="scripts/mysql"/>
+ </target>
+ <target name="set-derby-script-dir" if="project.using.derby">
+ <property name="project.scripts.dir" value="scripts/derby"/>
</target>
- <target name="clean-db" description="delete the Wookie database, it will be recreated next time the application is run">
+ <target name="post-compile-core" depends="set-mysql-script-dir, set-derby-script-dir">
+ <copy file="${project.scripts.dir}/widgetdb.sql" tofile="${project.build.classes.dir}/widgetdb.sql"/>
+ <copy file="${project.scripts.dir}/hibernate.cfg.xml" tofile="${project.build.classes.dir}/hibernate.cfg.xml"/>
+ </target>
+
+ <target name="clean-mysql" if="project.using.mysql">
+ <echo>Deleting mysql database</echo>
+ <sql
+ classpath="${project.weblib.dir}/mysql-connector-java-5.1.6.jar"
+ driver="com.mysql.jdbc.Driver"
+ url="jdbc:mysql://localhost:3306/?autoReconnect=true"
+ userid="java" password="java" >
+ <transaction src="${project.scripts.dir}/widgetdb.sql"/>
+ </sql>
+ </target>
+
+ <target name="clean-derby" if="project.using.derby">
+ <echo>Deleting derby database files</echo>
<delete dir="${db.name}"/>
</target>
+
+ <target name="clean-db" depends="clean-mysql, clean-derby" description="delete the Wookie database, it will be recreated next time the application is run">
+ </target>
</project>
\ No newline at end of file
Modified: incubator/wookie/branches/standalone/ivy.xml
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/standalone/ivy.xml?rev=828725&r1=828724&r2=828725&view=diff
==============================================================================
--- incubator/wookie/branches/standalone/ivy.xml (original)
+++ incubator/wookie/branches/standalone/ivy.xml Thu Oct 22 14:47:02 2009
@@ -2,46 +2,47 @@
<info organisation="org.apache.incubator" module="wookie-server"/>
<configurations>
- <conf name="default"/>
+ <conf name="deploy"/>
+ <conf name="default" extends="deploy"/>
<conf name="test" extends="default"/>
</configurations>
<dependencies>
- <dependency org="antlr" name="antlr" rev="2.7.7" conf="default->default">
+ <dependency org="antlr" name="antlr" rev="2.7.7" conf="deploy->default">
</dependency>
- <dependency org="cglib" name="cglib" rev="2.2" conf="default->default">
+ <dependency org="cglib" name="cglib" rev="2.2" conf="deploy->default">
</dependency>
- <dependency org="commons-codec" name="commons-codec" rev="1.3" conf="default->default">
+ <dependency org="commons-codec" name="commons-codec" rev="1.3" conf="deploy->default">
</dependency>
- <dependency org="commons-collections" name="commons-collections" rev="3.2" conf="default->default">
+ <dependency org="commons-collections" name="commons-collections" rev="3.2" conf="deploy->default">
</dependency>
- <dependency org="commons-compress" name="commons-compress" rev="1.0" conf="default->default">
+ <dependency org="commons-compress" name="commons-compress" rev="1.0" conf="deploy->default">
</dependency>
- <dependency org="commons-configuration" name="commons-configuration" rev="1.4" conf="default->default">
+ <dependency org="commons-configuration" name="commons-configuration" rev="1.4" conf="deploy->default">
</dependency>
- <dependency org="commons-fileupload" name="commons-fileupload" rev="1.2.1" conf="default->default">
+ <dependency org="commons-fileupload" name="commons-fileupload" rev="1.2.1" conf="deploy->default">
</dependency>
- <dependency org="commons-httpclient" name="commons-httpclient" rev="3.0.1" conf="default->default">
+ <dependency org="commons-httpclient" name="commons-httpclient" rev="3.0.1" conf="deploy->default">
</dependency>
- <dependency org="commons-lang" name="commons-lang" rev="2.4" conf="default->default">
+ <dependency org="commons-lang" name="commons-lang" rev="2.4" conf="deploy->default">
</dependency>
- <dependency org="commons-logging" name="commons-logging" rev="1.1.1" conf="default->optional">
+ <dependency org="commons-logging" name="commons-logging" rev="1.1.1" conf="deploy->default">
</dependency>
- <dependency org="dom4j" name="dom4j" rev="1.6.1" conf="default->default">
+ <dependency org="dom4j" name="dom4j" rev="1.6.1" conf="deploy->default">
</dependency>
- <dependency org="htmlcleaner" name="htmlcleaner" rev="2.1.0" conf="default->default">
+ <dependency org="htmlcleaner" name="htmlcleaner" rev="2.1.0" conf="deploy->default">
</dependency>
- <dependency org="org.directwebremoting" name="dwr" rev="2.0.5" conf="default->default">
+ <dependency org="org.directwebremoting" name="dwr" rev="2.0.5" conf="deploy->default">
</dependency>
- <dependency org="com.google.collections" name="google-collections" rev="0.9" conf="default->default">
+ <dependency org="com.google.collections" name="google-collections" rev="0.9" conf="deploy->default">
</dependency>
- <dependency org="org.slf4j" name="slf4j-log4j12" rev="1.5.2" conf="default->default">
+ <dependency org="org.slf4j" name="slf4j-log4j12" rev="1.5.2" conf="deploy->default">
</dependency>
<dependency org="org.apache.incubator" name="shindig-common" rev="1.1-SNAPSHOT">
</dependency>
- <dependency org="org.jdom" name="jdom" rev="1.1" conf="default->default">
+ <dependency org="org.jdom" name="jdom" rev="1.1" conf="deploy->default">
</dependency>
- <dependency org="org.json" name="json" rev="20080701" conf="default->default">
+ <dependency org="org.json" name="json" rev="20080701" conf="deploy->default">
</dependency>
<!-- Libraries used in a development/test environment but not in deployment -->
@@ -64,11 +65,11 @@
<!-- Libraries with incompatible open source licences -->
- <dependency org="org.hibernate" name="hibernate-c3p0" rev="3.3.1.GA" conf="default->default">
+ <dependency org="org.hibernate" name="hibernate-c3p0" rev="3.3.1.GA" conf="deploy->default">
</dependency>
- <dependency org="org.hibernate" name="hibernate-core" rev="3.3.1.GA" conf="default->default,optional">
+ <dependency org="org.hibernate" name="hibernate-core" rev="3.3.1.GA" conf="deploy->default,optional">
</dependency>
- <dependency org="mysql" name="mysql-connector-java" rev="5.1.6" conf="default->default">
+ <dependency org="mysql" name="mysql-connector-java" rev="5.1.6" conf="deploy->default">
</dependency>
<exclude module="spring"/>
Modified: incubator/wookie/branches/standalone/readme.txt
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/standalone/readme.txt?rev=828725&r1=828724&r2=828725&view=diff
==============================================================================
--- incubator/wookie/branches/standalone/readme.txt (original)
+++ incubator/wookie/branches/standalone/readme.txt Thu Oct 22 14:47:02 2009
@@ -46,6 +46,27 @@
ant clean-db
+Deploying using Tomcat and MySQL
+================================
+
+The following will compile and run the server in Tomcat with a MySQL database. The database tables will be set up automatically, however you
+must have previously created a database called "widgetdb" with username "java" and password "java".
+
+cd PROJECT_HOME_DIRECTORY
+edit the "build.properties" file, uncommenting "project.using.mysql=true" and setting "servletEngine.webapp.dir=" to the location of your
+tomcat webapps directory.
+ant clean-build deploy-webapp
+
+To access the administration menu (http://localhost:8080/wookie/admin) use the username 'java' and password 'java'.
+
+If you want to start with a completely clean build then use:
+
+ant clean-build deploy-webapp
+
+If you want to clean the database use:
+
+ant clean-db
+
Debugging
=========
Added: incubator/wookie/branches/standalone/scripts/derby/hibernate.cfg.xml
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/standalone/scripts/derby/hibernate.cfg.xml?rev=828725&view=auto
==============================================================================
--- incubator/wookie/branches/standalone/scripts/derby/hibernate.cfg.xml (added)
+++ incubator/wookie/branches/standalone/scripts/derby/hibernate.cfg.xml Thu Oct 22 14:47:02 2009
@@ -0,0 +1,39 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!DOCTYPE hibernate-configuration PUBLIC
+ "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+ "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+
+<hibernate-configuration>
+ <session-factory>
+ <property name="hibernate.connection.driver_class">org.apache.derby.jdbc.EmbeddedDriver</property>
+ <property name="hibernate.connection.url">jdbc:derby:widgetDB;create=true</property>
+ <!-- ************************************************************************ -->
+ <!-- In production you should ***not*** use hbm2ddl.auto update, it is unsafe -->
+ <!-- ************************************************************************ -->
+ <property name="hibernate.hbm2ddl.auto">update</property>
+ <property name="dialect">org.hibernate.dialect.DerbyDialect</property>
+ <property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
+ <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
+ <property name="hibernate.connection.username">java</property>
+ <property name="hibernate.connection.password">java</property>
+ <property name="connection.pool_size">80</property>
+ <property name="c3p0.acquire_increment">1</property>
+ <property name="c3p0.idle_test_period">200</property> <!-- seconds -->
+ <property name="c3p0.max_size">80</property>
+ <property name="c3p0.max_statements">0</property>
+ <property name="c3p0.min_size">5</property>
+ <property name="c3p0.timeout">80</property>
+
+ <property name="hibernate.connection.release_mode">auto</property>
+ <!-- Enable Hibernate's automatic session context management -->
+ <property name="current_session_context_class">thread</property>
+ <!-- Disable the second-level cache -->
+ <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
+ <!-- Echo all executed SQL to stdout -->
+ <property name="show_sql">false</property>
+ <mapping resource="org/apache/wookie/beans/schema.hbm.xml"/>
+
+ </session-factory>
+
+</hibernate-configuration>
+
Added: incubator/wookie/branches/standalone/scripts/mysql/hibernate.cfg.xml
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/standalone/scripts/mysql/hibernate.cfg.xml?rev=828725&view=auto
==============================================================================
--- incubator/wookie/branches/standalone/scripts/mysql/hibernate.cfg.xml (added)
+++ incubator/wookie/branches/standalone/scripts/mysql/hibernate.cfg.xml Thu Oct 22 14:47:02 2009
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!DOCTYPE hibernate-configuration PUBLIC
+ "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+ "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+
+<hibernate-configuration>
+ <session-factory>
+ <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
+ <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/widgetdb</property>
+ <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
+ <property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
+ <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
+ <property name="hibernate.connection.username">java</property>
+ <property name="hibernate.connection.password">java</property>
+ <property name="connection.pool_size">80</property>
+ <property name="c3p0.acquire_increment">1</property>
+ <property name="c3p0.idle_test_period">200</property> <!-- seconds -->
+ <property name="c3p0.max_size">80</property>
+ <property name="c3p0.max_statements">0</property>
+ <property name="c3p0.min_size">5</property>
+ <property name="c3p0.timeout">80</property>
+
+ <property name="hibernate.connection.release_mode">auto</property>
+ <!-- Enable Hibernate's automatic session context management -->
+ <property name="current_session_context_class">thread</property>
+ <!-- Disable the second-level cache -->
+ <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
+ <!-- Echo all executed SQL to stdout -->
+ <property name="show_sql">false</property>
+ <mapping resource="org/apache/wookie/beans/schema.hbm.xml"/>
+
+ </session-factory>
+
+</hibernate-configuration>
+
Modified: incubator/wookie/branches/standalone/src/org/apache/wookie/server/Start.java
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/standalone/src/org/apache/wookie/server/Start.java?rev=828725&r1=828724&r2=828725&view=diff
==============================================================================
--- incubator/wookie/branches/standalone/src/org/apache/wookie/server/Start.java (original)
+++ incubator/wookie/branches/standalone/src/org/apache/wookie/server/Start.java Thu Oct 22 14:47:02 2009
@@ -47,7 +47,7 @@
*/
private static void configureDatabase() throws IOException {
logger.debug("Configuring Derby Database");
- URL sqlFile = Start.class.getClassLoader().getResource("widgetdb_derby.sql");
+ URL sqlFile = Start.class.getClassLoader().getResource("widgetdb.sql");
StringBuilder fileData = new StringBuilder(1000);
FileReader in = new FileReader(sqlFile.getFile());
BufferedReader br = new BufferedReader(in);