/*
* 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 ilog.views.gantt.IlvActivity;
import ilog.views.gantt.xml.IlvGanttDocumentReader;
import ilog.views.gantt.xml.IlvGanttReaderException;
import ilog.views.gantt.xml.IlvSimpleActivityReader;
import java.util.Date;
import org.w3c.dom.Element;
/**
* This class extends an <code>IlvSimpleActivityReder</code>.
* The method <code>readActivity()</code> is overridden to
* read a <code>CustomActivity</code> instead of an
* <code>IlvSimpleActivity</code>.
*/
public class CustomActivityReader
extends IlvSimpleActivityReader
{
/**
* Overrides this method to read a <code>CustomActivity</code>
* instead of an <code>IlvSimpleActivity</code>.
* @param elem The element to read from.
* @param readContext The read context.
* @return The new activity.
*/
Override
public IlvActivity readActivity(Element elem,
IlvGanttDocumentReader.Context readContext)
throws IlvGanttReaderException {
CustomActivity activity = (CustomActivity) super.readActivity(elem,
readContext);
String priority = elem.getAttribute("priority");
if (priority == null)
throw new IlvGanttReaderException(elem,
"Attribute \"priority\" not found");
activity.setPriority(Integer.valueOf(priority).intValue());
return activity;
}
/**
* Overrides to create a <code>CustomActivity</code>
* instead of an <code>IlvSimpleActivity</code>.
*/
Override
protected IlvActivity createActivity(String id,
String name,
Date start,
Date end
) {
return new CustomActivity(id, name, start, end);
}
}