use of org.talend.core.model.components.filters.IComponentFilter in project tdi-studio-se by Talend.
the class UpgradeAttributestAdvancedXMLMigrationTask 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("tAdvancedFileOutputXML");
IComponentConversion removeQuotes1 = new UpdateAttributesFortAdvancedXMLConversion();
ModifyComponentsAction.searchAndModify(item, processType, filter1, Arrays.<IComponentConversion>asList(removeQuotes1));
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 UpdateDbtypeOfCreateTableTask method execute.
/*
* (non-Javadoc)
*
* @see org.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().equals(ECodeLanguage.JAVA) && processType != null) {
final Map<String, String> dbtypes = new HashMap<String, String>();
//$NON-NLS-1$ //$NON-NLS-2$
dbtypes.put("Access", "ACCESS");
//$NON-NLS-1$ //$NON-NLS-2$
dbtypes.put("AS400", "AS400");
//$NON-NLS-1$ //$NON-NLS-2$
dbtypes.put("DB2", "DB2");
//$NON-NLS-1$ //$NON-NLS-2$
dbtypes.put("FireBird", "FIREBIRD");
//$NON-NLS-1$ //$NON-NLS-2$
dbtypes.put("Hsql", "HSQLDB");
//$NON-NLS-1$ //$NON-NLS-2$
dbtypes.put("Informix", "INFORMIX");
//$NON-NLS-1$ //$NON-NLS-2$
dbtypes.put("Ingres", "INGRES");
//$NON-NLS-1$ //$NON-NLS-2$
dbtypes.put("Interbase", "INTERBASE");
//$NON-NLS-1$ //$NON-NLS-2$
dbtypes.put("JavaDb", "JAVADB");
//$NON-NLS-1$ //$NON-NLS-2$
dbtypes.put("MSSQLServer", "MSSQL");
//$NON-NLS-1$ //$NON-NLS-2$
dbtypes.put("Oracle", "DBORACLE");
//$NON-NLS-1$ //$NON-NLS-2$
dbtypes.put("Postgre", "POSTGRE");
//$NON-NLS-1$ //$NON-NLS-2$
dbtypes.put("SQLite", "SQLITE");
//$NON-NLS-1$ //$NON-NLS-2$
dbtypes.put("Sybase", "SYBASE");
//$NON-NLS-1$ //$NON-NLS-2$
dbtypes.put("ODBC", "ODBC");
//$NON-NLS-1$
final String name = "tCreateTable";
//$NON-NLS-1$
final String property = "DBTYPE";
IComponentFilter filert = new IComponentFilter() {
public boolean accept(NodeType node) {
boolean toReturn = (name == null ? true : acceptS(node));
if (toReturn) {
String pValue = ComponentUtilities.getNodePropertyValue(node, property);
toReturn = !dbtypes.values().contains(pValue);
}
return toReturn;
}
public boolean acceptS(NodeType node) {
return node.getComponentName().equals(name);
}
};
IComponentConversion conversion = new IComponentConversion() {
public void transform(NodeType node) {
String pValue = ComponentUtilities.getNodePropertyValue(node, property);
String value = dbtypes.get(pValue);
if (value != null) {
ComponentUtilities.setNodeValue(node, property, value);
} else {
//$NON-NLS-1$
ComponentUtilities.setNodeValue(node, property, "MYSQL");
}
}
};
List<IComponentConversion> cons = new ArrayList<IComponentConversion>();
cons.add(conversion);
try {
ModifyComponentsAction.searchAndModify(item, processType, filert, cons);
return ExecutionResult.SUCCESS_NO_ALERT;
} catch (Exception e) {
ExceptionHandler.process(e);
return ExecutionResult.FAILURE;
}
} else {
// do nothing
return ExecutionResult.NOTHING_TO_DO;
}
}
use of org.talend.core.model.components.filters.IComponentFilter in project tdi-studio-se by Talend.
the class UnifyParameterOfDatastaxAndHectorForCassandra method execute.
/*
* (non-Javadoc)
*
* @see org.talend.core.model.migration.AbstractItemMigrationTask#execute(org.talend.core.model.properties.Item)
*/
@Override
public ExecutionResult execute(Item item) {
final ProcessType processType = getProcessType(item);
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
String[] compNames = { "tCassandraInput", "tCassandraOutput", "tCassandraRow", "tCassandraLookupInput" };
IComponentConversion conversion = new IComponentConversion() {
@Override
public void transform(NodeType node) {
if (node == null) {
return;
}
//$NON-NLS-1$
ElementParameterType cf = ComponentUtilities.getNodeProperty(node, "TABLE");
if (cf != null) {
if (ComponentUtilities.getNodeProperty(node, "COLUMN_FAMILY") == null) {
//$NON-NLS-1$
//$NON-NLS-1$ //$NON-NLS-2$
ComponentUtilities.addNodeProperty(node, "COLUMN_FAMILY", "TEXT");
}
//$NON-NLS-1$
ComponentUtilities.getNodeProperty(node, "COLUMN_FAMILY").setValue(cf.getValue());
}
//$NON-NLS-1$
ElementParameterType actionForCF = ComponentUtilities.getNodeProperty(node, "TABLE_ACTION");
if (actionForCF != null) {
if (ComponentUtilities.getNodeProperty(node, "ACTION_ON_COLUMN_FAMILY") == null) {
//$NON-NLS-1$
//$NON-NLS-1$ //$NON-NLS-2$
ComponentUtilities.addNodeProperty(node, "ACTION_ON_COLUMN_FAMILY", "TEXT");
}
//$NON-NLS-1$
ComponentUtilities.getNodeProperty(node, "ACTION_ON_COLUMN_FAMILY").setValue(actionForCF.getValue());
}
}
};
for (String name : compNames) {
IComponentFilter filter = new NameComponentFilter(name);
try {
ModifyComponentsAction.searchAndModify(item, processType, filter, Arrays.<IComponentConversion>asList(conversion));
} catch (PersistenceException e) {
// TODO Auto-generated catch block
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 UpdateKakfaInputConsumerTimeoutAndAutoOffsetTask method execute.
@Override
public ExecutionResult execute(Item item) {
ProcessType processType = getProcessType(item);
try {
//$NON-NLS-1$
IComponentFilter filter = new NameComponentFilter("tKafkaInput");
IComponentConversion addOption = new UpdateKakfaInputConversion();
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 StripslachesOnQuotesForTCollectAndCheck method execute.
@Override
public ExecutionResult execute(Item item) {
ProcessType processType = getProcessType(item);
try {
IComponentFilter filter = new NameComponentFilter("tCollectAndCheck");
IComponentConversion addOption = new StripslachesOnQuotesForTCollectAndCheckConversion();
ModifyComponentsAction.searchAndModify(item, processType, filter, Arrays.<IComponentConversion>asList(addOption));
return ExecutionResult.SUCCESS_NO_ALERT;
} catch (Exception e) {
ExceptionHandler.process(e);
return ExecutionResult.FAILURE;
}
}
Aggregations