@Override public PluginDetails getPluginDetails(final Long pluginId) { EntityManager em = daoManager.getEntityManagerFromFactory(); try { daoManager.startTransaction(em); PluginDetailsEntity entity = em.find(PluginDetailsEntity.class, pluginId); return entity; } catch (Exception e) { daoManager.closeEntityManager(em); return null; } }
@Override public List<PluginDetails> getInstalledPlugins() { List<PluginDetails> result = Lists.newArrayList(); EntityManager em = daoManager.getEntityManagerFromFactory(); Query query; try { query = em.createQuery("select h from PluginDetailsEntity h"); result = (List<PluginDetails>) query.getResultList(); } catch (Exception e) { LOG.error(e.toString(), e); } finally { daoManager.closeEntityManager(em); } return result; }
@Override public void deleteDetails(final Long pluginId) { EntityManager em = daoManager.getEntityManagerFromFactory(); try { daoManager.startTransaction(em); PluginDetailsEntity entity = em.find(PluginDetailsEntity.class, pluginId); File karFile = new File(entity.getKar()); if (karFile.delete()) { em.remove(entity); em.flush(); daoManager.commitTransaction(em); } } catch (Exception ex) { daoManager.rollBackTransaction(em); LOG.error("ConfigDataService deleteOperation:" + ex.toString()); } finally { daoManager.closeEntityManager(em); } }
@Override public void saveDetails( final String name, final String version, final String pathToKar /*, final Long userId, final Long roleId, final String token */) { PluginDetails pluginDetails = new PluginDetailsEntity(); pluginDetails.setName(name); pluginDetails.setVersion(version); pluginDetails.setKar(pathToKar); EntityManager em = daoManager.getEntityManagerFactory().createEntityManager(); try { daoManager.startTransaction(em); em.merge(pluginDetails); daoManager.commitTransaction(em); } catch (Exception e) { daoManager.rollBackTransaction(em); LOG.error("ConfigDataService saveProfile:" + e.toString()); } finally { daoManager.closeEntityManager(em); } }