Business Objects and Data Sources > States > Defining States in XML > OSI States

The class IltOSIObjectStateSAXInfo is the XML serialization class that allows you to read and write OSI object states in the XML format.

The following table describes the XML elements that can be used.

Table 12.6 XML Elements in the OSI State System 
XML Element 
Attributes 
Possible Values 
Description 
<administrative> 

 
Locked, Unlocked, ShuttingDown 
OSI Administrative state 

 
operation 
add, remove 
This attribute is optional. It specifies whether the state should be added to/removed from the object state. The default value is add indicating that the state will be set in the object state. This attribute is used within an <updateState> element. 
<operational> 

 
Enabled, Disabled 
OSI Operational state 

 
operation 
add, remove 
This attribute is optional. It specifies whether the state should be added to/removed from the object state. The default value is add indicating that the state will be set in the object state. This attribute is used within an <updateState> element. 
<usage> 

 
Idle, Active, Busy 
OSI Usage state 

 
operation 
add, remove 
This attribute is optional. It specifies whether the state should be added to/removed from the object state. The default value is add indicating that the state will be set in the object state. This attribute is used within an <updateState> element. 
<procedural> 

 
InitializationRequired, Initializing, Reporting, Terminating 
OSI Procedural status 

 
operation 
add, remove 
This attribute is optional. It specifies whether the state should be added to/removed from the object state. The default value is add indicating that the state will be set in the object state. This attribute is used within an <updateState> element. 
<availability> 

 
Degraded, Dependency, Failed, InTest, LogFull, NotInstalled, OffDuty, OffLine, PowerOff 
OSI Availability status 

 
operation 
add, remove 
This attribute is optional. It specifies whether the state should be added to/removed from the object state. The default value is add indicating that the state will be set in the object state. This attribute is used within an <updateState> element. 
<control> 

 
PartOfServicesLocked, ReservedForTest, SubjectToTest, Suspended 
OSI Control status 

 
operation 
add, remove 
This attribute is optional. It specifies whether the state should be added to/removed from the object state. The default value is add indicating that the state will be set in the object state. This attribute is used within an <updateState> element. 
<standby> 

 
InStandby 
OSI Stand-by status 

 
operation 
add, remove 
This attribute is optional. It specifies whether the state should be added to/removed from the object state. The default value is add indicating that the state will be set in the object state. This attribute is used within an <updateState> element. 
<repair> 

 
UnderRepair 
OSI Repair status 

 
operation 
add, remove 
This attribute is optional. It specifies whether the state should be added to/removed from the object state. The default value is add indicating that the state will be set in the object state. This attribute is used within an <updateState> element. 

How to Add a Network Element with OSI States defined in XML
<addObject id="NE1">
  <class>ilog.tgo.model.IltNetworkElement</class>
  <attribute name="name">NE1</attribute>
  <attribute name="family">OC12</attribute>
  <attribute name="type">MD</attribute>
  <attribute name="position" javaClass="ilog.cpl.graphic.IlpPoint">
    <x>68</x>  <y>61</y>
  </attribute>
  <attribute name="objectState" javaClass="ilog.tgo.model.IltOSIObjectState">
    <state>
      <administrative>ShuttingDown</administrative>
      <operational>Enabled</operational>
      <usage>Active</usage>
    </state>
    <procedural>Reporting</procedural>
    <repair>UnderRepair</repair>
  </attribute>
</addObject>
How to Set OSI States to an Existing Object using XML

The following example shows how to set OSI states to an object that already exists in the data source. You can achieve this by using the XML tag <updateObject> to modify the attribute objectState:

<updateObject id="RectGroup">
  <attribute name="objectState" javaClass="ilog.tgo.model.IltOSIObjectState">
    <state>
      <administrative>ShuttingDown</administrative>
      <operational>Enabled</operational>
      <usage>Busy</usage>
    </state>
    <availability>PowerOff</availability>
    <procedural>Terminating</procedural>
  </attribute>
</updateObject>
How to Update OSI States Incrementally using XML
<updateObject id="RectGroup">
  <updateState>
    <state>
      <operational>Enabled</operational>
      <usage>Active</usage>
    </state>
    <procedural operation="remove">Initializing</procedural>
    <availability>InTest</availability>
  </updateState>
</updateObject>