perfsonar-dev - perfsonar: r4921 - trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/queryGenerator
Subject: perfsonar development work
List archive
perfsonar: r4921 - trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/queryGenerator
Chronological Thread
- From:
- To:
- Subject: perfsonar: r4921 - trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/queryGenerator
- Date: Fri, 30 Jan 2009 08:29:29 -0500
Author: roman
Date: 2009-01-30 08:29:28 -0500 (Fri, 30 Jan 2009)
New Revision: 4921
Modified:
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/queryGenerator/IperfQueryGenerator.java
Log:
iperf metadata parameters added
Modified:
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/queryGenerator/IperfQueryGenerator.java
===================================================================
---
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/queryGenerator/IperfQueryGenerator.java
2009-01-30 08:57:16 UTC (rev 4920)
+++
trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/queryGenerator/IperfQueryGenerator.java
2009-01-30 13:29:28 UTC (rev 4921)
@@ -8,6 +8,7 @@
import org.ggf.ns.nmwg.base.v2_0.Message;
import org.ggf.ns.nmwg.base.v2_0.Metadata;
import org.ggf.ns.nmwg.base.v2_0.Parameter;
+import org.ggf.ns.nmwg.base.v2_0.Parameters;
import org.ggf.ns.nmwg.tools.iperf.v2_0.Subject;
import org.ggf.ns.nmwg.topology.v2_0.EndPointPair;
import org.ggf.ns.nmwg.topology.v2_0.Src;
@@ -18,7 +19,11 @@
import org.perfsonar.base.auxiliary.components.logger.LoggerComponent;
import org.perfsonar.base.exceptions.PerfSONARException;
+import java.util.Set;
+import java.util.Map;
+import java.util.HashMap;
+
/**
* Transforms nmwg message into xquery/xpath
* (query to fetch metadata with utilization metric)
@@ -35,6 +40,7 @@
protected LoggerComponent logger = null;
+ private final String[] parameters = { "format", "protocol",
"windowSize", "timeDuration", "valueUnits", "numBytesUnits" };
// -------------------------------------- constructors
@@ -110,7 +116,26 @@
keywordQueryPart = " and
$i/nmwg:parameters/nmwg:parameter[(functx:trim(text())='"+ keyword +"' and
functx:trim(@name)='keyword') or (functx:trim(@value)='" + keyword + "' and
functx:trim(@name)='keyword')] ";
}
+ // iperf parameters
+ Map<String, String> iperfParametersMap = new
HashMap<String,String>();
+ Parameters params = null;
+ try {
+ // iperf:parameters
+ params = (org.ggf.ns.nmwg.tools.iperf.v2_0.Parameters)
metadata.getParameters();
+ } catch (ClassCastException ex) {
+ // nmwg:parameters
+ params = metadata.getParameters();
+ }
+ if (params != null) {
+ for (String parameter : parameters) {
+ if (params.getParameterByName(parameter) != null)
+ iperfParametersMap.put(parameter,
+
(params.getParameterByName(parameter).getParameterValue() != null ?
+
params.getParameterByName(parameter).getParameterValue().trim() : ""));
+ }
+ }
+
Src sourceElement = null;
Dst destinationElement = null;
@@ -213,6 +238,17 @@
xQuery += "and
$i/iperf:subject/nmwgt:endPointPair/nmwgt:dst[functx:trim(@type)='" +
destinationElement.getType().trim() + "'] ";
}
+
+ Set<String> keySet = iperfParametersMap.keySet();
+ for(String key : keySet){
+ String v = iperfParametersMap.get(key);
+ if (v.length() > 0) {
+ xQuery += "and $i/iperf:parameters/nmwg:parameter[(text()='"
+ v + "' and @name='" + key + "') "
+ + "or (@value='" + v + "' and @name='" + key + "')] ";
+ }
+ }
+
+
xQuery += "\n"
+ " return $i
\n"
+ "
\n"
- perfsonar: r4921 - trunk/perfsonar_base/src/main/java/org/perfsonar/service/measurementArchive/metadataConfig/queryGenerator, svnlog, 01/30/2009
Archive powered by MHonArc 2.6.16.