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 2016/08/26 15:43:20 UTC
[25/50] [abbrv] airavata git commit: undoing registry java8 revert
undoing registry java8 revert
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/c6a82a02
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/c6a82a02
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/c6a82a02
Branch: refs/heads/lahiru/AIRAVATA-2057
Commit: c6a82a029635a1239ca0563e9019399f90ca714a
Parents: cfe62c3
Author: scnakandala <su...@gmail.com>
Authored: Mon Aug 15 16:14:16 2016 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Mon Aug 15 16:14:16 2016 -0400
----------------------------------------------------------------------
.../airavata/registry/core/Committer.java | 29 ----
.../apache/airavata/registry/core/JPAUtil.java | 57 -------
.../catalog/resources/ExperimentResource.java | 148 +++++++++++++------
3 files changed, 100 insertions(+), 134 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/c6a82a02/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/Committer.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/Committer.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/Committer.java
deleted file mode 100644
index 99b504b..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/Committer.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.airavata.registry.core;
-
-import org.apache.airavata.registry.cpi.RegistryException;
-
-@FunctionalInterface
-public interface Committer<T, R> {
-
- R commit(T t) throws RegistryException;
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/c6a82a02/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/JPAUtil.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/JPAUtil.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/JPAUtil.java
deleted file mode 100644
index 58988c6..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/JPAUtil.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.airavata.registry.core;
-
-import org.apache.airavata.registry.core.experiment.catalog.ExpCatResourceUtils;
-import org.apache.airavata.registry.cpi.ExperimentCatalogException;
-import org.apache.airavata.registry.cpi.RegistryException;
-
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.Persistence;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.function.Consumer;
-
-public class JPAUtil {
-
- public static <R> R executeOnExpCatalog(Committer<EntityManager, R> committer) throws RegistryException, ExperimentCatalogException {
- EntityManager entityManager = ExpCatResourceUtils.getEntityManager();
- try {
- entityManager.getTransaction().begin();
- R r = committer.commit(entityManager);
- entityManager.getTransaction().commit();
- return r;
- }finally {
- if(entityManager != null && entityManager.isOpen()){
- if (entityManager.getTransaction().isActive()) {
- entityManager.getTransaction().rollback();
- }
- entityManager.close();
- }
- }
-
- }
-
- public static void test() throws ExperimentCatalogException, RegistryException {
- executeOnExpCatalog((em) -> "");
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/c6a82a02/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java
index 7889839..174575f 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java
@@ -22,8 +22,6 @@
package org.apache.airavata.registry.core.experiment.catalog.resources;
import org.apache.airavata.model.status.ExperimentState;
-import org.apache.airavata.registry.core.Committer;
-import org.apache.airavata.registry.core.JPAUtil;
import org.apache.airavata.registry.core.experiment.catalog.ExpCatResourceUtils;
import org.apache.airavata.registry.core.experiment.catalog.ExperimentCatResource;
import org.apache.airavata.registry.core.experiment.catalog.ResourceType;
@@ -31,7 +29,6 @@ import org.apache.airavata.registry.core.experiment.catalog.model.*;
import org.apache.airavata.registry.core.experiment.catalog.model.Process;
import org.apache.airavata.registry.core.experiment.catalog.utils.QueryGenerator;
import org.apache.airavata.registry.cpi.RegistryException;
-import org.apache.openjpa.persistence.Generator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -267,65 +264,120 @@ public class ExperimentResource extends AbstractExpCatResource {
public ExperimentCatResource get(ResourceType type, Object name) throws RegistryException{
+ EntityManager em = null;
try {
+ em = ExpCatResourceUtils.getEntityManager();
+ em.getTransaction().begin();
+ QueryGenerator generator;
+ Query q;
switch (type) {
case EXPERIMENT_STATUS:
- return JPAUtil.executeOnExpCatalog(entityManager -> {
- QueryGenerator generator = new QueryGenerator(EXPERIMENT_STATUS);
- generator.setParameter(ExperimentStatusConstants.STATUS_ID, name);
- Query q = generator.selectQuery(entityManager);
- ExperimentStatus status = (ExperimentStatus) q.getSingleResult();
- return (ExperimentStatusResource) Utils.getResource(ResourceType.EXPERIMENT_STATUS, status);
- });
+ generator = new QueryGenerator(EXPERIMENT_STATUS);
+ generator.setParameter(ExperimentStatusConstants.STATUS_ID, name);
+ q = generator.selectQuery(em);
+ ExperimentStatus status = (ExperimentStatus) q.getSingleResult();
+ ExperimentStatusResource statusResource = (ExperimentStatusResource) Utils.getResource(ResourceType.EXPERIMENT_STATUS, status);
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return statusResource;
case EXPERIMENT_ERROR:
- return JPAUtil.executeOnExpCatalog(entityManager -> {
- QueryGenerator generator = new QueryGenerator(EXPERIMENT_ERROR);
- generator.setParameter(ExperimentErrorConstants.ERROR_ID, name);
- Query q = generator.selectQuery(entityManager);
- ExperimentError experimentError = (ExperimentError) q.getSingleResult();
- return (ExperimentErrorResource) Utils.getResource(ResourceType.EXPERIMENT_ERROR, experimentError);
- });
+ generator = new QueryGenerator(EXPERIMENT_ERROR);
+ generator.setParameter(ExperimentErrorConstants.ERROR_ID, name);
+ q = generator.selectQuery(em);
+ ExperimentError experimentError = (ExperimentError) q.getSingleResult();
+ ExperimentErrorResource processErrorResource = (ExperimentErrorResource) Utils.getResource(ResourceType.EXPERIMENT_ERROR, experimentError);
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return processErrorResource;
case EXPERIMENT_INPUT:
- return JPAUtil.executeOnExpCatalog(entityManager -> {
- QueryGenerator generator = new QueryGenerator(EXPERIMENT_INPUT);
- generator.setParameter(ExperimentInputConstants.INPUT_NAME, name);
- generator.setParameter(ExperimentInputConstants.EXPERIMENT_ID, experimentId);
- Query q = generator.selectQuery(entityManager);
- ExperimentInput experimentInput = (ExperimentInput) q.getSingleResult();
- return (ExperimentInputResource) Utils.getResource(ResourceType.EXPERIMENT_INPUT, experimentInput);
- });
+ generator = new QueryGenerator(EXPERIMENT_INPUT);
+ generator.setParameter(ExperimentInputConstants.INPUT_NAME, name);
+ generator.setParameter(ExperimentInputConstants.EXPERIMENT_ID, experimentId);
+ q = generator.selectQuery(em);
+ ExperimentInput experimentInput = (ExperimentInput) q.getSingleResult();
+ ExperimentInputResource experimentInputResource = (ExperimentInputResource) Utils.getResource(ResourceType.EXPERIMENT_INPUT, experimentInput);
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return experimentInputResource;
case EXPERIMENT_OUTPUT:
- return JPAUtil.executeOnExpCatalog(entityManager -> {
- QueryGenerator generator = new QueryGenerator(EXPERIMENT_OUTPUT);
- generator.setParameter(ExperimentOutputConstants.OUTPUT_NAME, name);
- generator.setParameter(ExperimentInputConstants.EXPERIMENT_ID, experimentId);
- Query q = generator.selectQuery(entityManager);
- ExperimentOutput experimentOutput = (ExperimentOutput) q.getSingleResult();
- return (ExperimentOutputResource) Utils.getResource(ResourceType.EXPERIMENT_OUTPUT, experimentOutput);
- });
+ generator = new QueryGenerator(EXPERIMENT_OUTPUT);
+ generator.setParameter(ExperimentOutputConstants.OUTPUT_NAME, name);
+ generator.setParameter(ExperimentInputConstants.EXPERIMENT_ID, experimentId);
+ q = generator.selectQuery(em);
+ ExperimentOutput experimentOutput = (ExperimentOutput) q.getSingleResult();
+ ExperimentOutputResource outputResource = (ExperimentOutputResource) Utils.getResource(ResourceType.EXPERIMENT_OUTPUT, experimentOutput);
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return outputResource;
case USER_CONFIGURATION_DATA:
- return JPAUtil.executeOnExpCatalog(entityManager -> {
- QueryGenerator generator = new QueryGenerator(USER_CONFIGURATION_DATA);
- generator.setParameter(UserConfigurationDataConstants.EXPERIMENT_ID, name);
- Query q = generator.selectQuery(entityManager);
- UserConfigurationData configurationData = (UserConfigurationData) q.getSingleResult();
- return (UserConfigurationDataResource)
- Utils.getResource(ResourceType.USER_CONFIGURATION_DATA, configurationData);
- });
+ generator = new QueryGenerator(USER_CONFIGURATION_DATA);
+ generator.setParameter(UserConfigurationDataConstants.EXPERIMENT_ID, name);
+ q = generator.selectQuery(em);
+ UserConfigurationData configurationData = (UserConfigurationData) q.getSingleResult();
+ UserConfigurationDataResource configurationDataResource = (UserConfigurationDataResource)
+ Utils.getResource(ResourceType.USER_CONFIGURATION_DATA, configurationData);
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return configurationDataResource;
case PROCESS:
- return JPAUtil.executeOnExpCatalog(entityManager -> {
- QueryGenerator generator = new QueryGenerator(PROCESS);
- generator.setParameter(ProcessConstants.PROCESS_ID, name);
- Query q = generator.selectQuery(entityManager);
- Process process = (Process) q.getSingleResult();
- return (ProcessResource) Utils.getResource(ResourceType.PROCESS, process);
- });
+ generator = new QueryGenerator(PROCESS);
+ generator.setParameter(ProcessConstants.PROCESS_ID, name);
+ q = generator.selectQuery(em);
+ Process process = (Process) q.getSingleResult();
+ ProcessResource processResource = (ProcessResource) Utils.getResource(ResourceType.PROCESS, process);
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ return processResource;
default:
+ em.getTransaction().commit();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported resource type for experiment resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported resource type for experiment resource.");
}
} catch (Exception e) {
throw new RegistryException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
}
}