haul        2003/06/08 11:07:11

  Modified:    src/java/org/apache/cocoon/components/modules/input
                        BaseLinkModule.java
  Log:
  Kudos to volker.schmitt.at.basf-it-services.com for this patch
  
  Revision  Changes    Path
  1.3       +39 -33    
cocoon-2.1/src/java/org/apache/cocoon/components/modules/input/BaseLinkModule.java
  
  Index: BaseLinkModule.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/java/org/apache/cocoon/components/modules/input/BaseLinkModule.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- BaseLinkModule.java       4 Jun 2003 13:06:48 -0000       1.2
  +++ BaseLinkModule.java       8 Jun 2003 18:07:11 -0000       1.3
  @@ -52,7 +52,6 @@
   package org.apache.cocoon.components.modules.input;
   
   import java.util.Iterator;
  -import java.util.LinkedList;
   import java.util.Map;
   import java.util.Vector;
   
  @@ -74,52 +73,59 @@
   public class BaseLinkModule extends AbstractInputModule implements ThreadSafe {
   
       final static Vector returnNames = new Vector() {
  -            {
  -                add("RequestBaseLink");
  -                add("SitemapBaseLink");
  -            }
  -        };
  -    
  -    public Object getAttribute(final String name, final Configuration modeConf, 
final Map objectModel ) throws ConfigurationException {
  -        
  -     String uri;
  -     if (name.equals("SitemapBaseLink"))
  +        {
  +            add("RequestBaseLink");
  +            add("SitemapBaseLink");
  +        }
  +    };
  +
  +    public Object getAttribute(
  +        final String name,
  +        final Configuration modeConf,
  +        final Map objectModel)
  +        throws ConfigurationException {
  +
  +        String uri;
  +        if (name.equals("SitemapBaseLink"))
               uri = ObjectModelHelper.getRequest(objectModel).getSitemapURI();
  -     else if (name.equals("RequestBaseLink"))
  +        else if (name.equals("RequestBaseLink"))
               uri = ObjectModelHelper.getRequest(objectModel).getRequestURI();
  -     else uri = "";
  -        
  +        else
  +            uri = "";
  +
           if (uri.startsWith("/")) {
               uri = uri.substring(1);
           }
  -        
  +
           StringBuffer result = new StringBuffer(uri.length());
  -        
  +
           int nextIndex = 0;
  -        while ((nextIndex = uri.indexOf ('/', nextIndex) + 1) > 0) {
  +        while ((nextIndex = uri.indexOf('/', nextIndex) + 1) > 0) {
               result.append("../");
           }
  -        
  +
           if (getLogger().isDebugEnabled())
  -            getLogger().debug ("Returns " + result + " for uri " + uri + " and 
attribute " + name);
  -        
  +            getLogger().debug("Returns " + result + " for uri " + uri + " and 
attribute " + name);
  +
           return result.toString();
       }
  -    
  -    
  -    public Iterator getAttributeNames(final Configuration modeConf, final Map 
objectModel) throws ConfigurationException {
  -        
  +
  +    public Iterator getAttributeNames(final Configuration modeConf, final Map 
objectModel)
  +        throws ConfigurationException {
  +
           return RequestURIModule.returnNames.iterator();
       }
  -    
  -    public Object[] getAttributeValues(final String name, final Configuration 
modeConf, final Map objectModel )
  +
  +    public Object[] getAttributeValues(
  +        final String name,
  +        final Configuration modeConf,
  +        final Map objectModel)
           throws ConfigurationException {
  -        
  -        return (new LinkedList() {
  -                {
  -                    add(getAttribute(name, modeConf, objectModel) );
  -                }
  -            }).toArray();
  +
  +        Object[] result = new Object[1];
  +        result[0] = getAttribute(name, modeConf, objectModel);
  +        return result;
  +
       }
  -    
  +
   }
  
  
  

Reply via email to