Java tutorial
/******************************************************************************* * Copyright (c) 2010, 2013 Ericsson * * 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 * * Description: * * Contributors: * Alvaro Sanchez-Leon - Initial Implementation and API *******************************************************************************/ package org.eclipse.mylyn.reviews.r4e.core; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.eclipse.emf.common.util.URI; import org.eclipse.mylyn.reviews.r4e.core.utils.Tracer; public class TstGeneral { // ------------------------------------------------------------------------ // Constants // ------------------------------------------------------------------------ public static final String GROUP_PATH_STR = "outGroupX"; public static final String GOLDEN_GROUP_DIR_STR = "stubs_model/" + GROUP_PATH_STR; public static final String GOLDEN_GROUP_FILE_STR = GOLDEN_GROUP_DIR_STR + "/Golden_Group_group_root.xrer"; //Windows specific public static final String GROUP_PATH_STRW = "outGroupW"; public static final String GOLDEN_GROUP_DIR_STRW = "stubs_model/" + GROUP_PATH_STRW; public static final String GOLDEN_GROUP_FILE_STRW = GOLDEN_GROUP_DIR_STRW + "/Golden_Group_group_root.xrer"; public static final URI GOLDEN_GROUP_DIR = URI.createFileURI(GOLDEN_GROUP_DIR_STR); public static final URI GOLDEN_GROUP_DIRW = URI.createFileURI(GOLDEN_GROUP_DIR_STRW); public static final URI GOLDEN_GROUP_FILE = URI.createFileURI(GOLDEN_GROUP_FILE_STR); // ------------------------------------------------------------------------ // Methods // ------------------------------------------------------------------------ public static void activateTracer() { Tracer.setInfo(true); Tracer.setDebug(true); Tracer.setError(true); Tracer.setWarning(true); } /** * @param fileA * @param fileB * @return - true if they are the same */ public static boolean compareDirectories(File fileA, File fileB) { // valid directories if (!(fileA.isDirectory() && fileB.isDirectory())) { return false; } // must exist if (!(fileA.exists() && fileB.exists())) { return false; } // TODO: implement a recursive check file per file e.g. using FileUtils.contentEquals(file1, file2); // The following is a temporary workaround by directory size // Find the size of the Golden directory long fileSizeA = FileUtils.sizeOfDirectory(fileA); // Find the size of the new Directory long fileSizeB = FileUtils.sizeOfDirectory(fileB); boolean same = (fileSizeA == fileSizeB); if (!same) { StringBuilder sb = new StringBuilder("TestGeneral.compareDirectories, directories size are different:"); try { sb.append("\n\tfile Size is:" + fileSizeA + " for: " + fileA.getCanonicalPath()); sb.append("\n\tfile Size is:" + fileSizeB + " for: " + fileB.getCanonicalPath()); } catch (IOException e) { e.printStackTrace(); } System.out.println(sb.toString()); } return same; } }