Example usage for org.eclipse.jface.viewers TreeViewer setSelection

List of usage examples for org.eclipse.jface.viewers TreeViewer setSelection

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TreeViewer setSelection.

Prototype

@Override
public void setSelection(ISelection selection, boolean reveal) 

Source Link

Document

Sets a new selection for this viewer and optionally makes it visible.

Usage

From source file:com.aptana.deploy.wizard.DeployWizardPage.java

License:Open Source License

/**
 * Selects the wizard category and wizard in this page that were selected last time this page was used. If a
 * category or wizard that was previously selected no longer exists then it is ignored.
 *///from www .  j  a va 2  s.  c  o  m
protected void selectPreviouslySelected(String setting, IWizardCategory wizardCategories,
        final TreeViewer viewer) {
    String selectedId = getDialogSettings().get(setting);
    if (selectedId == null) {
        return;
    }

    if (wizardCategories == null) {
        return;
    }

    Object selected = wizardCategories.findCategory(new Path(selectedId));

    if (selected == null) {
        selected = wizardCategories.findWizard(selectedId);

        if (selected == null) {
            // if we cant find either a category or a wizard, abort.
            return;
        }
    }

    viewer.setSelection(new StructuredSelection(selected), true);
}

From source file:com.aptana.editor.js.views.JSIndexViewActionProvider.java

License:Open Source License

/**
 * @param view/*from  w  w w  .  j a  va2  s  .  c  o  m*/
 * @param typeNames
 * @return
 */
protected IAction createAction(final IndexView view, final List<String> typeNames) {
    IAction action = new Action() {
        @Override
        public void run() {
            TreeViewer treeViewer = view.getTreeViewer();

            if (treeViewer != null) {
                Object input = treeViewer.getInput();

                if (input instanceof IProject) {
                    IProject project = (IProject) input;

                    Index index = getIndexManager().getIndex(project.getLocationURI());
                    JSIndexQueryHelper queryHelper = new JSIndexQueryHelper();
                    Collection<TypeElement> types = queryHelper.getTypes(index, typeNames.get(0), true);
                    List<ClassElement> classes = JSTypeUtil.typesToClasses(types);

                    if (!CollectionsUtil.isEmpty(classes)) {
                        ClassElement c = classes.get(0);

                        treeViewer.setSelection(new StructuredSelection(c), true);
                    }
                }
            }
        }
    };

    action.setText(Messages.JSIndexViewActionProvider_JumpToType);

    return action;
}

From source file:com.aptana.explorer.internal.ui.FilteringProjectView.java

License:Open Source License

/**
 * Restores the expansion and selection state of given project.
 * /*w  w w .j  av a 2  s .com*/
 * @param project
 *            the {@link IProject}
 * @see #restoreStateJob(IProject)
 * @see #saveState(IMemento)
 * @since 2.0
 */
protected void restoreState(IProject project) {
    TreeViewer viewer = getCommonViewer();
    Control control = viewer.getControl();
    if (control == null || control.isDisposed()) {
        return;
    }

    IContainer container = ResourcesPlugin.getWorkspace().getRoot();
    List<String> expansions = projectExpansions.get(project);
    List<String> selections = projectSelections.get(project);
    control.setRedraw(false);
    // FIXME Reconstruct filter into IResource
    String filter = projectFilters.get(project);
    if (filter == null || filter.length() == 0) {
        if (currentFilter != null) {
            clearFilter();
        }
    } else {
        IResource filterResource = project.getWorkspace().getRoot()
                .getFileForLocation(Path.fromPortableString(filter));
        setFilter(filterResource);
    }
    if (selections != null) {
        List<IResource> elements = new ArrayList<IResource>();
        for (String selectionPath : selections) {
            IResource element = container.findMember(selectionPath);
            if (element != null) {
                elements.add(element);
            }
        }
        viewer.setSelection(new StructuredSelection(elements), true);
    }
    if (expansions != null) {
        List<IResource> elements = new ArrayList<IResource>();
        for (String expansionPath : expansions) {
            IResource element = container.findMember(expansionPath);
            if (element != null) {
                elements.add(element);
            }
        }
        viewer.setExpandedElements(elements.toArray());
    }
    control.setRedraw(true);
}

From source file:com.ebmwebsourcing.petals.common.extensions.internal.wizards.JavaToWSDLWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {

    Composite container = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout(2, false);
    container.setLayout(layout);/*from   w ww  .j av  a  2s .  c  o m*/
    container.setLayoutData(new GridData(GridData.FILL_BOTH));

    // Container selection
    Label l = new Label(container, SWT.NONE);
    l.setText("Select the Java project that contains the classes.");
    GridData layoutData = new GridData();
    layoutData.horizontalSpan = 2;
    l.setLayoutData(layoutData);

    TreeViewer viewer = new TreeViewer(container, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER);
    layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.horizontalSpan = 2;
    viewer.getTree().setLayoutData(layoutData);

    viewer.setLabelProvider(new WorkbenchLabelProvider());
    viewer.setContentProvider(new WorkbenchContentProvider() {
        @Override
        public Object[] getChildren(Object o) {

            if (o instanceof IWorkspaceRoot) {
                IProject[] projects = ((IWorkspaceRoot) o).getProjects();
                ArrayList<IJavaProject> result = new ArrayList<IJavaProject>();
                for (IProject project : projects) {

                    try {
                        if (!project.isOpen() || !project.hasNature(JavaCore.NATURE_ID))
                            continue;

                    } catch (CoreException e) {
                        PetalsCommonWsdlExtPlugin.log(e, IStatus.WARNING);
                        continue;
                    }

                    IJavaProject p = JavaCore.create(project);
                    result.add(p);
                }

                return result.toArray();
            }

            return new Object[0];
        }
    });

    // Set page input
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    viewer.setInput(root);
    if (this.javaProject != null) {
        viewer.setSelection(new StructuredSelection(this.javaProject), true);
        viewer.expandToLevel(this.javaProject, 1);
    }

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {

            IStructuredSelection s = (IStructuredSelection) event.getSelection();
            if (!s.isEmpty())
                JavaToWSDLWizardPage.this.javaProject = (IJavaProject) s.getFirstElement();
            else
                JavaToWSDLWizardPage.this.javaProject = null;
            validate();
        }
    });

    viewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            openClassSelectionDialog();
        }
    });

    // Class field
    l = new Label(container, SWT.NONE);
    l.setText("Select the Java interface.");
    layoutData = new GridData();
    layoutData.horizontalSpan = 2;
    layoutData.verticalIndent = 15;
    l.setLayoutData(layoutData);

    this.classText = new Text(container, SWT.BORDER | SWT.SINGLE);
    this.classText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    this.classText.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            JavaToWSDLWizardPage.this.className = JavaToWSDLWizardPage.this.classText.getText();
            validate();
        }
    });

    Button b = new Button(container, SWT.PUSH);
    b.setText("Browse...");
    b.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            openClassSelectionDialog();
        }

        @Override
        public void widgetSelected(SelectionEvent e) {
            openClassSelectionDialog();
        }
    });

    this.classText.setFocus();
    setControl(container);
}

From source file:com.ebmwebsourcing.petals.common.extensions.internal.wizards.WSDLtoJavaWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {

    Composite container = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    container.setLayout(layout);//from  www.ja va  2s. c  o  m
    container.setLayoutData(new GridData(GridData.FILL_BOTH));

    // WSDL field
    Label l = new Label(container, SWT.NONE);
    l.setText("WSDL URI:");
    l.setLayoutData(new GridData());

    final Text text = new Text(container, SWT.BORDER | SWT.SINGLE);
    text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    text.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent e) {
            String uri = text.getText();
            if (uri.trim().length() == 0)
                return;

            try {
                WSDLtoJavaWizardPage.this.wsdlUri = UriAndUrlHelper.urlToUri(uri);

            } catch (Exception e1) {
                WSDLtoJavaWizardPage.this.wsdlUri = null;
            }

            validate();
        }
    });

    Composite buttons = new Composite(container, SWT.NONE);
    layout = new GridLayout(2, false);
    layout.marginHeight = layout.marginWidth = 0;
    buttons.setLayout(layout);

    Button b = new Button(buttons, SWT.PUSH);
    b.setText("Browse File System");
    b.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            widgetSelected(e);
        }

        @Override
        public void widgetSelected(SelectionEvent e) {

            FileDialog dlg = new FileDialog(text.getShell(), SWT.SINGLE);
            dlg.setFilterNames(new String[] { "WSDL (*.wsdl)" }); //$NON-NLS-1$
            dlg.setFilterExtensions(new String[] { "*.wsdl" }); //$NON-NLS-1$
            String path = dlg.open();

            if (path != null) {
                text.setText(new File(path).toURI().toString());
                text.setSelection(path.length());
                text.setFocus();
            }
        }
    });

    b = new Button(buttons, SWT.PUSH);
    b.setText("Browse Workspace...");
    b.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            widgetSelected(e);
        }

        @Override
        public void widgetSelected(SelectionEvent e) {

            WorkspaceExplorer dlg = new WorkspaceExplorer(getShell(), new String[] { "wsdl" });
            if (dlg.open() == Window.OK) {
                IResource res = dlg.getSelectedResource();
                text.setText(new File(res.getLocation().toOSString()).toURI().toString());
                text.setSelection(text.getText().length());
                text.setFocus();
            }
        }
    });

    // Container selection
    l = new Label(container, SWT.NONE);
    l.setText("Select the output location.");
    GridData layoutData = new GridData();
    layoutData.verticalIndent = 15;
    l.setLayoutData(layoutData);

    TreeViewer viewer = new TreeViewer(container, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER);
    layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.heightHint = 200;
    viewer.getTree().setLayoutData(layoutData);
    viewer.setLabelProvider(new WorkbenchLabelProvider());

    viewer.setContentProvider(new WorkbenchContentProvider() {
        @Override
        public Object[] getChildren(Object o) {

            if (o instanceof IContainer) {
                IResource[] members;
                try {
                    members = ((IContainer) o).members();
                } catch (Exception e) {
                    return new Object[0];
                }

                ArrayList<IResource> results = new ArrayList<IResource>();
                for (IResource member : members) {
                    if (member instanceof IContainer)
                        results.add(member);
                }

                return results.toArray();
            }

            return new Object[0];
        }
    });

    // Set page input
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    viewer.setInput(root);
    if (this.outputContainer != null) {
        viewer.setSelection(new StructuredSelection(this.outputContainer), true);
        viewer.expandToLevel(this.outputContainer, 1);
    }

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {

            IStructuredSelection s = (IStructuredSelection) event.getSelection();
            if (!s.isEmpty())
                WSDLtoJavaWizardPage.this.outputContainer = (IContainer) s.getFirstElement();
            else
                WSDLtoJavaWizardPage.this.outputContainer = null;
            validate();
        }
    });

    text.setFocus();
    setControl(container);
}

From source file:com.ebmwebsourcing.petals.common.internal.provisional.utils.ResourceUtils.java

License:Open Source License

/**
 * Selects a resource in a view./*from  w w  w  . j  a  va2s . co m*/
 * <p>
 * This method can be called from a non-UI thread.
 * </p>
 *
 * @param expand true to expand the elements
 * @param viewId the view ID (not null)
 * @param resources the resources to select
 */
public static void selectResourceInView(final boolean expand, final String viewId, final List<?> resources) {

    Display display = Display.getCurrent();
    if (display == null)
        display = Display.getDefault();

    if (display != null && resources != null) {
        display.syncExec(new Runnable() {
            @Override
            public void run() {

                try {
                    IViewPart viewPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
                            .showView(viewId);

                    if (viewPart instanceof CommonNavigator) {
                        if (expand) {
                            for (Object res : resources)
                                ((CommonNavigator) viewPart).getCommonViewer().reveal(res);
                        }

                        ((CommonNavigator) viewPart).getCommonViewer()
                                .setSelection(new StructuredSelection(resources), true);

                        // Alternative, but less options
                        // IStructuredSelection s = new StructuredSelection( resources );
                        // viewPart.getSite().getSelectionProvider().setSelection( s );

                    } else {
                        try {
                            Method getTreeViewerMethod = viewPart.getClass().getMethod("getTreeViewer");
                            TreeViewer viewer = (TreeViewer) getTreeViewerMethod.invoke(viewPart);
                            if (viewer != null)
                                viewer.setSelection(new StructuredSelection(resources), expand);

                        } catch (Exception e) {
                            viewPart.getViewSite().getSelectionProvider()
                                    .setSelection(new StructuredSelection(resources));
                        }
                    }

                } catch (PartInitException e) {
                    PetalsCommonPlugin.log(e, IStatus.WARNING);

                } catch (Exception e) {
                    PetalsCommonPlugin.log(e, IStatus.WARNING);
                }
            }
        });
    }
}

From source file:com.ebmwebsourcing.petals.common.internal.wizards.JbiXmlNewWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {

    // Create the composite container and define its layout
    final Composite container = new Composite(parent, SWT.NONE);

    GridLayout layout = new GridLayout();
    layout.marginLeft = layout.marginRight = 15;
    layout.marginTop = 15;//ww  w.  j  a  v  a 2s .  c  o m
    container.setLayout(layout);
    container.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    // Container viewer
    new Label(container, SWT.NONE).setText(Messages.NewJbiXmlWizardPage_2);
    final Text folderPathText = new Text(container, SWT.SINGLE | SWT.BORDER);
    folderPathText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    TreeViewer viewer = new TreeViewer(container, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.HIDE_SELECTION);
    GridData layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.heightHint = 100;
    viewer.getTree().setLayoutData(layoutData);
    viewer.setLabelProvider(new WorkbenchLabelProvider());
    viewer.setContentProvider(new WorkbenchContentProvider() {

        /*
         * (non-Javadoc)
         * @see org.eclipse.ui.model.BaseWorkbenchContentProvider
         * #getChildren(java.lang.Object)
         */
        @Override
        public Object[] getChildren(Object o) {

            if (o instanceof IProject && !((IProject) o).isOpen())
                return new Object[0];

            List<IResource> children = new ArrayList<IResource>();
            if (o instanceof IContainer) {
                try {
                    IResource[] members = ((IContainer) o).members();
                    for (IResource member : members) {
                        if (member instanceof IContainer
                                || (member instanceof IFile && member.getName().equals("jbi.xml"))) //$NON-NLS-1$
                            children.add(member);
                    }
                } catch (CoreException e) {
                    PetalsCommonPlugin.log(e, IStatus.ERROR);
                }
            }

            return children.toArray(new IResource[0]);
        }

        /*
         * (non-Javadoc)
         * @see org.eclipse.ui.model.BaseWorkbenchContentProvider
         * #hasChildren(java.lang.Object)
         */
        @Override
        public boolean hasChildren(Object element) {
            return getChildren(element).length > 0;
        }
    });

    // Set page input
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    viewer.setInput(root);
    if (this.selectedContainer != null) {
        viewer.setSelection(new StructuredSelection(this.selectedContainer), true);
        viewer.expandToLevel(this.selectedContainer, 1);
    }

    viewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            Object o = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (o instanceof IContainer)
                JbiXmlNewWizardPage.this.selectedContainer = (IContainer) o;
            else
                JbiXmlNewWizardPage.this.selectedContainer = ((IFile) o).getParent();

            String path = JbiXmlNewWizardPage.this.selectedContainer.getFullPath().toOSString();
            String fileSeparator = System.getProperty("file.separator"); //$NON-NLS-1$
            if (path.startsWith(fileSeparator))
                path = path.substring(fileSeparator.length());
            folderPathText.setText(path);
            validate();
        }
    });

    // Overwrite existing file ?
    final Button overwriteButton = new Button(container, SWT.CHECK);
    overwriteButton.setText(Messages.NewJbiXmlWizardPage_5);
    overwriteButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            JbiXmlNewWizardPage.this.overwriteExistingFile = overwriteButton.getSelection();
            validate();
        }
    });

    // Set control
    setControl(container);
}

From source file:com.ebmwebsourcing.petals.studio.dev.properties.internal.wizards.GenerateConstantsWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {

    // Create the composite container and define its layout
    final Composite container = new Composite(parent, SWT.NONE);
    GridLayoutFactory.swtDefaults().extendedMargins(15, 15, 15, 10).numColumns(2).applyTo(container);
    container.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    // Container viewer
    Label l = new Label(container, SWT.NONE);
    l.setText("Select the output directory to generate the Java constants.");
    GridDataFactory.swtDefaults().span(2, 1).applyTo(l);

    TreeViewer viewer = new TreeViewer(container, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.HIDE_SELECTION);
    GridData layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.heightHint = 100;//w ww.  ja v  a2s  .  c om
    layoutData.horizontalSpan = 2;
    viewer.getTree().setLayoutData(layoutData);
    viewer.setLabelProvider(new WorkbenchLabelProvider());
    viewer.setContentProvider(new WorkbenchContentProvider() {

        /*
         * (non-Javadoc)
         * @see org.eclipse.ui.model.BaseWorkbenchContentProvider
         * #getChildren(java.lang.Object)
         */
        @Override
        public Object[] getChildren(Object o) {

            List<Object> children = new ArrayList<Object>();
            try {
                if (o instanceof IJavaProject) {
                    for (IPackageFragmentRoot root : ((IJavaProject) o).getPackageFragmentRoots()) {
                        if (root.getResource() instanceof IContainer)
                            children.add(root);
                    }

                } else if (o instanceof IWorkspaceRoot) {
                    for (IProject p : ((IWorkspaceRoot) o).getProjects()) {
                        if (!p.isAccessible() || !p.hasNature(JavaCore.NATURE_ID))
                            continue;

                        IJavaProject jp = JavaCore.create(p);
                        if (jp != null)
                            children.add(jp);
                    }
                }

            } catch (CoreException e) {
                PetalsStudioDevPlugin.log(e, IStatus.ERROR);
            }

            return children.toArray(new Object[0]);
        }

        /*
         * (non-Javadoc)
         * @see org.eclipse.ui.model.BaseWorkbenchContentProvider
         * #hasChildren(java.lang.Object)
         */
        @Override
        public boolean hasChildren(Object element) {
            return getChildren(element).length > 0;
        }
    });

    // Set page input
    viewer.setInput(ResourcesPlugin.getWorkspace().getRoot());
    if (this.originalSelection != null) {
        try {
            IJavaProject jp = JavaCore.create(this.originalSelection);
            for (IPackageFragmentRoot root : jp.getPackageFragmentRoots()) {
                if (root.getResource() instanceof IContainer) {
                    GenerateConstantsWizardPage.this.target = root;
                    break;
                }
            }

        } catch (JavaModelException e) {
            PetalsStudioDevPlugin.log(e, IStatus.ERROR, "This should not happen (check in the handler).");
        }
    }

    if (this.target != null) {
        viewer.setSelection(new StructuredSelection(this.target), true);
        viewer.expandToLevel(this.target, 1);
        viewer.getTree().notifyListeners(SWT.Selection, new Event());
    }

    // Java meta
    new Label(container, SWT.NONE).setText("Java Package:");
    final Text packageText = new Text(container, SWT.SINGLE | SWT.BORDER);
    packageText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    packageText.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            GenerateConstantsWizardPage.this.javaPackage = ((Text) e.widget).getText().trim();
            validate();
        }
    });

    new Label(container, SWT.NONE).setText("Java Class Name:");
    final Text classText = new Text(container, SWT.SINGLE | SWT.BORDER);
    classText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    classText.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            GenerateConstantsWizardPage.this.className = ((Text) e.widget).getText().trim();
            validate();
        }
    });

    // Add the missing listeners
    viewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {

            Object o = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (o instanceof IPackageFragmentRoot) {

                GenerateConstantsWizardPage.this.target = (IPackageFragmentRoot) o;
                String pName = GenerateConstantsWizardPage.this.target.getJavaProject().getProject().getName();
                packageText.setText(pName.replaceAll("-", ".") + ".generated");

                int index = pName.lastIndexOf('.') + 1;
                if (index <= 0 || index > pName.length())
                    pName = "Default";
                else
                    pName = pName.substring(index);
                classText.setText(pName);

            } else {
                GenerateConstantsWizardPage.this.target = null;
            }
        }
    });

    // Set control
    setControl(container);
}

From source file:com.mentor.nucleus.bp.core.test.I810_SlowDeletionTestGenerics.java

License:Open Source License

public void testSlowDeletion() {
    IWorkbenchPage page = TestUtil.showBridgePointPerspective();
    ExplorerView explorer = null;/*w w w  .j  a va  2s .c  o  m*/
    Display display = Display.getCurrent();
    while (display.readAndDispatch())
        ;
    Package_c[] domains = Package_c.PackageInstances(modelRoot);

    try {
        explorer = (ExplorerView) page.showView("com.mentor.nucleus.bp.ui.explorer.ExplorerView", null, //$NON-NLS-1$
                IWorkbenchPage.VIEW_CREATE);
    } catch (PartInitException e) {
        fail(e.toString());
    }
    TreeViewer viewer = explorer.getTreeViewer();
    viewer.expandToLevel(2);
    UIUtil.refreshViewer(viewer);
    while (display.readAndDispatch())
        ;
    // select the only domain node that should be present
    viewer.setSelection(new StructuredSelection(new Object[] { domains[0] }), false);
    while (display.readAndDispatch()) {
    }

    long startTime = System.currentTimeMillis();
    TransactionManager.getSingleton().disableDialog = true;
    explorer.doDelete();
    TransactionManager.getSingleton().disableDialog = false;
    while (display.readAndDispatch()) {
    }

    long endTime = System.currentTimeMillis();
    System.out.println("Deletion Took : " + (float) (endTime - startTime) / 1000 + " sec");//$NON-NLS-1$//$NON-NLS-2$
}

From source file:com.mentor.nucleus.bp.io.mdl.test.DataUpgradeCreatesNoDeltasTestGenerics.java

License:Open Source License

public void testUpgradeCreatesNoDeltas() throws Exception {
    loadProject("CommunicationTestModel");
    for (int i = 0; i < unaffectedDomNames.length; i++) {
        loadProject(unaffectedDomNames[i]);
    }/* ww w  . j  a va 2 s .  co  m*/
    Display display = Display.getCurrent();
    while (display.readAndDispatch())
        ;
    m_sys = getSystemModel("CommunicationTestModel");
    Package_c dom = Package_c.getOneEP_PKGOnR1405(m_sys, new ClassQueryInterface_c() {
        public boolean evaluate(Object candidate) {
            return ((Package_c) candidate).getName().equals("CommunicationTestModel");
        }
    });
    assertNotNull("No test Domain found", dom);

    Package_c[] unaffectedDoms = new Package_c[unaffectedDomNames.length];
    for (int i = 0; i < unaffectedDomNames.length; i++) {
        final String name = unaffectedDomNames[i];
        m_sys = getSystemModel(name);
        unaffectedDoms[i] = Package_c.getOneEP_PKGOnR1405(m_sys, new ClassQueryInterface_c() {
            public boolean evaluate(Object candidate) {
                return ((Package_c) candidate).getName().equals(name);
            }
        });
        assertNotNull("No reference Domain found", unaffectedDoms[i]);
    }
    Package_c ss = Package_c.getOneEP_PKGOnR8001(PackageableElement_c.getManyPE_PEsOnR8000(dom),
            new ClassQueryInterface_c() {
                public boolean evaluate(Object candidate) {
                    return ((Package_c) candidate).getName().equals("Subsystem");
                }
            });
    assertNotNull("No Subsystem found", ss);

    IWorkbenchPage page = TestUtil.showBridgePointPerspective();
    ExplorerView explorer = null;
    try {
        explorer = (ExplorerView) page.showView("com.mentor.nucleus.bp.ui.explorer.ExplorerView", null, //$NON-NLS-1$
                IWorkbenchPage.VIEW_CREATE);
    } catch (PartInitException e) {
        fail(e.toString());
    }
    TreeViewer viewer = explorer.getTreeViewer();
    viewer.expandToLevel(2);
    UIUtil.refreshViewer(viewer);
    while (display.readAndDispatch())
        ;
    // select the only domain node that should be present
    viewer.setSelection(new StructuredSelection(new Object[] { ss }), false);
    while (display.readAndDispatch()) {
    }
    TransactionManager manager = getSystemModel().getTransactionManager();
    DeltaCheckingTransactionListener dctl = new DeltaCheckingTransactionListener(unaffectedDomNames,
            unaffectedDoms);
    manager.addTransactionListener(dctl);
    explorer.doDelete();
    while (manager.getActiveTransaction() != null || display.readAndDispatch())
        ;
    assertTrue("Unexpected deltas found on domains, " + dctl.getAffected(), dctl.getAffected().isEmpty());
}