private void pushButton(final int buttonId) { try { findButton(getShell().getChildren(), buttonId).notifyListeners(SWT.Selection, new Event()); } catch (Exception e) { CatalogUIPlugin.log("", e); // $NON-NLS-1$ } }
List<IService> process(List<URL> urls, IProgressMonitor monitor) { List<IService> resources = new ArrayList<IService>(); monitor.beginTask(Messages.get("OpenFilePage_1"), list.size()); int worked = 0; for (URL url : urls) { if (monitor.isCanceled()) { return null; } try { monitor.subTask(url.toExternalForm()); List<IService> acquire = CatalogPlugin.getDefault().getServiceFactory().createService(url); resources.addAll(acquire); } catch (Throwable e) { CatalogUIPlugin.log("error obtaining services from service factory", e); // $NON-NLS-1$ } monitor.worked(worked++); } return resources; }
/** * Generate text from the resolve.getURI() * * <p>Note this name is only used as a first try, the ResolveLabelDecorator is expected to provide * a label based on Name or Title information. * * @param element * @return label based on IResolve.getIdentifier */ public String getText(Object element) { if (element instanceof IResolve) { IResolve resolve = (IResolve) element; try { if (resolve instanceof IGeoResource) { IGeoResource resource = (IGeoResource) resolve; String title = resource.getTitle(); // This provider should be non-blocking // if (title == null) { // IGeoResourceInfo info = resource.getInfo(new // NullProgressMonitor()); // if(info != null) { // title = info.getTitle(); // } // } ID id = resource.getID(); if (title == null) { title = id.labelResource(); } return title; } else if (resolve instanceof IService) { IService service = (IService) resolve; ID id = service.getID(); String title = service.getTitle(); // if (title == null) { // IServiceInfo info = service.getInfo(new NullProgressMonitor()); // if (info != null) { // title = info.getTitle(); // } // } if (title == null) { // we are going to fake something here String name = id.toString(); name = name.replace('_', ' '); name = name.replace("%20", " "); // $NON-NLS-1$ //$NON-NLS-2$ return name; } if (id.getTypeQualifier() != null) { return title + "(" + id.getTypeQualifier() + ")"; } else { return title; } } else if (resolve instanceof IProcess) { IProcess proc = (IProcess) element; return proc.getInfo(new NullProgressMonitor()).getTitle(); } else if (resolve instanceof ISearch) { ISearch search = (ISearch) element; return search.getInfo(new NullProgressMonitor()).getTitle(); } else if (resolve instanceof IResolveFolder) { IResolveFolder folder = (IResolveFolder) element; return folder.getID().toString(); } else { return resolve.getID().toString(); } } catch (IOException e) { CatalogUIPlugin.trace("Error fetching the Title for the resource", e); // $NON-NLS-1$ } } return super.getText(element); }
/** * Obtain image for the provided element. * * <p>To accomplish this quickly we simply make use of constants from CatalogUIPlugin. We need a * second pass that makes use of the real icon from the real resource. * * @param element is expected to be IResolve * @return the image used to label the element, or <code>null</code> if there is no image for the * given object * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object) */ public Image getImage(Object element) { if (element instanceof IResolve) { return CatalogUIPlugin.image((IResolve) element); } return super.getImage(element); }