diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/util/EditPartMarkerUtil.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/util/EditPartMarkerUtil.java | 216 |
1 files changed, 0 insertions, 216 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/util/EditPartMarkerUtil.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/util/EditPartMarkerUtil.java deleted file mode 100644 index a1e3c645b..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/util/EditPartMarkerUtil.java +++ /dev/null @@ -1,216 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 Sybase, Inc. and others. - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Sybase, Inc. - initial API and implementation - *******************************************************************************/ - -package org.eclipse.jst.jsf.facesconfig.ui.pageflow.util; - -import java.util.Iterator; - -import org.eclipse.core.resources.IMarker; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.gef.GraphicalEditPart; -import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowElement; -import org.eclipse.jst.jsf.facesconfig.ui.util.WebrootUtil; - -/** - * - * Utility class to add and remove edit part markers. - * - * FIXME: add the identification mechanism of the model and remove the - * dependency on the PageflowElement - * - * @author Xiao-guang Zhang - * - * - */ -public class EditPartMarkerUtil { - - /** - * Removes all markers that were created using createMarker() - * - * @param model - - * the emf model related with edit part - * @throws CoreException - */ - public static void removeAllMarkers(EObject model) throws CoreException { - IResource resource = getResource(model); - - if (resource != null) { - String markerTypes[] = { IMarker.PROBLEM, IMarker.TASK }; - - for (int iMT = 0; iMT < markerTypes.length; iMT++) { - IMarker[] markers = resource.findMarkers(markerTypes[iMT], - false, IResource.DEPTH_ONE); - - for (int iMark = 0; iMark < markers.length; iMark++) { - markers[iMark].delete(); - } - } - } - } - - /** - * Removes a specific problem marker type with the given severity. - * - * @param model - - * the model related with this edit part. - * @param sMarkerType - - * the marker type, either IMarker.PROBLEM or IMarker.TASK - * @param iSeverity - - * severity/priority: if sMarkerType is IMarker.PROBLEM, then - * this value is one of the PROBLEM severities; if sMarkerType is - * IMarker.TASK, this is a task priority. - * @throws CoreException - * passed on from IResource.findMarkers() - */ - public static void removeAllMarkers(EObject model, String sMarkerType, - int iSeverity) throws CoreException { - IResource resource = getResource(model); - - if (resource != null) { - IMarker[] markers = resource.findMarkers(sMarkerType, false, - IResource.DEPTH_ONE); - - for (int i = 0; i < markers.length; i++) { - IMarker marker = markers[i]; - int iMarkerSeverity = marker.getAttribute(IMarker.SEVERITY, - IMarker.SEVERITY_ERROR); - - if (iMarkerSeverity == iSeverity || iSeverity == -1) { - markers[i].delete(); - } - } - } - } - - /** - * get the resouce according to part or model. - * - * @param part - * @param model - * @return - */ - private static IResource getResource(EObject model) { - IResource resource = null; - resource = WebrootUtil.getResource(model); - return resource; - } - - /** - * Create a problem marker. - * - * @param model - - * the model related with this edit part. - * @param sMarkerType - * @param severity - - * the problem severity, one of IMarker.SEVERITY_ERROR, - * IMarker.SEVERITY_WARNING or IMarker.SEVERITY_INFO - * @param message - - * the text associated with this marker - * @param location - - * a unique ID that the application can use to locate the - * editpart - * - * that corresponds to this marker; this is typically the DiagramElement's - * ID string - * @throws CoreException - */ - public static void createMarker(EObject model, String sMarkerType, - int severity, String message, String location) throws CoreException { - IResource resource = getResource(model); - - if (resource != null) { - IMarker marker = resource.createMarker(sMarkerType); - marker.setAttribute(IMarker.MESSAGE, message); - marker.setAttribute(IMarker.SEVERITY, severity); - // The problem view doesn't show the location - only the line number - // is shown in the "location" column. Doh! - if (location != null && location.length() > 0) { - marker.setAttribute(IMarker.LOCATION, location); - } - } - } - - /** - * Removes a specific problem marker type with the given severity. - * - * @param model - - * the model related with this edit part. - * @param sMarkerType - - * the marker type, either IMarker.PROBLEM or IMarker.TASK - * @throws CoreException - * passed on from IResource.findMarkers() - */ - public static void removeMarker(EObject model, String sMarkerType) - throws CoreException { - IResource resource = getResource(model); - if (resource != null) { - IMarker[] markers = resource.findMarkers(sMarkerType, false, - IResource.DEPTH_ONE); - - for (int i = 0; i < markers.length; i++) { - IMarker marker = markers[i]; - // get the marker's location - Object id = marker.getAttribute(IMarker.LOCATION); - - if (model instanceof PageflowElement) { - if (((PageflowElement) model).getId().equals(id)) { - markers[i].delete(); - } - } - } - } - } - - /** - * Searches the hierarchy starting at the given EditPart for a given model - * object ID string (the DiagramElement.ID value) and returns that EditPart - * - * @param containerPart - * @param id - * @return the EditPart that corresponds to the given ID string, or null if - * not found - */ - public static GraphicalEditPart findEditPart( - GraphicalEditPart containerPart, String id) { - Object model = containerPart.getModel(); - if (model instanceof PageflowElement) { - String modelId = ((PageflowElement) model).getId(); - if (modelId != null && modelId.equals(id)) { - return containerPart; - } - } - - Iterator iterNode = containerPart.getChildren().iterator(); - while (iterNode.hasNext()) { - GraphicalEditPart child = (GraphicalEditPart) iterNode.next(); - GraphicalEditPart foundPart = findEditPart(child, id); - if (foundPart != null) { - return foundPart; - } - } - - Iterator iterConnection = containerPart.getSourceConnections() - .iterator(); - while (iterConnection.hasNext()) { - GraphicalEditPart child = (GraphicalEditPart) iterConnection.next(); - GraphicalEditPart foundPart = findEditPart(child, id); - if (foundPart != null) { - return foundPart; - } - } - - return null; - } - -} |