/* * Licensed Materials - Property of Perforce Software, Inc. * © Copyright Perforce Software, Inc. 2014, 2021 * © Copyright IBM Corp. 2009, 2014 * © Copyright ILOG 1996, 2009 * All Rights Reserved. * * Note to U.S. Government Users Restricted Rights: * The Software and Documentation were developed at private expense and * are "Commercial Items" as that term is defined at 48 CFR 2.101, * consisting of "Commercial Computer Software" and * "Commercial Computer Software Documentation", as such terms are * used in 48 CFR 12.212 or 48 CFR 227.7202-1 through 227.7202-4, * as applicable. */ import java.text.DateFormat; import java.text.ParseException; import java.util.Date; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel; import com.ibm.icu.util.ULocale; import ilog.views.gantt.model.table.IlvTableGanttModel; import ilog.views.util.IlvProductUtil; import ilog.views.util.convert.IlvConvert; import ilog.views.util.convert.IlvConvertException; import ilog.views.util.convert.IlvConverter; import ilog.views.util.data.IlvBasicTableModelPropertyDescriptor; import ilog.views.util.data.IlvTableModelMapper; import ilog.views.util.data.IlvTableModelMappingException; import ilog.views.util.text.IlvDateFormatFactory; public class TableModelSample { private static TableModel activityModel = new DefaultTableModel(new Object[] {"Category", "ID", "StartTime", "EndTime", "ParentID"}, 0);; private static TableModel constraintModel = new DefaultTableModel(new Object[] {"Type", "FromActivityID", "ToActivityID"}, 0); public static void main(String[] args) { // This sample uses JViews Gantt features. When deploying an // application that includes this code, you need to be in possession // of a Perforce JViews Gantt Deployment license. IlvProductUtil.DeploymentLicenseRequired( IlvProductUtil.JViews_Gantt_Deployment); IlvTableGanttModel tableModel = new IlvTableGanttModel(); IlvTableModelMapper activityMapper = IlvTableGanttModel.createActivityMapper(activityModel, 1, 1, 2, 3, 4); IlvConvert.addConverter(new IlvConverter() { private final DateFormat formatter = IlvDateFormatFactory.getDateInstance(DateFormat.SHORT, ULocale.US); Override public Object convert(Object value, Class toType) throws IlvConvertException { try { return formatter.parse((String)value); } catch (ParseException e) { throw new IlvConvertException("error"); } } Override public Class[] fromTypes() { return new Class[] {String.class}; } Override public Class[] toTypes() { return new Class[] {Date.class}; } }); activityMapper.addPropertyDescriptor("OptionalCategory", new IlvBasicTableModelPropertyDescriptor("CATEGORY"), null); tableModel.setActivityMapper(activityMapper); IlvTableModelMapper constraintMapper = IlvTableGanttModel.createConstraintMapper(constraintModel, "FromActivityID", "ToActivityID", "Type", new Object[] {new Integer(1), new Integer(2), new Integer(4), new Integer(3)}); tableModel.setConstraintMapper(constraintMapper); try { tableModel.initializeMapping(); } catch (IlvTableModelMappingException e) { // in case something went wrong } } }