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 236752 Details for
Bug 418300
"Show were used" for test suites
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-show-where-used-for-test-suites-v2.patch (text/plain), 17.41 KB, created by
Sebastian Struckmann
on 2013-10-22 03:58:16 EDT
(
hide
)
Description:
second version of the patch
Filename:
MIME Type:
Creator:
Sebastian Struckmann
Created:
2013-10-22 03:58:16 EDT
Size:
17.41 KB
patch
obsolete
>From 0a895326853af1a09805ded7d1ed12d1c14b3338 Mon Sep 17 00:00:00 2001 >From: Sebastian Struckmann <sebastian.struckmann@bredex.de> >Date: Tue, 22 Oct 2013 09:53:43 +0200 >Subject: [PATCH] show where used for test suites - v2 > >--- > .../jubula/client/core/persistence/NodePM.java | 8 +- > org.eclipse.jubula.client.ui.rcp/plugin.xml | 18 ++++ > .../TestSuiteShowWhereUsedHandler.java | 37 +++++++++ > .../jubula/client/ui/rcp/i18n/Messages.java | 1 + > .../jubula/client/ui/rcp/i18n/messages.properties | 1 + > .../search/query/AbstractShowWhereUsedQuery.java | 44 ++++++++++ > .../rcp/search/query/ShowWhereUsedSpecTcQuery.java | 34 ++------ > .../search/query/ShowWhereUsedTestSuiteQuery.java | 96 ++++++++++++++++++++++ > 8 files changed, 208 insertions(+), 31 deletions(-) > create mode 100644 org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/handlers/showwhereused/TestSuiteShowWhereUsedHandler.java > create mode 100644 org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/search/query/ShowWhereUsedTestSuiteQuery.java > >diff --git a/org.eclipse.jubula.client.core/src/org/eclipse/jubula/client/core/persistence/NodePM.java b/org.eclipse.jubula.client.core/src/org/eclipse/jubula/client/core/persistence/NodePM.java >index 870af3e..1738281 100644 >--- a/org.eclipse.jubula.client.core/src/org/eclipse/jubula/client/core/persistence/NodePM.java >+++ b/org.eclipse.jubula.client.core/src/org/eclipse/jubula/client/core/persistence/NodePM.java >@@ -548,7 +548,7 @@ public class NodePM extends PersistenceManager { > * doesn't know the parent. > * > * @param tsGuid >- * GUID of the test case being reused. >+ * GUID of the test suite being reused. > * @param parentProjectId > * ID of the parent project of the test case being reused. > * @return all ref test suites that reference the test suite with the given >@@ -572,7 +572,7 @@ public class NodePM extends PersistenceManager { > /** > * > * @param tsGuid The GUID of the reused test suite. >- * @param parentProjectIds All returned test cases will have one of these as >+ * @param parentProjectIds All returned test suites will have one of these as > * their project parent ID. > * @param s The session into which the test cases will be loaded. > * @return list of test suites. >@@ -592,8 +592,8 @@ public class NodePM extends PersistenceManager { > queryBuffer.append(")"); //$NON-NLS-1$ > Query q = s.createQuery(queryBuffer.toString()); > q.setParameter("tsGuid", tsGuid); //$NON-NLS-1$ >- List<IRefTestSuitePO> execTcList = q.getResultList(); >- return execTcList; >+ List<IRefTestSuitePO> refTestSuiteList = q.getResultList(); >+ return refTestSuiteList; > } > > /** >diff --git a/org.eclipse.jubula.client.ui.rcp/plugin.xml b/org.eclipse.jubula.client.ui.rcp/plugin.xml >index 4731b1f..efd5b5d 100644 >--- a/org.eclipse.jubula.client.ui.rcp/plugin.xml >+++ b/org.eclipse.jubula.client.ui.rcp/plugin.xml >@@ -1751,6 +1751,10 @@ > style="push"> > </command> > <command >+ commandId="org.eclipse.jubula.client.ui.rcp.commands.ShowWhereUsed" >+ style="push"> >+ </command> >+ <command > commandId="org.eclipse.jubula.client.ui.commands.ExpandTreeItem" > style="push"> > </command> >@@ -2342,6 +2346,20 @@ > </activeWhen> > </handler> > <handler >+ class="org.eclipse.jubula.client.ui.rcp.handlers.showwhereused.TestSuiteShowWhereUsedHandler" >+ commandId="org.eclipse.jubula.client.ui.rcp.commands.ShowWhereUsed"> >+ <activeWhen> >+ <and> >+ <count value="1" /> >+ <iterate >+ ifEmpty="false" >+ operator="and"> >+ <instanceof value="org.eclipse.jubula.client.core.model.ITestSuitePO" /> >+ </iterate> >+ </and> >+ </activeWhen> >+ </handler> >+ <handler > class="org.eclipse.jubula.client.ui.rcp.handlers.showwhereused.ComponentNameShowWhereUsedHandler" > commandId="org.eclipse.jubula.client.ui.rcp.commands.ShowWhereUsed"> > <activeWhen> >diff --git a/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/handlers/showwhereused/TestSuiteShowWhereUsedHandler.java b/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/handlers/showwhereused/TestSuiteShowWhereUsedHandler.java >new file mode 100644 >index 0000000..a64b38e >--- /dev/null >+++ b/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/handlers/showwhereused/TestSuiteShowWhereUsedHandler.java >@@ -0,0 +1,37 @@ >+/******************************************************************************* >+ * 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.handlers.showwhereused; >+ >+import org.eclipse.core.commands.ExecutionEvent; >+import org.eclipse.jubula.client.core.model.ITestSuitePO; >+import org.eclipse.jubula.client.ui.rcp.search.query.ShowWhereUsedTestSuiteQuery; >+import org.eclipse.search.ui.NewSearchUI; >+ >+ >+/** >+ * Class for test suite "Show where used" handler >+ * >+ * @author BREDEX GmbH >+ * @created 17.10.2013 >+ */ >+public class TestSuiteShowWhereUsedHandler extends >+ AbstractShowWhereUsedHandler { >+ >+ /** {@inheritDoc} */ >+ public Object execute(ExecutionEvent event) { >+ init(event); >+ final Object first = getCurrentSelection().getFirstElement(); >+ ITestSuitePO testSuite = (ITestSuitePO)first; >+ NewSearchUI.runQueryInBackground( >+ new ShowWhereUsedTestSuiteQuery(testSuite)); >+ return null; >+ } >+} >diff --git a/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/i18n/Messages.java b/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/i18n/Messages.java >index de75387..bf3b7b7 100644 >--- a/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/i18n/Messages.java >+++ b/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/i18n/Messages.java >@@ -844,6 +844,7 @@ public class Messages extends NLS { > public static String UIJobSearchingResponsibleCompNames; > public static String UIJobSearchingTestCases; > public static String UIJobSearchingTestDataCube; >+ public static String UIJobSearchingTestSuites; > public static String UIJobStartTestJob; > public static String UnexpectedDialogReturnCode; > public static String UnexpectedError; >diff --git a/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/i18n/messages.properties b/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/i18n/messages.properties >index f94ac64..2f0c996 100644 >--- a/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/i18n/messages.properties >+++ b/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/i18n/messages.properties >@@ -830,6 +830,7 @@ UIJobSearchingCompNames=Search for usage of Component Names > UIJobSearchingResponsibleCompNames=Search for responsible specification of Component Name > UIJobSearchingTestCases=Search for usage of Test Case > UIJobSearchingTestDataCube=Search for usage of Test Data Sets >+UIJobSearchingTestSuites=Search for usage of Test Suite > UIJobStartTestJob=Start Test Job > UnexpectedDialogReturnCode=Unexpected dialog return code > UnexpectedError=Unexpected error >diff --git a/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/search/query/AbstractShowWhereUsedQuery.java b/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/search/query/AbstractShowWhereUsedQuery.java >index cd2de4a..9d458c8 100644 >--- a/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/search/query/AbstractShowWhereUsedQuery.java >+++ b/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/search/query/AbstractShowWhereUsedQuery.java >@@ -10,6 +10,17 @@ > *******************************************************************************/ > package org.eclipse.jubula.client.ui.rcp.search.query; > >+import java.util.ArrayList; >+import java.util.List; >+ >+import org.eclipse.core.runtime.IProgressMonitor; >+import org.eclipse.jubula.client.core.model.INodePO; >+import org.eclipse.jubula.client.ui.rcp.i18n.Messages; >+import org.eclipse.jubula.client.ui.rcp.provider.labelprovider.GeneralLabelProvider; >+import org.eclipse.jubula.client.ui.rcp.search.result.BasicSearchResult.NodeSearchResultElementAction; >+import org.eclipse.jubula.client.ui.rcp.search.result.BasicSearchResult.SearchResultElement; >+import org.eclipse.osgi.util.NLS; >+ > > /** > * This class provides common methods for "show where used queries". >@@ -26,5 +37,38 @@ public abstract class AbstractShowWhereUsedQuery extends AbstractQuery { > public AbstractShowWhereUsedQuery(String viewId) { > super(viewId); > } >+ >+ /** >+ * gives a search result containing the parents of an array of INodePOs >+ * >+ * @param monitor >+ * the monitor >+ * @param reuse >+ * the array containing the INodePOs >+ * @return the search result >+ */ >+ protected List<SearchResultElement> getResultElementsFromNodes( >+ IProgressMonitor monitor, INodePO[] reuse) { >+ final List<SearchResultElement> reuseLoc = >+ new ArrayList<SearchResultElement>(reuse.length); >+ List<INodePO> parentList = new ArrayList<INodePO>(); >+ >+ for (INodePO node : reuse) { >+ INodePO parent = node.getParentNode(); >+ if (parent != null) { >+ Long id = node.getId(); >+ String nodeName = GeneralLabelProvider.getTextImpl(node); >+ parentList.add(parent); >+ reuseLoc.add(new SearchResultElement<Long>(NLS.bind( >+ Messages.SearchResultPageElementLabel, new Object[] { >+ parent.getName(), nodeName }), id, >+ GeneralLabelProvider.getImageImpl(node), >+ new NodeSearchResultElementAction(), node >+ .getComment())); >+ } >+ monitor.worked(1); >+ } >+ return reuseLoc; >+ } > > } >diff --git a/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/search/query/ShowWhereUsedSpecTcQuery.java b/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/search/query/ShowWhereUsedSpecTcQuery.java >index fd28bd3..2ed8662 100644 >--- a/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/search/query/ShowWhereUsedSpecTcQuery.java >+++ b/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/search/query/ShowWhereUsedSpecTcQuery.java >@@ -10,7 +10,6 @@ > *******************************************************************************/ > package org.eclipse.jubula.client.ui.rcp.search.query; > >-import java.util.ArrayList; > import java.util.LinkedList; > import java.util.List; > >@@ -26,12 +25,9 @@ import org.eclipse.jubula.client.core.persistence.GeneralStorage; > import org.eclipse.jubula.client.core.persistence.NodePM; > import org.eclipse.jubula.client.core.persistence.ProjectPM; > import org.eclipse.jubula.client.ui.rcp.i18n.Messages; >-import org.eclipse.jubula.client.ui.rcp.provider.labelprovider.GeneralLabelProvider; >-import org.eclipse.jubula.client.ui.rcp.search.result.BasicSearchResult.NodeSearchResultElementAction; > import org.eclipse.jubula.client.ui.rcp.search.result.BasicSearchResult.SearchResultElement; > import org.eclipse.jubula.tools.constants.StringConstants; > import org.eclipse.jubula.tools.exception.JBException; >-import org.eclipse.osgi.util.NLS; > > > /** >@@ -86,29 +82,13 @@ public class ShowWhereUsedSpecTcQuery > // ignore > } > } >- List<IExecTestCasePO> reuse = NodePM.getExecTestCases(specTC.getGuid(), >- parentProjectIDs); >- final List<SearchResultElement> reuseLoc = >- new ArrayList<SearchResultElement>( >- reuse.size()); >- List<INodePO> parentList = new ArrayList<INodePO>(); >- >- monitor.beginTask("Searching for reusage of Test Case", reuse.size()); //$NON-NLS-1$ >- for (IExecTestCasePO execTC : reuse) { >- INodePO parent = execTC.getParentNode(); >- if (parent != null) { >- Long id = execTC.getId(); >- String nodeName = GeneralLabelProvider.getTextImpl(execTC); >- parentList.add(parent); >- reuseLoc.add(new SearchResultElement<Long>(NLS.bind( >- Messages.SearchResultPageElementLabel, new Object[] { >- parent.getName(), nodeName }), id, >- GeneralLabelProvider.getImageImpl(execTC), >- new NodeSearchResultElementAction(), execTC >- .getComment())); >- } >- monitor.worked(1); >- } >+ List<IExecTestCasePO> reuseList = >+ NodePM.getExecTestCases(specTC.getGuid(), parentProjectIDs); >+ INodePO[] reuse = new INodePO[reuseList.size()]; >+ reuseList.toArray(reuse); >+ monitor.beginTask("Searching for reusage of Test Case", reuseList.size()); //$NON-NLS-1$ >+ final List<SearchResultElement> reuseLoc = getResultElementsFromNodes( >+ monitor, reuse); > > setSearchResult(reuseLoc); > monitor.done(); >diff --git a/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/search/query/ShowWhereUsedTestSuiteQuery.java b/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/search/query/ShowWhereUsedTestSuiteQuery.java >new file mode 100644 >index 0000000..8dba63f >--- /dev/null >+++ b/org.eclipse.jubula.client.ui.rcp/src/org/eclipse/jubula/client/ui/rcp/search/query/ShowWhereUsedTestSuiteQuery.java >@@ -0,0 +1,96 @@ >+/******************************************************************************* >+ * 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.search.query; >+ >+import java.util.List; >+ >+import org.eclipse.core.runtime.IProgressMonitor; >+import org.eclipse.core.runtime.IStatus; >+import org.eclipse.core.runtime.Status; >+import org.eclipse.jubula.client.core.model.INodePO; >+import org.eclipse.jubula.client.core.model.IProjectPO; >+import org.eclipse.jubula.client.core.model.IRefTestSuitePO; >+import org.eclipse.jubula.client.core.model.ITestSuitePO; >+import org.eclipse.jubula.client.core.persistence.GeneralStorage; >+import org.eclipse.jubula.client.core.persistence.NodePM; >+import org.eclipse.jubula.client.ui.rcp.i18n.Messages; >+import org.eclipse.jubula.client.ui.rcp.search.result.BasicSearchResult.SearchResultElement; >+import org.eclipse.jubula.tools.constants.StringConstants; >+ >+ >+/** >+ * @author BREDEX GmbH >+ * @created 18.10.2013 >+ */ >+public class ShowWhereUsedTestSuiteQuery >+ extends AbstractShowWhereUsedQuery { >+ /** >+ * <code>m_specTC</code> >+ */ >+ private ITestSuitePO m_testSuite; >+ >+ /** >+ * @param testSuite >+ * the test suite to search the reuse for >+ */ >+ public ShowWhereUsedTestSuiteQuery(ITestSuitePO testSuite) { >+ super(null); >+ m_testSuite = testSuite; >+ } >+ >+ /** >+ * {@inheritDoc} >+ */ >+ public IStatus run(IProgressMonitor monitor) { >+ calculateReuseOfTestSuite(m_testSuite, monitor); >+ return Status.OK_STATUS; >+ } >+ >+ /** >+ * calculates and show the places of reuse for a test suite >+ * >+ * @param testSuite >+ * the test suite >+ * @param monitor >+ * the progress monitor >+ */ >+ private void calculateReuseOfTestSuite(ITestSuitePO testSuite, >+ IProgressMonitor monitor) { >+ IProjectPO currentProject = GeneralStorage.getInstance().getProject(); >+ List<IRefTestSuitePO> reuseList = NodePM.getInternalRefTestSuites( >+ testSuite.getGuid(), currentProject.getId()); >+ INodePO[] reuse = new INodePO[reuseList.size()]; >+ reuseList.toArray(reuse); >+ monitor.beginTask("Searching for reusage of Test Suite", reuseList.size()); //$NON-NLS-1$ >+ final List<SearchResultElement> reuseLoc = getResultElementsFromNodes( >+ monitor, reuse); >+ >+ setSearchResult(reuseLoc); >+ monitor.done(); >+ } >+ >+ /** >+ * {@inheritDoc} >+ */ >+ @SuppressWarnings("nls") >+ public String getLabel() { >+ StringBuilder sb = new StringBuilder(); >+ sb.append(getTimestamp()); >+ sb.append(StringConstants.COLON); >+ sb.append(StringConstants.SPACE); >+ sb.append(Messages.UIJobSearchingTestSuites); >+ sb.append(" \""); >+ sb.append(m_testSuite.getName()); >+ sb.append("\""); >+ return sb.toString(); >+ } >+ >+} >-- >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:
raimar.buehmann
:
iplog+
Actions:
View
|
Diff
Attachments on
bug 418300
:
236649
| 236752