cziegeler    2003/01/31 04:38:25

  Added:       src/java/org/apache/cocoon/components/source Tag:
                        cocoon_2_0_3_branch URLRewriter.java
                        SourceUtil.java
  Log:
  Backporting session, authentication and portal framework
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.2.2.1   +0 -0      
xml-cocoon2/src/java/org/apache/cocoon/components/source/URLRewriter.java
  
  Index: URLRewriter.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/source/URLRewriter.java,v
  retrieving revision 1.2
  retrieving revision 1.2.2.1
  diff -u -r1.2 -r1.2.2.1
  
  
  
  1.19.2.1  +22 -69    
xml-cocoon2/src/java/org/apache/cocoon/components/source/SourceUtil.java
  
  Index: SourceUtil.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/source/SourceUtil.java,v
  retrieving revision 1.19
  retrieving revision 1.19.2.1
  diff -u -r1.19 -r1.19.2.1
  --- SourceUtil.java   31 Jan 2003 09:07:06 -0000      1.19
  +++ SourceUtil.java   31 Jan 2003 12:38:24 -0000      1.19.2.1
  @@ -51,9 +51,7 @@
   package org.apache.cocoon.components.source;
   
   import java.io.IOException;
  -import java.io.OutputStream;
   import java.util.Iterator;
  -import java.util.Map;
   
   import org.apache.avalon.framework.component.Component;
   import org.apache.avalon.framework.component.ComponentException;
  @@ -61,15 +59,16 @@
   import org.apache.avalon.framework.parameters.Parameters;
   import org.apache.cocoon.ProcessingException;
   import org.apache.cocoon.ResourceNotFoundException;
  +import org.apache.cocoon.environment.Source;
  +import org.apache.cocoon.environment.SourceResolver;
  +import org.apache.cocoon.environment.WriteableSource;
   import org.apache.cocoon.xml.IncludeXMLConsumer;
   import org.apache.cocoon.xml.XMLUtils;
   import org.apache.cocoon.xml.dom.DOMBuilder;
   import org.apache.cocoon.xml.dom.DOMStreamer;
  -import org.apache.excalibur.source.Source;
   import org.apache.excalibur.source.SourceException;
   import org.apache.excalibur.source.SourceNotFoundException;
   import org.apache.excalibur.source.SourceParameters;
  -import org.apache.excalibur.source.SourceResolver;
   import org.apache.excalibur.xmlizer.XMLizer;
   import org.apache.regexp.RE;
   import org.apache.regexp.RECompiler;
  @@ -133,22 +132,16 @@
                                 ContentHandler handler,
                                 ComponentManager manager )
       throws SAXException, IOException, ProcessingException {
  -        if ( source instanceof org.apache.excalibur.xml.sax.XMLizable ) {
  -            ((org.apache.excalibur.xml.sax.XMLizable)source).toSAX( handler );
  -        } else if ( source instanceof org.apache.cocoon.xml.XMLizable ) {
  +        if ( source instanceof org.apache.cocoon.xml.XMLizable ) {
               ((org.apache.cocoon.xml.XMLizable)source).toSAX( handler );
           } else {
  -            String mimeType = source.getMimeType();
  -            if ( null == mimeType) mimeType = mimeTypeHint;
               XMLizer xmlizer = null;
               try {
                   xmlizer = (XMLizer) manager.lookup( XMLizer.ROLE);
                   xmlizer.toSAX( source.getInputStream(),
  -                               mimeType,
  -                               source.getURI(),
  +                               mimeTypeHint,
  +                               source.getSystemId(),
                                  handler );
  -            } catch (SourceException se) {
  -                throw SourceUtil.handle(se);
               } catch (ComponentException ce) {
                   throw new ProcessingException("Exception during streaming source.", 
ce);
               } finally {
  @@ -214,7 +207,7 @@
   
           if (document==null) {
               throw new ProcessingException("Could not build DOM for '"+
  -                                          source.getURI()+"'");
  +                                          source.getSystemId()+"'");
           }
   
           return document;
  @@ -268,14 +261,10 @@
        */
       static public InputSource getInputSource(Source source)
         throws IOException, ProcessingException {
  -        try {
  -            final InputSource newObject = new InputSource(source.getInputStream());
  +        final InputSource newObject = new InputSource(source.getInputStream());
   
  -            newObject.setSystemId(source.getURI());
  -            return newObject;
  -        } catch (SourceException se) {
  -            throw handle(se);
  -        }
  +        newObject.setSystemId(source.getSystemId());
  +        return newObject;
       }
   
       /**
  @@ -296,7 +285,7 @@
                                       Parameters       typeParameters,
                                       SourceParameters resourceParameters,
                                       SourceResolver   resolver)
  -    throws IOException, SAXException, SourceException {
  +    throws IOException, SAXException, ProcessingException, SourceException {
   
           // first step: encode parameters which are already appended to the url
           int queryPos = uri.indexOf('?');
  @@ -360,13 +349,13 @@
                   uri = buf.toString();
               }
           }
  -        Map resolverParameters = new java.util.HashMap();
  -
  -        resolverParameters.put(SourceResolver.METHOD, method);
  -        resolverParameters.put(SourceResolver.URI_PARAMETERS,
  -                               resourceParameters);
  +        Source source = resolver.resolve(uri);
  +        if (method.equalsIgnoreCase("POST") == true
  +            && source instanceof URLSource) {
  +            ((URLSource)source).setPostParameters(resourceParameters);
  +        }
   
  -        return resolver.resolveURI(uri, null, resolverParameters);
  +        return source;
       }
   
       /**
  @@ -404,46 +393,10 @@
   
                   frag.normalize();
   
  -                if (ws instanceof WriteableSAXSource) {
  -                    ContentHandler contentHandler = ((WriteableSAXSource) 
ws).getContentHandler();
  -                    DOMStreamer streamer = new DOMStreamer(contentHandler);
  +                ContentHandler contentHandler = ws.getContentHandler();
  +                DOMStreamer streamer = new DOMStreamer(contentHandler);
   
  -                    streamer.stream(frag);
  -                } else {
  -                    // Lookup the Serializer
  -                    // FIXME (CZ) : Due to the CM hierarchy we don't get the
  -                    // correct serializer selector...
  -//                    ComponentSelector selector = null;
  -//                    Serializer serializer = null;
  -//                    OutputStream oStream = null;
  -//                    try {
  -//                        selector = 
(ComponentSelector)manager.lookup(Serializer.ROLE + "Selector");
  -//                        serializer = (Serializer)selector.select(serializerName);
  -//                        oStream = ws.getOutputStream();
  -//                        serializer.setOutputStream(oStream);
  -//                        DOMStreamer streamer = new DOMStreamer(serializer);
  -//                        streamer.stream(frag);
  -//                    } finally {
  -//                        if (oStream != null) {
  -//                            oStream.flush();
  -//                            try {
  -//                                oStream.close();
  -//                            } finally {
  -//                                if ( selector != null ) {
  -//                                    selector.release( serializer );
  -//                                    manager.release( selector );
  -//                                }
  -//                            }
  -//                        }
  -//                    }
  -                    final String content = XMLUtils.serializeNode(frag,
  -                                               
XMLUtils.defaultSerializeToXMLFormat(false));
  -                    OutputStream oStream = ws.getOutputStream();
  -
  -                    oStream.write(content.getBytes());
  -                    oStream.flush();
  -                    oStream.close();
  -                }
  +                streamer.stream(frag);
               } else {
                   // and now serializing...
                   // Lookup the Serializer
  @@ -494,7 +447,7 @@
               // } catch (ComponentException ce) {
               // throw new ProcessingException("Exception during lookup of 
component.", ce);
           } finally {
  -            resolver.release(source);
  +            if ( null != source) source.recycle();
           }
       }
   
  @@ -536,7 +489,7 @@
           } catch (SAXException ce) {
               throw new ProcessingException(ce);
           } finally {
  -            resolver.release(source);
  +            if ( null != source) source.recycle();
           }
       }
   
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to