public void check( List<CheckResultInterface> remarks, TransMeta transMeta, StepMeta stepinfo, RowMetaInterface prev, String[] input, String[] output, RowMetaInterface info) { CheckResult cr; String error_message = ""; // $NON-NLS-1$ // See if we have input streams leading to this step! if (input.length > 0) { cr = new CheckResult( CheckResult.TYPE_RESULT_OK, Messages.getString("DynamicSQLRowMeta.CheckResult.ReceivingInfo"), stepinfo); //$NON-NLS-1$ remarks.add(cr); } else { cr = new CheckResult( CheckResult.TYPE_RESULT_ERROR, Messages.getString("DynamicSQLRowMeta.CheckResult.NoInputReceived"), stepinfo); //$NON-NLS-1$ remarks.add(cr); } // Check for SQL field if (Const.isEmpty(sqlfieldname)) { cr = new CheckResult( CheckResult.TYPE_RESULT_ERROR, Messages.getString("DynamicSQLRowMeta.CheckResult.SQLFieldNameMissing"), stepinfo); //$NON-NLS-1$ remarks.add(cr); } else { ValueMetaInterface vfield = prev.searchValueMeta(sqlfieldname); if (vfield == null) cr = new CheckResult( CheckResult.TYPE_RESULT_ERROR, Messages.getString("DynamicSQLRowMeta.CheckResult.SQLFieldNotFound", sqlfieldname), stepinfo); //$NON-NLS-1$ else cr = new CheckResult( CheckResult.TYPE_RESULT_OK, Messages.getString( "DynamicSQLRowMeta.CheckResult.SQLFieldFound", sqlfieldname, vfield.getOrigin()), stepinfo); remarks.add(cr); } if (databaseMeta != null) { Database db = new Database(databaseMeta); databases = new Database[] {db}; // Keep track of this one for cancelQuery try { db.connect(); if (sql != null && sql.length() != 0) { error_message = ""; // $NON-NLS-1$ RowMetaInterface r = db.getQueryFields(sql, true); if (r != null) { cr = new CheckResult( CheckResult.TYPE_RESULT_OK, Messages.getString("DynamicSQLRowMeta.CheckResult.QueryOK"), stepinfo); //$NON-NLS-1$ remarks.add(cr); } else { error_message = Messages.getString("DynamicSQLRowMeta.CheckResult.InvalidDBQuery"); // $NON-NLS-1$ cr = new CheckResult(CheckResult.TYPE_RESULT_ERROR, error_message, stepinfo); remarks.add(cr); } } } catch (KettleException e) { error_message = Messages.getString("DynamicSQLRowMeta.CheckResult.ErrorOccurred") + e.getMessage(); // $NON-NLS-1$ cr = new CheckResult(CheckResult.TYPE_RESULT_ERROR, error_message, stepinfo); remarks.add(cr); } finally { db.disconnect(); } } else { error_message = Messages.getString("DynamicSQLRowMeta.CheckResult.InvalidConnection"); // $NON-NLS-1$ cr = new CheckResult(CheckResult.TYPE_RESULT_ERROR, error_message, stepinfo); remarks.add(cr); } }