juergen     2003/04/02 06:49:34

  Modified:    
testsuite/testsuite/junit/src/org/apache/slide/testsuite/testtools/tprocessor
                        TProcessors.java
  Log:
  the allow header may be sorted in various ways 9depending on the used server or Java 
version). ignore the sequence.
  
  Revision  Changes    Path
  1.49      +42 -49    
jakarta-slide/testsuite/testsuite/junit/src/org/apache/slide/testsuite/testtools/tprocessor/TProcessors.java
  
  Index: TProcessors.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/testsuite/testsuite/junit/src/org/apache/slide/testsuite/testtools/tprocessor/TProcessors.java,v
  retrieving revision 1.48
  retrieving revision 1.49
  diff -u -r1.48 -r1.49
  --- TProcessors.java  21 Mar 2003 13:01:40 -0000      1.48
  +++ TProcessors.java  2 Apr 2003 14:49:33 -0000       1.49
  @@ -64,25 +64,10 @@
   package org.apache.slide.testsuite.testtools.tprocessor;
   
   //java
  -import java.io.BufferedReader;
  -import java.io.ByteArrayInputStream;
  -import java.io.File;
  -import java.io.FileInputStream;
  -import java.io.InputStream;
  -import java.io.InputStreamReader;
  -import java.io.PrintStream;
  -import java.io.Reader;
  -import java.io.StringReader;
  -import java.io.StringWriter;
  -import java.io.UnsupportedEncodingException;
  -import java.util.ArrayList;
  -import java.util.Date;
  -import java.util.Hashtable;
  -import java.util.Iterator;
  -import java.util.List;
  -import java.util.Stack;
  -import java.util.StringTokenizer;
  -import java.util.Vector;
  +import java.io.*;
  +import java.util.*;
  +import org.apache.webdav.lib.methods.*;
  +
   import org.apache.commons.httpclient.Credentials;
   import org.apache.commons.httpclient.Header;
   import org.apache.commons.httpclient.HttpClient;
  @@ -93,31 +78,6 @@
   import org.apache.util.URLUtil;
   import org.apache.util.WebdavStatus;
   import org.apache.webdav.lib.WebdavState;
  -import org.apache.webdav.lib.methods.AclMethod;
  -import org.apache.webdav.lib.methods.CheckinMethod;
  -import org.apache.webdav.lib.methods.CheckoutMethod;
  -import org.apache.webdav.lib.methods.CopyMethod;
  -import org.apache.webdav.lib.methods.DeleteMethod;
  -import org.apache.webdav.lib.methods.GetMethod;
  -import org.apache.webdav.lib.methods.HeadMethod;
  -import org.apache.webdav.lib.methods.HttpRequestBodyMethodBase;
  -import org.apache.webdav.lib.methods.LabelMethod;
  -import org.apache.webdav.lib.methods.LockMethod;
  -import org.apache.webdav.lib.methods.MkWorkspaceMethod;
  -import org.apache.webdav.lib.methods.MkcolMethod;
  -import org.apache.webdav.lib.methods.MoveMethod;
  -import org.apache.webdav.lib.methods.OptionsMethod;
  -import org.apache.webdav.lib.methods.PostMethod;
  -import org.apache.webdav.lib.methods.PropFindMethod;
  -import org.apache.webdav.lib.methods.PropPatchMethod;
  -import org.apache.webdav.lib.methods.PutMethod;
  -import org.apache.webdav.lib.methods.ReportMethod;
  -import org.apache.webdav.lib.methods.SearchMethod;
  -import org.apache.webdav.lib.methods.UncheckoutMethod;
  -import org.apache.webdav.lib.methods.UnlockMethod;
  -import org.apache.webdav.lib.methods.UpdateMethod;
  -import org.apache.webdav.lib.methods.VersionControlMethod;
  -import org.apache.webdav.lib.methods.XMLResponseMethodBase;
   import org.jdom.Element;
   import org.jdom.JDOMException;
   import org.jdom.input.SAXBuilder;
  @@ -1155,7 +1115,40 @@
           boolean result = false;
           result = received != null &&
                      (expected.getValue().equals("*") ||
  -                                             
received.getValue().equalsIgnoreCase(expected.getValue()));
  +                        compareOneHeader(expected, received));
  +        return result;
  +    }
  +
  +
  +
  +    private boolean  compareOneHeader(Header expected, Header received){
  +        boolean result = false;
  +        if (expected.getName().equals("Allow")) {
  +            result = compareAllowHeader(expected, received);
  +        } else {
  +            result = received.getValue().equalsIgnoreCase(expected.getValue());
  +        }
  +        return result;
  +    }
  +
  +
  +
  +    private boolean  compareAllowHeader(Header expected, Header received){
  +        boolean result = false;
  +        HashSet expList = tokeniseCommaList(expected.getValue());
  +        HashSet recList = tokeniseCommaList(received.getValue());
  +        result = expList.equals(expList);
  +        return result;
  +    }
  +
  +    private HashSet tokeniseCommaList(String value){
  +        HashSet result = new HashSet();
  +        StringTokenizer iter = new StringTokenizer(value, ",");
  +        while (iter.hasMoreElements())
  +        {
  +            String element = (String)iter.nextElement();
  +            result.add(element);
  +        }
           return result;
       }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to