package com.rcpcompany.test.utils.ui; import java.util.Map; import org.eclipse.core.expressions.IEvaluationContext; import org.eclipse.ui.ISourceProvider; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.services.ISourceProviderService; import com.rcpcompany.utils.logging.LogUtils; /** * Various test methods for the extension registry. * <p> * Provides a number of convenience methods... * * @author Tonny Madsen, The RCP Company */ public class ExtensionUITestUtils { /** * * @param sourceName */ public static void dumpBindingSourceState(String sourceName) { final ISourceProviderService sourceProviders = (ISourceProviderService) PlatformUI .getWorkbench().getService(ISourceProviderService.class); final ISourceProvider provider = sourceProviders .getSourceProvider(sourceName); @SuppressWarnings("unchecked") final Map<String, Object> currentState = provider.getCurrentState(); final StringBuilder sb = new StringBuilder("Binding sources state:"); for (final Map.Entry<String, Object> i : currentState.entrySet()) { final String s = i.getKey(); sb.append("\n ").append(s).append("='"); final Object v = i.getValue(); if (v == null) { sb.append("<null>"); } else if (v == IEvaluationContext.UNDEFINED_VARIABLE) { sb.append("<undef>"); } else { sb.append(v.toString()); } sb.append("'"); } LogUtils.debug(provider, sb.toString()); } }