use of org.apache.airavata.registry.core.app.catalog.model.ApplicationInterface in project airavata by apache.
the class AppInterfaceResource method getIds.
@Override
public List<String> getIds(String fieldName, Object value) throws AppCatalogException {
List<String> resourceList = new ArrayList<String>();
EntityManager em = null;
try {
em = AppCatalogJPAUtils.getEntityManager();
em.getTransaction().begin();
Query q;
AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(APPLICATION_INTERFACE);
List results;
if (fieldName.equals(ApplicationInterfaceConstants.APPLICATION_NAME)) {
generator.setParameter(ApplicationInterfaceConstants.APPLICATION_NAME, value);
q = generator.selectQuery(em);
results = q.getResultList();
if (results.size() != 0) {
for (Object result : results) {
ApplicationInterface appInterface = (ApplicationInterface) result;
resourceList.add(appInterface.getInterfaceID());
}
}
} else {
em.getTransaction().commit();
if (em.isOpen()) {
if (em.getTransaction().isActive()) {
em.getTransaction().rollback();
}
em.close();
}
logger.error("Unsupported field name for application interface.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for application interface.");
}
em.getTransaction().commit();
if (em.isOpen()) {
if (em.getTransaction().isActive()) {
em.getTransaction().rollback();
}
em.close();
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
} finally {
if (em != null && em.isOpen()) {
if (em.getTransaction().isActive()) {
em.getTransaction().rollback();
}
em.close();
}
}
return resourceList;
}
use of org.apache.airavata.registry.core.app.catalog.model.ApplicationInterface in project airavata by apache.
the class AppInterfaceResource method isExists.
@Override
public boolean isExists(Object identifier) throws AppCatalogException {
EntityManager em = null;
try {
em = AppCatalogJPAUtils.getEntityManager();
ApplicationInterface existigAppInterface = em.find(ApplicationInterface.class, identifier);
if (em.isOpen()) {
if (em.getTransaction().isActive()) {
em.getTransaction().rollback();
}
em.close();
}
return existigAppInterface != null;
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
} finally {
if (em != null && em.isOpen()) {
if (em.getTransaction().isActive()) {
em.getTransaction().rollback();
}
em.close();
}
}
}
use of org.apache.airavata.registry.core.app.catalog.model.ApplicationInterface in project airavata by apache.
the class AppInterfaceResource method getAllIds.
@Override
public List<String> getAllIds() throws AppCatalogException {
List<String> resourceList = new ArrayList<String>();
EntityManager em = null;
try {
em = AppCatalogJPAUtils.getEntityManager();
em.getTransaction().begin();
AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(APPLICATION_INTERFACE);
Query q = generator.selectQuery(em);
List results = q.getResultList();
if (results.size() != 0) {
for (Object result : results) {
ApplicationInterface appInterface = (ApplicationInterface) result;
resourceList.add(appInterface.getInterfaceID());
}
}
em.getTransaction().commit();
if (em.isOpen()) {
if (em.getTransaction().isActive()) {
em.getTransaction().rollback();
}
em.close();
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
} finally {
if (em != null && em.isOpen()) {
if (em.getTransaction().isActive()) {
em.getTransaction().rollback();
}
em.close();
}
}
return resourceList;
}
use of org.apache.airavata.registry.core.app.catalog.model.ApplicationInterface in project airavata by apache.
the class AppModuleMappingAppCatalogResourceAppCat method save.
@Override
public void save() throws AppCatalogException {
EntityManager em = null;
try {
em = AppCatalogJPAUtils.getEntityManager();
AppModuleMapping existngModuleMap = em.find(AppModuleMapping.class, new AppModuleMapping_PK(interfaceId, moduleId));
if (em.isOpen()) {
if (em.getTransaction().isActive()) {
em.getTransaction().rollback();
}
em.close();
}
em = AppCatalogJPAUtils.getEntityManager();
em.getTransaction().begin();
ApplicationInterface applicationInterface = em.find(ApplicationInterface.class, interfaceId);
ApplicationModule applicationModule = em.find(ApplicationModule.class, moduleId);
if (existngModuleMap != null) {
existngModuleMap.setApplicationInterface(applicationInterface);
existngModuleMap.setApplicationModule(applicationModule);
em.merge(existngModuleMap);
} else {
AppModuleMapping appModuleMapping = new AppModuleMapping();
appModuleMapping.setInterfaceID(interfaceId);
appModuleMapping.setApplicationInterface(applicationInterface);
appModuleMapping.setModuleID(moduleId);
appModuleMapping.setApplicationModule(applicationModule);
em.persist(appModuleMapping);
}
em.getTransaction().commit();
if (em.isOpen()) {
if (em.getTransaction().isActive()) {
em.getTransaction().rollback();
}
em.close();
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
} finally {
if (em != null && em.isOpen()) {
if (em.getTransaction().isActive()) {
em.getTransaction().rollback();
}
em.close();
}
}
}
use of org.apache.airavata.registry.core.app.catalog.model.ApplicationInterface in project airavata by apache.
the class ApplicationInputResource method save.
public void save() throws AppCatalogException {
EntityManager em = null;
try {
em = AppCatalogJPAUtils.getEntityManager();
ApplicationIntInput existingApplicationInput = em.find(ApplicationIntInput.class, new AppInput_PK(interfaceID, inputKey));
if (em.isOpen()) {
if (em.getTransaction().isActive()) {
em.getTransaction().rollback();
}
em.close();
}
ApplicationIntInput applicationInput;
em = AppCatalogJPAUtils.getEntityManager();
em.getTransaction().begin();
if (existingApplicationInput == null) {
applicationInput = new ApplicationIntInput();
} else {
applicationInput = existingApplicationInput;
}
ApplicationInterface applicationInterface = em.find(ApplicationInterface.class, interfaceID);
applicationInput.setApplicationInterface(applicationInterface);
applicationInput.setInterfaceID(applicationInterface.getInterfaceID());
applicationInput.setDataType(dataType);
applicationInput.setInputKey(inputKey);
applicationInput.setInputVal(inputVal);
applicationInput.setMetadata(metadata);
applicationInput.setAppArgument(appArgument);
applicationInput.setUserFriendlyDesc(userFriendlyDesc);
applicationInput.setStandardInput(standardInput);
applicationInput.setInputOrder(inputOrder);
applicationInput.setRequiredToCMD(requiredToCMD);
applicationInput.setRequired(isRequired);
applicationInput.setDataStaged(dataStaged);
applicationInput.setReadOnly(isReadOnly);
if (existingApplicationInput == null) {
em.persist(applicationInput);
} else {
em.merge(applicationInput);
}
em.getTransaction().commit();
if (em.isOpen()) {
if (em.getTransaction().isActive()) {
em.getTransaction().rollback();
}
em.close();
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
} finally {
if (em != null && em.isOpen()) {
if (em.getTransaction().isActive()) {
em.getTransaction().rollback();
}
em.close();
}
}
}
Aggregations