package rocks.inspectit.ui.rcp.editor.testers; import org.eclipse.core.expressions.PropertyTester; import rocks.inspectit.ui.rcp.editor.root.AbstractRootEditor; import rocks.inspectit.ui.rcp.editor.root.SubViewClassificationController.SubViewClassification; import rocks.inspectit.ui.rcp.editor.table.TableSubView; import rocks.inspectit.ui.rcp.editor.tree.TreeSubView; /** * Tester for testing the sub view classification. The tester can test if the view is master or * slave. * * @author Ivan Senic * */ public class SubViewClassificationTester extends PropertyTester { /** * {@inheritDoc} */ @Override public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { if (receiver instanceof AbstractRootEditor) { AbstractRootEditor rootEditor = (AbstractRootEditor) receiver; if (rootEditor.getActiveSubView() instanceof TableSubView) { TableSubView tableSubView = (TableSubView) rootEditor.getActiveSubView(); if ("master".equals(expectedValue)) { if (tableSubView.getTableInputController().getSubViewClassification() == SubViewClassification.MASTER) { return true; } } else if ("slave".equals(expectedValue)) { if (tableSubView.getTableInputController().getSubViewClassification() == SubViewClassification.SLAVE) { return true; } } } else if (rootEditor.getActiveSubView() instanceof TreeSubView) { TreeSubView treeSubView = (TreeSubView) rootEditor.getActiveSubView(); if ("master".equals(expectedValue)) { if (treeSubView.getTreeInputController().getSubViewClassification() == SubViewClassification.MASTER) { return true; } } else if ("slave".equals(expectedValue)) { if (treeSubView.getTreeInputController().getSubViewClassification() == SubViewClassification.SLAVE) { return true; } } } } return false; } }