use of org.talend.designer.webservice.ui.ParameterInfoUtil in project tdi-studio-se by Talend.
the class DropTargetListenerForWebService method drop.
/*
* (non-Javadoc)
*
* @see org.eclipse.swt.dnd.DropTargetListener#drop(org.eclipse.swt.dnd.DropTargetEvent)
*/
public void drop(DropTargetEvent event) {
if (getTransfer().isSupportedType(event.currentDataType)) {
// boolean canRemove = true;
// Parameter pa = TableEntriesTransfer.getInstance().getParameter();
Table draggableTable = (Table) draggableControl;
Point point = new Point(event.x, event.y);
int selevIndex = TableUtils.getItemIndexWhereInsertFromPosition(draggableTable, point);
if (selevIndex < 0) {
return;
}
TableItem tabitem = TableEntriesTransfer.getInstance().getTableItem();
if (tabitem == null) {
return;
}
ExtendedTableModel tabelModel = draggableControlView.getExtendedTableModel();
if (tabelModel.getBeansList().size() == 0 || tabelModel.getBeansList().size() == selevIndex) {
// }
return;
} else if (tabelModel.getBeansList().size() > 0) {
if (tabelModel.getBeansList().size() < selevIndex) {
return;
}
Object objData = tabelModel.getBeansList().get(selevIndex);
if (objData instanceof InputMappingData) {
InputMappingData inData = (InputMappingData) objData;
IMetadataColumn inputColumn = null;
if (tabitem.getData() instanceof IMetadataColumn) {
inputColumn = (IMetadataColumn) tabitem.getData();
List<IMetadataColumn> columnList = inData.getMetadataColumnList();
if (inData.getInputColumnValue() == null || "".equals(inData.getInputColumnValue())) {
inData.setInputColumnValue(connector.initInRoWName() + "." + inputColumn.getLabel());
columnList.add(inputColumn);
} else {
inData.setInputColumnValue(inData.getInputColumnValue() + " " + connector.initInRoWName() + "." + inputColumn.getLabel());
columnList.add(inputColumn);
}
}
tabelModel.remove(selevIndex);
tabelModel.add(inData, selevIndex);
} else if (objData instanceof OutPutMappingData) {
OutPutMappingData outData = (OutPutMappingData) objData;
if (tabitem.getData() instanceof ParameterInfo) {
ParameterInfo para = (ParameterInfo) tabitem.getData();
if (outData.getParameterName() == null || "".equals(outData.getParameterName())) {
if (para.getParent() != null) {
String name = new ParameterInfoUtil().getParentName(para);
outData.setParameterName(name);
} else {
outData.setParameterName(para.getName());
}
} else {
outData.setParameterName(outData.getParameterName() + " " + para.getName());
}
outData.getParameterList().add(para);
// outData.setParameter(para);
} else if (tabitem.getData() instanceof OutPutMappingData) {
if (((OutPutMappingData) tabitem.getData()).getParameter() instanceof ParameterInfo) {
ParameterInfo para = ((OutPutMappingData) tabitem.getData()).getParameter();
if (outData.getParameterName() == null || "".equals(outData.getParameterName())) {
if (para.getParent() != null) {
String name = "";
if (((OutPutMappingData) tabitem.getData()).getParameterName() != null) {
name = ((OutPutMappingData) tabitem.getData()).getParameterName();
} else {
name = new ParameterInfoUtil().getParentName(para);
}
outData.setParameterName(name);
} else {
outData.setParameterName(para.getName());
}
} else {
outData.setParameterName(outData.getParameterName() + " " + para.getName());
}
outData.getParameterList().add(para);
// outData.setParameter(para);
}
}
tabelModel.remove(selevIndex);
tabelModel.add(outData, selevIndex);
}
}
TableItem[] items = draggableTable.getSelection();
if (items.length <= 0) {
return;
}
TableItem itemTarget = items[0];
itemTarget.setChecked(true);
createLinks(itemTarget, tabitem, tabelModel.getName());
}
}
use of org.talend.designer.webservice.ui.ParameterInfoUtil in project tdi-studio-se by Talend.
the class WebServiceDialog method saveValue.
private void saveValue() {
List<InputMappingData> inputList = webServiceUI.getInputParams();
List<OutPutMappingData> outputList = webServiceUI.getOutputParams();
String currentURL = webServiceUI.getURL();
List<PortNames> allPortNames = webServiceUI.getAllPortNames();
Function function = webServiceUI.getCurrentFunction();
PortNames currePortName = webServiceUI.getCurrentPortName();
List<OutPutMappingData> outEleList = webServiceUI.getOutputElement();
Set<String> insourceList = webServiceUI.getInSourceList();
Set<String> outsourceList = webServiceUI.getOutSourceList();
IMetadataTable inputMetaCopy = webServiceUI.getInputMetaCopy();
IMetadataTable outputMetaCopy = webServiceUI.getOutputMetaCopy();
IMetadataTable inputMetadata = webServiceUI.getInputMetadata();
IMetadataTable outputMetadata = webServiceUI.getOutputMetadata();
List<IMetadataColumn> inputmetadata = webServiceUI.getInputValue();
WebServiceComponent wenCom = webServiceComponentMain.getWebServiceComponent();
IMetadataTable wenMetadata = wenCom.getMetadataFromConnector("OUTPUT");
if (wenMetadata != null && outputMetadata != wenMetadata) {
outputMetadata = wenMetadata;
}
// save schema.
if (outputMetaCopy != null) {
if (!outputMetaCopy.sameMetadataAs(outputMetadata, IMetadataColumn.OPTIONS_NONE)) {
outputMetadata.getListColumns().clear();
outputMetadata.getListColumns().addAll(outputMetaCopy.getListColumns());
}
}
if (!"".equals(currentURL) && currentURL != null) {
IElementParameter ENDPOINTPara = wenCom.getElementParameter("ENDPOINT");
ENDPOINTPara.setValue(currentURL);
}
if (currePortName != null) {
IElementParameter Port_Name = wenCom.getElementParameter("PORT_NAME");
Port_Name.setValue(currePortName.getPortName());
} else if (currePortName == null && !allPortNames.isEmpty()) {
currePortName = allPortNames.get(0);
IElementParameter Port_Name = wenCom.getElementParameter("PORT_NAME");
Port_Name.setValue(currePortName.getPortName());
}
if (function != null) {
if (function.getName() != null) {
IElementParameter METHODPara = wenCom.getElementParameter("METHOD");
METHODPara.setValue(function.getName());
}
if (function.getServerNameSpace() != null) {
IElementParameter Service_NS = wenCom.getElementParameter("SERVICE_NS");
Service_NS.setValue(function.getServerNameSpace());
}
if (function.getServerName() != null) {
IElementParameter Service_Name = wenCom.getElementParameter("SERVICE_NAME");
Service_Name.setValue(function.getServerName());
}
if (function.getServerNameSpace() != null) {
IElementParameter Port_NS = wenCom.getElementParameter("PORT_NS");
Port_NS.setValue(function.getServerNameSpace());
}
// IElementParameter ADDRESSLocation = wenCom.getElementParameter("ADDRESS_LOCATION");
// ADDRESSLocation.setValue(function.getAddressLocation());
}
// save input
IElementParameter INPUT_PARAMSPara = wenCom.getElementParameter("INPUT_PARAMS");
List<Map<String, String>> inputparaValue = (List<Map<String, String>>) INPUT_PARAMSPara.getValue();
if (inputparaValue == null) {
inputparaValue = new ArrayList<Map<String, String>>();
} else {
inputparaValue.clear();
}
for (InputMappingData inputData : inputList) {
Map<String, String> inputMap = new HashMap<String, String>(2);
if (inputData.getInputColumnValue() != null) {
inputMap.put("EXPRESSION", inputData.getInputColumnValue());
}
if (inputData.getParameterName() != null) {
String name = inputData.getParameterName();
if (!name.equals("")) {
inputMap.put("ELEMENT", name);
}
} else if (inputData.getParameterName() == null && inputData.getParameter() != null) {
if (inputData.getParameter().getParent() != null) {
String name = new ParameterInfoUtil().getParentName(inputData.getParameter());
inputMap.put("ELEMENT", name);
} else {
inputMap.put("ELEMENT", inputData.getParameter().getName());
}
// inputMap.put("ELEMENT", inputData.getInputElementValue());
// inputMap.put("NAMESPACE", inputData.getParameter().getNameSpace());
// inputMap.put("TYPE", inputData.getParameter().getKind());
}
inputparaValue.add(inputMap);
}
for (IMetadataColumn column : inputmetadata) {
Map<String, String> columnMap = new HashMap<String, String>(1);
if (column.getLabel() != null) {
columnMap.put("COLUMN", column.getLabel());
inputparaValue.add(columnMap);
}
}
for (String insource : insourceList) {
if (insource == null || "".equals(insource)) {
continue;
}
Map<String, String> sourceMap = new HashMap<String, String>(1);
sourceMap.put("SOURCE", insource);
inputparaValue.add(sourceMap);
}
List<ParameterInfo> listParamter = new ArrayList();
if (function != null) {
List inputParameter = function.getInputParameters();
if (inputParameter != null) {
// for (int i = 0; i < inputParameter.size(); i++) {
boolean mark = true;
goin: for (Iterator iterator2 = inputParameter.iterator(); iterator2.hasNext(); ) {
ParameterInfo element = (ParameterInfo) iterator2.next();
Map<String, String> sourceMap = new HashMap<String, String>(2);
sourceMap.put("PARAMETERINFO", element.getName());
if (element.getParent() == null) {
sourceMap.put("PARAPARENT", "");
} else {
sourceMap.put("PARAPARENT", element.getParent().getName());
}
inputparaValue.add(sourceMap);
mark = false;
if (!element.getParameterInfos().isEmpty()) {
listParamter.addAll(new ParameterInfoUtil().getAllChildren(element));
}
break goin;
}
if (!mark) {
for (ParameterInfo para : listParamter) {
Map<String, String> sourceMap = new HashMap<String, String>(2);
sourceMap.put("PARAMETERINFO", para.getName());
sourceMap.put("PARAPARENT", para.getParent().getName());
sourceMap.put("PARAMETERARRAYSIZE", String.valueOf(para.getArraySize()));
sourceMap.put("PARAMETERINDEX", para.getIndex());
inputparaValue.add(sourceMap);
}
}
// }
}
}
// save output
IElementParameter OUTPUT_PARAMSPara = wenCom.getElementParameter("OUTPUT_PARAMS");
List<Map<String, String>> outputMap = (List<Map<String, String>>) OUTPUT_PARAMSPara.getValue();
if (outputMap == null) {
outputMap = new ArrayList<Map<String, String>>();
} else {
outputMap.clear();
}
for (OutPutMappingData outData : outEleList) {
ParameterInfo para = outData.getParameter();
if (para.getName() == null || "".equals(para.getName())) {
continue;
}
Map<String, String> eleMap = new HashMap<String, String>(3);
if (outData.getParameterName() != null) {
eleMap.put("ELEMENT", outData.getParameterName());
} else {
eleMap.put("ELEMENT", para.getName());
}
// eleMap.put("NAMESPACE", para.getNameSpace());
// eleMap.put("TYPE", para.getKind());
outputMap.add(eleMap);
}
for (OutPutMappingData data : outputList) {
Map<String, String> dataMap = new HashMap<String, String>(2);
if (data.getParameterName() != null) {
dataMap.put("EXPRESSION", data.getParameterName());
} else if (data.getParameterName() == null) {
// warningDialog("Please Select a Output Item.");
// return;
}
if (data.getMetadataColumn() != null) {
dataMap.put("COLUMN", data.getMetadataColumn().getLabel());
}
// else if (data.getMetadataColumn() == null) {
// warningDialog("Please Select a Output Item.");
// return;
// }
// Map<String, String> dataMap2 = new HashMap<String, String>(2);
// if (data.getParameterList().size() > 0) {
// for (ParameterInfo para : data.getParameterList()) {
// dataMap2.put("", para.getNameSpace());
// dataMap2.put("", para.getKind());
// }
// }
//
// if (data.getOutputColumnValue() != null) {
// dataMap.put(data.getParameterName(), data.getOutputColumnValue());
// }
outputMap.add(dataMap);
// outputMap.add(dataMap2);
}
for (String outsource : outsourceList) {
if (outsource == null || "".equals(outsource)) {
continue;
}
Map<String, String> sourceMap = new HashMap<String, String>(1);
sourceMap.put("SOURCE", outsource);
outputMap.add(sourceMap);
}
List<ParameterInfo> ls = new ArrayList();
if (function != null) {
List inputParameter = function.getOutputParameters();
if (inputParameter != null) {
// for (int i = 0; i < inputParameter.size(); i++) {
boolean mark = true;
goin: for (Iterator iterator2 = inputParameter.iterator(); iterator2.hasNext(); ) {
ParameterInfo element = (ParameterInfo) iterator2.next();
Map<String, String> sourceMap = new HashMap<String, String>(1);
sourceMap.put("PARAMETERINFO", element.getName());
if (element.getParent() == null) {
sourceMap.put("PARAPARENT", "");
} else {
sourceMap.put("PARAPARENT", element.getParent().getName());
}
outputMap.add(sourceMap);
mark = false;
if (!element.getParameterInfos().isEmpty()) {
ls.addAll(new ParameterInfoUtil().getAllChildren(element));
}
break goin;
}
if (!mark) {
for (ParameterInfo para : ls) {
Map<String, String> sourceMap = new HashMap<String, String>(2);
sourceMap.put("PARAMETERINFO", para.getName());
sourceMap.put("PARAPARENT", para.getParent().getName());
sourceMap.put("PARAMETERARRAYSIZE", String.valueOf(para.getArraySize()));
sourceMap.put("PARAMETERINDEX", para.getIndex());
outputMap.add(sourceMap);
}
}
// }
}
}
super.okPressed();
}
use of org.talend.designer.webservice.ui.ParameterInfoUtil in project tdi-studio-se by Talend.
the class AddListDialog method okPressed.
@Override
protected void okPressed() {
boolean falg = false;
IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();
paramList = selection.toList();
if (selection.size() == 1) {
ParameterInfo selPara = getSelectedParaInfo();
ParameterInfo usePara = null;
paraUtil = new ParameterInfoUtil();
int currentindex = -1;
// if select multi simple type items.
if (paramList != null && !paramList.isEmpty()) {
}
// if selected have branch.
if (selPara == null) {
return;
}
if (!selPara.getParameterInfos().isEmpty()) {
MessageBox box = new MessageBox(parentShell, SWT.ICON_ERROR | SWT.OK);
//$NON-NLS-1$
box.setText(Messages.getString("AddListDialog.Error"));
//$NON-NLS-1$
box.setMessage("Please Select " + selPara.getName() + " branch Item.");
box.open();
return;
}
} else if (selection.size() > 1) {
paraUtil = new ParameterInfoUtil();
List<ParameterInfo> list = selection.toList();
for (ParameterInfo info : list) {
if (!info.getParameterInfos().isEmpty()) {
MessageBox box = new MessageBox(parentShell, SWT.ICON_ERROR | SWT.OK);
//$NON-NLS-1$
box.setText(Messages.getString("AddListDialog.Error"));
//$NON-NLS-1$
box.setMessage("Please Select " + info.getName() + " branch Item.");
box.open();
return;
}
}
}
// if select a array item.
// if (selPara.getArraySize() == -1) {
// AddArrayIndexDialog dlg = new AddArrayIndexDialog(parentShell, selPara);
// int openCode = dlg.open();
// if (openCode == AddArrayIndexDialog.OK) {
// String indexValue = dlg.getIndexText();
// currentindex = Integer.valueOf(indexValue);
// } else {
// return;
// }
// paraUtil.setCurrentindex(currentindex);
// // super.okPressed();
// }
// if select item's parent is array.
// if (arraySize == 0 && selPara.getParent() != null && !getAllArrayFromParents(selPara, null).isEmpty()) {
// List<ParameterInfo> paraList = paraUtil.getAllParameterInfo(selPara);
// goout: for (ParameterInfo para : paraList) {
// if (para.getArraySize() != 0) {
// falg = true;
// usePara = para;
// arraySize = para.getArraySize();
// break goout;
// }
// }
// }
// if (falg) {
// String title = "";
// if (usePara != null && usePara.getName() != null) {
// title = usePara.getName() + " index is :";
// }
// if (getAllArrayFromParents(selPara, null).size() == 1 && "input".equals(inOrOut) && false) {
// InputDialog dlg = new InputDialog(parentShell, title, title, "", new InputIndexValidator()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
// int openCode = dlg.open();
// if (openCode == InputDialog.OK) {
// String indexValue = dlg.getValue();
// currentindex = Integer.valueOf(indexValue);
// } else if (openCode == InputDialog.CANCEL) {
// // super.cancelPressed();
// return;
// }
// if (arraySize != -1 && currentindex > arraySize) {
// currentindex = -1;
// MessageBox box = new MessageBox(parentShell, SWT.ICON_ERROR | SWT.OK | SWT.CANCEL);
// box.setText(Messages.getString("AddListDialog.Error")); //$NON-NLS-1$
// box.setMessage(Messages.getString("AddListDialog.CHECKSIZE")); //$NON-NLS-1$
// box.open();
// return;
// }
// paraUtil.setCurrentindex(currentindex);
// super.okPressed();
// } else if (getAllArrayFromParents(selPara, null).size() >= 1) {
//
// AddArrayIndexForParentsDialog multiDialog = new AddArrayIndexForParentsDialog(parentShell, selPara);
// int openCode = multiDialog.open();
// if (openCode == AddArrayIndexForParentsDialog.OK) {
// List indexList = null;
// if (multiDialog.getArrayIndexList() != null) {
// indexList = multiDialog.getArrayIndexList();
// }
// paraUtil.setCurrenIndexList(indexList);
// super.okPressed();
// } else {
// return;
// }
// }
//
// }
// paraUtil.setCurrentindex(currentindex);
super.okPressed();
}
Aggregations