View Javadoc

1   /*
2    * Copyright 2005 The Apache Software Foundation
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.apache.pluto.descriptors.services.impl;
17  
18  import java.io.IOException;
19  import java.io.InputStream;
20  import java.io.OutputStream;
21  import java.net.URL;
22  
23  import javax.servlet.ServletContext;
24  
25  
26  /***
27   * Portlet Application Deployment Descriptor Service which
28   * retrieves reads the descriptor from the ServletContext.
29   *
30   * @author <a href="ddewolf@apache.org">David H. DeWolf</a>
31   * @version $Id: ContextPortletAppDescriptorServiceImpl.java 156743 2005-03-10 05:50:30Z ddewolf $
32   * @since Mar 5, 2005
33   */
34  public class ContextPortletAppDescriptorServiceImpl extends AbstractPortletAppDescriptorService {
35      
36      public static final String PORTLET_XML_URI =  "/WEB-INF/portlet.xml";
37  
38      private ServletContext ctx;
39  
40      public ContextPortletAppDescriptorServiceImpl(ServletContext ctx) {
41          super(ctx.getServletContextName());
42          this.ctx = ctx;
43      }
44  
45      protected InputStream getInputStream()
46      throws IOException {
47          return ctx.getResourceAsStream(PORTLET_XML_URI);
48      }
49  
50      protected OutputStream getOutputStream()
51      throws IOException {
52          URL url = ctx.getResource(PORTLET_XML_URI);
53          return url.openConnection().getOutputStream();
54      }
55  }
56