protected void sql() { LoadSatMeta metaH = new LoadSatMeta(); getInfo(metaH); try { SQLStatement sql = metaH.getSQLStatements(transMeta, stepMeta, null, repository, metaStore); if (!sql.hasError()) { if (sql.hasSQL()) { SQLEditor sqledit = new SQLEditor( transMeta, shell, SWT.NONE, metaH.getDatabaseMeta(), transMeta.getDbCache(), sql.getSQL()); sqledit.open(); } else { MessageBox mb = new MessageBox(shell, SWT.OK | SWT.ICON_INFORMATION); mb.setMessage(BaseMessages.getString(PKG, "LoadMeta.NoSQL.DialogMessage")); mb.setText(BaseMessages.getString(PKG, "LoadMeta.NoSQL.DialogTitle")); mb.open(); } } else { MessageBox mb = new MessageBox(shell, SWT.OK | SWT.ICON_ERROR); mb.setMessage(sql.getError()); mb.setText(BaseMessages.getString(PKG, "System.Dialog.Error.Title")); mb.open(); } } catch (KettleException ke) { new ErrorDialog( shell, BaseMessages.getString(PKG, "LoadDialog.BuildSQLError.DialogTitle"), BaseMessages.getString(PKG, "LoadDialog.BuildSQLError.DialogMessage"), ke); } }
/* * 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()); }