private boolean containsDate() { for ( StringEvaluationResult result : evaluationResults ) { if ( result.getConversionMeta().isDate() && result.getNrSuccesses() > 0 ) { return true; } } return false; }
ValueMetaInterface stringMetaClone = null; for ( StringEvaluationResult cmm : all ) { if ( cmm.getConversionMeta().isBoolean() ) { cmm.incrementNrNull(); } else if ( !( "Y".equalsIgnoreCase( string ) || "N".equalsIgnoreCase( string ) || "TRUE".equalsIgnoreCase( string ) || "FALSE".equalsIgnoreCase( string ) ) ) { evaluationResults.remove( cmm ); } else { cmm.incrementSuccesses(); } else if ( cmm.getConversionMeta().isDate() ) { String dateFormat = cmm.getConversionMeta().getConversionMask(); if ( !DateDetector.isValidDateFormatToStringDate( dateFormat, value, "en_US" ) ) { evaluationResults.remove( cmm ); try { Object object = DateDetector.getDateFromStringByFormat( value, dateFormat ); cmm.incrementSuccesses(); if ( cmm.getMin() == null || cmm.getConversionMeta().compare( cmm.getMin(), object ) > 0 ) { cmm.setMin( object ); if ( cmm.getMax() == null || cmm.getConversionMeta().compare( cmm.getMax(), object ) < 0 ) { cmm.setMax( object ); if ( cmm.getConversionMeta().isNumeric() ) { boolean stop = false; int nrDots = 0;
ValueMetaInterface conversionMeta = result.getConversionMeta(); field.setType( conversionMeta.getType() ); field.setTrimType( conversionMeta.getTrimType() ); field.setPrecision( conversionMeta.getPrecision() ); nrnull[i] = result.getNrNull(); minstr[i] = result.getMin() == null ? "" : result.getMin().toString(); maxstr[i] = result.getMax() == null ? "" : result.getMax().toString(); String mask = seResult.getConversionMeta().getConversionMask(); .getConversionMeta().getTrimType() ) ); message.append( BaseMessages.getString( PKG, "TextFileCSVImportProgressDialog.Info.NumberMinValue", seResult.getMin() ) ); message.append( BaseMessages.getString( PKG, "TextFileCSVImportProgressDialog.Info.NumberMaxValue", seResult.getMax() ) ); double mn = df2.parse( seResult.getMin().toString() ).doubleValue(); message.append( BaseMessages.getString( PKG, "TextFileCSVImportProgressDialog.Info.NumberExample", mask, seResult.getMin(), Double.toString( mn ) ) ); } catch ( Exception e ) { if ( log.isDetailed() ) { log.logDetailed( "This is unexpected: parsing [" + seResult.getMin() + "] with format [" + mask + "] did not work." );
StringEvaluationResult result = new StringEvaluationResult( adviced ); result.setNrNull( nrNulls ); result.setMin( min ); result.setMax( max ); return result; for ( Iterator<StringEvaluationResult> iterator = evaluationResults.iterator(); iterator.hasNext(); ) { StringEvaluationResult result = iterator.next(); if ( maxPrecision == 0 && result.getConversionMeta().isNumber() ) { } else if ( maxPrecision > 0 && result.getConversionMeta().isInteger() ) { for ( Iterator<StringEvaluationResult> iterator = evaluationResults.iterator(); iterator.hasNext(); ) { StringEvaluationResult result = iterator.next(); if ( result.getConversionMeta().isInteger() ) { iterator.remove(); ValueMetaInterface conversionMeta = result.getConversionMeta(); if ( conversionMeta.isNumber() && conversionMeta.getCurrencySymbol() == null ) { conversionMeta.setPrecision( maxPrecision );
@Override public int compare( StringEvaluationResult r1, StringEvaluationResult r2 ) { Integer length1 = r1.getConversionMeta().getConversionMask() == null ? 0 : r1 .getConversionMeta().getConversionMask().length(); Integer length2 = r2.getConversionMeta().getConversionMask() == null ? 0 : r2 .getConversionMeta().getConversionMask().length(); return length2.compareTo( length1 ); } };
public StringEvaluationResult build() { ValueMetaInterface meta = new ValueMeta( name, type ); meta.setConversionMask( format ); meta.setTrimType( trimType ); meta.setDecimalSymbol( decimalSymbol ); meta.setGroupingSymbol( groupingSymbol ); meta.setLength( length ); meta.setPrecision( precision ); return new StringEvaluationResult( meta ); }
/** * PDI-7736: Only list of successful evaluations returned. * * @return The list of string evaluation results */ public List<StringEvaluationResult> getStringEvaluationResults() { List<StringEvaluationResult> result = new ArrayList<>(); for ( StringEvaluationResult ev : evaluationResults ) { if ( ev.getNrSuccesses() > 0 ) { result.add( ev ); } } return result; }
ValueMetaInterface conversionMeta = result.getConversionMeta(); field.setType( conversionMeta.getType() ); field.setTrimType( conversionMeta.getTrimType() ); field.setPrecision( conversionMeta.getPrecision() ); nrnull[i] = result.getNrNull(); minstr[i] = result.getMin() == null ? "" : result.getMin().toString(); maxstr[i] = result.getMax() == null ? "" : result.getMax().toString(); String mask = seResult.getConversionMeta().getConversionMask(); message.append( BaseMessages .getString( PKG, "TextFileCSVImportProgressDialog.Info.TrimType", seResult .getConversionMeta().getTrimType() ) ); message.append( BaseMessages.getString( PKG, "TextFileCSVImportProgressDialog.Info.NumberMinValue", seResult.getMin() ) ); message.append( BaseMessages.getString( PKG, "TextFileCSVImportProgressDialog.Info.NumberMaxValue", seResult.getMax() ) ); double mn = df2.parse( seResult.getMin().toString() ).doubleValue(); message.append( BaseMessages.getString( PKG, "TextFileCSVImportProgressDialog.Info.NumberExample", mask, seResult.getMin(), Double .toString( mn ) ) ); } catch ( Exception e ) { if ( log.isDetailed() ) { log.logDetailed( "This is unexpected: parsing [" + seResult.getMin() + "] with format [" + mask + "] did not work." );
@Override public int compare( StringEvaluationResult r1, StringEvaluationResult r2 ) { Integer length1 = r1.getConversionMeta().getConversionMask() == null ? 0 : r1 .getConversionMeta().getConversionMask().length(); Integer length2 = r2.getConversionMeta().getConversionMask() == null ? 0 : r2 .getConversionMeta().getConversionMask().length(); return length1.compareTo( length2 ); } };
conversionMeta.setTrimType( trimType ); conversionMeta.setDateFormatLenient( false ); evaluationResults.add( new StringEvaluationResult( conversionMeta ) ); conversionMeta.setPrecision( currencyPrecision ); evaluationResults.add( new StringEvaluationResult( conversionMeta ) ); conversionMeta.setConversionMask( "#" ); conversionMeta.setLength( 15 ); evaluationResults.add( new StringEvaluationResult( conversionMeta ) ); evaluationResults.add( new StringEvaluationResult( conversionMeta ) ); conversionMeta.setConversionMask( mask ); conversionMeta.setLength( i ); evaluationResults.add( new StringEvaluationResult( conversionMeta ) ); evaluationResults.add( new StringEvaluationResult( conversionMeta ) );
private boolean containsInteger() { for ( StringEvaluationResult result : evaluationResults ) { if ( result.getConversionMeta().isInteger() && result.getNrSuccesses() > 0 ) { return true; } } return false; }
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 ); }
private boolean containsNumber() { for ( StringEvaluationResult result : evaluationResults ) { if ( result.getConversionMeta().isNumber() && result.getNrSuccesses() > 0 ) { return true; } } return false; }