Skip to Content.
Sympa Menu

perfsonar-dev - [pS-dev] [GEANT/SA2/ps-java-services] r5829 - trunk/perfsonar-java-rrd-sql-ma/src/main/java/org/perfsona r/service/measurementArchive/rrdType/storage/sql/query

Subject: perfsonar development work

List archive

[pS-dev] [GEANT/SA2/ps-java-services] r5829 - trunk/perfsonar-java-rrd-sql-ma/src/main/java/org/perfsona r/service/measurementArchive/rrdType/storage/sql/query


Chronological Thread 
  • From:
  • To:
  • Subject: [pS-dev] [GEANT/SA2/ps-java-services] r5829 - trunk/perfsonar-java-rrd-sql-ma/src/main/java/org/perfsona r/service/measurementArchive/rrdType/storage/sql/query
  • Date: Wed, 31 Aug 2011 15:57:53 +0100

Author: psnc.pikusa
Date: 2011-08-31 15:57:52 +0100 (Wed, 31 Aug 2011)
New Revision: 5829

Modified:

trunk/perfsonar-java-rrd-sql-ma/src/main/java/org/perfsonar/service/measurementArchive/rrdType/storage/sql/query/QueryGenerator.java
Log:
Refactoring the code. Former getQuery changed to getProperties. New getQuery
returns javax.persistence Query object including SQL statement and all needed
parameters for it. It can be further used to get the results. Thanks to that
change it can be used by MetadataKeyRequest and SetupDataKeyRequest

Modified:
trunk/perfsonar-java-rrd-sql-ma/src/main/java/org/perfsonar/service/measurementArchive/rrdType/storage/sql/query/QueryGenerator.java
===================================================================
---
trunk/perfsonar-java-rrd-sql-ma/src/main/java/org/perfsonar/service/measurementArchive/rrdType/storage/sql/query/QueryGenerator.java
2011-08-31 14:56:07 UTC (rev 5828)
+++
trunk/perfsonar-java-rrd-sql-ma/src/main/java/org/perfsonar/service/measurementArchive/rrdType/storage/sql/query/QueryGenerator.java
2011-08-31 14:57:52 UTC (rev 5829)
@@ -3,6 +3,9 @@
import java.util.HashMap;
import java.util.Map;

+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+
import org.perfsonar.base2.xml.nmwg.EventType;
import org.apache.log4j.Logger;
import org.perfsonar.base2.service.exceptions.PerfSONARException;
@@ -22,7 +25,30 @@
protected static final Logger logger =
Logger.getLogger(QueryGeneratorManager.class.getName());


- public Map<String, String> getQuery(Metadata metadata, String
tableName) throws PerfSONARException{
+ public Query getQuery(EntityManager em, Metadata metadata, String
tableName, Object tableClass) throws PerfSONARException{
+
+ Map<String, String>parametersMap =
getParametersMap(metadata, tableName);
+ logger.info("QUERY: " + parametersMap.get("query"));
+
+ Query query =
em.createNativeQuery(parametersMap.get("query"), tableClass.getClass());
+ for (String parameter : parametersMap.keySet()) {
+ if(!parameter.equals("query"))
+ query.setParameter(parameter,
parametersMap.get(parameter));
+ }
+
+ return query;
+ }
+
+
+ /**
+ * Method gets map with all the parameters needed to create query
object of Query class. It also includes a native sql query under
+ * the "query" key.
+ * @param metadata
+ * @param tableName
+ * @return
+ * @throws PerfSONARException
+ */
+ public Map<String, String> getParametersMap(Metadata metadata, String
tableName) throws PerfSONARException{

Map<String, String> resultMap = new HashMap<String, String>();

@@ -205,7 +231,6 @@
* @return keyword value string
*/
protected String getKeyword(Parameters parameters){
-
if (parameters != null){
logger.info("parameters not null");
if(parameters.getFirstParameter("keyword") != null){



  • [pS-dev] [GEANT/SA2/ps-java-services] r5829 - trunk/perfsonar-java-rrd-sql-ma/src/main/java/org/perfsona r/service/measurementArchive/rrdType/storage/sql/query, svn-noreply, 08/31/2011

Archive powered by MHonArc 2.6.16.

Top of Page