shuber 2005/06/01 18:47:56 CEST
Modified files:
. README
core maven.xml
core/src/java/org/jahia/bin
JetspeedDataSourceConfigurator.java
core/src/java/org/jahia/services/database
ConnectionDispenser.java
core/src/webapp/WEB-INF/var/db mysql.script
Log:
Had to rewrite all the context descriptor handling code as Tomcat 5.5 changed
the format of the <resource> tag between version 5.0 and 5.5
---> MAKE SURE you set your catalina.version.major=5.5 if using Tomcat 5.5 or
Jahia will not install properly !
Revision Changes Path
1.69 +4 -0 jahia/README
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/README.diff?r1=1.68&r2=1.69&f=h
1.27 +20 -2 jahia/core/maven.xml
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/maven.xml.diff?r1=1.26&r2=1.27&f=h
1.3 +48 -63
jahia/core/src/java/org/jahia/bin/JetspeedDataSourceConfigurator.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/bin/JetspeedDataSourceConfigurator.java.diff?r1=1.2&r2=1.3&f=h
1.6 +1 -0
jahia/core/src/java/org/jahia/services/database/ConnectionDispenser.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/database/ConnectionDispenser.java.diff?r1=1.5&r2=1.6&f=h
1.4 +1 -0 jahia/core/src/webapp/WEB-INF/var/db/mysql.script
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/webapp/WEB-INF/var/db/mysql.script.diff?r1=1.3&r2=1.4&f=h
Index: README
===================================================================
RCS file: /home/cvs/repository/jahia/README,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -r1.68 -r1.69
--- README 25 Jan 2005 14:35:11 -0000 1.68
+++ README 1 Jun 2005 16:47:55 -0000 1.69
@@ -51,6 +51,10 @@
catalina.home.dir=PATH_TO_YOUR_TOMCAT_HOME_DIRECTORY
catalina.version.major=YOUR_TOMCAT_MAJOR_VERSION (4, 5, etc...)
+
+ If you are using Tomcat 5.5 or more recent, make sure you put
+ catalina.version.major=5.5
+ As there were important changes introduced in this version.
For example, here are values for a Tomcat 4.1.27 installation :
Index: maven.xml
===================================================================
RCS file: /home/cvs/repository/jahia/core/maven.xml,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- maven.xml 31 May 2005 16:49:58 -0000 1.26
+++ maven.xml 1 Jun 2005 16:47:55 -0000 1.27
@@ -14,16 +14,23 @@
</copy>
<j:set var="catalina_version_major" value="${catalina.version.major}"/>
<j:choose>
+ <j:when test="${catalina_version_major == '5.5'}" >
+ <j:set var="context_file"
value="./src/conf/metadata/jahia-tomcat5.5.xml"/>
+ <j:set var="context_dir"
value="${catalina.home.dir}/conf/Catalina/localhost"/>
+ <j:set var="use_contextclassloader"
value='useContextClassLoader="false"'/>
+ </j:when>
<j:when test="${catalina_version_major == '5'}" >
+ <j:set var="context_file"
value="./src/conf/metadata/jahia-tomcat5.xml"/>
<j:set var="context_dir"
value="${catalina.home.dir}/conf/Catalina/localhost"/>
<j:set var="use_contextclassloader"
value='useContextClassLoader="false"'/>
</j:when>
<j:otherwise>
+ <j:set var="context_file" value="./src/conf/metadata/jahia.xml"/>
<j:set var="context_dir" value="${deploy.war.dir}"/>
<j:set var="use_contextclassloader" value=""/>
</j:otherwise>
</j:choose>
- <copy file="./src/conf/metadata/jahia.xml"
tofile="${context_dir}/jahia.xml"/>
+ <copy file="${context_file}" tofile="${context_dir}/jahia.xml"/>
</goal>
<!-- ================================================================ -->
@@ -33,21 +40,32 @@
<goal name="deploy:tomcat"
prereqs="jahia:deploy-tomcat,jahia:deploy-shared-libs">
<j:set var="catalina_version_major" value="${catalina.version.major}"/>
<j:choose>
+ <j:when test="${catalina_version_major == '5.5'}" >
+ <j:set var="context_file"
value="./src/conf/metadata/jahia-tomcat5.5.xml"/>
+ <j:set var="context_dir"
value="${catalina.home.dir}/conf/Catalina/localhost"/>
+ <j:set var="use_contextclassloader"
value='useContextClassLoader="false"'/>
+ </j:when>
<j:when test="${catalina_version_major == '5'}" >
+ <j:set var="context_file"
value="./src/conf/metadata/jahia-tomcat5.xml"/>
<j:set var="context_dir"
value="${catalina.home.dir}/conf/Catalina/localhost"/>
<j:set var="use_contextclassloader"
value='useContextClassLoader="false"'/>
</j:when>
<j:otherwise>
+ <j:set var="context_file" value="./src/conf/metadata/jahia.xml"/>
<j:set var="context_dir" value="${deploy.war.dir}"/>
<j:set var="use_contextclassloader" value=""/>
</j:otherwise>
</j:choose>
- <copy file="./src/conf/metadata/jahia.xml"
tofile="${context_dir}/jahia.xml"/>
+ <copy file="${context_file}" tofile="${context_dir}/jahia.xml"/>
</goal>
<goal name="undeploy:tomcat"
prereqs="jahia:undeploy-tomcat,jahia:undeploy-shared-libs">
<j:set var="catalina_version_major" value="${catalina.version.major}"/>
<j:choose>
+ <j:when test="${catalina_version_major == '5.5'}" >
+ <j:set var="context_dir"
value="${catalina.home.dir}/conf/Catalina/localhost"/>
+ <j:set var="use_contextclassloader"
value='useContextClassLoader="false"'/>
+ </j:when>
<j:when test="${catalina_version_major == '5'}" >
<j:set var="context_dir"
value="${catalina.home.dir}/conf/Catalina/localhost"/>
<j:set var="use_contextclassloader"
value='useContextClassLoader="false"'/>
Index: JetspeedDataSourceConfigurator.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/bin/JetspeedDataSourceConfigurator.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JetspeedDataSourceConfigurator.java 30 Mar 2004 18:25:48 -0000
1.2
+++ JetspeedDataSourceConfigurator.java 1 Jun 2005 16:47:55 -0000
1.3
@@ -63,12 +63,16 @@
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
+import org.jdom.Attribute;
+import java.io.FileReader;
+import java.io.BufferedReader;
+import java.io.FileWriter;
/**
* JetspeedDataSourceConfigurator
*
* @author <a href="mailto:[EMAIL PROTECTED]">David Sean Taylor</a>
- * @version $Id: JetspeedDataSourceConfigurator.java,v 1.2 2004/03/30
18:25:48 shuber Exp $
+ * @version $Id: JetspeedDataSourceConfigurator.java,v 1.3 2005/06/01
16:47:55 shuber Exp $
*/
public class JetspeedDataSourceConfigurator
{
@@ -83,6 +87,8 @@
public static final String PARAM_NAME = "name";
public static final String PARAM_VALUE = "value";
+ public static final String RESOURCE = "Resource";
+
public static void main(String[] args)
{
Map values = new HashMap();
@@ -98,74 +104,53 @@
public void updateDataSourceConfiguration(String fileName, String
outputFileName, Map values)
{
+
File jahiaConfigFile = new File(fileName);
- if (jahiaConfigFile.exists())
- {
- SAXBuilder builder = new SAXBuilder();
- try
- {
- Document document = builder.build(jahiaConfigFile);
- if (document != null)
- {
- Element rootElement = document.getRootElement();
- if (rootElement == null)
- {
- logger.error("Could not find root element in
configuration file " + jahiaConfigFile.toString());
- return;
- }
- Element resource = rootElement.getChild(RESOURCE_PARAMS);
- if (resource == null)
- {
- logger.error("Could not find ResourceParams child
element in Jahia.xml configuration file " + jahiaConfigFile.toString());
- return;
- }
-
- Iterator params = resource.getChildren().iterator();
- while (params.hasNext())
- {
- Element param = (Element)params.next();
- Element elValue = param.getChild(PARAM_VALUE);
- String name = param.getChildText(PARAM_NAME);
- String value = param.getChildText(PARAM_VALUE);
- if (name.equalsIgnoreCase(USERNAME))
- {
- elValue.setText(replaceElement(values,
"database_user"));
- }
- else if (name.equalsIgnoreCase(PASSWORD))
- {
- elValue.setText(replaceElement(values,
"database_pwd"));
- }
- else if (name.equalsIgnoreCase(URL))
- {
- elValue.setText(replaceElement(values,
"database_url"));
- }
- else if (name.equalsIgnoreCase(DRIVER))
- {
- elValue.setText(replaceElement(values,
"database_driver"));
- }
-
- }
- XMLOutputter serializer = new XMLOutputter();
- FileOutputStream repositoryOutput = new
FileOutputStream(outputFileName);
- serializer.output(document, repositoryOutput);
+ if (jahiaConfigFile.exists()) {
+ // let's load the file's content in memory, assuming it won't be
+ // too big.
+ StringBuffer fileContentBuf = new StringBuffer();
+ try {
+ FileReader fileReader = new FileReader(jahiaConfigFile);
+ BufferedReader bufReader = new BufferedReader(fileReader);
+ int ch = -1;
+ while ( (ch = bufReader.read()) != -1) {
+ fileContentBuf.append( (char) ch);
}
- }
- catch (org.jdom.JDOMException jdome)
- {
- logger.error("Error loading repository configuration file "
+ jahiaConfigFile.toString(), jdome);
- }
- catch (java.io.FileNotFoundException fnfe)
- {
- logger.error("Error modifying repository config file " +
jahiaConfigFile.toString(), fnfe);
- }
- catch (java.io.IOException ioe)
- {
- logger.error("Error modifying repository config file " +
jahiaConfigFile.toString(), ioe);
+ bufReader.close();
+ fileReader.close();
+
+ String fileContent = fileContentBuf.toString();
+
+ fileContent = fileContent.replaceAll("[EMAIL PROTECTED]@",
+ (String)
+
values.get("database_user"));
+ fileContent = fileContent.replaceAll("[EMAIL PROTECTED]@",
+ (String)
+
values.get("database_pwd"));
+ fileContent = fileContent.replaceAll("[EMAIL PROTECTED]@",
+ (String)
+
values.get("database_driver"));
+ fileContent = fileContent.replaceAll("[EMAIL PROTECTED]@",
+ (String) values.
+ get("database_url"));
+
+ // we have finished replacing values, let's save the modified
+ // file.
+ FileWriter fileWriter = new FileWriter(jahiaConfigFile);
+ fileWriter.write(fileContent);
+ fileWriter.close();
+
+ } catch (java.io.FileNotFoundException fnfe) {
+ logger.error("Error modifying repository config file " +
+ jahiaConfigFile.toString(), fnfe);
+ } catch (java.io.IOException ioe) {
+ logger.error("Error modifying repository config file " +
+ jahiaConfigFile.toString(), ioe);
}
}
}
-
private String replaceElement(Map values, String key)
{
String replacement = (String)values.get(key);
Index: ConnectionDispenser.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/services/database/ConnectionDispenser.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ConnectionDispenser.java 12 Apr 2005 12:36:36 -0000 1.5
+++ ConnectionDispenser.java 1 Jun 2005 16:47:55 -0000 1.6
@@ -19,6 +19,7 @@
import java.util.Iterator;
import java.util.Enumeration;
import org.jahia.utils.BeanTools;
+import java.util.Hashtable;
/**
* <p>Title: </p>
Index: mysql.script
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/webapp/WEB-INF/var/db/mysql.script,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- mysql.script 28 Feb 2005 16:10:23 -0000 1.3
+++ mysql.script 1 Jun 2005 16:47:56 -0000 1.4
@@ -10,5 +10,6 @@
jahia.database.schemascriptdir = sql/schema/mysql
jahia.database.popuplationscriptdir = sql/population
jahia.database.starthsqlserver = false
+#jahia.database.datasource = java:comp/env/jdbc/jetspeed
jahia.database.datasource =
jahia.database.ojbplatform = MySQL