public class ParameterNameChanges extends MoMLFilterSimple
This class will filter for classes with Parameters where the parameter name has changed.
For example, after Ptolemy II 2.2, the PNDirector changed in such a way that the 'Initial_queue_capacity' parameter is now 'initialQueueCapacity'.
To add this change to this filter, we add a code to the static section at the bottom of the file.
// PNDirectory: After 2.2, 'Initial_queue_capacity' // property is now 'initialQueueCapacity' HashMap pnDirectorChanges = new HashMap(); // Key = property name, Value = new class name pnDirectorChanges.put("Initial_queue_capacity", "initialQueueCapacity");The pnDirectorChange HashMap maps property names to the new name
_classesWithParameterNameChanges .put("ptolemy.domains.pn.PNDirectory", pnDirectorChanges);The _classesWithParameterNameChanges HashMap contains all the classes such as PNDirector that have changes and each class has a map of the Parameter changes that are to be made.
Conceptually, how the code works is that when we see a class while parsing, we check to see if the class is in _classesWithParameterNameChanges. If the class was present in the HashMap, then as we go through the code, we look for property names that need to have their classes changed.
NOTE: This class and PortNameChange might conflict if a port and parameter have the same name.
Red (cxh) |
Red (cxh) |
Constructor and Description |
---|
ParameterNameChanges() |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
filterAttributeValue(NamedObj container,
java.lang.String element,
java.lang.String attributeName,
java.lang.String attributeValue,
java.lang.String xmlFile)
If the attributeName is "class" and attributeValue names a
class that has had a Parameter names changed between releases,
then substitute in the new Parameter names.
|
void |
filterEndElement(NamedObj container,
java.lang.String elementName,
java.lang.StringBuffer currentCharData,
java.lang.String xmlFile)
In this class, do nothing.
|
java.lang.String |
toString()
Return a string that describes what the filter does.
|
filterAttributeValue, filterEndElement
public java.lang.String filterAttributeValue(NamedObj container, java.lang.String element, java.lang.String attributeName, java.lang.String attributeValue, java.lang.String xmlFile)
container
- The container for this attribute.
in this method.element
- The XML element name.attributeName
- The name of the attribute.attributeValue
- The value of the attribute.xmlFile
- The file currently being parsed.public void filterEndElement(NamedObj container, java.lang.String elementName, java.lang.StringBuffer currentCharData, java.lang.String xmlFile) throws java.lang.Exception
container
- The object created by this element.elementName
- The element name.currentCharData
- The character data, which appears
only in the doc and configure elementsxmlFile
- The file currently being parsed.java.lang.Exception
- Not thrown in this base class.public java.lang.String toString()
toString
in interface MoMLFilter
toString
in class java.lang.Object