Search in sources :

Example 1 with JarLibEntry

use of org.talend.componentdesigner.model.libentry.JarLibEntry 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 JarLibEntry

use of org.talend.componentdesigner.model.libentry.JarLibEntry 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 JarLibEntry

use of org.talend.componentdesigner.model.libentry.JarLibEntry 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)

Example 4 with JarLibEntry

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

the class JavaXMLConfigWizardPage method fillImportItems.

/*
     * (non-Javadoc)
     * 
     * @see org.talend.componentdesigner.ui.wizard.creatcomponent.AbstractXMLConfigPage#fillImportItems()
     */
protected void fillImportItems() {
    for (int i = 0; i < availableXmlTree.getItems().length; i++) {
        TreeItem item = availableXmlTree.getItem(i);
        if (item.getText().equals(CODEGENERATION)) {
            Node codeGenNode = ((TreeNodeData) item.getData()).getXMLNode();
            TreeItem importsItem = new TreeItem(item, SWT.CASCADE);
            importsItem.setText(IMPORTS);
            Element importsEle = codeGenNode.getOwnerDocument().createElement(IMPORTS);
            codeGenNode.appendChild(importsEle);
            TreeNodeData importsData = new TreeNodeData();
            importsData.setXMLNode(importsEle);
            importsData.setTreeNode(ATreeNodeUtil.getTreeNodeByPath(IMPORTSITEMPATH));
            importsItem.setData(importsData);
            List<Node> jarImportNodes = new ArrayList<Node>();
            List<Node> pmImportNodes = new ArrayList<Node>();
            for (ILibEntry libEntry : componentPref.getLibEntries()) {
                TreeItem importItem = new TreeItem(importsItem, SWT.CASCADE);
                importItem.setText(IMPORT);
                Element importEle = importsEle.getOwnerDocument().createElement(IMPORT);
                importsEle.appendChild(importEle);
                importEle.setAttribute(NAME, libEntry.getNamePrefix());
                importEle.setAttribute(MODULE, libEntry.getName());
                //$NON-NLS-1$
                importEle.setAttribute(REQUIRED, "true");
                TreeNodeData nodeData = new TreeNodeData();
                nodeData.putAttrValue(NAME, libEntry.getNamePrefix());
                nodeData.putAttrValue(MODULE, libEntry.getName());
                //$NON-NLS-1$
                nodeData.putAttrValue(REQUIRED, "true");
                nodeData.setXMLNode(importEle);
                nodeData.setTreeNode(ATreeNodeUtil.getTreeNodeByPath(IMPORTITEMPATH));
                importItem.setData(nodeData);
                if (libEntry instanceof JarLibEntry) {
                    jarImportNodes.add(importEle);
                } else {
                    pmImportNodes.add(importEle);
                }
            }
            this.componentPref.setJavaImportNodes(jarImportNodes.toArray(new Node[jarImportNodes.size()]));
        }
    }
}
Also used : ILibEntry(org.talend.componentdesigner.model.ILibEntry) JarLibEntry(org.talend.componentdesigner.model.libentry.JarLibEntry) TreeNodeData(org.talend.componentdesigner.ui.composite.xmltree.TreeNodeData) TreeItem(org.eclipse.swt.widgets.TreeItem) Node(org.w3c.dom.Node) Element(org.w3c.dom.Element) ArrayList(java.util.ArrayList)

Example 5 with JarLibEntry

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

the class PerlXMLConfigWizardPage method fillImportItems.

/*
     * (non-Javadoc)
     * 
     * @see org.talend.componentdesigner.ui.wizard.creatcomponent.AbstractXMLConfigPage#fillImportItems()
     */
protected void fillImportItems() {
    for (int i = 0; i < availableXmlTree.getItems().length; i++) {
        TreeItem item = availableXmlTree.getItem(i);
        if (item.getText().equals(CODEGENERATION)) {
            Node codeGenNode = ((TreeNodeData) item.getData()).getXMLNode();
            TreeItem importsItem = new TreeItem(item, SWT.CASCADE);
            importsItem.setText(IMPORTS);
            Element importsEle = codeGenNode.getOwnerDocument().createElement(IMPORTS);
            codeGenNode.appendChild(importsEle);
            TreeNodeData importsData = new TreeNodeData();
            importsData.setXMLNode(importsEle);
            importsData.setTreeNode(ATreeNodeUtil.getTreeNodeByPath(IMPORTSITEMPATH));
            importsItem.setData(importsData);
            List<Node> jarImportNodes = new ArrayList<Node>();
            List<Node> pmImportNodes = new ArrayList<Node>();
            for (ILibEntry libEntry : componentPref.getLibEntries()) {
                TreeItem importItem = new TreeItem(importsItem, SWT.CASCADE);
                importItem.setText(IMPORT);
                Element importEle = importsEle.getOwnerDocument().createElement(IMPORT);
                importsEle.appendChild(importEle);
                importEle.setAttribute(NAME, libEntry.getNamePrefix());
                importEle.setAttribute(MODULE, libEntry.getName());
                //$NON-NLS-1$
                importEle.setAttribute(REQUIRED, "true");
                TreeNodeData nodeData = new TreeNodeData();
                nodeData.putAttrValue(NAME, libEntry.getNamePrefix());
                nodeData.putAttrValue(MODULE, libEntry.getName());
                //$NON-NLS-1$
                nodeData.putAttrValue(REQUIRED, "true");
                nodeData.setXMLNode(importEle);
                nodeData.setTreeNode(ATreeNodeUtil.getTreeNodeByPath(IMPORTITEMPATH));
                importItem.setData(nodeData);
                if (libEntry instanceof JarLibEntry) {
                    jarImportNodes.add(importEle);
                } else {
                    pmImportNodes.add(importEle);
                }
            }
            this.componentPref.setPerlImportNodes(pmImportNodes.toArray(new Node[pmImportNodes.size()]));
        }
    }
}
Also used : ILibEntry(org.talend.componentdesigner.model.ILibEntry) JarLibEntry(org.talend.componentdesigner.model.libentry.JarLibEntry) TreeNodeData(org.talend.componentdesigner.ui.composite.xmltree.TreeNodeData) TreeItem(org.eclipse.swt.widgets.TreeItem) Node(org.w3c.dom.Node) Element(org.w3c.dom.Element) ArrayList(java.util.ArrayList)

Aggregations

ILibEntry (org.talend.componentdesigner.model.ILibEntry)5 JarLibEntry (org.talend.componentdesigner.model.libentry.JarLibEntry)5 ArrayList (java.util.ArrayList)4 PmLibEntry (org.talend.componentdesigner.model.libentry.PmLibEntry)3 Path (org.eclipse.core.runtime.Path)2 TreeItem (org.eclipse.swt.widgets.TreeItem)2 TreeNodeData (org.talend.componentdesigner.ui.composite.xmltree.TreeNodeData)2 Element (org.w3c.dom.Element)2 Node (org.w3c.dom.Node)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