Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kurtakov2018-05-10 11:02:34 +0000
committerAlexander Kurtakov2018-05-10 14:38:02 +0000
commit389ffcfe5cd48edcf6a364b7582a54cee2a0c289 (patch)
treef1b46bf83c1820038f1522a5a59a88e458529248
parent3d5357d8e2f92d6deaf22266188df8ddab6b9dc5 (diff)
downloadorg.eclipse.linuxtools-389ffcfe5cd48edcf6a364b7582a54cee2a0c289.tar.gz
org.eclipse.linuxtools-389ffcfe5cd48edcf6a364b7582a54cee2a0c289.tar.xz
org.eclipse.linuxtools-389ffcfe5cd48edcf6a364b7582a54cee2a0c289.zip
docker: Remove copy of RedDeer WorkbenchView.
Target platform contains new enough version so this is not needed. Change-Id: Ie1b369d2da272d16cca6a986d2b2b6f6dab8f314 Signed-off-by: Alexander Kurtakov <akurtako@redhat.com> Reviewed-on: https://git.eclipse.org/r/122402
-rw-r--r--containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/AbstractView.java343
-rw-r--r--containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerContainersTab.java3
-rw-r--r--containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerExplorerView.java3
-rw-r--r--containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerImageHierarchyTab.java3
-rw-r--r--containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerImagesTab.java3
-rw-r--r--containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerTerminal.java3
-rw-r--r--containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/EditDockerfile.java3
-rw-r--r--containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/WorkbenchView.java48
8 files changed, 12 insertions, 397 deletions
diff --git a/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/AbstractView.java b/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/AbstractView.java
deleted file mode 100644
index 40bb327069..0000000000
--- a/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/AbstractView.java
+++ /dev/null
@@ -1,343 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2016, 2017 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is 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:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.linuxtools.docker.reddeer.ui;
-
-import java.util.List;
-
-import org.eclipse.reddeer.common.condition.AbstractWaitCondition;
-import org.eclipse.reddeer.common.logging.Logger;
-import org.eclipse.reddeer.common.matcher.RegexMatcher;
-import org.eclipse.reddeer.common.util.Display;
-import org.eclipse.reddeer.common.util.ResultRunnable;
-import org.eclipse.reddeer.common.wait.WaitUntil;
-import org.eclipse.reddeer.common.wait.WaitWhile;
-import org.eclipse.reddeer.core.lookup.MenuLookup;
-import org.eclipse.reddeer.core.lookup.WidgetLookup;
-import org.eclipse.reddeer.core.matcher.WithTextMatcher;
-import org.eclipse.reddeer.core.matcher.WithTextMatchers;
-import org.eclipse.reddeer.swt.api.CTabItem;
-import org.eclipse.reddeer.swt.api.Menu;
-import org.eclipse.reddeer.swt.condition.ShellIsAvailable;
-import org.eclipse.reddeer.swt.impl.button.PushButton;
-import org.eclipse.reddeer.swt.impl.ctab.DefaultCTabItem;
-import org.eclipse.reddeer.swt.impl.menu.DefaultMenu;
-import org.eclipse.reddeer.swt.impl.menu.ShellMenu;
-import org.eclipse.reddeer.swt.impl.shell.DefaultShell;
-import org.eclipse.reddeer.swt.impl.tree.DefaultTreeItem;
-import org.eclipse.reddeer.workbench.api.View;
-import org.eclipse.reddeer.workbench.api.WorkbenchPart;
-import org.eclipse.reddeer.workbench.exception.WorkbenchLayerException;
-import org.eclipse.reddeer.workbench.handler.WorkbenchPartHandler;
-import org.eclipse.reddeer.workbench.impl.shell.WorkbenchShell;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.views.IViewCategory;
-import org.eclipse.ui.views.IViewDescriptor;
-import org.hamcrest.Matcher;
-
-/**
- * Abstract class for all View implementations
- *
- * @author rawagner
- *
- */
-public class AbstractView implements View {
-
- private static final String SHOW_VIEW = "Show View";
-
- protected static final Logger log = Logger.getLogger(AbstractView.class);
-
- protected String[] path;
-
- protected Matcher<String> viewNameMatcher;
-
- protected CTabItem cTabItem;
-
- /**
- * Initialize view with given viewToolTip. If view is opened than it will be
- * focused
- *
- * @param viewToolTip
- * of view to initialize
- */
- public AbstractView(String viewToolTip) {
- this(new WithTextMatcher(new RegexMatcher("\\*?" + viewToolTip)));
- }
-
- /**
- * Initialize view with given viewToolTip matcher. If view is opened than it
- * will be focused
- *
- * @param viewToolTip
- * matcher of view to initialize
- */
- public AbstractView(Matcher<String> viewToolTip) {
- this.viewNameMatcher = viewToolTip;
- path = findRegisteredViewPath(viewToolTip);
- cTabItem = getViewCTabItem();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.reddeer.workbench.api.WorkbenchPart#maximize()
- */
- @Override
- public void maximize() {
- activate();
- log.info("Maximize view");
- WorkbenchPartHandler.getInstance().performAction(ActionFactory.MAXIMIZE);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.reddeer.workbench.api.WorkbenchPart#minimize()
- */
- @Override
- public void minimize() {
- activate();
- log.info("Minimize view");
- WorkbenchPartHandler.getInstance().performAction(ActionFactory.MINIMIZE);
- }
-
- /**
- * {@link WorkbenchPart.restore}
- */
- @Override
- public void restore() {
- activate();
- log.info("Restore view");
- // in order to restore maximized window maximized action has to be
- // called
- WorkbenchPartHandler.getInstance().performAction(ActionFactory.MAXIMIZE);
- }
-
- /**
- * {@link WorkbenchPart.activate}
- */
- @Override
- public void activate() {
- log.info("Activate view " + getTitle());
- if (!isOpen()) {
- open();
- }
- cTabItemIsNotNull();
- getViewCTabItem().activate();
-// ViewHandler.getInstance().focusChildControl();
- }
-
- /**
- * Gets the view c tab item.
- *
- * @return the view c tab item
- */
- protected CTabItem getViewCTabItem(){
- if (cTabItem != null && cTabItem.isDisposed()){
- cTabItem = null;
- }
- if (cTabItem == null) {
- if (!isOpen()){
- return cTabItem;
- }
- log.debug("Looking up CTabItem with text " + getTitle());
- cTabItem = new DefaultCTabItem(new WorkbenchShell(), viewNameMatcher);
- }
- return cTabItem;
- }
-
- private String[] findRegisteredViewPath(Matcher<String> title) {
-
- IViewDescriptor viewDescriptor = findView(title);
- IViewCategory categoryDescriptor = findViewCategory(viewDescriptor);
- return pathForView(viewDescriptor, categoryDescriptor);
-
- }
-
- private IViewDescriptor findView(Matcher<String> title) {
- IViewDescriptor[] views = PlatformUI.getWorkbench().getViewRegistry()
- .getViews();
- for (IViewDescriptor view : views) {
- if (title.matches(view.getLabel())) {
- return view;
- }
- }
-
- throw new WorkbenchLayerException("View \"" + title
- + "\" is not registered in workbench");
- }
-
- private IViewCategory findViewCategory(IViewDescriptor viewDescriptor) {
- IViewCategory[] categories = PlatformUI.getWorkbench()
- .getViewRegistry().getCategories();
- for (IViewCategory category : categories) {
- for (IViewDescriptor ivd : category.getViews()) {
- if (ivd.getId().equals(viewDescriptor.getId())) {
- return category;
- }
- }
- }
-
- throw new WorkbenchLayerException("View \"" + viewDescriptor.getLabel()
- + "\" is not registered in any category");
- }
-
- private String[] pathForView(IViewDescriptor viewDescriptor,
- IViewCategory categoryDescriptor) {
- String[] path = new String[2];
- path[0] = categoryDescriptor.getLabel();
- path[1] = viewDescriptor.getLabel();
- return path;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.reddeer.workbench.api.WorkbenchPart#close()
- */
- @Override
- public void close() {
- activate();
- log.info("Close view");
- cTabItem.close();
- cTabItem = null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.reddeer.workbench.api.View#open()
- */
- @Override
- public void open() {
- log.info("Open view " + getTitle());
- // view is not opened, it has to be opened via menu
- if (getViewCTabItem() == null){
- log.info("Open " + getTitle() + " view via menu.");
- openViaMenu();
- }
- activate();
- }
-
- private void openViaMenu() {
- WithTextMatchers m = new WithTextMatchers(new RegexMatcher[] {
- new RegexMatcher("Window.*"),
- new RegexMatcher("Show View.*"),
- new RegexMatcher("Other...*") });
- new ShellMenu().getItem(m.getMatchers()).select();
- new DefaultShell(SHOW_VIEW);
- new DefaultTreeItem(path).select();
- new PushButton("Open").click();
- new WaitWhile(new ShellIsAvailable(SHOW_VIEW));
- new WaitUntil(new ViewCTabIsAvailable());
- }
-
- private class ViewCTabIsAvailable extends AbstractWaitCondition {
-
- @Override
- public boolean test() {
- try {
- return getViewCTabItem() != null;
- } catch (Exception e){
- return false;
- }
- }
-
- @Override
- public String description() {
- return "view's CTabItem is available";
- }
- }
-
- private void cTabItemIsNotNull() {
- log.debug("View's cTabItem is found: "
- + (cTabItem != null ? true : false));
- if (cTabItem == null) {
- throw new WorkbenchLayerException("Cannot perform the specified "
- + "operation before initialization "
- + "provided by open method");
- }
- }
-
- /**
- * Returns the title of the view.
- *
- * @return Title of the view
- */
- public String getTitle() {
- return path[path.length - 1];
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.reddeer.workbench.api.View#isVisible()
- */
- public boolean isVisible() {
- return getViewCTabItem().isShowing();
- }
-
- private String getCTabText(final org.eclipse.swt.custom.CTabItem tabItem){
- return Display.syncExec(new ResultRunnable<String>() {
- @Override
- public String run() {
- return tabItem.getText();
- }
- });
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.reddeer.workbench.api.View#isOpened()
- */
- @Override
- public boolean isOpen() {
- List<org.eclipse.swt.custom.CTabItem> tabs = WidgetLookup.getInstance().activeWidgets(new WorkbenchShell(), org.eclipse.swt.custom.CTabItem.class);
- for (org.eclipse.swt.custom.CTabItem tab : tabs){
- String text = getCTabText(tab);
- if (viewNameMatcher.matches(text)){
- return true;
- }
- }
- return false;
- }
-
- /**
- * Checks if the view is active. This method is not supported due to a bug.
- * See https://bugs.eclipse.org/bugs/show_bug.cgi?id=468948 for details.
- *
- * @return true, if is active
- * @throws UnsupportedOperationException the unsupported operation exception
- */
- public boolean isActive(){
- throw new UnsupportedOperationException("Method isActive is not supported due to the bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=468948");
- }
-
- @Override
- public String getTitleToolTip() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Image getTitleImage() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Control getControl() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Menu getContextMenu() {
- Control registeredControl = cTabItem.getControl();
- if (registeredControl == null) {
- throw new WorkbenchLayerException("No control is registered with the workbench");
- }
- return new DefaultMenu(MenuLookup.getInstance().getControlMenu(registeredControl));
- }
-
-
-}
diff --git a/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerContainersTab.java b/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerContainersTab.java
index 2e5a20528e..33b406b766 100644
--- a/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerContainersTab.java
+++ b/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerContainersTab.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2017 Red Hat, Inc.
+ * Copyright (c) 2017, 2018 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
@@ -18,6 +18,7 @@ import org.eclipse.reddeer.swt.api.TableItem;
import org.eclipse.reddeer.swt.impl.table.DefaultTable;
import org.eclipse.reddeer.swt.impl.text.DefaultText;
import org.eclipse.reddeer.swt.impl.toolbar.DefaultToolItem;
+import org.eclipse.reddeer.workbench.impl.view.WorkbenchView;
/**
*
diff --git a/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerExplorerView.java b/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerExplorerView.java
index c1578b0b91..58f2a37ca5 100644
--- a/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerExplorerView.java
+++ b/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerExplorerView.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2017 Red Hat, Inc.
+ * Copyright (c) 2017, 2018 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
@@ -26,6 +26,7 @@ import org.eclipse.reddeer.jface.exception.JFaceLayerException;
import org.eclipse.reddeer.jface.handler.TreeViewerHandler;
import org.eclipse.reddeer.swt.api.TreeItem;
import org.eclipse.reddeer.swt.impl.tree.DefaultTree;
+import org.eclipse.reddeer.workbench.impl.view.WorkbenchView;
/**
*
diff --git a/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerImageHierarchyTab.java b/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerImageHierarchyTab.java
index f9ad8a017e..48f71664ba 100644
--- a/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerImageHierarchyTab.java
+++ b/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerImageHierarchyTab.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2017 Red Hat, Inc.
+ * Copyright (c) 2017, 2018 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
@@ -16,6 +16,7 @@ import java.util.List;
import org.eclipse.reddeer.eclipse.exception.EclipseLayerException;
import org.eclipse.reddeer.swt.api.TreeItem;
import org.eclipse.reddeer.swt.impl.tree.DefaultTree;
+import org.eclipse.reddeer.workbench.impl.view.WorkbenchView;
/**
*
diff --git a/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerImagesTab.java b/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerImagesTab.java
index e7ab47f1e6..e038451760 100644
--- a/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerImagesTab.java
+++ b/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerImagesTab.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2017 Red Hat, Inc.
+ * Copyright (c) 2017, 2018 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
@@ -27,6 +27,7 @@ import org.eclipse.reddeer.swt.impl.table.DefaultTable;
import org.eclipse.reddeer.swt.impl.text.DefaultText;
import org.eclipse.reddeer.swt.impl.text.LabeledText;
import org.eclipse.reddeer.swt.impl.toolbar.DefaultToolItem;
+import org.eclipse.reddeer.workbench.impl.view.WorkbenchView;
/**
*
diff --git a/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerTerminal.java b/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerTerminal.java
index ad4b51a3b3..9367253c57 100644
--- a/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerTerminal.java
+++ b/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/DockerTerminal.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2017 Red Hat, Inc.
+ * Copyright (c) 2017, 2018 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
@@ -14,6 +14,7 @@ package org.eclipse.linuxtools.docker.reddeer.ui;
import org.eclipse.reddeer.swt.api.CTabFolder;
import org.eclipse.reddeer.swt.api.CTabItem;
import org.eclipse.reddeer.swt.impl.ctab.DefaultCTabFolder;
+import org.eclipse.reddeer.workbench.impl.view.WorkbenchView;
/**
*
diff --git a/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/EditDockerfile.java b/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/EditDockerfile.java
index 6397f48d05..4361c82fef 100644
--- a/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/EditDockerfile.java
+++ b/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/EditDockerfile.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2017 Red Hat, Inc.
+ * Copyright (c) 2017, 2018 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
@@ -13,6 +13,7 @@ package org.eclipse.linuxtools.docker.reddeer.ui;
import org.eclipse.reddeer.swt.impl.ctab.DefaultCTabFolder;
import org.eclipse.reddeer.swt.impl.styledtext.DefaultStyledText;
+import org.eclipse.reddeer.workbench.impl.view.WorkbenchView;
import org.eclipse.reddeer.core.reference.ReferencedComposite;
import org.eclipse.reddeer.swt.api.CTabFolder;
import org.eclipse.reddeer.swt.api.CTabItem;
diff --git a/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/WorkbenchView.java b/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/WorkbenchView.java
deleted file mode 100644
index f242f2d6f8..0000000000
--- a/containers/org.eclipse.linuxtools.docker.reddeer/src/org/eclipse/linuxtools/docker/reddeer/ui/WorkbenchView.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2016, 2017 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is 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:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.linuxtools.docker.reddeer.ui;
-
-import org.eclipse.reddeer.workbench.api.View;
-
-
-/**
- * Represents general workbench view.
- *
- * @author jjankovi
- *
- */
-public class WorkbenchView extends AbstractView implements View {
-
- /**
- * Initialize view with given viewToolTip.
- * If view is opened than it will be focused
- *
- * @param viewTitle the view title
- */
- public WorkbenchView(String viewTitle) {
- super(viewTitle);
- }
-
- /**
- * Initialize view with given viewTitle and category.
- * If view is opened than it will be focused
- *
- * @param category of view
- * @param viewTitle title of view
- */
- public WorkbenchView(String category, String viewTitle) {
- super(viewTitle);
- path = new String[2];
- path[0] = category;
- path[1] = viewTitle;
- }
-
-}

Back to the top