use of org.talend.designer.core.model.utils.emf.talendfile.NodeType in project tdi-studio-se by Talend.
the class RemoveUnuseQuoteOnTLoop method execute.
@Override
public ExecutionResult execute(Item item) {
ProcessType processType = getProcessType(item);
if (getProject().getLanguage() != ECodeLanguage.JAVA || processType == null) {
return ExecutionResult.NOTHING_TO_DO;
}
//$NON-NLS-1$
String[] componentsName = new String[] { "tLoop" };
IComponentConversion removeQuote = new IComponentConversion() {
private void removeQuote(ElementParameterType element) {
if (element != null && element.getValue() != null) {
String dValue = element.getValue();
if (dValue.startsWith("\"") && dValue.endsWith("\"")) {
//$NON-NLS-1$ //$NON-NLS-2$
dValue = dValue.substring(1, dValue.length() - 1);
element.setValue(dValue);
}
}
}
@Override
public void transform(NodeType node) {
//$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
List<String> parameters = Arrays.asList(new String[] { "DECLARATION", "CONDITION", "ITERATION" });
for (String parameter : parameters) {
removeQuote(ComponentUtilities.getNodeProperty(node, parameter));
}
}
};
for (String name : componentsName) {
IComponentFilter filter = new NameComponentFilter(name);
try {
ModifyComponentsAction.searchAndModify(item, processType, filter, Arrays.<IComponentConversion>asList(removeQuote));
} catch (PersistenceException e) {
ExceptionHandler.process(e);
return ExecutionResult.FAILURE;
}
}
return ExecutionResult.SUCCESS_NO_ALERT;
}
use of org.talend.designer.core.model.utils.emf.talendfile.NodeType in project tdi-studio-se by Talend.
the class MoveExcelSheetnameToSheetlist method execute.
@Override
public ExecutionResult execute(Item item) {
ProcessType processType = getProcessType(item);
if (getProject().getLanguage() == ECodeLanguage.JAVA || processType == null) {
return ExecutionResult.NOTHING_TO_DO;
}
try {
//$NON-NLS-1$
IComponentFilter filter1 = new NameComponentFilter("tFileInputExcel");
IComponentConversion addNewProperty = new IComponentConversion() {
public void transform(NodeType node) {
//$NON-NLS-1$ //$NON-NLS-2$
ComponentUtilities.addNodeProperty(node, "SHEETLIST", "TABLE");
List<ElementValueType> values = new ArrayList<ElementValueType>();
ElementValueType eValue = TalendFileFactory.eINSTANCE.createElementValueType();
//$NON-NLS-1$
eValue.setElementRef("SHEETNAME");
//$NON-NLS-1$
eValue.setValue(ComponentUtilities.getNodePropertyValue(node, "SHEETNAME"));
values.add(eValue);
//$NON-NLS-1$
ComponentUtilities.setNodeProperty(node, "SHEETLIST", values);
}
};
//$NON-NLS-1$
IComponentConversion removeOldProperty = new RemovePropertyComponentConversion("SHEETNAME");
ModifyComponentsAction.searchAndModify(item, processType, filter1, Arrays.<IComponentConversion>asList(addNewProperty, removeOldProperty));
return ExecutionResult.SUCCESS_WITH_ALERT;
} catch (Exception e) {
ExceptionHandler.process(e);
return ExecutionResult.FAILURE;
}
}
use of org.talend.designer.core.model.utils.emf.talendfile.NodeType in project tdi-studio-se by Talend.
the class MoveExcelSheetnameToSheetlistForJava method execute.
@Override
public ExecutionResult execute(Item item) {
ProcessType processType = getProcessType(item);
if (getProject().getLanguage() == ECodeLanguage.PERL || processType == null) {
return ExecutionResult.NOTHING_TO_DO;
}
try {
//$NON-NLS-1$
IComponentFilter filter1 = new NameComponentFilter("tFileInputExcel");
IComponentConversion addNewProperty = new IComponentConversion() {
public void transform(NodeType node) {
//$NON-NLS-1$ //$NON-NLS-2$
ComponentUtilities.addNodeProperty(node, "SHEETLIST", "TABLE");
List<ElementValueType> values = new ArrayList<ElementValueType>();
ElementValueType eValue = TalendFileFactory.eINSTANCE.createElementValueType();
//$NON-NLS-1$
eValue.setElementRef("SHEETNAME");
//$NON-NLS-1$
eValue.setValue(ComponentUtilities.getNodePropertyValue(node, "SHEETNAME"));
values.add(eValue);
//$NON-NLS-1$
ComponentUtilities.setNodeProperty(node, "SHEETLIST", values);
}
};
//$NON-NLS-1$
IComponentConversion removeOldProperty = new RemovePropertyComponentConversion("SHEETNAME");
ModifyComponentsAction.searchAndModify(item, processType, filter1, Arrays.<IComponentConversion>asList(addNewProperty, removeOldProperty));
return ExecutionResult.SUCCESS_WITH_ALERT;
} catch (Exception e) {
ExceptionHandler.process(e);
return ExecutionResult.FAILURE;
}
}
use of org.talend.designer.core.model.utils.emf.talendfile.NodeType in project tdi-studio-se by Talend.
the class MoveFileListFilemaskToFilemaskListForJava method execute.
@Override
public ExecutionResult execute(Item item) {
ProcessType processType = getProcessType(item);
if (getProject().getLanguage() == ECodeLanguage.PERL || processType == null) {
return ExecutionResult.NOTHING_TO_DO;
}
try {
//$NON-NLS-1$
IComponentFilter filter1 = new NameComponentFilter("tFileList");
IComponentConversion addNewProperty = new IComponentConversion() {
public void transform(NodeType node) {
//$NON-NLS-1$ //$NON-NLS-2$
ComponentUtilities.addNodeProperty(node, "FILES", "TABLE");
List<ElementValueType> values = new ArrayList<ElementValueType>();
ElementValueType eValue = TalendFileFactory.eINSTANCE.createElementValueType();
//$NON-NLS-1$
eValue.setElementRef("FILEMASK");
//$NON-NLS-1$
eValue.setValue(ComponentUtilities.getNodePropertyValue(node, "FILEMASK"));
values.add(eValue);
//$NON-NLS-1$
ComponentUtilities.setNodeProperty(node, "FILES", values);
}
};
ModifyComponentsAction.searchAndModify(item, processType, filter1, Arrays.<IComponentConversion>asList(addNewProperty));
return ExecutionResult.SUCCESS_WITH_ALERT;
} catch (Exception e) {
ExceptionHandler.process(e);
return ExecutionResult.FAILURE;
}
}
use of org.talend.designer.core.model.utils.emf.talendfile.NodeType in project tdi-studio-se by Talend.
the class RenameCustomerColumnOftGenKey method changeCustomerColumn.
private void changeCustomerColumn(Item item) throws PersistenceException {
ProcessType processType = getProcessType(item);
if (processType == null) {
return;
}
ProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance();
boolean modified = false;
for (Object o : processType.getNode()) {
NodeType node = (NodeType) o;
for (Object o2 : node.getMetadata()) {
MetadataType metadata = (MetadataType) o2;
for (Object o3 : metadata.getColumn()) {
ColumnType column = (ColumnType) o3;
if ("T_WINDOW_KEY".equals(column.getName())) {
column.setName("T_GEN_KEY");
modified = true;
}
}
}
}
if (modified) {
factory.save(item, true);
}
}
Aggregations