perfsonar-dev - [GEANT/SA2/ps-java-services] r5588 - trunk/perfsonar-java-xml-ls/src/main/java/org/perfsonar/service/lookupservice
Subject: perfsonar development work
List archive
[GEANT/SA2/ps-java-services] r5588 - trunk/perfsonar-java-xml-ls/src/main/java/org/perfsonar/service/lookupservice
Chronological Thread
- From:
- To:
- Subject: [GEANT/SA2/ps-java-services] r5588 - trunk/perfsonar-java-xml-ls/src/main/java/org/perfsonar/service/lookupservice
- Date: Thu, 8 Apr 2010 11:23:09 +0100
Author: psnc.trzaszczka
Date: 2010-04-08 11:23:09 +0100 (Thu, 08 Apr 2010)
New Revision: 5588
Modified:
trunk/perfsonar-java-xml-ls/src/main/java/org/perfsonar/service/lookupservice/DiscoveryQueryGenerator.java
Log:
DiscoveryRequest improved
Modified:
trunk/perfsonar-java-xml-ls/src/main/java/org/perfsonar/service/lookupservice/DiscoveryQueryGenerator.java
===================================================================
---
trunk/perfsonar-java-xml-ls/src/main/java/org/perfsonar/service/lookupservice/DiscoveryQueryGenerator.java
2010-04-07 14:32:50 UTC (rev 5587)
+++
trunk/perfsonar-java-xml-ls/src/main/java/org/perfsonar/service/lookupservice/DiscoveryQueryGenerator.java
2010-04-08 10:23:09 UTC (rev 5588)
@@ -2,6 +2,7 @@
import java.util.Collection;
import java.util.HashSet;
+import java.util.Set;
import org.perfsonar.base2.service.exceptions.PerfSONARException;
import org.perfsonar.base2.xml.Element;
@@ -16,6 +17,7 @@
private Element discoverySubject = null;
public static final String nmtbUri =
"http://ogf.org/schema/network/topology/base/20070828/";
+ private Set<String> nmwgUris = new HashSet<String>();
private boolean extracted = false;
private HashSet<String> ipAddresses = new HashSet<String>();
private HashSet<String> domains = new HashSet<String>();
@@ -25,6 +27,8 @@
public DiscoveryQueryGenerator(Element subject) {
setSubject(subject);
+ nmwgUris.add("http://ggf.org/ns/nmwg/base/2.0/");
+ nmwgUris.add("http://ggf.org/ns/nmwg/base/1.0/");
}
public void setSubject(Element discoverySubject) {
@@ -37,6 +41,7 @@
keywords.clear();
}
+
public void extractSubject() throws PerfSONARException {
if (discoverySubject == null)
@@ -45,20 +50,21 @@
for (Element e : discoverySubject.getChildren()) {
String elementName = e.getName();
- String namespaceUri=e.getNamespaceUri();
-
+ String namespaceUri = e.getNamespaceUri();
+
if (namespaceUri.equals(nmtbUri)) {
if (elementName.equals("address")) {
addIpAddress(e);
-
} else if
(elementName.equals("domain")) {
addDomain(e);
-
- } else if
(elementName.equals("eventType")) {
+ } else {
+ throw new
PerfSONARException("error.ls.query",
+ "Unsupported
element :" + elementName);
+ }
+ } else if (nmwgUris.contains(namespaceUri)) {
+ if (elementName.equals("eventType")) {
addEventType(e);
-
} else if
(elementName.equals("parameters")) {
-
Collection<Element> params =
e.getChildren("parameter");
if (params != null) {
for (Element p :
params) {
@@ -75,13 +81,14 @@
}
}
}
-
}
- }else{
- throw new
PerfSONARException("error.ls.query","Unsupported element :"+elementName);
+ } else {
+ throw new
PerfSONARException("error.ls.query",
+ "Unsupported
element :" + elementName);
}
- }else{
- throw new
PerfSONARException("error.ls.query","Unsupported namespace :"+namespaceUri);
+ } else {
+ throw new
PerfSONARException("error.ls.query",
+ "Unsupported
namespace :" + namespaceUri);
}
}
}
@@ -126,7 +133,6 @@
extractSubject();
}
-
if (!ipAddresses.isEmpty() || !domains.isEmpty() ||
!keywords.isEmpty()
|| !eventTypes.isEmpty()) {
@@ -140,7 +146,7 @@
// add for expression
q.append("for $d in
/nmwg:store[@type='LSStore']/nmwg:data
\n");
-
+
// generate query conditions
q.append("where \n");
@@ -154,16 +160,17 @@
i += putCollectionToQueryBuffer(q, keywords,
"$d/nmwg:metadata//nmwg:parameter[@name='keyword']",
(i > 0), null);
-
+
q.append("return data($d/@metadataIdRef)");
query = q.toString();
- //add return statemet
-
+ // add return statemet
+
return query;
- }else{
- throw new PerfSONARException("error.ls.query","Lack
of specified subject elements(ip,domain,eventType,keyword)");
+ } else {
+ throw new PerfSONARException("error.ls.query",
+ "Lack of specified subject
elements(ip,domain,eventType,keyword)");
}
}
- [GEANT/SA2/ps-java-services] r5588 - trunk/perfsonar-java-xml-ls/src/main/java/org/perfsonar/service/lookupservice, svn-noreply, 04/08/2010
Archive powered by MHonArc 2.6.16.