List of usage examples for org.apache.commons.io FileUtils contentEquals
public static boolean contentEquals(File file1, File file2) throws IOException
From source file:org.activiti.crystalball.diagram.ProcessDiagramGeneratorTest.java
public void testOneNodeHighlight() throws IOException { String id = FINANCIALREPORT_PROCESS_KEY; DiagramLayerGenerator generator = new HighlightNodeDiagramLayer((RepositoryServiceImpl) repositoryService); Map<String, Object> params = new HashMap<String, Object>(); params.put(HighlightNodeDiagramLayer.PROCESS_DEFINITION_ID, id); List<String> highlightedActivities = new ArrayList<String>(); highlightedActivities.add("writeReportTask"); params.put(HighlightNodeDiagramLayer.HIGHLIGHTED_ACTIVITIES, highlightedActivities); File expectedFile = new File( "src/test/resources/org/activiti/crystalball/diagram/HighlightNodeDiagramLayer.testOneNodeHighlight.png"); File generatedFile = new File("target/HighlightNodeDiagramLayer.testOneNodeHighlight.png"); ImageIO.write(ImageIO.read(generator.generateLayer("png", params)), "png", generatedFile); assertTrue(FileUtils.contentEquals(expectedFile, generatedFile)); }
From source file:org.activiti.crystalball.diagram.ProcessDiagramGeneratorTest.java
public void testOneNodeHighlightSVG() throws IOException { String id = FINANCIALREPORT_PROCESS_KEY; DiagramLayerGenerator generator = new HighlightNodeDiagramLayer((RepositoryServiceImpl) repositoryService, null, new SVGCanvasFactory()); Map<String, Object> params = new HashMap<String, Object>(); params.put(HighlightNodeDiagramLayer.PROCESS_DEFINITION_ID, id); List<String> highlightedActivities = new ArrayList<String>(); highlightedActivities.add("writeReportTask"); params.put(HighlightNodeDiagramLayer.HIGHLIGHTED_ACTIVITIES, highlightedActivities); File expectedFile = new File( "src/test/resources/org/activiti/crystalball/diagram/HighlightNodeDiagramLayer.testOneNodeHighlight.svg"); File generatedFile = new File("target/HighlightNodeDiagramLayer.testOneNodeHighlight.svg"); FileUtils.copyInputStreamToFile(generator.generateLayer("svg", params), generatedFile); assertTrue(FileUtils.contentEquals(expectedFile, generatedFile)); }
From source file:org.activiti.crystalball.diagram.ProcessDiagramGeneratorTest.java
public void testMergeLayers() throws IOException { DiagramLayerGenerator generator = new MergeLayersGenerator(); Map<String, Object> params = new HashMap<String, Object>(); params.put("img1", getBytes( "src/test/resources/org/activiti/crystalball/diagram/MergeLayerGenerator.testMergeLayers1.png")); params.put("img2", getBytes( "src/test/resources/org/activiti/crystalball/diagram/MergeLayerGenerator.testMergeLayers2.png")); File expectedFile = new File( "src/test/resources/org/activiti/crystalball/diagram/MergeLayerGenerator.testMergeLayers.png"); File generatedFile = new File("target/MergeLayerGenerator.testMergeLayers.png"); ImageIO.write(ImageIO.read(generator.generateLayer("png", params)), "png", generatedFile); assertTrue(FileUtils.contentEquals(expectedFile, generatedFile)); }
From source file:org.activiti.crystalball.diagram.ProcessDiagramGeneratorTest.java
@Ignore("Generator provides platform dependent images (fonts) see http://forums.activiti.org/en/viewtopic.php?f=6109t=4647&start=0") public void testOneNodeCount() throws IOException { String id = FINANCIALREPORT_PROCESS_KEY; DiagramLayerGenerator generator = new WriteNodeDescriptionDiagramLayer( (RepositoryServiceImpl) repositoryService); Map<String, Object> params = new HashMap<String, Object>(); params.put(WriteNodeDescriptionDiagramLayer.PROCESS_DEFINITION_ID, id); params.put("writeReportTask", 5); File expectedFile = new File( "src/test/resources/org/activiti/crystalball/diagram/WriteCountLayerGeneratorTest.oneNumber.png"); File generatedFile = new File("target/WriteCountLayerGeneratorTest.oneNumber.png"); ImageIO.write(ImageIO.read(generator.generateLayer("png", params)), "png", generatedFile); assertTrue(FileUtils.contentEquals(expectedFile, generatedFile)); }
From source file:org.activiti.crystalball.diagram.ProcessDiagramGeneratorTest.java
public void testOneNodeCountSVG() throws IOException { String id = FINANCIALREPORT_PROCESS_KEY; DiagramLayerGenerator generator = new WriteNodeDescriptionDiagramLayer( (RepositoryServiceImpl) repositoryService, new SVGCanvasFactory()); Map<String, Object> params = new HashMap<String, Object>(); params.put(WriteNodeDescriptionDiagramLayer.PROCESS_DEFINITION_ID, id); params.put("writeReportTask", 5); File expectedFile = new File( "src/test/resources/org/activiti/crystalball/diagram/WriteCountLayerGeneratorTest.oneNumber.svg"); File generatedFile = new File("target/WriteCountLayerGeneratorTest.oneNumber.svg"); FileUtils.copyInputStreamToFile(generator.generateLayer("svg", params), generatedFile); assertTrue(FileUtils.contentEquals(expectedFile, generatedFile)); }
From source file:org.activiti.crystalball.generator.ProcessInstancesGeneratorTest.java
/** * Generate ProcessInstances reports for started ThreeTask process. <br/> * The first report should have <a href="https://raw.github.com/gro-mar/activiti/crystalball/master/simulator/src/test/resources/org/activiti/crystalball/generator/ProcessInstanceMonitor-1.png">4 tasks on the first node<a>.<br/> * 3 tasks are completed - <a href="https://raw.github.com/gro-mar/activiti/crystalball/master/simulator/src/test/resources/org/activiti/crystalball/generator/ProcessInstanceMonitor-2.png">1 task on the first node 3 tasks on the second.<a><br/> * 3 tasks from the 2nd node are completed - <a href="https://raw.github.com/gro-mar/activiti/crystalball/master/simulator/src/test/resources/org/activiti/crystalball/generator/ProcessInstanceMonitor-3.png">1 task on the first node 3 tasks on the 3rd<a>.<br/> * 3 tasks from the 3rd node are completed - <a href="https://raw.github.com/gro-mar/activiti/crystalball/master/simulator/src/test/resources/org/activiti/crystalball/generator/ProcessInstanceMonitor-4.png">1 task on the first node remains<a> * @throws IOException// w ww . j a v a 2 s .co m */ public void testGenerateProcessDefinition() throws IOException { ProcessInstancesGenerator monitor = new ProcessInstancesGenerator(); monitor.setRepositoryService(repositoryService); monitor.setRuntimeService(runtimeService); List<ColorInterval> highlightColorIntervalList = new ArrayList<ColorInterval>(); highlightColorIntervalList.add(new ColorInterval(1, Color.red)); monitor.setHighlightColorIntervalList(highlightColorIntervalList); String processDefinitionId = repositoryService.createProcessDefinitionQuery() .processDefinitionKey(PROCESS_KEY).singleResult().getId(); monitor.generateReport(processDefinitionId, null, null, "target/ProcessInstanceMonitor-1.png"); File expectedFile = new File( "src/test/resources/org/activiti/crystalball/generator/ProcessInstanceMonitor-1.png"); File generatedFile = new File("target/ProcessInstanceMonitor-1.png"); assertTrue(FileUtils.contentEquals(expectedFile, generatedFile)); // move 3 tasks forward List<Task> taskList = taskService.createTaskQuery().taskCandidateUser("user1").list(); for (int i = 0; i < 3; i++) { Task t = taskList.get(i); taskService.claim(t.getId(), "user1"); taskService.complete(t.getId()); } monitor.generateReport(processDefinitionId, null, null, "target/ProcessInstanceMonitor-2.png"); expectedFile = new File( "src/test/resources/org/activiti/crystalball/generator/ProcessInstanceMonitor-2.png"); generatedFile = new File("target/ProcessInstanceMonitor-2.png"); assertTrue(FileUtils.contentEquals(expectedFile, generatedFile)); // move 3 tasks forward taskList = taskService.createTaskQuery().taskCandidateUser("user2").list(); for (Task t : taskList) { taskService.claim(t.getId(), "user2"); taskService.complete(t.getId()); } monitor.generateReport(processDefinitionId, null, null, "target/ProcessInstanceMonitor-3.png"); expectedFile = new File( "src/test/resources/org/activiti/crystalball/generator/ProcessInstanceMonitor-3.png"); generatedFile = new File("target/ProcessInstanceMonitor-3.png"); assertTrue(FileUtils.contentEquals(expectedFile, generatedFile)); // move 3 tasks forward taskList = taskService.createTaskQuery().taskCandidateUser("user3").list(); for (Task t : taskList) { taskService.claim(t.getId(), "user3"); taskService.complete(t.getId()); } monitor.generateReport(processDefinitionId, null, null, "target/ProcessInstanceMonitor-4.png"); expectedFile = new File( "src/test/resources/org/activiti/crystalball/generator/ProcessInstanceMonitor-4.png"); generatedFile = new File("target/ProcessInstanceMonitor-4.png"); assertTrue(FileUtils.contentEquals(expectedFile, generatedFile)); }
From source file:org.activiti.crystalball.generator.ProcessInstancesGeneratorTest.java
public void testGenerateHistoricInstances() throws IOException { HistoricInstancesGenerator monitor = new HistoricInstancesGenerator(); monitor.setRepositoryService(repositoryService); monitor.setHistoryService(historyService); List<ColorInterval> highlightColorIntervalList = new ArrayList<ColorInterval>(); highlightColorIntervalList.add(new ColorInterval(4, Color.green)); highlightColorIntervalList.add(new ColorInterval(1, 3, Color.yellow)); highlightColorIntervalList.add(new ColorInterval(0, 0, Color.red)); monitor.setHighlightColorIntervalList(highlightColorIntervalList); String processDefinitionId = repositoryService.createProcessDefinitionQuery() .processDefinitionKey(PROCESS_KEY).singleResult().getId(); monitor.generateReport(processDefinitionId, null, null, "target/HistoricInstanceMonitor-1.png"); File expectedFile = new File( "src/test/resources/org/activiti/crystalball/generator/HistoricInstanceMonitor-1.png"); File generatedFile = new File("target/HistoricInstanceMonitor-1.png"); assertTrue(FileUtils.contentEquals(expectedFile, generatedFile)); // move 3 tasks forward List<Task> taskList = taskService.createTaskQuery().taskCandidateUser("user1").list(); for (int i = 0; i < 3; i++) { Task t = taskList.get(i);/* w w w . j a v a2s . c o m*/ taskService.claim(t.getId(), "user1"); taskService.complete(t.getId()); } monitor.generateReport(processDefinitionId, null, null, "target/HistoricInstanceMonitor-2.png"); expectedFile = new File( "src/test/resources/org/activiti/crystalball/generator/HistoricInstanceMonitor-2.png"); generatedFile = new File("target/HistoricInstanceMonitor-2.png"); assertTrue(FileUtils.contentEquals(expectedFile, generatedFile)); // move 3 tasks forward taskList = taskService.createTaskQuery().taskCandidateUser("user2").list(); for (Task t : taskList) { taskService.claim(t.getId(), "user2"); taskService.complete(t.getId()); } monitor.generateReport(processDefinitionId, null, null, "target/HistoricInstanceMonitor-3.png"); expectedFile = new File( "src/test/resources/org/activiti/crystalball/generator/HistoricInstanceMonitor-3.png"); generatedFile = new File("target/HistoricInstanceMonitor-3.png"); assertTrue(FileUtils.contentEquals(expectedFile, generatedFile)); // move 3 tasks forward taskList = taskService.createTaskQuery().taskCandidateUser("user3").list(); for (Task t : taskList) { taskService.claim(t.getId(), "user3"); taskService.complete(t.getId()); } monitor.generateReport(processDefinitionId, null, null, "target/HistoricInstanceMonitor-4.png"); expectedFile = new File( "src/test/resources/org/activiti/crystalball/generator/HistoricInstanceMonitor-4.png"); generatedFile = new File("target/HistoricInstanceMonitor-4.png"); assertTrue(FileUtils.contentEquals(expectedFile, generatedFile)); }
From source file:org.activiti.crystalball.simulator.OptimizeBottleneckTest.java
@Test public void testUser2OverLoadedWithHelp3() throws Exception { System.setProperty("liveDB", LIVE_DB); System.setProperty("_SIM_DB_PATH", tempDir + "/simulationRunDB-SimulateBottleNeck-Overload3-" + Thread.currentThread().getId()); FileUtils.copyFile(new File(LIVE_DB + ".h2.db"), new File(tempDir + "/simulationRunDB-SimulateBottleNeck-Overload3-" + Thread.currentThread().getId() + ".h2.db")); ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext( "/org/activiti/crystalball/simulator/SimEngine-simulateBottleneck-h2-context.xml"); ProcessEngine processEngine = (ProcessEngine) appContext.getBean("simProcessEngine"); // increase frequency of process starts to 45 mins (default is 1 hour) StartProcessEventHandler startProcessEventHandler = appContext.getBean(StartProcessEventHandler.class); startProcessEventHandler.setPeriod(2700000); // add User3 to the Group2 to help user2 IdentityService identityService = (IdentityService) appContext.getBean("simIdentityService"); identityService.createMembership("user3", "Group2"); runSimulation(appContext, tempDir + "/OptimizeBottleneckTest3.png", tempDir + "/OptimizeBottleneckTest3-dueDate.png"); processEngine.close();/* w ww. j av a 2s .c o m*/ appContext.close(); File expected = new File(System.getProperty("baseDir", ".") + "/src/test/resources/org/activiti/crystalball/simulator/OptimizeBottleneckTest3.png"); File generated = new File(tempDir + "/OptimizeBottleneckTest3.png"); assertTrue(FileUtils.contentEquals(expected, generated)); expected = new File(System.getProperty("baseDir", ".") + "/src/test/resources/org/activiti/crystalball/simulator/OptimizeBottleneckTest3-dueDate.png"); generated = new File(tempDir + "/OptimizeBottleneckTest3-dueDate.png"); assertTrue(FileUtils.contentEquals(expected, generated)); // delete database file File f = new File(System.getProperty("_SIM_DB_PATH") + ".h2.db"); if (!f.delete()) System.err.println("unable to delete file"); }
From source file:org.activiti.crystalball.simulator.OptimizeBottleneckTest.java
@Test public void testUser2OverLoadedWithHelp4() throws Exception { System.setProperty("liveDB", LIVE_DB); System.setProperty("_SIM_DB_PATH", tempDir + "/simulationRunDB-SimulateBottleNeck-Overload4-" + Thread.currentThread().getId()); FileUtils.copyFile(new File(LIVE_DB + ".h2.db"), new File(tempDir + "/simulationRunDB-SimulateBottleNeck-Overload4-" + Thread.currentThread().getId() + ".h2.db")); ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext( "/org/activiti/crystalball/simulator/SimEngine-simulateBottleneck-h2-context.xml"); ProcessEngine processEngine = (ProcessEngine) appContext.getBean("simProcessEngine"); // increase frequency of process starts to 45 mins (default is 1 hour) StartProcessEventHandler startProcessEventHandler = appContext.getBean(StartProcessEventHandler.class); startProcessEventHandler.setPeriod(2700000); // add user4 to the Group2 to help user2 IdentityService identityService = (IdentityService) appContext.getBean("simIdentityService"); identityService.createMembership("user4", "Group2"); runSimulation(appContext, tempDir + "/OptimizeBottleneckTest4.png", tempDir + "/OptimizeBottleneckTest4-dueDate.png"); processEngine.close();//ww w.j a v a2 s. c o m appContext.close(); File expected = new File(System.getProperty("baseDir", ".") + "/src/test/resources/org/activiti/crystalball/simulator/OptimizeBottleneckTest4.png"); File generated = new File(tempDir + "/OptimizeBottleneckTest4.png"); assertTrue(FileUtils.contentEquals(expected, generated)); expected = new File(System.getProperty("baseDir", ".") + "/src/test/resources/org/activiti/crystalball/simulator/OptimizeBottleneckTest4-dueDate.png"); generated = new File(tempDir + "/OptimizeBottleneckTest4-dueDate.png"); assertTrue(FileUtils.contentEquals(expected, generated)); // delete database file File f = new File(System.getProperty("_SIM_DB_PATH") + ".h2.db"); if (!f.delete()) System.err.println("unable to delete file"); }
From source file:org.activiti.crystalball.simulator.OptimizeBottleneckTest.java
@Test public void testUser2OverLoadedWithHelp5() throws Exception { System.setProperty("liveDB", LIVE_DB); System.setProperty("_SIM_DB_PATH", tempDir + "/simulationRunDB-SimulateBottleNeck-Overload5-" + Thread.currentThread().getId()); FileUtils.copyFile(new File(LIVE_DB + ".h2.db"), new File(tempDir + "/simulationRunDB-SimulateBottleNeck-Overload5-" + Thread.currentThread().getId() + ".h2.db")); ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext( "/org/activiti/crystalball/simulator/SimEngine-simulateBottleneck-h2-context.xml"); ProcessEngine processEngine = (ProcessEngine) appContext.getBean("simProcessEngine"); // increase frequency of process starts to 45 mins (default is 1 hour) StartProcessEventHandler startProcessEventHandler = appContext.getBean(StartProcessEventHandler.class); startProcessEventHandler.setPeriod(2700000); // add new user5 to the Group2 to help user2 IdentityService identityService = (IdentityService) appContext.getBean("simIdentityService"); identityService.saveUser(identityService.newUser("user5")); identityService.createMembership("user5", "Group2"); runSimulation(appContext, tempDir + "/OptimizeBottleneckTest5.png", tempDir + "/OptimizeBottleneckTest5-dueDate.png"); processEngine.close();// ww w. j a va 2 s .c om appContext.close(); File expected = new File(System.getProperty("baseDir", ".") + "/src/test/resources/org/activiti/crystalball/simulator/OptimizeBottleneckTest5.png"); File generated = new File(tempDir + "/OptimizeBottleneckTest5.png"); assertTrue(FileUtils.contentEquals(expected, generated)); expected = new File(System.getProperty("baseDir", ".") + "/src/test/resources/org/activiti/crystalball/simulator/OptimizeBottleneckTest5-dueDate.png"); generated = new File(tempDir + "/OptimizeBottleneckTest5-dueDate.png"); assertTrue(FileUtils.contentEquals(expected, generated)); // delete database file File f = new File(System.getProperty("_SIM_DB_PATH") + ".h2.db"); if (!f.delete()) System.err.println("unable to delete file"); }