use of org.eclipse.ui.model.IWorkbenchAdapter in project sling by apache.
the class ConvertToContentProjectHandler method execute.
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
ISelection selection = HandlerUtil.getCurrentSelection(event);
if (selection instanceof IStructuredSelection) {
final IProject project = (IProject) ((IStructuredSelection) selection).getFirstElement();
ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getDisplay().getActiveShell(), new WorkbenchLabelProvider(), new BaseWorkbenchContentProvider());
dialog.setMessage("Select content sync root location (containing the jcr root)");
dialog.setTitle("Content Sync Root");
IContainer initialContainer = ProjectHelper.getInferredContentProjectContentRoot(project);
if (initialContainer != null) {
dialog.setInitialElementSelections(Arrays.asList(initialContainer));
}
dialog.addFilter(new ViewerFilter() {
@Override
public boolean select(Viewer viewer, Object parentElement, Object element) {
if (element instanceof IProject) {
return ((IProject) element).equals(project);
}
// display folders only
return element instanceof IContainer;
}
});
dialog.setInput(new IWorkbenchAdapter() {
@Override
public Object getParent(Object o) {
return null;
}
@Override
public String getLabel(Object o) {
return null;
}
@Override
public ImageDescriptor getImageDescriptor(Object object) {
return null;
}
@Override
public Object[] getChildren(Object o) {
return new Object[] { project };
}
});
// this is the root element
dialog.setAllowMultiple(false);
dialog.setValidator(new ISelectionStatusValidator() {
@Override
public IStatus validate(Object[] selection) {
if (selection.length > 0) {
final Object item = selection[0];
if (item instanceof IContainer) {
IContainer selectedContainer = (IContainer) item;
String errorMsg = ProjectHelper.validateContentPackageStructure(selectedContainer);
if (errorMsg != null) {
return new Status(IStatus.ERROR, Activator.PLUGIN_ID, errorMsg);
} else {
return new Status(IStatus.OK, Activator.PLUGIN_ID, "");
}
}
}
return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "");
}
});
if (dialog.open() == ContainerSelectionDialog.OK) {
Object[] result = dialog.getResult();
if (result != null && result.length > 0) {
final IContainer container = (IContainer) result[0];
IRunnableWithProgress r = new IRunnableWithProgress() {
@Override
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
try {
IResource jcrRoot = container.findMember("jcr_root");
if (jcrRoot == null || !(jcrRoot instanceof IFolder)) {
MessageDialog.openError(getDisplay().getActiveShell(), "Could not convert project", "jcr_root not found under " + container + " (or not a Folder)");
return;
}
ConfigurationHelper.convertToContentPackageProject(project, monitor, jcrRoot.getProjectRelativePath());
} catch (CoreException e) {
Activator.getDefault().getPluginLogger().warn("Could not convert project", e);
MessageDialog.openError(getDisplay().getActiveShell(), "Could not convert project", e.getMessage());
}
}
};
try {
PlatformUI.getWorkbench().getProgressService().busyCursorWhile(r);
} catch (Exception e) {
Activator.getDefault().getPluginLogger().warn("Could not convert project", e);
MessageDialog.openError(getDisplay().getActiveShell(), "Could not convert project", e.getMessage());
}
}
}
}
return null;
}
use of org.eclipse.ui.model.IWorkbenchAdapter in project webtools.servertools by eclipse.
the class UITestHelper method getPropertyDialog.
public static PropertyDialog getPropertyDialog(String id, IAdaptable element) {
PropertyDialogWrapper dialog = null;
PropertyPageManager manager = new PropertyPageManager();
String title = "";
String name = "";
// load pages for the selection
// fill the manager with contributions from the matching contributors
PropertyPageContributorManager.getManager().contribute(manager, element);
IWorkbenchAdapter adapter = element.getAdapter(IWorkbenchAdapter.class);
if (adapter != null) {
name = adapter.getLabel(element);
}
// testing if there are pages in the manager
Iterator pages = manager.getElements(PreferenceManager.PRE_ORDER).iterator();
if (!pages.hasNext())
return null;
title = "Title: " + name;
dialog = new PropertyDialogWrapper(getShell(), manager, new StructuredSelection(element));
dialog.create();
dialog.getShell().setText(title);
for (Iterator iterator = manager.getElements(PreferenceManager.PRE_ORDER).iterator(); iterator.hasNext(); ) {
IPreferenceNode node = (IPreferenceNode) iterator.next();
if (node.getId().equals(id)) {
dialog.showPage(node);
break;
}
}
return dialog;
}
use of org.eclipse.ui.model.IWorkbenchAdapter in project webtools.servertools by eclipse.
the class ServerLabelProvider method getText.
/*
* @see ILabelProvider#getText(Object)
*/
public String getText(Object element) {
if (element == null)
return "";
if (element instanceof IRuntime) {
IRuntime runtime = (IRuntime) element;
return decorate(getString((runtime).getName()), runtime);
} else if (element instanceof IServer) {
IServer server = (IServer) element;
return decorate(getString((server).getName()), server);
} else if (element instanceof IRuntimeType) {
IRuntimeType rt = (IRuntimeType) element;
return decorate(rt.getName(), rt);
} else if (element instanceof IServerType) {
IServerType st = (IServerType) element;
return decorate(st.getName(), st);
} else if (element instanceof IClient) {
IClient client = (IClient) element;
return decorate(client.getName(), client);
} else if (element instanceof IModule) {
IModule module = (IModule) element;
return decorate(module.getName(), module);
} else if (element instanceof IModule[]) {
IModule[] modules = (IModule[]) element;
IModule module = modules[modules.length - 1];
return decorate(module.getName(), modules);
} else if (element instanceof ModuleServer) {
ModuleServer ms = (ModuleServer) element;
return decorate(ms.getModuleDisplayName(), ms);
} else if (element instanceof IWorkbenchAdapter) {
return ((IWorkbenchAdapter) element).getLabel(null);
}
return "";
}
use of org.eclipse.ui.model.IWorkbenchAdapter in project webtools.servertools by eclipse.
the class UITestHelper method getPropertyDialog.
public static PropertyDialog getPropertyDialog(String id, IAdaptable element) {
PropertyDialogWrapper dialog = null;
PropertyPageManager manager = new PropertyPageManager();
String title = "";
String name = "";
// load pages for the selection
// fill the manager with contributions from the matching contributors
PropertyPageContributorManager.getManager().contribute(manager, element);
IWorkbenchAdapter adapter = (IWorkbenchAdapter) element.getAdapter(IWorkbenchAdapter.class);
if (adapter != null) {
name = adapter.getLabel(element);
}
// testing if there are pages in the manager
Iterator pages = manager.getElements(PreferenceManager.PRE_ORDER).iterator();
if (!pages.hasNext())
return null;
title = "Title: " + name;
dialog = new PropertyDialogWrapper(getShell(), manager, new StructuredSelection(element));
dialog.create();
dialog.getShell().setText(title);
for (Iterator iterator = manager.getElements(PreferenceManager.PRE_ORDER).iterator(); iterator.hasNext(); ) {
IPreferenceNode node = (IPreferenceNode) iterator.next();
if (node.getId().equals(id)) {
dialog.showPage(node);
break;
}
}
return dialog;
}
use of org.eclipse.ui.model.IWorkbenchAdapter in project webtools.servertools by eclipse.
the class UITestHelper method getPropertyDialog.
public static PropertyDialog getPropertyDialog(String id, IAdaptable element) {
PropertyDialogWrapper dialog = null;
PropertyPageManager manager = new PropertyPageManager();
String title = "";
String name = "";
// load pages for the selection
// fill the manager with contributions from the matching contributors
PropertyPageContributorManager.getManager().contribute(manager, element);
IWorkbenchAdapter adapter = (IWorkbenchAdapter) element.getAdapter(IWorkbenchAdapter.class);
if (adapter != null) {
name = adapter.getLabel(element);
}
// testing if there are pages in the manager
Iterator pages = manager.getElements(PreferenceManager.PRE_ORDER).iterator();
if (!pages.hasNext())
return null;
title = "Title: " + name;
dialog = new PropertyDialogWrapper(getShell(), manager, new StructuredSelection(element));
dialog.create();
dialog.getShell().setText(title);
for (Iterator iterator = manager.getElements(PreferenceManager.PRE_ORDER).iterator(); iterator.hasNext(); ) {
IPreferenceNode node = (IPreferenceNode) iterator.next();
if (node.getId().equals(id)) {
dialog.showPage(node);
break;
}
}
return dialog;
}
Aggregations