Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 237311 Details for
Bug 418883
Image visible while "Save As..." is not enabled after patch for bug 417427
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
second version of the patch
0001-Sprint-task-SaveImageAs-enabled-if-and-only-if-image_v2.patch (text/plain), 23.65 KB, created by
Sebastian Struckmann
on 2013-11-08 10:04:14 EST
(
hide
)
Description:
second version of the patch
Filename:
MIME Type:
Creator:
Sebastian Struckmann
Created:
2013-11-08 10:04:14 EST
Size:
23.65 KB
patch
obsolete
>From 924751ce3cbe1d01083be795772a4741c2a2dffc Mon Sep 17 00:00:00 2001 >From: Sebastian Struckmann <sebastian.struckmann@bredex.de> >Date: Thu, 7 Nov 2013 13:11:05 +0100 >Subject: [PATCH] Sprint task - SaveImageAs enabled if and only if image is > visible > >--- > org.eclipse.jubula.client.ui.rcp/plugin.xml | 27 ++------ > .../client/ui/rcp/handlers/SaveImageAsHandler.java | 81 ++++++++-------------- > .../propertytester/ImageViewPropertyTester.java | 53 -------------- > org.eclipse.jubula.client.ui/META-INF/MANIFEST.MF | 1 + > org.eclipse.jubula.client.ui/plugin.xml | 8 +++ > .../jubula/client/ui/constants/Constants.java | 7 ++ > .../client/ui/views/imageview/ImageProvider.java | 3 +- > .../client/ui/views/imageview/ImageView.java | 56 +++++++++++---- > .../client/ui/views/imageview/ImageViewData.java | 78 +++++++++++++++++++++ > .../imageview/TestResultNodeImageProvider.java | 43 ++++++++++-- > 10 files changed, 208 insertions(+), 149 deletions(-) > delete mode 100644 org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/propertytester/ImageViewPropertyTester.java > create mode 100644 org.eclipse.jubula.client.ui/src/org/eclipse/jubula/client/ui/views/imageview/ImageViewData.java > >diff --git a/org.eclipse.jubula.client.ui.rcp/plugin.xml b/org.eclipse.jubula.client.ui.rcp/plugin.xml >index c879d81..c906428 100644 >--- a/org.eclipse.jubula.client.ui.rcp/plugin.xml >+++ b/org.eclipse.jubula.client.ui.rcp/plugin.xml >@@ -144,13 +144,6 @@ > properties="isPasteAllowed" > type="java.util.Collection"> > </propertyTester> >- <propertyTester >- class="org.eclipse.jubula.client.ui.rcp.propertytester.ImageViewPropertyTester" >- id="org.eclipse.jubula.client.ui.rcp.propertytester.ImageViewPropertyTester" >- namespace="org.eclipse.jubula.client.ui.rcp.ImageView" >- properties="hasImage" >- type="org.eclipse.jubula.client.core.model.TestResultNode"> >- </propertyTester> > </extension> > <extension > id="jbMarker" >@@ -1979,21 +1972,11 @@ > class="org.eclipse.jubula.client.ui.rcp.handlers.SaveImageAsHandler" > commandId="org.eclipse.jubula.client.ui.commands.SaveImageAs"> > <enabledWhen> >- <and> >- <count >- value="1"> >- </count> >- <iterate >- ifEmpty="false" >- operator="or"> >- <and> >- <instanceof >- value="org.eclipse.jubula.client.core.model.TestResultNode"> >- </instanceof> >- <test property="org.eclipse.jubula.client.ui.rcp.ImageView.hasImage"/> >- </and> >- </iterate> >- </and> >+ <with variable="activeContexts"> >+ <iterate ifEmpty="false" operator="or"> >+ <equals value="org.eclipse.jubula.client.ui.contexts.ImageViewDisplaysImage"/> >+ </iterate> >+ </with> > </enabledWhen> > </handler> > <handler >diff --git a/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/handlers/SaveImageAsHandler.java b/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/handlers/SaveImageAsHandler.java >index 6f0ca8f..35878c7 100644 >--- a/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/handlers/SaveImageAsHandler.java >+++ b/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/handlers/SaveImageAsHandler.java >@@ -12,23 +12,17 @@ package org.eclipse.jubula.client.ui.rcp.handlers; > > import org.apache.commons.lang.StringUtils; > import org.eclipse.core.commands.ExecutionEvent; >-import org.eclipse.jface.viewers.IStructuredSelection; >-import org.eclipse.jubula.client.core.model.TestResultNode; >+import org.eclipse.jubula.client.ui.constants.Constants; > import org.eclipse.jubula.client.ui.handlers.AbstractSelectionBasedHandler; >-import org.eclipse.jubula.client.ui.utils.ErrorHandlingUtil; >-import org.eclipse.jubula.tools.messagehandling.MessageIDs; >+import org.eclipse.jubula.client.ui.views.imageview.ImageView; >+import org.eclipse.jubula.client.ui.views.imageview.ImageViewData; > import org.eclipse.swt.SWT; >+import org.eclipse.swt.graphics.ImageData; >+import org.eclipse.swt.graphics.ImageLoader; > import org.eclipse.swt.widgets.FileDialog; >+import org.eclipse.ui.IViewPart; > import org.eclipse.ui.handlers.HandlerUtil; > >-import java.io.File; >-import java.io.FileNotFoundException; >-import java.io.FileOutputStream; >-import java.io.IOException; >-import java.io.OutputStream; >-import java.text.DateFormat; >-import java.text.SimpleDateFormat; >- > /** > * @author BREDEX GmbH > * @created 11.09.2013 >@@ -36,62 +30,41 @@ import java.text.SimpleDateFormat; > public class SaveImageAsHandler extends AbstractSelectionBasedHandler { > > /** >- * suggest only 255 character long file names >- */ >- private static final int MAX_FILE_NAME_LENGTH = 255; >- >- /** > * {@inheritDoc} > */ > protected Object executeImpl(ExecutionEvent event) { >- IStructuredSelection structuredSelection = getSelection(); >- Object selectedObject = structuredSelection.getFirstElement(); >- if (selectedObject instanceof TestResultNode) { >- TestResultNode result = (TestResultNode) selectedObject; >- >- // necessary to get test suite name >- TestResultNode parent = result; >- while (parent.getParent() != null) { >- parent = parent.getParent(); >- } >- >- // get the date of test from time stamp >- DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); //$NON-NLS-1$ >- String date = format.format(result.getTimeStamp()); >- >+ IViewPart view = HandlerUtil.getActiveSite(event). >+ getPage().findView(Constants.IMAGEVIEW_ID); >+ >+ if (view != null && view instanceof ImageView) { >+ ImageView imageView = (ImageView)view; >+ int maxFileNameLength = 255; >+ >+ ImageViewData imageViewData = imageView.getImageViewData(); >+ String imageName = imageViewData.getImageName(); >+ String imageDate = imageViewData.getImageDate(); >+ > FileDialog saveDialog = new FileDialog(HandlerUtil > .getActiveWorkbenchWindow(event).getShell(), SWT.SAVE); >- String fileName = "ErrorInTest_" + parent.getName() + "_" //$NON-NLS-1$ //$NON-NLS-2$ >- + result.getNode().getName(); >- // eliminate whitespaces and characters which are illegal in a file name >- fileName = fileName.replaceAll("[\\s\\?\\\\/:|<>\\*\"]", ""); //$NON-NLS-1$ //$NON-NLS-2$ >- >- String fileEnding = "_" + date + ".png"; //$NON-NLS-1$ //$NON-NLS-2$ >- fileName = StringUtils.substring(fileName, 0, >- MAX_FILE_NAME_LENGTH >+ String fileEnding = "_" + imageDate + ".png"; //$NON-NLS-1$ //$NON-NLS-2$ >+ String fileName = StringUtils.substring(imageName, 0, >+ maxFileNameLength > - fileEnding.length() > - saveDialog.getFilterPath().length()); > fileName = fileName + fileEnding; >+ > saveDialog.setFileName(fileName); > saveDialog.setFilterExtensions(new String[] { "*.png" }); //$NON-NLS-1$ > saveDialog.setOverwrite(true); > String path = saveDialog.open(); > >+ ImageData imageData = imageViewData.getImage().getImageData(); >+ > if (path != null) { >- if (result.getScreenshot() != null) { >- try { >- File file = new File(path); >- OutputStream out = new FileOutputStream(file); >- out.write(result.getScreenshot()); >- out.flush(); >- out.close(); >- } catch (FileNotFoundException e) { >- ErrorHandlingUtil.createMessageDialog(MessageIDs. >- E_FILE_NO_PERMISSION); >- } catch (IOException e) { >- ErrorHandlingUtil.createMessageDialog(MessageIDs. >- E_IO_EXCEPTION); >- } >+ if (imageData != null) { >+ ImageLoader loader = new ImageLoader(); >+ loader.data = new ImageData[] { imageData }; >+ loader.save(path, SWT.IMAGE_PNG); > } > } > } >diff --git a/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/propertytester/ImageViewPropertyTester.java b/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/propertytester/ImageViewPropertyTester.java >deleted file mode 100644 >index e4d7928..0000000 >--- a/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/propertytester/ImageViewPropertyTester.java >+++ /dev/null >@@ -1,53 +0,0 @@ >-/******************************************************************************* >- * Copyright (c) 2013 BREDEX GmbH. >- * 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: >- * BREDEX GmbH - initial API and implementation and/or initial documentation >- *******************************************************************************/ >-package org.eclipse.jubula.client.ui.rcp.propertytester; >- >-import org.eclipse.jubula.client.core.model.TestResultNode; >-import org.eclipse.jubula.client.core.propertytester.AbstractBooleanPropertyTester; >- >-/** >- * PropertyTester for TestResultSummary. >- * >- * @author BREDEX GmbH >- * @created Sep 13, 2013 >- */ >-public class ImageViewPropertyTester >- extends AbstractBooleanPropertyTester { >- /** the id of the "hasMonitoringData" property */ >- private static final String HAS_IMAGE = "hasImage"; //$NON-NLS-1$ >- >- /** >- * <code>PROPERTIES</code> >- */ >- private static final String[] PROPERTIES = new String[] { >- HAS_IMAGE }; >- >- /** {@inheritDoc} */ >- public boolean testImpl(Object receiver, String property, Object[] args) { >- if (property.equals(HAS_IMAGE)) { >- TestResultNode node = (TestResultNode) receiver; >- if (node.getScreenshot() != null) { >- return true; >- } >- } >- return false; >- } >- >- /** {@inheritDoc} */ >- public Class<? extends Object> getType() { >- return TestResultNode.class; >- } >- >- /** {@inheritDoc} */ >- public String[] getProperties() { >- return PROPERTIES; >- } >-} >diff --git a/org.eclipse.jubula.client.ui/META-INF/MANIFEST.MF b/org.eclipse.jubula.client.ui/META-INF/MANIFEST.MF >index b012682..f78195a 100644 >--- a/org.eclipse.jubula.client.ui/META-INF/MANIFEST.MF >+++ b/org.eclipse.jubula.client.ui/META-INF/MANIFEST.MF >@@ -46,5 +46,6 @@ Export-Package: org.eclipse.jubula.client.ui.adapter, > org.eclipse.jubula.client.ui.utils, > org.eclipse.jubula.client.ui.validator.cell, > org.eclipse.jubula.client.ui.views, >+ org.eclipse.jubula.client.ui.views.imageview, > org.eclipse.jubula.client.ui.widgets > Bundle-Activator: org.eclipse.jubula.client.ui.Plugin >diff --git a/org.eclipse.jubula.client.ui/plugin.xml b/org.eclipse.jubula.client.ui/plugin.xml >index 478e5ce..d557c7d 100644 >--- a/org.eclipse.jubula.client.ui/plugin.xml >+++ b/org.eclipse.jubula.client.ui/plugin.xml >@@ -351,4 +351,12 @@ > <adapter type="org.eclipse.ui.views.properties.IPropertySource" /> > </factory> > </extension> >+ <extension >+ point="org.eclipse.ui.contexts"> >+ <context >+ id="org.eclipse.jubula.client.ui.contexts.ImageViewDisplaysImage" >+ name="org.eclipse.jubula.client.ui.contexts.ImageViewDisplaysImage" >+ parentId="org.eclipse.ui.contexts.dialogAndWindow"> >+ </context> >+ </extension> > </plugin> >diff --git a/org.eclipse.jubula.client.ui/src/org/eclipse/jubula/client/ui/constants/Constants.java b/org.eclipse.jubula.client.ui/src/org/eclipse/jubula/client/ui/constants/Constants.java >index 1ac7556..766f2f4 100644 >--- a/org.eclipse.jubula.client.ui/src/org/eclipse/jubula/client/ui/constants/Constants.java >+++ b/org.eclipse.jubula.client.ui/src/org/eclipse/jubula/client/ui/constants/Constants.java >@@ -129,6 +129,13 @@ public interface Constants { > "org.eclipse.jubula.client.ui.rcp.views.RunningAuts"; //$NON-NLS-1$ > > // ------------------------------------------------------------- >+ // Keys for Contexts >+ // ------------------------------------------------------------- >+ /** if there is an image displayed in the image view */ >+ public static final String IMAGEVIEW_DISPLAYS_IMAGE = >+ "org.eclipse.jubula.client.ui.contexts.ImageViewDisplaysImage"; //$NON-NLS-1$ >+ >+ // ------------------------------------------------------------- > // decorator ids > // ------------------------------------------------------------- > /** ID of the completeness check decorator */ >diff --git a/org.eclipse.jubula.client.ui/src/org/eclipse/jubula/client/ui/views/imageview/ImageProvider.java b/org.eclipse.jubula.client.ui/src/org/eclipse/jubula/client/ui/views/imageview/ImageProvider.java >index e9a0f6c..bf89e70 100644 >--- a/org.eclipse.jubula.client.ui/src/org/eclipse/jubula/client/ui/views/imageview/ImageProvider.java >+++ b/org.eclipse.jubula.client.ui/src/org/eclipse/jubula/client/ui/views/imageview/ImageProvider.java >@@ -11,7 +11,6 @@ > package org.eclipse.jubula.client.ui.views.imageview; > > import org.eclipse.swt.graphics.Device; >-import org.eclipse.swt.graphics.Image; > > /** > * @author BREDEX GmbH >@@ -28,5 +27,5 @@ public interface ImageProvider { > * > * @return {@link Image} > */ >- Image getImage(Device target); >+ ImageViewData getImageViewData(Device target); > } >diff --git a/org.eclipse.jubula.client.ui/src/org/eclipse/jubula/client/ui/views/imageview/ImageView.java b/org.eclipse.jubula.client.ui/src/org/eclipse/jubula/client/ui/views/imageview/ImageView.java >index c06b2f6..5a4721f 100644 >--- a/org.eclipse.jubula.client.ui/src/org/eclipse/jubula/client/ui/views/imageview/ImageView.java >+++ b/org.eclipse.jubula.client.ui/src/org/eclipse/jubula/client/ui/views/imageview/ImageView.java >@@ -17,10 +17,12 @@ import org.eclipse.core.runtime.IStatus; > import org.eclipse.core.runtime.Platform; > import org.eclipse.core.runtime.Status; > import org.eclipse.core.runtime.jobs.Job; >+import org.eclipse.jface.action.MenuManager; > import org.eclipse.jface.viewers.ISelection; > import org.eclipse.jface.viewers.ISelectionChangedListener; > import org.eclipse.jface.viewers.ISelectionProvider; > import org.eclipse.jface.viewers.IStructuredSelection; >+import org.eclipse.jubula.client.ui.constants.Constants; > import org.eclipse.jubula.client.ui.i18n.Messages; > import org.eclipse.jubula.client.ui.utils.JobUtils; > import org.eclipse.jubula.client.ui.views.IJBPart; >@@ -41,9 +43,10 @@ import org.eclipse.swt.widgets.Menu; > import org.eclipse.ui.ISelectionListener; > import org.eclipse.ui.ISelectionService; > import org.eclipse.ui.IWorkbenchPart; >+import org.eclipse.ui.contexts.IContextActivation; >+import org.eclipse.ui.contexts.IContextService; > import org.eclipse.ui.part.ViewPart; > import org.eclipse.ui.views.properties.IPropertySheetPage; >-import org.eclipse.jface.action.MenuManager; > > > /** >@@ -59,8 +62,8 @@ public class ImageView extends ViewPart implements IJBPart, ISelectionProvider { > /** > * the image > */ >- private Image m_img; >- >+ private ImageViewData m_imgData; >+ > /** > * <code>m_oldSelection</code> > */ >@@ -77,6 +80,11 @@ public class ImageView extends ViewPart implements IJBPart, ISelectionProvider { > private Composite m_child; > > /** >+ * context activation >+ */ >+ private IContextActivation m_contextActivation; >+ >+ /** > * The selectionListener listens for changes in the workbench's selection > * service. > */ >@@ -212,17 +220,27 @@ public class ImageView extends ViewPart implements IJBPart, ISelectionProvider { > protected void setImage(final ImageProvider provider) { > m_scrollComposite.getDisplay().syncExec(new Runnable() { > >+ > public void run() { > clearImage(); >- m_img = provider.getImage(m_scrollComposite.getDisplay()); >- m_imgWidget.setImage(m_img); >- if (m_img != null) { >- m_imgWidget.setSize( >- m_img.getBounds().width, >- m_img.getBounds().height); >+ m_imgData = provider.getImageViewData( >+ m_scrollComposite.getDisplay()); >+ if (m_imgData != null) { >+ Image img = m_imgData.getImage(); >+ m_imgWidget.setImage(img); >+ if (img != null) { >+ m_imgWidget.setSize( >+ img.getBounds().width, >+ img.getBounds().height); >+ IContextService cs = (IContextService) getSite(). >+ getWorkbenchWindow(). >+ getService(IContextService.class); >+ m_contextActivation = cs.activateContext( >+ Constants.IMAGEVIEW_DISPLAYS_IMAGE); >+ } >+ m_scrollComposite.setMinSize(m_child.computeSize( >+ SWT.DEFAULT, SWT.DEFAULT)); > } >- m_scrollComposite.setMinSize(m_child.computeSize(SWT.DEFAULT, >- SWT.DEFAULT)); > } > }); > } >@@ -236,6 +254,10 @@ public class ImageView extends ViewPart implements IJBPart, ISelectionProvider { > if (oldImage != null) { > oldImage.dispose(); > } >+ >+ IContextService cs = (IContextService) getSite(). >+ getService(IContextService.class); >+ cs.deactivateContext(m_contextActivation); > } > > /** >@@ -243,8 +265,8 @@ public class ImageView extends ViewPart implements IJBPart, ISelectionProvider { > */ > public void dispose() { > getSelectionService().removeSelectionListener(m_selectionListener); >- if (m_img != null) { >- m_img.dispose(); >+ if (m_imgData != null) { >+ m_imgData.dispose(); > } > super.dispose(); > } >@@ -300,4 +322,12 @@ public class ImageView extends ViewPart implements IJBPart, ISelectionProvider { > } > return super.getAdapter(key); > } >+ >+ /** >+ * returns the data of the displayed image >+ * @return the image data >+ */ >+ public ImageViewData getImageViewData() { >+ return m_imgData; >+ } > } >diff --git a/org.eclipse.jubula.client.ui/src/org/eclipse/jubula/client/ui/views/imageview/ImageViewData.java b/org.eclipse.jubula.client.ui/src/org/eclipse/jubula/client/ui/views/imageview/ImageViewData.java >new file mode 100644 >index 0000000..3e5dcd4 >--- /dev/null >+++ b/org.eclipse.jubula.client.ui/src/org/eclipse/jubula/client/ui/views/imageview/ImageViewData.java >@@ -0,0 +1,78 @@ >+/******************************************************************************* >+ * Copyright (c) 2013 BREDEX GmbH. >+ * 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: >+ * BREDEX GmbH - initial API and implementation and/or initial documentation >+ *******************************************************************************/ >+package org.eclipse.jubula.client.ui.views.imageview; >+ >+import org.eclipse.swt.graphics.Image; >+ >+/** >+ * Class representing an image from the image view and its data >+ * @author BREDEX GmbH >+ * @created Nov 08, 2013 >+ */ >+public class ImageViewData { >+ /** >+ * the image >+ */ >+ private Image m_img; >+ >+ /** >+ * the name of the image >+ */ >+ private String m_imgName; >+ >+ /** >+ * the date of the image >+ */ >+ private String m_imgDate; >+ >+ /** >+ * constructor >+ * @param img the image >+ * @param name the name of the image >+ * @param date the date of the image >+ */ >+ public ImageViewData(Image img, String name, String date) { >+ m_img = img; >+ m_imgName = name; >+ m_imgDate = date; >+ } >+ >+ /** >+ * returns the image >+ * @return the image >+ */ >+ public Image getImage() { >+ return m_img; >+ } >+ >+ /** >+ * returns the name of the image >+ * @return the name of the image >+ */ >+ public String getImageName() { >+ return m_imgName; >+ } >+ >+ /** >+ * returns the date of the image >+ * @return the date of the image >+ */ >+ public String getImageDate() { >+ return m_imgDate; >+ } >+ >+ /** >+ * Disposes the image. >+ */ >+ public void dispose() { >+ m_img.dispose(); >+ } >+} >diff --git a/org.eclipse.jubula.client.ui/src/org/eclipse/jubula/client/ui/views/imageview/TestResultNodeImageProvider.java b/org.eclipse.jubula.client.ui/src/org/eclipse/jubula/client/ui/views/imageview/TestResultNodeImageProvider.java >index b5a84ce..7850af7 100644 >--- a/org.eclipse.jubula.client.ui/src/org/eclipse/jubula/client/ui/views/imageview/TestResultNodeImageProvider.java >+++ b/org.eclipse.jubula.client.ui/src/org/eclipse/jubula/client/ui/views/imageview/TestResultNodeImageProvider.java >@@ -10,6 +10,9 @@ > *******************************************************************************/ > package org.eclipse.jubula.client.ui.views.imageview; > >+import java.text.DateFormat; >+import java.text.SimpleDateFormat; >+ > import org.eclipse.jubula.client.core.model.TestResultNode; > import org.eclipse.jubula.client.ui.utils.ImageUtils; > import org.eclipse.swt.graphics.Device; >@@ -33,15 +36,45 @@ public class TestResultNodeImageProvider implements ImageProvider { > public TestResultNodeImageProvider(TestResultNode testresultnode) { > m_testResultNode = testresultnode; > } >- >+ > /** > * {@inheritDoc} > */ >- public Image getImage(Device target) { >- if (m_testResultNode.getScreenshot() != null) { >- return new Image(target, ImageUtils.getImageData(m_testResultNode >- .getScreenshot())); >+ public ImageViewData getImageViewData(Device target) { >+ byte[] screenshot = m_testResultNode.getScreenshot(); >+ if (screenshot != null) { >+ Image img = new Image(target, ImageUtils.getImageData(screenshot)); >+ return new ImageViewData(img, generateImageName(), >+ generateImageDate()); > } > return null; > } >+ >+ /** >+ * generates the name of the image >+ * @return the name of the image >+ */ >+ private String generateImageName() { >+ TestResultNode parent = m_testResultNode; >+ while (parent.getParent() != null) { >+ parent = parent.getParent(); >+ } >+ >+ String imgName = "ErrorInTest_" + parent.getName() + "_" //$NON-NLS-1$ //$NON-NLS-2$ >+ + m_testResultNode.getNode().getName(); >+ // eliminate whitespaces and characters which are illegal in a file name >+ imgName = imgName.replaceAll("[\\s\\?\\\\/:|<>\\*\"]", ""); //$NON-NLS-1$ //$NON-NLS-2$ >+ return imgName; >+ } >+ >+ /** >+ * generates the date of the image >+ * @return the date of the image >+ */ >+ private String generateImageDate() { >+ // get the date of test from time stamp >+ DateFormat format = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss-SSS"); //$NON-NLS-1$ >+ String date = format.format(m_testResultNode.getTimeStamp()); >+ return date; >+ } > } >-- >1.7.11 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
markus.tiede
:
iplog+
Actions:
View
|
Diff
Attachments on
bug 418883
:
237310
| 237311