public static EConnectionType getTypeFromName(String name) { EConnectionType[] listConnectionType = EConnectionType.values(); for (int i = 0; i < listConnectionType.length; i++) { if (listConnectionType[i].getName().equals(name)) { return listConnectionType[i]; } } return null; }
public static EConnectionType getTypeFromId(int id) { EConnectionType[] listConnectionType = EConnectionType.values(); for (int i = 0; i < listConnectionType.length; i++) { if ((listConnectionType[i].getId()) == id) { return listConnectionType[i]; } } // Default Value return EConnectionType.FLOW_MAIN; }
@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; } }