perfsonar-dev - perfsonar: r5016 - branches/new-structure-with-base2/ps-mdm-base2/src/main/java/org/perfsonar/base2/service/requesthandler
Subject: perfsonar development work
List archive
perfsonar: r5016 - branches/new-structure-with-base2/ps-mdm-base2/src/main/java/org/perfsonar/base2/service/requesthandler
Chronological Thread
- From:
- To:
- Subject: perfsonar: r5016 - branches/new-structure-with-base2/ps-mdm-base2/src/main/java/org/perfsonar/base2/service/requesthandler
- Date: Wed, 4 Mar 2009 08:34:41 -0500
Author: roman
Date: 2009-03-04 08:34:40 -0500 (Wed, 04 Mar 2009)
New Revision: 5016
Modified:
branches/new-structure-with-base2/ps-mdm-base2/src/main/java/org/perfsonar/base2/service/requesthandler/EchoServiceEngine.java
Log:
small updates
Modified:
branches/new-structure-with-base2/ps-mdm-base2/src/main/java/org/perfsonar/base2/service/requesthandler/EchoServiceEngine.java
===================================================================
---
branches/new-structure-with-base2/ps-mdm-base2/src/main/java/org/perfsonar/base2/service/requesthandler/EchoServiceEngine.java
2009-03-04 13:09:53 UTC (rev 5015)
+++
branches/new-structure-with-base2/ps-mdm-base2/src/main/java/org/perfsonar/base2/service/requesthandler/EchoServiceEngine.java
2009-03-04 13:34:40 UTC (rev 5016)
@@ -7,7 +7,9 @@
import org.perfsonar.base2.service.util.ResultCodesUtil;
import org.perfsonar.base2.xml.nmwg.Message;
import org.perfsonar.base2.xml.nmwg.Metadata;
+import org.perfsonar.base2.xml.nmwg.Data;
import org.perfsonar.base2.xml.nmwg.EventType;
+import org.perfsonar.base2.xml.Element;
import org.apache.log4j.Logger;
@@ -18,48 +20,102 @@
public class EchoServiceEngine implements ServiceEngine {
+ // ------------------------------------------------------------- class
fields
+
+
private static final Logger logger =
Logger.getLogger(EchoServiceEngine.class.getName());
public static final String ECHO_EVENT_TYPE =
"http://schemas.perfsonar.net/tools/admin/echo/2.0";
public static final String ECHO_SUCCESS_RESULT_CODE = "echo/success";
public static final String ECHO_SUCCESS_RESULT_CODE_DSC = "This is the
success echo response from the service.";
+ public static final String ECHO_SELF_TEST =
"http://schemas.perfsonar.net/tools/admin/selftest";
+
+ // ------------------------------------------------------------- methods
+
+
public void takeAction(ServiceMessage serviceRequest, ServiceMessage
serviceResponse)
throws PerfSONARException {
- logger.debug("Simple echo ServiceEngine started");
+ logger.debug("Simple echo ServiceEngine started.");
Message request = serviceRequest.getMessageElement();
+ String eventType = getEventType(request);
+ if (!eventType.equals(ECHO_EVENT_TYPE))
+ throw new PerfSONARException(
+ "Wrong echo eventType value in the request");
+
+ Message response =
+ ResultCodesUtil.generateResultMessage(ECHO_SUCCESS_RESULT_CODE,
ECHO_SUCCESS_RESULT_CODE_DSC);
+
+ response.setId("Resp_" + request.getAttribute("id"));
+ response.addAttribute("type", "EchoResponse");
+
+ serviceResponse.setElement(response);
+ }
+
+
+ protected String getEventType(Message request) throws PerfSONARException
{
+
Metadata reqMetadata =
request.getMetadataCollection().iterator().next();
if (reqMetadata == null)
throw new PerfSONARException(
- "There is no metadata in the request");
+ "There is no metadata in the request.");
if (reqMetadata.getEventTypes() == null)
throw new PerfSONARException(
- "The metadata element does not contain eventType
element");
+ "The metadata element does not contain eventType
element.");
if (reqMetadata.getEventTypes().size() != 1)
throw new PerfSONARException(
- "The metadata element does not contain only one
eventType element");
+ "The metadata element does not contain only one
eventType element.");
EventType reqEventType = reqMetadata.getEventTypes().get(0);
- if (!reqEventType.getEventType().trim().equals(ECHO_EVENT_TYPE))
- throw new PerfSONARException(
- "Wrong echo eventType value in the request");
+ return reqEventType.getEventType().trim();
- Message response =
- ResultCodesUtil.generateResultMessage(ECHO_SUCCESS_RESULT_CODE,
ECHO_SUCCESS_RESULT_CODE_DSC);
+ }
- response.setId("Resp_" + request.getAttribute("id"));
- response.addAttribute("type", "EchoResponse");
+ protected Message getResultMessage(String eventType, String description)
{
- serviceResponse.setElement(response);
+ Metadata meta = new Metadata("result-code", "nmwg");
+ EventType evt = new EventType(eventType, "nmwg");
+ meta.addChild(evt);
+ Data data = new Data("result-code-description", "result-code",
"nmwg");
+ Element datum = new Element("datum", "nmwgr",
"http://ggf.org/ns/nmwg/result/2.0/");
+ datum.setText(description);
+ data.addChild(datum);
+
+ return getResultMessage(meta, data);
+
}
-}
+ protected Message getResultMessage(String eventType, Data data) {
+
+ Metadata meta = new Metadata("result-code", "nmwg");
+ EventType evt = new EventType(eventType, "nmwg");
+ meta.addChild(evt);
+ data.setMetadataIdRef(meta.getId());
+
+ return getResultMessage(meta, data);
+
+ }
+
+
+ protected Message getResultMessage(Metadata meta, Data data) {
+
+ Message message = new Message();
+
+ message.addChild(meta);
+ message.addChild(data);
+
+ return message;
+
+ }
+
+
+} //EchoServiceEngine
- perfsonar: r5016 - branches/new-structure-with-base2/ps-mdm-base2/src/main/java/org/perfsonar/base2/service/requesthandler, svnlog, 03/04/2009
Archive powered by MHonArc 2.6.16.