use of org.talend.core.runtime.dynamic.IDynamicPluginConfiguration in project tbd-studio-se by Talend.
the class AbstractDynamicDistributionsGroup method register.
@Override
public void register(IDynamicPlugin dynamicPlugin, IDynamicMonitor monitor) throws Exception {
boolean registed = false;
IDynamicPluginConfiguration pluginConfiguration = dynamicPlugin.getPluginConfiguration();
String templateId = pluginConfiguration.getTemplateId();
IDynamicDistribution dynamicDistribution = getDynamicDistributionForId(templateId, monitor);
if (dynamicDistribution != null) {
dynamicDistribution.register(dynamicPlugin, monitor);
registed = true;
}
if (!registed) {
throw new Exception("No dynamic distribution serivce found for " + pluginConfiguration.getTemplateId());
}
}
use of org.talend.core.runtime.dynamic.IDynamicPluginConfiguration in project tbd-studio-se by Talend.
the class AbstractDynamicDistributionsGroup method canRegister.
@Override
public boolean canRegister(IDynamicPlugin dynamicPlugin, IDynamicMonitor monitor) throws Exception {
boolean canRegist = false;
IDynamicPluginConfiguration pluginConfiguration = dynamicPlugin.getPluginConfiguration();
String templateId = pluginConfiguration.getTemplateId();
IDynamicDistribution dynamicDistribution = getDynamicDistributionForId(templateId, monitor);
canRegist = (dynamicDistribution != null);
return canRegist;
}
use of org.talend.core.runtime.dynamic.IDynamicPluginConfiguration in project tbd-studio-se by Talend.
the class DynamicHDPDistribution method initTemplate.
@Override
protected IDynamicDistributionTemplate initTemplate(DynamicPluginAdapter pluginAdapter, IDynamicMonitor monitor) throws Exception {
IDynamicDistributionTemplate dynamicDistributionTemplate = null;
IDynamicPluginConfiguration pluginConfiguration = pluginAdapter.getPluginConfiguration();
String templateId = pluginConfiguration.getTemplateId();
switch(templateId) {
case HDP2xxDistributionTemplate.TEMPLATE_ID:
dynamicDistributionTemplate = new HDP2xxDistributionTemplate(pluginAdapter);
break;
case HDP3xxDistributionTemplate.TEMPLATE_ID:
dynamicDistributionTemplate = new HDP3xxDistributionTemplate(pluginAdapter);
break;
default:
throw new Exception("Unknown templateId: " + templateId);
}
return dynamicDistributionTemplate;
}
use of org.talend.core.runtime.dynamic.IDynamicPluginConfiguration in project tbd-studio-se by Talend.
the class DynamicDistributionOptionForm method initExistingConfigurationInfos.
private void initExistingConfigurationInfos() throws Exception {
existingConfigurationNames = new HashSet<>();
existingConfigurationIdMap = new HashMap<>();
IDynamicMonitor monitor = new DummyDynamicMonitor();
DynamicDistributionManager dynDistrManager = DynamicDistributionManager.getInstance();
List<IDynamicPlugin> allDynamicPlugins = new LinkedList<>();
List<IDynamicPlugin> allBuiltinDynamicPlugins = dynDistrManager.getAllBuiltinDynamicPlugins(monitor);
if (allBuiltinDynamicPlugins != null && !allBuiltinDynamicPlugins.isEmpty()) {
allDynamicPlugins.addAll(allBuiltinDynamicPlugins);
}
List<IDynamicPlugin> allUsesDynamicPlugins = dynDistrManager.getAllUsersDynamicPlugins(monitor);
if (allUsesDynamicPlugins != null && !allUsesDynamicPlugins.isEmpty()) {
allDynamicPlugins.addAll(allUsesDynamicPlugins);
}
if (allDynamicPlugins != null && !allDynamicPlugins.isEmpty()) {
Iterator<IDynamicPlugin> iter = allDynamicPlugins.iterator();
while (iter.hasNext()) {
IDynamicPlugin dynPlugin = iter.next();
IDynamicPluginConfiguration pluginConfiguration = dynPlugin.getPluginConfiguration();
existingConfigurationNames.add(pluginConfiguration.getName());
existingConfigurationIdMap.put(pluginConfiguration.getId(), dynPlugin);
}
}
}
use of org.talend.core.runtime.dynamic.IDynamicPluginConfiguration in project tbd-studio-se by Talend.
the class DynamicDistributionOptionForm method checkImportConfigText.
private boolean checkImportConfigText() {
try {
if (!importConfigBtn.getSelection()) {
return true;
}
StringBuffer messageBuffer = new StringBuffer();
importConfigText.setBackground(null);
importConfigText.setToolTipText(importConfigText.getText());
String importConfig = importConfigText.getText();
if (StringUtils.isEmpty(importConfig)) {
// $NON-NLS-1$
String errorMessage = Messages.getString("DynamicDistributionOptionForm.importConfigText.check.empty");
showMessage(errorMessage, WizardPage.ERROR);
importConfigText.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
importConfigText.setToolTipText(errorMessage);
return false;
}
if (importedDynamicPlugin == null) {
// $NON-NLS-1$
String errorMessage = Messages.getString("DynamicDistributionOptionForm.importConfigText.check.empty");
importConfigText.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
importConfigText.setToolTipText(errorMessage);
showMessage(errorMessage, WizardPage.ERROR);
return false;
}
// 1. check plugin configuration
IDynamicPluginConfiguration pluginConfiguration = importedDynamicPlugin.getPluginConfiguration();
if (pluginConfiguration == null) {
// $NON-NLS-1$
String errorMessage = Messages.getString("DynamicDistributionOptionForm.importConfigText.check.noConfiguration");
importConfigText.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
importConfigText.setToolTipText(errorMessage);
showMessage(errorMessage, WizardPage.ERROR);
return false;
}
DynamicDistributionSetupData dynamicBuildConfigurationData = getDynamicDistributionSetupData();
// 2. check distribution
IDynamicDistributionsGroup dynamicDistributionsGroup = dynamicBuildConfigurationData.getDynamicDistributionsGroup();
if (!dynamicDistributionsGroup.getDistribution().equalsIgnoreCase(pluginConfiguration.getDistribution())) {
String errorMessage = // $NON-NLS-1$
Messages.getString(// $NON-NLS-1$
"DynamicDistributionOptionForm.importConfigText.check.wrongDistribution", pluginConfiguration.getDistribution(), dynamicDistributionsGroup.getDistribution());
importConfigText.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
importConfigText.setToolTipText(errorMessage);
showMessage(errorMessage, WizardPage.ERROR);
return false;
}
// 3. check id
boolean isIdSame = false;
String id = pluginConfiguration.getId();
if (StringUtils.isEmpty(id)) {
// $NON-NLS-1$
String errorMessage = Messages.getString("DynamicDistributionOptionForm.importConfigText.check.badId.empty");
importConfigText.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
importConfigText.setToolTipText(errorMessage);
showMessage(errorMessage, WizardPage.ERROR);
return false;
}
if (id.contains(".")) {
// $NON-NLS-1$
String errorMessage = // $NON-NLS-1$
Messages.getString(// $NON-NLS-1$
"DynamicDistributionOptionForm.importConfigText.check.badId.invalid", id);
importConfigText.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
importConfigText.setToolTipText(errorMessage);
showMessage(errorMessage, WizardPage.ERROR);
return false;
}
IDynamicPlugin existingDynamicPlugin = getDynamicPluginById(id);
if (existingDynamicPlugin != null) {
IDynamicPluginConfiguration existingPluginConfig = existingDynamicPlugin.getPluginConfiguration();
String distribution = existingPluginConfig.getDistribution();
if (!dynamicDistributionsGroup.getDistribution().equalsIgnoreCase(distribution)) {
String errorMessage = Messages.getString(// $NON-NLS-1$
"DynamicDistributionOptionForm.importConfigText.check.badId.exist.diffDistribution", // $NON-NLS-1$
id, dynamicDistributionsGroup.getDistribution(), // $NON-NLS-1$
distribution);
importConfigText.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
importConfigText.setToolTipText(errorMessage);
showMessage(errorMessage, WizardPage.ERROR);
return false;
}
String errorMessage = Messages.getString(// $NON-NLS-1$
"DynamicDistributionOptionForm.importConfigText.check.badId.exist.sameDistribution", id);
// $NON-NLS-1$
messageBuffer.append(errorMessage).append("\n");
isIdSame = true;
}
// 4. check name
String name = pluginConfiguration.getName();
if (!isIdSame && isConfigurationNameExist(name)) {
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();
String newName = name + // $NON-NLS-1$
Messages.getString(// $NON-NLS-1$
"DynamicDistributionOptionForm.importConfigText.check.badName.exist.desc", date.toString());
pluginConfiguration.setName(newName);
String errorMessage = // $NON-NLS-1$
Messages.getString(// $NON-NLS-1$
"DynamicDistributionOptionForm.importConfigText.check.badName.exist", name, newName);
// $NON-NLS-1$
messageBuffer.append(errorMessage).append("\n");
}
if (0 < messageBuffer.length()) {
String warnMessage = messageBuffer.toString();
importConfigText.setBackground(LoginDialogV2.YELLOW_COLOR);
importConfigText.setToolTipText(warnMessage);
showMessage(warnMessage, WizardPage.WARNING);
}
pluginConfiguration.setAttribute(DynamicConstants.ATTR_PROJECT_TECHNICAL_NAME, ProjectManager.getInstance().getCurrentProject().getTechnicalLabel());
getDynamicDistributionSetupData().setDynamicPlugin(importedDynamicPlugin);
return true;
} catch (Exception e) {
importConfigText.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
importConfigText.setToolTipText(e.getMessage());
return false;
}
}
Aggregations