Return-Path: Delivered-To: apmail-cocoon-cvs-archive@www.apache.org Received: (qmail 19875 invoked from network); 14 Apr 2008 15:36:07 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 14 Apr 2008 15:36:07 -0000 Received: (qmail 16182 invoked by uid 500); 14 Apr 2008 15:36:07 -0000 Delivered-To: apmail-cocoon-cvs-archive@cocoon.apache.org Received: (qmail 16116 invoked by uid 500); 14 Apr 2008 15:36:07 -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 16104 invoked by uid 99); 14 Apr 2008 15:36:07 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 14 Apr 2008 08:36:07 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED 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, 14 Apr 2008 15:35:24 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 950C91A983A; Mon, 14 Apr 2008 08:35:37 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r647853 - in /cocoon/whiteboard/corona/trunk/corona-controller: ./ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/cocoon/ src/main/java/org/apache/cocoon/corona/ src/main/java/org/apache/... Date: Mon, 14 Apr 2008 15:35:31 -0000 To: cvs@cocoon.apache.org From: reinhard@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080414153537.950C91A983A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: reinhard Date: Mon Apr 14 08:35:27 2008 New Revision: 647853 URL: http://svn.apache.org/viewvc?rev=647853&view=rev Log: . move controller implementation into a separate module Added: cocoon/whiteboard/corona/trunk/corona-controller/ (with props) cocoon/whiteboard/corona/trunk/corona-controller/pom.xml (with props) cocoon/whiteboard/corona/trunk/corona-controller/src/ cocoon/whiteboard/corona/trunk/corona-controller/src/main/ cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/ cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/ cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/ cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/ cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/ cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/ cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/Controller.java (with props) cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/DemoControllerDispatcher.java (with props) cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/SpringControllerComponent.java (with props) cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/node/ cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/node/CallNode.java - copied, changed from r644238, cocoon/whiteboard/corona/trunk/corona-sitemap/src/main/java/org/apache/cocoon/corona/sitemap/node/CallNode.java cocoon/whiteboard/corona/trunk/corona-controller/src/main/resources/ cocoon/whiteboard/corona/trunk/corona-controller/src/main/resources/META-INF/ cocoon/whiteboard/corona/trunk/corona-controller/src/main/resources/META-INF/cocoon/ cocoon/whiteboard/corona/trunk/corona-controller/src/main/resources/META-INF/cocoon/spring/ cocoon/whiteboard/corona/trunk/corona-controller/src/main/resources/META-INF/cocoon/spring/corona-controller.xml (with props) cocoon/whiteboard/corona/trunk/corona-controller/src/main/resources/corona-controller-1.0.xsd (with props) cocoon/whiteboard/corona/trunk/corona-controller/src/test/ cocoon/whiteboard/corona/trunk/corona-controller/src/test/java/ cocoon/whiteboard/corona/trunk/corona-controller/src/test/resources/ Propchange: cocoon/whiteboard/corona/trunk/corona-controller/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Mon Apr 14 08:35:27 2008 @@ -0,0 +1,4 @@ +.settings +target +.classpath +.project Added: cocoon/whiteboard/corona/trunk/corona-controller/pom.xml URL: http://svn.apache.org/viewvc/cocoon/whiteboard/corona/trunk/corona-controller/pom.xml?rev=647853&view=auto ============================================================================== --- cocoon/whiteboard/corona/trunk/corona-controller/pom.xml (added) +++ cocoon/whiteboard/corona/trunk/corona-controller/pom.xml Mon Apr 14 08:35:27 2008 @@ -0,0 +1,51 @@ + + + + + + 4.0.0 + jar + + + org.apache.cocoon + corona-parent + 1-SNAPSHOT + ../parent/pom.xml + + + corona-controller + 1.0.0-SNAPSHOT + Cocoon Corona: Controller [jar] + Controller for Corona sitemaps. + + + + org.apache.cocoon + corona-sitemap + + + junit + junit + test + + + + Propchange: cocoon/whiteboard/corona/trunk/corona-controller/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: cocoon/whiteboard/corona/trunk/corona-controller/pom.xml ------------------------------------------------------------------------------ svn:keywords = Id Propchange: cocoon/whiteboard/corona/trunk/corona-controller/pom.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Added: cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/Controller.java URL: http://svn.apache.org/viewvc/cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/Controller.java?rev=647853&view=auto ============================================================================== --- cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/Controller.java (added) +++ cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/Controller.java Mon Apr 14 08:35:27 2008 @@ -0,0 +1,28 @@ +/* + * 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.corona.controller; + +import java.io.OutputStream; +import java.util.Map; + +public interface Controller { + + void invoke(OutputStream outputStream, String string, Map parameters); + +} Propchange: cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/Controller.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/Controller.java ------------------------------------------------------------------------------ svn:keywords = Id Propchange: cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/Controller.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/DemoControllerDispatcher.java URL: http://svn.apache.org/viewvc/cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/DemoControllerDispatcher.java?rev=647853&view=auto ============================================================================== --- cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/DemoControllerDispatcher.java (added) +++ cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/DemoControllerDispatcher.java Mon Apr 14 08:35:27 2008 @@ -0,0 +1,62 @@ +/* + * 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.corona.controller; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URL; +import java.util.Map; + +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; + +public class DemoControllerDispatcher implements Controller, ApplicationContextAware { + + private ApplicationContext applicationContext; + + public void invoke(OutputStream outputStream, String select, Map parameters) { + try { +// URL url = new URL("servlet:/read/javascript-resource-explicit"); + URL url = new URL("http://www.springframework.org/schema/context/spring-context-2.5.xsd"); + InputStream inputStream = url.openStream(); + + byte[] data = new byte[10240]; + while (true) { + int bytesRead = inputStream.read(data); + + if (bytesRead == -1) { + break; + } + + outputStream.write(data, 0, bytesRead); + } + + inputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + throw new RuntimeException(e); + } + } + + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + this.applicationContext = applicationContext; + } +} Propchange: cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/DemoControllerDispatcher.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/DemoControllerDispatcher.java ------------------------------------------------------------------------------ svn:keywords = Id Propchange: cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/DemoControllerDispatcher.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/SpringControllerComponent.java URL: http://svn.apache.org/viewvc/cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/SpringControllerComponent.java?rev=647853&view=auto ============================================================================== --- cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/SpringControllerComponent.java (added) +++ cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/SpringControllerComponent.java Mon Apr 14 08:35:27 2008 @@ -0,0 +1,65 @@ +/* + * 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.corona.controller; + +import java.io.OutputStream; +import java.util.Map; + +import org.apache.cocoon.corona.pipeline.component.Finisher; +import org.apache.cocoon.corona.pipeline.component.Starter; +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; + +public class SpringControllerComponent implements Starter, Finisher, ApplicationContextAware { + + private ApplicationContext applicationContext; + private OutputStream outputStream; + private Map parameters; + private String beanName; + private String selector; + + public void execute() { + Controller controller = (Controller) this.applicationContext.getBean(Controller.class.getName() + "/" + + this.beanName, Controller.class); + controller.invoke(this.outputStream, this.selector, this.parameters); + } + + public String getContentType() { + return null; + } + + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + this.applicationContext = applicationContext; + } + + public void setConfiguration(Map configuration) { + this.beanName = (String) configuration.get("controller"); + this.selector = (String) configuration.get("select"); + } + + public void setInputParameters(Map parameters) { + this.parameters = parameters; + } + + public void setOutputStream(OutputStream outputStream) { + this.outputStream = outputStream; + } +} + Propchange: cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/SpringControllerComponent.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/SpringControllerComponent.java ------------------------------------------------------------------------------ svn:keywords = Id Propchange: cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/SpringControllerComponent.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Copied: cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/node/CallNode.java (from r644238, cocoon/whiteboard/corona/trunk/corona-sitemap/src/main/java/org/apache/cocoon/corona/sitemap/node/CallNode.java) URL: http://svn.apache.org/viewvc/cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/node/CallNode.java?p2=cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/node/CallNode.java&p1=cocoon/whiteboard/corona/trunk/corona-sitemap/src/main/java/org/apache/cocoon/corona/sitemap/node/CallNode.java&r1=644238&r2=647853&rev=647853&view=diff ============================================================================== --- cocoon/whiteboard/corona/trunk/corona-sitemap/src/main/java/org/apache/cocoon/corona/sitemap/node/CallNode.java (original) +++ cocoon/whiteboard/corona/trunk/corona-controller/src/main/java/org/apache/cocoon/corona/controller/node/CallNode.java Mon Apr 14 08:35:27 2008 @@ -16,9 +16,27 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.cocoon.corona.sitemap.node; +package org.apache.cocoon.corona.controller.node; + +import java.util.HashMap; +import java.util.Map; + +import org.apache.cocoon.corona.sitemap.Invocation; +import org.apache.cocoon.corona.sitemap.node.AbstractSitemapNode; +import org.apache.cocoon.corona.sitemap.node.InvocationResult; +import org.apache.cocoon.corona.sitemap.node.Node; +import org.apache.cocoon.corona.sitemap.node.annotations.Parameter; @Node(name="call") public class CallNode extends AbstractSitemapNode { + @Parameter + private String wrapperType = "default"; + + @Override + public InvocationResult invoke(Invocation invocation) { + Map parameters = new HashMap(this.getParameters()); + invocation.installComponent("controller:" + this.wrapperType, parameters); + return InvocationResult.COMPLETED; + } } Added: cocoon/whiteboard/corona/trunk/corona-controller/src/main/resources/META-INF/cocoon/spring/corona-controller.xml URL: http://svn.apache.org/viewvc/cocoon/whiteboard/corona/trunk/corona-controller/src/main/resources/META-INF/cocoon/spring/corona-controller.xml?rev=647853&view=auto ============================================================================== --- cocoon/whiteboard/corona/trunk/corona-controller/src/main/resources/META-INF/cocoon/spring/corona-controller.xml (added) +++ cocoon/whiteboard/corona/trunk/corona-controller/src/main/resources/META-INF/cocoon/spring/corona-controller.xml Mon Apr 14 08:35:27 2008 @@ -0,0 +1,28 @@ + + + + + + + + + + Propchange: cocoon/whiteboard/corona/trunk/corona-controller/src/main/resources/META-INF/cocoon/spring/corona-controller.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: cocoon/whiteboard/corona/trunk/corona-controller/src/main/resources/META-INF/cocoon/spring/corona-controller.xml ------------------------------------------------------------------------------ svn:keywords = Id Propchange: cocoon/whiteboard/corona/trunk/corona-controller/src/main/resources/META-INF/cocoon/spring/corona-controller.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Added: cocoon/whiteboard/corona/trunk/corona-controller/src/main/resources/corona-controller-1.0.xsd URL: http://svn.apache.org/viewvc/cocoon/whiteboard/corona/trunk/corona-controller/src/main/resources/corona-controller-1.0.xsd?rev=647853&view=auto ============================================================================== --- cocoon/whiteboard/corona/trunk/corona-controller/src/main/resources/corona-controller-1.0.xsd (added) +++ cocoon/whiteboard/corona/trunk/corona-controller/src/main/resources/corona-controller-1.0.xsd Mon Apr 14 08:35:27 2008 @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + Propchange: cocoon/whiteboard/corona/trunk/corona-controller/src/main/resources/corona-controller-1.0.xsd ------------------------------------------------------------------------------ svn:eol-style = native Propchange: cocoon/whiteboard/corona/trunk/corona-controller/src/main/resources/corona-controller-1.0.xsd ------------------------------------------------------------------------------ svn:keywords = Id Propchange: cocoon/whiteboard/corona/trunk/corona-controller/src/main/resources/corona-controller-1.0.xsd ------------------------------------------------------------------------------ svn:mime-type = text/xml