Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/FileTool.java')
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/FileTool.java256
1 files changed, 0 insertions, 256 deletions
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/FileTool.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/FileTool.java
deleted file mode 100644
index 2f8c66c56..000000000
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/test/FileTool.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.mylar.bugzilla.test;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.Reader;
-import java.io.Writer;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-
-
-public class FileTool {
-
- private final static int MAX_RETRY= 5;
-
- /**
- * A buffer.
- */
- private static byte[] buffer = new byte[8192];
-
- /**
- * Unzips the given zip file to the given destination directory
- * extracting only those entries the pass through the given
- * filter.
- *
- * @param zipFile the zip file to unzip
- * @param dstDir the destination directory
- * @throws IOException in case of problem
- */
- public static void unzip(ZipFile zipFile, File dstDir) throws IOException {
- unzip(zipFile, dstDir, dstDir, 0);
- }
-
- private static void unzip(ZipFile zipFile, File rootDstDir, File dstDir, int depth) throws IOException {
-
- Enumeration<? extends ZipEntry> entries = zipFile.entries();
-
- try {
- while(entries.hasMoreElements()){
- ZipEntry entry = entries.nextElement();
- if(entry.isDirectory()){
- continue;
- }
- String entryName = entry.getName();
- File file = new File(dstDir, changeSeparator(entryName, '/', File.separatorChar));
- file.getParentFile().mkdirs();
- InputStream src = null;
- OutputStream dst = null;
- try {
- src = zipFile.getInputStream(entry);
- dst = new FileOutputStream(file);
- transferData(src, dst);
- } finally {
- if(dst != null){
- try {
- dst.close();
- } catch(IOException e){
- // don't worry in the finally
- }
- }
- if(src != null){
- try {
- src.close();
- } catch(IOException e){
- // don't worry in the finally
- }
- }
- }
- }
- } finally {
- try {
- zipFile.close();
- } catch(IOException e){
- // don't worry in the finally
- }
- }
- }
-
- /**
- * Returns the given file path with its separator
- * character changed from the given old separator to the
- * given new separator.
- *
- * @param path a file path
- * @param oldSeparator a path separator character
- * @param newSeparator a path separator character
- * @return the file path with its separator character
- * changed from the given old separator to the given new
- * separator
- */
- public static String changeSeparator(String path, char oldSeparator, char newSeparator){
- return path.replace(oldSeparator, newSeparator);
- }
-
- /**
- * Copies all bytes in the given source file to
- * the given destination file.
- *
- * @param source the given source file
- * @param destination the given destination file
- * @throws IOException in case of error
- */
- public static void transferData(File source, File destination) throws IOException {
- destination.getParentFile().mkdirs();
- InputStream is = null;
- OutputStream os = null;
- try {
- is = new FileInputStream(source);
- os = new FileOutputStream(destination);
- transferData(is, os);
- } finally {
- if(os != null){
- try {
- os.close();
- } catch(IOException e){
- // don't worry in the finally
- }
- }
- if(is != null){
- try {
- is.close();
- } catch(IOException e){
- // don't worry in the finally
- }
- }
- }
- }
-
- /**
- * Copies all bytes in the given source stream to
- * the given destination stream. Neither streams
- * are closed.
- *
- * @param source the given source stream
- * @param destination the given destination stream
- * @throws IOException in case of error
- */
- public static void transferData(InputStream source, OutputStream destination) throws IOException {
- int bytesRead = 0;
- while(bytesRead != -1){
- bytesRead = source.read(buffer, 0, buffer.length);
- if(bytesRead != -1){
- destination.write(buffer, 0, bytesRead);
- }
- }
- }
-
- /**
- * Copies the given source file to the given destination file.
- *
- * @param src the given source file
- * @param dst the given destination file
- * @throws IOException in case of error
- */
- public static void copy(File src, File dst) throws IOException {
- if(src.isDirectory()){
- String[] srcChildren = src.list();
- for(int i = 0; i < srcChildren.length; ++i){
- File srcChild= new File(src, srcChildren[i]);
- File dstChild= new File(dst, srcChildren[i]);
- copy(srcChild, dstChild);
- }
- } else
- transferData(src, dst);
- }
-
- public static File getFileInPlugin(Plugin plugin, IPath path) {
- try {
- URL installURL= plugin.getBundle().getEntry(path.toString());
- URL localURL= Platform.asLocalURL(installURL);
- return new File(localURL.getFile());
- } catch (IOException e) {
- return null;
- }
- }
-
- public static File createTempFileInPlugin(Plugin plugin, IPath path) {
- IPath stateLocation= plugin.getStateLocation();
- stateLocation= stateLocation.append(path);
- return stateLocation.toFile();
- }
-
- public static StringBuffer read(String fileName) throws IOException {
- return read(new FileReader(fileName));
- }
-
- public static StringBuffer read(Reader reader) throws IOException {
- StringBuffer s= new StringBuffer();
- try {
- char[] charBuffer= new char[8196];
- int chars= reader.read(charBuffer);
- while (chars != -1) {
- s.append(charBuffer, 0, chars);
- chars= reader.read(charBuffer);
- }
- } finally {
- try {
- reader.close();
- } catch (IOException e) {
- // don't worry in the finally
- }
- }
- return s;
- }
-
- public static void write(String fileName, StringBuffer content) throws IOException {
- Writer writer= new FileWriter(fileName);
- try {
- writer.write(content.toString());
- } finally {
- try {
- writer.close();
- } catch (IOException e) {
- // don't worry in the finally
- }
- }
- }
-
- public static void delete(File file) {
- if (file.exists()) {
- for (int i= 0; i < MAX_RETRY; i++) {
- if (file.delete())
- i= MAX_RETRY;
- else {
- try {
- Thread.sleep(1000); // sleep a second
- } catch (InterruptedException e) {
- // don't care if the sleep is interrupted
- }
- }
- }
- }
- }
-}

Back to the top