Skip to Content.
Sympa Menu

perfsonar-dev - [pS-dev] [GEANT/SA2/ps-java-services] r6048 - trunk/perfsonar-java-sql-ma/src/main/java/org/perfsonar/se rvice/measurementArchive/sqlType

Subject: perfsonar development work

List archive

[pS-dev] [GEANT/SA2/ps-java-services] r6048 - trunk/perfsonar-java-sql-ma/src/main/java/org/perfsonar/se rvice/measurementArchive/sqlType


Chronological Thread 
  • From:
  • To:
  • Subject: [pS-dev] [GEANT/SA2/ps-java-services] r6048 - trunk/perfsonar-java-sql-ma/src/main/java/org/perfsonar/se rvice/measurementArchive/sqlType
  • Date: Mon, 3 Dec 2012 13:57:26 +0000 (GMT)

Author: nordunet.behrmann
Date: 2012-12-03 13:57:26 +0000 (Mon, 03 Dec 2012)
New Revision: 6048

Modified:

trunk/perfsonar-java-sql-ma/src/main/java/org/perfsonar/service/measurementArchive/sqlType/SQLTypeMAServiceEngine.java
Log:
perfsonar-java-sql-ma: Minor cleaning of getKey code path

Modified:
trunk/perfsonar-java-sql-ma/src/main/java/org/perfsonar/service/measurementArchive/sqlType/SQLTypeMAServiceEngine.java
===================================================================
---
trunk/perfsonar-java-sql-ma/src/main/java/org/perfsonar/service/measurementArchive/sqlType/SQLTypeMAServiceEngine.java
2012-12-03 13:50:47 UTC (rev 6047)
+++
trunk/perfsonar-java-sql-ma/src/main/java/org/perfsonar/service/measurementArchive/sqlType/SQLTypeMAServiceEngine.java
2012-12-03 13:57:26 UTC (rev 6048)
@@ -7,7 +7,6 @@

import java.util.Collection;
import java.util.Date;
-import java.util.Map;
import java.util.Random;
import java.util.Iterator;
import java.util.Set;
@@ -119,55 +118,42 @@

protected Message getData(Message request) throws PerfSONARException
{
-
Message response = new Message();

JdbcStorageManager storageManager = JdbcStorageManager.getInstance();

Message keyMessage = getKey(request);

- Collection<Data> datas = keyMessage.getDataMap().values();
- for (Data data : datas) {
+ boolean mustCopyMetadata = false;
+ for (Data keyData : (Collection<Data>)
keyMessage.getDataMap().values()) {
+ // Fetch data from data store
+ Metadata queryMetadata = new Metadata();
+ queryMetadata.addChild(keyData.getKey());
+ Message query = new Message();
+ query.addChild(queryMetadata);
+ Message dMsg = storageManager.fetch(query);

- Key key = data.getKey();
-
- Metadata metadata = null;
- Map metadataMap = keyMessage.getMetadataMap();
- if (metadataMap != null) {
- if (!data.getMetadataIdRef().isEmpty()) {
- metadata = (Metadata)
- metadataMap.get(data.getMetadataIdRef());
- }
+ // Add metadata elements to response
+ String metadataIdRef;
+ if (keyData.getMetadataIdRef().isEmpty()) {
+ response.addChild(queryMetadata);
+ metadataIdRef = queryMetadata.getId();
+ } else {
+ mustCopyMetadata = true;
+ metadataIdRef = keyData.getMetadataIdRef();
}

- Message dReq = new Message();
- Metadata dMet = new Metadata();
- dReq.addChild(dMet);
- dMet.addChild(key);
-
- Message dMsg = storageManager.fetch(dReq);
-
- // putting in the response
-
+ // Add data elements to response
for (Data d : (Collection<Data>) dMsg.getDataMap().values()) {
-
response.addChild(d);
-
- if (metadata != null) {
-
- d.setMetadataIdRef(metadata.getId());
-
- Collection<Metadata> metadatas = metadataMap.values();
- for (Metadata m : metadatas) {
- response.addChild(m);
- }
-
- } else {
- response.addChild(dMet);
- d.setMetadataIdRef(dMet.getId());
- }
+ d.setMetadataIdRef(metadataIdRef);
}
+ }

+ if (mustCopyMetadata) {
+ for (Metadata m : (Collection<Metadata>)
keyMessage.getMetadataMap().values()) {
+ response.addChild(m);
+ }
}

return response;
@@ -176,35 +162,25 @@

protected Message storeData(Message request) throws PerfSONARException
{
-
Message response = new Message();

JdbcStorageManager storageManager = JdbcStorageManager.getInstance();

- Map metadataMap = request.getMetadataMap();
- Collection<Data> collection = request.getDataMap().values();
+ for (Data data : (Collection<Data>) request.getDataMap().values()) {
+ Metadata meta = request.getMetadata(data.getMetadataIdRef());
+ if (meta != null) {
+ Key key = getStoreKey(meta);

- for (Data data : collection) {
+ Metadata md = new Metadata();
+ md.addChild(key);
+ Message msg = new Message();
+ msg.addChild(md);
+ msg.addChild(data);

- Metadata meta = (Metadata)
metadataMap.get(data.getMetadataIdRef());
- if (meta == null) {
- continue;
+ // FIXME: This means only the last response is passed on to
the client.
+ // Should these responses be merged?
+ response = storageManager.store(msg);
}
-
- Key key = getStoreKey(meta);
-
- Message msg = new Message();
- Metadata md = new Metadata();
- msg.addChild(md);
-
- md.addChild(key);
- msg.addChild(data);
-
- //logger.debug("SQLTypeMAServiceEngine.storeData: "
- // + "message for store method: " + msg.toString());
-
- response = storageManager.store(msg);
-
}

return response;
@@ -214,7 +190,6 @@
public Message storeKey(Message request)
throws PerfSONARException
{
-
metadataConfig.store(request);
return generateResultCodeResponse("success.ma.write", "Key has been
stored");
}
@@ -261,16 +236,13 @@
// metadata already exists in xmldb

Data d = (resp.getDataArray())[0];
- Key k = d.getKey();
- key = k;
+ key = d.getKey();

if (key.getParameterByName("eventType") == null) {
key.addParameter("eventType", eventType);
}
} else {
// metadata does not exist in xmldb
-
-
Key k = new Key();

Random rand = new Random((new Date()).getTime());



  • [pS-dev] [GEANT/SA2/ps-java-services] r6048 - trunk/perfsonar-java-sql-ma/src/main/java/org/perfsonar/se rvice/measurementArchive/sqlType, svn-noreply, 12/03/2012

Archive powered by MHonArc 2.6.16.

Top of Page