]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/decorators/ResultFailedDecorator.java
Clarify SLC project structure.
[gpl/argeo-slc.git] / org.argeo.slc.client.ui / src / org / argeo / slc / client / ui / decorators / ResultFailedDecorator.java
diff --git a/org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/decorators/ResultFailedDecorator.java b/org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/decorators/ResultFailedDecorator.java
deleted file mode 100644 (file)
index 9d91cc5..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-package org.argeo.slc.client.ui.decorators;
-
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-
-import javax.jcr.Node;
-import javax.jcr.RepositoryException;
-
-import org.argeo.slc.SlcException;
-import org.argeo.slc.SlcNames;
-import org.argeo.slc.client.ui.ClientUiPlugin;
-import org.argeo.slc.client.ui.SlcImages;
-import org.argeo.slc.client.ui.SlcUiConstants;
-import org.argeo.slc.client.ui.model.ResultFolder;
-import org.argeo.slc.client.ui.model.ResultParent;
-import org.argeo.slc.client.ui.model.SingleResultNode;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.DecorationOverlayIcon;
-import org.eclipse.jface.viewers.IDecoration;
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISharedImages;
-
-/** Dynamically decorates the results tree. */
-public class ResultFailedDecorator extends LabelProvider implements
-               ILabelDecorator {
-
-       // FIXME why not use? org.eclipse.jface.viewers.DecoratingLabelProvider
-
-       // private final static Log log = LogFactory
-       // .getLog(ResultFailedDecorator.class);
-
-       private final static DateFormat dateFormat = new SimpleDateFormat(
-                       SlcUiConstants.DEFAULT_DISPLAY_DATE_TIME_FORMAT);
-
-       // hack for SWT resource leak
-       // see http://www.eclipse.org/articles/swt-design-2/swt-design-2.html
-       // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=181215
-       private final Image passedFolder;
-       private final Image failedFolder;
-       private final Image failedSingleResult;
-       private final Image errorSingleResult;
-       private final Image passedSingleResult;
-
-       public ResultFailedDecorator() {
-               super();
-               ImageDescriptor failedDesc = ClientUiPlugin.getDefault().getWorkbench()
-                               .getSharedImages()
-                               .getImageDescriptor(ISharedImages.IMG_DEC_FIELD_ERROR);
-               failedFolder = new DecorationOverlayIcon(SlcImages.FOLDER, failedDesc,
-                               IDecoration.TOP_LEFT).createImage();
-               passedFolder = new DecorationOverlayIcon(SlcImages.FOLDER,
-                               SlcImages.EXECUTION_PASSED, IDecoration.TOP_LEFT).createImage();
-               failedSingleResult = new DecorationOverlayIcon(
-                               SlcImages.PROCESS_COMPLETED, failedDesc, IDecoration.TOP_LEFT)
-                               .createImage();
-               errorSingleResult = new DecorationOverlayIcon(
-                               SlcImages.PROCESS_COMPLETED, SlcImages.EXECUTION_ERROR,
-                               IDecoration.TOP_LEFT).createImage();
-               passedSingleResult = new DecorationOverlayIcon(
-                               SlcImages.PROCESS_COMPLETED, SlcImages.EXECUTION_PASSED,
-                               IDecoration.TOP_LEFT).createImage();
-       }
-
-       // Method to decorate Image
-       public Image decorateImage(Image image, Object object) {
-
-               // This method returns an annotated image or null if the
-               // image need not be decorated. Returning a null image
-               // decorates resource icon with basic decorations provided
-               // by Eclipse
-               if (object instanceof ResultParent) {
-                       if (((ResultParent) object).isPassed()) {
-                               if (object instanceof SingleResultNode)
-                                       return passedSingleResult;
-                               else if (object instanceof ResultFolder)
-                                       return passedFolder;
-                               else
-                                       return null;
-                       } else {
-                               // ImageDescriptor desc = ClientUiPlugin.getDefault()
-                               // .getWorkbench().getSharedImages()
-                               // .getImageDescriptor(ISharedImages.IMG_DEC_FIELD_ERROR);
-                               // DecorationOverlayIcon decoratedImage = new
-                               // DecorationOverlayIcon(
-                               // image, desc, IDecoration.TOP_LEFT);
-                               // return decoratedImage.createImage();
-                               if (object instanceof SingleResultNode) {
-                                       SingleResultNode srn = (SingleResultNode) object;
-                                       boolean isError = false;
-                                       try {
-                                               isError = srn.getNode()
-                                                               .getNode(SlcNames.SLC_AGGREGATED_STATUS)
-                                                               .hasProperty(SlcNames.SLC_ERROR_MESSAGE);
-                                       } catch (RepositoryException re) {
-                                               // Silent node might not exist
-                                       }
-                                       if (isError)
-                                               return errorSingleResult;
-                                       else
-                                               return failedSingleResult;
-
-                               } else
-                                       return failedFolder;
-                       }
-               }
-               return null;
-       }
-
-       // Method to decorate Text
-       public String decorateText(String label, Object object) {
-               if (object instanceof SingleResultNode) {
-                       SingleResultNode srNode = (SingleResultNode) object;
-                       Node node = srNode.getNode();
-                       String decoration = null;
-                       try {
-                               if (node.hasProperty(SlcNames.SLC_COMPLETED))
-                                       decoration = dateFormat.format(node
-                                                       .getProperty(SlcNames.SLC_COMPLETED).getDate()
-                                                       .getTime());
-                       } catch (RepositoryException re) {
-                               throw new SlcException(
-                                               "Unexpected error defining text decoration for result",
-                                               re);
-                       }
-                       return label + " [" + decoration + "]";
-               } else
-                       return null;
-       }
-
-       @Override
-       public void dispose() {
-               failedFolder.dispose();
-               failedSingleResult.dispose();
-               super.dispose();
-       }
-
-}