Skip to Content.
Sympa Menu

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.

Top of Page