You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by re...@apache.org on 2008/04/16 18:24:41 UTC
svn commit: r648736 - in /cocoon/trunk:
core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/blockdeployment/
core/cocoon-servlet-service/cocoon-servlet-service-impl/
core/cocoon-servlet-service/cocoon-servlet-service-im...
Author: reinhard
Date: Wed Apr 16 09:24:32 2008
New Revision: 648736
URL: http://svn.apache.org/viewvc?rev=648736&view=rev
Log:
move resources out of SSF and SpringConfigurator into the appropriate new modules (jnet, block-deployment
Added:
cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-ssf-callstack.xml
- copied, changed from r648159, cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-callstack-environment.xml
cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-ssf-context.xml
- copied, changed from r648159, cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-servletservice-context.xml
cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-ssf-protocol.xml
- copied unchanged from r648159, cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-protocol-servlet.xml
cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-ssf-servlet-map.xml
- copied, changed from r648159, cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-servlet-service-block-servlet-map.xml
cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-ssf-urlhandler-advice.xml
- copied, changed from r648159, cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-url-handler.xml
cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLConnection.java (with props)
cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLStreamHandler.java (with props)
cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLStreamHandlerFactory.java (with props)
cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockDeploymentServletContextListener.java
cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/DeploymentUtil.java
- copied unchanged from r648720, cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/blockdeployment/DeploymentUtil.java
cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/url/
cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/url/
cocoon/trunk/subprojects/cocoon-block-deployment/src/main/resources/META-INF/
cocoon/trunk/subprojects/cocoon-block-deployment/src/main/resources/META-INF/cocoon/
cocoon/trunk/subprojects/cocoon-block-deployment/src/main/resources/META-INF/cocoon/spring/
cocoon/trunk/subprojects/cocoon-block-deployment/src/main/resources/META-INF/cocoon/spring/cocoon-blockdeployment-protocol.xml (with props)
cocoon/trunk/subprojects/cocoon-jnet/src/main/java/org/apache/cocoon/
cocoon/trunk/subprojects/cocoon-jnet/src/main/java/org/apache/cocoon/jnet/
cocoon/trunk/subprojects/cocoon-jnet/src/main/java/org/apache/cocoon/jnet/URLHandlerFactoryCollector.java
- copied, changed from r648159, cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/java/org/apache/cocoon/url/URLHandlerFactoryCollector.java
cocoon/trunk/subprojects/cocoon-jnet/src/main/resources/COB-INF/
cocoon/trunk/subprojects/cocoon-jnet/src/main/resources/COB-INF/cocoon/
cocoon/trunk/subprojects/cocoon-jnet/src/main/resources/COB-INF/cocoon/spring/
cocoon/trunk/subprojects/cocoon-jnet/src/main/resources/COB-INF/cocoon/spring/cocoon-jnet-collector.xml (with props)
Removed:
cocoon/trunk/core/cocoon-configuration/cocoon-spring-configurator/src/main/java/org/apache/cocoon/blockdeployment/
cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/java/org/apache/cocoon/url/BlockContextURLConnection.java
cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/java/org/apache/cocoon/url/BlockContextURLStreamHandler.java
cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/java/org/apache/cocoon/url/BlockContextURLStreamHandlerFactory.java
cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/java/org/apache/cocoon/url/URLHandlerFactoryCollector.java
cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-callstack-environment.xml
cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-protocol-blockcontext.xml
cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-protocol-servlet.xml
cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-servlet-service-block-servlet-map.xml
cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-servletservice-context.xml
cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-url-handler.xml
cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/blockdeployment/
Modified:
cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/pom.xml
cocoon/trunk/subprojects/cocoon-block-deployment/ (props changed)
cocoon/trunk/subprojects/cocoon-block-deployment/pom.xml
cocoon/trunk/subprojects/cocoon-jnet/pom.xml
Modified: cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/pom.xml?rev=648736&r1=648735&r2=648736&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/pom.xml (original)
+++ cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/pom.xml Wed Apr 16 09:24:32 2008
@@ -97,28 +97,6 @@
<!-- Spring Framework -->
<dependency>
<groupId>org.springframework</groupId>
- <artifactId>spring-aop</artifactId>
- <exclusions>
- <exclusion>
- <groupId>avalon-framework</groupId>
- <artifactId>avalon-framework</artifactId>
- </exclusion>
- <exclusion>
- <groupId>logkit</groupId>
- <artifactId>logkit</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.aspectj</groupId>
- <artifactId>aspectjrt</artifactId>
- </dependency>
- <dependency>
- <groupId>org.aspectj</groupId>
- <artifactId>aspectjweaver</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
<dependency>
Copied: cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-ssf-callstack.xml (from r648159, cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-callstack-environment.xml)
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-ssf-callstack.xml?p2=cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-ssf-callstack.xml&p1=cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-callstack-environment.xml&r1=648159&r2=648736&rev=648736&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-callstack-environment.xml (original)
+++ cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-ssf-callstack.xml Wed Apr 16 09:24:32 2008
@@ -15,7 +15,7 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<!-- SVN $Id: cocoon-callstack-environment.xml 548029 2007-06-17 09:02:20Z danielf $ -->
+<!-- SVN $Id$ -->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
Copied: cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-ssf-context.xml (from r648159, cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-servletservice-context.xml)
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-ssf-context.xml?p2=cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-ssf-context.xml&p1=cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-servletservice-context.xml&r1=648159&r2=648736&rev=648736&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-servletservice-context.xml (original)
+++ cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-ssf-context.xml Wed Apr 16 09:24:32 2008
@@ -24,9 +24,8 @@
<!-- The context object of the current base call frame -->
<bean name="javax.servlet.ServletContext/baseframe"
- class="org.apache.cocoon.servletservice.spring.BaseServletContextFactoryBean"
- scope="call">
- <aop:scoped-proxy proxy-target-class="false"/>
+ class="org.apache.cocoon.servletservice.spring.BaseServletContextFactoryBean" scope="call">
+ <aop:scoped-proxy proxy-target-class="false" />
</bean>
</beans>
Copied: cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-ssf-servlet-map.xml (from r648159, cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-servlet-service-block-servlet-map.xml)
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-ssf-servlet-map.xml?p2=cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-ssf-servlet-map.xml&p1=cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-servlet-service-block-servlet-map.xml&r1=648159&r2=648736&rev=648736&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-servlet-service-block-servlet-map.xml (original)
+++ cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-ssf-servlet-map.xml Wed Apr 16 09:24:32 2008
@@ -15,19 +15,14 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-
-<!--
- - $Id$
- -->
+<!-- $Id$ -->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:configurator="http://cocoon.apache.org/schema/configurator"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://cocoon.apache.org/schema/configurator http://cocoon.apache.org/schema/configurator/cocoon-configurator-1.0.1.xsd">
- <configurator:bean-map id="org.apache.cocoon.servletservice.spring.BlockServletMap"
- type="javax.servlet.Servlet"
- has-properties="mountPath"
- key-property="mountPath"/>
+ <configurator:bean-map id="org.apache.cocoon.servletservice.spring.BlockServletMap" type="javax.servlet.Servlet"
+ has-properties="mountPath" key-property="mountPath" />
</beans>
Copied: cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-ssf-urlhandler-advice.xml (from r648159, cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-url-handler.xml)
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-ssf-urlhandler-advice.xml?p2=cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-ssf-urlhandler-advice.xml&p1=cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-url-handler.xml&r1=648159&r2=648736&rev=648736&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-url-handler.xml (original)
+++ cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/resources/META-INF/cocoon/spring/cocoon-ssf-urlhandler-advice.xml Wed Apr 16 09:24:32 2008
@@ -21,27 +21,16 @@
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
- xmlns:configurator="http://cocoon.apache.org/schema/configurator"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://cocoon.apache.org/schema/configurator http://cocoon.apache.org/schema/configurator/cocoon-configurator-1.0.1.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
- <bean id="org.apache.cocoon.url.URLHandlerFactoryCollector" class="org.apache.cocoon.url.URLHandlerFactoryCollector">
- <property name="urlHandlerFactories">
- <configurator:bean-map type="java.net.URLStreamHandlerFactory" strip-prefix="true" />
- </property>
- </bean>
-
<aop:config>
- <aop:aspect id="installURL" ref="org.apache.cocoon.url.URLHandlerFactoryCollector">
+ <aop:aspect id="installURL" ref="org.apache.cocoon.jnet.URLHandlerFactoryCollector">
<aop:pointcut id="servletServiceInvocation"
expression="execution(* javax.servlet.Servlet.service(..)) and bean(*/embedded)" />
- <aop:pointcut id="servletInitialization"
- expression="execution(* javax.servlet.Servlet.init(..)) and bean(*/embedded)" />
<aop:around pointcut-ref="servletServiceInvocation" method="installURLHandlers" />
- <aop:around pointcut-ref="servletInitialization" method="installURLHandlers" />
</aop:aspect>
</aop:config>
Propchange: cocoon/trunk/subprojects/cocoon-block-deployment/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Apr 16 09:24:32 2008
@@ -0,0 +1,6 @@
+.externalToolBuilders
+.settings
+target
+.classpath
+.project
+maven-eclipse.xml
Modified: cocoon/trunk/subprojects/cocoon-block-deployment/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/subprojects/cocoon-block-deployment/pom.xml?rev=648736&r1=648735&r2=648736&view=diff
==============================================================================
--- cocoon/trunk/subprojects/cocoon-block-deployment/pom.xml (original)
+++ cocoon/trunk/subprojects/cocoon-block-deployment/pom.xml Wed Apr 16 09:24:32 2008
@@ -33,9 +33,49 @@
<artifactId>cocoon-block-deployment</artifactId>
<version>1.0.0-SNAPSHOT</version>
<name>Cocoon: Block Deployment</name>
- <description>Deployment utiliities for Cocoon Blocks.</description>
+ <description>Deployment utilities for Cocoon Blocks.</description>
<dependencies>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <exclusions>
+ <exclusion>
+ <artifactId>logkit</artifactId>
+ <groupId>logkit</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>avalon-framework</artifactId>
+ <groupId>avalon-framework</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-beans</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-web</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
<!-- Test dependencies -->
<dependency>
<groupId>junit</groupId>
Added: cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLConnection.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLConnection.java?rev=648736&view=auto
==============================================================================
--- cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLConnection.java (added)
+++ cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLConnection.java Wed Apr 16 09:24:32 2008
@@ -0,0 +1,74 @@
+/*
+ * 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.blockdeployment;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.Map;
+
+public class BlockContextURLConnection extends URLConnection {
+
+ private URL resolvedPath;
+ private final Map blockContexts;
+
+ protected BlockContextURLConnection(URL url, Map blockContexts) {
+ super(url);
+ this.blockContexts = blockContexts;
+ this.url = url;
+ }
+
+ public void connect() throws IOException {
+ this.getRealPath().openConnection().connect();
+ }
+
+ public InputStream getInputStream() throws IOException {
+ return getRealPath().openStream();
+ }
+
+ private URL getRealPath() {
+ if (this.resolvedPath == null) {
+ String location = this.url.toExternalForm();
+
+ // Remove the protocol and the first '/'
+ int pos = location.indexOf(":/");
+ String path = location.substring(pos + 2);
+
+ pos = path.indexOf('/');
+ if (pos != -1) {
+ // extract the block name and get the block context path
+ String blockName = path.substring(0, pos);
+ path = path.substring(pos + 1);
+ String blockContext = (String) this.blockContexts.get(blockName);
+
+ try {
+ this.resolvedPath = new URL(new URL(blockContext), path);
+ } catch (MalformedURLException e) {
+ throw new RuntimeException("Can create URL for '" + blockContext + path + "'.'");
+ }
+ } else {
+ throw new RuntimeException("The block name part of a block context uri must end with a '/' in "
+ + location);
+ }
+ }
+ return this.resolvedPath;
+ }
+}
Propchange: cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLConnection.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLConnection.java
------------------------------------------------------------------------------
svn:keywords = Id
Propchange: cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLConnection.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLStreamHandler.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLStreamHandler.java?rev=648736&view=auto
==============================================================================
--- cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLStreamHandler.java (added)
+++ cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLStreamHandler.java Wed Apr 16 09:24:32 2008
@@ -0,0 +1,40 @@
+/*
+ * 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.blockdeployment;
+
+import java.io.IOException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.net.URLStreamHandler;
+import java.util.Map;
+
+
+public class BlockContextURLStreamHandler extends URLStreamHandler {
+
+ private final Map blockContexts;
+
+ public BlockContextURLStreamHandler(Map blockContexts) {
+ this.blockContexts = blockContexts;
+ }
+
+ protected URLConnection openConnection(URL url) throws IOException {
+ return new BlockContextURLConnection(url, this.blockContexts);
+ }
+
+}
Propchange: cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLStreamHandler.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLStreamHandler.java
------------------------------------------------------------------------------
svn:keywords = Id
Propchange: cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLStreamHandler.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLStreamHandlerFactory.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLStreamHandlerFactory.java?rev=648736&view=auto
==============================================================================
--- cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLStreamHandlerFactory.java (added)
+++ cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLStreamHandlerFactory.java Wed Apr 16 09:24:32 2008
@@ -0,0 +1,59 @@
+/*
+ * 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.blockdeployment;
+
+import java.net.URLStreamHandler;
+import java.net.URLStreamHandlerFactory;
+import java.util.Map;
+
+import javax.servlet.ServletContext;
+
+import org.springframework.beans.BeansException;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.web.context.WebApplicationContext;
+
+public class BlockContextURLStreamHandlerFactory implements URLStreamHandlerFactory, ApplicationContextAware {
+
+ private Map blockContexts;
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.net.URLStreamHandlerFactory#createURLStreamHandler(java.lang.String)
+ */
+ public URLStreamHandler createURLStreamHandler(String protocol) {
+ if ("blockcontext".equalsIgnoreCase(protocol)) {
+ return new BlockContextURLStreamHandler(this.blockContexts);
+ }
+
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext)
+ */
+ public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+ WebApplicationContext webApplicationContext = (WebApplicationContext) applicationContext;
+ ServletContext servletContext = webApplicationContext.getServletContext();
+ this.blockContexts = (Map) servletContext.getAttribute(BlockDeploymentServletContextListener.BLOCK_CONTEXT_MAP);
+ }
+}
Propchange: cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLStreamHandlerFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLStreamHandlerFactory.java
------------------------------------------------------------------------------
svn:keywords = Id
Propchange: cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockContextURLStreamHandlerFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockDeploymentServletContextListener.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockDeploymentServletContextListener.java?rev=648736&view=auto
==============================================================================
--- cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockDeploymentServletContextListener.java (added)
+++ cocoon/trunk/subprojects/cocoon-block-deployment/src/main/java/org/apache/cocoon/blockdeployment/BlockDeploymentServletContextListener.java Wed Apr 16 09:24:32 2008
@@ -0,0 +1,59 @@
+/*
+ * 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.blockdeployment;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Map;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+
+
+
+public class BlockDeploymentServletContextListener implements ServletContextListener {
+
+ public static final String BLOCK_CONTEXT_MAP = BlockDeploymentServletContextListener.class.getName() + "/"
+ + "block-context-map";
+
+ public void contextInitialized(ServletContextEvent sce) {
+ try {
+ ServletContext servletContext = sce.getServletContext();
+
+ Map blocks = DeploymentUtil.deployBlockArtifacts(this.getWorkdir(servletContext).getAbsolutePath());
+ servletContext.setAttribute(BLOCK_CONTEXT_MAP, blocks);
+ } catch (IOException e) {
+ throw new RuntimeException("The available Cocoon blocks can't be deployed.", e);
+ }
+ }
+
+ public void contextDestroyed(ServletContextEvent sce) {
+ sce.getServletContext().removeAttribute(BLOCK_CONTEXT_MAP);
+ }
+
+ private File getWorkdir(ServletContext servletContext) {
+ File workdir = (File) servletContext.getAttribute("javax.servlet.context.tempdir");
+ if (workdir == null) {
+ workdir = new File("cocoon-files");
+ }
+
+ return workdir;
+ }
+}
Added: cocoon/trunk/subprojects/cocoon-block-deployment/src/main/resources/META-INF/cocoon/spring/cocoon-blockdeployment-protocol.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/subprojects/cocoon-block-deployment/src/main/resources/META-INF/cocoon/spring/cocoon-blockdeployment-protocol.xml?rev=648736&view=auto
==============================================================================
--- cocoon/trunk/subprojects/cocoon-block-deployment/src/main/resources/META-INF/cocoon/spring/cocoon-blockdeployment-protocol.xml (added)
+++ cocoon/trunk/subprojects/cocoon-block-deployment/src/main/resources/META-INF/cocoon/spring/cocoon-blockdeployment-protocol.xml Wed Apr 16 09:24:32 2008
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<!-- $Id$ -->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
+
+ <bean name="org.apache.cocoon.blockdeployment.BlockContextURLStreamHandlerFactory"
+ class="org.apache.cocoon.blockdeployment.BlockContextURLStreamHandlerFactory" />
+
+</beans>
Propchange: cocoon/trunk/subprojects/cocoon-block-deployment/src/main/resources/META-INF/cocoon/spring/cocoon-blockdeployment-protocol.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/trunk/subprojects/cocoon-block-deployment/src/main/resources/META-INF/cocoon/spring/cocoon-blockdeployment-protocol.xml
------------------------------------------------------------------------------
svn:keywords = Id
Propchange: cocoon/trunk/subprojects/cocoon-block-deployment/src/main/resources/META-INF/cocoon/spring/cocoon-blockdeployment-protocol.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: cocoon/trunk/subprojects/cocoon-jnet/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/subprojects/cocoon-jnet/pom.xml?rev=648736&r1=648735&r2=648736&view=diff
==============================================================================
--- cocoon/trunk/subprojects/cocoon-jnet/pom.xml (original)
+++ cocoon/trunk/subprojects/cocoon-jnet/pom.xml Wed Apr 16 09:24:32 2008
@@ -38,6 +38,37 @@
<dependencies>
<dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-spring-configurator</artifactId>
+ <scope>runtime</scope>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-aop</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>avalon-framework</groupId>
+ <artifactId>avalon-framework</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>logkit</groupId>
+ <artifactId>logkit</artifactId>
+ </exclusion>
+ </exclusions>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>aspectjrt</artifactId>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>org.aspectj</groupId>
+ <artifactId>aspectjweaver</artifactId>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
<groupId>org.apache.excalibur.components</groupId>
<artifactId>excalibur-sourceresolve</artifactId>
<optional>true</optional>
Copied: cocoon/trunk/subprojects/cocoon-jnet/src/main/java/org/apache/cocoon/jnet/URLHandlerFactoryCollector.java (from r648159, cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/java/org/apache/cocoon/url/URLHandlerFactoryCollector.java)
URL: http://svn.apache.org/viewvc/cocoon/trunk/subprojects/cocoon-jnet/src/main/java/org/apache/cocoon/jnet/URLHandlerFactoryCollector.java?p2=cocoon/trunk/subprojects/cocoon-jnet/src/main/java/org/apache/cocoon/jnet/URLHandlerFactoryCollector.java&p1=cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/java/org/apache/cocoon/url/URLHandlerFactoryCollector.java&r1=648159&r2=648736&rev=648736&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-servlet-service/cocoon-servlet-service-impl/src/main/java/org/apache/cocoon/url/URLHandlerFactoryCollector.java (original)
+++ cocoon/trunk/subprojects/cocoon-jnet/src/main/java/org/apache/cocoon/jnet/URLHandlerFactoryCollector.java Wed Apr 16 09:24:32 2008
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.cocoon.url;
+package org.apache.cocoon.jnet;
import java.net.URLStreamHandlerFactory;
import java.util.Collections;
@@ -24,7 +24,7 @@
import java.util.Map;
import org.apache.excalibur.sourceresolve.jnet.DynamicURLStreamHandlerFactory;
-import org.apache.excalibur.sourceresolve.jnet.Installer;
+import org.apache.excalibur.sourceresolve.jnet.URLStreamHandlerFactoryInstaller;
import org.aspectj.lang.ProceedingJoinPoint;
public class URLHandlerFactoryCollector {
@@ -36,7 +36,7 @@
public Object installURLHandlers(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
try {
if (!this.urlStreamHandlerInstalled) {
- Installer.setURLStreamHandlerFactory(new DynamicURLStreamHandlerFactory());
+ URLStreamHandlerFactoryInstaller.setURLStreamHandlerFactory(new DynamicURLStreamHandlerFactory());
this.urlStreamHandlerInstalled = true;
}
Added: cocoon/trunk/subprojects/cocoon-jnet/src/main/resources/COB-INF/cocoon/spring/cocoon-jnet-collector.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/subprojects/cocoon-jnet/src/main/resources/COB-INF/cocoon/spring/cocoon-jnet-collector.xml?rev=648736&view=auto
==============================================================================
--- cocoon/trunk/subprojects/cocoon-jnet/src/main/resources/COB-INF/cocoon/spring/cocoon-jnet-collector.xml (added)
+++ cocoon/trunk/subprojects/cocoon-jnet/src/main/resources/COB-INF/cocoon/spring/cocoon-jnet-collector.xml Wed Apr 16 09:24:32 2008
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<!-- $Id$ -->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:configurator="http://cocoon.apache.org/schema/configurator"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+ http://cocoon.apache.org/schema/configurator http://cocoon.apache.org/schema/configurator/cocoon-configurator-1.0.1.xsd">
+
+ <bean id="org.apache.cocoon.jnet.URLHandlerFactoryCollector" class="org.apache.cocoon.jnet.URLHandlerFactoryCollector">
+ <property name="urlHandlerFactories">
+ <configurator:bean-map type="java.net.URLStreamHandlerFactory" strip-prefix="true" />
+ </property>
+ </bean>
+
+</beans>
Propchange: cocoon/trunk/subprojects/cocoon-jnet/src/main/resources/COB-INF/cocoon/spring/cocoon-jnet-collector.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/trunk/subprojects/cocoon-jnet/src/main/resources/COB-INF/cocoon/spring/cocoon-jnet-collector.xml
------------------------------------------------------------------------------
svn:keywords = Id
Propchange: cocoon/trunk/subprojects/cocoon-jnet/src/main/resources/COB-INF/cocoon/spring/cocoon-jnet-collector.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml