Return-Path: Delivered-To: apmail-cocoon-cvs-archive@www.apache.org Received: (qmail 38879 invoked from network); 27 Mar 2006 21:57:29 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 27 Mar 2006 21:57:29 -0000 Received: (qmail 62255 invoked by uid 500); 27 Mar 2006 21:57:23 -0000 Delivered-To: apmail-cocoon-cvs-archive@cocoon.apache.org Received: (qmail 62167 invoked by uid 500); 27 Mar 2006 21:57:23 -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 62139 invoked by uid 99); 27 Mar 2006 21:57:23 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 27 Mar 2006 13:57:23 -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 [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Mon, 27 Mar 2006 13:57:22 -0800 Received: (qmail 38604 invoked by uid 65534); 27 Mar 2006 21:57:02 -0000 Message-ID: <20060327215702.38603.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r389300 - in /cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-demo1/src/main/java/org/apache/cocoon/blocks/demo1: ./ TestServlet2.java Date: Mon, 27 Mar 2006 21:57:01 -0000 To: cvs@cocoon.apache.org From: danielf@apache.org X-Mailer: svnmailer-1.0.7 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: danielf Date: Mon Mar 27 13:57:00 2006 New Revision: 389300 URL: http://svn.apache.org/viewcvs?rev=389300&view=rev Log: Split the demo on two blocks to be able to test starting and stopping the blocks independently (it worked). Part IV Added: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-demo1/src/main/java/org/apache/cocoon/blocks/demo1/ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-demo1/src/main/java/org/apache/cocoon/blocks/demo1/TestServlet2.java Added: cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-demo1/src/main/java/org/apache/cocoon/blocks/demo1/TestServlet2.java URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-demo1/src/main/java/org/apache/cocoon/blocks/demo1/TestServlet2.java?rev=389300&view=auto ============================================================================== --- cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-demo1/src/main/java/org/apache/cocoon/blocks/demo1/TestServlet2.java (added) +++ cocoon/trunk/cocoon-blocks-fw/cocoon-blocks-fw-demo1/src/main/java/org/apache/cocoon/blocks/demo1/TestServlet2.java Mon Mar 27 13:57:00 2006 @@ -0,0 +1,81 @@ +/* + * Copyright 1999-2005 The Apache Software Foundation. + * + * Licensed 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.blocks.demo1; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.PrintWriter; +import java.net.URL; +import java.net.URLConnection; + +import javax.servlet.RequestDispatcher; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * @version $Id: TestServlet2.java 388756 2006-03-25 13:43:42Z danielf $ + */ +public class TestServlet2 extends HttpServlet { + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + String path = request.getPathInfo(); + + if ("/test1".equals(path)) { + response.setContentType("text/plain"); + String attr = this.getInitParameter("foo"); + PrintWriter writer = response.getWriter(); + writer.println("Demo1.1 " + attr); + writer.close(); + } else if ("/test2".equals(path)) { + RequestDispatcher demo2 = this.getServletContext().getNamedDispatcher("demo2"); + demo2.forward(request, response); + } else if ("/test3".equals(path)) { + URL url = new URL("block:/test1"); + URLConnection conn = url.openConnection(); + InputStream is = conn.getInputStream(); + + response.setContentType("text/plain"); + OutputStream os = response.getOutputStream(); + + copy(is, os); + is.close(); + os.close(); + } else if ("/test4".equals(path)) { + URL url = new URL("block:demo2:/any"); + URLConnection conn = url.openConnection(); + InputStream is = conn.getInputStream(); + + response.setContentType("text/plain"); + OutputStream os = response.getOutputStream(); + + copy(is, os); + is.close(); + os.close(); + } else { + throw new ServletException("Unknown path " + path); + } + } + + private static void copy(InputStream is, OutputStream os) throws IOException { + int bytesRead = 0; + byte buffer[] = new byte[512]; + while ((bytesRead = is.read(buffer)) != -1) + os.write(buffer, 0, bytesRead); + } +}