This package contains the classes that provision servers. The classes in this package manipulate all data as a single DOM tree, which is created by ConfigTree. ConfigTree ties the representation of the DOM to a Jtree, which is the navigation model presented to the user.

The interfaces in this package are used by the UI package to read and write data in the DOM. Right now there is one data interface per UI screen. Each screen in the UI maps to a DOM node type. When the user creates a new server, he is creating a new node in the DOM. The class DataFragment implements the interfaces of all nodes that can have more than one instance. This class creates the new instance and saves it to the DOM. The class DataToDOM implements all of the interfaces and is used to change data in an existing node of the DOM.

The data that is stored to file is of several types. Data for each individual server is stored as a file named by the host:port of the server. An additional file is created for each group of servers of a particular type. These files are called ListOf. So there is a ListOfFeatureServers file and a ListOfMarshalServers. The groupings within major types are ignored in this case. It is the need to store different types of provisioning data in specialized files that makes the classes in this directory much larger and more complex than they should be. JTapi, for example, has specialized file storage requirements that are completely different than those of other types of server.

Other data is stored to associate users with the servers that service their features. Each user has two Contact Lists that gives an ordered list of feature server routes for incoming and outgoing calls. The ContactListGenerator class creates these files whenever a user's data changes. Every non-jtapi feature that a user has turned on runs a CPL script, which is created by the CplGenerator class. These CPL files are regenerated every time a user's data changes.