org.eclipse.mylyn.reviews.r4e.core.TstGeneral.java Source code

Java tutorial

Introduction

Here is the source code for org.eclipse.mylyn.reviews.r4e.core.TstGeneral.java

Source

/*******************************************************************************
 * 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;
    }
}