[xgws-dev] CVS Update: codes/xsul/java/modules/lead/xsul/lead
Aleksander Andrzej Slominski
xgws-dev_at_extreme.indiana.edu
Wed Nov 1 11:29:03 2006
aslom 06/11/01 11:27:57
Modified: xsul/java/modules/lead/xsul/lead LeadContextHeader.java
Added: xsul/java/modules/lead/xsul/lead BaseXmlElementAdapter.java
xml-name-value-list.xsdconfig
Log:
moved common functionality to abstract base class
Revision Changes Path
1.20 +28 -74 codes/xsul/java/modules/lead/xsul/lead/LeadContextHeader.java
Index: LeadContextHeader.java
===================================================================
RCS file: /l/extreme/cvs/codes/xsul/java/modules/lead/xsul/lead/LeadContextHeader.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -t -w -r1.19 -r1.20
--- LeadContextHeader.java 1 Nov 2006 16:11:08 -0000 1.19
+++ LeadContextHeader.java 1 Nov 2006 16:27:57 -0000 1.20
@@ -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: LeadContextHeader.java,v 1.19 2006/11/01 16:11:08 aslom Exp $ */
+ * $Id: LeadContextHeader.java,v 1.20 2006/11/01 16:27:57 aslom Exp $ */
package xsul.lead;
import javax.xml.namespace.QName;
@@ -16,7 +16,7 @@
/**
* Represents SOAP Header with context information for LEAD workflows/services.
*/
-public class LeadContextHeader extends XmlElementAdapter {
+public class LeadContextHeader extends BaseXmlElementAdapter {
private final static MLogger logger = MLogger.getLogger();
private final static XmlInfosetBuilder builder = XmlConstants.BUILDER;
@@ -54,54 +54,31 @@
super(target);
}
- protected void setStringAppend(String name, String value) {
- XmlElement el = element(NS, name, true);
- el.replaceChildrenWithText(value);
- }
-
- protected void setStringSecondEl(String name, String value) {
- XmlElement el = element(NS, name);
- if(el == null) {
- // make sure element are inserted after experiment Id
- el = newElement(NS, name);
- addChild(1, el);
- el.setParent(this);
- }
- el.replaceChildrenWithText(value);
- }
-
- protected String getString(String name) {
- XmlElement el = element(NS, name);
- if(el == null) {
- return null;
- }
- return el.requiredTextContent();
- }
-
- public void setExperimentId(String experimentId) { setStringAppend(EXPERIMENT_ID, experimentId); }
- public String getExperimentId() { return getString(EXPERIMENT_ID); }
- public void setWorkflowId(String workflowId) { setStringSecondEl(WORKFLOW_INSTANCE_ID, workflowId); }
- public String getWorkflowId() { return getString(WORKFLOW_INSTANCE_ID); }
- public void setNodeId(String nodeId) { setStringSecondEl(NODE_ID, nodeId); }
- public String getNodeId() { return getString(NODE_ID); }
- public void setTimeStep(String timeStep) { setStringSecondEl(TIME_STEP, timeStep); }
- public String getTimeStep() { return getString(TIME_STEP); }
- public void setServiceId(String serviceId) { setStringSecondEl(SERVICE_INSTANCE_ID, serviceId); }
- public String getServiceId() { return getString(SERVICE_INSTANCE_ID); }
- public void setGfacUrl(String url) { setStringSecondEl(GFAC_URL, url); }
- public String getGfacUrl() { return getString(GFAC_URL); }
- public void setDscUrl(String url) { setStringSecondEl(DSC_URL, url); }
- public String getDscUrl() { return getString(DSC_URL); }
+
+ public void setExperimentId(String experimentId) { setStringAppend(NS, EXPERIMENT_ID, experimentId); }
+ public String getExperimentId() { return getString(NS, EXPERIMENT_ID); }
+ public void setWorkflowId(String workflowId) { setStringSecondEl(NS, WORKFLOW_INSTANCE_ID, workflowId); }
+ public String getWorkflowId() { return getString(NS, WORKFLOW_INSTANCE_ID); }
+ public void setNodeId(String nodeId) { setStringSecondEl(NS, NODE_ID, nodeId); }
+ public String getNodeId() { return getString(NS, NODE_ID); }
+ public void setTimeStep(String timeStep) { setStringSecondEl(NS, TIME_STEP, timeStep); }
+ public String getTimeStep() { return getString(NS, TIME_STEP); }
+ public void setServiceId(String serviceId) { setStringSecondEl(NS, SERVICE_INSTANCE_ID, serviceId); }
+ public String getServiceId() { return getString(NS, SERVICE_INSTANCE_ID); }
+ public void setGfacUrl(String url) { setStringSecondEl(NS, GFAC_URL, url); }
+ public String getGfacUrl() { return getString(NS, GFAC_URL); }
+ public void setDscUrl(String url) { setStringSecondEl(NS, DSC_URL, url); }
+ public String getDscUrl() { return getString(NS, DSC_URL); }
// public void setPropertiesFileUrl(String url) { setStringSecondEl(PROPERTIES_FILE_URL, url); }
// public String getPropertiesFileUrl() { return getString(PROPERTIES_FILE_URL); }
- public void setResourceCatalogUrl(String url) { setStringSecondEl(RESOURCE_CATALOG_URL, url); }
- public String getResourceCatalogUrl() { return getString(RESOURCE_CATALOG_URL); }
- public void setResourceBrokerUrl(String url) { setStringSecondEl(RESOURCE_BROKER_URL, url); }
- public String getResourceBrokerUrl() { return getString(RESOURCE_BROKER_URL); }
- public void setResourceSchedular(String url) { setStringSecondEl(RESOURCE_SCHEDULAR, url); }
- public String getResourceSchedular() { return getString(RESOURCE_SCHEDULAR); }
- public void setUserDn(String userDn) { setStringSecondEl(USER_DN, userDn); }
- public String getUserDn() { return getString(USER_DN); }
+ public void setResourceCatalogUrl(String url) { setStringSecondEl(NS, RESOURCE_CATALOG_URL, url); }
+ public String getResourceCatalogUrl() { return getString(NS, RESOURCE_CATALOG_URL); }
+ public void setResourceBrokerUrl(String url) { setStringSecondEl(NS, RESOURCE_BROKER_URL, url); }
+ public String getResourceBrokerUrl() { return getString(NS, RESOURCE_BROKER_URL); }
+ public void setResourceSchedular(String url) { setStringSecondEl(NS, RESOURCE_SCHEDULAR, url); }
+ public String getResourceSchedular() { return getString(NS, RESOURCE_SCHEDULAR); }
+ public void setUserDn(String userDn) { setStringSecondEl(NS, USER_DN, userDn); }
+ public String getUserDn() { return getString(NS, USER_DN); }
public LeadResourceMappingList getResourceMappingList() {
XmlElement el = element(LeadResourceMappingList.NS, LeadResourceMappingList.TYPE.getLocalPart());
@@ -115,36 +92,12 @@
addElement(rml);
}
- private void setEpr(WsaEndpointReference epr, XmlNamespace ns, String name) {
- //epr.setNamespace(builder.newNamespace(XmlElement.NO_NAMESPACE)); //CHECKME
- epr.setNamespace(ns);
- epr.setName(name);
- XmlElement el = element(ns, name);
- if(el != null) {
- replaceChild(epr, el);
- } else {
- addChild(1, epr); //addChild(epr);
- }
- }
-
- private WsaEndpointReference getEpr(XmlNamespace ns, String name) {
- XmlElement el = element(ns, name);
- if(el == null) {
- return null;
- }
- if(el instanceof WsaEndpointReference) {
- return (WsaEndpointReference) el;
- } else {
- return new WsaEndpointReference(el);
- }
- }
-
public void setEventSink(WsaEndpointReference epr) {
setEpr(epr, NS, EVENT_SINK_EPR);
}
public WsaEndpointReference getEventSink() {
- return getEpr(NS, EVENT_SINK_EPR);
+ return lookupEpr(NS, EVENT_SINK_EPR);
}
public void setErrorSink(WsaEndpointReference epr) {
@@ -152,7 +105,7 @@
}
public WsaEndpointReference getErrorSink() {
- return getEpr(NS, ERROR_SINK_EPR);
+ return lookupEpr(NS, ERROR_SINK_EPR);
}
}
@@ -219,3 +172,4 @@
+
1.1 codes/xsul/java/modules/lead/xsul/lead/BaseXmlElementAdapter.java
Index: BaseXmlElementAdapter.java
===================================================================
/* -*- 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: BaseXmlElementAdapter.java,v 1.1 2006/11/01 16:27:57 aslom Exp $ */
package xsul.lead;
import java.net.URI;
import javax.xml.namespace.QName;
import org.xmlpull.v1.builder.XmlElement;
import org.xmlpull.v1.builder.XmlInfosetBuilder;
import org.xmlpull.v1.builder.XmlNamespace;
import org.xmlpull.v1.builder.adapter.XmlElementAdapter;
import xsul.MLogger;
import xsul.XmlConstants;
import xsul.ws_addressing.WsaEndpointReference;
/**
* Base class with utilitymethods to manipulate XML.
*/
public abstract class BaseXmlElementAdapter extends XmlElementAdapter {
private final static MLogger logger = MLogger.getLogger();
private final static XmlInfosetBuilder builder = XmlConstants.BUILDER;
public BaseXmlElementAdapter(XmlElement target) {
super(target);
}
protected void setStringAppend(XmlNamespace NS, String name, String value) {
XmlElement el = element(NS, name, true);
el.replaceChildrenWithText(value);
}
protected void setStringSecondEl(XmlNamespace NS, String name, String value) {
XmlElement el = element(NS, name);
if(el == null) {
// make sure element are inserted after experiment Id
el = newElement(NS, name);
addChild(1, el);
el.setParent(this);
}
el.replaceChildrenWithText(value);
}
protected String getString(XmlNamespace NS, String name) {
XmlElement el = element(NS, name);
if(el == null) {
return null;
}
return el.requiredTextContent();
}
protected void setStringValue(XmlNamespace NS, String name, String value) {
XmlElement el = element(NS, name, true);
el.replaceChildrenWithText(value);
}
protected String lookupStringValue(XmlNamespace NS, String name) {
XmlElement el = element(NS, name);
if(el == null) {
return null;
}
return el.requiredTextContent();
}
protected void setUriValue(XmlNamespace NS, String name, URI value) {
String s = value.toASCIIString();
setStringValue(NS, name, s);
}
protected URI lookupUriValue(XmlNamespace NS, String name) {
String svalue = lookupStringValue(NS, name);
if(name == null) return null;
URI uri = URI.create(svalue);
return uri;
}
protected void setEpr(WsaEndpointReference epr, XmlNamespace ns, String name) {
//epr.setNamespace(builder.newNamespace(XmlElement.NO_NAMESPACE)); //CHECKME
epr.setNamespace(ns);
epr.setName(name);
XmlElement el = element(ns, name);
if(el != null) {
replaceChild(epr, el);
} else {
addChild(1, epr); //addChild(epr);
}
}
protected WsaEndpointReference lookupEpr(XmlNamespace ns, String name) {
XmlElement el = element(ns, name);
if(el == null) {
return null;
}
if(el instanceof WsaEndpointReference) {
return (WsaEndpointReference) el;
} else {
return new WsaEndpointReference(el);
}
}
}
/*
* Indiana University Extreme! Lab Software License, Version 1.2
*
* Copyright (c) 2006 The Trustees of Indiana University.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* 1) All redistributions of source code must retain the above
* copyright notice, the list of authors in the original source
* code, this list of conditions and the disclaimer listed in this
* license;
*
* 2) All redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the disclaimer
* listed in this license in the documentation and/or other
* materials provided with the distribution;
*
* 3) Any documentation included with all redistributions must include
* the following acknowledgement:
*
* "This product includes software developed by the Indiana
* University Extreme! Lab. For further information please visit
* http://www.extreme.indiana.edu/"
*
* Alternatively, this acknowledgment may appear in the software
* itself, and wherever such third-party acknowledgments normally
* appear.
*
* 4) The name "Indiana University" or "Indiana University
* Extreme! Lab" shall not be used to endorse or promote
* products derived from this software without prior written
* permission from Indiana University. For written permission,
* please contact http://www.extreme.indiana.edu/.
*
* 5) Products derived from this software may not use "Indiana
* University" name nor may "Indiana University" appear in their name,
* without prior written permission of the Indiana University.
*
* Indiana University provides no reassurances that the source code
* provided does not infringe the patent or any other intellectual
* property rights of any other entity. Indiana University disclaims any
* liability to any recipient for claims brought by any other entity
* based on infringement of intellectual property rights or otherwise.
*
* LICENSEE UNDERSTANDS THAT SOFTWARE IS PROVIDED "AS IS" FOR WHICH
* NO WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. INDIANA
* UNIVERSITY GIVES NO WARRANTIES AND MAKES NO REPRESENTATION THAT
* SOFTWARE IS FREE OF INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR
* OTHER PROPRIETARY RIGHTS. INDIANA UNIVERSITY MAKES NO WARRANTIES THAT
* SOFTWARE IS FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP
* DOORS", "WORMS", OR OTHER HARMFUL CODE. LICENSEE ASSUMES THE ENTIRE
* RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR ASSOCIATED MATERIALS,
* AND TO THE PERFORMANCE AND VALIDITY OF INFORMATION GENERATED USING
* SOFTWARE.
*/
1.1 codes/xsul/java/modules/lead/xsul/lead/xml-name-value-list.xsdconfig
Index: xml-name-value-list.xsdconfig
===================================================================
<!-- An xsdconfig file must begin with a "config" element in the
http://www.bea.com/2002/09/xbean/config namespace. Also, be sure
to declare any namespaces used to qualify types in your schema (here,
the namespace corresponding to the pol prefix. -->
<xb:config xmlns:xb="http://www.bea.com/2002/09/xbean/config">
<!-- Use the "namespace" element to map a namespace to the Java package
name that should be generated. -->
<xb:namespace uri="http://lead.extreme.indiana.edu/namespaces/2006/06/xml-name-value-list/">
<xb:package>xsul.lead.types.nvl</xb:package>
</xb:namespace>
</xb:config>