/** Copy information from the meta-data input to the dialog fields. */ public void getData() { super.getData(); hasOneTemporalField = ((LoadSatMeta) inputMeta).getFromDateColumn() != null; enableFields(); if (inputMeta.getFields() != null) { for (int i = 0; i < inputMeta.getFields().length; i++) { TableItem item = wKey.table.getItem(i); if (inputMeta.getCols()[i] != null) { item.setText(1, inputMeta.getCols()[i]); } if (inputMeta.getFields()[i] != null) { item.setText(2, inputMeta.getFields()[i]); } if (inputMeta.getTypes()[i] != null) { item.setText(3, inputMeta.getTypes()[i]); } } } if (((LoadSatMeta) inputMeta).getToDateColumn() != null) { wcbToDateCol.setText(((LoadSatMeta) inputMeta).getToDateColumn()); } if (((LoadSatMeta) inputMeta).getToDateMaxFlag() != null) { wToDateMax.setText(((LoadSatMeta) inputMeta).getToDateMaxFlag()); } wbIsIdempotentSat.setSelection(((LoadSatMeta) inputMeta).isIdempotent()); wKey.setRowNums(); wKey.optWidth(true); wStepname.selectAll(); wStepname.setFocus(); }
/* * Update the Meta object according to UI widgets */ protected void getInfo(BaseLoadMeta inMeta) { super.getInfo(inMeta); int nrkeys = wKey.nrNonEmpty(); inMeta.allocateKeyArray(nrkeys); logDebug("Found nb of Keys=", String.valueOf(nrkeys)); // in case temporal not set, then null is used as flag ((LoadSatMeta) inMeta).setFromDateColumn(null); for (int i = 0; i < nrkeys; i++) { TableItem item = wKey.getNonEmpty(i); inMeta.getCols()[i] = item.getText(1); inMeta.getFields()[i] = item.getText(2); String t = item.getText(3); // Unknown category is default to Normal if (!(t.equals(LoadSatMeta.ATTRIBUTE_NORMAL)) && !(t.equals(LoadSatMeta.ATTRIBUTE_FK)) && !(t.equals(LoadSatMeta.ATTRIBUTE_TEMPORAL)) && !(t.equals(LoadSatMeta.ATTRIBUTE_META))) { t = LoadSatMeta.ATTRIBUTE_NORMAL; } inMeta.getTypes()[i] = t; // first temporal found is the one we keep if (item.getText(3).equals(LoadSatMeta.ATTRIBUTE_TEMPORAL)) { ((LoadSatMeta) inMeta).setFromDateColumn(LoadSatMeta.ATTRIBUTE_TEMPORAL); } } ((LoadSatMeta) inMeta).setToDateColumn(wcbToDateCol.getText()); ((LoadSatMeta) inMeta).setToDateMaxFlag(wToDateMax.getText()); ((LoadSatMeta) inMeta).setIdempotent(wbIsIdempotentSat.getSelection()); }