| Read an INI file from a BufferedReader to create
ComponentDescription s.
Expected format is:
# option comment lines and empty lines
[ ignored section headers ]
insertionPoint = classname
# or specify String arguments, which are saved as a List "param"
insertionPoint = classname(arg0, arg1, argN)
# more "insertionPoint = " lines
and is parsed into an array of ComponentDescriptions.
These fields are not currently supported:
codebase, certificate, lease, policy
Two insertion points have special backwards-compatability
- "cluster" == "Node.AgentManager.Agent"
- "plugin" == "Node.AgentManager.Agent.PluginManager.Plugin"
Any insertion point (including aliases) may be postfixed with "(PRIORITY)"
where "PRIORITY" is one of the component priority names specified in
ComponentDescription (e.g. HIGH, INTERNAL, BINDER, COMPONENT, LOW, or STANDARD). Note that
the name must be in upper case, no punctuation and no extra whitespace. An example
is: "plugin(LOW)=org.cougaar.test.MyPlugin", which would specify that MyPlugin should be
loaded as a low priority plugin (e.g. after most other plugins and internal components).
Also "cluster=name" and is converted into
"Node.AgentManager.Agent=org.cougaar.core.agent.SimpleAgent(name)"
as a default classname.
These old "cluster" values are ignored:
- "class" (now specified in the Node's INI!)
- "uic" (ignored)
- "cloned" (ignored)
Note: This is used by the file-based ComponentInitializerService ,
which is declared to return only items below the given insertion point.
However, this method returns all items, regardless
of insertion point. Callers must beware they may get themselves.
See Also: org.cougaar.core.component.ComponentDescription |