/*
* ******************************************************************************
*
* Copyright (C) 2002-2016 by Pentaho : http://www.pentaho.com
*
* ******************************************************************************
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.pentaho.platform.dataaccess.datasource.wizard;
import org.pentaho.metadata.model.concept.types.AggregationType;
import org.pentaho.metadata.model.concept.types.DataType;
import org.pentaho.platform.dataaccess.datasource.wizard.models.ColumnInfo;
import org.pentaho.platform.dataaccess.datasource.wizard.models.CsvFileInfo;
import org.pentaho.platform.dataaccess.datasource.wizard.models.ModelInfo;
/**
* Created by rfellows on 11/11/16.
*/
public class TestUtil {
public static ModelInfo createModel() {
CsvFileInfo fileInfo = new CsvFileInfo();
fileInfo.setTmpFilename( "unit_test.csv" );
fileInfo.setProject( "testsolution" );
fileInfo.setHeaderRows( 1 );
fileInfo.setDelimiter( "," );
fileInfo.setEnclosure( "\"" );
ColumnInfo[] columns = new ColumnInfo[ 9 ];
columns[ 0 ] = new ColumnInfo();
columns[ 0 ].setDataType( DataType.NUMERIC );
columns[ 0 ].setPrecision( 0 );
columns[ 0 ].setId( "PC_0" );
columns[ 0 ].setTitle( "REGIONC" );
columns[ 0 ].setIndex( true );
columns[ 0 ].setFieldType( ColumnInfo.FIELD_TYPE_BOTH );
columns[ 0 ].setAggregateType( AggregationType.SUM.toString() );
columns[ 1 ] = new ColumnInfo();
columns[ 1 ].setDataType( DataType.NUMERIC );
columns[ 1 ].setId( "PC_1" );
columns[ 1 ].setTitle( "NWEIGHT" );
columns[ 1 ].setPrecision( 5 );
columns[ 1 ].setIndex( true );
columns[ 1 ].setFieldType( ColumnInfo.FIELD_TYPE_BOTH );
columns[ 1 ].setAggregateType( AggregationType.SUM.toString() );
columns[ 2 ] = new ColumnInfo();
columns[ 2 ].setDataType( DataType.NUMERIC );
columns[ 2 ].setId( "PC_2" );
columns[ 2 ].setTitle( "Int" );
columns[ 2 ].setFieldType( ColumnInfo.FIELD_TYPE_BOTH );
columns[ 2 ].setAggregateType( AggregationType.SUM.toString() );
columns[ 3 ] = new ColumnInfo();
columns[ 3 ].setDataType( DataType.DATE );
columns[ 3 ].setId( "PC_3" );
columns[ 3 ].setTitle( "xdate" );
columns[ 3 ].setFormat( "mm/dd/yy" );
columns[ 3 ].setIndex( true );
columns[ 3 ].setFieldType( ColumnInfo.FIELD_TYPE_DIMENSION );
columns[ 3 ].setAggregateType( AggregationType.NONE.toString() );
columns[ 4 ] = new ColumnInfo();
columns[ 4 ].setDataType( DataType.STRING );
columns[ 4 ].setId( "PC_4" );
columns[ 4 ].setTitle( "" );
columns[ 4 ].setIgnore( true );
columns[ 4 ].setFieldType( ColumnInfo.FIELD_TYPE_DIMENSION );
columns[ 4 ].setAggregateType( AggregationType.NONE.toString() );
columns[ 5 ] = new ColumnInfo();
columns[ 5 ].setDataType( DataType.STRING );
columns[ 5 ].setId( "PC_5" );
columns[ 5 ].setTitle( "Location" );
columns[ 5 ].setIndex( true );
columns[ 5 ].setLength( 60 );
columns[ 5 ].setFieldType( ColumnInfo.FIELD_TYPE_DIMENSION );
columns[ 5 ].setAggregateType( AggregationType.NONE.toString() );
columns[ 6 ] = new ColumnInfo();
columns[ 6 ].setDataType( DataType.NUMERIC );
columns[ 6 ].setId( "PC_6" );
columns[ 6 ].setTitle( "charlen" );
columns[ 6 ].setFieldType( ColumnInfo.FIELD_TYPE_BOTH );
columns[ 6 ].setAggregateType( AggregationType.SUM.toString() );
columns[ 7 ] = new ColumnInfo();
columns[ 7 ].setDataType( DataType.NUMERIC );
columns[ 7 ].setId( "PC_7" );
columns[ 7 ].setTitle( "xfactor" );
columns[ 7 ].setPrecision( 7 );
columns[ 7 ].setFieldType( ColumnInfo.FIELD_TYPE_BOTH );
columns[ 7 ].setAggregateType( AggregationType.SUM.toString() );
columns[ 8 ] = new ColumnInfo();
columns[ 8 ].setDataType( DataType.BOOLEAN );
columns[ 8 ].setId( "PC_8" );
columns[ 8 ].setTitle( "Flag" );
columns[ 8 ].setIndex( true );
columns[ 8 ].setFieldType( ColumnInfo.FIELD_TYPE_BOTH );
columns[ 8 ].setAggregateType( AggregationType.SUM.toString() );
ModelInfo info = new ModelInfo();
info.setFileInfo( fileInfo );
info.setColumns( columns );
info.setStageTableName( "UNIT_TESTS" );
return info;
}
}