Author: psrna
Date: 2011-12-09 12:09:13 -0500 (Fri, 09 Dec 2011)
New Revision: 37182
Added:
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/EntityTest.java
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/PersistenceTest.java
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/util/
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/util/ConsoleUtils.java
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/util/ResourceUtils.java
Modified:
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/META-INF/MANIFEST.MF
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/ForgeViewTest.java
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/ProjectTest.java
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/suite/ForgeAllTest.java
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/suite/ForgeTest.java
Log:
* forge ui.bot.tests
Modified: trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/META-INF/MANIFEST.MF
===================================================================
--- trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/META-INF/MANIFEST.MF 2011-12-09
16:54:52 UTC (rev 37181)
+++ trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/META-INF/MANIFEST.MF 2011-12-09
17:09:13 UTC (rev 37182)
@@ -12,4 +12,3 @@
org.jboss.tools.forge.core;bundle-version="1.0.0",
org.jboss.tools.forge.runtime;bundle-version="1.0.0",
org.jboss.tools.forge.runtime.ext;bundle-version="1.0.0"
-
Added:
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/EntityTest.java
===================================================================
---
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/EntityTest.java
(rev 0)
+++
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/EntityTest.java 2011-12-09
17:09:13 UTC (rev 37182)
@@ -0,0 +1,31 @@
+package org.jboss.tools.forge.ui.bot.test;
+
+import org.jboss.tools.forge.ui.bot.test.suite.ForgeTest;
+import org.jboss.tools.forge.ui.bot.test.util.ConsoleUtils;
+import org.junit.Test;
+
+public class EntityTest extends ForgeTest {
+
+ private static final String ENTITY_NAME = "testentity";
+ private static final String ENTITY_CREATED = "Created @Entity [" +
PACKAGE_NAME + "." + ENTITY_NAME + "]";
+
+ @Test
+ public void newEntity(){
+
+ createProject(ProjectTypes.jar);
+ createPersistence();
+
+ getStyledText().setText("entity\n");
+ getStyledText().setText(ENTITY_NAME + "\n");
+ getStyledText().setText(PACKAGE_NAME + "\n");
+
+ assertTrue(ConsoleUtils.waitUntilTextInConsole(ENTITY_CREATED , TIME_1S, TIME_20S*3));
+ assertTrue(bot.editorByTitle(ENTITY_NAME + ".java").isActive());
+
+ getStyledText().setText("cd ..\n");
+ clear();
+ pExplorer.deleteAllProjects();
+ }
+
+
+}
Modified:
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/ForgeViewTest.java
===================================================================
---
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/ForgeViewTest.java 2011-12-09
16:54:52 UTC (rev 37181)
+++
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/ForgeViewTest.java 2011-12-09
17:09:13 UTC (rev 37182)
@@ -1,14 +1,6 @@
package org.jboss.tools.forge.ui.bot.test;
-import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.widgetOfType;
-
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
-import org.eclipse.swtbot.swt.finder.SWTBot;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
-import org.eclipse.ui.part.PageBook;
-import org.hamcrest.Matcher;
import org.jboss.tools.forge.ui.bot.test.suite.ForgeTest;
-import org.jboss.tools.ui.bot.ext.SWTUtilExt;
import org.junit.Test;
/**
@@ -25,7 +17,7 @@
}
-
+ @Test
public void forgeStartStop() {
if(isForgeRunning())
Added:
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/PersistenceTest.java
===================================================================
---
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/PersistenceTest.java
(rev 0)
+++
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/PersistenceTest.java 2011-12-09
17:09:13 UTC (rev 37182)
@@ -0,0 +1,125 @@
+package org.jboss.tools.forge.ui.bot.test;
+
+import java.io.IOException;
+
+import org.jboss.tools.forge.ui.bot.test.suite.ForgeTest;
+import org.jboss.tools.forge.ui.bot.test.util.ConsoleUtils;
+import org.jboss.tools.forge.ui.bot.test.util.ResourceUtils;
+import org.jboss.tools.ui.bot.ext.SWTUtilExt;
+import org.jboss.tools.ui.bot.ext.config.Annotations.Require;
+import org.junit.Test;
+/**
+ *
+ * @author psrna
+ *
+ */
+@Require(clearWorkspace=true)
+public class PersistenceTest extends ForgeTest {
+
+ @Test
+ public void hibernateJBossAS7(){
+
+ createProject(ProjectTypes.jar);
+
+ getStyledText().setText("persistence setup\n");
+ getStyledText().setText("HIBERNATE\n");
+ getStyledText().setText("JBOSS_AS7\n");
+ getStyledText().setText("N\n");
+
+ assertTrue(ConsoleUtils.waitUntilTextInConsole("persistence.xml", TIME_1S,
TIME_20S*3));
+
+ String projectLocation = SWTUtilExt.getPathToProject(PROJECT_NAME);
+ try {
+ String pContent = ResourceUtils.readFile(projectLocation +
"/src/main/resources/META-INF/persistence.xml");
+ assertTrue(pContent.contains("<provider>org.hibernate.ejb.HibernatePersistence</provider>"));
+ assertTrue(pContent.contains("<jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>"));
+ assertTrue(pContent.contains("<property
name=\"hibernate.hbm2ddl.auto\" value=\"create-drop\"/>"));
+ assertTrue(pContent.contains("<property name=\"hibernate.show_sql\"
value=\"true\"/>"));
+ assertTrue(pContent.contains("<property
name=\"hibernate.format_sql\" value=\"true\"/>"));
+ assertTrue(pContent.contains("<property
name=\"hibernate.transaction.flush_before_completion\"
value=\"true\"/>"));
+ } catch (IOException e) {
+ e.printStackTrace();
+ fail("Attempt to read the 'persistence.xml' file failed!");
+ }
+ getStyledText().setText("cd ..\n");
+ clear();
+ pExplorer.deleteAllProjects();
+ }
+
+ @Test
+ public void openjpaJBossAS7(){
+ createProject(ProjectTypes.jar);
+
+ getStyledText().setText("persistence setup\n");
+ getStyledText().setText("OPENJPA\n");
+ getStyledText().setText("JBOSS_AS7\n");
+ getStyledText().setText("N\n");
+
+ assertTrue(ConsoleUtils.waitUntilTextInConsole("persistence.xml", TIME_1S,
TIME_20S*3));
+
+ String projectLocation = SWTUtilExt.getPathToProject(PROJECT_NAME);
+ try {
+ String pContent = ResourceUtils.readFile(projectLocation +
"/src/main/resources/META-INF/persistence.xml");
+ assertTrue(pContent.contains("<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>"));
+ assertTrue(pContent.contains("<jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>"));
+ } catch (IOException e) {
+ e.printStackTrace();
+ fail("Attempt to read the 'persistence.xml' file failed!");
+ }
+ getStyledText().setText("cd ..\n");
+ clear();
+ pExplorer.deleteAllProjects();
+ }
+
+ @Test
+ public void eclipselinkJBossAS7(){
+ createProject(ProjectTypes.jar);
+
+ getStyledText().setText("persistence setup\n");
+ getStyledText().setText("ECLIPSELINK\n");
+ getStyledText().setText("JBOSS_AS7\n");
+ getStyledText().setText("N\n");
+
+ assertTrue(ConsoleUtils.waitUntilTextInConsole("persistence.xml", TIME_1S,
TIME_20S*3));
+
+ String projectLocation = SWTUtilExt.getPathToProject(PROJECT_NAME);
+ try {
+ String pContent = ResourceUtils.readFile(projectLocation +
"/src/main/resources/META-INF/persistence.xml");
+ assertTrue(pContent.contains("<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>"));
+ assertTrue(pContent.contains("<jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>"));
+ assertTrue(pContent.contains("<property
name=\"eclipselink.ddl-generation\"
value=\"drop-and-create-tables\"/>"));
+ } catch (IOException e) {
+ e.printStackTrace();
+ fail("Attempt to read the 'persistence.xml' file failed!");
+ }
+ getStyledText().setText("cd ..\n");
+ clear();
+ pExplorer.deleteAllProjects();
+ }
+
+ @Test
+ public void infinispanJBossAS7(){
+ createProject(ProjectTypes.jar);
+
+ getStyledText().setText("persistence setup\n");
+ getStyledText().setText("INFINISPAN\n");
+ getStyledText().setText("JBOSS_AS7\n");
+ getStyledText().setText("N\n");
+
+ assertTrue(ConsoleUtils.waitUntilTextInConsole("persistence.xml", TIME_1S,
TIME_20S*3));
+
+ String projectLocation = SWTUtilExt.getPathToProject(PROJECT_NAME);
+ try {
+ String pContent = ResourceUtils.readFile(projectLocation +
"/src/main/resources/META-INF/persistence.xml");
+ assertTrue(pContent.contains("<provider>org.hibernate.ogm.HibernateOgmPersistence</provider>"));
+ assertTrue(pContent.contains("<jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>"));
+ assertTrue(pContent.contains("<property name=\"hibernate.dialect\"
value=\"org.hibernate.ogm.dialect.NoopDialect\"/>"));
+ } catch (IOException e) {
+ e.printStackTrace();
+ fail("Attempt to read the 'persistence.xml' file failed!");
+ }
+ getStyledText().setText("cd ..\n");
+ clear();
+ pExplorer.deleteAllProjects();
+ }
+}
Modified:
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/ProjectTest.java
===================================================================
---
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/ProjectTest.java 2011-12-09
16:54:52 UTC (rev 37181)
+++
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/ProjectTest.java 2011-12-09
17:09:13 UTC (rev 37182)
@@ -1,11 +1,10 @@
package org.jboss.tools.forge.ui.bot.test;
-import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.widgetOfType;
-
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
-import org.eclipse.swtbot.swt.finder.SWTBot;
-import org.eclipse.ui.part.PageBook;
+import java.io.IOException;
import org.jboss.tools.forge.ui.bot.test.suite.ForgeTest;
+import org.jboss.tools.forge.ui.bot.test.util.ResourceUtils;
+import org.jboss.tools.ui.bot.ext.SWTUtilExt;
+import org.jboss.tools.ui.bot.ext.config.Annotations.Require;
import org.junit.Test;
/**
@@ -13,29 +12,59 @@
* @author psrna
*
*/
+@Require(clearWorkspace=true)
public class ProjectTest extends ForgeTest {
- private static final String PROJECT_NAME = "testproject";
- private static final String PACKAGE_NAME = "org.jboss.testproject";
-
@Test
- public void newProject() {
+ public void pomProject() {
- openForgeView();
- startForge();
+ createProject(ProjectTypes.pom);
+
+ String text = getStyledText().getText();
+ assertTrue(text.contains("***SUCCESS*** Created project [" + PROJECT_NAME +
"]"));
+ pExplorer.show();
+ assertTrue(pExplorer.existsResource(PROJECT_NAME));
+ assertTrue(pExplorer.existsResource(PROJECT_NAME, "pom.xml"));
+
+ String projectLocation = SWTUtilExt.getPathToProject(PROJECT_NAME);
+ try {
+ String pomContent = ResourceUtils.readFile(projectLocation + "/pom.xml");
+ assertTrue(pomContent.contains("<packaging>pom</packaging>"));
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ fail("Attempt to read the 'pom.xml' failed!");
+ }
+ getStyledText().setText("cd ..\n");
clear();
+ pExplorer.deleteAllProjects();
+ }
+
+ @Test
+ public void warProject() {
- getStyledText().setText("new-project\n");
- getStyledText().setText(PROJECT_NAME + "\n");
- getStyledText().setText(PACKAGE_NAME + "\n");
- getStyledText().setText("Y\n");
+ createProject(ProjectTypes.war);
- bot.sleep(TIME_10S);
-
String text = getStyledText().getText();
assertTrue(text.contains("***SUCCESS*** Created project [" + PROJECT_NAME +
"]"));
+ pExplorer.show();
assertTrue(pExplorer.existsResource(PROJECT_NAME));
+ assertTrue(pExplorer.existsResource(PROJECT_NAME, "pom.xml"));
+ String projectLocation = SWTUtilExt.getPathToProject(PROJECT_NAME);
+ try {
+ String pomContent = ResourceUtils.readFile(projectLocation + "/pom.xml");
+ assertTrue(pomContent.contains("<packaging>war</packaging>"));
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ fail("Attempt to read the 'pom.xml' failed!");
+ }
+ getStyledText().setText("cd ..\n");
+ clear();
+ pExplorer.deleteAllProjects();
}
+
+
}
Modified:
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/suite/ForgeAllTest.java
===================================================================
---
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/suite/ForgeAllTest.java 2011-12-09
16:54:52 UTC (rev 37181)
+++
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/suite/ForgeAllTest.java 2011-12-09
17:09:13 UTC (rev 37182)
@@ -1,6 +1,8 @@
package org.jboss.tools.forge.ui.bot.test.suite;
+import org.jboss.tools.forge.ui.bot.test.EntityTest;
import org.jboss.tools.forge.ui.bot.test.ForgeViewTest;
+import org.jboss.tools.forge.ui.bot.test.PersistenceTest;
import org.jboss.tools.forge.ui.bot.test.ProjectTest;
import org.jboss.tools.ui.bot.ext.RequirementAwareSuite;
import org.junit.runner.RunWith;
@@ -14,7 +16,9 @@
*/
@SuiteClasses({
ForgeViewTest.class,
- ProjectTest.class
+ ProjectTest.class,
+ PersistenceTest.class,
+ EntityTest.class
})
@RunWith(RequirementAwareSuite.class)
public class ForgeAllTest {
Modified:
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/suite/ForgeTest.java
===================================================================
---
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/suite/ForgeTest.java 2011-12-09
16:54:52 UTC (rev 37181)
+++
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/suite/ForgeTest.java 2011-12-09
17:09:13 UTC (rev 37182)
@@ -2,14 +2,19 @@
import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.widgetOfType;
+import org.eclipse.swt.widgets.Display;
import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
import org.eclipse.swtbot.swt.finder.SWTBot;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotStyledText;
import org.eclipse.ui.part.PageBook;
+import org.jboss.tools.forge.ui.bot.test.util.ConsoleUtils;
import org.jboss.tools.ui.bot.ext.SWTTestExt;
import org.jboss.tools.ui.bot.ext.types.IDELabel;
import org.jboss.tools.ui.bot.ext.view.PackageExplorer;
+import org.jboss.tools.ui.bot.ext.view.ProjectExplorer;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
/**
*
@@ -18,9 +23,51 @@
*/
public class ForgeTest extends SWTTestExt {
+ protected static final String PROJECT_NAME = "testproject";
+ protected static final String PACKAGE_NAME = "org.jboss.testproject";
+
protected PackageExplorer pExplorer = new PackageExplorer();
- protected SWTBotView openForgeView(){
+ @BeforeClass
+ public static void setup(){
+ openForgeView();
+ startForge();
+ clear();
+ }
+
+ @AfterClass
+ public static void cleanup(){
+ //TODO?
+ }
+
+ public enum ProjectTypes{
+ jar, war, pom
+ }
+
+ protected void createProject(ProjectTypes type){
+
+ getStyledText().setText("new-project --type " + type + "\n");
+ getStyledText().setText(PROJECT_NAME + "\n");
+ getStyledText().setText(PACKAGE_NAME + "\n");
+ getStyledText().setText("Y\n");
+
+ ConsoleUtils.waitUntilTextInConsole("project [" + PROJECT_NAME +
"]", TIME_1S, TIME_20S*3);
+
+ util.waitForJobs("Importing Forge project"); //see
org.jboss.tools.forge.importer#importProject()
+ }
+
+ protected void createPersistence(){
+
+ getStyledText().setText("persistence setup\n");
+ getStyledText().setText("HIBERNATE\n");
+ getStyledText().setText("JBOSS_AS7\n");
+ getStyledText().setText("N\n");
+
+ ConsoleUtils.waitUntilTextInConsole("persistence.xml", TIME_1S, TIME_20S*3);
+ }
+
+
+ public static SWTBotView openForgeView(){
if(isForgeViewActive())
return getForgeView();
@@ -38,7 +85,7 @@
return view;
}
- protected void clear() {
+ public static void clear() {
if(!isForgeViewActive())
openForgeView();
if(!isForgeRunning())
@@ -52,14 +99,14 @@
* This is private, use openForgeView method outside this class to get
* Forge Console View.
*/
- private SWTBotView getForgeView(){
+ public static SWTBotView getForgeView(){
SWTBotView view = bot.viewByTitle("Forge Console");
view.setFocus();
view.show();
return view;
}
- protected boolean isForgeViewActive(){
+ public static boolean isForgeViewActive(){
try{
SWTBotView view = getForgeView();
@@ -73,7 +120,7 @@
return false;
}
- protected boolean isForgeRunning(){
+ public static boolean isForgeRunning(){
if(!isForgeViewActive())
openForgeView();
@@ -103,31 +150,36 @@
return false;
}
- protected void startForge(){
+ public static void startForge(){
if(!isForgeViewActive())
openForgeView();
SWTBotView view = getForgeView();
view.toolbarButton("Start Forge").click();
- bot.sleep(TIME_5S);
+
+ util.waitForJobs("Starting Forge"); //see
org.jboss.tools.forge.ui.part#startForge()
}
- protected void stopForge(){
+ public static void stopForge(){
if(!isForgeViewActive())
openForgeView();
SWTBotView view = getForgeView();
view.toolbarButton("Stop Forge").click();
- bot.sleep(TIME_1S);
+ bot.sleep(TIME_5S);
}
- protected SWTBotStyledText getStyledText(){
+ public static SWTBotStyledText getStyledText(){
SWTBotView view = getForgeView();
PageBook pb = view.bot().widget(widgetOfType(PageBook.class));
SWTBot pbbot = new SWTBot(pb);
return pbbot.styledText();
}
+ public static SWTBot getForgeViewBot(){
+ return bot.viewByTitle("Forge Console").bot();
+ }
+
}
Added:
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/util/ConsoleUtils.java
===================================================================
---
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/util/ConsoleUtils.java
(rev 0)
+++
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/util/ConsoleUtils.java 2011-12-09
17:09:13 UTC (rev 37182)
@@ -0,0 +1,38 @@
+package org.jboss.tools.forge.ui.bot.test.util;
+
+import org.eclipse.swtbot.swt.finder.SWTBot;
+import org.jboss.tools.forge.ui.bot.test.suite.ForgeTest;
+
+public class ConsoleUtils {
+
+
+ /**
+ *
+ * @param text
+ * @param sleepTime
+ * @param timeOut
+ * @return true if text found in Forge Console
+ */
+ public static boolean waitUntilTextInConsole(String text, long sleepTime, long
timeOut){
+
+ if(!ForgeTest.isForgeViewActive())
+ return false;
+
+ SWTBot viewBot = ForgeTest.getForgeViewBot();
+ String consoleText = ForgeTest.getStyledText().getText();
+
+ long estimatedTime = 0;
+
+ while ((estimatedTime < timeOut) && (!consoleText.contains(text)) ){
+ viewBot.sleep(sleepTime);
+ estimatedTime += sleepTime;
+ consoleText = ForgeTest.getStyledText().getText();
+ }
+ if(consoleText.contains(text))
+ return true;
+ else
+ return false;
+
+ }
+
+}
Added:
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/util/ResourceUtils.java
===================================================================
---
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/util/ResourceUtils.java
(rev 0)
+++
trunk/forge/tests/org.jboss.tools.forge.ui.bot.test/src/org/jboss/tools/forge/ui/bot/test/util/ResourceUtils.java 2011-12-09
17:09:13 UTC (rev 37182)
@@ -0,0 +1,25 @@
+package org.jboss.tools.forge.ui.bot.test.util;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.nio.MappedByteBuffer;
+import java.nio.channels.FileChannel;
+import java.nio.charset.Charset;
+
+public class ResourceUtils {
+
+ public static String readFile(String path) throws IOException {
+ FileInputStream stream = new FileInputStream(new File(path));
+ try {
+ FileChannel fc = stream.getChannel();
+ MappedByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());
+ /* Instead of using default, pass in a decoder. */
+ return Charset.defaultCharset().decode(bb).toString();
+ }
+ finally {
+ stream.close();
+ }
+ }
+
+}