private synchronized void initialize() // @BeforeClass not possible because DAOs are needed. { if (initialized == true) { return; } initialized = true; logon(getUser(TEST_ADMIN_USER)); TaskDO task; task = initTestDB.addTask("TimesheetBookingTest", "root"); final GroupTaskAccessDO access = new GroupTaskAccessDO() .setGroup(initTestDB.addGroup("TBT", TEST_USER)) .addAccessEntry(new AccessEntryDO(AccessType.OWN_TIMESHEETS, true, true, true, true)) .setTask(task); accessDao.save(access); logon(getUser(TEST_FINANCE_USER)); taskDao.update(initTestDB.addTask("TBT-1", "TimesheetBookingTest")); taskDao.update(initTestDB.addTask("TBT-1.1", "TBT-1").setStatus(TaskStatus.C)); taskDao.markAsDeleted(initTestDB.addTask("TBT-1.2", "TBT-1")); taskDao.update(initTestDB.addTask("TBT-1.2.1", "TBT-1.2")); taskDao.update( initTestDB .addTask("TBT-2", "TimesheetBookingTest") .setTimesheetBookingStatus(TimesheetBookingStatus.TREE_CLOSED)); taskDao.update( initTestDB .addTask("TBT-2.1", "TBT-2") .setTimesheetBookingStatus(TimesheetBookingStatus.OPENED)); taskDao.update( initTestDB .addTask("TBT-3", "TimesheetBookingTest") .setTimesheetBookingStatus(TimesheetBookingStatus.ONLY_LEAFS)); initTestDB.addTask("TBT-3.1", "TBT-3"); initTestDB.addTask("TBT-3.1.1", "TBT-3.1"); initTestDB.addTask("TBT-3.1.2", "TBT-3.1"); initTestDB.addTask("TBT-3.2", "TBT-3"); taskDao.update( initTestDB .addTask("TBT-4", "TimesheetBookingTest") .setTimesheetBookingStatus(TimesheetBookingStatus.NO_BOOKING)); taskDao.update( initTestDB .addTask("TBT-4.1", "TBT-4") .setTimesheetBookingStatus(TimesheetBookingStatus.INHERIT)); taskDao.update( initTestDB .addTask("TBT-4.1.1", "TBT-4.1") .setTimesheetBookingStatus(TimesheetBookingStatus.OPENED)); initTestDB.addTask("TBT-5", "TimesheetBookingTest"); initTestDB.addTask("TBT-5.1", "TBT-5"); initTestDB.addTask("TBT-5.1.1", "TBT-5.1"); initTestDB.addTask("TBT-5.1.2", "TBT-5.1"); initTestDB.addTask("TBT-5.2", "TBT-5"); initTestDB.addTask("TBT-5.2.1", "TBT-5.2"); initTestDB.addTask("TBT-5.2.1.1", "TBT-5.2.1"); }