public StepErrorMeta loadStepErrorMeta( VariableSpace variables, StepMeta stepMeta, List<StepMeta> steps ) throws KettleException { StepErrorMeta meta = new StepErrorMeta( variables, stepMeta ); meta.setTargetStep( StepMeta.findStep( steps, repository.getStepAttributeString( stepMeta.getObjectId(), "step_error_handling_target_step" ) ) ); meta .setEnabled( repository.getStepAttributeBoolean( stepMeta.getObjectId(), "step_error_handling_is_enabled" ) ); meta.setNrErrorsValuename( repository.getStepAttributeString( stepMeta.getObjectId(), "step_error_handling_nr_valuename" ) ); meta.setErrorDescriptionsValuename( repository.getStepAttributeString( stepMeta.getObjectId(), "step_error_handling_descriptions_valuename" ) ); meta.setErrorFieldsValuename( repository.getStepAttributeString( stepMeta.getObjectId(), "step_error_handling_fields_valuename" ) ); meta.setErrorCodesValuename( repository.getStepAttributeString( stepMeta.getObjectId(), "step_error_handling_codes_valuename" ) ); meta.setMaxErrors( repository .getStepAttributeString( stepMeta.getObjectId(), "step_error_handling_max_errors" ) ); meta.setMaxPercentErrors( repository.getStepAttributeString( stepMeta.getObjectId(), "step_error_handling_max_pct_errors" ) ); meta.setMinPercentRows( repository.getStepAttributeString( stepMeta.getObjectId(), "step_error_handling_min_pct_rows" ) ); return meta; }
public void ok() { getInfo(); originalStepErrorMeta.setTargetStep( stepErrorMeta.getTargetStep() ); originalStepErrorMeta.setEnabled( stepErrorMeta.isEnabled() ); originalStepErrorMeta.setNrErrorsValuename( stepErrorMeta.getNrErrorsValuename() ); originalStepErrorMeta.setErrorDescriptionsValuename( stepErrorMeta.getErrorDescriptionsValuename() ); originalStepErrorMeta.setErrorFieldsValuename( stepErrorMeta.getErrorFieldsValuename() ); originalStepErrorMeta.setErrorCodesValuename( stepErrorMeta.getErrorCodesValuename() ); originalStepErrorMeta.setMaxErrors( stepErrorMeta.getMaxErrors() ); originalStepErrorMeta.setMaxPercentErrors( stepErrorMeta.getMaxPercentErrors() ); originalStepErrorMeta.setMinPercentRows( stepErrorMeta.getMinPercentRows() ); originalStepErrorMeta.setChanged(); ok = true; dispose(); }
/** * @return if error handling is supported for this step, if error handling is defined and a target step is set */ public boolean isDoingErrorHandling() { return stepMetaInterface.supportsErrorHandling() && stepErrorMeta != null && stepErrorMeta.getTargetStep() != null && stepErrorMeta.isEnabled(); }
public void getData() { wSourceStep.setText( stepErrorMeta.getSourceStep() != null ? stepErrorMeta.getSourceStep().getName() : "" ); wTargetStep.setText( stepErrorMeta.getTargetStep() != null ? stepErrorMeta.getTargetStep().getName() : "" ); wEnabled.setSelection( stepErrorMeta.isEnabled() ); wNrErrors.setText( Const.NVL( stepErrorMeta.getNrErrorsValuename(), "" ) ); wErrDesc.setText( Const.NVL( stepErrorMeta.getErrorDescriptionsValuename(), "" ) ); wErrFields.setText( Const.NVL( stepErrorMeta.getErrorFieldsValuename(), "" ) ); wErrCodes.setText( Const.NVL( stepErrorMeta.getErrorCodesValuename(), "" ) ); wMaxErrors.setText( stepErrorMeta.getMaxErrors() != null ? stepErrorMeta.getMaxErrors() : "" ); wMaxPct.setText( stepErrorMeta.getMaxPercentErrors() != null ? stepErrorMeta.getMaxPercentErrors() : "" ); wMinPctRows.setText( stepErrorMeta.getMinPercentRows() != null ? stepErrorMeta.getMinPercentRows() : "" ); wSourceStep.setFocus(); }
public void addErrorRowData( Object[] row, int startIndex, long nrErrors, String errorDescriptions, String fieldNames, String errorCodes ) { int index = startIndex; String nrErr = variables.environmentSubstitute( getNrErrorsValuename() ); if ( !Utils.isEmpty( nrErr ) ) { row[index] = new Long( nrErrors ); index++; } String errDesc = variables.environmentSubstitute( getErrorDescriptionsValuename() ); if ( !Utils.isEmpty( errDesc ) ) { row[index] = errorDescriptions; index++; } String errFields = variables.environmentSubstitute( getErrorFieldsValuename() ); if ( !Utils.isEmpty( errFields ) ) { row[index] = fieldNames; index++; } String errCodes = variables.environmentSubstitute( getErrorCodesValuename() ); if ( !Utils.isEmpty( errCodes ) ) { row[index] = errorCodes; index++; } }
previewMeta.addTransHop( oneTwo ); StepErrorMeta errMeta = new StepErrorMeta( parent, one, err ); errMeta.setEnabled( true ); errMeta.setNrErrorsValuename( NUMBER_ERRORS_FIELD ); errMeta.setErrorDescriptionsValuename( ERROR_DESC_FIELD ); errMeta.setErrorFieldsValuename( ERROR_FIELD_VALUE ); errMeta.setErrorCodesValuename( ERROR_CODE_VALUE );
private void addErrorHop() { // Automatically configure the step error handling too! // if ( candidate == null || candidate.getFromStep() == null ) { return; } StepErrorMeta errorMeta = candidate.getFromStep().getStepErrorMeta(); if ( errorMeta == null ) { errorMeta = new StepErrorMeta( transMeta, candidate.getFromStep() ); } errorMeta.setEnabled( true ); errorMeta.setTargetStep( candidate.getToStep() ); candidate.getFromStep().setStepErrorMeta( errorMeta ); }
Node stepErrorMetaNode = XMLHandler.getSubNodeByNr( errorHandlingNode, StepErrorMeta.XML_ERROR_TAG, i ); StepErrorMeta stepErrorMeta = new StepErrorMeta( transMeta.getParentVariableSpace(), stepErrorMetaNode, transMeta.getSteps() ); int srcStepPos = stepOldNames.indexOf( stepErrorMeta.getSourceStep().getName() ); int tgtStepPos = stepOldNames.indexOf( stepErrorMeta.getTargetStep().getName() ); StepMeta sourceStep = transMeta.findStep( steps[srcStepPos].getName() ); if ( sourceStep != null ) { sourceStep.setStepErrorMeta( stepErrorMeta ); StepMeta targetStep = transMeta.findStep( steps[tgtStepPos].getName() ); stepErrorMeta.setSourceStep( sourceStep ); stepErrorMeta.setTargetStep( targetStep );
if ( stepErrorMeta.getTargetStep() != null && stepErrorMeta.getTargetStep().equals( transHopMeta.getToStep() ) ) { stepErrorMeta.setEnabled( false ); stepFromNeedAddUndoChange = true;
tableOutputErrorMeta.setTargetStep( outputDummyStepMeta ); tableOutputErrorMeta.setEnabled( true );
public boolean isSendingErrorRowsToStep( StepMeta targetStep ) { return ( isDoingErrorHandling() && stepErrorMeta.getTargetStep().equals( targetStep ) ); }
if ( fromStep.isDoingErrorHandling() && toStep.equals( errorMeta.getTargetStep() ) ) { errorMeta.setTargetStep( selectedStep );
for ( int i = 0; i < nrErrorHandlers; i++ ) { Node stepErrorMetaNode = XMLHandler.getSubNodeByNr( errorHandlingNode, StepErrorMeta.XML_ERROR_TAG, i ); StepErrorMeta stepErrorMeta = new StepErrorMeta( this, stepErrorMetaNode, steps ); if ( stepErrorMeta.getSourceStep() != null ) { stepErrorMeta.getSourceStep().setStepErrorMeta( stepErrorMeta ); // a bit of a trick, I know.
@Test public void testGetErrorRowMeta() { VariableSpace vars = new Variables(); vars.setVariable( "VarNumberErrors", "nbrErrors" ); vars.setVariable( "VarErrorDescription", "errorDescription" ); vars.setVariable( "VarErrorFields", "errorFields" ); vars.setVariable( "VarErrorCodes", "errorCodes" ); StepErrorMeta testObject = new StepErrorMeta( vars, new StepMeta(), new StepMeta(), "${VarNumberErrors}", "${VarErrorDescription}", "${VarErrorFields}", "${VarErrorCodes}" ); RowMetaInterface result = testObject.getErrorRowMeta( 10, "some data was bad", "factId", "BAD131" ); assertNotNull( result ); assertEquals( 4, result.size() ); assertEquals( ValueMetaInterface.TYPE_INTEGER, result.getValueMeta( 0 ).getType() ); assertEquals( "nbrErrors", result.getValueMeta( 0 ).getName() ); assertEquals( ValueMetaInterface.TYPE_STRING, result.getValueMeta( 1 ).getType() ); assertEquals( "errorDescription", result.getValueMeta( 1 ).getName() ); assertEquals( ValueMetaInterface.TYPE_STRING, result.getValueMeta( 2 ).getType() ); assertEquals( "errorFields", result.getValueMeta( 2 ).getName() ); assertEquals( ValueMetaInterface.TYPE_STRING, result.getValueMeta( 3 ).getType() ); assertEquals( "errorCodes", result.getValueMeta( 3 ).getName() ); } }
private void updateErrorMetaForHop( TransHopMeta hop ) { if ( hop != null && hop.isErrorHop() ) { StepErrorMeta errorMeta = hop.getFromStep().getStepErrorMeta(); if ( errorMeta != null ) { errorMeta.setEnabled( hop.isEnabled() ); } } }
public void editStepErrorHandling( TransMeta transMeta, StepMeta stepMeta ) { if ( stepMeta != null && stepMeta.supportsErrorHandling() ) { StepErrorMeta stepErrorMeta = stepMeta.getStepErrorMeta(); if ( stepErrorMeta == null ) { stepErrorMeta = new StepErrorMeta( transMeta, stepMeta ); } List<StepMeta> targetSteps = transMeta.findNextSteps( stepMeta ); // now edit this stepErrorMeta object: StepErrorMetaDialog dialog = new StepErrorMetaDialog( spoon.getShell(), stepErrorMeta, transMeta, targetSteps ); if ( dialog.open() ) { stepMeta.setStepErrorMeta( stepErrorMeta ); stepMeta.setChanged(); spoon.refreshGraph(); } } }
private void getInfo() { stepErrorMeta.setTargetStep( StepMeta.findStep( targetSteps, wTargetStep.getText() ) ); stepErrorMeta.setEnabled( wEnabled.getSelection() ); stepErrorMeta.setNrErrorsValuename( wNrErrors.getText() ); stepErrorMeta.setErrorDescriptionsValuename( wErrDesc.getText() ); stepErrorMeta.setErrorFieldsValuename( wErrFields.getText() ); stepErrorMeta.setErrorCodesValuename( wErrCodes.getText() ); stepErrorMeta.setMaxErrors( wMaxErrors.getText() ); stepErrorMeta.setMaxPercentErrors( Const.replace( wMaxPct.getText(), "%", "" ) ); stepErrorMeta.setMinPercentRows( wMinPctRows.getText() ); } }
public void saveStepErrorMeta( StepErrorMeta meta, ObjectId id_transformation, ObjectId id_step ) throws KettleException { repository.saveStepAttribute( id_transformation, id_step, "step_error_handling_source_step", meta .getSourceStep() != null ? meta.getSourceStep().getName() : "" ); repository.saveStepAttribute( id_transformation, id_step, "step_error_handling_target_step", meta .getTargetStep() != null ? meta.getTargetStep().getName() : "" ); repository.saveStepAttribute( id_transformation, id_step, "step_error_handling_is_enabled", meta.isEnabled() ); repository.saveStepAttribute( id_transformation, id_step, "step_error_handling_nr_valuename", meta .getNrErrorsValuename() ); repository.saveStepAttribute( id_transformation, id_step, "step_error_handling_descriptions_valuename", meta .getErrorDescriptionsValuename() ); repository.saveStepAttribute( id_transformation, id_step, "step_error_handling_fields_valuename", meta .getErrorFieldsValuename() ); repository.saveStepAttribute( id_transformation, id_step, "step_error_handling_codes_valuename", meta .getErrorCodesValuename() ); repository.saveStepAttribute( id_transformation, id_step, "step_error_handling_max_errors", meta .getMaxErrors() ); repository.saveStepAttribute( id_transformation, id_step, "step_error_handling_max_pct_errors", meta .getMaxPercentErrors() ); repository.saveStepAttribute( id_transformation, id_step, "step_error_handling_min_pct_rows", meta .getMinPercentRows() ); }
public RowMetaInterface getErrorRowMeta( long nrErrors, String errorDescriptions, String fieldNames, String errorCodes ) { RowMetaInterface row = new RowMeta(); String nrErr = variables.environmentSubstitute( getNrErrorsValuename() ); if ( !Utils.isEmpty( nrErr ) ) { ValueMetaInterface v = new ValueMetaInteger( nrErr ); v.setLength( 3 ); row.addValueMeta( v ); } String errDesc = variables.environmentSubstitute( getErrorDescriptionsValuename() ); if ( !Utils.isEmpty( errDesc ) ) { ValueMetaInterface v = new ValueMetaString( errDesc ); row.addValueMeta( v ); } String errFields = variables.environmentSubstitute( getErrorFieldsValuename() ); if ( !Utils.isEmpty( errFields ) ) { ValueMetaInterface v = new ValueMetaString( errFields ); row.addValueMeta( v ); } String errCodes = variables.environmentSubstitute( getErrorCodesValuename() ); if ( !Utils.isEmpty( errCodes ) ) { ValueMetaInterface v = new ValueMetaString( errCodes ); row.addValueMeta( v ); } return row; }
inputStepMeta.setStepErrorMeta( new StepErrorMeta( transMeta, inputStepMeta ) ); transMeta.addStep( inputStepMeta ); StepErrorMeta inputErrorMeta = new StepErrorMeta( transMeta, inputStepMeta ) { public void addErrorRowData( Object[] row, int startIndex, long nrErrors, String errorDescriptions, String fieldNames, String errorCodes ) { inputErrorMeta.setTargetStep( outputDummyStepMeta ); inputErrorMeta.setEnabled( true ); inputStepMeta.setStepErrorMeta( inputErrorMeta );