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();
}
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;
}
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 "";
}
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);
}
}
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;
}
Aggregations