/** * Sets the attribute of this IMarker with the given name. <br> * * @see IMarker#setAttribute(String, Object) * @param marker The concerned marker * @param attributeName the name of the attribute * @param value the value, or <code>null</code> if the attribute is to be undefined */ public static void setAttribute(IMarker marker, String attributeName, Object value) { try { if (marker != null) { marker.setAttribute(attributeName, value); } } catch (final CoreException e) { DslCommonPlugin.getDefault().getLog().log(e.getStatus()); } }
/** * Deletes all markers on this resource of the given type. * * @param resource An IResource for which this markers must be removed * @param type the type of the marker to create */ public static void removeMarkerFor(IResource resource, String type) { try { if (resource != null && resource.exists()) { resource.deleteMarkers(type, false, IResource.DEPTH_ZERO); } } catch (final CoreException e) { DslCommonPlugin.getDefault().getLog().log(e.getStatus()); } }
/** * Creates a marker with the specified type on this resource. Marker type ids are the id of an * extension installed in the <code>org.eclipse.core.resources.markers</code> extension point. The * specified type string must not be <code>null</code>. * * @param resource An IResource for which a marker must be added * @param message The message of the marker we want to display in the Problem View. * @param severity The severity of the marker * @param type the type of the marker to create * @return an optional Marker (none if problem during creation). */ public static Option<IMarker> addMarkerFor( final IResource resource, final String message, final int severity, String type) { try { if (resource != null) { final IMarker marker = resource.createMarker(type); marker.setAttribute(IMarker.SEVERITY, severity); marker.setAttribute(IMarker.MESSAGE, message); return Options.newSome(marker); } } catch (final CoreException e) { DslCommonPlugin.getDefault().getLog().log(e.getStatus()); } return Options.newNone(); }
/** * return the list of EPackage declared in the given list of bundles. * * @param bundles a collection of bundles. * @return the list of EPackage declarations made through the plugin.xml of those bundles. */ protected Collection<EPackageLoadingCallback.EPackageDeclarationSource> getEPackagesDeclaredInBundles(Collection<String> bundles) { Collection<EPackageLoadingCallback.EPackageDeclarationSource> result = Lists.newArrayList(); if (EMFPlugin.IS_ECLIPSE_RUNNING) { final IExtensionRegistry reg = Platform.getExtensionRegistry(); Multimap<String, EPackageDeclaration> contributions = HashMultimap.create(); final IExtensionPoint ep = reg.getExtensionPoint(EMF_GENERATED_PACKAGE_EXTENSIONPOINT); for (final IExtension ext : ep.getExtensions()) { final IConfigurationElement[] ce = ext.getConfigurationElements(); String contributorName = ext.getContributor().getName(); if (bundles.contains(contributorName)) { for (IConfigurationElement element : ce) { String nsURI = element.getAttribute("uri"); // $NON-NLS-1$ String className = element.getAttribute("class"); // $NON-NLS-1$ String genModel = element.getAttribute("genModel"); // $NON-NLS-1$ if (nsURI != null && className != null) { contributions.put( contributorName, new EPackageDeclaration(nsURI, className, genModel)); } else { DslCommonPlugin.getDefault() .warning( MessageFormat.format( Messages.BundleClassLoading_ignoredEPackageDeclaration, contributorName), new IllegalArgumentException()); } } } } for (String contributor : contributions.keySet()) { Collection<EPackageDeclaration> declarations = contributions.get(contributor); if (declarations.size() > 0) { result.add( new EPackageLoadingCallback.EPackageDeclarationSource( contributor, declarations, true)); } } } return result; }
@Override public IEditingDomainFactory getEditingDomainFactory() { if (extension == null) { if (Platform.isRunning()) { try { extension = (IEditingDomainFactory) element.createExecutableExtension(EDITING_DOMAIN_FACTORY_CLASS_ATTRIBUTE); } catch (CoreException e) { DslCommonPlugin.getDefault() .getLog() .log( new Status( IStatus.ERROR, DslCommonPlugin.PLUGIN_ID, MessageFormat.format( Messages.EclipseEditingDomainFactoryDescriptor_errorLoadingExtension, element.getDeclaringExtension().getUniqueIdentifier()), e)); } } } return extension; }