Java tutorial
/*! ****************************************************************************** * * Pentaho Data Integration * * Copyright (C) 2002-2017 by Pentaho : http://www.pentaho.com * ******************************************************************************* * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ******************************************************************************/ package org.pentaho.di.utils; import static org.junit.Assert.assertTrue; import java.io.File; import java.io.IOException; import java.util.UUID; import org.apache.commons.io.FileUtils; import org.apache.commons.vfs2.FileObject; import org.apache.commons.vfs2.FileSystemException; import org.pentaho.di.core.vfs.KettleVFS; public class TestUtils { /** * Do not use this method because it does not delete the temp folder after java process tear down */ @Deprecated public static String createTempDir() { String ret = null; try { /* * Java.io.File only creates Temp files, so repurpose the filename for a temporary folder * Delete the file that's created, and re-create as a folder. */ File file = File.createTempFile("temp_pentaho_test_dir", String.valueOf(System.currentTimeMillis())); file.delete(); file.mkdir(); file.deleteOnExit(); ret = file.getAbsolutePath(); } catch (Exception ex) { System.out.println("Can't create temp folder"); ex.printStackTrace(); } return ret; } public static File getInputFile(String prefix, String suffix) throws IOException { File inputFile = File.createTempFile(prefix, suffix); inputFile.deleteOnExit(); FileUtils.writeStringToFile(inputFile, UUID.randomUUID().toString(), "UTF-8"); return inputFile; } public static String createRamFile(String path) { try { FileObject file = KettleVFS.getInstance().getFileSystemManager().resolveFile("ram://" + path); file.createFile(); return file.getName().getURI(); } catch (FileSystemException e) { throw new RuntimeException(e); } } public static FileObject getFileObject(String vfsPath) { try { return KettleVFS.getInstance().getFileSystemManager().resolveFile(vfsPath); } catch (FileSystemException e) { throw new RuntimeException(e); } } public static String toUnixLineSeparators(String string) { if (string != null) { string = string.replaceAll("\r", ""); } return string; } public static void checkEqualsHashCodeConsistency(Object object1, Object object2) { if (object1.equals(object2)) { assertTrue("inconsistent hashcode and equals", object1.hashCode() == object2.hashCode()); } } }