Skip to Content.
Sympa Menu

perfsonar-dev - r1622 - trunk/perfsonar/src/org/perfsonar/service/lookupService/xmlType

Subject: perfsonar development work

List archive

r1622 - trunk/perfsonar/src/org/perfsonar/service/lookupService/xmlType


Chronological Thread 
  • From:
  • To:
  • Subject: r1622 - trunk/perfsonar/src/org/perfsonar/service/lookupService/xmlType
  • Date: Fri, 8 Sep 2006 04:57:17 -0400

Author: mac
Date: 2006-09-08 04:57:16 -0400 (Fri, 08 Sep 2006)
New Revision: 1622

Modified:

trunk/perfsonar/src/org/perfsonar/service/lookupService/xmlType/LSRegisterAction.java
Log:
Performance improvement. Instead of several separate XUpdates (remove old
entries, insert metadata, insert data elements), they go all together in one
request.

Modified:
trunk/perfsonar/src/org/perfsonar/service/lookupService/xmlType/LSRegisterAction.java
===================================================================
---
trunk/perfsonar/src/org/perfsonar/service/lookupService/xmlType/LSRegisterAction.java
2006-09-07 21:17:58 UTC (rev 1621)
+++
trunk/perfsonar/src/org/perfsonar/service/lookupService/xmlType/LSRegisterAction.java
2006-09-08 08:57:16 UTC (rev 1622)
@@ -175,12 +175,12 @@

logger.debug("LSRegisterAction: old data will be replaced by
new set of data");

- removeUpdate = XUPDATE_HEADER +
+ removeUpdate =
"<xu:remove
select=\"/nmwg:store[@type='"+LS_STORE_COLLECTION_TYPE+"']/nmwg:metadata[@id='"
+keyValue+"']\" />\n" +
"<xu:remove
select=\"/nmwg:store[@type='"+LS_STORE_COLLECTION_TYPE+"']/nmwg:data[@metadataIdRef='"
- +keyValue+"']\" />\n" +
- XUPDATE_FOOTER;
+ +keyValue+"']\" />\n";
+

} else {

@@ -197,11 +197,9 @@
requestMetadata.setId(accessPoint);

//Prepare XUpdate for Metadata
- String updateMeta = XUPDATE_HEADER +
- "<xu:append
select=\"/nmwg:store[@type='"+LS_STORE_COLLECTION_TYPE+"']\"
child=\"last()\">\n" +
+ String updateMeta = "<xu:append
select=\"/nmwg:store[@type='"+LS_STORE_COLLECTION_TYPE+"']\"
child=\"last()\">\n" +
XMLUtils.serializeXML(requestMetadata) +
- "\n</xu:append>\n"+
- XUPDATE_FOOTER;
+ "\n</xu:append>\n";


//Prepare XUpdate data
@@ -236,35 +234,40 @@
//Prepare XUpdate for Data
//fill updateData structure

- updateData[datanum] = XUPDATE_HEADER+
- "<xu:append
select=\"/nmwg:store[@type='"+LS_STORE_COLLECTION_TYPE+"']\"
child=\"last()\">\n" +
- XMLUtils.serializeXML(requestData) +
- "\n</xu:append>\n"+
- XUPDATE_FOOTER;
-
- datanum++;
+ updateData[datanum] =
+ "<xu:append
select=\"/nmwg:store[@type='"+
+ LS_STORE_COLLECTION_TYPE+"']\" child=\"last()\">\n" +
+ XMLUtils.serializeXML(requestData) +
+ "\n</xu:append>\n";
+
+ datanum++;

}

//if no errors and exceptions reported/thrown, put metadata and
data into DB
-
+
+
+ StringBuffer update=new StringBuffer(XUPDATE_HEADER);
+
//remove old data (if necessary)
if (removeUpdate!=null) {
- logger.debug("LSRegisterAction: Remove Metadata and
Data:\n"+removeUpdate);
- xmlStorageManager.store(removeUpdate); //XUpdate
+ update.append(removeUpdate);
}

//put metadata
- logger.debug("LSRegisterAction: Insert Metadata:\n"+updateMeta);
- xmlStorageManager.store(updateMeta); //XUpdate
-
- //put all data
- for (int i=0; i<updateData.length; i++) {
- logger.debug("LSRegisterAction: Insert Data:\n"+updateData[i]);
- xmlStorageManager.store(updateData[i]); //XUpdate
+ update.append(updateMeta);
+
+ logger.debug("LSRegisterAction: "+((removeUpdate!=null)?"remove old
entries":"")+", insert metadata and ["+updateData.length+"] data elements");
+
+ for (int i=0; i<updateData.length; i++) {
+ update.append(updateData[i]);
}
+ update.append(XUPDATE_FOOTER);

+ //XUpdate
+ xmlStorageManager.store(update.toString());

+
//update control time - last modification
updateTime(keyValue, xmlStorageManager); //TODO: change
xmlStorageManager to LSstorage-control

@@ -294,8 +297,6 @@
response.addChild(responseMetadata[j]);
}

- logger.debug("LSRegisterAction: end");
-
return response;

}



  • r1622 - trunk/perfsonar/src/org/perfsonar/service/lookupService/xmlType, svnlog, 09/08/2006

Archive powered by MHonArc 2.6.16.

Top of Page