Search in sources :

Example 6 with IDynamicConfiguration

use of org.talend.core.runtime.dynamic.IDynamicConfiguration in project tbd-studio-se by Talend.

the class ModuleGroupDetailsForm method onAddBtnSelected.

protected void onAddBtnSelected() {
    DynamicModuleGroupData moduleGroupData = getModuleGroupData();
    String groupTemplateId = moduleGroupData.getGroupTemplateId();
    DynamicPluginAdapter pluginAdapter = moduleGroupData.getPluginAdapter();
    IDynamicConfiguration moduleGroup = pluginAdapter.getModuleGroupByTemplateId(groupTemplateId);
    // IDynamicPluginConfiguration pluginConfiguration = pluginAdapter.getPluginConfiguration();
    // String id = pluginConfiguration.getId();
    // String moduleName = "Not set"; //$NON-NLS-1$
    // String runtimeId = DynamicDistributionUtils.getPluginKey("USER", "GENERATED", id, moduleName); //$NON-NLS-1$
    // //$NON-NLS-2$
    // $NON-NLS-1$
    String runtimeId = "";
    IDynamicConfiguration dynamicLibrary = DynamicModuleGroupAdapter.createDynamicLibrary(runtimeId);
    List<IDynamicConfiguration> childConfigurations = moduleGroup.getChildConfigurations();
    childConfigurations.add(dynamicLibrary);
    groupDetailsViewer.refresh();
}
Also used : IDynamicConfiguration(org.talend.core.runtime.dynamic.IDynamicConfiguration) DynamicPluginAdapter(org.talend.hadoop.distribution.dynamic.adapter.DynamicPluginAdapter) DynamicModuleGroupData(org.talend.repository.hadoopcluster.ui.dynamic.DynamicModuleGroupData)

Example 7 with IDynamicConfiguration

use of org.talend.core.runtime.dynamic.IDynamicConfiguration in project tbd-studio-se by Talend.

the class ModuleGroupDetailsForm method checkLibrary.

private String checkLibrary(IDynamicConfiguration library) {
    String id = (String) library.getAttribute(DynamicModuleGroupAdapter.ATTR_LIBRARY_ID);
    String mvnUri = getMavenUri(library);
    // $NON-NLS-1$
    String mvnUriFormat = Messages.getString("ModuleGroupDetailsForm.groupDetails.check.mvnUriFormat");
    if (StringUtils.isEmpty(mvnUri)) {
        // $NON-NLS-1$
        String errorEmpty = Messages.getString("ModuleGroupDetailsForm.groupDetails.check.empty", mvnUriFormat);
        return errorEmpty;
    } else {
        if (mvnUri.equals(id)) {
            String invalidUri = // $NON-NLS-1$
            Messages.getString(// $NON-NLS-1$
            "ModuleGroupDetailsForm.groupDetails.check.mvnUriFormat.invalid", mvnUriFormat);
            return invalidUri;
        } else {
            MavenArtifact mavenArtifact = MavenUrlHelper.parseMvnUrl(mvnUri, false);
            String groupId = mavenArtifact.getGroupId();
            String artifactId = mavenArtifact.getArtifactId();
            String version = mavenArtifact.getVersion();
            if (!StringUtils.isNoneEmpty(groupId, artifactId, version)) {
                String invalidUri = // $NON-NLS-1$
                Messages.getString(// $NON-NLS-1$
                "ModuleGroupDetailsForm.groupDetails.check.mvnUriFormat.invalid", mvnUriFormat);
                return invalidUri;
            }
        }
    }
    List<IDynamicConfiguration> childConfigurations = (List<IDynamicConfiguration>) groupDetailsViewer.getInput();
    List<String> duplicateLines = new ArrayList<>();
    for (int i = 0; i < childConfigurations.size(); ++i) {
        IDynamicConfiguration childConfig = childConfigurations.get(i);
        String attr = (String) childConfig.getAttribute(DynamicModuleGroupAdapter.ATTR_LIBRARY_ID);
        if (StringUtils.equals(id, attr)) {
            if (childConfig.equals(library)) {
                continue;
            }
            duplicateLines.add(String.valueOf(i + 1));
        }
    }
    if (!duplicateLines.isEmpty()) {
        StringBuffer lineBuf = new StringBuffer();
        for (String duplicateLine : duplicateLines) {
            if (0 < lineBuf.length()) {
                // $NON-NLS-1$
                lineBuf.append(", ");
            }
            lineBuf.append(duplicateLine);
        }
        String lines = lineBuf.toString();
        // $NON-NLS-1$
        String duplicate = Messages.getString("ModuleGroupDetailsForm.groupDetails.check.duplicateLines", lines);
        return duplicate;
    }
    return null;
}
Also used : IDynamicConfiguration(org.talend.core.runtime.dynamic.IDynamicConfiguration) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) MavenArtifact(org.talend.core.runtime.maven.MavenArtifact)

Example 8 with IDynamicConfiguration

use of org.talend.core.runtime.dynamic.IDynamicConfiguration in project tbd-studio-se by Talend.

the class ModuleGroupDetailsForm method getMavenUri.

protected String getMavenUri(Object element) {
    if (element instanceof IDynamicConfiguration) {
        try {
            String id = (String) ((IDynamicConfiguration) element).getAttribute(DynamicModuleGroupAdapter.ATTR_LIBRARY_ID);
            DynamicModuleGroupData moduleGroupData = getModuleGroupData();
            DynamicPluginAdapter pluginAdapter = moduleGroupData.getPluginAdapter();
            IDynamicConfiguration moduleById = pluginAdapter.getModuleById(id);
            String mvnUri = null;
            if (moduleById == null) {
                // should be an existing module in studio, or a bad one
                ModuleNeeded moduleNeeded = HadoopDistributionPlugin.getInstance().getExistingModuleMap().get(id);
                if (moduleNeeded != null) {
                    mvnUri = moduleNeeded.getMavenUri();
                } else {
                    mvnUri = id;
                }
            } else {
                mvnUri = (String) moduleById.getAttribute(DynamicModuleAdapter.ATTR_MVN_URI);
            }
            return mvnUri;
        } catch (Exception e) {
            ExceptionHandler.process(e);
        }
    }
    // $NON-NLS-1$
    return "";
}
Also used : IDynamicConfiguration(org.talend.core.runtime.dynamic.IDynamicConfiguration) DynamicPluginAdapter(org.talend.hadoop.distribution.dynamic.adapter.DynamicPluginAdapter) ModuleNeeded(org.talend.core.model.general.ModuleNeeded) DynamicModuleGroupData(org.talend.repository.hadoopcluster.ui.dynamic.DynamicModuleGroupData)

Example 9 with IDynamicConfiguration

use of org.talend.core.runtime.dynamic.IDynamicConfiguration in project tbd-studio-se by Talend.

the class DynamicDistributionDetailsForm method initTableViewData.

private void initTableViewData(IDynamicPlugin dynamicPlugin) {
    if (dynamicPlugin == null) {
        baseJarsTable.setInput(null);
    } else {
        IDynamicExtension libNeededExtension = DynamicPluginAdapter.getLibraryNeededExtension(dynamicPlugin);
        List<IDynamicConfiguration> configurations = libNeededExtension.getConfigurations();
        Iterator<IDynamicConfiguration> iter = configurations.iterator();
        List<IDynamicConfiguration> moduleGroups = new ArrayList<>();
        while (iter.hasNext()) {
            IDynamicConfiguration dynConfig = iter.next();
            if (DynamicModuleGroupAdapter.TAG_NAME.equals(dynConfig.getTagName())) {
                moduleGroups.add(dynConfig);
            }
        }
        Collections.sort(moduleGroups, new DynamicAttributeComparator());
        baseJarsTable.setInput(moduleGroups);
    }
}
Also used : IDynamicConfiguration(org.talend.core.runtime.dynamic.IDynamicConfiguration) IDynamicExtension(org.talend.core.runtime.dynamic.IDynamicExtension) ArrayList(java.util.ArrayList) DynamicAttributeComparator(org.talend.hadoop.distribution.dynamic.comparator.DynamicAttributeComparator)

Example 10 with IDynamicConfiguration

use of org.talend.core.runtime.dynamic.IDynamicConfiguration in project tbd-studio-se by Talend.

the class DynamicClassLoaderExtensionAdaper method adapt.

public IDynamicExtension adapt(IDynamicMonitor monitor) throws Exception {
    DynamicDistributionUtils.checkCancelOrNot(monitor);
    resolve();
    TemplateBean templateBean = getTemplateBean();
    DynamicConfiguration configuration = getConfiguration();
    String id = configuration.getId();
    String distributionName = templateBean.getDistribution();
    String templateId = templateBean.getId();
    IDynamicExtension classLoaderExtension = DynamicFactory.getInstance().createDynamicExtension();
    classLoaderExtension.setExtensionId(DynamicDistributionUtils.getExtensionId(DynamicDistributionUtils.getPluginKey(distributionName, templateId, id, ATTR_POINT)));
    classLoaderExtension.setExtensionPoint(ATTR_POINT);
    List<ClassLoaderBean> classLoaders = templateBean.getClassLoaders();
    if (classLoaders != null) {
        for (ClassLoaderBean classLoader : classLoaders) {
            DynamicDistributionUtils.checkCancelOrNot(monitor);
            DynamicClassloaderAdapter classLoaderAdapter = new DynamicClassloaderAdapter(templateBean, configuration, classLoader, moduleGroupBeanAdapterMap);
            IDynamicConfiguration dynamicClassLoader = classLoaderAdapter.adapt(monitor);
            classLoaderExtension.addConfiguration(dynamicClassLoader);
        }
    }
    return classLoaderExtension;
}
Also used : IDynamicConfiguration(org.talend.core.runtime.dynamic.IDynamicConfiguration) IDynamicConfiguration(org.talend.core.runtime.dynamic.IDynamicConfiguration) DynamicConfiguration(org.talend.hadoop.distribution.dynamic.DynamicConfiguration) IDynamicExtension(org.talend.core.runtime.dynamic.IDynamicExtension) TemplateBean(org.talend.hadoop.distribution.dynamic.bean.TemplateBean) ClassLoaderBean(org.talend.hadoop.distribution.dynamic.bean.ClassLoaderBean)

Aggregations

IDynamicConfiguration (org.talend.core.runtime.dynamic.IDynamicConfiguration)21 IDynamicExtension (org.talend.core.runtime.dynamic.IDynamicExtension)7 ArrayList (java.util.ArrayList)6 DynamicConfiguration (org.talend.hadoop.distribution.dynamic.DynamicConfiguration)5 HashSet (java.util.HashSet)4 MavenArtifact (org.talend.core.runtime.maven.MavenArtifact)4 DynamicPluginAdapter (org.talend.hadoop.distribution.dynamic.adapter.DynamicPluginAdapter)4 TemplateBean (org.talend.hadoop.distribution.dynamic.bean.TemplateBean)4 DynamicAttributeComparator (org.talend.hadoop.distribution.dynamic.comparator.DynamicAttributeComparator)4 DynamicModuleGroupData (org.talend.repository.hadoopcluster.ui.dynamic.DynamicModuleGroupData)4 List (java.util.List)3 ModuleNeeded (org.talend.core.model.general.ModuleNeeded)3 HashMap (java.util.HashMap)2 DependencyNode (org.talend.designer.maven.aether.node.DependencyNode)2 ESparkVersion (org.talend.hadoop.distribution.ESparkVersion)2 ModuleBean (org.talend.hadoop.distribution.dynamic.bean.ModuleBean)2 FileNotFoundException (java.io.FileNotFoundException)1 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)1 Test (org.junit.Test)1 ExclusionNode (org.talend.designer.maven.aether.node.ExclusionNode)1