perfsonar-dev - perfsonar: r3974 - in branches/perfsonarui/src/org/perfsonar/perfsonarui: . ma
Subject: perfsonar development work
List archive
- From:
- To:
- Subject: perfsonar: r3974 - in branches/perfsonarui/src/org/perfsonar/perfsonarui: . ma
- Date: Sun, 8 Jun 2008 12:57:53 -0400
Author: nina
Date: 2008-06-08 12:57:53 -0400 (Sun, 08 Jun 2008)
New Revision: 3974
Modified:
branches/perfsonarui/src/org/perfsonar/perfsonarui/PSErrorCodeException.java
branches/perfsonarui/src/org/perfsonar/perfsonarui/PSException.java
branches/perfsonarui/src/org/perfsonar/perfsonarui/ma/MARequestPerfsonar2_0.java
branches/perfsonarui/src/org/perfsonar/perfsonarui/ma/MARequest_NMWG2.java
Log:
Better error reporting (both error.code and error.description)
Modified:
branches/perfsonarui/src/org/perfsonar/perfsonarui/PSErrorCodeException.java
===================================================================
---
branches/perfsonarui/src/org/perfsonar/perfsonarui/PSErrorCodeException.java
2008-06-08 08:42:37 UTC (rev 3973)
+++
branches/perfsonarui/src/org/perfsonar/perfsonarui/PSErrorCodeException.java
2008-06-08 16:57:53 UTC (rev 3974)
@@ -55,6 +55,10 @@
public void setErrordescription(String errordescription) {
this.errordescription = errordescription;
}
+ @Override
+ public String getFullMessage() {
+ return super.getFullMessage() + '\t' + getErrorCode() + '\t' +
getErrordescription();
+ }
}
Modified: branches/perfsonarui/src/org/perfsonar/perfsonarui/PSException.java
===================================================================
--- branches/perfsonarui/src/org/perfsonar/perfsonarui/PSException.java
2008-06-08 08:42:37 UTC (rev 3973)
+++ branches/perfsonarui/src/org/perfsonar/perfsonarui/PSException.java
2008-06-08 16:57:53 UTC (rev 3974)
@@ -119,4 +119,8 @@
return maEndpoint;
}
+ public synchronized void setMaEndpoint(MAEndpoint maEndpoint) {
+ this.maEndpoint = maEndpoint;
+ }
+
}
Modified:
branches/perfsonarui/src/org/perfsonar/perfsonarui/ma/MARequestPerfsonar2_0.java
===================================================================
---
branches/perfsonarui/src/org/perfsonar/perfsonarui/ma/MARequestPerfsonar2_0.java
2008-06-08 08:42:37 UTC (rev 3973)
+++
branches/perfsonarui/src/org/perfsonar/perfsonarui/ma/MARequestPerfsonar2_0.java
2008-06-08 16:57:53 UTC (rev 3974)
@@ -22,12 +22,10 @@
import org.jdom.Namespace;
import org.perfsonar.perfsonarui.AbstractUserData;
-import org.perfsonar.perfsonarui.PSErrorCodeException;
import org.perfsonar.perfsonarui.PSLogger;
import org.perfsonar.perfsonarui.UnsupportedTypeException;
import org.perfsonar.perfsonarui.plugins.ITimeValueResponse;
import org.perfsonar.perfsonarui.plugins.IUserData;
-import org.perfsonar.perfsonarui.plugins.MAEndpoint;
import org.perfsonar.perfsonarui.plugins.PSCountsDatum;
import org.perfsonar.perfsonarui.plugins.PSTime;
import org.perfsonar.perfsonarui.plugins.PSUtilizationDatum;
@@ -66,7 +64,9 @@
super.initializeNamespaces();
if (nmwgr == null) nmwgr =
Namespace.getNamespace("nmwgr",URI_nmwgr);
}
+ /*
protected synchronized void processResultCode(Node data, UserData
userData) {
+
try {
NodeList datum =
((org.w3c.dom.Element)data).getElementsByTagNameNS(URI_nmwgr,IUserData.C_DATUM);
@@ -90,7 +90,7 @@
x.printStackTrace();
}
}
-
+ */
protected void processMetadata(Node metadata, UserData userData) {
if (isInterrupted()) return;
/*
@@ -131,14 +131,7 @@
Node eventType =
((org.w3c.dom.Element)metadata).getElementsByTagNameNS(URI_nmwg[nmwg_version],"eventType").item(0);
if (eventType != null) {
String event = eventType.getFirstChild().getNodeValue();
- if (event.startsWith("error.")) {
- PSErrorCodeException x = new
PSErrorCodeException((MAEndpoint)null,event,"");
- logger.error(event);
- fireAxisCallException(userData, x);
- userData.setResponse(AbstractUserData.C_STATUS,event);
-
- }
- else {
+ if (!event.startsWith("error.")) {
if (userData.getEndpoint() != null) {
if (userData.isInput())
userData.getEndpoint().setEvent(event,0);
@@ -148,6 +141,7 @@
}
}
}
+
}
protected void processData(Node data, UserData userData,
ITimeValueResponse timeValueResponse) {
@@ -183,7 +177,7 @@
datum =
((org.w3c.dom.Element)data).getElementsByTagNameNS(URI_nmwgr,IUserData.C_DATUM);
if (datum.getLength() > 0)
*/
- processResultCode(data, userData);
+ //processResultCode(data, userData);
}
protected String getTimeValueSeriesName(UserData userData,
PSCountsDatum datum) {
@@ -237,7 +231,7 @@
datum =
((org.w3c.dom.Element)data).getElementsByTagNameNS(URI_nmwgr,IUserData.C_DATUM);
if (datum.getLength() > 0)
*/
- processResultCode(data, userData);
+ //processResultCode(data, userData);
}
protected synchronized void setAverage(UserData userData,PSCountsDatum
datum, double average ) {
Modified:
branches/perfsonarui/src/org/perfsonar/perfsonarui/ma/MARequest_NMWG2.java
===================================================================
---
branches/perfsonarui/src/org/perfsonar/perfsonarui/ma/MARequest_NMWG2.java
2008-06-08 08:42:37 UTC (rev 3973)
+++
branches/perfsonarui/src/org/perfsonar/perfsonarui/ma/MARequest_NMWG2.java
2008-06-08 16:57:53 UTC (rev 3974)
@@ -27,6 +27,7 @@
import org.perfsonar.perfsonarui.AbstractUserData;
import org.perfsonar.perfsonarui.MetadataListResponseListener;
import org.perfsonar.perfsonarui.NMWGHelper;
+import org.perfsonar.perfsonarui.PSErrorCodeException;
import org.perfsonar.perfsonarui.TimeValueResponseListener;
import org.perfsonar.perfsonarui.UserDataResponseListener;
import org.perfsonar.perfsonarui.aa.AAPerfsonarRequest;
@@ -317,9 +318,11 @@
//ParamUnitsElem.setAttribute("name", "valueUnits");
ParamElem.addContent(ParamUnitsElem);
*/
+ /*
if
(!userData.getCharacteristic(AbstractUserData.ID_QUERY).equals(AbstractUserData.NULL_DATA)){
MetElem.addContent(new Element("eventType",
nmwg).setText(userData.getCharacteristic(AbstractUserData.ID_QUERY).toString()));
} else
+ */
MetElem.addContent(new Element("eventType",
nmwg).setText(getSupportedEventType()));
return MetElem;
@@ -356,7 +359,7 @@
userData.getCharacteristic(AbstractUserData.ID_QUERY).toString())
);
} else
- MetElem.addContent(new Element("eventType",
nmwg).setText("utilization"));
+ MetElem.addContent(new Element("eventType",
nmwg).setText(getSupportedEventType()));
return MetElem;
} catch (Exception x) {
@@ -605,6 +608,7 @@
userData.setResponse(IUserData.C_DATAID,data.getAttribute(getId()));
processData(data, userData,
responseListener.getTimeValueResponse());
+ processErrorCode(data,metadataChain,userData);
}
@@ -645,7 +649,8 @@
if (index >= 0) {
processData(data, ud);
}
- }
+ } else ud = userData;
+ processErrorCode(data,metadataChain,ud);
}
@@ -675,7 +680,7 @@
}
userData.setResponse(IUserData.C_DATAID,data.getAttribute(getId()));
processData(data, userData);
-
+ processErrorCode(data,metadataChain,userData);
}
@@ -686,6 +691,53 @@
logger.error(x);
}
}
+
+ protected void processErrorCode(org.w3c.dom.Element data,
ArrayList<org.w3c.dom.Element> metadataChain, IUserData userData) {
+
+ PSErrorCodeException exception = null;
+
+ for (org.w3c.dom.Element metadata: metadataChain) {
+ Node eventType =
metadata.getElementsByTagNameNS(URI_nmwg[nmwg_version],"eventType").item(0);
+ if (eventType != null) {
+ String event = eventType.getFirstChild().getNodeValue();
+ if (event.startsWith("error.")) {
+ if (exception == null) {
+ MAEndpoint endpoint = null;
+ if (userData != null) endpoint =
userData.getEndpoint();
+ exception = new
PSErrorCodeException(endpoint,null,null);
+ }
+ exception.setErrorCode(event);
+ logger.error(event);
+ //fireAxisCallException(userData, x);
+
+ NodeList datum =
data.getElementsByTagNameNS(URI_nmwgr,IUserData.C_DATUM);
+
+ if ((datum!=null) && (datum.getLength()>0)) {
+ for (int i=0; i < datum.getLength();i++) {
+ org.w3c.dom.Element d =
(org.w3c.dom.Element)datum.item(i);
+ String description = d.getTextContent();
+ if (exception == null) {
+ MAEndpoint endpoint = null;
+ if (userData != null) endpoint =
userData.getEndpoint();
+ if (exception == null)
+ exception = new
PSErrorCodeException(endpoint,null,null);
+ exception.setMaEndpoint(endpoint);
+ }
+ exception.setErrordescription(description);
+ //logger.warn(">>\t" + userData.getId() + '\t'+
userData.getHostname(AbstractUserData.ID_RESPONSE) + '\t' +
d.getTextContent());
+ }
+ }
+ if (exception != null) {
+ logger.error(event);
+ fireAxisCallException(userData, exception);
+ }
+ if (userData != null)
+
userData.setResponse(AbstractUserData.C_STATUS,exception.getFullMessage());
+ } else {if (userData != null)
userData.setResponse(AbstractUserData.C_STATUS,"OK");}
+ } else {if (userData != null)
userData.setResponse(AbstractUserData.C_STATUS,"OK");}
+ }
+
+ }
protected void processMetadata(Node metadata, IUserData userData) {
processMetadata(metadata, (UserData) userData);
}
- perfsonar: r3974 - in branches/perfsonarui/src/org/perfsonar/perfsonarui: . ma, svnlog, 06/08/2008
Archive powered by MHonArc 2.6.16.