blob: 7318d77b9f3068cb498500932cdd0db48c5e16b4 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009, 2013 EclipseSource and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* EclipseSource - initial API and implementation
******************************************************************************/
package org.eclipse.rap.tools.internal.tests;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.Platform;
import org.eclipse.debug.core.DebugPlugin;
import org.eclipse.debug.core.ILaunchConfigurationType;
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
import org.eclipse.debug.core.ILaunchManager;
public final class Fixture {
private static final int BUFFER = 2048;
public static final String PLUGIN_ID = "org.eclipse.rap.tools.tests"; //$NON-NLS-1$
private static final String RAP_LAUNCHER
= "org.eclipse.rap.ui.launch.RAPLauncher"; //$NON-NLS-1$
private static int uniqueId;
@SuppressWarnings( "deprecation" )
public static ILaunchConfigurationWorkingCopy createRAPLaunchConfig()
throws CoreException
{
DebugPlugin debugPlugin = DebugPlugin.getDefault();
ILaunchManager manager = debugPlugin.getLaunchManager();
ILaunchConfigurationType type
= manager.getLaunchConfigurationType( RAP_LAUNCHER );
String name
= manager.generateUniqueLaunchConfigurationNameFrom( "RAPLaunchConfig" );
return type.newInstance( null, name );
}
public static File createDirectory( String directory ) {
String workingDir = Platform.getInstanceLocation().getURL().getPath();
String tempDirectory;
if( directory == null ) {
uniqueId++;
tempDirectory = "tempTargetDest" + uniqueId;
} else {
tempDirectory = directory;
}
return new File( workingDir, tempDirectory );
}
public static void deleteDirectory( File directory ) {
if( directory.isDirectory() ) {
File[] files = directory.listFiles();
for( File file : files ) {
deleteDirectory( file );
}
}
directory.delete();
}
public static void writeContentToFile( File fileToWrite, String content ) throws IOException {
Writer writer = null;
try {
writer = new BufferedWriter( new FileWriter( fileToWrite ) );
writer.write( content );
} finally {
if( writer != null ) {
writer.close();
}
}
}
public static String readContent( File file ) throws IOException {
FileInputStream is = new FileInputStream( file );
StringBuilder input = new StringBuilder();
byte[] bytes = new byte[ BUFFER ];
try {
int read;
while( ( read = is.read( bytes ) ) != -1 ) {
input.append( new String( bytes, 0, read ) );
}
} finally {
is.close();
}
return input.toString();
}
private Fixture() {
// prevent instantiation
}
}