public void evaluateString( String value ) { count++; if ( !values.contains( value ) ) { values.add( value ); if ( value != null ) { evaluateLength( value ); evaluatePrecision( value ); challengeConversions( value ); } } }
private void evaluatePrecision( String value ) { int p = determinePrecision( value ); if ( p > maxPrecision ) { maxPrecision = p; } }
StringEvaluator evaluator; if ( i >= evaluators.size() ) { evaluator = new StringEvaluator( true ); evaluators.add( evaluator ); } else { System.out.println(); evaluator.evaluateString( string ); BaseFileField field = meta.inputFields[i]; StringEvaluator evaluator = evaluators.get( i ); List<StringEvaluationResult> evaluationResults = evaluator.getStringEvaluationResults(); field.setLength( evaluator.getMaxLength() ); } else { StringEvaluationResult result = evaluator.getAdvicedResult(); if ( result != null ) {
protected void assumeColumnDetails( ColumnInfo profile, List<String> samples ) { StringEvaluator eval = new StringEvaluator( false, NUMBER_FORMATS, ColumnInfo.DATE_FORMATS ); for ( String sample : samples ) { eval.evaluateString( sample ); } StringEvaluationResult result = eval.getAdvicedResult(); ValueMetaInterface meta = result.getConversionMeta(); int type = meta.getType(); String mask = meta.getConversionMask(); int size; int precision = meta.getPrecision(); profile.setFormat( mask ); profile.setPrecision( precision > 0 ? precision : 0 ); profile.setDataType( convertDataType( type ) ); if ( meta.isString() ) { // pad the string lengths size = meta.getLength() + ( meta.getLength() / 2 ); } else if ( meta.isInteger() ) { size = meta.getLength(); } else { size = precision > 0 ? meta.getLength() : 0; } profile.setLength( size ); }
if ( containsInteger() && containsNumber() ) { for ( Iterator<StringEvaluationResult> iterator = evaluationResults.iterator(); iterator.hasNext(); ) { StringEvaluationResult result = iterator.next(); if ( containsInteger() && containsDate() ) { for ( Iterator<StringEvaluationResult> iterator = evaluationResults.iterator(); iterator.hasNext(); ) { StringEvaluationResult result = iterator.next(); if ( containsDate() ) {
for ( String format : getDateFormats() ) { ValueMetaInterface conversionMeta = new ValueMetaDate( "date" ); conversionMeta.setConversionMask( format ); EvalResultBuilder numberEuBuilder = new EvalResultBuilder( "number-eu", ValueMetaInterface.TYPE_NUMBER, 15, trimType, ",", "." ); for ( String format : getNumberFormats() ) { int precision = determinePrecision( format ); evaluationResults.add( numberUsBuilder.format( format, precision ).build() ); evaluationResults.add( numberEuBuilder.format( format, precision ).build() );
StringEvaluator evaluator; if ( i >= evaluators.size() ) { evaluator = new StringEvaluator( true ); evaluators.add( evaluator ); } else { System.out.println(); evaluator.evaluateString( string ); TextFileInputField field = meta.getInputFields()[i]; StringEvaluator evaluator = evaluators.get( i ); List<StringEvaluationResult> evaluationResults = evaluator.getStringEvaluationResults(); StringEvaluationResult result = evaluator.getAdvicedResult(); if ( evaluationResults.isEmpty() ) { field.setType( ValueMetaInterface.TYPE_STRING ); field.setLength( evaluator.getMaxLength() );