Search in sources :

Example 1 with PmLibEntry

use of org.talend.componentdesigner.model.libentry.PmLibEntry in project tdi-studio-se by Talend.

the class AddResourceAction method run.

/**
     * Prompts for a jar to add.
     * 
     * @see IAction#run()
     */
@Override
public void run() {
    // ViewerFilter filter = new ArchiveFilter(getSelectedJars());
    ILabelProvider lp = new WorkbenchLabelProvider();
    ITreeContentProvider cp = new WorkbenchContentProvider();
    ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(), lp, cp);
    dialog.setValidator(validator);
    //$NON-NLS-1$
    dialog.setTitle(Messages.getString("AddResourceAction.JARSecection"));
    //$NON-NLS-1$
    dialog.setMessage(Messages.getString("AddResourceAction.ChooseResource"));
    dialog.setInput(ResourcesPlugin.getWorkspace().getRoot().getProject(PluginConstant.COMPONENT_PROJECT));
    dialog.setComparator(new ResourceComparator(ResourceComparator.NAME));
    if (dialog.open() == Window.OK) {
        Object[] elements = dialog.getResult();
        List<ILibEntry> res = new ArrayList<ILibEntry>();
        for (int i = 0; i < elements.length; i++) {
            IResource elem = (IResource) elements[i];
            String name = elem.getName();
            if (name.matches("(?i).*\\.(jar)\\b")) {
                //$NON-NLS-1$
                res.add(new JarLibEntry(elem));
            }
            if (name.matches("(?i).*\\.(pm)\\b")) {
                //$NON-NLS-1$
                res.add(new PmLibEntry(elem));
            }
        }
        if (res.size() > 0) {
            ILibEntry[] entries = new ILibEntry[res.size()];
            getViewer().addEntries(res.toArray(entries));
        }
    }
}
Also used : ITreeContentProvider(org.eclipse.jface.viewers.ITreeContentProvider) ResourceComparator(org.eclipse.ui.views.navigator.ResourceComparator) WorkbenchLabelProvider(org.eclipse.ui.model.WorkbenchLabelProvider) JarLibEntry(org.talend.componentdesigner.model.libentry.JarLibEntry) ArrayList(java.util.ArrayList) ILabelProvider(org.eclipse.jface.viewers.ILabelProvider) WorkbenchContentProvider(org.eclipse.ui.model.WorkbenchContentProvider) ElementTreeSelectionDialog(org.eclipse.ui.dialogs.ElementTreeSelectionDialog) ILibEntry(org.talend.componentdesigner.model.ILibEntry) PmLibEntry(org.talend.componentdesigner.model.libentry.PmLibEntry) IResource(org.eclipse.core.resources.IResource)

Example 2 with PmLibEntry

use of org.talend.componentdesigner.model.libentry.PmLibEntry in project tdi-studio-se by Talend.

the class ComponentPref method handleLibEntries.

private static void handleLibEntries(String[] internalFields, ComponentPref componentBean) {
    ILibEntry[] libArrays = new ILibEntry[internalFields.length];
    for (int j = 0; j < internalFields.length; j++) {
        String[] entryStrings = internalFields[j].split(EQUEL_FIELDS_SEPARATOR);
        int k = 0;
        String libName = entryStrings[k++];
        String isExternal = entryStrings[k++];
        String location = entryStrings[k++];
        Object obj = null;
        if (Boolean.valueOf(isExternal)) {
            obj = new Path(location);
        } else {
            obj = ResourcesPlugin.getWorkspace().getRoot().getProject(PluginConstant.COMPONENT_PROJECT).findMember(location);
        }
        if (libName.matches("(?i).*\\.(jar)\\b")) {
            //$NON-NLS-1$
            libArrays[j] = new JarLibEntry(obj);
        } else if (libName.matches("(?i).*\\.(pm)\\b")) {
            //$NON-NLS-1$
            libArrays[j] = new PmLibEntry(obj);
        } else {
        // Nothing
        }
    }
    componentBean.setLibEntries(libArrays);
}
Also used : ILibEntry(org.talend.componentdesigner.model.ILibEntry) Path(org.eclipse.core.runtime.Path) JarLibEntry(org.talend.componentdesigner.model.libentry.JarLibEntry) PmLibEntry(org.talend.componentdesigner.model.libentry.PmLibEntry)

Example 3 with PmLibEntry

use of org.talend.componentdesigner.model.libentry.PmLibEntry in project tdi-studio-se by Talend.

the class AddExternalResourceAction method run.

/**
     * Prompts for a project to add.
     * 
     * @see IAction#run()
     */
@Override
public void run() {
    // String lastUsedPath = getDialogSetting(LAST_PATH_SETTING);
    String lastUsedPath = null;
    if (lastUsedPath == null) {
        //$NON-NLS-1$
        lastUsedPath = "";
    }
    FileDialog dialog = new FileDialog(getShell(), SWT.MULTI);
    //$NON-NLS-1$
    dialog.setText(Messages.getString("AddExternalResourceAction.JarSelection"));
    //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
    dialog.setFilterExtensions(new String[] { "*.*", "*.jar", "*.zip", "*.pm" });
    dialog.setFilterPath(lastUsedPath);
    String res = dialog.open();
    if (res == null) {
        return;
    }
    String[] fileNames = dialog.getFileNames();
    int nChosen = fileNames.length;
    IPath filterPath = new Path(dialog.getFilterPath());
    List<ILibEntry> list = new ArrayList<ILibEntry>();
    IPath path = null;
    for (int i = 0; i < nChosen; i++) {
        path = filterPath.append(fileNames[i]).makeAbsolute();
        if (path.toFile().exists()) {
            if (path.lastSegment().matches("(?i).*\\.(jar)\\b")) {
                //$NON-NLS-1$
                list.add(new JarLibEntry(path));
            }
            if (path.lastSegment().matches("(?i).*\\.(pm)\\b")) {
                //$NON-NLS-1$
                list.add(new PmLibEntry(path));
            }
        } else {
            //$NON-NLS-1$
            MessageDialog.openError(//$NON-NLS-1$
            getShell(), //$NON-NLS-1$
            Messages.getString("AddExternalResourceAction.ErrorTitle"), //$NON-NLS-1$
            Messages.getString("AddExternalResourceAction.ErrorMsg"));
        }
    }
    if (list.size() > 0) {
        setDialogSetting(LAST_PATH_SETTING, filterPath.toOSString());
        getViewer().addEntries(list.toArray(new ILibEntry[list.size()]));
    }
}
Also used : IPath(org.eclipse.core.runtime.IPath) Path(org.eclipse.core.runtime.Path) ILibEntry(org.talend.componentdesigner.model.ILibEntry) JarLibEntry(org.talend.componentdesigner.model.libentry.JarLibEntry) PmLibEntry(org.talend.componentdesigner.model.libentry.PmLibEntry) IPath(org.eclipse.core.runtime.IPath) ArrayList(java.util.ArrayList) FileDialog(org.eclipse.swt.widgets.FileDialog)

Aggregations

ILibEntry (org.talend.componentdesigner.model.ILibEntry)3 JarLibEntry (org.talend.componentdesigner.model.libentry.JarLibEntry)3 PmLibEntry (org.talend.componentdesigner.model.libentry.PmLibEntry)3 ArrayList (java.util.ArrayList)2 Path (org.eclipse.core.runtime.Path)2 IResource (org.eclipse.core.resources.IResource)1 IPath (org.eclipse.core.runtime.IPath)1 ILabelProvider (org.eclipse.jface.viewers.ILabelProvider)1 ITreeContentProvider (org.eclipse.jface.viewers.ITreeContentProvider)1 FileDialog (org.eclipse.swt.widgets.FileDialog)1 ElementTreeSelectionDialog (org.eclipse.ui.dialogs.ElementTreeSelectionDialog)1 WorkbenchContentProvider (org.eclipse.ui.model.WorkbenchContentProvider)1 WorkbenchLabelProvider (org.eclipse.ui.model.WorkbenchLabelProvider)1 ResourceComparator (org.eclipse.ui.views.navigator.ResourceComparator)1