org.openeai.implementations.layouts
Class SpCallsLayout


java.lang.Object

  |

  +--org.openeai.OpenEaiObject

        |

        +--org.openeai.layouts.EnterpriseLayoutManagerImpl

              |

              +--org.openeai.implementations.layouts.SpCallsLayout

All Implemented Interfaces:
EnterpriseLayoutManager

public class SpCallsLayout
extends EnterpriseLayoutManagerImpl
implements EnterpriseLayoutManager

This is the SpCalls Layout manager that Enterprise Messaging Objects use to build themselves from and serialize themselves to database stored procedure calls. It uses information found in the EnterpriseObjects.xml document to determine the layout corresponding to a particular object. See EntepriseObjects.xml for more information.

This layout manager will return a list of stored procedure calls that will process a certain action for a certain object as an entire transaction. This may mean multiple stored procedure calls. For example, in order to Create a BasicPerson, the underlying database structure may require that different procedures be called to create BasicPerson "bio/demo" information in addition to BasicPerson "Address" information. These would be returned as separate stored procedure calls. Additionally, it will sort these stored procedure calls according to how they need to be executed. For example, the BasicPerson "bio/demo" stored procedures may need to be called prior to the BasicPerson "Address" stored procedures.

Version:
3.0 beta2 - 28 January 2003
Author:
Tod Jackson (tod@openeai.org), Steve Wheat (steve@openeai.org)

Field Summary
 
Fields inherited from class org.openeai.OpenEaiObject
logger
 
Constructor Summary
SpCallsLayout()
          Constructor
 
Method Summary
 void buildObjectFromInput(java.lang.Object input, XmlEnterpriseObject xeo)
          This is the buildObjectFromInput method that all Layout Managers must implement.
 java.lang.Object buildOutputFromObject(XmlEnterpriseObject xeo)
          This is the buildOutputFromObject method that all Layout Managers must implement.
 java.lang.Object buildOutputFromObject(XmlEnterpriseObject anXmlEnterpriseObject, java.lang.String appName)
          This is the buildOutputFromObject method that all Layout Managers must implement.
 XmlEnterpriseObject getBaselineObject()
           
 java.sql.Connection getConnection()
           
 java.lang.String getCurrentAction()
           
 java.lang.String getOriginalAction()
           
 void init(java.lang.String layoutManagerName, org.jdom.Document layoutDoc)
          Method used to initialize the LayoutMangager implementation with information found in the EnterpriseObjects document associated to the object being initialized.
 void setBaselineObject(XmlEnterpriseObject xeo)
           
 void setConnection(java.sql.Connection conn)
           
 void setCurrentAction(java.lang.String action)
           
 void setOriginalAction(java.lang.String action)
           
 
Methods inherited from class org.openeai.layouts.EnterpriseLayoutManagerImpl
getEnterpriseObjectsUri, getFieldLayout, getLayout, getLayout, getLayoutManagerName, getLayoutRoot, getLength, getTargetAppName, getValueFromObject, getValueFromObject, getValueFromObject, getValueFromObject, instantiate, isDate, isRepeating, isRequired, setEnterpriseObjectsUri, setLayout, setLayoutManagerName, setLayoutRoot, setTargetAppName, setVariableValue, setVariableValue
 
Methods inherited from class org.openeai.OpenEaiObject
addLog4jProperty, getAppName, getDebug, getFromAddr, getLog4jProperties, getMailHost, getMailService, getProperties, getToAddr, initializeLog4j, initializeLog4j, initializeLog4j, setAppName, setDebug, setFromAddr, setMailHost, setMailService, setProperties, setToAddr
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.openeai.layouts.EnterpriseLayoutManager
getEnterpriseObjectsUri, getLayoutManagerName, getLayoutRoot, setEnterpriseObjectsUri, setLayoutManagerName
 

Constructor Detail

SpCallsLayout


public SpCallsLayout()
Constructor

Method Detail

init


public void init(java.lang.String layoutManagerName,
                 org.jdom.Document layoutDoc)
          throws EnterpriseLayoutException
Description copied from interface: EnterpriseLayoutManager
Method used to initialize the LayoutMangager implementation with information found in the EnterpriseObjects document associated to the object being initialized. The layoutmanager implementation retrieves information from the EnterpriseObjects document to tell it how the object should be built from an input and serialized to an output.

Specified by:
init in interface EnterpriseLayoutManager
Overrides:
init in class EnterpriseLayoutManagerImpl
Throws:
EnterpriseLayoutException - if any errors occur initializing the layout manager implementation.

setBaselineObject


public void setBaselineObject(XmlEnterpriseObject xeo)

getBaselineObject


public XmlEnterpriseObject getBaselineObject()

getCurrentAction


public java.lang.String getCurrentAction()

setCurrentAction


public void setCurrentAction(java.lang.String action)

getOriginalAction


public java.lang.String getOriginalAction()

setOriginalAction


public void setOriginalAction(java.lang.String action)

getConnection


public java.sql.Connection getConnection()

setConnection


public void setConnection(java.sql.Connection conn)

buildOutputFromObject


public java.lang.Object buildOutputFromObject(XmlEnterpriseObject xeo)
                                       throws EnterpriseLayoutException
This is the buildOutputFromObject method that all Layout Managers must implement. This particular layout manager returns a Vector of SpCall objects that are prepared and ready to be executed in the proper order.

It is up to the caller of this method to cast the object to a Vector. The fields that data is retrieved from to build the element are defined in EnterpriseObjects.xml.

All XmlEnterpriseObjects have a method that determines the layout manager being used and then calls this method on the currently used layout manager (this class for example). The method in XmlEnterpriseObject is also called buildOutputFromObject.

Specified by:
buildOutputFromObject in interface EnterpriseLayoutManager
Returns:
Object the XML element that corresponds to the data in the object.
Throws:
EnterpriseLayoutException - if any errors occur getting the field values from the object.

buildOutputFromObject


public java.lang.Object buildOutputFromObject(XmlEnterpriseObject anXmlEnterpriseObject,
                                              java.lang.String appName)
                                       throws EnterpriseLayoutException
This is the buildOutputFromObject method that all Layout Managers must implement. This particular layout manager returns a Vector of SpCall objects that are prepared with application specific values and ready to be executed in the proper order.

It is up to the caller of this method to cast the object to a Vector. The fields that data is retrieved from to build the element are defined in EnterpriseObjects.xml.

All XmlEnterpriseObjects have a method that determines the layout manager being used and then calls this method on the currently used layout manager (this class for example). The method in XmlEnterpriseObject is also called buildOutputFromObject.

Specified by:
buildOutputFromObject in interface EnterpriseLayoutManager
Returns:
Object the XML element that corresponds to the data in the object.
Throws:
EnterpriseLayoutException - if any errors occur getting the field values from the object.

buildObjectFromInput


public void buildObjectFromInput(java.lang.Object input,
                                 XmlEnterpriseObject xeo)
                          throws EnterpriseLayoutException
This is the buildObjectFromInput method that all Layout Managers must implement. Note, this method is not supported by this layout manager yet so it will throw an EntepriseLayoutException stating that it is not supported.

Specified by:
buildObjectFromInput in interface EnterpriseLayoutManager
Throws:
EnterpriseLayoutException - if an errors occur setting the Object fields with data contained in the XML element.


Copyright © 2002, OpenEAI Software Foundation