use of org.talend.core.model.components.filters.IComponentFilter in project tdi-studio-se by Talend.
the class ActivateQueryLogging method execute.
@Override
public ExecutionResult execute(Item item) {
ProcessType processType = getProcessType(item);
if (getProject().getLanguage() != ECodeLanguage.JAVA || processType == null) {
return ExecutionResult.NOTHING_TO_DO;
}
List<String> filterList = Arrays.asList("tELTTeradataMap", "tTeradataConnection", "tTeradataInput", "tTeradataOutput", "tTeradataRow");
IComponentConversion correctBatchModeForDBComponents = new IComponentConversion() {
public void transform(NodeType node) {
ElementParameterType queryBand = ComponentUtilities.getNodeProperty(node, "QUERY_BAND");
ElementParameterType activateQueryLogging = ComponentUtilities.getNodeProperty(node, "ACTIVATE_QUERY_LOGGING");
if (activateQueryLogging == null) {
ComponentUtilities.addNodeProperty(node, "ACTIVATE_QUERY_LOGGING", "CHECK");
if (queryBand != null) {
boolean queryBandActived = "true".equalsIgnoreCase(queryBand.getValue());
if (queryBandActived) {
ComponentUtilities.getNodeProperty(node, "ACTIVATE_QUERY_LOGGING").setValue("true");
}
}
}
}
};
for (String componentName : filterList) {
IComponentFilter filter = new NameComponentFilter(componentName);
try {
ModifyComponentsAction.searchAndModify(item, processType, filter, Arrays.<IComponentConversion>asList(correctBatchModeForDBComponents));
} catch (PersistenceException e) {
ExceptionHandler.process(e);
return ExecutionResult.FAILURE;
}
}
return ExecutionResult.SUCCESS_NO_ALERT;
}
use of org.talend.core.model.components.filters.IComponentFilter in project tdi-studio-se by Talend.
the class AddNewIgnoreNullSettingForTMicrosoftCrmOutputTask 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 componentName = "tMicrosoftCrmOutput";
try {
IComponentFilter filter = new NameComponentFilter(componentName);
ModifyComponentsAction.searchAndModify(item, processType, filter, Arrays.<IComponentConversion>asList(new IComponentConversion() {
@Override
public void transform(NodeType node) {
if (ComponentUtilities.getNodeProperty(node, "IGNORE_NULL") == null && ComponentUtilities.getNodeProperty(node, "MS_CRM_VERSION") == null) {
ComponentUtilities.addNodeProperty(node, "IGNORE_NULL", "CHECK");
ComponentUtilities.getNodeProperty(node, "IGNORE_NULL").setValue("true");
}
}
}));
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 AddOneOptionAndReverseTheValueOnFSComponents method execute.
public ExecutionResult execute(Item item) {
ProcessType processType = getProcessType(item);
if (getProject().getLanguage() != ECodeLanguage.JAVA || processType == null) {
return ExecutionResult.NOTHING_TO_DO;
}
try {
// String[] arrFSComponentsName = new String[] { "tFSAggregate", "tFSCheck", "tFSCode", "tFSFilterColumns", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
// "tFSFilterRows", "tFSTransform", "tFSUnique" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
String[] arrFSComponentsName = new String[] { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
"tFSAggregate", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
"tFSCheck", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
"tFSCode", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
"tFSFilterColumns", "tFSFilterRows", "tFSTransform", "tFSUnique", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
"tFSJoin" };
for (String fsComponentsName : arrFSComponentsName) {
IComponentFilter filter = new NameComponentFilter(fsComponentsName);
IComponentConversion addOption = new AddSortResultsOptionConversion();
ModifyComponentsAction.searchAndModify(item, processType, filter, Arrays.<IComponentConversion>asList(addOption));
}
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 AddPerlRefArrayMigrationTask method execute.
@Override
public ExecutionResult execute(Item item) {
try {
ProcessType processType = getProcessType(item);
if (getProject().getLanguage() == ECodeLanguage.JAVA || processType == null) {
return ExecutionResult.NOTHING_TO_DO;
} else {
List<String> namesList = new ArrayList<String>();
for (Object o : processType.getNode()) {
NodeType nt = (NodeType) o;
namesList.add(ComponentUtilities.getNodeUniqueName(nt));
}
for (Object o : processType.getConnection()) {
ConnectionType currentConnection = (ConnectionType) o;
int lineStyle = currentConnection.getLineStyle();
EConnectionType connectionType = EConnectionType.getTypeFromId(lineStyle);
if (connectionType.hasConnectionCategory(EConnectionType.FLOW)) {
namesList.add(currentConnection.getLabel());
}
}
final String[] namesArrays = namesList.toArray(new String[0]);
IComponentFilter filter1 = new IComponentFilter() {
/*
* (non-Javadoc)
*
* @see org.talend.core.model.components.filters.IComponentFilter#accept(org.talend.designer.core.model.utils.emf.talendfile.NodeType)
*/
public boolean accept(NodeType node) {
return true;
}
};
IComponentConversion componentConversion = new IComponentConversion() {
RefArraySyntaxReplacerForPerl parser = new RefArraySyntaxReplacerForPerl();
/*
* (non-Javadoc)
*
* @see org.talend.core.model.components.conversions.IComponentConversion#transform(org.talend.designer.core.model.utils.emf.talendfile.NodeType)
*/
public void transform(NodeType node) {
for (Object o : node.getElementParameter()) {
ElementParameterType pType = (ElementParameterType) o;
if (pType.getField().equals("TABLE")) {
//$NON-NLS-1$
for (ElementValueType elementValue : (List<ElementValueType>) pType.getElementValue()) {
elementValue.getValue();
String value = elementValue.getValue();
if (value != null) {
String newValue = parser.processReplacementOperations(value, namesArrays);
elementValue.setValue(newValue);
}
}
} else {
String value = pType.getValue();
if (value != null) {
String newValue = parser.processReplacementOperations(value, namesArrays);
pType.setValue(newValue);
}
}
}
}
};
ModifyComponentsAction.searchAndModify(item, processType, filter1, Arrays.<IComponentConversion>asList(componentConversion));
return ExecutionResult.SUCCESS_WITH_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 AddDoubleQuoteToAllDBSPNameMigrationTask method execute.
/*
* (non-Javadoc)
*
* @see org.talend.core.model.migration.AbstractItemMigrationTask#execute(org.talend.core.model.properties.Item)
*/
@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$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
String[] componentsName = new String[] { "tOracleSP", "tMSSqlSP", "tDB2SP", "tSybaseSP", "tMysqlSP", "tJDBCSP" };
//$NON-NLS-1$
IComponentConversion addQuotesSPName = new AddQuotesInPropertyComponentConversion("SP_NAME");
for (String name : componentsName) {
//$NON-NLS-1$
IComponentFilter filter = new NameComponentFilter(name);
ModifyComponentsAction.searchAndModify(item, processType, filter, Arrays.<IComponentConversion>asList(addQuotesSPName));
}
return ExecutionResult.SUCCESS_NO_ALERT;
} catch (Exception e) {
ExceptionHandler.process(e);
return ExecutionResult.FAILURE;
}
}
Aggregations