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

Aleksander Andrzej Slominski xgws-dev_at_extreme.indiana.edu
Fri Nov 3 19:51:01 2006


aslom       06/11/03 19:50:03

  Modified:    xsul/java/modules/common/xsul XmlConstants.java
                        XsulVersion.java
               xsul/java/modules/lead/xsul/lead
                        LeadCrosscutParametersUtil.java
                        XmlNameValueList.java
               xsul/java/modules/xbeans_util/xsul/xbeans_util
                        XBeansUtil.java
  Log:
  improved handling of XmlBenas XmlObject <-> XPP3 XmlElement
  make LeadCrosscutParameters to have names including namespace
  
  Revision  Changes    Path
  1.16      +7 -2      codes/xsul/java/modules/common/xsul/XmlConstants.java
  
  Index: XmlConstants.java
  ===================================================================
  RCS file: /l/extreme/cvs/codes/xsul/java/modules/common/xsul/XmlConstants.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -b -t -w -r1.15 -r1.16
  --- XmlConstants.java	18 Oct 2006 21:05:22 -0000	1.15
  +++ XmlConstants.java	4 Nov 2006 00:50:02 -0000	1.16
  @@ -4,12 +4,13 @@
    *
    * This software is open source. See the bottom of this file for the licence.
    *
  - * $Id: XmlConstants.java,v 1.15 2006/10/18 21:05:22 aslom Exp $
  + * $Id: XmlConstants.java,v 1.16 2006/11/04 00:50:02 aslom Exp $
    */
   
   package xsul;
   
   
  +import javax.xml.namespace.QName;
   import org.xmlpull.mxp1.MXParserFactory;
   import org.xmlpull.v1.XmlPullParserFactory;
   import org.xmlpull.v1.builder.XmlInfosetBuilder;
  @@ -18,7 +19,7 @@
   /**
    * One place to put XML (and SOAP) related constants.
    *
  - * @version $Revision: 1.15 $
  + * @version $Revision: 1.16 $
    * @author <a href="http://www.extreme.indiana.edu/~aslom/">Aleksander Slominski</a>
    */
   public class XmlConstants {
  @@ -42,6 +43,10 @@
       public final static String NS_URI_SOAP11 = "http://schemas.xmlsoap.org/soap/envelope/";
       public final static String NS_URI_SOAP12 = "http://www.w3.org/2003/05/soap-envelope";
       
  +    // magic name used by XmlBeans to allow element to replace set(XmlObject) with its content
  +    public final static String XBEANS_XML_FRAGMENT = "xml-fragment";
  +    public final static QName XBEANS_XML_FRAGMENT_QNAME =  new QName(XBEANS_XML_FRAGMENT);
  +    
       public final static XmlNamespace SOAP11_NS;
       public final static XmlNamespace SOAP12_NS;
       
  
  
  
  1.98      +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.97
  retrieving revision 1.98
  diff -u -b -t -w -r1.97 -r1.98
  --- XsulVersion.java	3 Nov 2006 19:18:01 -0000	1.97
  +++ XsulVersion.java	4 Nov 2006 00:50:02 -0000	1.98
  @@ -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.97 2006/11/03 19:18:01 aslom Exp $ */
  + * $Id: XsulVersion.java,v 1.98 2006/11/04 00:50:02 aslom Exp $ */
   package xsul;
   
   /**
    * One place to put version number.
    *
  - * @version $Revision: 1.97 $
  + * @version $Revision: 1.98 $
    * @author <a href="http://www.extreme.indiana.edu/~aslom/">Aleksander Slominski</a>
    */
   public class XsulVersion {
  -    public final static String SPEC_VERSION = "2.7.12";
  +    public final static String SPEC_VERSION = "2.7.13";
       private final static String BUILD = ""; //"_dev"; //"_f2"; //"_SPECIAL_EDITION";//"_b4";
   
       private final static String PROJECT_NAME = "XSUL";
  
  
  
  1.4       +13 -8     codes/xsul/java/modules/lead/xsul/lead/LeadCrosscutParametersUtil.java
  
  Index: LeadCrosscutParametersUtil.java
  ===================================================================
  RCS file: /l/extreme/cvs/codes/xsul/java/modules/lead/xsul/lead/LeadCrosscutParametersUtil.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -b -t -w -r1.3 -r1.4
  --- LeadCrosscutParametersUtil.java	3 Nov 2006 19:11:36 -0000	1.3
  +++ LeadCrosscutParametersUtil.java	4 Nov 2006 00:50:03 -0000	1.4
  @@ -1,7 +1,7 @@
   /* -*- mode: Java; c-basic-offset: 4; indent-tabs-mode: nil; -*-  //------100-columns-wide------>|*/
   /* Copyright (c) 2006 Extreme! Lab, Indiana University. All rights reserved.
    * This software is open source. See the bottom of this file for the licence.
  - * $Id: LeadCrosscutParametersUtil.java,v 1.3 2006/11/03 19:11:36 aslom Exp $ */
  + * $Id: LeadCrosscutParametersUtil.java,v 1.4 2006/11/04 00:50:03 aslom Exp $ */
   package xsul.lead;
   
   import java.util.Properties;
  @@ -46,22 +46,27 @@
           //      validate();
       }
       
  -    
       public LeadCrosscutParametersUtil(XmlElement elementToWrap) {
           super(elementToWrap);
           if(elementToWrap == null) throw new IllegalArgumentException("null");
       }
       
  -    public LeadCrosscutParametersUtil() {
  -        super();
  +    public LeadCrosscutParametersUtil(QName topElQName) {
  +        super(topElQName);
           declareNamespace(NS); // less of xmlns clutter in serialized XML
       }
       
  +    public LeadCrosscutParametersUtil() {
  +        this(XmlConstants.XBEANS_XML_FRAGMENT_QNAME);
  +    }
  +    
       public LeadCrosscutParametersUtil(Properties props) {
           this();
           setFromProperties(props);
       }
   
  +    public XmlNamespace parameterNs() { return NS; }
  +
       public Float getCenterLatitude() { return getFloat(CENTER_LATITUDE); }
       public void setCenterLatitude(float value) { setFloat(CENTER_LATITUDE, value); }
       public Float getCenterLongitude() { return getFloat(CENTER_LONGITUDE); }
  @@ -70,12 +75,16 @@
       public void setForecastTimeInHours(float value) { setFloat(FORECAST_TIME, value); }
   
       public Float getWestBc() { return getFloat(WEST_BC); }
  +    public float requireWestBc() { return requireFloat(WEST_BC); }
       public void setWestBc(float value) { setFloat(WEST_BC, value); }
       public Float getEastBc() { return getFloat(EAST_BC); }
  +    public float requireEastBc() { return requireFloat(EAST_BC); }
       public void setEastBc(float value) { setFloat(EAST_BC, value); }
       public Float getSouthBc() { return getFloat(SOUTH_BC); }
  +    public float requireSouthBc() { return requireFloat(SOUTH_BC); }
       public void setSouthBc(float value) { setFloat(SOUTH_BC, value); }
       public Float getNorthBc() { return getFloat(NORTH_BC); }
  +    public float requireNorthBc() { return requireFloat(NORTH_BC); }
       public void setNorthBc(float value) { setFloat(NORTH_BC, value); }
       
   //    public Float getDx() { return getFloat(DX); }
  @@ -167,7 +176,3 @@
    * SOFTWARE.
    */
   
  -
  -
  -
  -
  
  
  
  1.6       +17 -3     codes/xsul/java/modules/lead/xsul/lead/XmlNameValueList.java
  
  Index: XmlNameValueList.java
  ===================================================================
  RCS file: /l/extreme/cvs/codes/xsul/java/modules/lead/xsul/lead/XmlNameValueList.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -b -t -w -r1.5 -r1.6
  --- XmlNameValueList.java	3 Nov 2006 19:06:29 -0000	1.5
  +++ XmlNameValueList.java	4 Nov 2006 00:50:03 -0000	1.6
  @@ -1,7 +1,7 @@
   /* -*- mode: Java; c-basic-offset: 4; indent-tabs-mode: nil; -*-  //------100-columns-wide------>|*/
   /* Copyright (c) 2002-2005 Extreme! Lab, Indiana University. All rights reserved.
    * This software is open source. See the bottom of this file for the licence.
  - * $Id: XmlNameValueList.java,v 1.5 2006/11/03 19:06:29 aslom Exp $ */
  + * $Id: XmlNameValueList.java,v 1.6 2006/11/04 00:50:03 aslom Exp $ */
   package xsul.lead;
   
   import java.util.Iterator;
  @@ -92,14 +92,16 @@
           setString(key, value);
       }
           
  +    public XmlNamespace parameterNs() { return null; }
  +
       public void setString(String name, String value) {
  -        XmlElement el = element(null, name, true);
  +        XmlElement el = element(parameterNs(), name, true);
           if(value == null) throw new IllegalArgumentException();
           el.replaceChildrenWithText(value);
       }
       
       public String getString(String name) {
  -        XmlElement el = element(null, name);
  +        XmlElement el = element(parameterNs(), name);
           if(el == null) {
               return null;
           }
  @@ -120,12 +122,24 @@
           return new Integer(s);
       }
       
  +    public int requireInt(String name) {
  +        String s = getString(name);
  +        if(s == null) throw new IllegalArgumentException("missing parameter "+name);
  +        return Integer.parseInt(s);
  +    }
  +
       public Float getFloat(String name) {
           String s = getString(name);
           if(s == null) return null;
           return new Float(s);
       }
       
  +    public float requireFloat(String name) {
  +        String s = getString(name);
  +        if(s == null) throw new IllegalArgumentException("missing parameter "+name);
  +        return Float.parseFloat(s);
  +    }
  +    
       public XmlObject xmlObject() {
           return XBeansUtil.xmlElementToXmlObject(getTarget());
       }
  
  
  
  1.8       +6 -3      codes/xsul/java/modules/xbeans_util/xsul/xbeans_util/XBeansUtil.java
  
  Index: XBeansUtil.java
  ===================================================================
  RCS file: /l/extreme/cvs/codes/xsul/java/modules/xbeans_util/xsul/xbeans_util/XBeansUtil.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -b -t -w -r1.7 -r1.8
  --- XBeansUtil.java	19 Jun 2006 02:51:17 -0000	1.7
  +++ XBeansUtil.java	4 Nov 2006 00:50:03 -0000	1.8
  @@ -4,7 +4,7 @@
    *
    * This software is open source. See the bottom of this file for the licence.
    *
  - * $Id: XBeansUtil.java,v 1.7 2006/06/19 02:51:17 aslom Exp $
  + * $Id: XBeansUtil.java,v 1.8 2006/11/04 00:50:03 aslom Exp $
    */
   
   package xsul.xbeans_util;
  @@ -16,6 +16,7 @@
   import java.util.Map;
   import org.apache.xmlbeans.XmlException;
   import org.apache.xmlbeans.XmlObject;
  +import org.apache.xmlbeans.XmlOptions;
   import org.xmlpull.v1.XmlPullParser;
   import org.xmlpull.v1.XmlPullParserException;
   import org.xmlpull.v1.XmlPullParserFactory;
  @@ -31,7 +32,7 @@
    * Maps document QName to a method in a java target. Invokes target when message with
    * document qname arrives.
    *
  - * @version $Revision: 1.7 $
  + * @version $Revision: 1.8 $
    * @author Yogesh L. Simmhan [mailto:ysimmhan_at_cs.indiana.edu]
    */
   public class XBeansUtil {
  @@ -43,7 +44,9 @@
           if(responseXmlObj == null) {
               throw new XmlBuilderException("response message was not initialized and is null");
           }
  -        String responseXml = responseXmlObj.xmlText();
  +        XmlOptions opts = new XmlOptions(); // http://xmlbeans.apache.org/docs/2.0.0/reference/org/apache/xmlbeans/XmlOptions.html
  +        opts.setSaveOuter(); // http://xmlbeans.apache.org/docs/2.0.0/reference/org/apache/xmlbeans/XmlObject.html
  +        String responseXml = responseXmlObj.xmlText(opts);
           if(logger.isFinestEnabled()) logger.finest("responseXml.xmlText()='"+responseXml+"'");
           try {
               XmlElement outgoingMsg  = builder.parseFragmentFromReader(new StringReader(responseXml));