public <E> List<E> retireveProjectsForUser(String UserID) { List<ProjectBean> projectList = new ArrayList<ProjectBean>(); try { List<UserProjectMapping> users = userProjectMappingDao.queryForAll(); userProjectsQuery.setArgumentHolderValue( 0, UserDAOManager.getInstance().userDetailDao.queryForId(Integer.parseInt(UserID))); projectList = projectDao.query(userProjectsQuery); } catch (NumberFormatException e) { logger.error("Error parsing user ID : " + e.getMessage()); } catch (SQLException e) { logger.error("Error fetching projects for user " + UserID + " : " + e.getMessage()); } return (List<E>) projectList; }
@Override public StatusBean create(JsonNode newData) { ProjectBean projectBean = new ProjectBean(); Gson projectData = new GsonBuilder().setDateFormat("yyyy'-'MM'-'dd HH':'mm':'ss").create(); projectBean = projectData.fromJson(newData.toString(), ProjectBean.class); StatusBean statusBean = new StatusBean(); try { int rowsUpdated = projectDao.create(projectBean); // if(rowsUpdated == 1) // Utilities.getInstance().changeActiveDirectory(projectBean.getProjectId()); UserDAOManager.getInstance() .populateMappingBean(projectBean, newData.get("owner").getValueAsText()); statusBean.setStatusCode(0); statusBean.setData(projectBean); Utilities.getInstance().initializeDirectory(projectBean.getProjectID()); String scriptDir = Utilities.getInstance().constructProjectDirectory(projectBean.getProjectID()) + OSProperties.getInstance().getOSFileSeparator() + OSProperties.getInstance().getScriptsDirName() + OSProperties.getInstance().getOSFileSeparator(); Utilities.getInstance().checkIfDirExists(new File(scriptDir)); // File puppetScriptFile = new File(getClass().getResource("/puppet.sh").toURI()); InputStream puppetScriptStream = getClass().getResourceAsStream("/puppet.sh"); File puppetFile = new File("puppet.sh"); OutputStream outputStream = new FileOutputStream(puppetFile); IOUtils.copy(puppetScriptStream, outputStream); Utilities.getInstance().copyFile(puppetFile, new File(scriptDir + "puppet.sh")); String nodeFileLoc = Utilities.getInstance().constructProjectDirectory(projectBean.getProjectID()) + OSProperties.getInstance().getOSFileSeparator() + OSProperties.getInstance().getManifestsDirName() + OSProperties.getInstance().getOSFileSeparator() + "site.pp"; boolean nodeFile = new File(nodeFileLoc).createNewFile(); Integer providerID = ProviderDAOManager.getInstance() .providerDao .queryForId(projectBean.getProviderType()) .getProviderID(); ProjectProviderMappingBean projectProvider = new ProjectProviderMappingBean(projectBean.getProjectID(), providerID); projectProviderMappingDao.create(projectProvider); String providerName = ProviderDAOManager.getInstance() .providerDao .queryForId(projectBean.getProviderType()) .getName(); if (providerName.equalsIgnoreCase(CommonProperties.getInstance().getDockerProvider())) { Utilities.getInstance().initializeDockerVagrantFile(projectBean.getProjectID()); } else if (providerName.equalsIgnoreCase(AwsProjectDAOManager.PROVIDER_NAME)) { AwsProjectDAOManager.getInstance().create(newData, projectBean); } } catch (SQLException e) { logger.error("Error creating a new project : " + e.getMessage()); statusBean.setStatusCode(1); statusBean.setStatusMessage("Error creating project : " + e.getMessage()); } catch (IOException e) { e.printStackTrace(); } return statusBean; }