From: <jos...@us...> - 2009-08-03 08:41:44
|
Revision: 4751 http://geonetwork.svn.sourceforge.net/geonetwork/?rev=4751&view=rev Author: josegar74 Date: 2009-08-03 08:41:36 +0000 (Mon, 03 Aug 2009) Log Message: ----------- Update to version 2.4 Added Paths: ----------- sandbox/3.0.x/geonetwork_legacy/bin/ sandbox/3.0.x/geonetwork_legacy/bin/gast.bat sandbox/3.0.x/geonetwork_legacy/bin/gast.sh sandbox/3.0.x/geonetwork_legacy/bin/ico/ sandbox/3.0.x/geonetwork_legacy/bin/ico/docs.ico sandbox/3.0.x/geonetwork_legacy/bin/ico/gast.ico sandbox/3.0.x/geonetwork_legacy/bin/ico/gn.ico sandbox/3.0.x/geonetwork_legacy/bin/ico/gnstart.ico sandbox/3.0.x/geonetwork_legacy/bin/ico/gnstop.ico sandbox/3.0.x/geonetwork_legacy/bin/ico/info.ico sandbox/3.0.x/geonetwork_legacy/bin/ico/text.ico sandbox/3.0.x/geonetwork_legacy/bin/ico/uninst.ico sandbox/3.0.x/geonetwork_legacy/bin/jetty.xml sandbox/3.0.x/geonetwork_legacy/bin/jre/ sandbox/3.0.x/geonetwork_legacy/bin/jre/gast-jre.bat sandbox/3.0.x/geonetwork_legacy/bin/jre/start-geonetwork-jre.bat sandbox/3.0.x/geonetwork_legacy/bin/jre/stop-geonetwork-jre.bat sandbox/3.0.x/geonetwork_legacy/bin/start-geonetwork.bat sandbox/3.0.x/geonetwork_legacy/bin/start-geonetwork.sh sandbox/3.0.x/geonetwork_legacy/bin/stop-geonetwork.bat sandbox/3.0.x/geonetwork_legacy/bin/stop-geonetwork.sh sandbox/3.0.x/geonetwork_legacy/bin/webdefault.xml sandbox/3.0.x/geonetwork_legacy/bin/win/ sandbox/3.0.x/geonetwork_legacy/bin/win/start-stdln.html sandbox/3.0.x/geonetwork_legacy/cachingxslt/ sandbox/3.0.x/geonetwork_legacy/cachingxslt/Cachingxslt.iml sandbox/3.0.x/geonetwork_legacy/cachingxslt/build.xml sandbox/3.0.x/geonetwork_legacy/cachingxslt/cachingxslt.jar sandbox/3.0.x/geonetwork_legacy/cachingxslt/lib/ sandbox/3.0.x/geonetwork_legacy/cachingxslt/lib/log4j.jar sandbox/3.0.x/geonetwork_legacy/cachingxslt/lib/saxon9.jar sandbox/3.0.x/geonetwork_legacy/cachingxslt/src/ sandbox/3.0.x/geonetwork_legacy/cachingxslt/src/META-INF/ sandbox/3.0.x/geonetwork_legacy/cachingxslt/src/META-INF/services/ sandbox/3.0.x/geonetwork_legacy/cachingxslt/src/META-INF/services/javax.xml.transform.TransformerFactory sandbox/3.0.x/geonetwork_legacy/cachingxslt/src/de/ sandbox/3.0.x/geonetwork_legacy/cachingxslt/src/de/fzi/ sandbox/3.0.x/geonetwork_legacy/cachingxslt/src/de/fzi/dbs/ sandbox/3.0.x/geonetwork_legacy/cachingxslt/src/de/fzi/dbs/xml/ sandbox/3.0.x/geonetwork_legacy/cachingxslt/src/de/fzi/dbs/xml/transform/ sandbox/3.0.x/geonetwork_legacy/cachingxslt/src/de/fzi/dbs/xml/transform/CachingTransformerFactory.java sandbox/3.0.x/geonetwork_legacy/csw/ sandbox/3.0.x/geonetwork_legacy/csw/cswClient.bat sandbox/3.0.x/geonetwork_legacy/csw/cswClient.sh sandbox/3.0.x/geonetwork_legacy/csw/filter-example.xml sandbox/3.0.x/geonetwork_legacy/csw/lib/ sandbox/3.0.x/geonetwork_legacy/csw/lib/csw-client.jar sandbox/3.0.x/geonetwork_legacy/csw/lib/csw-common.jar sandbox/3.0.x/geonetwork_legacy/csw/ogc-testsuite-metadata/ sandbox/3.0.x/geonetwork_legacy/csw/ogc-testsuite-metadata/0C12204F-5626-4A2E-94F4-514424F093A1.mef sandbox/3.0.x/geonetwork_legacy/csw/ogc-testsuite-metadata/111c0076-b23f-76e5-c888-94327664111.mef sandbox/3.0.x/geonetwork_legacy/csw/ogc-testsuite-metadata/1d87204e-0317-5e2e-99aF4-514424F665d4.mef sandbox/3.0.x/geonetwork_legacy/csw/ogc-testsuite-metadata/2cc6788a-0388-4A4C-B76B-38CC1e4D8f26.mef sandbox/3.0.x/geonetwork_legacy/csw/ogc-testsuite-metadata/486d9622-c29d-44e5-b878-44389740011.mef sandbox/3.0.x/geonetwork_legacy/csw/ogc-testsuite-metadata/550e8400-e29b-41d4-a716-44389665234.mef sandbox/3.0.x/geonetwork_legacy/csw/ogc-testsuite-metadata/5ac8844e-0989-4A4C-B76B-38CC1e999722.mef sandbox/3.0.x/geonetwork_legacy/csw/ogc-testsuite-metadata/655e5998-a20e-66b5-c888-00005553421.mef sandbox/3.0.x/geonetwork_legacy/csw/ogc-testsuite-metadata/6CF2886F-0124-4A4C-B76B-38CC1D3D0D85.mef Added: sandbox/3.0.x/geonetwork_legacy/bin/gast.bat =================================================================== --- sandbox/3.0.x/geonetwork_legacy/bin/gast.bat (rev 0) +++ sandbox/3.0.x/geonetwork_legacy/bin/gast.bat 2009-08-03 08:41:36 UTC (rev 4751) @@ -0,0 +1,2 @@ +cd ..\gast +start javaw %1 -jar gast.jar Added: sandbox/3.0.x/geonetwork_legacy/bin/gast.sh =================================================================== --- sandbox/3.0.x/geonetwork_legacy/bin/gast.sh (rev 0) +++ sandbox/3.0.x/geonetwork_legacy/bin/gast.sh 2009-08-03 08:41:36 UTC (rev 4751) @@ -0,0 +1,2 @@ +cd ../gast +java $1 -jar gast.jar $2 Added: sandbox/3.0.x/geonetwork_legacy/bin/ico/docs.ico =================================================================== (Binary files differ) Property changes on: sandbox/3.0.x/geonetwork_legacy/bin/ico/docs.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: sandbox/3.0.x/geonetwork_legacy/bin/ico/gast.ico =================================================================== (Binary files differ) Property changes on: sandbox/3.0.x/geonetwork_legacy/bin/ico/gast.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: sandbox/3.0.x/geonetwork_legacy/bin/ico/gn.ico =================================================================== (Binary files differ) Property changes on: sandbox/3.0.x/geonetwork_legacy/bin/ico/gn.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: sandbox/3.0.x/geonetwork_legacy/bin/ico/gnstart.ico =================================================================== (Binary files differ) Property changes on: sandbox/3.0.x/geonetwork_legacy/bin/ico/gnstart.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: sandbox/3.0.x/geonetwork_legacy/bin/ico/gnstop.ico =================================================================== (Binary files differ) Property changes on: sandbox/3.0.x/geonetwork_legacy/bin/ico/gnstop.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: sandbox/3.0.x/geonetwork_legacy/bin/ico/info.ico =================================================================== (Binary files differ) Property changes on: sandbox/3.0.x/geonetwork_legacy/bin/ico/info.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: sandbox/3.0.x/geonetwork_legacy/bin/ico/text.ico =================================================================== (Binary files differ) Property changes on: sandbox/3.0.x/geonetwork_legacy/bin/ico/text.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: sandbox/3.0.x/geonetwork_legacy/bin/ico/uninst.ico =================================================================== (Binary files differ) Property changes on: sandbox/3.0.x/geonetwork_legacy/bin/ico/uninst.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: sandbox/3.0.x/geonetwork_legacy/bin/jetty.xml =================================================================== --- sandbox/3.0.x/geonetwork_legacy/bin/jetty.xml (rev 0) +++ sandbox/3.0.x/geonetwork_legacy/bin/jetty.xml 2009-08-03 08:41:36 UTC (rev 4751) @@ -0,0 +1,208 @@ +<?xml version="1.0"?> +<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd"> + +<!-- =============================================================== --> +<!-- Configure the Jetty Server --> +<!-- --> +<!-- Documentation of this file format can be found at: --> +<!-- http://docs.codehaus.org/display/JETTY/jetty.xml --> +<!-- --> +<!-- =============================================================== --> + + +<Configure id="Server" class="org.mortbay.jetty.Server"> + + <!-- =========================================================== --> + <!-- Server Thread Pool --> + <!-- =========================================================== --> + <Set name="ThreadPool"> + + <New class="org.mortbay.thread.QueuedThreadPool"> + <Set name="minThreads">10</Set> + <Set name="maxThreads">200</Set> + <Set name="lowThreads">20</Set> + <Set name="SpawnOrShrinkAt">2</Set> + </New> + + <!-- Optional Java 5 bounded threadpool with job queue + <New class="org.mortbay.thread.concurrent.ThreadPool"> + <Set name="corePoolSize">50</Set> + <Set name="maximumPoolSize">50</Set> + </New> + --> + </Set> + + + + <!-- =========================================================== --> + <!-- Set connectors --> + <!-- =========================================================== --> + <!-- One of each type! --> + <!-- =========================================================== --> + + <!-- Use this connector for many frequently idle connections + and for threadless continuations. + --> + <Call name="addConnector"> + <Arg> + <New class="org.mortbay.jetty.nio.SelectChannelConnector"> + <Set name="host"><SystemProperty name="jetty.host" default="localhost"/></Set> + <Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set> + <Set name="maxIdleTime">30000</Set> + <Set name="Acceptors">2</Set> + <Set name="statsOn">false</Set> + <Set name="confidentialPort">8443</Set> + <Set name="lowResourcesConnections">5000</Set> + <Set name="lowResourcesMaxIdleTime">5000</Set> + </New> + </Arg> + </Call> + + <!-- Use this connector if NIO is not available. + <Call name="addConnector"> + <Arg> + <New class="org.mortbay.jetty.bio.SocketConnector"> + <Set name="port">8081</Set> + <Set name="maxIdleTime">50000</Set> + <Set name="lowResourceMaxIdleTime">1500</Set> + </New> + </Arg> + </Call> + --> + + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <!-- To add a HTTPS SSL listener --> + <!-- see jetty-ssl.xml to add an ssl connector. use --> + <!-- java -jar start.jar etc/jetty.xml etc/jetty-ssl.xml --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + + <!-- =========================================================== --> + <!-- Set up global session ID manager --> + <!-- =========================================================== --> + <!-- + <Set name="sessionIdManager"> + <New class="org.mortbay.jetty.servlet.HashSessionIdManager"> + <Set name="workerName">node1</Set> + </New> + </Set> + --> + + <!-- =========================================================== --> + <!-- Set handler Collection Structure --> + <!-- =========================================================== --> + <Set name="handler"> + <New id="Handlers" class="org.mortbay.jetty.handler.HandlerCollection"> + <Set name="handlers"> + <Array type="org.mortbay.jetty.Handler"> + <Item> + <New id="Contexts" class="org.mortbay.jetty.handler.ContextHandlerCollection"/> + </Item> + <Item> + <New id="DefaultHandler" class="org.mortbay.jetty.handler.DefaultHandler"/> + </Item> + <Item> + <New id="RequestLog" class="org.mortbay.jetty.handler.RequestLogHandler"/> + </Item> + </Array> + </Set> + </New> + </Set> + + <!-- =========================================================== --> + <!-- Configure the context deployer --> + <!-- A context deployer will deploy contexts described in --> + <!-- configuration files discovered in a directory. --> + <!-- The configuration directory can be scanned for hot --> + <!-- deployments at the configured scanInterval. --> + <!-- --> + <!-- This deployer is configured to deploy contexts configured --> + <!-- in the $JETTY_HOME/contexts directory --> + <!-- --> + <!-- =========================================================== --> +<!-- <Call name="addLifeCycle"> + <Arg> + <New class="org.mortbay.jetty.deployer.ContextDeployer"> + <Set name="contexts"><Ref id="Contexts"/></Set> + <Set name="configurationDir"><SystemProperty name="jetty.home" default="."/>/../web</Set> + <Set name="scanInterval">5</Set> + </New> + </Arg> + </Call> +--> + <!-- =========================================================== --> + <!-- Configure the webapp deployer. --> + <!-- A webapp deployer will deploy standard webapps discovered --> + <!-- in a directory at startup, without the need for additional --> + <!-- configuration files. It does not support hot deploy or --> + <!-- non standard contexts (see ContextDeployer above). --> + <!-- --> + <!-- This deployer is configured to deploy webapps from the --> + <!-- $JETTY_HOME/webapps directory --> + <!-- --> + <!-- Normally only one type of deployer need be used. --> + <!-- --> + <!-- =========================================================== --> + <Call name="addLifeCycle"> + <Arg> + <New class="org.mortbay.jetty.deployer.WebAppDeployer"> + <Set name="contexts"><Ref id="Contexts"/></Set> + <Set name="webAppDir"><SystemProperty name="jetty.home" default="."/>/../web</Set> + <Set name="parentLoaderPriority">true</Set> + <!-- Refer to http://geoserver.org/display/GEOSDOC/Dealing+with+native+JAI + for more background on the parentLoaderPriority=True --> + <Set name="extract">true</Set> + <Set name="allowDuplicates">false</Set> + <Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/../bin/webdefault.xml</Set> + </New> + </Arg> + </Call> + + <!-- =========================================================== --> + <!-- Configure Authentication Realms --> + <!-- Realms may be configured for the entire server here, or --> + <!-- they can be configured for a specific web app in a context --> + <!-- configuration (see $(jetty.home)/contexts/test.xml for an --> + <!-- example). --> + <!-- =========================================================== --> + <!-- <Set name="UserRealms"> + <Array type="org.mortbay.jetty.security.UserRealm"> + <Item> + <New class="org.mortbay.jetty.security.HashUserRealm"> + <Set name="name">Test Realm</Set> + <Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set> + <Set name="refreshInterval">0</Set> + </New> + </Item> + </Array> + </Set>--> + + <!-- =========================================================== --> + <!-- Configure Request Log --> + <!-- Request logs may be configured for the entire server here, --> + <!-- or they can be configured for a specific web app in a --> + <!-- contexts configuration (see $(jetty.home)/contexts/test.xml --> + <!-- for an example). --> + <!-- =========================================================== --> + <Ref id="RequestLog"> + <Set name="requestLog"> + <New id="RequestLogImpl" class="org.mortbay.jetty.NCSARequestLog"> + <Set name="filename"><SystemProperty name="jetty.logs" default="./logs"/>/yyyy_mm_dd.request.log</Set> + <Set name="filenameDateFormat">yyyy_MM_dd</Set> + <Set name="retainDays">90</Set> + <Set name="append">true</Set> + <Set name="extended">false</Set> + <Set name="logCookies">false</Set> + <Set name="LogTimeZone">GMT</Set> + </New> + </Set> + </Ref> + + <!-- =========================================================== --> + <!-- extra options --> + <!-- =========================================================== --> + <Set name="stopAtShutdown">true</Set> + <Set name="sendServerVersion">true</Set> + <Set name="sendDateHeader">true</Set> + <Set name="gracefulShutdown">1000</Set> + +</Configure> Added: sandbox/3.0.x/geonetwork_legacy/bin/jre/gast-jre.bat =================================================================== --- sandbox/3.0.x/geonetwork_legacy/bin/jre/gast-jre.bat (rev 0) +++ sandbox/3.0.x/geonetwork_legacy/bin/jre/gast-jre.bat 2009-08-03 08:41:36 UTC (rev 4751) @@ -0,0 +1,2 @@ +cd ..\gast +..\jre1.5.0_12\bin\java -jar gast.jar Added: sandbox/3.0.x/geonetwork_legacy/bin/jre/start-geonetwork-jre.bat =================================================================== --- sandbox/3.0.x/geonetwork_legacy/bin/jre/start-geonetwork-jre.bat (rev 0) +++ sandbox/3.0.x/geonetwork_legacy/bin/jre/start-geonetwork-jre.bat 2009-08-03 08:41:36 UTC (rev 4751) @@ -0,0 +1,8 @@ +cd ..\jetty +del logs\*request.log* +del logs\output.log +move logs\geonetwork.log.* logs\archive +move logs\intermap.log.* logs\archive +move logs\geoserver.log.* logs\archive + +..\jre1.5.0_12\bin\java -Xms48m -Xmx512m -Xss2M -XX:MaxPermSize=128m -DSTOP.PORT=8079 -Djava.awt.headless=true -DSTOP.KEY=geonetwork -jar start.jar ..\bin\jetty.xml \ No newline at end of file Added: sandbox/3.0.x/geonetwork_legacy/bin/jre/stop-geonetwork-jre.bat =================================================================== --- sandbox/3.0.x/geonetwork_legacy/bin/jre/stop-geonetwork-jre.bat (rev 0) +++ sandbox/3.0.x/geonetwork_legacy/bin/jre/stop-geonetwork-jre.bat 2009-08-03 08:41:36 UTC (rev 4751) @@ -0,0 +1,2 @@ +cd ..\jetty +..\jre1.5.0_12\bin\java -DSTOP.PORT=8079 -DSTOP.KEY=geonetwork -jar start.jar --stop Added: sandbox/3.0.x/geonetwork_legacy/bin/start-geonetwork.bat =================================================================== --- sandbox/3.0.x/geonetwork_legacy/bin/start-geonetwork.bat (rev 0) +++ sandbox/3.0.x/geonetwork_legacy/bin/start-geonetwork.bat 2009-08-03 08:41:36 UTC (rev 4751) @@ -0,0 +1,16 @@ +cd ..\jetty +del logs\*request.log* +del logs\output.log +move logs\geonetwork.log.* logs\archive +move logs\intermap.log.* logs\archive +move logs\geoserver.log.* logs\archive + +rem try changing the Xmx parameter if your machine has little RAM +rem java -Xms48m -Xmx256m -XX:MaxPermSize=128m -DSTOP.PORT=8079 -DSTOP.KEY=geonetwork -jar start.jar ..\bin\jetty.xml + +rem if you want to hide the dos window when GeoNetwork is started, +rem comment out the next line and comment the last line + +java -Xms48m -Xmx512m -Xss2M -XX:MaxPermSize=128m -DSTOP.PORT=8079 -Djava.awt.headless=true -DSTOP.KEY=geonetwork -jar start.jar ..\bin\jetty.xml + +rem start javaw -Xms48m -Xmx512m -Xss2M -XX:MaxPermSize=128m -DSTOP.PORT=8079 -Djava.awt.headless=true -DSTOP.KEY=geonetwork -jar start.jar ..\bin\jetty.xml \ No newline at end of file Added: sandbox/3.0.x/geonetwork_legacy/bin/start-geonetwork.sh =================================================================== --- sandbox/3.0.x/geonetwork_legacy/bin/start-geonetwork.sh (rev 0) +++ sandbox/3.0.x/geonetwork_legacy/bin/start-geonetwork.sh 2009-08-03 08:41:36 UTC (rev 4751) @@ -0,0 +1,11 @@ +cd ../jetty +rm logs/*request.log* +rm logs/output.log +mv logs/geonetwork.log.* logs/archive +mv logs/intermap.log.* logs/archive +mv logs/geoserver.log.* logs/archive + +# try changing the Xmx parameter if your machine has little RAM +#java -Xms48m -Xmx256m -Xss2M -XX:MaxPermSize=128m -DSTOP.PORT=8079 -Djava.awt.headless=true -DSTOP.KEY=geonetwork -jar start.jar ../bin/jetty.xml & + +java -Xms48m -Xmx512m -Xss2M -XX:MaxPermSize=128m -DSTOP.PORT=8079 -Djava.awt.headless=true -DSTOP.KEY=geonetwork -jar start.jar ../bin/jetty.xml > logs/output.log 2>&1 & Added: sandbox/3.0.x/geonetwork_legacy/bin/stop-geonetwork.bat =================================================================== --- sandbox/3.0.x/geonetwork_legacy/bin/stop-geonetwork.bat (rev 0) +++ sandbox/3.0.x/geonetwork_legacy/bin/stop-geonetwork.bat 2009-08-03 08:41:36 UTC (rev 4751) @@ -0,0 +1,2 @@ +cd ..\jetty +java -DSTOP.PORT=8079 -DSTOP.KEY=geonetwork -jar start.jar --stop Added: sandbox/3.0.x/geonetwork_legacy/bin/stop-geonetwork.sh =================================================================== --- sandbox/3.0.x/geonetwork_legacy/bin/stop-geonetwork.sh (rev 0) +++ sandbox/3.0.x/geonetwork_legacy/bin/stop-geonetwork.sh 2009-08-03 08:41:36 UTC (rev 4751) @@ -0,0 +1,2 @@ +cd ../jetty +java -DSTOP.PORT=8079 -DSTOP.KEY=geonetwork -jar start.jar --stop Added: sandbox/3.0.x/geonetwork_legacy/bin/webdefault.xml =================================================================== --- sandbox/3.0.x/geonetwork_legacy/bin/webdefault.xml (rev 0) +++ sandbox/3.0.x/geonetwork_legacy/bin/webdefault.xml 2009-08-03 08:41:36 UTC (rev 4751) @@ -0,0 +1,404 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> + +<!-- ===================================================================== --> +<!-- This file contains the default descriptor for web applications. --> +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> +<!-- The intent of this descriptor is to include jetty specific or common --> +<!-- configuration for all webapps. If a context has a webdefault.xml --> +<!-- descriptor, it is applied before the contexts own web.xml file --> +<!-- --> +<!-- A context may be assigned a default descriptor by: --> +<!-- + Calling WebApplicationContext.setDefaultsDescriptor --> +<!-- + Passed an arg to addWebApplications --> +<!-- --> +<!-- This file is used both as the resource within the jetty.jar (which is --> +<!-- used as the default if no explicit defaults descriptor is set) and it --> +<!-- is copied to the etc directory of the Jetty distro and explicitly --> +<!-- by the jetty.xml file. --> +<!-- --> +<!-- ===================================================================== --> +<web-app + xmlns="http://java.sun.com/xml/ns/javaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" + metadata-complete="true" + version="2.5"> + + <description> + Default web.xml file. + This file is applied to a Web application before it's own WEB_INF/web.xml file + </description> + + + <!-- ==================================================================== --> + <!-- Context params to control Session Cookies --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <!-- UNCOMMENT TO ACTIVATE + <context-param> + <param-name>org.mortbay.jetty.servlet.SessionDomain</param-name> + <param-value>127.0.0.1</param-value> + </context-param> + + <context-param> + <param-name>org.mortbay.jetty.servlet.SessionPath</param-name> + <param-value>/</param-value> + </context-param> + + <context-param> + <param-name>org.mortbay.jetty.servlet.MaxAge</param-name> + <param-value>-1</param-value> + </context-param> + --> + + <context-param> + <param-name>org.mortbay.jetty.webapp.NoTLDJarPattern</param-name> + <param-value>start.jar|ant-.*\.jar|dojo-.*\.jar|jetty-.*\.jar|jsp-api-.*\.jar|junit-.*\.jar|servlet-api-.*\.jar|dnsns\.jar|rt\.jar|jsse\.jar|tools\.jar|sunpkcs11\.jar|sunjce_provider\.jar|xerces.*\.jar</param-value> + </context-param> + + + + <!-- ==================================================================== --> + <!-- The default servlet. --> + <!-- This servlet, normally mapped to /, provides the handling for static --> + <!-- content, OPTIONS and TRACE methods for the context. --> + <!-- The following initParameters are supported: --> + <!-- --> + <!-- acceptRanges If true, range requests and responses are --> + <!-- supported --> + <!-- --> + <!-- dirAllowed If true, directory listings are returned if no --> + <!-- welcome file is found. Else 403 Forbidden. --> + <!-- --> + <!-- redirectWelcome If true, redirect welcome file requests --> + <!-- else use request dispatcher forwards --> + <!-- --> + <!-- gzip If set to true, then static content will be served--> + <!-- as gzip content encoded if a matching resource is --> + <!-- found ending with ".gz" --> + <!-- --> + <!-- resoureBase Can be set to replace the context resource base --> + <!-- --> + <!-- relativeResourceBase --> + <!-- Set with a pathname relative to the base of the --> + <!-- servlet context root. Useful for only serving --> + <!-- static content from only specific subdirectories. --> + <!-- --> + <!-- useFileMappedBuffer --> + <!-- If set to true (the default), a memory mapped --> + <!-- file buffer will be used to serve static content --> + <!-- when using an NIO connector. Setting this value --> + <!-- to false means that a direct buffer will be used --> + <!-- instead. If you are having trouble with Windows --> + <!-- file locking, set this to false. --> + <!-- --> + <!-- cacheControl If set, all static content will have this value --> + <!-- set as the cache-control header. --> + <!-- --> + <!-- maxCacheSize Maximum size of the static resource cache --> + <!-- --> + <!-- maxCachedFileSize Maximum size of any single file in the cache --> + <!-- --> + <!-- maxCachedFiles Maximum number of files in the cache --> + <!-- --> + <!-- cacheType "nio", "bio" or "both" to determine the type(s) --> + <!-- of resource cache. A bio cached buffer may be used--> + <!-- by nio but is not as efficient as a nio buffer. --> + <!-- An nio cached buffer may not be used by bio. --> + <!-- --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <servlet> + <servlet-name>default</servlet-name> + <servlet-class>org.mortbay.jetty.servlet.DefaultServlet</servlet-class> + <init-param> + <param-name>acceptRanges</param-name> + <param-value>true</param-value> + </init-param> + <init-param> + <param-name>dirAllowed</param-name> + <param-value>false</param-value> + </init-param> + <init-param> + <param-name>redirectWelcome</param-name> + <param-value>false</param-value> + </init-param> + <init-param> + <param-name>maxCacheSize</param-name> + <param-value>256000000</param-value> + </init-param> + <init-param> + <param-name>maxCachedFileSize</param-name> + <param-value>10000000</param-value> + </init-param> + <init-param> + <param-name>maxCachedFiles</param-name> + <param-value>1000</param-value> + </init-param> + <init-param> + <param-name>cacheType</param-name> + <param-value>both</param-value> + </init-param> + <init-param> + <param-name>gzip</param-name> + <param-value>true</param-value> + </init-param> + <init-param> + <param-name>useFileMappedBuffer</param-name> + <param-value>true</param-value> + </init-param> + <!-- + <init-param> + <param-name>cacheControl</param-name> + <param-value>max-age=3600,public</param-value> + </init-param> + --> + <load-on-startup>0</load-on-startup> + </servlet> + + <servlet-mapping> + <servlet-name>default</servlet-name> + <url-pattern>/</url-pattern> + </servlet-mapping> + + <!-- ==================================================================== --> + <!-- JSP Servlet --> + <!-- This is the jasper JSP servlet from the jakarta project --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <!-- The JSP page compiler and execution servlet, which is the mechanism --> + <!-- used by Glassfish to support JSP pages. Traditionally, this servlet --> + <!-- is mapped to URL patterh "*.jsp". This servlet supports the --> + <!-- following initialization parameters (default values are in square --> + <!-- brackets): --> + <!-- --> + <!-- checkInterval If development is false and reloading is true, --> + <!-- background compiles are enabled. checkInterval --> + <!-- is the time in seconds between checks to see --> + <!-- if a JSP page needs to be recompiled. [300] --> + <!-- --> + <!-- compiler Which compiler Ant should use to compile JSP --> + <!-- pages. See the Ant documenation for more --> + <!-- information. [javac] --> + <!-- --> + <!-- classdebuginfo Should the class file be compiled with --> + <!-- debugging information? [true] --> + <!-- --> + <!-- classpath What class path should I use while compiling --> + <!-- generated servlets? [Created dynamically --> + <!-- based on the current web application] --> + <!-- Set to ? to make the container explicitly set --> + <!-- this parameter. --> + <!-- --> + <!-- development Is Jasper used in development mode (will check --> + <!-- for JSP modification on every access)? [true] --> + <!-- --> + <!-- enablePooling Determines whether tag handler pooling is --> + <!-- enabled [true] --> + <!-- --> + <!-- fork Tell Ant to fork compiles of JSP pages so that --> + <!-- a separate JVM is used for JSP page compiles --> + <!-- from the one Tomcat is running in. [true] --> + <!-- --> + <!-- ieClassId The class-id value to be sent to Internet --> + <!-- Explorer when using <jsp:plugin> tags. --> + <!-- [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93] --> + <!-- --> + <!-- javaEncoding Java file encoding to use for generating java --> + <!-- source files. [UTF-8] --> + <!-- --> + <!-- keepgenerated Should we keep the generated Java source code --> + <!-- for each page instead of deleting it? [true] --> + <!-- --> + <!-- logVerbosityLevel The level of detailed messages to be produced --> + <!-- by this servlet. Increasing levels cause the --> + <!-- generation of more messages. Valid values are --> + <!-- FATAL, ERROR, WARNING, INFORMATION, and DEBUG. --> + <!-- [WARNING] --> + <!-- --> + <!-- mappedfile Should we generate static content with one --> + <!-- print statement per input line, to ease --> + <!-- debugging? [false] --> + <!-- --> + <!-- --> + <!-- reloading Should Jasper check for modified JSPs? [true] --> + <!-- --> + <!-- suppressSmap Should the generation of SMAP info for JSR45 --> + <!-- debugging be suppressed? [false] --> + <!-- --> + <!-- dumpSmap Should the SMAP info for JSR45 debugging be --> + <!-- dumped to a file? [false] --> + <!-- False if suppressSmap is true --> + <!-- --> + <!-- scratchdir What scratch directory should we use when --> + <!-- compiling JSP pages? [default work directory --> + <!-- for the current web application] --> + <!-- --> + <!-- tagpoolMaxSize The maximum tag handler pool size [5] --> + <!-- --> + <!-- xpoweredBy Determines whether X-Powered-By response --> + <!-- header is added by generated servlet [false] --> + <!-- --> + <!-- If you wish to use Jikes to compile JSP pages: --> + <!-- Set the init parameter "compiler" to "jikes". Define --> + <!-- the property "-Dbuild.compiler.emacs=true" when starting Jetty --> + <!-- to cause Jikes to emit error messages in a format compatible with --> + <!-- Jasper. --> + <!-- If you get an error reporting that jikes can't use UTF-8 encoding, --> + <!-- try setting the init parameter "javaEncoding" to "ISO-8859-1". --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <servlet id="jsp"> + <servlet-name>jsp</servlet-name> + <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> + <init-param> + <param-name>logVerbosityLevel</param-name> + <param-value>WARNING</param-value> + </init-param> + <init-param> + <param-name>fork</param-name> + <param-value>false</param-value> + </init-param> + <init-param> + <param-name>xpoweredBy</param-name> + <param-value>false</param-value> + </init-param> + <!-- + <init-param> + <param-name>classpath</param-name> + <param-value>?</param-value> + </init-param> + --> + <load-on-startup>0</load-on-startup> + </servlet> + + <servlet-mapping> + <servlet-name>jsp</servlet-name> + <url-pattern>*.jsp</url-pattern> + <url-pattern>*.jspf</url-pattern> + <url-pattern>*.jspx</url-pattern> + <url-pattern>*.xsp</url-pattern> + <url-pattern>*.JSP</url-pattern> + <url-pattern>*.JSPF</url-pattern> + <url-pattern>*.JSPX</url-pattern> + <url-pattern>*.XSP</url-pattern> + </servlet-mapping> + + <!-- ==================================================================== --> + <!-- Dynamic Servlet Invoker. --> + <!-- This servlet invokes anonymous servlets that have not been defined --> + <!-- in the web.xml or by other means. The first element of the pathInfo --> + <!-- of a request passed to the envoker is treated as a servlet name for --> + <!-- an existing servlet, or as a class name of a new servlet. --> + <!-- This servlet is normally mapped to /servlet/* --> + <!-- This servlet support the following initParams: --> + <!-- --> + <!-- nonContextServlets If false, the invoker can only load --> + <!-- servlets from the contexts classloader. --> + <!-- This is false by default and setting this --> + <!-- to true may have security implications. --> + <!-- --> + <!-- verbose If true, log dynamic loads --> + <!-- --> + <!-- * All other parameters are copied to the --> + <!-- each dynamic servlet as init parameters --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <!-- Uncomment for dynamic invocation + <servlet> + <servlet-name>invoker</servlet-name> + <servlet-class>org.mortbay.jetty.servlet.Invoker</servlet-class> + <init-param> + <param-name>verbose</param-name> + <param-value>false</param-value> + </init-param> + <init-param> + <param-name>nonContextServlets</param-name> + <param-value>false</param-value> + </init-param> + <init-param> + <param-name>dynamicParam</param-name> + <param-value>anyValue</param-value> + </init-param> + <load-on-startup>0</load-on-startup> + </servlet> + + <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> + --> + + + + <!-- ==================================================================== --> + <session-config> + <session-timeout>30</session-timeout> + </session-config> + + <!-- ==================================================================== --> + <!-- Default MIME mappings --> + <!-- The default MIME mappings are provided by the mime.properties --> + <!-- resource in the org.mortbay.jetty.jar file. Additional or modified --> + <!-- mappings may be specified here --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <!-- UNCOMMENT TO ACTIVATE + <mime-mapping> + <extension>mysuffix</extension> + <mime-type>mymime/type</mime-type> + </mime-mapping> + --> + + <!-- ==================================================================== --> + <welcome-file-list> + <welcome-file>index.html</welcome-file> + <welcome-file>index.htm</welcome-file> + <welcome-file>index.jsp</welcome-file> + </welcome-file-list> + + <!-- ==================================================================== --> + <locale-encoding-mapping-list> + <locale-encoding-mapping><locale>ar</locale><encoding>ISO-8859-6</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>be</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>bg</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>ca</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>cs</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>da</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>de</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>el</locale><encoding>ISO-8859-7</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>en</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>es</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>et</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>fi</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>fr</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>hr</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>hu</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>is</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>it</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>iw</locale><encoding>ISO-8859-8</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>ja</locale><encoding>Shift_JIS</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>ko</locale><encoding>EUC-KR</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>lt</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>lv</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>mk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>nl</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>no</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>pl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>pt</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>ro</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>ru</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>sh</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>sk</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>sl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>sq</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>sr</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>sv</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>tr</locale><encoding>ISO-8859-9</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>uk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>zh</locale><encoding>GB2312</encoding></locale-encoding-mapping> + <locale-encoding-mapping><locale>zh_TW</locale><encoding>Big5</encoding></locale-encoding-mapping> + </locale-encoding-mapping-list> + + <security-constraint> + <web-resource-collection> + <web-resource-name>Disable TRACE</web-resource-name> + <url-pattern>/</url-pattern> + <http-method>TRACE</http-method> + </web-resource-collection> + <auth-constraint/> + </security-constraint> + +</web-app> + Added: sandbox/3.0.x/geonetwork_legacy/bin/win/start-stdln.html =================================================================== --- sandbox/3.0.x/geonetwork_legacy/bin/win/start-stdln.html (rev 0) +++ sandbox/3.0.x/geonetwork_legacy/bin/win/start-stdln.html 2009-08-03 08:41:36 UTC (rev 4751) @@ -0,0 +1,15 @@ +<HTML> + <HEAD> + <META http-equiv="refresh" content="0; URL=http://localhost:8080/geonetwork/srv/en/main.home"> + <META http-equiv="Pragma" content="no-cache"> + <META http-equiv="Cache-Control" content="no-cache,no-store"> + + <script language="Javascript1.5" type="text/javascript"> + window.location="http://localhost:8080/geonetwork/srv/en/main.home" + </script> + </HEAD> + <BODY BGCOLOR="#FFFFFF"> + <FONT size=-5><A HREF="http://localhost:8080/geonetwork/srv/en/main.home">GeoNetwork desktop</A></FONT> + <p>Make sure you started the server first! (select 'Start server' from the GeoNetwork desktop group in the Start menu)</p> + </BODY> +</HTML> Added: sandbox/3.0.x/geonetwork_legacy/cachingxslt/Cachingxslt.iml =================================================================== --- sandbox/3.0.x/geonetwork_legacy/cachingxslt/Cachingxslt.iml (rev 0) +++ sandbox/3.0.x/geonetwork_legacy/cachingxslt/Cachingxslt.iml 2009-08-03 08:41:36 UTC (rev 4751) @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module relativePaths="true" type="JAVA_MODULE" version="4"> + <component name="NewModuleRootManager" inherit-compiler-output="true"> + <exclude-output /> + <content url="file://$MODULE_DIR$"> + <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" /> + </content> + <orderEntry type="inheritedJdk" /> + <orderEntry type="sourceFolder" forTests="false" /> + <orderEntry type="library" name="lib5" level="project" /> + <orderEntry type="library" name="lib6" level="project" /> + <orderEntry type="library" name="lib1" level="project" /> + <orderEntry type="library" name="lib3" level="project" /> + <orderEntry type="library" name="jsp-2.0" level="project" /> + <orderEntry type="library" name="lib2" level="project" /> + <orderEntry type="library" name="lib" level="project" /> + </component> +</module> + Added: sandbox/3.0.x/geonetwork_legacy/cachingxslt/build.xml =================================================================== --- sandbox/3.0.x/geonetwork_legacy/cachingxslt/build.xml (rev 0) +++ sandbox/3.0.x/geonetwork_legacy/cachingxslt/build.xml 2009-08-03 08:41:36 UTC (rev 4751) @@ -0,0 +1,22 @@ +<project name="cachingxslt" default="all"> + + <property name="debug" value="on"/> + + <target name="all"> + <delete file = "cachingxslt.jar" /> + <delete dir = "build" /> + <mkdir dir = "build" /> + + <javac + srcdir="src" + destdir="build" + extdirs="lib" + debug="${debug}"> + </javac> + + <jar jarfile="cachingxslt.jar" + basedir="build" includes="de/**, META-INF/**"/> + <delete dir="build"/> + </target> + +</project> Added: sandbox/3.0.x/geonetwork_legacy/cachingxslt/cachingxslt.jar =================================================================== (Binary files differ) Property changes on: sandbox/3.0.x/geonetwork_legacy/cachingxslt/cachingxslt.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: sandbox/3.0.x/geonetwork_legacy/cachingxslt/lib/log4j.jar =================================================================== (Binary files differ) Property changes on: sandbox/3.0.x/geonetwork_legacy/cachingxslt/lib/log4j.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: sandbox/3.0.x/geonetwork_legacy/cachingxslt/lib/saxon9.jar =================================================================== (Binary files differ) Property changes on: sandbox/3.0.x/geonetwork_legacy/cachingxslt/lib/saxon9.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: sandbox/3.0.x/geonetwork_legacy/cachingxslt/src/META-INF/services/javax.xml.transform.TransformerFactory =================================================================== --- sandbox/3.0.x/geonetwork_legacy/cachingxslt/src/META-INF/services/javax.xml.transform.TransformerFactory (rev 0) +++ sandbox/3.0.x/geonetwork_legacy/cachingxslt/src/META-INF/services/javax.xml.transform.TransformerFactory 2009-08-03 08:41:36 UTC (rev 4751) @@ -0,0 +1 @@ +de.fzi.dbs.xml.transform.CachingTransformerFactory \ No newline at end of file Added: sandbox/3.0.x/geonetwork_legacy/cachingxslt/src/de/fzi/dbs/xml/transform/CachingTransformerFactory.java =================================================================== --- sandbox/3.0.x/geonetwork_legacy/cachingxslt/src/de/fzi/dbs/xml/transform/CachingTransformerFactory.java (rev 0) +++ sandbox/3.0.x/geonetwork_legacy/cachingxslt/src/de/fzi/dbs/xml/transform/CachingTransformerFactory.java 2009-08-03 08:41:36 UTC (rev 4751) @@ -0,0 +1,249 @@ +package de.fzi.dbs.xml.transform; + +import java.io.File; +import java.lang.String; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.HashMap; +import java.util.Map; + +import javax.xml.transform.Source; +import javax.xml.transform.Templates; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerConfigurationException; +import javax.xml.transform.stream.StreamSource; + +import net.sf.saxon.TransformerFactoryImpl; +import org.apache.log4j.Logger; + + +/** + * Caching implementation of JAXP transformer factory. + * This implementation caches templates that were loaded from local files + * so that consequent calls to local stylesheets require stylesheet reparsing + * only if stylesheet was changed. + */ +public class CachingTransformerFactory extends TransformerFactoryImpl +{ + /** Map to hold templates cache. */ + private static Map templatesCache = new HashMap(); + + /** Factory logger. */ + protected static Logger logger = + Logger.getLogger(CachingTransformerFactory.class); + + /** Active readers count. */ + protected static int activeReaders = 0; + /** Active writers count. */ + protected static int activeWriters = 0; + + /** + * Process the source into a Transformer object. If source is a StreamSource + * with <code>systemID</code> pointing to a file, transformer is produced + * from a cached templates object. Cache is done in soft references; cached + * objects are reloaded, when file's date of last modification changes. + * @param source An object that holds a URI, input stream, etc. + * @return A Transformer object that may be used to perform a transformation + * in a single thread, never null. + * @throws TransformerConfigurationException - May throw this during the + * parse when it is constructing the Templates object and fails. + * + */ + public Transformer newTransformer(final Source source) + throws TransformerConfigurationException + { + // Check that source in a StreamSource + if (source instanceof StreamSource) + try + { + // Create URI of the source + String srcId = source.getSystemId(); + if (srcId.indexOf(':') == 1) { // fix up windows path so that uri works + srcId = srcId.replaceAll("\\\\","/"); + srcId = srcId.substring(2); + srcId = srcId.replaceAll(" ","%20"); + } + final URI uri = new URI(srcId); + // If URI points to a file, load transformer from the file + // (or from the cache) + if ("file".equalsIgnoreCase(uri.getScheme())) + return newTransformer(new File(uri.getPath())); + } + catch (URISyntaxException urise) + { + throw new TransformerConfigurationException(urise); + } + return super.newTransformer(source); + } + + /** + * Creates a transformer from a file (and caches templates) or from + * cached templates object. + * @param file file to load transformer from. + * @return Transformer, built from given file. + * @throws TransformerConfigurationException if there was a problem loading + * transformer from the file. + */ + protected Transformer newTransformer(final File file) + throws TransformerConfigurationException + { + // Search the cache for the templates entry + TemplatesCacheEntry templatesCacheEntry = read(file.getAbsolutePath()); + + // If entry found + if (templatesCacheEntry != null) + { + // Check timestamp of modification + if (templatesCacheEntry.lastModified + < templatesCacheEntry.templatesFile.lastModified()) + templatesCacheEntry = null; + } + // If no templatesEntry is found or this entry was obsolete + if (templatesCacheEntry == null) + { +// System.out.println("Loading transformation [" + file.getAbsolutePath() + "]."); + // If this file does not exists, throw the exception + if (!file.exists()) + { + throw new TransformerConfigurationException( + "Requested transformation [" + + file.getAbsolutePath() + + "] does not exist."); + } + + // Create new cache entry + templatesCacheEntry = + new TemplatesCacheEntry(newTemplates(new StreamSource(file)), file); + + // Save this entry to the cache + write(file.getAbsolutePath(), templatesCacheEntry); + } +// else +// { +// System.out.println("Using cached transformation [" + file.getAbsolutePath() + "]."); +// } + return templatesCacheEntry.templates.newTransformer(); + } + + /** + * Returns a templates cache entry for the specified absolute path. + * @param absolutePath absolute path of the entry. + * @return Templates cache entry for the specified path. + */ + protected TemplatesCacheEntry read(String absolutePath) + { + beforeRead(); + final TemplatesCacheEntry templatesCacheEntry = + (TemplatesCacheEntry) templatesCache.get(absolutePath); + afterRead(); + return templatesCacheEntry; + } + + /** + * Saves templates cache entry for the specified absolute path. + * @param absolutePath absolute path of the entry. + * @param templatesCacheEntry templates cache entry to save. + */ + protected void write(String absolutePath, TemplatesCacheEntry templatesCacheEntry) + { + beforeWrite(); + templatesCache.put(absolutePath, templatesCacheEntry); + afterWrite(); + } + + /** + * Invoked just before reading, waits until reading is allowed. + */ + protected synchronized void beforeRead() + { + while (activeWriters > 0) + try + { + wait(); + } + catch (InterruptedException iex) + { + } + ++activeReaders; + } + + /** + * Invoked just after reading. + */ + protected synchronized void afterRead() + { + --activeReaders; + notifyAll(); + } + + /** + * Invoked just before writing, waits until writing is allowed. + */ + protected synchronized void beforeWrite() + { + while (activeReaders > 0 || activeWriters > 0) + try + { + wait(); + } + catch (InterruptedException iex) + { + } + ++activeWriters; + } + + /** + * Invoked just after writing. + */ + protected synchronized void afterWrite() + { + --activeWriters; + notifyAll(); + } + + /** + * Private class to hold templates cache entry. + */ + private class TemplatesCacheEntry + { + /** When was the cached entry last modified. */ + private long lastModified; + + /** Cached templates object. */ + private Templates templates; + + /** Templates file object. */ + private File templatesFile; + + /** + * Constructs a new cache entry. + * @param templates templates to cache. + * @param templatesFile file, from which this transformer was loaded. + */ + private TemplatesCacheEntry(final Templates templates, final File templatesFile) + { + this.templates = templates; + this.templatesFile = templatesFile; + this.lastModified = templatesFile.lastModified(); + } + } +} + +/* + * The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy of the + * License at http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. + * See the License for the specific language governing rights and limitations under the License. + * + * The Original Code is: all this file. + * + * The Initial Developer of the Original Code is + * Aleksei Valikov of Forschungszentrum Informatik (va...@fz...). + * + * Portions created by (your name) are Copyright (C) (your legal entity). All Rights Reserved. + * + * Contributor(s): none. + */ Added: sandbox/3.0.x/geonetwork_legacy/csw/cswClient.bat =================================================================== --- sandbox/3.0.x/geonetwork_legacy/csw/cswClient.bat (rev 0) +++ sandbox/3.0.x/geonetwork_legacy/csw/cswClient.bat 2009-08-03 08:41:36 UTC (rev 4751) @@ -0,0 +1,7 @@ +#author : illumenum + +setlocal EnableDelayedExpansion +set CP=lib/csw-client.jar;lib/csw-common.jar +for %%g in (../web/geonetwork/WEB-INF/lib/*.jar) do set CP=!CP!;"../web/geonetwork/WEB-INF/lib/%%g" +start javaw -cp %CP% org.fao.geonet.csw.client.CswClient +endlocal Added: sandbox/3.0.x/geonetwork_legacy/csw/cswClient.sh =================================================================== --- sandbox/3.0.x/geonetwork_legacy/csw/cswClient.sh (rev 0) ++... [truncated message content] |