[xgws-dev] CVS Update: codes/xsul/java/modules/xhandler_soap_sticky_header/xsul/xhandler_soap_sticky_header

Aleksander Andrzej Slominski xgws-dev_at_extreme.indiana.edu
Mon Jun 5 16:14:01 2006


aslom       06/06/05 16:13:48

  Modified:    xsul/java/generated/java_interfaces/xsul/xpola/capman
                        CapmanPortType.java RequestmanPortType.java
               xsul/java/generated/java_interfaces/xsul/xpola/groupman
                        GroupmanPortType.java
               xsul/java/modules/common/xsul XsulVersion.java
               xsul/java/modules/monitoring/xsul/monitoring
                        XsulMonitoringUtil.java
               xsul/java/modules/xhandler_soap_sticky_header/xsul/xhandler_soap_sticky_header
                        StickySoapHeaderHandler.java
  Log:
  fixed problem with too "sticky" headers
  
  Revision  Changes    Path
  1.11      +1 -1      codes/xsul/java/generated/java_interfaces/xsul/xpola/capman/CapmanPortType.java
  
  Index: CapmanPortType.java
  ===================================================================
  RCS file: /l/extreme/cvs/codes/xsul/java/generated/java_interfaces/xsul/xpola/capman/CapmanPortType.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -b -t -w -r1.10 -r1.11
  --- CapmanPortType.java	31 May 2006 07:31:07 -0000	1.10
  +++ CapmanPortType.java	5 Jun 2006 20:13:48 -0000	1.11
  @@ -1,4 +1,4 @@
  -/* DO NOT MODIFY!!!! This file was generated automatically by xwsdlc (version 2.6.1_1) */
  +/* DO NOT MODIFY!!!! This file was generated automatically by xwsdlc (version 2.6.2_dev) */
   package xsul.xpola.capman;
   import javax.xml.namespace.QName;
   public interface CapmanPortType {
  
  
  
  1.6       +1 -1      codes/xsul/java/generated/java_interfaces/xsul/xpola/capman/RequestmanPortType.java
  
  Index: RequestmanPortType.java
  ===================================================================
  RCS file: /l/extreme/cvs/codes/xsul/java/generated/java_interfaces/xsul/xpola/capman/RequestmanPortType.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -b -t -w -r1.5 -r1.6
  --- RequestmanPortType.java	31 May 2006 07:31:08 -0000	1.5
  +++ RequestmanPortType.java	5 Jun 2006 20:13:48 -0000	1.6
  @@ -1,4 +1,4 @@
  -/* DO NOT MODIFY!!!! This file was generated automatically by xwsdlc (version 2.6.1_1) */
  +/* DO NOT MODIFY!!!! This file was generated automatically by xwsdlc (version 2.6.2_dev) */
   package xsul.xpola.capman;
   import javax.xml.namespace.QName;
   public interface RequestmanPortType {
  
  
  
  1.8       +1 -1      codes/xsul/java/generated/java_interfaces/xsul/xpola/groupman/GroupmanPortType.java
  
  Index: GroupmanPortType.java
  ===================================================================
  RCS file: /l/extreme/cvs/codes/xsul/java/generated/java_interfaces/xsul/xpola/groupman/GroupmanPortType.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -b -t -w -r1.7 -r1.8
  --- GroupmanPortType.java	31 May 2006 07:31:08 -0000	1.7
  +++ GroupmanPortType.java	5 Jun 2006 20:13:48 -0000	1.8
  @@ -1,4 +1,4 @@
  -/* DO NOT MODIFY!!!! This file was generated automatically by xwsdlc (version 2.6.1_1) */
  +/* DO NOT MODIFY!!!! This file was generated automatically by xwsdlc (version 2.6.2_dev) */
   package xsul.xpola.groupman;
   import javax.xml.namespace.QName;
   public interface GroupmanPortType {
  
  
  
  1.80      +3 -3      codes/xsul/java/modules/common/xsul/XsulVersion.java
  
  Index: XsulVersion.java
  ===================================================================
  RCS file: /l/extreme/cvs/codes/xsul/java/modules/common/xsul/XsulVersion.java,v
  retrieving revision 1.79
  retrieving revision 1.80
  diff -u -b -t -w -r1.79 -r1.80
  --- XsulVersion.java	31 May 2006 22:16:33 -0000	1.79
  +++ XsulVersion.java	5 Jun 2006 20:13:48 -0000	1.80
  @@ -1,17 +1,17 @@
   /* -*- mode: Java; c-basic-offset: 4; indent-tabs-mode: nil; -*-  //------100-columns-wide------>|*/
   /* Copyright (c) 2002-2006 Extreme! Lab, Indiana University. All rights reserved.
    * This software is open source. See the bottom of this file for the licence.
  - * $Id: XsulVersion.java,v 1.79 2006/05/31 22:16:33 aslom Exp $ */
  + * $Id: XsulVersion.java,v 1.80 2006/06/05 20:13:48 aslom Exp $ */
   package xsul;
   
   /**
    * One place to put version number.
    *
  - * @version $Revision: 1.79 $
  + * @version $Revision: 1.80 $
    * @author <a href="http://www.extreme.indiana.edu/~aslom/">Aleksander Slominski</a>
    */
   public class XsulVersion {
  -    public final static String SPEC_VERSION = "2.6.2";
  +    public final static String SPEC_VERSION = "2.6.3";
       private final static String BUILD = "_dev"; //"_f2"; //"_SPECIAL_EDITION";//"_b4";
   
       private final static String PROJECT_NAME = "XSUL";
  
  
  
  1.9       +2 -2      codes/xsul/java/modules/monitoring/xsul/monitoring/XsulMonitoringUtil.java
  
  Index: XsulMonitoringUtil.java
  ===================================================================
  RCS file: /l/extreme/cvs/codes/xsul/java/modules/monitoring/xsul/monitoring/XsulMonitoringUtil.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -b -t -w -r1.8 -r1.9
  --- XsulMonitoringUtil.java	29 Apr 2006 01:50:37 -0000	1.8
  +++ XsulMonitoringUtil.java	5 Jun 2006 20:13:48 -0000	1.9
  @@ -4,7 +4,7 @@
    *
    * This software is open source. See the bottom of this file for the licence.
    *
  - * $Id: XsulMonitoringUtil.java,v 1.8 2006/04/29 01:50:37 sshirasu Exp $
  + * $Id: XsulMonitoringUtil.java,v 1.9 2006/06/05 20:13:48 aslom Exp $
    */
   package xsul.monitoring;
   
  
  
  
  1.4       +19 -9     codes/xsul/java/modules/xhandler_soap_sticky_header/xsul/xhandler_soap_sticky_header/StickySoapHeaderHandler.java
  
  Index: StickySoapHeaderHandler.java
  ===================================================================
  RCS file: /l/extreme/cvs/codes/xsul/java/modules/xhandler_soap_sticky_header/xsul/xhandler_soap_sticky_header/StickySoapHeaderHandler.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -b -t -w -r1.3 -r1.4
  --- StickySoapHeaderHandler.java	30 Apr 2006 06:48:14 -0000	1.3
  +++ StickySoapHeaderHandler.java	5 Jun 2006 20:13:48 -0000	1.4
  @@ -35,7 +35,7 @@
       
       private final static ThreadLocal tl = new ThreadLocal();
       
  -    private XmlElement headerToUse;
  +    private XmlElement defaultHeaderToUse;
       
       private QName headerQName;
       private XmlNamespace headerNs;
  @@ -53,22 +53,26 @@
       public StickySoapHeaderHandler(String name, XmlElement headerToUse) {
           super(name);
           if(headerToUse == null) throw new IllegalArgumentException();
  -        this.headerToUse = headerToUse;
  +        this.defaultHeaderToUse = headerToUse;
           this.headerQName = new QName(headerToUse.getName(), headerToUse.getNamespaceName());
           this.headerNs = headerToUse.getNamespace();
       }
       
  -    
  -    public static XmlElementAdapter getHeaderAs(Class headerType, QName headerQName) {
  +    public static XmlElement getHeader(QName headerQName) {
           Object value = tl.get();
           if(value == null) {
               return null;
           }
           Map map = (Map) value;
  -        XmlElement header;
  +        XmlElement header = null;
           synchronized(map) {
               header = (XmlElement) map.get(headerQName);
           }
  +        return header;
  +    }
  +    
  +    public static XmlElementAdapter getHeaderAs(Class headerType, QName headerQName) {
  +        XmlElement header = getHeader(headerQName);
           XmlElementAdapter adapted = XmlElementAdapter.castOrWrap(header, headerType);
           return adapted;
       }
  @@ -82,6 +86,12 @@
           throws DynamicInfosetInvokerException
       {
           // first set header (if any!)
  +        XmlElement headerToUse = getHeader(this.headerQName);
  +        // garbage collection
  +        tl.set(null);
  +        if(headerToUse == null) {
  +            headerToUse = defaultHeaderToUse;
  +        }
           if(headerToUse != null && soapEnvelope.getName().equals(XmlConstants.S_ENVELOPE)) {
               XmlElement headerCopy;
               try {
  @@ -96,7 +106,6 @@
               }
               soapHeader.addElement(headerCopy);
           }
  -        tl.set(null);
           return false;
       }
       
  @@ -105,6 +114,7 @@
           throws DynamicInfosetInvokerException
       {
           // set header ot use form incoming SOAP packet *only* if itis not already set
  +        XmlElement headerToUse = getHeader(this.headerQName);
           if(headerToUse == null) {
               XmlElement soapHeader = soapEnvelope.element(null, XmlConstants.S_HEADER);
               if(soapHeader != null) {