private void addWorkers() { ResourceType type; ArrayList<Resource> users = null; ArrayList<Project> projects = null; Random random = new Random(1l); try { type = resourceTypeDAO.getResourceTypeByResourceTypeName("human"); users = resourceDAO.getResourcesByResourceType(type); projects = projectDAO.getAllProjects(); } catch (Exception e) { e.printStackTrace(); } for (Project project : projects) { int workers = random.nextInt(11) + 5; Resource user = users.get(random.nextInt(users.size())); try { resourceDAO.insertUserTask(user.getResourceID(), project.getProjectID(), true); } catch (UserWorkOnThisProjectException e) { e.printStackTrace(); } for (int i = 0; i < workers; ++i) { user = users.get(random.nextInt(users.size())); try { resourceDAO.insertUserTask( user.getResourceID(), project.getProjectID(), (random.nextInt(5) == 0)); } catch (UserWorkOnThisProjectException e) { System.out.println( "User already assigned, but don't worry, there are plenty to choose from"); } } } }
private void addNonHumanBookings() { ArrayList<Resource> resources = null; Random random = new Random(1l); try { resources = resourceDAO.getResourcesByResourceType( resourceTypeDAO.getResourceTypeByResourceTypeName("machine")); resources.addAll( resourceDAO.getResourcesByResourceType( resourceTypeDAO.getResourceTypeByResourceTypeName("room"))); } catch (Exception e) { e.printStackTrace(); } ArrayList<Project> allProjects = null; try { allProjects = projectDAO.getAllProjects(); } catch (Exception e) { e.printStackTrace(); } for (Resource resource : resources) { HashSet<Project> projects = new HashSet<Project>(); for (int i = 0; i < 3; ++i) { projects.add(allProjects.get(random.nextInt(allProjects.size()))); } int max = (projects.size() > 0) ? (50 / projects.size()) : 0; for (Project project : projects) { for (int i = project.getStartWeek(); i <= project.getDeadLine(); ++i) { if (random.nextInt(2) == 0) { Booking booking = new Booking(); booking.setProjectID(project.getProjectID()); booking.setResourceID(resource.getResourceID()); booking.setWeek(i); booking.setRatio(((float) (random.nextInt(max + 1) + max)) / 100); try { bookingDAO.insertBooking(booking); } catch (DAOException e) { e.printStackTrace(); } System.out.println(booking); } } } } }