-// $Id$\r
-/**\r
-* Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
-* http://www.e-taxonomy.eu\r
-* \r
-* The contents of this file are subject to the Mozilla Public License Version 1.1\r
-* See LICENSE.TXT at the top of this package for the full license terms.\r
-*/\r
-\r
-package eu.etaxonomy.taxeditor.bulkeditor.handler;\r
-\r
-import java.beans.PropertyChangeEvent;\r
-import java.util.Iterator;\r
-\r
-import org.apache.log4j.Logger;\r
-import org.eclipse.core.commands.AbstractHandler;\r
-import org.eclipse.core.commands.ExecutionEvent;\r
-import org.eclipse.core.commands.ExecutionException;\r
-import org.eclipse.jface.text.TextSelection;\r
-import org.eclipse.swt.widgets.Event;\r
-import org.eclipse.ui.handlers.HandlerUtil;\r
-\r
-import eu.etaxonomy.cdm.model.common.AnnotatableEntity;\r
-import eu.etaxonomy.cdm.model.common.CdmBase;\r
-import eu.etaxonomy.cdm.model.common.Marker;\r
-import eu.etaxonomy.cdm.model.common.MarkerType;\r
-import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation;\r
-import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotationModel;\r
-import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;\r
-\r
-/**\r
- * @author p.ciardelli\r
- * @created 20.10.2009\r
- * @version 1.0\r
- */\r
-public class SetMarkerFlagFalseHandler extends AbstractHandler {\r
- private static final Logger logger = Logger\r
- .getLogger(SetMarkerFlagFalseHandler.class);\r
-\r
- /* (non-Javadoc)\r
- * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)\r
- */\r
- public Object execute(ExecutionEvent event) throws ExecutionException {\r
- \r
- // TODO merge this w SetMarkerFlagTrueHandler\r
- \r
- Object data = ((Event) event.getTrigger()).data;\r
- \r
- if (HandlerUtil.getCurrentSelection(event) instanceof TextSelection \r
- && HandlerUtil.getActiveEditor(event) instanceof BulkEditor && data instanceof MarkerType) {\r
- TextSelection selection = (TextSelection) HandlerUtil.getCurrentSelection(event);\r
- BulkEditor editor = (BulkEditor) HandlerUtil.getActiveEditor(event);\r
- \r
- LineAnnotationModel model = (LineAnnotationModel) editor.getDocumentProvider().getAnnotationModel(editor.getEditorInput());\r
- if (model != null) {\r
- Iterator iter = model.getAnnotationIterator(selection.getOffset(), selection.getLength(), true, true);\r
- while (iter.hasNext()) {\r
- Object next = iter.next();\r
- if (next instanceof LineAnnotation) {\r
- Object entity = ((LineAnnotation) next).getEntity();\r
- createOrUpdateMarker((AnnotatableEntity) entity, (MarkerType) data, false);\r
- ((CdmBase) entity).firePropertyChange(new PropertyChangeEvent(entity, "", null, null));\r
- }\r
- }\r
- }\r
- }\r
- return null;\r
- }\r
-\r
- /**\r
- * @param entity\r
- * @param publish\r
- * @param flag\r
- */\r
- private void createOrUpdateMarker(AnnotatableEntity entity,\r
- MarkerType markerType, boolean flag) {\r
- for (Marker marker : entity.getMarkers()) {\r
- if (markerType.equals(marker.getMarkerType())) {\r
- marker.setFlag(flag);\r
- return;\r
- }\r
- }\r
- entity.addMarker(Marker.NewInstance(markerType, flag));\r
- }\r
-}\r
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.bulkeditor.handler;
+
+import java.beans.PropertyChangeEvent;
+import java.util.Iterator;
+
+import org.apache.log4j.Logger;
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.jface.text.TextSelection;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+import eu.etaxonomy.cdm.model.common.AnnotatableEntity;
+import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.common.Marker;
+import eu.etaxonomy.cdm.model.common.MarkerType;
+import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation;
+import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotationModel;
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
+
+/**
+ * <p>SetMarkerFlagFalseHandler class.</p>
+ *
+ * @author p.ciardelli
+ * @created 20.10.2009
+ * @version 1.0
+ */
+public class SetMarkerFlagFalseHandler extends AbstractHandler {
+ private static final Logger logger = Logger
+ .getLogger(SetMarkerFlagFalseHandler.class);
+
+ /* (non-Javadoc)
+ * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
+ */
+ /** {@inheritDoc} */
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+
+ // TODO merge this w SetMarkerFlagTrueHandler
+
+ Object data = ((Event) event.getTrigger()).data;
+
+ if (HandlerUtil.getCurrentSelection(event) instanceof TextSelection
+ && HandlerUtil.getActiveEditor(event) instanceof BulkEditor && data instanceof MarkerType) {
+ TextSelection selection = (TextSelection) HandlerUtil.getCurrentSelection(event);
+ BulkEditor editor = (BulkEditor) HandlerUtil.getActiveEditor(event);
+
+ LineAnnotationModel model = (LineAnnotationModel) editor.getDocumentProvider().getAnnotationModel(editor.getEditorInput());
+ if (model != null) {
+ Iterator iter = model.getAnnotationIterator(selection.getOffset(), selection.getLength(), true, true);
+ while (iter.hasNext()) {
+ Object next = iter.next();
+ if (next instanceof LineAnnotation) {
+ Object entity = ((LineAnnotation) next).getEntity();
+ createOrUpdateMarker((AnnotatableEntity) entity, (MarkerType) data, false);
+ ((CdmBase) entity).firePropertyChange(new PropertyChangeEvent(entity, "", null, null));
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * @param entity
+ * @param publish
+ * @param flag
+ */
+ private void createOrUpdateMarker(AnnotatableEntity entity,
+ MarkerType markerType, boolean flag) {
+ for (Marker marker : entity.getMarkers()) {
+ if (markerType.equals(marker.getMarkerType())) {
+ marker.setFlag(flag);
+ return;
+ }
+ }
+ entity.addMarker(Marker.NewInstance(markerType, flag));
+ }
+}