Return-Path: Delivered-To: apmail-cocoon-cvs-archive@www.apache.org Received: (qmail 6413 invoked from network); 25 Dec 2006 21:44:41 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 25 Dec 2006 21:44:41 -0000 Received: (qmail 10320 invoked by uid 500); 25 Dec 2006 21:44:48 -0000 Delivered-To: apmail-cocoon-cvs-archive@cocoon.apache.org Received: (qmail 10196 invoked by uid 500); 25 Dec 2006 21:44:47 -0000 Mailing-List: contact cvs-help@cocoon.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@cocoon.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list cvs@cocoon.apache.org Received: (qmail 10184 invoked by uid 99); 25 Dec 2006 21:44:47 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 25 Dec 2006 13:44:47 -0800 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 25 Dec 2006 13:44:21 -0800 Received: by eris.apache.org (Postfix, from userid 65534) id 0534F1A981A; Mon, 25 Dec 2006 13:43:30 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r490176 - in /cocoon/trunk/core: ./ cocoon-configuration/cocoon-configuration-impl/src/main/java/org/apache/cocoon/configuration/impl/ cocoon-xml/cocoon-xml-impl/src/main/java/org/apache/cocoon/core/xml/impl/ cocoon-xml/cocoon-xml-resolver/... Date: Mon, 25 Dec 2006 21:43:29 -0000 To: cvs@cocoon.apache.org From: cziegeler@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20061225214330.0534F1A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: cziegeler Date: Mon Dec 25 13:43:28 2006 New Revision: 490176 URL: http://svn.apache.org/viewvc?view=rev&rev=490176 Log: Activate xml modules Implement system entity resolver Added: cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/src/main/java/org/ cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/src/main/java/org/apache/ cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/src/main/java/org/apache/cocoon/ cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/src/main/java/org/apache/cocoon/core/ cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/src/main/java/org/apache/cocoon/core/xml/ cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/src/main/java/org/apache/cocoon/core/xml/resolver/ cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/src/main/java/org/apache/cocoon/core/xml/resolver/CocoonSystemResolver.java (with props) cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/src/main/resources/META-INF/cocoon/spring/ cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/src/main/resources/META-INF/cocoon/spring/cocoon-xml-resolver.xml (with props) Modified: cocoon/trunk/core/cocoon-configuration/cocoon-configuration-impl/src/main/java/org/apache/cocoon/configuration/impl/DeploymentUtil.java cocoon/trunk/core/cocoon-xml/cocoon-xml-impl/src/main/java/org/apache/cocoon/core/xml/impl/DefaultEntityResolver.java cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/pom.xml cocoon/trunk/core/pom.xml Modified: cocoon/trunk/core/cocoon-configuration/cocoon-configuration-impl/src/main/java/org/apache/cocoon/configuration/impl/DeploymentUtil.java URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-configuration/cocoon-configuration-impl/src/main/java/org/apache/cocoon/configuration/impl/DeploymentUtil.java?view=diff&rev=490176&r1=490175&r2=490176 ============================================================================== --- cocoon/trunk/core/cocoon-configuration/cocoon-configuration-impl/src/main/java/org/apache/cocoon/configuration/impl/DeploymentUtil.java (original) +++ cocoon/trunk/core/cocoon-configuration/cocoon-configuration-impl/src/main/java/org/apache/cocoon/configuration/impl/DeploymentUtil.java Mon Dec 25 13:43:28 2006 @@ -135,6 +135,27 @@ deployBlockResources("blocks", destinationDirectory); } + public static void deployJarResources(String pattern, String destinationDirectory) + throws IOException { + final Enumeration jarUrls = DeploymentUtil.class.getClassLoader().getResources(pattern); + while ( jarUrls.hasMoreElements() ) { + final URL resourceUrl = (URL)jarUrls.nextElement(); + + String url = resourceUrl.toExternalForm(); + // we only handle jars! + if ( "jar".equals(resourceUrl.getProtocol()) ) { + // if this is a jar url, it has this form: "jar:{url-to-jar}!/{resource-path}" + // to open the jar, we can simply remove everything after "!/" + int pos = url.indexOf('!'); + url = url.substring(0, pos+2); // +2 as we include "!/" + final URL jarUrl = new URL(url); + final JarURLConnection connection = (JarURLConnection)jarUrl.openConnection(); + final JarFile jarFile = connection.getJarFile(); + deploy(jarFile, pattern, destinationDirectory); + } + } + } + /** * Get a map that associates a block name with the root URL of the blocks resources * Modified: cocoon/trunk/core/cocoon-xml/cocoon-xml-impl/src/main/java/org/apache/cocoon/core/xml/impl/DefaultEntityResolver.java URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-xml/cocoon-xml-impl/src/main/java/org/apache/cocoon/core/xml/impl/DefaultEntityResolver.java?view=diff&rev=490176&r1=490175&r2=490176 ============================================================================== --- cocoon/trunk/core/cocoon-xml/cocoon-xml-impl/src/main/java/org/apache/cocoon/core/xml/impl/DefaultEntityResolver.java (original) +++ cocoon/trunk/core/cocoon-xml/cocoon-xml-impl/src/main/java/org/apache/cocoon/core/xml/impl/DefaultEntityResolver.java Mon Dec 25 13:43:28 2006 @@ -123,9 +123,9 @@ * Set the configuration. Load the system catalog and apply any * parameters that may have been specified in cocoon.xconf * @param params The configuration information - * @exception ParameterException */ - protected void init() { + protected void init() + throws Exception { // Over-ride debug level that is set by CatalogManager.properties if ( this.verbosity != null ) { if (this.getLogger().isDebugEnabled()) { Modified: cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/pom.xml URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/pom.xml?view=diff&rev=490176&r1=490175&r2=490176 ============================================================================== --- cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/pom.xml (original) +++ cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/pom.xml Mon Dec 25 13:43:28 2006 @@ -35,6 +35,11 @@ org.apache.cocoon + cocoon-configuration-impl + 1.0.0-SNAPSHOT + + + org.apache.cocoon cocoon-xml-impl 1.0.0-SNAPSHOT Added: cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/src/main/java/org/apache/cocoon/core/xml/resolver/CocoonSystemResolver.java URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/src/main/java/org/apache/cocoon/core/xml/resolver/CocoonSystemResolver.java?view=auto&rev=490176 ============================================================================== --- cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/src/main/java/org/apache/cocoon/core/xml/resolver/CocoonSystemResolver.java (added) +++ cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/src/main/java/org/apache/cocoon/core/xml/resolver/CocoonSystemResolver.java Mon Dec 25 13:43:28 2006 @@ -0,0 +1,55 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.cocoon.core.xml.resolver; + +import java.io.File; + +import org.apache.cocoon.configuration.Settings; +import org.apache.cocoon.configuration.impl.DeploymentUtil; +import org.apache.cocoon.core.xml.impl.DefaultEntityResolver; + +/** + * + * @version $Id$ + * @since 2.2 + */ +public class CocoonSystemResolver extends DefaultEntityResolver { + + /** Cocoon settings. */ + protected Settings settings; + + public void setSettings(Settings settings) { + this.settings = settings; + } + + /** + * @see org.apache.cocoon.core.xml.impl.DefaultEntityResolver#init() + */ + protected void init() + throws Exception { + // create temporary directory for our entities + final File workDirectory = new File(settings.getWorkDirectory()); + final File entitiesDirectory = new File(workDirectory, "cocoon_xml_resolver_entities"); + entitiesDirectory.mkdir(); + // deploy resources + DeploymentUtil.deployJarResources("META-INF/cocoon/entities", entitiesDirectory.getAbsolutePath()); + // set catalog + this.setCatalog(entitiesDirectory.getAbsolutePath() + File.separator + "catalog"); + // now initialize + super.init(); + } +} Propchange: cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/src/main/java/org/apache/cocoon/core/xml/resolver/CocoonSystemResolver.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/src/main/java/org/apache/cocoon/core/xml/resolver/CocoonSystemResolver.java ------------------------------------------------------------------------------ svn:keywords = Id Added: cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/src/main/resources/META-INF/cocoon/spring/cocoon-xml-resolver.xml URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/src/main/resources/META-INF/cocoon/spring/cocoon-xml-resolver.xml?view=auto&rev=490176 ============================================================================== --- cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/src/main/resources/META-INF/cocoon/spring/cocoon-xml-resolver.xml (added) +++ cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/src/main/resources/META-INF/cocoon/spring/cocoon-xml-resolver.xml Mon Dec 25 13:43:28 2006 @@ -0,0 +1,28 @@ + + + + + + + + + + + \ No newline at end of file Propchange: cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/src/main/resources/META-INF/cocoon/spring/cocoon-xml-resolver.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: cocoon/trunk/core/cocoon-xml/cocoon-xml-resolver/src/main/resources/META-INF/cocoon/spring/cocoon-xml-resolver.xml ------------------------------------------------------------------------------ svn:keywords = Id Modified: cocoon/trunk/core/pom.xml URL: http://svn.apache.org/viewvc/cocoon/trunk/core/pom.xml?view=diff&rev=490176&r1=490175&r2=490176 ============================================================================== --- cocoon/trunk/core/pom.xml (original) +++ cocoon/trunk/core/pom.xml Mon Dec 25 13:43:28 2006 @@ -43,6 +43,7 @@ cocoon-thread cocoon-util cocoon-webapp + cocoon-xml scm:svn:http://svn.apache.org/repos/asf/cocoon/trunk/core