/*******************************************************************************
* Copyright (c) 2010-2013, Embraer S.A., Budapest University of Technology and Economics
* 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:
* Abel Hegedus - initial API and implementation
*******************************************************************************/
package hu.bme.mit.massif.common;
import hu.bme.mit.massif.simulink.BusSelector;
import hu.bme.mit.massif.simulink.BusSignalMapping;
import hu.bme.mit.massif.simulink.Property;
import hu.bme.mit.massif.simulink.SimulinkElement;
import org.eclipse.emf.ecore.EObject;
import com.google.common.base.Strings;
public class NamingUtil {
public static String getShortNameOfNamedElement(EObject massifElement) {
String result = "";
/* SIMULINK */
if (massifElement instanceof SimulinkElement) {
result = ((SimulinkElement) massifElement).getName();
} else if (massifElement instanceof Property) {
result = ((Property) massifElement).getName();
} else if (massifElement instanceof BusSignalMapping) {
EObject parent = massifElement.eContainer();
if (parent instanceof BusSelector) {
BusSelector busSelector = (BusSelector) parent;
result = "BusSignalMapping " + busSelector.getMappings().indexOf(massifElement);
} else {
result = "BusSignalMapping";
}
} else {
result = massifElement.toString();
}
return Strings.nullToEmpty(result);
}
public static String getLongNameOfNamedElement(EObject massifElement) {
String result = "";
EObject parent = massifElement.eContainer();
if (!isModel(parent)) {
result = getLongNameOfNamedElement(parent);
}
if ("".equals(result)) {
return result.concat(getShortNameOfNamedElement(massifElement));
} else {
return result.concat("/" + getShortNameOfNamedElement(massifElement));
}
}
protected static boolean isModel(EObject eobj) {
boolean isModel = false;
return isModel;
}
public static String getGlobalNameOfNamedElement(EObject massifElement) {
String result = "";
EObject parent = massifElement.eContainer();
if (parent != null) {
result = getGlobalNameOfNamedElement(parent);
}
if ("".equals(result)) {
return result.concat(getShortNameOfNamedElement(massifElement));
} else {
return result.concat("/" + getShortNameOfNamedElement(massifElement));
}
}
}