Search in sources :

Example 1 with IArtifactNode

use of org.eclipse.m2e.core.ui.internal.views.nodes.IArtifactNode in project m2e-core by eclipse-m2e.

the class MavenRepositoryView method getArtifactNodes.

protected List<IArtifactNode> getArtifactNodes(List<?> elements) {
    if (elements == null || elements.isEmpty()) {
        return null;
    }
    ArrayList<IArtifactNode> list = new ArrayList<>();
    for (Object elem : elements) {
        if (elem instanceof IArtifactNode) {
            IArtifactNode node = (IArtifactNode) elem;
            list.add(node);
        }
    }
    return list;
}
Also used : ArrayList(java.util.ArrayList) IArtifactNode(org.eclipse.m2e.core.ui.internal.views.nodes.IArtifactNode)

Example 2 with IArtifactNode

use of org.eclipse.m2e.core.ui.internal.views.nodes.IArtifactNode in project m2e-core by eclipse-m2e.

the class MavenRepositoryView method makeActions.

private void makeActions() {
    collapseAllAction = new Action(Messages.MavenRepositoryView_btnCollapse) {

        @Override
        public void run() {
            viewer.collapseAll();
        }
    };
    collapseAllAction.setToolTipText(Messages.MavenRepositoryView_btnCollapse_tooltip);
    collapseAllAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_ELCL_COLLAPSEALL));
    reloadSettings = new Action(Messages.MavenRepositoryView_action_reload) {

        @Override
        public void run() {
            String msg = Messages.MavenRepositoryView_reload_msg;
            boolean res = // 
            MessageDialog.openConfirm(// 
            getViewSite().getShell(), Messages.MavenRepositoryView_reload_title, msg);
            if (res) {
                Job job = new WorkspaceJob(Messages.MavenRepositoryView_job_reloading) {

                    @Override
                    public IStatus runInWorkspace(IProgressMonitor monitor) {
                        try {
                            MavenPlugin.getMaven().reloadSettings();
                        } catch (CoreException ex) {
                            return ex.getStatus();
                        }
                        return Status.OK_STATUS;
                    }
                };
                job.schedule();
            }
        }
    };
    reloadSettings.setImageDescriptor(MavenImages.REFRESH);
    openPomAction = new BaseSelectionListenerAction(Messages.MavenRepositoryView_action_open) {

        @Override
        public void run() {
            ISelection selection = viewer.getSelection();
            Object element = ((IStructuredSelection) selection).getFirstElement();
            if (element instanceof IArtifactNode) {
                Artifact f = ((IArtifactNode) element).getArtifact();
                OpenPomAction.openEditor(f.getGroupId(), f.getArtifactId(), f.getVersion(), null);
            }
        }

        @Override
        protected boolean updateSelection(IStructuredSelection selection) {
            return selection.getFirstElement() instanceof IArtifactNode;
        }
    };
    openPomAction.setToolTipText(Messages.MavenRepositoryView_action_open_tooltip);
    openPomAction.setImageDescriptor(MavenImages.POM);
    copyUrlAction = new BaseSelectionListenerAction(Messages.MavenRepositoryView_action_copy) {

        @Override
        public void run() {
            Object element = getStructuredSelection().getFirstElement();
            String url = null;
            if (element instanceof RepositoryNode) {
                url = ((RepositoryNode) element).getRepositoryUrl();
            } else if (element instanceof IndexedArtifact) {
            // 
            } else if (element instanceof IndexedArtifactFile) {
            // 
            }
            if (url != null) {
                Clipboard clipboard = new Clipboard(Display.getCurrent());
                clipboard.setContents(new String[] { url }, new Transfer[] { TextTransfer.getInstance() });
                clipboard.dispose();
            }
        }

        @Override
        protected boolean updateSelection(IStructuredSelection selection) {
            Object element = selection.getFirstElement();
            return element instanceof RepositoryNode;
        }
    };
    copyUrlAction.setToolTipText(Messages.MavenRepositoryView_action_copy_tooltip);
    copyUrlAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_COPY));
    // materializeProjectAction = new BaseSelectionListenerAction(Messages.MavenRepositoryView_action_materialize) {
    // public void run() {
    // Object element = getStructuredSelection().getFirstElement();
    // if(element instanceof IndexedArtifactFileNode){
    // MaterializeAction action = new MaterializeAction();
    // StructuredSelection sel = new StructuredSelection(new Object[]{((IndexedArtifactFileNode) element).getIndexedArtifactFile()});
    // action.selectionChanged(this, sel);
    // action.run(this);
    // }
    // }
    // 
    // protected boolean updateSelection(IStructuredSelection selection) {
    // return selection.getFirstElement() instanceof IndexedArtifactFileNode;
    // }
    // };
    // materializeProjectAction.setImageDescriptor(MavenImages.IMPORT_PROJECT);
    viewer.addSelectionChangedListener(openPomAction);
    viewer.addSelectionChangedListener(copyUrlAction);
// viewer.addSelectionChangedListener(materializeProjectAction);
}
Also used : IAction(org.eclipse.jface.action.IAction) OpenPomAction(org.eclipse.m2e.core.ui.internal.actions.OpenPomAction) Action(org.eclipse.jface.action.Action) BaseSelectionListenerAction(org.eclipse.ui.actions.BaseSelectionListenerAction) IStatus(org.eclipse.core.runtime.IStatus) IndexedArtifact(org.eclipse.m2e.core.internal.index.IndexedArtifact) WorkspaceJob(org.eclipse.core.resources.WorkspaceJob) IArtifactNode(org.eclipse.m2e.core.ui.internal.views.nodes.IArtifactNode) BaseSelectionListenerAction(org.eclipse.ui.actions.BaseSelectionListenerAction) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) IMavenRepositoryNode(org.eclipse.m2e.core.ui.internal.views.nodes.IMavenRepositoryNode) RepositoryNode(org.eclipse.m2e.core.ui.internal.views.nodes.RepositoryNode) IndexedArtifact(org.eclipse.m2e.core.internal.index.IndexedArtifact) Artifact(org.eclipse.aether.artifact.Artifact) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) CoreException(org.eclipse.core.runtime.CoreException) IndexedArtifactFile(org.eclipse.m2e.core.internal.index.IndexedArtifactFile) ISelection(org.eclipse.jface.viewers.ISelection) TextTransfer(org.eclipse.swt.dnd.TextTransfer) Transfer(org.eclipse.swt.dnd.Transfer) Clipboard(org.eclipse.swt.dnd.Clipboard) Job(org.eclipse.core.runtime.jobs.Job) WorkspaceJob(org.eclipse.core.resources.WorkspaceJob)

Aggregations

IArtifactNode (org.eclipse.m2e.core.ui.internal.views.nodes.IArtifactNode)2 ArrayList (java.util.ArrayList)1 Artifact (org.eclipse.aether.artifact.Artifact)1 WorkspaceJob (org.eclipse.core.resources.WorkspaceJob)1 CoreException (org.eclipse.core.runtime.CoreException)1 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)1 IStatus (org.eclipse.core.runtime.IStatus)1 Job (org.eclipse.core.runtime.jobs.Job)1 Action (org.eclipse.jface.action.Action)1 IAction (org.eclipse.jface.action.IAction)1 ISelection (org.eclipse.jface.viewers.ISelection)1 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)1 IndexedArtifact (org.eclipse.m2e.core.internal.index.IndexedArtifact)1 IndexedArtifactFile (org.eclipse.m2e.core.internal.index.IndexedArtifactFile)1 OpenPomAction (org.eclipse.m2e.core.ui.internal.actions.OpenPomAction)1 IMavenRepositoryNode (org.eclipse.m2e.core.ui.internal.views.nodes.IMavenRepositoryNode)1 RepositoryNode (org.eclipse.m2e.core.ui.internal.views.nodes.RepositoryNode)1 Clipboard (org.eclipse.swt.dnd.Clipboard)1 TextTransfer (org.eclipse.swt.dnd.TextTransfer)1 Transfer (org.eclipse.swt.dnd.Transfer)1