/** * Get the meta data * * @param meta */ private void getMeta(MultiMergeJoinMeta meta) { StepIOMetaInterface stepIOMeta = meta.getStepIOMeta(); List<StreamInterface> infoStreams = stepIOMeta.getInfoStreams(); StreamInterface stream; String streamDescription; ArrayList<String> inputStepNameList = new ArrayList<String>(); ArrayList<String> keyList = new ArrayList<String>(); CCombo wInputStep; String inputStepName; for (int i = 0; i < wInputStepArray.length; i++) { wInputStep = wInputStepArray[i]; inputStepName = wInputStep.getText(); if (Const.isEmpty(inputStepName)) { continue; } inputStepNameList.add(inputStepName); keyList.add(keyValTextBox[i].getText()); if (infoStreams.size() < inputStepNameList.size()) { streamDescription = BaseMessages.getString(PKG, "MultiMergeJoin.InfoStream.Description"); stream = new Stream(StreamType.INFO, null, streamDescription, StreamIcon.INFO, null); stepIOMeta.addStream(stream); } } int inputStepCount = inputStepNameList.size(); meta.allocateInputSteps(inputStepCount); meta.allocateKeys(inputStepCount); String[] inputSteps = meta.getInputSteps(); String[] keyFields = meta.getKeyFields(); infoStreams = stepIOMeta.getInfoStreams(); for (int i = 0; i < inputStepCount; i++) { inputStepName = inputStepNameList.get(i); inputSteps[i] = inputStepName; stream = infoStreams.get(i); stream.setStepMeta(transMeta.findStep(inputStepName)); keyFields[i] = keyList.get(i); } meta.setJoinType(joinTypeCombo.getText()); }
/** Copy information from the meta-data input to the dialog fields. */ public void getData() { String[] inputStepNames = joinMeta.getInputSteps(); if (inputStepNames != null) { String inputStepName; String[] keyFields = joinMeta.getKeyFields(); String keyField; for (int i = 0; i < inputStepNames.length; i++) { inputStepName = Const.NVL(inputStepNames[i], ""); wInputStepArray[i].setText(inputStepName); keyField = Const.NVL(keyFields[i], ""); keyValTextBox[i].setText(keyField); } String joinType = joinMeta.getJoinType(); if (joinType != null && joinType.length() > 0) { joinTypeCombo.setText(joinType); } else { joinTypeCombo.setText(MultiMergeJoinMeta.join_types[0]); } } wStepname.selectAll(); wStepname.setFocus(); }