You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2012/10/05 20:49:59 UTC
svn commit: r1394723 - in /airavata/trunk/modules:
commons/registry-api/src/main/java/org/apache/airavata/registry/api/impl/
registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/
registry/airavata-jpa-registry/...
Author: lahiru
Date: Fri Oct 5 18:49:58 2012
New Revision: 1394723
URL: http://svn.apache.org/viewvc?rev=1394723&view=rev
Log:
implementing getExperimentMetaInformation and getAllExperimentMetaInformation in ExperimentDataRetriever class
Modified:
airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/impl/ExperimentDataImpl.java
airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java
airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AiravataRegistryConnectionDataProviderImpl.java
airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationDescriptorResource.java
airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ConfigurationResource.java
airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataResource.java
airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataRetriever.java
airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentMetadataResource.java
Modified: airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/impl/ExperimentDataImpl.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/impl/ExperimentDataImpl.java?rev=1394723&r1=1394722&r2=1394723&view=diff
==============================================================================
--- airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/impl/ExperimentDataImpl.java (original)
+++ airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/impl/ExperimentDataImpl.java Fri Oct 5 18:49:58 2012
@@ -40,8 +40,16 @@ public class ExperimentDataImpl implemen
private String workflowInstanceName;
private List<WorkflowInstanceData> workflowInstanceDataList=new ArrayList<WorkflowInstanceData>();
private boolean lazyLoaded=false;
-
- public String getMetadata() {
+
+ public ExperimentDataImpl() {
+ this(false);
+ }
+
+ public ExperimentDataImpl(boolean lazyLoaded) {
+ this.lazyLoaded = lazyLoaded;
+ }
+
+ public String getMetadata() {
return metadata;
}
public void setMetadata(String metadata) {
@@ -115,9 +123,11 @@ public class ExperimentDataImpl implemen
}
return workflowInstanceDataList;
}
+
public boolean isLazyLoaded() {
return lazyLoaded;
}
+
public void setLazyLoaded(boolean lazyLoaded) {
this.lazyLoaded = lazyLoaded;
}
Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java?rev=1394723&r1=1394722&r2=1394723&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java Fri Oct 5 18:49:58 2012
@@ -840,8 +840,8 @@ public class AiravataJPARegistry extends
if (!isExperimentExists(experimentId)){
throw new ExperimentDoesNotExistsException(experimentId);
}
- ExperimentDataRetriever workflowDataRetriever = new ExperimentDataRetriever();
- return workflowDataRetriever.getExperimentName(experimentId, jpa.getWorker().getUser());
+ ExperimentDataRetriever experimentDataRetriever = new ExperimentDataRetriever();
+ return experimentDataRetriever.getExperimentName(experimentId);
}
@@ -1120,17 +1120,20 @@ public class AiravataJPARegistry extends
if (!isExperimentExists(experimentId)){
throw new ExperimentDoesNotExistsException(experimentId);
}
- ExperimentDataRetriever workflowDataRetriever = new ExperimentDataRetriever();
- ExperimentData experimentData = workflowDataRetriever.getExperiment(experimentId);
- return workflowDataRetriever.getExperiment(experimentId);
+ ExperimentDataRetriever experimentDataRetriever = new ExperimentDataRetriever();
+ ExperimentData experimentData = experimentDataRetriever.getExperiment(experimentId);
+ return experimentDataRetriever.getExperiment(experimentId);
}
@Override
public List<String> getExperimentIdByUser(String user)
throws RegistryException {
- ExperimentDataRetriever workflowDataRetriever = new ExperimentDataRetriever();
- return workflowDataRetriever.getExperimentIdByUser(jpa.getWorker().getUser());
+ if(user == null){
+ user = jpa.getWorker().getUser();
+ }
+ ExperimentDataRetriever experimentDataRetriever = new ExperimentDataRetriever();
+ return experimentDataRetriever.getExperimentIdByUser(user);
}
@@ -1354,14 +1357,19 @@ public class AiravataJPARegistry extends
@Override
public ExperimentData getExperimentMetaInformation(String experimentId)
throws RegistryException {
- return null;
+ if (!isExperimentExists(experimentId)){
+ throw new ExperimentDoesNotExistsException(experimentId);
+ }
+ ExperimentDataRetriever experimentDataRetriever = new ExperimentDataRetriever();
+ return experimentDataRetriever.getExperimentMetaInformation(experimentId);
}
@Override
public List<ExperimentData> getAllExperimentMetaInformation(String user)
throws RegistryException {
- return null;
+ ExperimentDataRetriever experimentDataRetriever = new ExperimentDataRetriever();
+ return experimentDataRetriever.getAllExperimentMetaInformation(user);
}
Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AiravataRegistryConnectionDataProviderImpl.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AiravataRegistryConnectionDataProviderImpl.java?rev=1394723&r1=1394722&r2=1394723&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AiravataRegistryConnectionDataProviderImpl.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AiravataRegistryConnectionDataProviderImpl.java Fri Oct 5 18:49:58 2012
@@ -5,6 +5,8 @@ import org.apache.airavata.registry.api.
import org.apache.airavata.registry.api.AiravataUser;
import org.apache.airavata.registry.api.Gateway;
import org.apache.airavata.registry.api.exception.UnknownRegistryConnectionDataException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.net.URL;
@@ -12,6 +14,7 @@ import java.util.Properties;
public class AiravataRegistryConnectionDataProviderImpl implements AiravataRegistryConnectionDataProvider {
+ private final static Logger logger = LoggerFactory.getLogger(AiravataRegistryConnectionDataProviderImpl.class);
public static Properties loadProperties(){
URL resource = Utils.class.getClassLoader().getResource("repository.properties");
Properties properties = new Properties();
@@ -19,6 +22,8 @@ public class AiravataRegistryConnectionD
properties.load(resource.openStream());
} catch (IOException e) {
e.printStackTrace();
+ logger.error("Unable to read repository properties " + e);
+
}
return properties;
}
Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationDescriptorResource.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationDescriptorResource.java?rev=1394723&r1=1394722&r2=1394723&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationDescriptorResource.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationDescriptorResource.java Fri Oct 5 18:49:58 2012
@@ -25,6 +25,8 @@ import org.apache.airavata.persistance.r
import org.apache.airavata.persistance.registry.jpa.ResourceUtils;
import org.apache.airavata.persistance.registry.jpa.model.*;
import org.apache.airavata.persistance.registry.jpa.utils.QueryGenerator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import javax.persistence.EntityManager;
import javax.persistence.Query;
@@ -32,6 +34,7 @@ import java.util.ArrayList;
import java.util.List;
public class ApplicationDescriptorResource extends AbstractResource {
+ private final static Logger logger = LoggerFactory.getLogger(ApplicationDescriptorResource.class);
private String name;
private String gatewayName;
private String updatedUser;
@@ -143,6 +146,8 @@ public class ApplicationDescriptorResour
* @return UnsupportedOperationException
*/
public Resource create(ResourceType type) {
+ logger.error("Unsupported operation for application descriptor resource " +
+ "since application descriptors could not create child resources.. ", new UnsupportedOperationException());
throw new UnsupportedOperationException();
}
@@ -153,6 +158,8 @@ public class ApplicationDescriptorResour
* @param name name of the resource
*/
public void remove(ResourceType type, Object name) {
+ logger.error("Unsupported operation for application descriptor resource " +
+ "since application descriptors could not remove child resources.. ", new UnsupportedOperationException());
throw new UnsupportedOperationException();
}
@@ -184,6 +191,8 @@ public class ApplicationDescriptorResour
* @return UnsupportedOperationException
*/
public Resource get(ResourceType type, Object name) {
+ logger.error("Unsupported operation for application descriptor resource " +
+ "since there are no child resources generated by application descriptors.. ", new UnsupportedOperationException());
throw new UnsupportedOperationException();
}
@@ -220,6 +229,8 @@ public class ApplicationDescriptorResour
* @return UnsupportedOperationException
*/
public List<Resource> get(ResourceType type) {
+ logger.error("Unsupported operation for application descriptor resource " +
+ "since there are no child resources generated by application descriptors.. ", new UnsupportedOperationException());
throw new UnsupportedOperationException();
}
@@ -270,6 +281,8 @@ public class ApplicationDescriptorResour
* @return UnsupportedOperationException
*/
public boolean isExists(ResourceType type, Object name) {
+ logger.error("Unsupported operation for application descriptor resource " +
+ "since there are no child resources generated by application descriptors.. ", new UnsupportedOperationException());
throw new UnsupportedOperationException();
}
Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ConfigurationResource.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ConfigurationResource.java?rev=1394723&r1=1394722&r2=1394723&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ConfigurationResource.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ConfigurationResource.java Fri Oct 5 18:49:58 2012
@@ -34,8 +34,11 @@ import org.apache.airavata.persistance.r
import org.apache.airavata.persistance.registry.jpa.model.Configuration;
import org.apache.airavata.persistance.registry.jpa.model.Configuration_PK;
import org.apache.airavata.persistance.registry.jpa.utils.QueryGenerator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class ConfigurationResource extends AbstractResource {
+ private final static Logger logger = LoggerFactory.getLogger(ConfigurationResource.class);
private String configKey;
private String configVal;
private Date expireDate;
@@ -63,6 +66,8 @@ public class ConfigurationResource exten
* @return UnsupportedOperationException
*/
public Resource create(ResourceType type) {
+ logger.error("Unsupported operation for application descriptor resource " +
+ "since there are no child resources generated by configuration resource.. ", new UnsupportedOperationException());
throw new UnsupportedOperationException();
}
@@ -74,6 +79,8 @@ public class ConfigurationResource exten
* throws UnsupportedOperationException
*/
public void remove(ResourceType type, Object name) {
+ logger.error("Unsupported operation for application descriptor resource " +
+ "since there are no child resources generated by configuration resource.. ", new UnsupportedOperationException());
throw new UnsupportedOperationException();
}
@@ -86,6 +93,8 @@ public class ConfigurationResource exten
* @return UnsupportedOperationException
*/
public Resource get(ResourceType type, Object name) {
+ logger.error("Unsupported operation for application descriptor resource " +
+ "since there are no child resources generated by configuration resource.. ", new UnsupportedOperationException());
throw new UnsupportedOperationException();
}
@@ -124,6 +133,8 @@ public class ConfigurationResource exten
* @return UnsupportedOperationException
*/
public List<Resource> get(ResourceType type) {
+ logger.error("Unsupported operation for application descriptor resource " +
+ "since there are no child resources generated by configuration resource.. ", new UnsupportedOperationException());
throw new UnsupportedOperationException();
}
@@ -176,6 +187,8 @@ public class ConfigurationResource exten
* @return UnsupportedOperationException
*/
public boolean isExists(ResourceType type, Object name) {
+ logger.error("Unsupported operation for application descriptor resource " +
+ "since there are no child resources generated by configuration resource.. ", new UnsupportedOperationException());
throw new UnsupportedOperationException();
}
Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataResource.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataResource.java?rev=1394723&r1=1394722&r2=1394723&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataResource.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataResource.java Fri Oct 5 18:49:58 2012
@@ -28,6 +28,8 @@ import org.apache.airavata.persistance.r
import org.apache.airavata.persistance.registry.jpa.model.Experiment_Metadata;
import org.apache.airavata.persistance.registry.jpa.model.Workflow_Data;
import org.apache.airavata.persistance.registry.jpa.utils.QueryGenerator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import javax.persistence.EntityManager;
import javax.persistence.Query;
@@ -36,6 +38,7 @@ import java.util.List;
public class ExperimentDataResource extends AbstractResource{
+ private final static Logger logger = LoggerFactory.getLogger(ExperimentDataResource.class);
private String experimentID;
private String expName;
private String userName;
@@ -75,6 +78,7 @@ public class ExperimentDataResource exte
experimentMetadataResource.setExpID(experimentID);
return experimentMetadataResource;
default:
+ logger.error("Unsupported resource type for experiment data resource... ", new UnsupportedOperationException());
throw new IllegalArgumentException("Unsupported resource type for experiment data resource.");
}
@@ -135,6 +139,7 @@ public class ExperimentDataResource exte
default:
em.getTransaction().commit();
em.close();
+ logger.error("Unsupported resource type for experiment data resource... ", new UnsupportedOperationException());
throw new IllegalArgumentException("Unsupported resource type for experiment data resource.");
}
}
@@ -178,6 +183,7 @@ public class ExperimentDataResource exte
default:
em.getTransaction().commit();
em.close();
+ logger.error("Unsupported resource type for experiment data resource... ", new UnsupportedOperationException());
throw new IllegalArgumentException("Unsupported resource type for experiment data resource.");
}
em.getTransaction().commit();
Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataRetriever.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataRetriever.java?rev=1394723&r1=1394722&r2=1394723&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataRetriever.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataRetriever.java Fri Oct 5 18:49:58 2012
@@ -29,6 +29,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.sql.*;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -47,7 +50,7 @@ public class ExperimentDataRetriever {
Class.forName(Utils.getJDBCDriver()).newInstance();
connection = DriverManager.getConnection(connectionURL, Utils.getJDBCUser(), Utils.getJDBCPassword());
statement = connection.createStatement();
- String queryString = "SELECT e.experiment_ID, ed.name, e.user_name, em.metadata, " +
+ String queryString = "SELECT ed.experiment_ID, ed.name, ed.username, em.metadata, " +
"wd.workflow_instanceID, wd.template_name, wd.status, wd.start_time," +
"wd.last_update_time, nd.node_id, nd.inputs, nd.outputs, " +
"e.project_name, e.submitted_date, nd.node_type, nd.status," +
@@ -79,7 +82,8 @@ public class ExperimentDataRetriever {
workflowInstance.setWorkflowInstanceId(rs.getString(5));
experimentWorkflowInstances.add(workflowInstance);
- Date lastUpdateDate = new Date(rs.getLong(9));
+ DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");
+ Date lastUpdateDate = dateFormat.parse(rs.getString(9));
WorkflowInstanceData workflowInstanceData = new WorkflowInstanceData(null,
workflowInstance, new WorkflowInstanceStatus(workflowInstance,
rs.getString(7)==null? null:ExecutionStatus.valueOf(rs.getString(7)),lastUpdateDate), null);
@@ -115,11 +119,15 @@ public class ExperimentDataRetriever {
logger.error(e.getMessage(), e);
} catch (SQLException e){
e.printStackTrace();
+ }catch (ParseException e) {
+ e.printStackTrace();
+ logger.error(e.getMessage(), e);
}
return experimentData;
}
public List<String> getExperimentIdByUser(String user){
+ System.out.println("#######User ####### " + user);
List<String> result=new ArrayList<String>();
String connectionURL = Utils.getJDBCURL();
Connection connection = null;
@@ -131,7 +139,11 @@ public class ExperimentDataRetriever {
connection = DriverManager.getConnection(connectionURL, Utils.getJDBCUser(), Utils.getJDBCPassword());
statement = connection.createStatement();
- String queryString = "SELECT experiment_ID FROM Experiment WHERE user_name ='" + user + "'";
+// String queryString = "SELECT experiment_ID FROM Experiment WHERE user_name ='" + user + "'";
+ String queryString = "SELECT ed.experiment_ID FROM Experiment_Data ed " +
+ "LEFT JOIN Experiment e " +
+ "ON ed.experiment_ID = e.experiment_ID " +
+ "WHERE ed.username ='" + user + "'";
rs = statement.executeQuery(queryString);
if(rs != null){
while (rs.next()) {
@@ -154,13 +166,14 @@ public class ExperimentDataRetriever {
logger.error(e.getMessage(), e);
} catch (SQLException e){
e.printStackTrace();
+ logger.error(e.getMessage(), e);
}
return result;
}
- public String getExperimentName(String experimentId, String user){
+ public String getExperimentName(String experimentId){
String connectionURL = Utils.getJDBCURL();
Connection connection;
Statement statement;
@@ -172,8 +185,7 @@ public class ExperimentDataRetriever {
String queryString = "SELECT ed.name FROM Experiment e " +
"LEFT JOIN Experiment_Data ed " +
"ON e.experiment_ID = ed.experiment_ID " +
- "WHERE e.user_name ='" + user +
- "' AND e.experiment_ID='" + experimentId + "'";
+ "WHERE e.experiment_ID='" + experimentId + "'";
rs = statement.executeQuery(queryString);
if(rs != null){
while (rs.next()) {
@@ -211,7 +223,7 @@ public class ExperimentDataRetriever {
connection = DriverManager.getConnection(connectionURL, Utils.getJDBCUser(),
Utils.getJDBCPassword());
statement = connection.createStatement();
- String queryString = "SELECT e.experiment_ID, ed.name, e.user_name, em.metadata, " +
+ String queryString = "SELECT e.experiment_ID, ed.name, ed.username, em.metadata, " +
"wd.workflow_instanceID, wd.template_name, wd.status, wd.start_time," +
"wd.last_update_time, nd.node_id, nd.inputs, nd.outputs, " +
"e.project_name, e.submitted_date, nd.node_type, nd.status," +
@@ -271,6 +283,125 @@ public class ExperimentDataRetriever {
logger.error(e.getMessage(), e);
} catch (SQLException e){
e.printStackTrace();
+ logger.error(e.getMessage(), e);
+ }
+ return experimentDataList;
+ }
+
+ public ExperimentData getExperimentMetaInformation(String experimentId){
+ String connectionURL = Utils.getJDBCURL();
+ Connection connection = null;
+ ResultSet rs = null;
+ Statement statement;
+ List<WorkflowInstance> experimentWorkflowInstances = new ArrayList<WorkflowInstance>();
+ ExperimentData experimentData = null;
+ try {
+ Class.forName(Utils.getJDBCDriver()).newInstance();
+ connection = DriverManager.getConnection(connectionURL, Utils.getJDBCUser(), Utils.getJDBCPassword());
+ statement = connection.createStatement();
+ String queryString = "SELECT e.experiment_ID, ed.name, ed.username, em.metadata, " +
+ "e.project_name, e.submitted_date " +
+ "FROM Experiment e " +
+ "LEFT JOIN Experiment_Data ed " +
+ "ON e.experiment_ID = ed.experiment_ID " +
+ "LEFT JOIN Experiment_Metadata em " +
+ "ON ed.experiment_ID = em.experiment_ID " +
+ "WHERE e.experiment_ID ='" + experimentId + "'";
+
+ rs = statement.executeQuery(queryString);
+ if (rs != null){
+ while (rs.next()) {
+ experimentData = new ExperimentDataImpl(true);
+ experimentData.setExperimentId(rs.getString(1));
+ experimentData.setExperimentName(rs.getString(2));
+ experimentData.setUser(rs.getString(3));
+ experimentData.setMetadata(rs.getString(4));
+ experimentData.setTopic(rs.getString(1));
+
+ WorkflowInstance workflowInstance = new WorkflowInstance(experimentId, rs.getString(5));
+ workflowInstance.setTemplateName(rs.getString(6));
+ workflowInstance.setExperimentId(rs.getString(1));
+ workflowInstance.setWorkflowInstanceId(rs.getString(5));
+ experimentWorkflowInstances.add(workflowInstance);
+ }
+ }
+ if(rs != null){
+ rs.close();
+ }
+ statement.close();
+ connection.close();
+ } catch (InstantiationException e) {
+ e.printStackTrace();
+ logger.error(e.getMessage(), e);
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ logger.error(e.getMessage(), e);
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ logger.error(e.getMessage(), e);
+ } catch (SQLException e){
+ e.printStackTrace();
+ logger.error(e.getMessage(), e);
+ }
+ return experimentData;
+ }
+
+ public List<ExperimentData> getAllExperimentMetaInformation(String user){
+ String connectionURL = Utils.getJDBCURL();
+ Connection connection = null;
+ ResultSet rs = null;
+ Statement statement;
+ List<ExperimentData> experimentDataList = new ArrayList<ExperimentData>();
+ List<WorkflowInstance> experimentWorkflowInstances = new ArrayList<WorkflowInstance>();
+ ExperimentData experimentData = null;
+ try {
+ Class.forName(Utils.getJDBCDriver()).newInstance();
+ connection = DriverManager.getConnection(connectionURL, Utils.getJDBCUser(), Utils.getJDBCPassword());
+ statement = connection.createStatement();
+ String queryString = "SELECT e.experiment_ID, ed.name, ed.username, em.metadata, " +
+ "e.project_name, e.submitted_date " +
+ "FROM Experiment e " +
+ "LEFT JOIN Experiment_Data ed " +
+ "ON e.experiment_ID = ed.experiment_ID " +
+ "LEFT JOIN Experiment_Metadata em " +
+ "ON ed.experiment_ID = em.experiment_ID " +
+ "WHERE ed.username ='" + user + "'";
+
+ rs = statement.executeQuery(queryString);
+ if (rs != null){
+ while (rs.next()) {
+ experimentData = new ExperimentDataImpl(true);
+ experimentData.setExperimentId(rs.getString(1));
+ experimentData.setExperimentName(rs.getString(2));
+ experimentData.setUser(rs.getString(3));
+ experimentData.setMetadata(rs.getString(4));
+ experimentData.setTopic(rs.getString(1));
+
+ WorkflowInstance workflowInstance = new WorkflowInstance(rs.getString(1), rs.getString(5));
+ workflowInstance.setTemplateName(rs.getString(6));
+ workflowInstance.setExperimentId(rs.getString(1));
+ workflowInstance.setWorkflowInstanceId(rs.getString(5));
+ experimentWorkflowInstances.add(workflowInstance);
+ experimentDataList.add(experimentData);
+ }
+ }
+ if(rs != null){
+ rs.close();
+ }
+ statement.close();
+ connection.close();
+ } catch (InstantiationException e) {
+ e.printStackTrace();
+ logger.error(e.getMessage(), e);
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ logger.error(e.getMessage(), e);
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ logger.error(e.getMessage(), e);
+ } catch (SQLException e){
+ e.printStackTrace();
+ logger.error(e.getMessage(), e);
}
return experimentDataList;
}
Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentMetadataResource.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentMetadataResource.java?rev=1394723&r1=1394722&r2=1394723&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentMetadataResource.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentMetadataResource.java Fri Oct 5 18:49:58 2012
@@ -4,11 +4,14 @@ import org.apache.airavata.persistance.r
import org.apache.airavata.persistance.registry.jpa.ResourceType;
import org.apache.airavata.persistance.registry.jpa.ResourceUtils;
import org.apache.airavata.persistance.registry.jpa.model.Experiment_Metadata;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import javax.persistence.EntityManager;
import java.util.List;
public class ExperimentMetadataResource extends AbstractResource{
+ private static final Logger logger = LoggerFactory.getLogger(ExperimentMetadataResource.class);
private String expID;
private String metadata;
@@ -29,6 +32,7 @@ public class ExperimentMetadataResource
}
public Resource create(ResourceType type) {
+
throw new UnsupportedOperationException();
}