[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));