| /******************************************************************************* |
| * Copyright (c) 2004, 2006 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.wst.css.core.tests.util; |
| |
| import java.io.BufferedReader; |
| import java.io.File; |
| import java.io.FileNotFoundException; |
| import java.io.FileReader; |
| import java.io.FileWriter; |
| import java.io.IOException; |
| import java.io.Reader; |
| import java.io.Writer; |
| import java.net.URL; |
| |
| import org.eclipse.core.runtime.FileLocator; |
| import org.eclipse.core.runtime.Platform; |
| import org.eclipse.wst.css.core.internal.provisional.document.ICSSModel; |
| import org.eclipse.wst.sse.core.StructuredModelManager; |
| import org.eclipse.wst.sse.core.internal.provisional.IModelManager; |
| import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel; |
| import org.osgi.framework.Bundle; |
| |
| /** |
| * |
| */ |
| public class FileUtil { |
| public static final String commonEOL = "\r\n"; |
| |
| public static File createFile(String directory, String filename) throws IOException { |
| Bundle bundle = Platform.getBundle("org.eclipse.wst.css.core.tests"); //$NON-NLS-1$ |
| URL url = bundle.getEntry("/"); //$NON-NLS-1$ |
| URL localURL = FileLocator.toFileURL(url); |
| String installPath = localURL.getPath(); |
| String totalDirectory = installPath + directory; |
| String totalPath = totalDirectory + "/" + filename; //$NON-NLS-1$ |
| URL totalURL = new URL(url, totalPath); |
| String finalFile = totalURL.getFile(); |
| File file = new File(finalFile); |
| return file; |
| } |
| |
| // public static Reader createReader(File file) throws |
| // FileNotFoundException { |
| // return new FileReader(file); |
| // } |
| // |
| // public static Reader createReader(String directory, String filename) |
| // throws IOException { |
| // File file = createFile(directory, filename); |
| // return createReader(file); |
| // } |
| |
| public static String createString(String directory, String filename) throws FileNotFoundException, IOException { |
| StringBuffer buf = new StringBuffer(); |
| Reader fileReader = new FileReader(createFile(directory, filename)); |
| BufferedReader reader = new BufferedReader(fileReader); |
| String line; |
| while ((line = reader.readLine()) != null) { |
| buf.append(line); |
| buf.append(commonEOL); |
| } |
| return buf.toString(); |
| // return new DataInputStream(new |
| // FileInputStream(createFile(directory, filename))).readUTF(); |
| } |
| |
| static int uniqueNum = 0; |
| |
| public static ICSSModel createModel() { |
| IStructuredModel model = null; |
| try { |
| |
| IModelManager modelManager = StructuredModelManager.getModelManager(); |
| |
| model = modelManager.getModelForEdit("test" + uniqueNum++ + ".css", new NullInputStream(), null); //$NON-NLS-1$ |
| |
| // always use the same line delimiter for these tests, regardless |
| // of plaform or preference settings |
| model.getStructuredDocument().setLineDelimiter(commonEOL); |
| |
| |
| } |
| catch (Exception e) { |
| e.printStackTrace(); |
| } |
| return (ICSSModel) model; |
| |
| } |
| |
| public static void dumpString(String string, String directory, String filename) throws IOException { |
| File file = createFile(directory, filename); |
| Writer writer = new FileWriter(file); |
| writer.write(string); |
| writer.close(); |
| } |
| |
| } |