perfsonar-dev - perfsonar: r4053 - trunk/geant2_java-xml-ls/src/main/java/org/perfsonar/service/lookupService/xmlType/storage/exist
Subject: perfsonar development work
List archive
perfsonar: r4053 - trunk/geant2_java-xml-ls/src/main/java/org/perfsonar/service/lookupService/xmlType/storage/exist
Chronological Thread
- From:
- To:
- Subject: perfsonar: r4053 - trunk/geant2_java-xml-ls/src/main/java/org/perfsonar/service/lookupService/xmlType/storage/exist
- Date: Tue, 24 Jun 2008 09:18:47 -0400
Author: mac
Date: 2008-06-24 09:18:47 -0400 (Tue, 24 Jun 2008)
New Revision: 4053
Modified:
trunk/geant2_java-xml-ls/src/main/java/org/perfsonar/service/lookupService/xmlType/storage/exist/XQueryExistDAOImpl.java
Log:
LS registration will send now one XQuery with new data instead od multiple
queries. It could speed up a bit
the service and resolve some problems with the registration.
Modified:
trunk/geant2_java-xml-ls/src/main/java/org/perfsonar/service/lookupService/xmlType/storage/exist/XQueryExistDAOImpl.java
===================================================================
---
trunk/geant2_java-xml-ls/src/main/java/org/perfsonar/service/lookupService/xmlType/storage/exist/XQueryExistDAOImpl.java
2008-06-24 12:50:24 UTC (rev 4052)
+++
trunk/geant2_java-xml-ls/src/main/java/org/perfsonar/service/lookupService/xmlType/storage/exist/XQueryExistDAOImpl.java
2008-06-24 13:18:47 UTC (rev 4053)
@@ -36,7 +36,7 @@
public void putLookupInfo(Metadata m, Data[] d) throws
PerfSONARException {
-
+/*
String[] xmls = new String[d.length+1];
//convert metadata to String
@@ -57,6 +57,28 @@
UPDATE_LSSTORE;
getDataStorage().performXQuery(xquery,
getDataCollection(), getDataCredential());
}
+*/
+ //send xquery update expression containing all metadata and
data elements in one xquery
+ //instruction; should work faster than code above (commented)
+ StringBuffer xmls = new StringBuffer();
+ xmls.append(XQUERY_DECLARE_NAMESPACES);
+ xmls.append(UPDATE_INSERT);
+
+ //add metadata
+ xmls.append( XMLUtils.serializeXML(m) );
+
+ //add data elements
+ for (int i=0; i<d.length; i++) {
+ xmls.append("\n,\n");
+ xmls.append( XMLUtils.serializeXML(d[i]) );
+ }
+
+ xmls.append(UPDATE_INTO);
+ xmls.append(UPDATE_LSSTORE);
+
+ //send XQuery
+ getDataStorage().performXQuery(xmls.toString(),
getDataCollection(), getDataCredential());
+
}
- perfsonar: r4053 - trunk/geant2_java-xml-ls/src/main/java/org/perfsonar/service/lookupService/xmlType/storage/exist, svnlog, 06/24/2008
Archive powered by MHonArc 2.6.16.