cziegeler 2003/02/26 01:11:18
Modified: src/java/org/apache/cocoon Constants.java . build.xml build.properties Added: src/java/org/apache/cocoon cocoon.properties Log: Moving some properties into a separate property file. This avoids filtering our java code. Revision Changes Path 1.21 +74 -48 xml-cocoon2/src/java/org/apache/cocoon/Constants.java Index: Constants.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/Constants.java,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- Constants.java 22 Feb 2003 11:25:20 -0000 1.20 +++ Constants.java 26 Feb 2003 09:11:18 -0000 1.21 @@ -50,6 +50,10 @@ */ package org.apache.cocoon; +import java.io.IOException; +import java.io.InputStream; +import java.util.Properties; + /** * The <code>Constants</code> use throughout the core of the Cocoon engine. * @@ -57,167 +61,189 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Peter Royal</a> * @version CVS $Id$ */ -public interface Constants { +public final class Constants { + /** Our properties are now here: */ + private static final String PROPS_FILE = "org/apache/cocoon/cocoon.properties"; + + static final Properties properties; + + /** + * Load the cocoon properties + */ + static { + properties = new Properties(); + try { + final InputStream is = Constants.class.getClassLoader().getResourceAsStream(PROPS_FILE); + if ( null == is ) { + throw new RuntimeException("Cocoon cannot find required properties from " + PROPS_FILE); + } + properties.load(is); + } catch (IOException ioe) { + throw new RuntimeException("Cocoon cannot load required properties from " + PROPS_FILE); + } + + } + /** The name of this project. */ - String NAME = "@name@"; + public static final String NAME = properties.getProperty("name"); /** The version of this build. */ - String VERSION = "@version@"; + public static final String VERSION = properties.getProperty("version"); /** The full name of this project. */ - String COMPLETE_NAME = NAME + " " + VERSION; + public static final String COMPLETE_NAME = NAME + " " + VERSION; /** The version of the configuration schema */ - String CONF_VERSION = "2.1"; + public static final String CONF_VERSION = "2.1"; /** The year of the build */ - String YEAR = "@year@"; + public static final String YEAR = properties.getProperty("year"); /** * The request parameter name to reload the configuration. * * FIXME(GP): Isn't this Servlet specific? */ - String RELOAD_PARAM = "cocoon-reload"; + public static final String RELOAD_PARAM = "cocoon-reload"; /** * The request parameter name to add a line of the request duration. * * FIXME(GP): Isn't this Servlet specific? */ - String SHOWTIME_PARAM = "cocoon-showtime"; + public static final String SHOWTIME_PARAM = "cocoon-showtime"; /** * The request parameter name to request a specific view of a resource. * * FIXME(GP): Isn't this Servlet specific? */ - String VIEW_PARAM = "cocoon-view"; + public static final String VIEW_PARAM = "cocoon-view"; /** * The request parameter name to trigger a specific action. * * FIXME(GP): Isn't this Servlet specific? */ - String ACTION_PARAM = "cocoon-action"; + public static final String ACTION_PARAM = "cocoon-action"; /** * The request parameter prefix to trigger a specific action. * * FIXME(GP): Isn't this Servlet specific? */ - String ACTION_PARAM_PREFIX = "cocoon-action-"; + public static final String ACTION_PARAM_PREFIX = "cocoon-action-"; /** * The directory to use as context root. * * FIXME(GP): Isn't this CLI specific? */ - String DEFAULT_CONTEXT_DIR = "./webapp"; + public static final String DEFAULT_CONTEXT_DIR = "./webapp"; /** * The diretory to use to use for the generated output. * * FIXME(GP): Isn't this CLI specific? */ - String DEFAULT_DEST_DIR = "./site"; + public static final String DEFAULT_DEST_DIR = "./site"; /** * The diretory to use for generated files. * * FIXME(GP): Isn't this CLI specific? */ - String DEFAULT_WORK_DIR = "./work"; + public static final String DEFAULT_WORK_DIR = "./work"; /** * How a default configuration file is named. * * FIXME(GP): Isn't this CLI specific? */ - String DEFAULT_CONF_FILE = "cocoon.xconf"; + public static final String DEFAULT_CONF_FILE = "cocoon.xconf"; /** The name of the property holding the class for a XML parser */ - String PARSER_PROPERTY = "org.apache.excalibur.xml.sax.SAXParser"; + public static final String PARSER_PROPERTY = "org.apache.excalibur.xml.sax.SAXParser"; /** The name of the class for the default XML parser to use */ - String DEFAULT_PARSER = "org.apache.excalibur.xml.impl.JaxpParser"; + public static final String DEFAULT_PARSER = "org.apache.excalibur.xml.impl.JaxpParser"; /** The name of the property holding the class for a XML parser * @deprecated This will be removed in future release */ - String DEPRECATED_PARSER_PROPERTY = "org.apache.cocoon.components.parser.Parser"; + public static final String DEPRECATED_PARSER_PROPERTY = "org.apache.cocoon.components.parser.Parser"; /** The namespace for the XSP core logicsheet. */ - String XSP_URI = "http://apache.org/xsp"; + public static final String XSP_URI = "http://apache.org/xsp"; /** * The namespace prefix for the request logicsheet. * * FIXME(GP): Would logicsheets belong to the core? */ - String XSP_REQUEST_PREFIX = "xsp-request"; + public static final String XSP_REQUEST_PREFIX = "xsp-request"; /** * The namespace for the request logicsheet. * * FIXME(GP): Would logicsheets belong to the core? */ - String XSP_REQUEST_URI = XSP_URI + "/request/2.0"; + public static final String XSP_REQUEST_URI = XSP_URI + "/request/2.0"; /** * The namespace prefix for the response logicsheet. * * FIXME(GP): Would logicsheets belong to the core? */ - String XSP_RESPONSE_PREFIX = "xsp-response"; + public static final String XSP_RESPONSE_PREFIX = "xsp-response"; /** * The namespace for the response logicsheet. * * FIXME(GP): Would logicsheets belong to the core? */ - String XSP_RESPONSE_URI = XSP_URI + "/response/2.0"; + public static final String XSP_RESPONSE_URI = XSP_URI + "/response/2.0"; /** * The namespace prefix for the cookie logicsheet. * * FIXME(GP): Would logicsheets belong to the core? */ - String XSP_COOKIE_PREFIX = "xsp-cookie"; + public static final String XSP_COOKIE_PREFIX = "xsp-cookie"; /** * The namespace for the cookie logicsheet. * * FIXME(GP): Would logicsheets belong to the core? */ - String XSP_COOKIE_URI = XSP_URI + "/cookie/2.0"; + public static final String XSP_COOKIE_URI = XSP_URI + "/cookie/2.0"; /** * Don't know exactly what this is for. (I can guess it's for the FormValidator) * * FIXME(GP): Isn't this component specific? */ - String XSP_FORMVALIDATOR_PATH = "org.apache.cocoon.acting.FormValidatorAction.results"; + public static final String XSP_FORMVALIDATOR_PATH = "org.apache.cocoon.acting.FormValidatorAction.results"; /** The URI for xml namespaces */ - String XML_NAMESPACE_URI = "http://www.w3.org/XML/1998/namespace"; + public static final String XML_NAMESPACE_URI = "http://www.w3.org/XML/1998/namespace"; /** * Mime-type for the link view * * FIXME(GP): Isn't this Environment specific? */ - String LINK_CONTENT_TYPE = "application/x-cocoon-links"; + public static final String LINK_CONTENT_TYPE = "application/x-cocoon-links"; /** * Name of the request value for the link view * * FIXME(GP): Isn't this Environment specific? */ - String LINK_VIEW = "links"; + public static final String LINK_VIEW = "links"; /** Don't know exactly what this is for (and it is not used in the code base) */ - String LINK_CRAWLING_ROLE = "static"; + public static final String LINK_CRAWLING_ROLE = "static"; /** * The name of a <code>Request</code> object in the so called objectModel <code>Map</code>. @@ -226,7 +252,7 @@ * FIXME(GP): Shouldn't this definition here be removed? * @deprecated Use the [EMAIL PROTECTED] org.apache.cocoon.environment.ObjectModelHelper#getRequest(java.util.Map))} instead. */ - String REQUEST_OBJECT = org.apache.cocoon.environment.ObjectModelHelper.REQUEST_OBJECT; + public static final String REQUEST_OBJECT = org.apache.cocoon.environment.ObjectModelHelper.REQUEST_OBJECT; /** * The name of a <code>Response</code> object in the so called objectModel <code>Map</code>. @@ -235,7 +261,7 @@ * FIXME(GP): Shouldn't this definition here be removed? * @deprecated Use the [EMAIL PROTECTED] org.apache.cocoon.environment.ObjectModelHelper#getResponse(java.util.Map)} instead. */ - String RESPONSE_OBJECT = org.apache.cocoon.environment.ObjectModelHelper.RESPONSE_OBJECT; + public static final String RESPONSE_OBJECT = org.apache.cocoon.environment.ObjectModelHelper.RESPONSE_OBJECT; /** *The name of a <code>Context</code> object in the so called objectModel <code>Map</code>. @@ -244,7 +270,7 @@ * FIXME(GP): Shouldn't this definition here be removed? * @deprecated Use the [EMAIL PROTECTED] org.apache.cocoon.environment.ObjectModelHelper#getContext(java.util.Map)} instead. */ - String CONTEXT_OBJECT = org.apache.cocoon.environment.ObjectModelHelper.CONTEXT_OBJECT; + public static final String CONTEXT_OBJECT = org.apache.cocoon.environment.ObjectModelHelper.CONTEXT_OBJECT; /** * Key of the Map of index translation table. @@ -255,61 +281,61 @@ * <p> * TODO(VG): Move this declaration to ObjectModelHelper */ - String LINK_OBJECT = "link"; + public static final String LINK_OBJECT = "link"; /** * The name of a <code>NotifyingObject</code> in the so called objectModel <code>Map</code>. */ - String NOTIFYING_OBJECT = "notifying-object"; + public static final String NOTIFYING_OBJECT = "notifying-object"; /** * Describe variable <code>INDEX_URI</code> here. * * FIXME(GP): It seems to be (CLI) Environment specific! */ - String INDEX_URI = "index"; + public static final String INDEX_URI = "index"; /** The namespace URI for the Error/Exception XML */ - String ERROR_NAMESPACE_URI = "http://apache.org/cocoon/error/" + CONF_VERSION; + public static final String ERROR_NAMESPACE_URI = "http://apache.org/cocoon/error/" + CONF_VERSION; /** The namespace prefix for the Error/Exception XML */ - String ERROR_NAMESPACE_PREFIX = "error"; + public static final String ERROR_NAMESPACE_PREFIX = "error"; /** Application <code>Context</code> Key for the environmental Context */ - String CONTEXT_ENVIRONMENT_CONTEXT = "environment-context"; + public static final String CONTEXT_ENVIRONMENT_CONTEXT = "environment-context"; /** Application <code>Context</code> Key for the global classloader */ - String CONTEXT_CLASS_LOADER = "class-loader"; + public static final String CONTEXT_CLASS_LOADER = "class-loader"; /** Application <code>Context</code> Key for the work directory path */ - String CONTEXT_WORK_DIR = "work-directory"; + public static final String CONTEXT_WORK_DIR = "work-directory"; /** Application <code>Context</code> Key for the upload directory path */ - String CONTEXT_UPLOAD_DIR = "upload-directory"; + public static final String CONTEXT_UPLOAD_DIR = "upload-directory"; - /** Application <code>Context</code> Key for the cache directory path */ + public static final /** Application <code>Context</code> Key for the cache directory path */ String CONTEXT_CACHE_DIR = "cache-directory"; /** Application <code>Context</code> Key for the current classpath */ - String CONTEXT_CLASSPATH = "classpath"; + public static final String CONTEXT_CLASSPATH = "classpath"; /** * Application <code>Context</code> Key for the URL to the configuration file * (usually named cocoon.xconf) */ - String CONTEXT_CONFIG_URL = "config-url"; + public static final String CONTEXT_CONFIG_URL = "config-url"; /** * @deprecated used only by deprecated SessionStateSelector */ - String SESSION_STATE_ATTRIBUTE = "org.apache.cocoon.SessionState"; + public static final String SESSION_STATE_ATTRIBUTE = "org.apache.cocoon.SessionState"; /** * Should descriptors be reloaded? * * FIXME(GP): Isn't this Action specific only? */ - boolean DESCRIPTOR_RELOADABLE_DEFAULT = true; + public static final boolean DESCRIPTOR_RELOADABLE_DEFAULT = true; } 1.1 xml-cocoon2/src/java/org/apache/cocoon/cocoon.properties Index: cocoon.properties =================================================================== # ------ System Properties ----------------------------------------------------- # WARNING: you shouldn't need to modify anything below here since there is a # very high change of breaking the build system. Do it only if you know what # you're doing. version=2.1-dev released.version=2.0.4 year=1999-2003 name=cocoon Name=Cocoon fullname=Apache ${Name} 1.333 +4 -8 xml-cocoon2/build.xml Index: build.xml =================================================================== RCS file: /home/cvs/xml-cocoon2/build.xml,v retrieving revision 1.332 retrieving revision 1.333 diff -u -r1.332 -r1.333 --- build.xml 25 Feb 2003 14:15:10 -0000 1.332 +++ build.xml 26 Feb 2003 09:11:18 -0000 1.333 @@ -41,6 +41,8 @@ <property file="${user.home}/cocoon.build.properties"/> <property file="local.build.properties"/> + <!-- Get the (constant) cocoon properties --> + <property file="src/java/org/apache/cocoon/cocoon.properties"/> <!-- Get the build properties from an external file --> <property file="build.properties"/> @@ -155,19 +157,13 @@ <!-- compiles the core --> <target name="compile-core" depends="prepare-core"> - <!-- copy those source files that needed filtering --> - <!--copy todir="${build.src}" filtering="on"> - <fileset dir="${java}"> - <include name="**/Constants.java"/> - </fileset> - </copy--> - <!-- copy those files that need to be in the classpath --> <copy todir="${build.dest}"> <fileset dir="${java}"> <include name="**/*.xsl"/> <include name="**/*.roles"/> <include name="**/*.xml"/> + <include name="**/*.properties"/> <include name="**/*.js"/> </fileset> </copy> 1.8 +0 -7 xml-cocoon2/build.properties Index: build.properties =================================================================== RCS file: /home/cvs/xml-cocoon2/build.properties,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- build.properties 26 Feb 2003 08:04:11 -0000 1.7 +++ build.properties 26 Feb 2003 09:11:18 -0000 1.8 @@ -79,13 +79,6 @@ # very high change of breaking the build system. Do it only if you know what # you're doing. -version=2.1-dev -released.version=2.0.4 -year=1999-2003 -name=cocoon -Name=Cocoon -fullname=Apache ${Name} - packages=org.apache # Directory Layout