/* * Copyright 2016 Red Hat, Inc. and/or its affiliates. * * 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.drools.workbench.services.verifier.plugin.client.builders; import org.drools.workbench.models.guided.dtable.shared.model.BRLConditionVariableColumn; import org.drools.workbench.models.guided.dtable.shared.model.BaseColumn; import org.drools.workbench.models.guided.dtable.shared.model.ConditionCol52; import org.drools.workbench.models.guided.dtable.shared.model.GuidedDecisionTable52; import org.drools.workbench.services.verifier.plugin.client.Logger; import org.drools.workbench.services.verifier.plugin.client.api.FactTypes; import org.drools.workbench.services.verifier.plugin.client.api.HeaderMetaData; import org.uberfire.commons.validation.PortablePreconditions; public class VerifierColumnUtilities extends ColumnUtilitiesBase { private final HeaderMetaData headerMetaData; private final FactTypes factTypes; public VerifierColumnUtilities( final GuidedDecisionTable52 model, final HeaderMetaData headerMetaData, final FactTypes factTypes ) { super( model ); this.headerMetaData = PortablePreconditions.checkNotNull( "headerMetaData", headerMetaData ); this.factTypes = PortablePreconditions.checkNotNull( "fieldTypes", factTypes ); } public String getType( final BaseColumn column, final int columnIndex ) throws ColumnUtilitiesException { PortablePreconditions.checkNotNull( "column", column ); if ( column instanceof BRLConditionVariableColumn ) { return super.getType( column ); } else if ( column instanceof ConditionCol52 ) { return getType( (ConditionCol52) column, columnIndex ); } else { return super.getType( column ); } } private String getType( final ConditionCol52 col, final int columnIndex ) { Logger.add( "Looking for index: " + columnIndex + " from header meta data: " + ToString.toString( headerMetaData ) ); return getType( headerMetaData.getPatternsByColumnNumber() .get( columnIndex ), col ); } protected String getTypeFromDataOracle( final String factType, final String fieldName ) { Logger.add( "Calling fieldTypes: " + factTypes.toString() + " with factType: " + factType + " fieldName: " + fieldName ); return factTypes.getFieldType( factType, fieldName ); } }