perfsonar-dev - r1585 - in trunk/perfsonar: conf src/org/perfsonar/service/measurementArchive/eventTypeConfig src/org/perfsonar/service/measurementArchive/sqlType src/org/perfsonar/service/measurementArchive/sqlType/fetch src/org/perfsonar/service/measurementArchive/sqlType/store
Subject: perfsonar development work
List archive
r1585 - in trunk/perfsonar: conf src/org/perfsonar/service/measurementArchive/eventTypeConfig src/org/perfsonar/service/measurementArchive/sqlType src/org/perfsonar/service/measurementArchive/sqlType/fetch src/org/perfsonar/service/measurementArchive/sqlType/store
Chronological Thread
- From:
- To:
- Subject: r1585 - in trunk/perfsonar: conf src/org/perfsonar/service/measurementArchive/eventTypeConfig src/org/perfsonar/service/measurementArchive/sqlType src/org/perfsonar/service/measurementArchive/sqlType/fetch src/org/perfsonar/service/measurementArchive/sqlType/store
- Date: Thu, 31 Aug 2006 07:53:45 -0400
Author: roman
Date: 2006-08-31 07:53:44 -0400 (Thu, 31 Aug 2006)
New Revision: 1585
Added:
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/fetch/
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/store/
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/store/L2PathStatusStoreRequestProcess.java
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/store/StoreRequestProcess.java
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/store/StoreRequestProcessFactory.java
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/store/UtilizationStoreRequestProcess.java
Removed:
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/responseGenerator/
Modified:
trunk/perfsonar/conf/eventType-map.xml
trunk/perfsonar/conf/eventType-rules.xml
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/eventTypeConfig/EventType.java
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/SQLStorageManager.java
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/SQLTypeMAServiceEngine.java
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/fetch/L2PathStatusResponseGenerator.java
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/fetch/ResponseGenerator.java
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/fetch/ResponseGeneratorFactory.java
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/fetch/UtilizationResponseGenerator.java
Log:
now it is possible that SQL MA can accept requests of type
MeasurementArchiveStoreRequest which contain datum elements
not only from nmwg namespace
Modified: trunk/perfsonar/conf/eventType-map.xml
===================================================================
--- trunk/perfsonar/conf/eventType-map.xml 2006-08-31 10:29:25 UTC (rev
1584)
+++ trunk/perfsonar/conf/eventType-map.xml 2006-08-31 11:53:44 UTC (rev
1585)
@@ -10,13 +10,15 @@
<eventType>
<name>utilization</name>
<metadataQueryGenerator>org.perfsonar.service.measurementArchive.metadataConfig.queryGenerator.UtilizationQueryGenerator</metadataQueryGenerator>
-
<responseGenerator>org.perfsonar.service.measurementArchive.sqlType.responseGenerator.UtilizationResponseGenerator</responseGenerator>
+
<responseGenerator>org.perfsonar.service.measurementArchive.sqlType.fetch.UtilizationResponseGenerator</responseGenerator>
+
<storeRequestProcess>org.perfsonar.service.measurementArchive.sqlType.store.UtilizationStoreRequestProcess</storeRequestProcess>
</eventType>
<eventType>
<name>Path.Status</name>
<metadataQueryGenerator>org.perfsonar.service.measurementArchive.metadataConfig.queryGenerator.L2PathStatusQueryGenerator</metadataQueryGenerator>
-
<responseGenerator>org.perfsonar.service.measurementArchive.sqlType.responseGenerator.L2PathStatusResponseGenerator</responseGenerator>
+
<responseGenerator>org.perfsonar.service.measurementArchive.sqlType.fetch.L2PathStatusResponseGenerator</responseGenerator>
+
<storeRequestProcess>org.perfsonar.service.measurementArchive.sqlType.store.L2PathStatusStoreRequestProcess</storeRequestProcess>
</eventType>
</eventType-config>
\ No newline at end of file
Modified: trunk/perfsonar/conf/eventType-rules.xml
===================================================================
--- trunk/perfsonar/conf/eventType-rules.xml 2006-08-31 10:29:25 UTC (rev
1584)
+++ trunk/perfsonar/conf/eventType-rules.xml 2006-08-31 11:53:44 UTC (rev
1585)
@@ -20,6 +20,8 @@
paramcount="0" />
<call-method-rule pattern="responseGenerator"
methodname="setResponseGenerator"
paramcount="0" />
+ <call-method-rule pattern="storeRequestProcess"
methodname="setStoreRequestProcess"
+ paramcount="0" />
<set-next-rule methodname="setEventType" />
</pattern>
Modified:
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/eventTypeConfig/EventType.java
===================================================================
---
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/eventTypeConfig/EventType.java
2006-08-31 10:29:25 UTC (rev 1584)
+++
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/eventTypeConfig/EventType.java
2006-08-31 11:53:44 UTC (rev 1585)
@@ -23,6 +23,7 @@
private String name = null;
private String metadataQueryGenerator = null;
private String responseGenerator = null;
+ private String storeRequestProcess = null;
@@ -81,5 +82,19 @@
}
+ public void setStoreRequestProcess(String storeRequestProcess) {
+ this.storeRequestProcess = storeRequestProcess;
+
+ }
+
+
+ public String getStoreRequestProcess() {
+
+ return storeRequestProcess;
+
+ }
+
+
+
} //EventType
Modified:
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/SQLStorageManager.java
===================================================================
---
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/SQLStorageManager.java
2006-08-31 10:29:25 UTC (rev 1584)
+++
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/SQLStorageManager.java
2006-08-31 11:53:44 UTC (rev 1585)
@@ -24,6 +24,7 @@
import com.ibatis.common.resources.Resources;
import org.perfsonar.service.commons.storage.NMWGStorageManager;
+import org.perfsonar.service.commons.util.ResultCodesUtil;
import org.perfsonar.commons.auxiliary.AuxiliaryComponentManager;
import org.perfsonar.commons.auxiliary.ComponentNames;
@@ -38,13 +39,17 @@
import org.ggf.ns.nmwg.base.v2_0.Parameter;
import org.ggf.ns.nmwg.base.v2_0.Parameters;
+import org.perfsonar.service.commons.exceptions.PerfSONARException;
import org.perfsonar.service.commons.exceptions.DataFormatException;
import org.perfsonar.service.commons.exceptions.RequestException;
import org.perfsonar.service.commons.exceptions.SystemException;
-import
org.perfsonar.service.measurementArchive.sqlType.responseGenerator.ResponseGenerator;
-import
org.perfsonar.service.measurementArchive.sqlType.responseGenerator.ResponseGeneratorFactory;
+import
org.perfsonar.service.measurementArchive.sqlType.fetch.ResponseGenerator;
+import
org.perfsonar.service.measurementArchive.sqlType.fetch.ResponseGeneratorFactory;
+import
org.perfsonar.service.measurementArchive.sqlType.store.StoreRequestProcess;
+import
org.perfsonar.service.measurementArchive.sqlType.store.StoreRequestProcessFactory;
+
/**
* SQL storage manager responsible for accessing an sql database.
*
@@ -245,8 +250,8 @@
Key key = md.getKey();
Data data = dataSet.getDataArray()[0];
- Vector datumVector = data.getDatum();
+
// ibatis action
Map ibatisParams = new HashMap();
@@ -284,33 +289,13 @@
Reader reader = Resources.getResourceAsReader(resource);
sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
- for (int i = 0; i < datumVector.size(); i++) {
+ String eventType = (String)ibatisParams.get("eventType");
+ logger.debug("SQLStorageManager.store: EventType: " +
eventType);
- Datum datum = (Datum) datumVector.get(i);
- String strValue = datum.getValue();
- String valueUnits = datum.getValueUnits();
- String timeValue = datum.getTimeValue();
+ StoreRequestProcess storeRequestProcess =
+
StoreRequestProcessFactory.getStoreRequestProcess(eventType);
+ storeRequestProcess.process(sqlMap, data, ibatisParams);
-
- ibatisParams.put("valueUnits", valueUnits);
- ibatisParams.put("timeValue",
Integer.parseInt(timeValue));
-
- try {
- // or a float
- ibatisParams.put("value",
Float.parseFloat(strValue));
- } catch (Exception ex) {
- //logger.debug("SQLStorageManager.store: " +
ex.toString());
- // value is a string ...
- ibatisParams.put("value", strValue);
-
- }
-
- sqlMap.insert("setResults", ibatisParams);
-
- }
-
- //logger.debug("SQLStorageManager.store: number of stored
rows: " + nr);
-
} catch (Exception ioex) {
throw new RequestException(
@@ -323,6 +308,10 @@
}
+ PerfSONARException pex = new PerfSONARException(
+ "success.ma.write",
+ "Data have been stored");
+ response = ResultCodesUtil.createResultCodeMetadata(response, pex);
return response;
}
Modified:
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/SQLTypeMAServiceEngine.java
===================================================================
---
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/SQLTypeMAServiceEngine.java
2006-08-31 10:29:25 UTC (rev 1584)
+++
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/SQLTypeMAServiceEngine.java
2006-08-31 11:53:44 UTC (rev 1585)
@@ -183,12 +183,8 @@
//logger.debug("SQLTypeMAServiceEngine.storeData: "
// + "message for store method: " + msg.toString());
- sqlStorageManager.store(msg);
+ response = sqlStorageManager.store(msg);
- // response contains a metadata
- response.addChild(meta);
-
-
}
@@ -215,10 +211,23 @@
"SQLTypeMAServiceEngine.getStoreKey: "
+ "No ibatisConfig parameter in the key");
+ Parameter eventType = key.getParameterByName("eventType");
+ if (eventType == null)
+ throw new RequestException(
+ "error.ma.sql.db_connection.ibatis",
+ "SQLTypeMAServiceEngine.getStoreKey: "
+ + "No eventType parameter in the key");
+
} else {
// no key in the request
+ String eventType =
metadata.getEventType().getEventType().trim();
+ if (eventType.equals(""))
+ throw new
RequestException("error.ma.sql.db_connection.ibatis",
+ "SQLTypeMAServiceEngine.getStoreKey: "
+ + "No eventType in the request metadata");
+
Message query = new Message();
query.addChild(metadata);
Message resp = metadataConfig.fetch(query);
@@ -230,6 +239,7 @@
Data d = (resp.getDataArray())[0];
Key k = d.getKey();
key = k;
+ key.addParameter("eventType", eventType);
} else {
@@ -267,6 +277,7 @@
params.addChild(ibatisConfig);
key = k;
+ key.addParameter("eventType", eventType);
// we need to remove parameters from metadata,
Copied:
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/fetch
(from rev 1574,
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/responseGenerator)
Modified:
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/fetch/L2PathStatusResponseGenerator.java
===================================================================
---
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/responseGenerator/L2PathStatusResponseGenerator.java
2006-08-28 13:01:28 UTC (rev 1574)
+++
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/fetch/L2PathStatusResponseGenerator.java
2006-08-31 11:53:44 UTC (rev 1585)
@@ -2,7 +2,7 @@
* $Id$
* Project: perfSONAR
*/
-package org.perfsonar.service.measurementArchive.sqlType.responseGenerator;
+package org.perfsonar.service.measurementArchive.sqlType.fetch;
import java.util.Collection;
Modified:
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/fetch/ResponseGenerator.java
===================================================================
---
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/responseGenerator/ResponseGenerator.java
2006-08-28 13:01:28 UTC (rev 1574)
+++
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/fetch/ResponseGenerator.java
2006-08-31 11:53:44 UTC (rev 1585)
@@ -2,7 +2,7 @@
* $Id$
* Project: perfSONAR
*/
-package org.perfsonar.service.measurementArchive.sqlType.responseGenerator;
+package org.perfsonar.service.measurementArchive.sqlType.fetch;
import java.util.List;
Modified:
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/fetch/ResponseGeneratorFactory.java
===================================================================
---
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/responseGenerator/ResponseGeneratorFactory.java
2006-08-28 13:01:28 UTC (rev 1574)
+++
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/fetch/ResponseGeneratorFactory.java
2006-08-31 11:53:44 UTC (rev 1585)
@@ -3,7 +3,7 @@
* Project: perfSONAR
*/
-package org.perfsonar.service.measurementArchive.sqlType.responseGenerator;
+package org.perfsonar.service.measurementArchive.sqlType.fetch;
import org.perfsonar.commons.auxiliary.AuxiliaryComponentManager;
Modified:
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/fetch/UtilizationResponseGenerator.java
===================================================================
---
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/responseGenerator/UtilizationResponseGenerator.java
2006-08-28 13:01:28 UTC (rev 1574)
+++
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/fetch/UtilizationResponseGenerator.java
2006-08-31 11:53:44 UTC (rev 1585)
@@ -2,7 +2,7 @@
* $Id$
* Project: perfSONAR
*/
-package org.perfsonar.service.measurementArchive.sqlType.responseGenerator;
+package org.perfsonar.service.measurementArchive.sqlType.fetch;
import java.util.Collection;
Added:
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/store/L2PathStatusStoreRequestProcess.java
Property changes on:
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/store/L2PathStatusStoreRequestProcess.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added:
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/store/StoreRequestProcess.java
Property changes on:
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/store/StoreRequestProcess.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added:
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/store/StoreRequestProcessFactory.java
Property changes on:
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/store/StoreRequestProcessFactory.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added:
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/store/UtilizationStoreRequestProcess.java
Property changes on:
trunk/perfsonar/src/org/perfsonar/service/measurementArchive/sqlType/store/UtilizationStoreRequestProcess.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
- r1585 - in trunk/perfsonar: conf src/org/perfsonar/service/measurementArchive/eventTypeConfig src/org/perfsonar/service/measurementArchive/sqlType src/org/perfsonar/service/measurementArchive/sqlType/fetch src/org/perfsonar/service/measurementArchive/sqlType/store, svnlog, 08/31/2006
Archive powered by MHonArc 2.6.16.