use of org.talend.core.model.components.filters.IComponentFilter in project tdi-studio-se by Talend.
the class ResetValuetInfiniteLoop method execute.
/*
* (non-Javadoc)
*
* @seeorg.talend.core.model.migration.AbstractJobMigrationTask#executeOnProcess(org.talend.core.model.properties.
* ProcessItem)
*/
@Override
public ExecutionResult execute(Item item) {
ProcessType processType = getProcessType(item);
if (getProject().getLanguage() != ECodeLanguage.JAVA || processType == null) {
return ExecutionResult.NOTHING_TO_DO;
}
String[] componentsName = new String[] { "tInfiniteLoop" };
try {
for (int i = 0; i < componentsName.length; i++) {
IComponentFilter filter = new NameComponentFilter(componentsName[i]);
ModifyComponentsAction.searchAndModify(item, processType, filter, Arrays.<IComponentConversion>asList(new IComponentConversion() {
public void transform(NodeType node) {
if (ComponentUtilities.getNodeProperty(node, "WAIT") != null) {
int time = Integer.valueOf(ComponentUtilities.getNodeProperty(node, "WAIT").getValue());
ComponentUtilities.addNodeProperty(node, "WAIT_MS", "TEXT");
ComponentUtilities.getNodeProperty(node, "WAIT_MS").setValue(String.valueOf(time * 1000));
ComponentUtilities.removeNodeProperty(node, "WAIT");
}
}
}));
}
return ExecutionResult.SUCCESS_NO_ALERT;
} catch (Exception e) {
ExceptionHandler.process(e);
return ExecutionResult.FAILURE;
}
}
use of org.talend.core.model.components.filters.IComponentFilter in project tdi-studio-se by Talend.
the class ReviewPigLoadLayout method execute.
@Override
public ExecutionResult execute(Item item) {
ProcessType processType = getProcessType(item);
if (processType != null) {
try {
//$NON-NLS-1$
IComponentFilter filter = new NameComponentFilter("tPigLoad");
ModifyComponentsAction.searchAndModify(item, processType, filter, Arrays.<IComponentConversion>asList(new IComponentConversion() {
@Override
public void transform(NodeType node) {
//$NON-NLS-1$
ElementParameterType mr = ComponentUtilities.getNodeProperty(node, "MAPREDUCE");
//$NON-NLS-1$
ElementParameterType tez = ComponentUtilities.getNodeProperty(node, "TEZ");
//$NON-NLS-1$ //$NON-NLS-2$
ComponentUtilities.addNodeProperty(node, "ENGINE", "CLOSED_LIST");
if ("true".equalsIgnoreCase(mr.getValue())) {
//$NON-NLS-1$
//$NON-NLS-1$ //$NON-NLS-2$
ComponentUtilities.getNodeProperty(node, "ENGINE").setValue("MAPREDUCE");
} else if ("true".equalsIgnoreCase(tez.getValue())) {
//$NON-NLS-1$
//$NON-NLS-1$ //$NON-NLS-2$
ComponentUtilities.getNodeProperty(node, "ENGINE").setValue("TEZ");
}
//$NON-NLS-1$
ComponentUtilities.removeNodeProperty(node, "MAPREDUCE");
//$NON-NLS-1$
ComponentUtilities.removeNodeProperty(node, "TEZ");
}
}));
return ExecutionResult.SUCCESS_NO_ALERT;
} catch (Exception e) {
CommonExceptionHandler.process(e);
return ExecutionResult.FAILURE;
}
}
return ExecutionResult.NOTHING_TO_DO;
}
use of org.talend.core.model.components.filters.IComponentFilter in project tdi-studio-se by Talend.
the class SetUrltStewardshipXXXTDI32354 method execute.
@Override
public ExecutionResult execute(Item item) {
ProcessType processType = getProcessType(item);
if (getProject().getLanguage() != ECodeLanguage.JAVA || processType == null) {
return ExecutionResult.NOTHING_TO_DO;
}
String[] componentsName = new String[] { "tStewardshipTaskInput", "tStewardshipTaskOutput", "tStewardshipTaskDelete" };
IComponentConversion changeDeletEmptyFileValue = new IComponentConversion() {
public void transform(NodeType node) {
ElementParameterType host = ComponentUtilities.getNodeProperty(node, "HOST");
ElementParameterType port = ComponentUtilities.getNodeProperty(node, "PORT");
String url = "";
if (host != null && port != null) {
if ("tStewardshipTaskOutput".equals(node.getComponentName())) {
url = "\"http://\" + " + host.getValue() + " + \":\" + " + port.getValue() + " + \"/talendmdm/services/dsctaskloader\"";
} else {
url = "\"http://\" + " + host.getValue() + " + \":\" + " + port.getValue() + " + \"/talendmdm/services/TDSCWS?wsdl\"";
}
}
ElementParameterType serverVersion = ComponentUtilities.getNodeProperty(node, "URL");
if (serverVersion == null) {
ComponentUtilities.addNodeProperty(node, "URL", "TEXT");
serverVersion = ComponentUtilities.getNodeProperty(node, "URL");
serverVersion.setValue(url);
}
}
};
for (String name : componentsName) {
//$NON-NLS-1$
IComponentFilter filter = new NameComponentFilter(name);
try {
ModifyComponentsAction.searchAndModify(item, processType, filter, Arrays.<IComponentConversion>asList(changeDeletEmptyFileValue));
} catch (PersistenceException e) {
ExceptionHandler.process(e);
return ExecutionResult.FAILURE;
}
}
return ExecutionResult.SUCCESS_WITH_ALERT;
}
use of org.talend.core.model.components.filters.IComponentFilter in project tdi-studio-se by Talend.
the class SettingValuesIntoHadoopPropertiesFortHiveConnection method execute.
public ExecutionResult execute(Item item) {
final ProcessType processType = getProcessType(item);
try {
//$NON-NLS-1$
IComponentFilter filter = new NameComponentFilter("tELTHiveMap");
ModifyComponentsAction.searchAndModify(item, processType, filter, Arrays.<IComponentConversion>asList(new IComponentConversion() {
public void transform(NodeType node) {
//$NON-NLS-1$ //$NON-NLS-2$
ElementParameterType useExistingConn = ComponentUtilities.getNodeProperty(node, "USE_EXISTING_CONNECTION");
if (useExistingConn != null && "true".equalsIgnoreCase(useExistingConn.getValue())) {
//$NON-NLS-1$
ElementParameterType connNamePara = ComponentUtilities.getNodeProperty(node, "CONNECTION");
if (connNamePara != null) {
NodeType tHiveConnNode = searchNodeTypeByUniqName(processType, connNamePara.getValue());
moveValuesFromHiveMap2HiveConn(node, tHiveConnNode);
}
}
}
}));
return ExecutionResult.SUCCESS_NO_ALERT;
} catch (PersistenceException e) {
// TODO Auto-generated catch block
ExceptionHandler.process(e);
return ExecutionResult.FAILURE;
}
}
use of org.talend.core.model.components.filters.IComponentFilter in project tdi-studio-se by Talend.
the class SetDefaultValue4tWriteJSONFieldGroupByOutput method execute.
@Override
public ExecutionResult execute(Item item) {
ProcessType processType = getProcessType(item);
IComponentFilter filter = new NameComponentFilter("tWriteJSONField");
try {
ModifyComponentsAction.searchAndModify(item, processType, filter, Arrays.<IComponentConversion>asList(new IComponentConversion() {
public void transform(NodeType node) {
EList<ElementValueType> list = ComponentUtilities.getNodeProperty(node, "GROUPBYS").getElementValue();
ElementValueType outputColumnPropertyElement = null;
int size = list.size();
if (list != null && size > 0) {
String outputFieldValue = ComponentUtilities.getNodeProperty(node, "JSONFIELD").getValue();
for (int i = 0, j = 0; i < size; i++) {
outputColumnPropertyElement = TalendFileFactory.eINSTANCE.createElementValueType();
//$NON-NLS-1$
outputColumnPropertyElement.setElementRef("OUTPUT_COLUMN");
outputColumnPropertyElement.setValue(outputFieldValue);
list.add(j, outputColumnPropertyElement);
j = j + 2;
}
}
}
}));
} catch (PersistenceException e) {
ExceptionHandler.process(e);
return ExecutionResult.FAILURE;
}
return ExecutionResult.SUCCESS_NO_ALERT;
}
Aggregations