Skip to Content.
Sympa Menu

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.

Top of Page