Repository: airavata
Updated Branches:
  refs/heads/master f9032d4dd -> 0a90a404c


Fixing worker resource


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/8d6ba82d
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/8d6ba82d
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/8d6ba82d

Branch: refs/heads/master
Commit: 8d6ba82da21eb9a83abfa8c3ae171fad518ff1f3
Parents: f9032d4
Author: Supun Nakandala <[email protected]>
Authored: Mon Jun 22 18:43:47 2015 +0530
Committer: Supun Nakandala <[email protected]>
Committed: Mon Jun 22 18:43:47 2015 +0530

----------------------------------------------------------------------
 .../catalog/resources/WorkerResource.java       | 242 +++++++++----------
 1 file changed, 111 insertions(+), 131 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/8d6ba82d/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/WorkerResource.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/WorkerResource.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/WorkerResource.java
index 3cb47d5..6488afb 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/WorkerResource.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/WorkerResource.java
@@ -32,7 +32,6 @@ import org.apache.airavata.registry.cpi.ResultOrderType;
 import org.apache.airavata.registry.cpi.utils.Constants;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import sun.reflect.generics.reflectiveObjects.NotImplementedException;
 
 import javax.persistence.EntityManager;
 import javax.persistence.Query;
@@ -40,7 +39,6 @@ import java.sql.Timestamp;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
-import java.util.UUID;
 
 public class WorkerResource extends AbstractExpCatResource {
     private final static Logger logger = 
LoggerFactory.getLogger(WorkerResource.class);
@@ -399,11 +397,6 @@ public class WorkerResource extends AbstractExpCatResource 
{
         return project;
     }
 
-    public String getProjectID(String projectName) {
-        String pro = projectName.replaceAll("\\s", "");
-        return pro + "_" + UUID.randomUUID();
-    }
-
     /**
      * @param id project id
      * @return project resource
@@ -597,88 +590,81 @@ public class WorkerResource extends 
AbstractExpCatResource {
      */
     public List<ExperimentSummaryResource> searchExperiments(Timestamp 
fromTime, Timestamp toTime, Map<String, String> filters, int limit,
                                                              int offset, 
Object orderByIdentifier, ResultOrderType resultOrderType) throws 
RegistryException {
-//        List<ExperimentSummaryResource> result = new ArrayList();
-//        EntityManager em = null;
-//        try {
-//            String query = "SELECT e, s FROM Experiment e " +
-//                    ",Status s WHERE e.expId=s.expId AND " +
-//                    "s.statusType='" + StatusType.EXPERIMENT + "' AND ";
-//            if (filters.get(StatusConstants.STATE) != null) {
-//                String experimentState = 
ExperimentState.valueOf(filters.get(StatusConstants.STATE)).toString();
-//                query += "s.state='" + experimentState + "' AND ";
-//            }
-//
-//            if (toTime != null && fromTime != null && 
toTime.after(fromTime)) {
-//                query += "e.creationTime > '" + fromTime + "' " + "AND 
e.creationTime <'" + toTime + "' AND ";
-//            }
-//
-//            filters.remove(StatusConstants.STATE);
-//            if (filters != null && filters.size() != 0) {
-//                for (String field : filters.keySet()) {
-//                    String filterVal = filters.get(field);
-//                    if (field.equals(ExperimentConstants.EXECUTION_USER)) {
-//                        query += "e." + field + "= '" + filterVal + "' AND ";
-//                    } else if (field.equals(ExperimentConstants.GATEWAY_ID)) 
{
-//                        query += "e." + field + "= '" + filterVal + "' AND ";
-//                    } else if (field.equals(ExperimentConstants.PROJECT_ID)) 
{
-//                        query += "e." + field + "= '" + filterVal + "' AND ";
-//                    } else {
-//                        if (filterVal.contains("*")) {
-//                            filterVal = filterVal.replaceAll("\\*", "");
-//                        }
-//                        query += "e." + field + " LIKE '%" + filterVal + "%' 
AND ";
-//                    }
-//                }
-//            }
-//            query = query.substring(0, query.length() - 5);
-//
-//            //ordering
-//            if (orderByIdentifier != null && resultOrderType != null
-//                    && 
orderByIdentifier.equals(Constants.FieldConstants.ExperimentConstants.CREATION_TIME))
 {
-//                String order = (resultOrderType == ResultOrderType.ASC) ? 
"ASC" : "DESC";
-//                query += " ORDER BY e." + ExperimentConstants.CREATION_TIME 
+ " " + order;
-//            }
-//
-//            em = ExpCatResourceUtils.getEntityManager();
-//            em.getTransaction().begin();
-//            Query q;
-//
-//            //pagination
-//            if (offset >= 0 && limit >= 0) {
-//                q = 
em.createQuery(query).setFirstResult(offset).setMaxResults(limit);
-//            } else {
-//                q = em.createQuery(query);
-//            }
-//            OpenJPAQuery kq = OpenJPAPersistence.cast(q);
-//            JDBCFetchPlan fetch = (JDBCFetchPlan) kq.getFetchPlan();
-//            fetch.setEagerFetchMode(FetchMode.JOIN);
-//
-//            List resultList = q.getResultList();
-//            for (Object o : resultList) {
-//                Experiment experiment = (Experiment) ((Object[]) o)[0];
-//                Status experimentStatus = (Status) ((Object[]) o)[1];
-//                experiment.setExperimentStatus(experimentStatus);
-//                ExperimentSummaryResource experimentSummaryResource =
-//                        (ExperimentSummaryResource) 
Utils.getResource(ResourceType.EXPERIMENT_SUMMARY, experiment);
-//                result.add(experimentSummaryResource);
-//            }
-//            em.getTransaction().commit();
-//            em.close();
-//        } catch (Exception e) {
-//            logger.error(e.getMessage(), e);
-//            throw new RegistryException(e);
-//        } finally {
-//            if (em != null && em.isOpen()) {
-//                if (em.getTransaction().isActive()) {
-//                    em.getTransaction().rollback();
-//                }
-//                em.close();
-//            }
-//        }
-//        return result;
-        throw new NotImplementedException();
-    }
+        List<ExperimentSummaryResource> result = new ArrayList();
+        EntityManager em = null;
+        try {
+            String query = "SELECT e FROM ExperimentSummary e " +
+                    "WHERE e.expId=s.expId AND ";
+            if (filters.get(ExperimentStatusConstants.STATE) != null) {
+                String experimentState = 
ExperimentState.valueOf(filters.get(ExperimentStatusConstants.STATE)).toString();
+                query += "e.state='" + experimentState + "' AND ";
+            }
+
+            if (toTime != null && fromTime != null && toTime.after(fromTime)) {
+                query += "e.creationTime > '" + fromTime + "' " + "AND 
e.creationTime <'" + toTime + "' AND ";
+            }
+
+            filters.remove(ExperimentStatusConstants.STATE);
+            if (filters != null && filters.size() != 0) {
+                for (String field : filters.keySet()) {
+                    String filterVal = filters.get(field);
+                    if (field.equals(ExperimentConstants.USER_NAME)) {
+                        query += "e." + field + "= '" + filterVal + "' AND ";
+                    } else if (field.equals(ExperimentConstants.GATEWAY_ID)) {
+                        query += "e." + field + "= '" + filterVal + "' AND ";
+                    } else if (field.equals(ExperimentConstants.PROJECT_ID)) {
+                        query += "e." + field + "= '" + filterVal + "' AND ";
+                    } else {
+                        if (filterVal.contains("*")) {
+                            filterVal = filterVal.replaceAll("\\*", "");
+                        }
+                        query += "e." + field + " LIKE '%" + filterVal + "%' 
AND ";
+                    }
+                }
+            }
+            query = query.substring(0, query.length() - 5);
+
+            //ordering
+            if (orderByIdentifier != null && resultOrderType != null
+                    && 
orderByIdentifier.equals(Constants.FieldConstants.ExperimentConstants.CREATION_TIME))
 {
+                String order = (resultOrderType == ResultOrderType.ASC) ? 
"ASC" : "DESC";
+                query += " ORDER BY e." + ExperimentConstants.CREATION_TIME + 
" " + order;
+            }
+
+            em = ExpCatResourceUtils.getEntityManager();
+            em.getTransaction().begin();
+            Query q;
 
+            //pagination
+            if (offset >= 0 && limit >= 0) {
+                q = 
em.createQuery(query).setFirstResult(offset).setMaxResults(limit);
+            } else {
+                q = em.createQuery(query);
+            }
+
+            List resultList = q.getResultList();
+            for (Object o : resultList) {
+                ExperimentSummary experimentSummary = (ExperimentSummary) o;
+                ExperimentSummaryResource experimentSummaryResource =
+                        (ExperimentSummaryResource) 
Utils.getResource(ResourceType.EXPERIMENT_SUMMARY,
+                                experimentSummary);
+                result.add(experimentSummaryResource);
+            }
+            em.getTransaction().commit();
+            em.close();
+        } catch (Exception e) {
+            logger.error(e.getMessage(), e);
+            throw new RegistryException(e);
+        } finally {
+            if (em != null && em.isOpen()) {
+                if (em.getTransaction().isActive()) {
+                    em.getTransaction().rollback();
+                }
+                em.close();
+            }
+        }
+        return result;
+    }
 
     /**
      * Method to get experiment statistics for a gateway
@@ -712,48 +698,42 @@ public class WorkerResource extends 
AbstractExpCatResource {
 
     private List<ExperimentSummaryResource> getExperimentStatisticsForState(
             ExperimentState expState, String gatewayId, Timestamp fromTime, 
Timestamp toTime) throws RegistryException {
-//        EntityManager em = null;
-//        List<ExperimentSummaryResource> result = new ArrayList();
-//        try {
-//            String query = "SELECT e, s FROM Experiment e " +
-//                    ",Status s WHERE e.expId=s.expId AND " +
-//                    "s.statusType='" + StatusType.EXPERIMENT + "' AND ";
-//            if (expState != null) {
-//                query += "s.state='" + expState.toString() + "' AND ";
-//            }
-//            query += "e.creationTime > '" + fromTime + "' " + "AND 
e.creationTime <'" + toTime + "' AND ";
-//            query += "e." + ExperimentConstants.GATEWAY_ID + "= '" + 
gatewayId + "'";
-//
-//            em = ExpCatResourceUtils.getEntityManager();
-//            em.getTransaction().begin();
-//            Query q = em.createQuery(query);
-//            OpenJPAQuery kq = OpenJPAPersistence.cast(q);
-//            JDBCFetchPlan fetch = (JDBCFetchPlan) kq.getFetchPlan();
-//            fetch.setEagerFetchMode(FetchMode.JOIN);
-//
-//            List resultList = q.getResultList();
-//            for (Object o : resultList) {
-//                Experiment experiment = (Experiment) ((Object[]) o)[0];
-//                Status experimentStatus = (Status) ((Object[]) o)[1];
-//                experiment.setExperimentStatus(experimentStatus);
-//                ExperimentSummaryResource experimentSummaryResource =
-//                        (ExperimentSummaryResource) 
Utils.getResource(ResourceType.EXPERIMENT_SUMMARY, experiment);
-//                result.add(experimentSummaryResource);
-//            }
-//            em.getTransaction().commit();
-//            em.close();
-//        } catch (Exception e) {
-//            logger.error(e.getMessage(), e);
-//            throw new RegistryException(e);
-//        } finally {
-//            if (em != null && em.isOpen()) {
-//                if (em.getTransaction().isActive()) {
-//                    em.getTransaction().rollback();
-//                }
-//                em.close();
-//            }
-//        }
-//        return result;
-        throw new NotImplementedException();
+        EntityManager em = null;
+        List<ExperimentSummaryResource> result = new ArrayList();
+        try {
+            String query = "SELECT e FROM ExperimentSummary e " +
+                    "WHERE e.expId=s.expId AND ";
+            if (expState != null) {
+                query += "e.state='" + expState.toString() + "' AND ";
+            }
+            query += "e.creationTime > '" + fromTime + "' " + "AND 
e.creationTime <'" + toTime + "' AND ";
+            query += "e." + ExperimentConstants.GATEWAY_ID + "= '" + gatewayId 
+ "'";
+
+            em = ExpCatResourceUtils.getEntityManager();
+            em.getTransaction().begin();
+            Query q = em.createQuery(query);
+
+            List resultList = q.getResultList();
+            for (Object o : resultList) {
+                ExperimentSummary experimentSummary = (ExperimentSummary) o;
+                ExperimentSummaryResource experimentSummaryResource =
+                        (ExperimentSummaryResource) 
Utils.getResource(ResourceType.EXPERIMENT_SUMMARY,
+                                experimentSummary);
+                result.add(experimentSummaryResource);
+            }
+            em.getTransaction().commit();
+            em.close();
+        } catch (Exception e) {
+            logger.error(e.getMessage(), e);
+            throw new RegistryException(e);
+        } finally {
+            if (em != null && em.isOpen()) {
+                if (em.getTransaction().isActive()) {
+                    em.getTransaction().rollback();
+                }
+                em.close();
+            }
+        }
+        return result;
     }
 }

Reply via email to