Skip to Content.
Sympa Menu

perfsonar-dev - perfsonar: r4056 - in trunk/geant2_java-sshtelnet-mp: doc/commands src/main/java/org/perfsonar/service/measurementPoint/lookingGlassType/engine/adapters src/main/java/org/perfsonar/service/measurementPoint/lookingGlassType/internalChecks

Subject: perfsonar development work

List archive

perfsonar: r4056 - in trunk/geant2_java-sshtelnet-mp: doc/commands src/main/java/org/perfsonar/service/measurementPoint/lookingGlassType/engine/adapters src/main/java/org/perfsonar/service/measurementPoint/lookingGlassType/internalChecks


Chronological Thread 
  • From:
  • To:
  • Subject: perfsonar: r4056 - in trunk/geant2_java-sshtelnet-mp: doc/commands src/main/java/org/perfsonar/service/measurementPoint/lookingGlassType/engine/adapters src/main/java/org/perfsonar/service/measurementPoint/lookingGlassType/internalChecks
  • Date: Thu, 26 Jun 2008 06:07:00 -0400

Author: melis
Date: 2008-06-26 06:06:59 -0400 (Thu, 26 Jun 2008)
New Revision: 4056

Modified:

trunk/geant2_java-sshtelnet-mp/doc/commands/commands-complete-list-v6-AI.xls

trunk/geant2_java-sshtelnet-mp/src/main/java/org/perfsonar/service/measurementPoint/lookingGlassType/engine/adapters/WebserviceEngineAdapter.java

trunk/geant2_java-sshtelnet-mp/src/main/java/org/perfsonar/service/measurementPoint/lookingGlassType/internalChecks/InternalChecker.java
Log:
added first implementation for self tests (still have to test it though)

Modified:
trunk/geant2_java-sshtelnet-mp/doc/commands/commands-complete-list-v6-AI.xls
===================================================================
(Binary files differ)

Modified:
trunk/geant2_java-sshtelnet-mp/src/main/java/org/perfsonar/service/measurementPoint/lookingGlassType/engine/adapters/WebserviceEngineAdapter.java
===================================================================
---
trunk/geant2_java-sshtelnet-mp/src/main/java/org/perfsonar/service/measurementPoint/lookingGlassType/engine/adapters/WebserviceEngineAdapter.java
2008-06-24 15:26:43 UTC (rev 4055)
+++
trunk/geant2_java-sshtelnet-mp/src/main/java/org/perfsonar/service/measurementPoint/lookingGlassType/engine/adapters/WebserviceEngineAdapter.java
2008-06-26 10:06:59 UTC (rev 4056)
@@ -28,9 +28,8 @@
import org.perfsonar.base.exceptions.PerfSONARException;
import org.perfsonar.service.base.engine.ActionType;
import org.perfsonar.service.base.engine.ServiceEngine;
-import org.perfsonar.service.base.registration.GenericServiceLSRegistrator;
-import org.perfsonar.service.base.registration.PropertiesServiceDescription;
-import org.perfsonar.service.base.registration.ServiceLSRegistrator;
+import org.perfsonar.service.base.messages.EchoRequest;
+import
org.perfsonar.service.measurementPoint.lookingGlassType.internalChecks.InternalChecker;
import
org.perfsonar.service.measurementPoint.lookingGlassType.metadata.DbMetadataConfiguration;
import
org.perfsonar.service.measurementPoint.lookingGlassType.metadata.MetadataConfiguration;

@@ -125,7 +124,11 @@

return createServiceCapabilitiesResponse(request);

- } // Find the correct handler for the device requested
+ } else if (actionType.equalsIgnoreCase(ActionType.ECHO)) {
+
+ return createEchoResponse(request);
+
+ }// Find the correct handler for the device requested
else {

logger.debug("[WebserviceEngineAdapter][takeAction] Number of
blocks: " + requestMetadata.length);
@@ -508,6 +511,127 @@

}

+ private Message createEchoResponse(Message request){
+ String testEventType =
"http://schemas.perfsonar.net/tools/admin/selftest/1.0";;
+
+ try {
+ Message response = new Message();
+
+ Metadata reqMetadata = request.getMetadataArray()[0];
+ Data reqData = request.getDataArray()[0];
+ EventType reqEventType = reqMetadata.getEventType();
+
+ if
(reqEventType.getEventType().equals(testEventType)){
+
+ InternalChecker checker = new
InternalChecker();
+
+ Metadata resMetadata = new Metadata();
+ resMetadata.setId(reqMetadata.getId());
+ resMetadata.setEventType(reqEventType);
+
+ response.setMetadata(resMetadata);
+
+ Data resData = new Data();
+ resData.setId(reqData.getId());
+ resData.setMetadataIdRef(reqMetadata.getId());
+
+ if (checker.checkExist()){
+
+ List devices = checker.getDevices();
+
+ Metadata[] resDataMetadataBlock = new
Metadata[devices.size() + 1];
+ Data[] resDataDataBlock = new
Data[devices.size() + 1];
+
+ resDataMetadataBlock[0] = new
Metadata();
+
resDataMetadataBlock[0].setId("sshtelnet_eXist_test");
+ EventType evType = new EventType();
+
evType.setEventType("http://schemas.perfsonar.net/tools/admin/selftest/"; +
+
"MP/SSHTELNET/sshtelnet_eXist_test/success/1.0");
+
resDataMetadataBlock[0].setEventType(evType);
+
+ resDataDataBlock[0] = new Data();
+
resDataDataBlock[0].setId("data_sshtelnet_eXist_test");
+
resDataDataBlock[0].setMetadataIdRef("sshtelnet_eXist_test");
+ Datum datum = new Datum();
+ datum.setValue("eXist database
reachable and metadata configuration file found");
+ resDataDataBlock[0].setDatum(datum);
+
+
resData.addChild(resDataMetadataBlock[0]);
+ resData.addChild(resDataDataBlock[0]);
+
+ // for every device, test the device
+ Iterator<String> it =
devices.iterator();
+ int i = 1;
+ while (it.hasNext()){
+ String device = it.next();
+ if
(checker.checkDevice(device)){
+
resDataMetadataBlock[i] = new Metadata();
+
resDataMetadataBlock[i].setId("sshtelnet_device_test_"+i);
+ evType = new
EventType();
+
evType.setEventType("http://schemas.perfsonar.net/tools/admin/selftest/"; +
+
"MP/SSHTELNET/sshtelnet_device_test_"+i+"/success/1.0");
+
resDataMetadataBlock[0].setEventType(evType);
+
+ resDataDataBlock[i] =
new Data();
+
resDataDataBlock[i].setId("data_sshtelnet_device_test_"+i);
+
resDataDataBlock[i].setMetadataIdRef("sshtelnet_device_test_"+i);
+ datum = new Datum();
+
datum.setValue("Device " + device + " reachable: OK");
+
resDataDataBlock[i].setDatum(datum);
+
+
resData.addChild(resDataMetadataBlock[i]);
+
resData.addChild(resDataDataBlock[i]);
+ } else {
+
resDataMetadataBlock[i] = new Metadata();
+
resDataMetadataBlock[i].setId("sshtelnet_device_test_"+i);
+ evType = new
EventType();
+
evType.setEventType("http://schemas.perfsonar.net/tools/admin/selftest/"; +
+
"MP/SSHTELNET/sshtelnet_device_test_"+i+"/failure/1.0");
+
resDataMetadataBlock[0].setEventType(evType);
+
+ resDataDataBlock[i] =
new Data();
+
resDataDataBlock[i].setId("data_sshtelnet_device_test_"+i);
+
resDataDataBlock[i].setMetadataIdRef("sshtelnet_device_test_"+i);
+ datum = new Datum();
+
datum.setValue("Device " + device + " not reachable! The MP will not be able"
+
+ " to
issue commands on this device!");
+
resDataDataBlock[i].setDatum(datum);
+
+
resData.addChild(resDataMetadataBlock[i]);
+
resData.addChild(resDataDataBlock[i]);
+ }

+ }
+
+ } else {
+ Metadata resDataMetadata = new
Metadata();
+
resDataMetadata.setId("sshtelnet_eXist_test");
+ EventType evType = new EventType();
+
evType.setEventType("http://schemas.perfsonar.net/tools/admin/selftest/"; +
+
"MP/SSHTELNET/sshtelnet_eXist_test/failure/1.0");
+ resDataMetadata.setEventType(evType);
+
+ Data resDataData = new Data();
+
resDataData.setId("data_sshtelnet_eXist_test");
+
resDataData.setMetadataIdRef("sshtelnet_eXist_test");
+ Datum datum = new Datum();
+ datum.setValue("eXist database not
reachable or no metadata configuration file found in eXist database.");
+ resDataData.setDatum(datum);
+
+ resData.addChild(resDataMetadata);
+ resData.addChild(resDataData);

+ }
+ } else if
(reqEventType.getEventType().equals(EchoRequest.ECHO_NAMESPACE)){
+ EchoRequest echo = new EchoRequest();
+ return echo.execute(request);
+ }
+ return response;
+ } catch (PerfSONARException e) {
+
logger.error("[WebserviceEngineAdapter][createEchoResponse] An error occured
while doing" +
+ " the internal check: " +
e.getStackTrace()[0].toString());
+ return null;
+ }
+ }
+
/*private void registerServiceWithLS() {

try {

Modified:
trunk/geant2_java-sshtelnet-mp/src/main/java/org/perfsonar/service/measurementPoint/lookingGlassType/internalChecks/InternalChecker.java
===================================================================
---
trunk/geant2_java-sshtelnet-mp/src/main/java/org/perfsonar/service/measurementPoint/lookingGlassType/internalChecks/InternalChecker.java
2008-06-24 15:26:43 UTC (rev 4055)
+++
trunk/geant2_java-sshtelnet-mp/src/main/java/org/perfsonar/service/measurementPoint/lookingGlassType/internalChecks/InternalChecker.java
2008-06-26 10:06:59 UTC (rev 4056)
@@ -31,7 +31,7 @@

private String description = "";

- private List devices = null;
+ private List<String> devices = null;

private MetadataConfiguration properties = null;
private LoggerComponent logger = null;
@@ -92,6 +92,10 @@
return clear;
}

+ public List<String> getDevices() {
+ return devices;
+ }
+
public boolean checkDevices () {
boolean clear = true;




  • perfsonar: r4056 - in trunk/geant2_java-sshtelnet-mp: doc/commands src/main/java/org/perfsonar/service/measurementPoint/lookingGlassType/engine/adapters src/main/java/org/perfsonar/service/measurementPoint/lookingGlassType/internalChecks, svnlog, 06/26/2008

Archive powered by MHonArc 2.6.16.

Top of Page