/*
* 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.IlvGanttDocumentWriter;
import ilog.views.gantt.xml.IlvSimpleActivityWriter;
import org.w3c.dom.Element;
/**
* This class extends an <code>IlvSimpleActivityWriter</code>.
* The method <code>writeActivity()</code> is overridden to
* write a <code>CustomActivity</code> instead of an
* <code>IlvSimpleActivity</code>.
*/
public class CustomActivityWriter
extends IlvSimpleActivityWriter
{
/**
* Overrides the method <code>writeActivity()</code>
* to write a <code>CustomActivity</code> instead of an
* <code>IlvSimpleActivity</code>.
* @param elem The element to write to.
* @param activity The activity to write.
* @param writeContext The write context.
*/
Override
public void writeActivity(Element elem, IlvActivity activity,
IlvGanttDocumentWriter.Context writeContext)
throws Exception {
if (!(activity instanceof CustomActivity))
throw new Exception("A CustomActivity expected.");
super.writeActivity(elem, activity, writeContext);
int priority = ((CustomActivity) activity).getPriority();
elem.setAttribute("priority", Integer.toString(priority));
}
}