org.eclipse.papyrus.uml.diagram.activity.activitygroup.utils.DebugUtils.java Source code

Java tutorial

Introduction

Here is the source code for org.eclipse.papyrus.uml.diagram.activity.activitygroup.utils.DebugUtils.java

Source

/*****************************************************************************
 * Copyright (c) 2011 Atos.
 *
 *    
 * 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:
 *   Arthur Daussy (Atos) - Initial API and implementation
 *   Arthur Daussy - 371712 : 372745: [ActivityDiagram] Major refactoring group framework
 *
 *****************************************************************************/
package org.eclipse.papyrus.uml.diagram.activity.activitygroup.utils;

import java.util.Map.Entry;

import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.papyrus.infra.core.log.LogHelper;
import org.eclipse.papyrus.uml.diagram.activity.part.UMLDiagramEditorPlugin;

import com.google.common.collect.Multimap;

public class DebugUtils {

    /**
     * Allow user during debug to desactivation debug notficcation
     */
    private static final boolean LOCAL_DESACTIVATOR = true;

    private static LogHelper log = null;

    /**
     * Get loger
     * 
     * @return
     */
    public static LogHelper getLog() {
        if (log == null) {
            log = new LogHelper(UMLDiagramEditorPlugin.getInstance());
        }
        return log;
    }

    /**
     * return true if debugging
     * 
     * @return
     */
    public static boolean isDebugging() {
        return UMLDiagramEditorPlugin.getInstance().isDebugging() && LOCAL_DESACTIVATOR;
    }

    /**
     * Display a multi map
     * 
     * @param message
     * @param multimap
     */
    public static void displayMultipmapDebug(String message, Multimap<EReference, EObject> multimap) {
        if (DebugUtils.isDebugging()) {
            DebugUtils.getLog().debug(message);
            for (Entry<EReference, EObject> e : multimap.entries()) {
                StringBuilder stringBuilder = new StringBuilder();
                stringBuilder.append(Utils.getCorrectLabel(e.getValue()));
                stringBuilder.append(" --> ");
                stringBuilder.append(e.getKey().getName());
                DebugUtils.getLog().debug(stringBuilder.toString());
            }
        }
    }
}