Skip to Content.
Sympa Menu

perfsonar-dev - nmwg: r232 - trunk/nmwg/java/org/ggf/ns/nmwg/base/v2_0

Subject: perfsonar development work

List archive

nmwg: r232 - trunk/nmwg/java/org/ggf/ns/nmwg/base/v2_0


Chronological Thread 
  • From:
  • To: ,
  • Subject: nmwg: r232 - trunk/nmwg/java/org/ggf/ns/nmwg/base/v2_0
  • Date: Thu, 31 May 2007 07:48:10 -0400

Author: roman
Date: 2007-05-31 07:48:09 -0400 (Thu, 31 May 2007)
New Revision: 232

Modified:
trunk/nmwg/java/org/ggf/ns/nmwg/base/v2_0/Key.java
Log:
Key class updated in order to contain more than one parameters element
representing different namespaces




Modified: trunk/nmwg/java/org/ggf/ns/nmwg/base/v2_0/Key.java
===================================================================
--- trunk/nmwg/java/org/ggf/ns/nmwg/base/v2_0/Key.java 2007-05-07 13:28:53
UTC (rev 231)
+++ trunk/nmwg/java/org/ggf/ns/nmwg/base/v2_0/Key.java 2007-05-31 11:48:09
UTC (rev 232)
@@ -17,213 +17,306 @@
import org.xml.sax.ContentHandler;
import org.xml.sax.helpers.AttributesImpl;
import org.xml.sax.helpers.NamespaceSupport;
-import org.xml.sax.helpers.NamespaceSupport;

+import java.util.Map;
+import java.util.HashMap;
+
public class Key extends Element {

- /**
- * parameters element
- */
- protected Parameters parameters;

- /**
- * Constructor.
- */
- public Key() {
- parameters = null;
+ /**
+ * parameters element
+ */
+ protected Map parametersMap;

- parent = null;
- id = "";
- completed = false;
- prefix = "nmwg";
- uri = "http://ggf.org/ns/nmwg/base/2.0/";;
- localName = "key";
- qName = "nmwg:key";
- fileName = "org/ggf/ns/nmwg/base/v2_0/Key.java";

- }
+ protected String BASE_URI = "http://ggf.org/ns/nmwg/base/2.0/";;

- /**
- * Returns a parameters element.
- */
- public Parameters getParameters() {
- return parameters;
- }

- /**
- * Sets a parameters element.
- */
- public void setParameters(Parameters newParameters) {
- parameters = newParameters;
- }
+ /**
+ * Constructor
+ */
+ public Key() {

- /**
- * Retrieve a parameter directly by name
- */
- public Parameter getParameterByName(String paramName) {
- if (parameters == null) {
- return null;
- }
- return(parameters.getParameterByName(paramName));
- }
+ parametersMap = new HashMap();

- /**
- * Add a parameter directly to the parameters block
- */
- public void addParameter(String name, String value) {
- if(!(name.equals("")) && !(value.equals(""))) {
- if (parameters == null) {
- Parameters ps = new Parameters();
- setParameters(ps);
- }
- parameters.addParameter(name, value);
- }
- else {
- System.err.println("Error: " + getFileName() + "
'addParameter(String, String)' cannot have nil value for name or value.");

- }
- }
+ parent = null;
+ id = "";
+ completed = false;
+ prefix = "nmwg";
+ uri = "http://ggf.org/ns/nmwg/base/2.0/";;
+ localName = "key";
+ qName = "nmwg:key";
+ fileName = "org/ggf/ns/nmwg/base/v2_0/Key.java";

- /**
- * If you already have a parameter object, add it
- */
- public void addParameter(Parameter newParameter) {
- if(newParameter != null) {
- if (parameters == null) {
- Parameters ps = new Parameters();
- setParameters(ps);
- }
- parameters.addParameter(newParameter);
- }
- else {
- System.err.println("Error: " + getFileName() + "
'addParameter(Parameter)' cannot have nil value for parameter.");

- }
- }
+ }

- /**
- * Deals with the id attributes.
- */
- public boolean addAttr(String attr, String value, NamespaceSupport
nss) {
- if(attr.equals("id")) {
- setId(value);
- }
- else if(attr.indexOf("xmlns") >= 0) {
- if(attr.split(":").length == 1) {
- if(nss.getURI("") == null) {
- nss.declarePrefix("", value);
- }
- if((prefix.equals("")) &&
!(value.equals(uri))) {
- uri = value;
- }
- }
- else {
- if(nss.getURI(attr.split(":")[1]) == null) {
- nss.declarePrefix(attr.split(":")[1],
value);
- }
- if((prefix.equals(attr.split(":")[1])) &&
!(value.equals(uri))) {
- uri = value;
- }
- }
- }
- else {
- System.err.println("Error: " + getFileName() + "
addAttr(String, String, NamespaceSupport) unrecognized attribute pair: " +
attr + " - " + value);
- return false;
- }
- return true;
- }
+ /**
+ * Returns a map of parameters elements.
+ */
+ public Map getParametersMap() {
+ return parametersMap;
+ }

- /**
- * Deals with potential children.
- */
- public boolean addChild(Element newChild) {
- if(newChild.getLocalName().equals("parameters")) {

- setParameters((Parameters)newChild);
- }
- else {
- System.err.println("Error: " + getFileName() + "
addChild(Element) unrecognized child: " + newChild);
- return false;
- }
- return true;
- }
+ /**
+ * Returns a parameters element (only of nmwg base uri)
+ */
+ public Parameters getParameters() {
+ return ((Parameters)parametersMap.get(BASE_URI));
+ }

- /**
- * Converts the contents of this object into an xml tag.
- */
- public ContentHandler toXML(ContentHandler handler, NamespaceSupport
nss) throws Exception {
- try {
- handler.startElement(getUri(), getLocalName(),
getQName(),getAttributes(nss));
- handler = getChildren(handler, nss);
- handler.endElement(getUri(), getLocalName(),
getQName());
-
- if(getCompleted()) {
- nss.popContext();
- unSetCompleted();
- }
- }
- catch(Exception e) {
- System.err.println("Error: " + getFileName() + "
toXML(ContentHandler, NamespaceSupport) XML formulation error.");
- }
- return handler;
- }
+ /**
+ * Sets a parameters element.
+ */
+ public void setParameters(Parameters newParameters) {

- /**
- * Converts the id attribute for the xml tag.
- */
- public AttributesImpl getAttributes(NamespaceSupport nss) {
- AttributesImpl atts = new AttributesImpl();
-
- if(!(getId().equals(""))) {
- atts.addAttribute(getUri(), "id", "id", "CDATA",
getId());
- }
-
- if(nss.getURI(getPrefix()) == null) {
- nss.pushContext();
- if(getPrefix().equals("")) {
- atts.addAttribute(getUri(), "xmlns", "xmlns",
"CDATA", getUri());
- }
- else {
- atts.addAttribute(getUri(), "xmlns:" +
getPrefix(), "xmlns:" + getPrefix(), "CDATA", getUri());
- }
- nss.declarePrefix(getPrefix(), getUri());

- setCompleted();
- }
-
- return atts;
- }
+ if (newParameters == null)
+ return;

- /**
- * Chases children references down to print out all related xml tags.
- */
- public ContentHandler getChildren(ContentHandler handler,
NamespaceSupport nss) throws Exception {
- if(getParameters() != null) {
- handler = getParameters().toXML(handler, nss);
- }
-
- return handler;
- }
+ String parametersUri = newParameters.getUri();
+ Parameters params = (Parameters) parametersMap.get(parametersUri);
+ if (params != null) {
+ for (Object o : newParameters.getParameterMap().values()) {
+ Parameter param = (Parameter) o;
+ params.addParameter(param);
+ }
+ } else {
+ parametersMap.put(parametersUri, newParameters);
+ }
+ }

+ /**
+ * Retrieve a parameter directly by name
+ * (only from parameters element of nmwg base uri)
+ */
+ public Parameter getParameterByName(String paramName) {

- /**
- * Given a DOM element (a parent), construct
- * the children elements.
- */
- public void getDOM(org.w3c.dom.Element parent) {
- org.w3c.dom.Document doc = parent.getOwnerDocument();
- org.w3c.dom.Element key = doc.createElementNS(getUri(),
getQName());
- parent.appendChild(key);
-
- if(!(getId().equals(""))) {
- key.setAttribute("id", getId());
- }
-
- if(getParameters() != null) {
- getParameters().getDOM(key);
- }
- }
+ if (paramName == null)
+ return null;

- /**
- * Called when the object is placed in
- * an output stream.
- */
- public String toString() {
- return getFileName() + ": ---> " + getId() + getParameters();
- }
+ Parameters params =
+ (Parameters) parametersMap.get(BASE_URI);
+ if (params == null) {
+ params = new Parameters();
+ setParameters(params);
+ }
+ return params.getParameterByName(paramName);
+ }
+
+ /**
+ * Retrieve a parameter directly by name and URI of parameters element
+ */
+ public Parameter getParameterByName(String parametersUri, String
paramName) {
+
+ if (paramName == null)
+ return null;
+ if (parametersUri == null) {
+ return getParameterByName(paramName);
+ }
+ Parameters params = (Parameters) parametersMap.get(parametersUri);
+ if (params == null)
+ return null;
+ else
+ return params.getParameterByName(paramName);
+ }
+
+ /**
+ * Add a parameter directly to the parameters element of nmwg base uri
+ */
+ public void addParameter(String name, String value) {
+
+ if (name.equals("") && value.equals("")) {
+ System.err.println(
+ "Error: " + getFileName()
+ + " 'addParameter(String, String)' cannot have nil value
"
+ + "for name or value.");
+ return;
+ }
+
+ Parameters params = null;
+ if (parametersMap.get(BASE_URI) == null) {
+ params = new Parameters();
+ setParameters(params);
+ } else {
+ params = getParameters();
+ }
+ params.addParameter(name, value);
+
+ }
+
+ /**
+ * Add a parameter directly to the parameters element of nmwg base uri
+ */
+ public void addParameter(Parameter newParameter) {
+
+ if (newParameter == null) {
+ System.err.println(
+ "Error: " + getFileName()
+ + " 'addParameter(Parameter)' cannot have nil value "
+ + "for parameter.");
+ return;
+ }
+
+ Parameters params = null;
+ if (parametersMap.get(BASE_URI) == null) {
+ params = new Parameters();
+ setParameters(params);
+ } else {
+ params = getParameters();
+ }
+ params.addParameter(newParameter);
+
+ }
+
+ /**
+ * Deals with the id attributes.
+ */
+ public boolean addAttr(String attr, String value, NamespaceSupport nss) {
+
+ if (attr.equals("id")) {
+ setId(value);
+ }
+ else if (attr.indexOf("xmlns") >= 0) {
+ if (attr.split(":").length == 1) {
+ if (nss.getURI("") == null) {
+ nss.declarePrefix("", value);
+ }
+ if ((prefix.equals("")) && !(value.equals(uri))) {
+ uri = value;
+ }
+ }
+ else {
+ if (nss.getURI(attr.split(":")[1]) == null) {
+ nss.declarePrefix(attr.split(":")[1], value);
+ }
+ if ((prefix.equals(attr.split(":")[1])) &&
!(value.equals(uri))) {
+ uri = value;
+ }
+ }
+ }
+ else {
+ System.err.println(
+ "Error: " + getFileName()
+ + " addAttr(String, String, NamespaceSupport) unrecognized
attribute pair: "
+ + attr + " - " + value);
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Deals with potential children.
+ */
+ public boolean addChild(Element newChild) {
+
+ if (newChild.getLocalName().equals("parameters")) {
+ setParameters((Parameters)newChild);
+ }
+ else {
+ System.err.println(
+ "Error: " + getFileName() + " addChild(Element) unrecognized
child: "
+ + newChild);
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Converts the contents of this object into an xml tag.
+ */
+ public ContentHandler toXML(ContentHandler handler, NamespaceSupport nss)
+ throws Exception {
+
+ try {
+ handler.startElement(getUri(), getLocalName(),
getQName(),getAttributes(nss));
+ handler = getChildren(handler, nss);
+ handler.endElement(getUri(), getLocalName(), getQName());
+
+ if (getCompleted()) {
+ nss.popContext();
+ unSetCompleted();
+ }
+ }
+ catch(Exception e) {
+ System.err.println(
+ "Error: " + getFileName()
+ + " toXML(ContentHandler, NamespaceSupport) XML formulation
error.");
+ }
+ return handler;
+ }
+
+ /**
+ * Converts the id attribute for the xml tag.
+ */
+ public AttributesImpl getAttributes(NamespaceSupport nss) {
+ AttributesImpl atts = new AttributesImpl();
+
+ if (!(getId().equals(""))) {
+ atts.addAttribute(getUri(), "id", "id", "CDATA", getId());
+ }
+
+ if (nss.getURI(getPrefix()) == null) {
+ nss.pushContext();
+ if(getPrefix().equals("")) {
+ atts.addAttribute(getUri(), "xmlns", "xmlns", "CDATA",
getUri());
+ }
+ else {
+ atts.addAttribute(getUri(), "xmlns:" + getPrefix(), "xmlns:"
+ getPrefix(), "CDATA", getUri());
+ }
+ nss.declarePrefix(getPrefix(), getUri());
+ setCompleted();
+ }
+
+ return atts;
+ }
+
+ /**
+ * Chases children references down to print out all related xml tags.
+ */
+ public ContentHandler getChildren(ContentHandler handler,
NamespaceSupport nss)
+ throws Exception {
+
+ if (parametersMap != null) {
+ if (parametersMap.size() > 0) {
+
+ for (Object o : parametersMap.values()) {
+ Parameters params = (Parameters)o;
+ handler = params.toXML(handler, nss);
+ }
+
+ }
+ }
+
+ return handler;
+ }
+
+
+ /**
+ * Given a DOM element (a parent), construct
+ * the children elements.
+ */
+ public void getDOM(org.w3c.dom.Element parent) {
+
+ org.w3c.dom.Document doc = parent.getOwnerDocument();
+ org.w3c.dom.Element key = doc.createElementNS(getUri(), getQName());
+ parent.appendChild(key);
+
+ if (!(getId().equals(""))) {
+ key.setAttribute("id", getId());
+ }
+
+ for (Object o : parametersMap.values()) {
+ Parameters params = (Parameters)o;
+ params.getDOM(key);
+ }
+ }
+
+ /**
+ * Called when the object is placed in
+ * an output stream.
+ */
+ public String toString() {
+ return getFileName() + ": ---> " + getId() + getParameters();
+ }
+
+
}



  • nmwg: r232 - trunk/nmwg/java/org/ggf/ns/nmwg/base/v2_0, svnlog, 05/31/2007

Archive powered by MHonArc 2.6.16.

Top of Page