perfsonar-dev - perfsonar: r5349 - in branches/new-structure-with-base2/ps-mdm-ls: contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/auxiliary contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/functionalTests contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/stressTests src/main/java/org/perfsonar/service/lookupservice/storage/exist
Subject: perfsonar development work
List archive
perfsonar: r5349 - in branches/new-structure-with-base2/ps-mdm-ls: contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/auxiliary contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/functionalTests contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/stressTests src/main/java/org/perfsonar/service/lookupservice/storage/exist
Chronological Thread
- From:
- To:
- Subject: perfsonar: r5349 - in branches/new-structure-with-base2/ps-mdm-ls: contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/auxiliary contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/functionalTests contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/stressTests src/main/java/org/perfsonar/service/lookupservice/storage/exist
- Date: Tue, 17 Nov 2009 06:13:38 -0500
Author: trzaszcz
Date: 2009-11-17 06:13:38 -0500 (Tue, 17 Nov 2009)
New Revision: 5349
Added:
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/auxiliary/TestService.py
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/auxiliary/XMLGenerator.py
Removed:
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/auxiliary/MessageGenerator.py
Modified:
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/functionalTests/DeregistrationTest.py
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/functionalTests/QueryTest.py
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/functionalTests/RegistrationTest.py
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/stressTests/DeregistrationThread.py
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/stressTests/Main.py
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/stressTests/RegistrationThread.py
branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice/storage/exist/MultipleFilesExistDAOImpl.java
branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice/storage/exist/XQueryDAOSupportImpl.java
branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice/storage/exist/XQueryExistDAOImpl.java
Log:
multiplefiles model improvement, performance tests -abstract layer
Deleted:
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/auxiliary/MessageGenerator.py
Added:
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/auxiliary/TestService.py
Added:
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/auxiliary/XMLGenerator.py
Modified:
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/functionalTests/DeregistrationTest.py
===================================================================
---
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/functionalTests/DeregistrationTest.py
2009-11-17 10:10:17 UTC (rev 5348)
+++
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/functionalTests/DeregistrationTest.py
2009-11-17 11:13:38 UTC (rev 5349)
@@ -4,43 +4,24 @@
@author: czacha
'''
-from pl.psnc.trzaszczka.auxiliary.Auxiliary import Sender
-import os
-import time
+from pl.psnc.trzaszczka.auxiliary.TestService import TestService
if __name__ == '__main__':
f=open("../../../../../inputs/LSDeregisterRequest.xml","r")
soap_template_content=f.read()
- access_points=[]
urlPostfixes=["1","149","2","148","3","146","145","11","78","65","100","129","141","25","15","133","18","25","74","101","123","112","100","77","49","94","17","X"]
+ messages=[]
+
for c in urlPostfixes :
- access_points.append("http://localhost:8180/"+str(c)+"")
- pass
+
message=soap_template_content.replace("ACCESS_POINT","http://localhost:8180/"+str(c)+"")
+ messages.append(message)
- sender=Sender("127.0.0.1:8080")
- sender.connect()
-
- result_list=[]
- c=0
- for access_point in access_points :
-
soap_message=soap_template_content.replace("ACCESS_POINT",access_point)
- before=time.time()
-
sender.send("/perfsonar-java-xml-ls/services/LookupService",soap_message)
- result_list.append((time.time()-before)*1000)
-
- strResult="";
- sum=0;
- for t in range(0,len(result_list)) :
- sum=sum+result_list[t]
- strResult=strResult+'%(iteration)d;%(time)f \n' %
{"iteration":t+1,"time":result_list[t]}
- strResult=strResult+'avg;%(time)f \n' % {"time":(sum/len(result_list))}
+ testService=TestService("127.0.0.1:8080",
"/perfsonar-java-xml-ls/services/LookupService",
"../../../../../results/dr-ls2.txt")
+ strResult=testService.runTest(messages)
- f=open("../../../../../results/deregistration-2-ls2-exist.txt","w")
- f.write(strResult)
-
print "--------------------------"
print strResult
print "--------------------------"
Modified:
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/functionalTests/QueryTest.py
===================================================================
---
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/functionalTests/QueryTest.py
2009-11-17 10:10:17 UTC (rev 5348)
+++
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/functionalTests/QueryTest.py
2009-11-17 11:13:38 UTC (rev 5349)
@@ -4,9 +4,7 @@
@author: czacha
'''
-from pl.psnc.trzaszczka.auxiliary.Auxiliary import Sender
-import os
-import time
+from pl.psnc.trzaszczka.auxiliary.TestService import TestService
if __name__ == '__main__':
@@ -16,32 +14,17 @@
urlPostfixes=["1","150","2","149","3","148","68","55","X","100","81","15","47","131","A","b","c"]
+ messages=[]
+
for c in urlPostfixes :
-
access_points.append("data(/nmwg:store[@type='LSStore']/nmwg:metadata[@id='http://localhost:8180/"+str(c)+"'])")
- pass
+
message=soap_template_content.replace("QUERY","data(/nmwg:store[@type='LSStore']/nmwg:metadata[@id='http://localhost:8180/"+str(c)+"'])")
+ messages.append(message)
- sender=Sender("127.0.0.1:8080")
- sender.connect()
-
- result_list=[]
- c=0
- for access_point in access_points :
- soap_message=soap_template_content.replace("QUERY",access_point)
- before=time.time()
-
sender.send("/perfsonar-java-xml-ls/services/LookupService",soap_message)
- result_list.append((time.time()-before)*1000)
-
- strResult="";
- sum=0;
- for t in range(0,len(result_list)) :
- sum=sum+result_list[t]
- strResult=strResult+'%(iteration)d;%(time)f \n' %
{"iteration":t+1,"time":result_list[t]}
- strResult=strResult+'avg;%(time)f \n' % {"time":(sum/len(result_list))}
+ testService=TestService("127.0.0.1:8080",
"/perfsonar-java-xml-ls/services/LookupService",
"../../../../../results/q-ls2.txt")
+ strResult=testService.runTest(messages)
-# f=open("../../../results/query-ls2-exist-3.txt","w")
-# f.write(strResult)
-
print "--------------------------"
print strResult
- print "--------------------------"
+ print "--------------------------"
+
\ No newline at end of file
Modified:
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/functionalTests/RegistrationTest.py
===================================================================
---
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/functionalTests/RegistrationTest.py
2009-11-17 10:10:17 UTC (rev 5348)
+++
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/functionalTests/RegistrationTest.py
2009-11-17 11:13:38 UTC (rev 5349)
@@ -3,48 +3,22 @@
@author: czacha
'''
-from pl.psnc.trzaszczka.auxiliary.Auxiliary import Sender
-import os
-import time
+from pl.psnc.trzaszczka.auxiliary.TestService import TestService
if __name__ == '__main__':
f=open("../../../../../inputs/LSRegistrationRequest100.xml","r")
soap_template_content=f.read()
- access_points=[]
+ messages=[]
for c in range(1,151) :
- access_points.append("http://localhost:8180/"+str(c))
+
message=soap_template_content.replace("LS_REGISTRATION_ACCESS_POINT","http://localhost:8180/"+str(c))
+ messages.append(message)
- sender=Sender("127.0.0.1:8080")
- sender.connect()
+ testService=TestService("127.0.0.1:8080",
"/perfsonar-java-xml-ls/services/LookupService",
"../../../../../results/result-ls2-exist.txt")
+ strResult=testService.runTest(messages)
- result_list=[]
- c=0
- bt=time.time()
- for access_point in access_points :
-
soap_message=soap_template_content.replace("LS_REGISTRATION_ACCESS_POINT",access_point)
- before=time.time()
-
sender.send("/perfsonar-java-xml-ls/services/LookupService",soap_message)
- result_list.append((time.time()-before)*1000)
- print c
- c=c+1
-
- strResult="";
- sum=0;
- print "summary time "+str(((time.time()-bt)*1000000))
-
-
- for t in range(0,len(result_list)) :
- sum=sum+result_list[t]
- strResult=strResult+'%(iteration)d;%(time)f \n' %
{"iteration":t,"time":result_list[t]}
- strResult=strResult+'avg;%(time)f \n' % {"time":(sum/len(result_list))}
-
-# f=open("../../../results/result-ls2-exist.txt","w")
-# f.write(strResult)
-
print "--------------------------"
print strResult
- print "--------------------------"
-
\ No newline at end of file
+ print "--------------------------"
\ No newline at end of file
Modified:
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/stressTests/DeregistrationThread.py
===================================================================
---
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/stressTests/DeregistrationThread.py
2009-11-17 10:10:17 UTC (rev 5348)
+++
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/stressTests/DeregistrationThread.py
2009-11-17 11:13:38 UTC (rev 5349)
@@ -35,8 +35,7 @@
id=self.r_list[element_nr]
# deregistration
soap_message=template.replace("ACCESS_POINT","http://localhost:8180/"+str(id))
- print connection.send(self.url_path, soap_message)
-
+ connection.send(self.url_path, soap_message)
self.freeElement(id)
else :
print "empty"
Modified:
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/stressTests/Main.py
===================================================================
---
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/stressTests/Main.py
2009-11-17 10:10:17 UTC (rev 5348)
+++
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/stressTests/Main.py
2009-11-17 11:13:38 UTC (rev 5349)
@@ -25,8 +25,8 @@
f_list=range(1,1000)
-
regThread=RegistrationThread(0.005,url,url_path,"../../../../../inputs/LSRegistrationRequest.xml",r_list,f_list);
-
deregThread=DeregistrationThread(0.010,url,url_path,"../../../../../inputs/LSDeregisterRequest.xml",r_list,f_list);
+
regThread=RegistrationThread(0.005,1000,url,url_path,"../../../../../inputs/LSRegistrationRequest100.xml",r_list,f_list);
+
deregThread=DeregistrationThread(0.030,url,url_path,"../../../../../inputs/LSDeregisterRequest.xml",r_list,f_list);
qThread=QueryingThread(0.001,url,url_path,"../../../../../inputs/LSQueryRequest.xml",r_list,f_list);
Modified:
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/stressTests/RegistrationThread.py
===================================================================
---
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/stressTests/RegistrationThread.py
2009-11-17 10:10:17 UTC (rev 5348)
+++
branches/new-structure-with-base2/ps-mdm-ls/contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/stressTests/RegistrationThread.py
2009-11-17 11:13:38 UTC (rev 5349)
@@ -16,25 +16,26 @@
'''
- def __init__(self,delay,host,url_path,file_url,r_list,f_list):
+ def __init__(self,delay,count,host,url_path,file_url,r_list,f_list):
'''
Constructor
'''
+ self.count=count
StressThread.__init__(self, delay, host,url_path, file_url, r_list,
f_list)
def run(self):
connection=self.getConnection()
template=self.getMessageTemplate()
-
- while (True):
- print "R"
+ iteration=0
+ while (iteration<self.count):
+ print "r:",len(self.r_list)," f:",len(self.f_list)
+ print "R [",iteration,"/",self.count,"]"
id=self.f_list[0]
# registration
soap_message=template.replace("LS_REGISTRATION_ACCESS_POINT","http://localhost:8180/"+str(id))
connection.send(self.url_path, soap_message)
-
self.registerElement(id)
time.sleep(self.delay)
-
-
\ No newline at end of file
+ iteration=iteration+1
+
\ No newline at end of file
Modified:
branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice/storage/exist/MultipleFilesExistDAOImpl.java
===================================================================
---
branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice/storage/exist/MultipleFilesExistDAOImpl.java
2009-11-17 10:10:17 UTC (rev 5348)
+++
branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice/storage/exist/MultipleFilesExistDAOImpl.java
2009-11-17 11:13:38 UTC (rev 5349)
@@ -17,7 +17,7 @@
* @author Maciej Glowiak
*
*/
-public class MultipleFilesExistDAOImpl extends XQueryDAOSupportImpl{
+public class MultipleFilesExistDAOImpl extends XQueryDAOSupportImpl {
//
---------------------------------------------------------------constants
@@ -27,9 +27,6 @@
+ "
xmlns:perfsonar=\"http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/\" "
+ "
xmlns:netutil=\"http://ggf.org/ns/nmwg/characteristic/utilization/2.0/\" ";
- private static final String LS_STORE_CONTROL_HEADER = "<nmwg:store "
- + XMLNS + "type=\"LSStore-control\">\n";
-
private static final String LS_STORE_HEADER = "<nmwg:store " + XMLNS
+ "type=\"LSStore\">\n";
@@ -37,17 +34,11 @@
private static final String STORE_COLLECTION = "store";
- private static final String CONTROL_COLLECTION = "control";
- // ------------------------------------------------------instance
variables
-
- // ------------------------------------------------------------
constructor
-
public MultipleFilesExistDAOImpl() {
super();
}
- // --------------------------------------------------------- public
methods
public void putLookupInfo(Metadata m, Data[] d) throws
PerfSONARException {
@@ -95,62 +86,43 @@
public int removeLookupInfo(String metadataId) throws
PerfSONARException {
int result = 0;
- PerfSONARException pex = null;
try {
getDataStorage().delete(getStoreFile(metadataId),
getDataCredential());
- result++;
} catch (PerfSONARException ex) {
- pex = ex;
+ logger.warn(ex);
}
- try {
- getDataStorage().delete(getControlFile(metadataId),
- getDataCredential());
- result++;
- } catch (PerfSONARException ex) {
- pex = ex;
- }
- if (result == 0)
- throw pex; // only throw if two failed
+ String xquery =XQUERY_DECLARE_NAMESPACES+
+ " for $i in " +
+ "(" +
+
"/nmwg:store[@type='"
+ LS_STORE_CONTROL_COLLECTION_TYPE
+"']/nmwg:metadata[@id='"
+ metadataId + "']"+
+ ", "+
+
"/nmwg:store[@type='"
+ LS_STORE_COLLECTION_TYPE+
"']/nmwg:metadata[@id='"
+ metadataId + "']" +
+ ")" +
+ " return (update delete $i, 'removed') ";
+
+ XMLDBResult res = performXQuery(xquery);
+ result=res.getTotal();
+
return result;
}
- public void setControlParameter(String metadataId, String parameter,
- String value) throws PerfSONARException {
- // TODO: now all parameters are replaced (whole file), should
be
- // fixed!!!
- StringBuffer doc = new StringBuffer();
- doc.append(LS_STORE_CONTROL_HEADER);
- doc.append("<nmwg:metadata id='" + metadataId + "'>");
- doc.append("<nmwg:parameters id='control-parameters'>");
- doc.append("<nmwg:parameter name='" + parameter + "' value='"
+ value
- + "'/>");
- doc.append("</nmwg:parameters>");
- doc.append("</nmwg:metadata>");
- doc.append(LS_STORE_FOOTER);
- getDataStorage().put(doc.toString(),
getControlFile(metadataId),
- getDataCredential());
- }
-
- public void removeControlParameter(String metadataId, String
parameter)
+ private void removeControlElement(String metadataId)
throws PerfSONARException {
- // TODO: now all parameters are removed (whole file), should
be fixed!!!
- removeAllControlParameters(metadataId);
+ String xquery = DECLARE_NMWG_NAMESPACE+
+ " for $meta in
/nmwg:store[@type='LSStore-control']/nmwg:metadata[@id='"+metadataId+"']
\n" +
+ " return (update delete $meta)";
+
+ performXQuery(xquery);
}
- protected void removeAllControlParameters(String metadataId)
- throws PerfSONARException {
- // TODO: to be changed - each parameter in separate file
- getDataStorage()
- .delete(getControlFile(metadataId),
getDataCredential());
- }
-
+
public int cleanupLookupInfo(long timestamp, long defaultInterval)
throws PerfSONARException {
-
+ int result;
String xquery = DECLARE_NMWG_NAMESPACE
+
@@ -168,19 +140,17 @@
+ " let $metaid := data($meta/@id)\n "
+ " where $ts + $interval < $now\n" +
"return $metaid\n";
- XMLDBResult res = getDataStorage().performXQuery(xquery,
- getDataCollection(), getDataCredential());
-
+ XMLDBResult res = performXQuery(xquery);
+ result=res.getResults().size();
for (Element e : res.getResults()) {
String metadataId = e.getText();
removeLookupInfo(metadataId);
- removeAllControlParameters(metadataId);
+ removeControlElement(metadataId);
}
- return -1;
+ return result;
}
- // ----------------------------------------------------------------
private
private String md5(String text) throws Exception {
MessageDigest md = null;
@@ -208,19 +178,6 @@
} catch (Exception ex) {
return null;
}
-
}
- private String getControlFile(String id /* , String parameter */) {
- try {
- String file = getDataCollection() + "/" +
CONTROL_COLLECTION + "/"
- + md5(id) +
- /* "-"+parameter+ */// if each
parameter has unique filename
- ".xml";
- return file;
- } catch (Exception ex) {
- return null;
- }
- }
-
}
Modified:
branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice/storage/exist/XQueryDAOSupportImpl.java
===================================================================
---
branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice/storage/exist/XQueryDAOSupportImpl.java
2009-11-17 10:10:17 UTC (rev 5348)
+++
branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice/storage/exist/XQueryDAOSupportImpl.java
2009-11-17 11:13:38 UTC (rev 5349)
@@ -64,5 +64,53 @@
String result = countLookupInfo(metadataId);
return !("0 0".equals(result));
}
+
+ @Override
+ public void setControlParameter(String metadataId, String parameter,
+ String value) throws PerfSONARException {
+ String xquery = DECLARE_NMWG_NAMESPACE
+ +
+
+ "let $paramName := '"
+ + parameter
+ + "' \n"
+ + "let $paramValue := '"
+ + value
+ + "' \n"
+ + "let $metadataId := '"
+ + metadataId
+ + "' \n"
+ +
+
+ "let $command := \n"
+ + " if
(count(/nmwg:store[@type='"
+ + LS_STORE_CONTROL_COLLECTION_TYPE
+ +
"']/nmwg:metadata[@id=$metadataId]/nmwg:parameters/nmwg:parameter[@name=$paramName])
> 0) then \n"
+ + " update replace
/nmwg:store[@type='"
+ + LS_STORE_CONTROL_COLLECTION_TYPE
+ +
"']/nmwg:metadata[@id=$metadataId]/nmwg:parameters/nmwg:parameter[@name=$paramName]/@value
with $paramValue \n"
+ + " else if
(count(/nmwg:store[@type='"
+ + LS_STORE_CONTROL_COLLECTION_TYPE
+ +
"']/nmwg:metadata[@id=$metadataId]/nmwg:parameters)
> 0) then \n"
+ + " update insert <nmwg:parameter
name='{$paramName}' value='{$paramValue}'/> into
/nmwg:store[@type='"
+ + LS_STORE_CONTROL_COLLECTION_TYPE
+ +
"']/nmwg:metadata[@id=$metadataId]/nmwg:parameters
\n"
+ + " else if
(count(/nmwg:store[@type='"
+ + LS_STORE_CONTROL_COLLECTION_TYPE
+ +
"']/nmwg:metadata[@id=$metadataId])
> 0) then \n"
+ + " update insert <nmwg:parameters
id='control-parameters'><nmwg:parameter name='{$paramName}'
value='{$paramValue}'/></nmwg:parameters> into
/nmwg:store[@type='"
+ + LS_STORE_CONTROL_COLLECTION_TYPE
+ +
"']/nmwg:metadata[@id=$metadataId]
\n"
+ + " else "
+ + " update insert <nmwg:metadata
id='{$metadataId}'><nmwg:parameters id='control-parameters'><nmwg:parameter
name='{$paramName}' value='{$paramValue}'/></nmwg:parameters></nmwg:metadata>
into
/nmwg:store[@type='"
+ + LS_STORE_CONTROL_COLLECTION_TYPE + "'] \n" +
+
+ "return $command \n";
+
+ // put
+ performXQuery(xquery);
+
+ } // set parameter
+
}
Modified:
branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice/storage/exist/XQueryExistDAOImpl.java
===================================================================
---
branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice/storage/exist/XQueryExistDAOImpl.java
2009-11-17 10:10:17 UTC (rev 5348)
+++
branches/new-structure-with-base2/ps-mdm-ls/src/main/java/org/perfsonar/service/lookupservice/storage/exist/XQueryExistDAOImpl.java
2009-11-17 11:13:38 UTC (rev 5349)
@@ -153,54 +153,6 @@
return res.getTextResults().length;
}
- @Override
- public void setControlParameter(String metadataId, String parameter,
- String value) throws PerfSONARException {
-
- String xquery = DECLARE_NMWG_NAMESPACE
- +
-
- "let $paramName := '"
- + parameter
- + "' \n"
- + "let $paramValue := '"
- + value
- + "' \n"
- + "let $metadataId := '"
- + metadataId
- + "' \n"
- +
-
- "let $command := \n"
- + " if
(count(/nmwg:store[@type='"
- + LS_STORE_CONTROL_COLLECTION_TYPE
- +
"']/nmwg:metadata[@id=$metadataId]/nmwg:parameters/nmwg:parameter[@name=$paramName])
> 0) then \n"
- + " update replace
/nmwg:store[@type='"
- + LS_STORE_CONTROL_COLLECTION_TYPE
- +
"']/nmwg:metadata[@id=$metadataId]/nmwg:parameters/nmwg:parameter[@name=$paramName]/@value
with $paramValue \n"
- + " else if
(count(/nmwg:store[@type='"
- + LS_STORE_CONTROL_COLLECTION_TYPE
- +
"']/nmwg:metadata[@id=$metadataId]/nmwg:parameters)
> 0) then \n"
- + " update insert <nmwg:parameter
name='{$paramName}' value='{$paramValue}'/> into
/nmwg:store[@type='"
- + LS_STORE_CONTROL_COLLECTION_TYPE
- +
"']/nmwg:metadata[@id=$metadataId]/nmwg:parameters
\n"
- + " else if
(count(/nmwg:store[@type='"
- + LS_STORE_CONTROL_COLLECTION_TYPE
- +
"']/nmwg:metadata[@id=$metadataId])
> 0) then \n"
- + " update insert <nmwg:parameters
id='control-parameters'><nmwg:parameter name='{$paramName}'
value='{$paramValue}'/></nmwg:parameters> into
/nmwg:store[@type='"
- + LS_STORE_CONTROL_COLLECTION_TYPE
- +
"']/nmwg:metadata[@id=$metadataId]
\n"
- + " else "
- + " update insert <nmwg:metadata
id='{$metadataId}'><nmwg:parameters id='control-parameters'><nmwg:parameter
name='{$paramName}' value='{$paramValue}'/></nmwg:parameters></nmwg:metadata>
into
/nmwg:store[@type='"
- + LS_STORE_CONTROL_COLLECTION_TYPE + "'] \n" +
-
- "return $command \n";
-
- // put
- performXQuery(xquery);
-
- } // set parameter
-
protected String getRemoveLookupInfoXQueryPart(String metadataId) {
return
// a set of ()
- perfsonar: r5349 - in branches/new-structure-with-base2/ps-mdm-ls: contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/auxiliary contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/functionalTests contrib/SOAPRequestAuxilary/src/pl/psnc/trzaszczka/stressTests src/main/java/org/perfsonar/service/lookupservice/storage/exist, svnlog, 11/17/2009
Archive powered by MHonArc 2.6.16.