package org.eclipse.papyrus.customization.paletteconfiguration.queries; import org.eclipse.emf.facet.infra.query.core.exception.ModelQueryExecutionException; import org.eclipse.emf.facet.infra.query.core.java.IJavaModelQuery; import org.eclipse.emf.facet.infra.query.core.java.ParameterValueList; import org.eclipse.papyrus.uml.diagram.paletteconfiguration.Configuration; import org.eclipse.papyrus.uml.diagram.paletteconfiguration.IconDescriptor; /** Gets the icon for a configuration element in the palette configuration model */ public class GetIconQuery implements IJavaModelQuery<Configuration, String> { /** * {@inheritDoc} */ public String evaluate(final Configuration context, final ParameterValueList parameterValues) throws ModelQueryExecutionException { // retrieves icon descriptor IconDescriptor descriptor = context.getIcon(); if(descriptor == null) { return ""; } String bundleID = descriptor.getPluginID(); String iconPath = descriptor.getIconPath(); if(bundleID == null || iconPath == null) { return ""; } return "/" + bundleID + iconPath; } }