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 2009/04/27 22:06:16 UTC

svn commit: r769137 - in /cocoon/cocoon3/trunk: cocoon-sample/src/main/resources/META-INF/cocoon/spring/ cocoon-sample/src/test/java/org/apache/cocoon/sitemap/ cocoon-servlet/src/main/java/org/apache/cocoon/servlet/ cocoon-sitemap/src/main/java/org/apa...

Author: reinhard
Date: Mon Apr 27 20:06:16 2009
New Revision: 769137

URL: http://svn.apache.org/viewvc?rev=769137&view=rev
Log:
COCOON3-34 Use the SitemapNode interface instead of the concrete implementation. This should allow 'default' interface proxies.

Added:
    cocoon/cocoon3/trunk/cocoon-sample/src/main/resources/META-INF/cocoon/spring/cocoon-sample-jaxrs.xml   (with props)
Modified:
    cocoon/cocoon3/trunk/cocoon-sample/src/main/resources/META-INF/cocoon/spring/cocoon-sample-servlet-service.xml
    cocoon/cocoon3/trunk/cocoon-sample/src/main/resources/META-INF/cocoon/spring/cocoon-sample-sitemap-components.xml
    cocoon/cocoon3/trunk/cocoon-sample/src/test/java/org/apache/cocoon/sitemap/SitemapBuilderTest.java
    cocoon/cocoon3/trunk/cocoon-servlet/src/main/java/org/apache/cocoon/servlet/XMLSitemapServlet.java
    cocoon/cocoon3/trunk/cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/SitemapBuilder.java

Added: cocoon/cocoon3/trunk/cocoon-sample/src/main/resources/META-INF/cocoon/spring/cocoon-sample-jaxrs.xml
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-sample/src/main/resources/META-INF/cocoon/spring/cocoon-sample-jaxrs.xml?rev=769137&view=auto
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-sample/src/main/resources/META-INF/cocoon/spring/cocoon-sample-jaxrs.xml (added)
+++ cocoon/cocoon3/trunk/cocoon-sample/src/main/resources/META-INF/cocoon/spring/cocoon-sample-jaxrs.xml Mon Apr 27 20:06:16 2009
@@ -0,0 +1,29 @@
+<?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 id="org.apache.cocoon.sample.rest.resource.one" class="org.apache.cocoon.sample.jaxrs.SampleRestResource">
+    <property name="settings" ref="org.apache.cocoon.configuration.Settings" />
+  </bean>
+  <bean id="org.apache.cocoon.sample.rest.resource.two" class="org.apache.cocoon.sample.jaxrs.Sample2RestResource" />
+  
+</beans>

Propchange: cocoon/cocoon3/trunk/cocoon-sample/src/main/resources/META-INF/cocoon/spring/cocoon-sample-jaxrs.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/cocoon3/trunk/cocoon-sample/src/main/resources/META-INF/cocoon/spring/cocoon-sample-jaxrs.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: cocoon/cocoon3/trunk/cocoon-sample/src/main/resources/META-INF/cocoon/spring/cocoon-sample-jaxrs.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: cocoon/cocoon3/trunk/cocoon-sample/src/main/resources/META-INF/cocoon/spring/cocoon-sample-servlet-service.xml
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-sample/src/main/resources/META-INF/cocoon/spring/cocoon-sample-servlet-service.xml?rev=769137&r1=769136&r2=769137&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-sample/src/main/resources/META-INF/cocoon/spring/cocoon-sample-servlet-service.xml (original)
+++ cocoon/cocoon3/trunk/cocoon-sample/src/main/resources/META-INF/cocoon/spring/cocoon-sample-servlet-service.xml Mon Apr 27 20:06:16 2009
@@ -21,11 +21,30 @@
 <beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:servlet="http://cocoon.apache.org/schema/servlet"
+  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/servlet http://cocoon.apache.org/schema/servlet/cocoon-servlet-1.0.xsd">
-
+                      http://cocoon.apache.org/schema/servlet http://cocoon.apache.org/schema/servlet/cocoon-servlet-1.0.xsd
+                      http://cocoon.apache.org/schema/configurator file:///O:/os/cocoon/trunk/subprojects/cocoon-configuration/cocoon-spring-configurator/src/main/resources/org/apache/cocoon/spring/configurator/schema/cocoon-configurator-2.1.0.xsd">
+  
+  <!-- A Cocoon-Sitemap based servlet-service. -->
   <bean id="org.apache.cocoon.sample.servlet" class="org.apache.cocoon.servlet.XMLSitemapServlet">
-    <servlet:context mount-path="" context-path="blockcontext:/cocoon-sample/"/>
+    <servlet:context mount-path="" context-path="blockcontext:/cocoon-sample/">      
+    </servlet:context>
+  </bean>
+  
+  <!-- A servlet-service that exposes JAX-RS REST endpoints. -->
+  <bean id="org.apache.cocoon.sample.rest.servlet" class="org.apache.cocoon.rest.jaxrs.container.CocoonJAXRSServlet">
+    <servlet:context mount-path="/jax-rs" context-path="blockcontext:/cocoon-sample/">
+      <servlet:connections>
+        <entry key="sample" value-ref="org.apache.cocoon.sample.servlet" />
+      </servlet:connections>      
+    </servlet:context>
+    
+    <property name="restResourcesList">
+      <list>
+        <ref bean="org.apache.cocoon.sample.rest.resource.one" />
+        <ref bean="org.apache.cocoon.sample.rest.resource.two" />
+      </list>
+    </property>
   </bean>
-
 </beans>

Modified: cocoon/cocoon3/trunk/cocoon-sample/src/main/resources/META-INF/cocoon/spring/cocoon-sample-sitemap-components.xml
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-sample/src/main/resources/META-INF/cocoon/spring/cocoon-sample-sitemap-components.xml?rev=769137&r1=769136&r2=769137&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-sample/src/main/resources/META-INF/cocoon/spring/cocoon-sample-sitemap-components.xml (original)
+++ cocoon/cocoon3/trunk/cocoon-sample/src/main/resources/META-INF/cocoon/spring/cocoon-sample-sitemap-components.xml Mon Apr 27 20:06:16 2009
@@ -23,7 +23,7 @@
 
   <bean name="action:error-throwing" class="org.apache.cocoon.sample.action.ErrorThrowingAction" scope="prototype" />
   
-  <bean name="generator:timestamp-caching" class="org.apache.cocoon.sample.generation.CachingTimestampGenerator" scope="prototype" />
+  <bean name="generator:timestamp-caching" class="org.apache.cocoon.sample.generation.CachingTimestampGenerator" />
   
   <bean name="generator:timestamp-noncaching" class="org.apache.cocoon.sample.generation.TimestampGenerator" scope="prototype" />
 </beans>

Modified: cocoon/cocoon3/trunk/cocoon-sample/src/test/java/org/apache/cocoon/sitemap/SitemapBuilderTest.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-sample/src/test/java/org/apache/cocoon/sitemap/SitemapBuilderTest.java?rev=769137&r1=769136&r2=769137&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-sample/src/test/java/org/apache/cocoon/sitemap/SitemapBuilderTest.java (original)
+++ cocoon/cocoon3/trunk/cocoon-sample/src/test/java/org/apache/cocoon/sitemap/SitemapBuilderTest.java Mon Apr 27 20:06:16 2009
@@ -30,14 +30,14 @@
 import org.apache.cocoon.servlet.node.StatusCodeCollector;
 import org.apache.cocoon.servlet.util.HttpContextHelper;
 import org.apache.cocoon.sitemap.node.InvocationResult;
-import org.apache.cocoon.sitemap.node.Sitemap;
+import org.apache.cocoon.sitemap.node.SitemapNode;
 import org.apache.cocoon.sitemap.objectmodel.ObjectModel;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
 public class SitemapBuilderTest extends TestCase {
 
-    private Sitemap sitemap;
+    private SitemapNode sitemap;
     private SitemapBuilder sitemapBuilder;
     private ComponentProvider componentProvider;
 

Modified: cocoon/cocoon3/trunk/cocoon-servlet/src/main/java/org/apache/cocoon/servlet/XMLSitemapServlet.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-servlet/src/main/java/org/apache/cocoon/servlet/XMLSitemapServlet.java?rev=769137&r1=769136&r2=769137&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-servlet/src/main/java/org/apache/cocoon/servlet/XMLSitemapServlet.java (original)
+++ cocoon/cocoon3/trunk/cocoon-servlet/src/main/java/org/apache/cocoon/servlet/XMLSitemapServlet.java Mon Apr 27 20:06:16 2009
@@ -60,7 +60,7 @@
     private boolean initialized;
     private final Log logger = LogFactory.getLog(this.getClass());
     private ServletConfig servletConfig;
-    private SitemapNode sitemap;
+    private SitemapNode sitemapNode;
     private String version = "";
 
     @Override
@@ -80,7 +80,7 @@
         invocation.setOutputStream(outputStream);
         invocation.setObjectModel(ObjectModelProvider.provide(parameters));
 
-        this.sitemap.invoke(invocation);
+        this.sitemapNode.invoke(invocation);
     }
 
     public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
@@ -242,7 +242,7 @@
                 SitemapBuilder sitemapBuilder = (SitemapBuilder) this.beanFactory.getBean(SitemapBuilder.class
                         .getName());
                 URL url = this.servletConfig.getServletContext().getResource(this.getSitemapPath());
-                this.sitemap = sitemapBuilder.build(url);
+                this.sitemapNode = sitemapBuilder.build(url);
             } catch (Exception e) {
                 throw this.wrapException(e, "An exception occurred while building the sitemap.");
             }

Modified: cocoon/cocoon3/trunk/cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/SitemapBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/SitemapBuilder.java?rev=769137&r1=769136&r2=769137&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/SitemapBuilder.java (original)
+++ cocoon/cocoon3/trunk/cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/SitemapBuilder.java Mon Apr 27 20:06:16 2009
@@ -26,7 +26,6 @@
 import javax.xml.parsers.SAXParser;
 import javax.xml.parsers.SAXParserFactory;
 
-import org.apache.cocoon.sitemap.node.Sitemap;
 import org.apache.cocoon.sitemap.node.SitemapNode;
 import org.apache.cocoon.sitemap.node.SitemapNodeFactory;
 import org.xml.sax.Attributes;
@@ -38,7 +37,7 @@
 
     private SitemapNodeFactory sitemapNodeFactory;
 
-    public Sitemap build(URL sitemap) throws Exception {
+    public SitemapNode build(URL sitemap) throws Exception {
         SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
         saxParserFactory.setNamespaceAware(true);
         // saxParserFactory.setSchema(SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema").newSchema());
@@ -64,7 +63,7 @@
     class SitemapHandler extends DefaultHandler {
 
         private SitemapNode currentNode;
-        private Sitemap sitemap;
+        private SitemapNode sitemap;
 
         @Override
         public void endElement(String uri, String localName, String name) {
@@ -80,7 +79,7 @@
             throw e;
         }
 
-        public Sitemap getSitemap() {
+        public SitemapNode getSitemap() {
             return this.sitemap;
         }
 
@@ -88,7 +87,7 @@
         public void startElement(String uri, String localName, String name, Attributes attributes) {
             if (this.currentNode == null) {
                 if (localName.equals("sitemap")) {
-                    this.sitemap = (Sitemap) SitemapBuilder.this.createSitemapNode(localName, null);
+                    this.sitemap = SitemapBuilder.this.createSitemapNode(localName, null);
                     this.currentNode = this.sitemap;
                     return;
                 }