/*
* Copyright 2015 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.screens.dtablexls.backend.server.conversion.builders;
import org.drools.decisiontable.parser.ActionType;
import org.drools.decisiontable.parser.RuleSheetParserUtil;
import org.drools.workbench.models.guided.dtable.shared.conversion.ConversionMessageType;
import org.drools.workbench.models.guided.dtable.shared.conversion.ConversionResult;
import org.drools.workbench.models.guided.dtable.shared.model.AttributeCol52;
import org.drools.workbench.models.guided.dtable.shared.model.DTCellValue52;
import org.drools.workbench.models.guided.dtable.shared.model.GuidedDecisionTable52;
/**
* Builder for Description Attribute columns
*/
public class GuidedDecisionTableDateExpiresBuilder extends AbstractGuidedDecisionTableAttributeBuilder {
public GuidedDecisionTableDateExpiresBuilder( final int row,
final int column,
final ConversionResult conversionResult ) {
super( row,
column,
ActionType.Code.DATEEXPIRES,
conversionResult );
}
@Override
public void populateDecisionTable( final GuidedDecisionTable52 dtable,
final int maxRowCount ) {
final AttributeCol52 column = new AttributeCol52();
column.setAttribute( GuidedDecisionTable52.DATE_EXPIRES_ATTR );
dtable.getAttributeCols().add( column );
if ( this.values.size() < maxRowCount ) {
for ( int iRow = this.values.size(); iRow < maxRowCount; iRow++ ) {
this.values.add( new DTCellValue52( "" ) );
}
}
addColumnData( dtable,
column );
}
@Override
public void addCellValue( final int row,
final int column,
final String value ) {
final DTCellValue52 dcv = new DTCellValue52( "" );
try {
dcv.setStringValue( value );
} catch ( IllegalArgumentException iae ) {
final String message = "Date-Expires is not a date literal, in cell " + RuleSheetParserUtil.rc2name( row,
column );
this.conversionResult.addMessage( message,
ConversionMessageType.WARNING );
}
this.values.add( dcv );
}
}