WebFlow
Class WebFlowContextOps

java.lang.Object
  |
  +--WebFlow.BeanContextChildSupport
        |
        +--WebFlow.BeanContextSupport
              |
              +--WebFlow.WebFlowContextOps

public class WebFlowContextOps
extends WebFlow.BeanContextSupport
implements WebFlow.WebFlowContextOperations


Inner classes inherited from class WebFlow.BeanContextSupport
WebFlow.BeanContextSupport.BCSChild, WebFlow.BeanContextSupport.BCSIterator
 
Fields inherited from class WebFlow.BeanContextSupport
bcmListeners, children, designTime, locale, okToUseGui
 
Fields inherited from class WebFlow.BeanContextChildSupport
beanContext, beanContextChildPeer, isDeleted, pcSupport, rejectedSetBCOnce, vcSupport, WebFlowContextPeer
 
Constructor Summary
WebFlowContextOps(org.omg.CORBA.Object peer, WebFlow.configReader configSettings, org.omg.CORBA.ORB orb, java.lang.String ContextName)
          The constructor for implementation of WebFlowContext interface.
WebFlowContextOps(org.omg.CORBA.Object peer, WebFlow.configReader configSettings, org.omg.CORBA.ORB orb, java.lang.String ContextName, WebFlow.moduleFactory factory)
          The constructor for implementation of WebFlowContext interface.
 
Method Summary
 void addContext(org.omg.CORBA.Object context, java.lang.String objectId)
          It is used internally to add new context
 void addModule(org.omg.CORBA.Object module, java.lang.String objectId)
          It is used internally to add new module
 org.omg.CORBA.Object addNewContext(java.lang.String newContextName)
          instantiate new context with name "newContextName" and inserts it into its children list
 org.omg.CORBA.Object addNewModule(java.lang.String productName)
          instantiate new module with name "productName" and inserts it into its children list
 void addWFServer(java.lang.String name, org.omg.CORBA.Object server)
          This method is called by slave server to insert itself to my children
 void attachEvent(org.omg.CORBA.Object source, java.lang.String eventID, org.omg.CORBA.Object target, java.lang.String targetMethod, int flowModel)
          This method is used internally to make various types of connections between user modules
 void attachPullEvent(org.omg.CORBA.Object source, java.lang.String eventID, org.omg.CORBA.Object target)
          Pull type of event is used to take event data from source when target need This is demand-driven association as opposed to event-driven in "push" type of events.
 void attachPullProperty(org.omg.CORBA.Object source, java.lang.String propertyName, org.omg.CORBA.Object target)
          Pull type of event is used to take event data from source when target need This is demand-driven association as opposed to event-driven in "push" type of events.
 void attachPullVetoableProperty(org.omg.CORBA.Object source, java.lang.String propertyName, org.omg.CORBA.Object target)
          Pull type of event is used to take event data from source when target need This is demand-driven association as opposed to event-driven in "push" type of events.
 void attachPushEvent(org.omg.CORBA.Object source, java.lang.String eventID, org.omg.CORBA.Object target, java.lang.String targetMethod)
          Register target object as a listener for an Generic user-defined event notification from source object .The identifier ID of event is eventID.
 void attachPushProperty(org.omg.CORBA.Object source, java.lang.String propertyName, org.omg.CORBA.Object target, java.lang.String targetMethod)
          Attach an property change notification with propertyName,"propertyName" from source object to target object.
 void attachPushVetoableProperty(org.omg.CORBA.Object source, java.lang.String propertyName, org.omg.CORBA.Object target, java.lang.String targetMethod)
          Attach an Vetoable property change notification with propertyName,"propertyName" from source object to target object.
 void bc_propertyChange(WebFlow.event.PropertyChangeEvent pce, java.lang.String sourceObjectID)
          This method is used internally to process property change event
 void bc_vetoableChange(WebFlow.event.PropertyChangeEvent pce, java.lang.String propertyName, java.lang.String sourceObjectID)
          This method is used internally to process vetoable property change event
 void cleanUp()
          This is used internally to disconnect myself from ORB.
 void copyConnectionFromTarget(org.omg.CORBA.Object sourceModule, org.omg.CORBA.Object there)
          this method is used internally
 void copyModuleBinding(org.omg.CORBA.Object sourceModule, org.omg.CORBA.Object there)
          This method provides user with copying the in/out bindings of module "sourceModule" into module "there".
 java.lang.String createObjectID(java.lang.String productName)
          creates an object ID for new instantiated child with name "prodoctName" This method is called internally.
 void deactivate()
          This method is called internally by the system when user wants to clean up the object of this implemenation.
 void destroy()
          This method is used internally for disconnecting the context object from ORB
 void detachEvent(org.omg.CORBA.Object source, java.lang.String eventID, org.omg.CORBA.Object target, java.lang.String targetMethod, int flowModel)
          This method is used internally to remove various types of connections made before between user modules
 void detachPullEvent(org.omg.CORBA.Object source, java.lang.String eventID, org.omg.CORBA.Object target)
          Remove associated user-defined generic event binding by attachPullEvent method before
 void detachPullProperty(org.omg.CORBA.Object source, java.lang.String propertyName, org.omg.CORBA.Object target)
          Remove associated property event binding by attachPullProperty method before
 void detachPullVetoableProperty(org.omg.CORBA.Object source, java.lang.String propertyName, org.omg.CORBA.Object target)
          Remove associated vetoable property change event binding by attachPullVetoableProperty method before
 void detachPushEvent(org.omg.CORBA.Object source, java.lang.String eventID, org.omg.CORBA.Object target, java.lang.String targetMethod)
          Unregister an generic event association from source to target object made by attachPushEvent method call before.
 void detachPushProperty(org.omg.CORBA.Object source, java.lang.String propertyName, org.omg.CORBA.Object target, java.lang.String targetMethod)
          Remove established property change event binding by attachPushProperty method before from source object to target object.
 void detachPushVetoableProperty(org.omg.CORBA.Object source, java.lang.String propertyName, org.omg.CORBA.Object target, java.lang.String targetMethod)
          Remove established vetoable property change event binding by attachPushVetoableProperty before from source object to target object.
 java.lang.String extractObjectID(org.omg.CORBA.ServerRequest request)
          Extracting object identifier(object ID) from the actual initiator of this request "request".
 void forwardEvent(org.omg.CORBA.ServerRequest request)
          Forward the received event object to target.
 java.util.Vector getAllBindings(org.omg.CORBA.Object target, java.util.Hashtable bindingTable)
          this method is used internally
 java.lang.String[] getAllWFServers()
          This method returns the available slave servers currently available.
 java.util.Vector getBindings(java.lang.String targetObjectID, java.util.Hashtable bindingTable)
          this method is used internally
 org.omg.CORBA.Object getContext(java.lang.String bindingName)
          Find the context for specified name and return reference to it It looks for the contexts under this context,including this
 org.omg.CORBA.Object getContextExtended(java.lang.String bindingName, boolean parent)
           
 org.omg.CORBA.Object getEventObject(org.omg.CORBA.ServerRequest request)
          Get Event Object coming with the request "request" to this Context Server This is used internally
 org.omg.CORBA.Object getGatewayProxy()
          This is used internally
 org.omg.CORBA.Object getKeyedChild(java.lang.String childID)
          this method is used internally
 WebFlow.moduleFactory getMFImpl()
           
 java.lang.String[] getModuleList()
           
 int getMyColor()
           
 org.omg.CORBA.Object getParentContext(java.lang.String bindingName)
           
 org.omg.CORBA.Object[] getSameKeyedChildren(java.lang.String childID)
          this method is used internally
 org.omg.CORBA.Object getSource(org.omg.CORBA.Object src)
           
 java.util.Hashtable getTargetsByProperty()
          this method is used internally
 WebFlow.WebFlowContext getWebFlowContext(org.omg.CORBA.Object product)
           
 org.omg.CORBA.Object getWFServer(java.lang.String serverName, java.lang.String userName)
          This is deprecated method.
 org.omg.CORBA.Object insertProxy(java.lang.String serverName)
          It is used internally
 void insertRemoteServer(java.lang.String serverName, java.lang.String objectID, org.omg.CORBA.Object serverContext)
          It is called internally.
 void invokeEventListener(org.omg.CORBA.Object source, java.lang.String getter)
           
 org.omg.CORBA.Any invokeGetterMethod(org.omg.CORBA.Object source, java.lang.String getter)
           
 void invokePropertyListener(org.omg.CORBA.Object source, java.lang.String propertyAdder)
           
 void invokeSetterMethod(org.omg.CORBA.Object target, java.lang.String setter, org.omg.CORBA.Any newValue)
          Create a property hookup, so that a change to the named bound property on the source object turns into a call on the "setter" method of the given target object.
 void invokeSetterMethod(org.omg.CORBA.Object target, java.lang.String setter, org.omg.CORBA.Object evt)
           
 boolean isAllChildrenDeleted()
          checks whether all of my children is deleted or not.
 boolean myPrefixEqual(java.lang.String otherID)
           
 void propertyChange(WebFlow.event.PropertyChangeEvent evt)
          This method is called whenever any of children fired the property Change Event.
 void propertyChangeAfterVeto(WebFlow.event.PropertyChangeEvent evt, java.lang.String sourceObjectID, java.lang.String eventID)
          this method is used internally
 org.omg.CORBA.Object[] pullEvents()
          pull all events which came to the caller of this method and collect them and return in Object array.
 void putEvent(org.omg.CORBA.Object evt, WebFlow.HookupTarget sourceHook)
           
 org.omg.CORBA.Object readIOR(org.omg.CORBA.ORB orb, java.lang.String fn)
          this method is used internally
 void removeConnectionFromTarget(org.omg.CORBA.Object targetModule)
          This method is called internally
 void removeContext(org.omg.CORBA.Object node)
          Remove context instantiation from its parent including connections which comes from/into this context established before.
 void removeLocalChildren()
          Remove only the nested children recursively along with the connections of them.Keep myself.if any of nested child is server, shut down it also.
 void removeModule(org.omg.CORBA.Object sourceModule)
          Remove module instantiation from its parent including connections which comes from/into this module established before.
 void removeModuleProxy(org.omg.CORBA.Object sourceModule, boolean IsProxyRemoved)
          This method is used internally to remove module
 void removeMyself()
          Remove all of my children nested recursively first and remove itself from its parent context if any.During removing each child, also we remove the connections made from/to this child.
 void removeWFServer(java.lang.String name)
          This method is called by slave server to remove itself from my children
 java.lang.String saveConnectionTable(java.lang.String sourceModuleObjectID)
           
 void saveConnectionTableInDataBase(java.lang.String sourceModuleObjectID)
           
 void saveObjectInDataBase()
           
 void saveObjectInDataBase(org.omg.CORBA.Object childNode, java.lang.String childID)
           
 void saveStateInDataBase()
          save the state of my children, including contexts,user modules and their attributes and return the result as a string
 java.lang.String saveStateInXml(java.lang.String saveCase)
          save the state of my children, including contexts,user modules and their attributes and return the result as a string
 void setChildDeleted(java.lang.String childID)
          marks the child with ID "childID" as deleted.
 void setClorAndMFI(int myColor, WebFlow.moduleFactory MFImpl)
           
 void setInterfaceDesc(org.omg.CORBA.Object product_, org.omg.CORBA.InterfaceDef nextDef)
          this method is used internally
 void setServerRequest(org.omg.CORBA.ServerRequest request)
           
 void start(org.omg.CORBA.Object factoryObj)
           
 void vetoablePropertyChange(WebFlow.event.PropertyChangeEvent evt)
          This method is called whenever any of children fired the Vetoable property Change Event.
 void waitUntilSlaveReady(org.omg.CORBA.Object obj)
           
 
Methods inherited from class WebFlow.BeanContextSupport
_equals, _hashCode, add, addAll, addBeanContextMembershipListener, addNamedChild, bcsChildren, childJustAddedHook, childJustRemovedHook, classEquals, clear, contains, contains, containsAll, createBCSChild, createBCSChild, fireChildrenAdded, fireChildrenRemoved, getBeanContextPeer, getChildBeanContextChild, getChildBeanContextChild, getChildBeanContextMembershipListener, getChildPropertyChangeListener, getChildSerializable, getChildVetoableChangeListener, getResource, getResourceAsStream, initialize, instantiateChild, isEmpty, isSerializing, iterator, remove, remove, remove, remove, removeAll, removeBeanContextMembershipListener, retainAll, size, toArray, toArrayInList, validatePendingAdd, validatePendingRemove
 
Methods inherited from class WebFlow.BeanContextChildSupport
addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, changeImpl, fireEvent, fireEvent, fireEvent, fireEvent, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, getBeanContext, getBeanContextChildPeer, getMyProxy, getObjectID, initializeBeanContextResources, IsChildProxy, isDelegated, isWFServer, pull, releaseBeanContextResources, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, restoreXMLProperties, savePropertiesWithJDBC, saveXMLProperties, serviceAvailable, serviceRevoked, setAsProxy, setAsServer, setBeanContext, setBeanContextChildPeer, setMyProxy, setObjectID, setOrb, validatePendingSetBeanContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WebFlowContextOps

public WebFlowContextOps(org.omg.CORBA.Object peer,
                         WebFlow.configReader configSettings,
                         org.omg.CORBA.ORB orb,
                         java.lang.String ContextName)
                  throws WebFlow.NullPointerException
The constructor for implementation of WebFlowContext interface. This is used internally for only for instantiating outermost WebFlowContext container objects.
Parameters:
peer - org.omg.CORBA.Object server object using this implementation for processing user requests
Throws:
WebFlow.NullPointerException - ContextName is Null.

WebFlowContextOps

public WebFlowContextOps(org.omg.CORBA.Object peer,
                         WebFlow.configReader configSettings,
                         org.omg.CORBA.ORB orb,
                         java.lang.String ContextName,
                         WebFlow.moduleFactory factory)
                  throws WebFlow.NullPointerException
The constructor for implementation of WebFlowContext interface. This is used for only for instantiating inner WebFlowContext container objects.
Parameters:
peer - org.omg.CORBA.Object server object using this implementation for processing user requests
Throws:
WebFlow.NullPointerException - ContextName is Null.
Method Detail

saveObjectInDataBase

public void saveObjectInDataBase()

saveObjectInDataBase

public void saveObjectInDataBase(org.omg.CORBA.Object childNode,
                                 java.lang.String childID)

saveStateInDataBase

public void saveStateInDataBase()
save the state of my children, including contexts,user modules and their attributes and return the result as a string
Overrides:
saveStateInDataBase in class BeanContextChildSupport

saveStateInXml

public java.lang.String saveStateInXml(java.lang.String saveCase)
save the state of my children, including contexts,user modules and their attributes and return the result as a string
Specified by:
saveStateInXml in interface WebFlow.WebFlowContextOperations

saveConnectionTable

public java.lang.String saveConnectionTable(java.lang.String sourceModuleObjectID)

saveConnectionTableInDataBase

public void saveConnectionTableInDataBase(java.lang.String sourceModuleObjectID)

deactivate

public void deactivate()
This method is called internally by the system when user wants to clean up the object of this implemenation. This includes removing IR and module factory created internally.
Specified by:
deactivate in interface WebFlow.WebFlowContextOperations

destroy

public void destroy()
This method is used internally for disconnecting the context object from ORB
Overrides:
destroy in class BeanContextChildSupport

getContext

public org.omg.CORBA.Object getContext(java.lang.String bindingName)
Find the context for specified name and return reference to it It looks for the contexts under this context,including this
Specified by:
getContext in interface WebFlow.WebFlowContextOperations

getParentContext

public org.omg.CORBA.Object getParentContext(java.lang.String bindingName)
Specified by:
getParentContext in interface WebFlow.WebFlowContextOperations

getContextExtended

public org.omg.CORBA.Object getContextExtended(java.lang.String bindingName,
                                               boolean parent)
Specified by:
getContextExtended in interface WebFlow.WebFlowContextOperations

setServerRequest

public void setServerRequest(org.omg.CORBA.ServerRequest request)

extractObjectID

public java.lang.String extractObjectID(org.omg.CORBA.ServerRequest request)
Extracting object identifier(object ID) from the actual initiator of this request "request". This is internal method.

getMyColor

public int getMyColor()
Specified by:
getMyColor in interface WebFlow.WebFlowContextOperations

getSource

public org.omg.CORBA.Object getSource(org.omg.CORBA.Object src)

invokeSetterMethod

public void invokeSetterMethod(org.omg.CORBA.Object target,
                               java.lang.String setter,
                               org.omg.CORBA.Object evt)

invokeSetterMethod

public void invokeSetterMethod(org.omg.CORBA.Object target,
                               java.lang.String setter,
                               org.omg.CORBA.Any newValue)
                        throws WebFlow.event.PropertyVetoException
Create a property hookup, so that a change to the named bound property on the source object turns into a call on the "setter" method of the given target object.

invokeGetterMethod

public org.omg.CORBA.Any invokeGetterMethod(org.omg.CORBA.Object source,
                                            java.lang.String getter)

invokeEventListener

public void invokeEventListener(org.omg.CORBA.Object source,
                                java.lang.String getter)

invokePropertyListener

public void invokePropertyListener(org.omg.CORBA.Object source,
                                   java.lang.String propertyAdder)

getEventObject

public org.omg.CORBA.Object getEventObject(org.omg.CORBA.ServerRequest request)
Get Event Object coming with the request "request" to this Context Server This is used internally

forwardEvent

public void forwardEvent(org.omg.CORBA.ServerRequest request)
Forward the received event object to target. This method first extract the identity of client, evet source, and event Object ID from "request" CORBA object and find the marching entry in translation table to find the registered targets and forward this event to these targets

pullEvents

public org.omg.CORBA.Object[] pullEvents()
pull all events which came to the caller of this method and collect them and return in Object array. User will look at these objects and call the relevant method of each event object to extract needed data. The identity of user is extracted from request object by getting inserted "Corba context information" in this object
Specified by:
pullEvents in interface WebFlow.WebFlowContextOperations

putEvent

public void putEvent(org.omg.CORBA.Object evt,
                     WebFlow.HookupTarget sourceHook)

attachPushProperty

public void attachPushProperty(org.omg.CORBA.Object source,
                               java.lang.String propertyName,
                               org.omg.CORBA.Object target,
                               java.lang.String targetMethod)
Attach an property change notification with propertyName,"propertyName" from source object to target object. "targetMethod" method of target is called with the parameter of "PropertyChangeEvent" event whenever property change event is fired from source. User has to create source and target objects with "createNewModule" method of this class before.
Specified by:
attachPushProperty in interface WebFlow.WebFlowContextOperations

detachPushProperty

public void detachPushProperty(org.omg.CORBA.Object source,
                               java.lang.String propertyName,
                               org.omg.CORBA.Object target,
                               java.lang.String targetMethod)
Remove established property change event binding by attachPushProperty method before from source object to target object.
Specified by:
detachPushProperty in interface WebFlow.WebFlowContextOperations

attachPushVetoableProperty

public void attachPushVetoableProperty(org.omg.CORBA.Object source,
                                       java.lang.String propertyName,
                                       org.omg.CORBA.Object target,
                                       java.lang.String targetMethod)
Attach an Vetoable property change notification with propertyName,"propertyName" from source object to target object. "targetMethod" method of target is called with the parameter of "VetoableChangeEvent" event whenever property change event is fired from source. User has to create source and target objects with "createNewModule" method of this class before. The difference of vetoable property change from property change is that user can veto the requested propty change and raise exception
Specified by:
attachPushVetoableProperty in interface WebFlow.WebFlowContextOperations

detachPushVetoableProperty

public void detachPushVetoableProperty(org.omg.CORBA.Object source,
                                       java.lang.String propertyName,
                                       org.omg.CORBA.Object target,
                                       java.lang.String targetMethod)
Remove established vetoable property change event binding by attachPushVetoableProperty before from source object to target object.
Specified by:
detachPushVetoableProperty in interface WebFlow.WebFlowContextOperations

attachPushEvent

public void attachPushEvent(org.omg.CORBA.Object source,
                            java.lang.String eventID,
                            org.omg.CORBA.Object target,
                            java.lang.String targetMethod)
Register target object as a listener for an Generic user-defined event notification from source object .The identifier ID of event is eventID. "targetMethod" method of target is called with the parameter of "GenericEvent" event whenever specified event is fired from source. User has to create source and target objects with "createNewModule" method of this class before.
Specified by:
attachPushEvent in interface WebFlow.WebFlowContextOperations

detachPushEvent

public void detachPushEvent(org.omg.CORBA.Object source,
                            java.lang.String eventID,
                            org.omg.CORBA.Object target,
                            java.lang.String targetMethod)
Unregister an generic event association from source to target object made by attachPushEvent method call before. The identifier ID of event is eventID.
Specified by:
detachPushEvent in interface WebFlow.WebFlowContextOperations

attachPullProperty

public void attachPullProperty(org.omg.CORBA.Object source,
                               java.lang.String propertyName,
                               org.omg.CORBA.Object target)
Pull type of event is used to take event data from source when target need This is demand-driven association as opposed to event-driven in "push" type of events. Target method name is not needed because target is explicitly pulling event from its parent context. This method method attach pull type of property change event notification. That means whenever event came to parent from any of children, it will be kept until target need it and explicitly pull.
Specified by:
attachPullProperty in interface WebFlow.WebFlowContextOperations

detachPullProperty

public void detachPullProperty(org.omg.CORBA.Object source,
                               java.lang.String propertyName,
                               org.omg.CORBA.Object target)
Remove associated property event binding by attachPullProperty method before
Specified by:
detachPullProperty in interface WebFlow.WebFlowContextOperations

attachPullVetoableProperty

public void attachPullVetoableProperty(org.omg.CORBA.Object source,
                                       java.lang.String propertyName,
                                       org.omg.CORBA.Object target)
Pull type of event is used to take event data from source when target need This is demand-driven association as opposed to event-driven in "push" type of events. Target method name is not needed because target is explicitly pulling event from its parent context. This method method attach pull type of vetoable property change event notification. That means whenever event came to parent from any of children, it will be kept until target need it and explicitly pull. The difference of vetoable property change from property change is that user can veto the requested propty change and raise exception
Specified by:
attachPullVetoableProperty in interface WebFlow.WebFlowContextOperations

detachPullVetoableProperty

public void detachPullVetoableProperty(org.omg.CORBA.Object source,
                                       java.lang.String propertyName,
                                       org.omg.CORBA.Object target)
Remove associated vetoable property change event binding by attachPullVetoableProperty method before
Specified by:
detachPullVetoableProperty in interface WebFlow.WebFlowContextOperations

attachPullEvent

public void attachPullEvent(org.omg.CORBA.Object source,
                            java.lang.String eventID,
                            org.omg.CORBA.Object target)
Pull type of event is used to take event data from source when target need This is demand-driven association as opposed to event-driven in "push" type of events. Target method name is not needed because target is explicitly pulling event from its parent context. This method method attach pull type of generic user-defined event notification. That means whenever event came to parent from any of children, it will be kept until target need it and explicitly pull.
Specified by:
attachPullEvent in interface WebFlow.WebFlowContextOperations

detachPullEvent

public void detachPullEvent(org.omg.CORBA.Object source,
                            java.lang.String eventID,
                            org.omg.CORBA.Object target)
Remove associated user-defined generic event binding by attachPullEvent method before
Specified by:
detachPullEvent in interface WebFlow.WebFlowContextOperations

attachEvent

public void attachEvent(org.omg.CORBA.Object source,
                        java.lang.String eventID,
                        org.omg.CORBA.Object target,
                        java.lang.String targetMethod,
                        int flowModel)
This method is used internally to make various types of connections between user modules

removeMyself

public void removeMyself()
Remove all of my children nested recursively first and remove itself from its parent context if any.During removing each child, also we remove the connections made from/to this child. If this context is outermost context , e.g. master server or slave server, then shut down the server which this context implements.Shut down includes deactivation of the IR , module Factory and myself. this method will catched by proxy which will remove this object and proxy itself
Overrides:
removeMyself in class BeanContextChildSupport

detachEvent

public void detachEvent(org.omg.CORBA.Object source,
                        java.lang.String eventID,
                        org.omg.CORBA.Object target,
                        java.lang.String targetMethod,
                        int flowModel)
This method is used internally to remove various types of connections made before between user modules

removeModule

public void removeModule(org.omg.CORBA.Object sourceModule)
Remove module instantiation from its parent including connections which comes from/into this module established before.
Specified by:
removeModule in interface WebFlow.WebFlowContextOperations

removeModuleProxy

public void removeModuleProxy(org.omg.CORBA.Object sourceModule,
                              boolean IsProxyRemoved)
This method is used internally to remove module
Specified by:
removeModuleProxy in interface WebFlow.WebFlowContextOperations

removeConnectionFromTarget

public void removeConnectionFromTarget(org.omg.CORBA.Object targetModule)
This method is called internally

removeLocalChildren

public void removeLocalChildren()
Remove only the nested children recursively along with the connections of them.Keep myself.if any of nested child is server, shut down it also.
Specified by:
removeLocalChildren in interface WebFlow.WebFlowContextOperations

removeContext

public void removeContext(org.omg.CORBA.Object node)
Remove context instantiation from its parent including connections which comes from/into this context established before. If this context is outermost container, it will be shut down in addition to removing myself from my parent container
Specified by:
removeContext in interface WebFlow.WebFlowContextOperations

getAllBindings

public java.util.Vector getAllBindings(org.omg.CORBA.Object target,
                                       java.util.Hashtable bindingTable)
this method is used internally

getBindings

public java.util.Vector getBindings(java.lang.String targetObjectID,
                                    java.util.Hashtable bindingTable)
this method is used internally

copyModuleBinding

public void copyModuleBinding(org.omg.CORBA.Object sourceModule,
                              org.omg.CORBA.Object there)
This method provides user with copying the in/out bindings of module "sourceModule" into module "there". User needs to issue this method to the parent of sourceModule because all of outgoing connections from sourceModule are kept in its parent container
Specified by:
copyModuleBinding in interface WebFlow.WebFlowContextOperations

copyConnectionFromTarget

public void copyConnectionFromTarget(org.omg.CORBA.Object sourceModule,
                                     org.omg.CORBA.Object there)
this method is used internally

setInterfaceDesc

public void setInterfaceDesc(org.omg.CORBA.Object product_,
                             org.omg.CORBA.InterfaceDef nextDef)
this method is used internally

readIOR

public org.omg.CORBA.Object readIOR(org.omg.CORBA.ORB orb,
                                    java.lang.String fn)
this method is used internally

getTargetsByProperty

public java.util.Hashtable getTargetsByProperty()
this method is used internally

getKeyedChild

public org.omg.CORBA.Object getKeyedChild(java.lang.String childID)
this method is used internally
Specified by:
getKeyedChild in interface WebFlow.WebFlowContextOperations

getSameKeyedChildren

public org.omg.CORBA.Object[] getSameKeyedChildren(java.lang.String childID)
this method is used internally

setChildDeleted

public void setChildDeleted(java.lang.String childID)
marks the child with ID "childID" as deleted. This is called internally when deleting a child
Specified by:
setChildDeleted in interface WebFlow.WebFlowContextOperations

isAllChildrenDeleted

public boolean isAllChildrenDeleted()
checks whether all of my children is deleted or not. If deleted, returns true , otherwise false
Specified by:
isAllChildrenDeleted in interface WebFlow.WebFlowContextOperations

createObjectID

public java.lang.String createObjectID(java.lang.String productName)
creates an object ID for new instantiated child with name "prodoctName" This method is called internally.
Specified by:
createObjectID in interface WebFlow.WebFlowContextOperations

addNewModule

public org.omg.CORBA.Object addNewModule(java.lang.String productName)
instantiate new module with name "productName" and inserts it into its children list
Specified by:
addNewModule in interface WebFlow.WebFlowContextOperations

addNewContext

public org.omg.CORBA.Object addNewContext(java.lang.String newContextName)
                                   throws WebFlow.event.PropertyVetoException,
                                          WebFlow.NullPointerException
instantiate new context with name "newContextName" and inserts it into its children list
Specified by:
addNewContext in interface WebFlow.WebFlowContextOperations

addModule

public void addModule(org.omg.CORBA.Object module,
                      java.lang.String objectId)
It is used internally to add new module
Specified by:
addModule in interface WebFlow.WebFlowContextOperations

addContext

public void addContext(org.omg.CORBA.Object context,
                       java.lang.String objectId)
It is used internally to add new context
Specified by:
addContext in interface WebFlow.WebFlowContextOperations

propertyChange

public void propertyChange(WebFlow.event.PropertyChangeEvent evt)
                    throws WebFlow.event.PropertyVetoException
This method is called whenever any of children fired the property Change Event. The event object come with the paramter "evt"
Specified by:
propertyChange in interface WebFlow.WebFlowContextOperations

propertyChangeAfterVeto

public void propertyChangeAfterVeto(WebFlow.event.PropertyChangeEvent evt,
                                    java.lang.String sourceObjectID,
                                    java.lang.String eventID)
                             throws WebFlow.event.PropertyVetoException
this method is used internally

vetoablePropertyChange

public void vetoablePropertyChange(WebFlow.event.PropertyChangeEvent evt)
                            throws WebFlow.event.PropertyVetoException
This method is called whenever any of children fired the Vetoable property Change Event. The event object come with the paramter "evt"
Specified by:
vetoablePropertyChange in interface WebFlow.WebFlowContextOperations

bc_vetoableChange

public void bc_vetoableChange(WebFlow.event.PropertyChangeEvent pce,
                              java.lang.String propertyName,
                              java.lang.String sourceObjectID)
                       throws WebFlow.event.PropertyVetoException
This method is used internally to process vetoable property change event

bc_propertyChange

public void bc_propertyChange(WebFlow.event.PropertyChangeEvent pce,
                              java.lang.String sourceObjectID)
                       throws WebFlow.IllegalArgumentException,
                              WebFlow.IllegalStateException
This method is used internally to process property change event

addWFServer

public void addWFServer(java.lang.String name,
                        org.omg.CORBA.Object server)
This method is called by slave server to insert itself to my children
Specified by:
addWFServer in interface WebFlow.WebFlowContextOperations

removeWFServer

public void removeWFServer(java.lang.String name)
This method is called by slave server to remove itself from my children
Specified by:
removeWFServer in interface WebFlow.WebFlowContextOperations

getAllWFServers

public java.lang.String[] getAllWFServers()
This method returns the available slave servers currently available. It returns the names of slave servers. This is deprecated. User should use to getContext method to get reference to one slave server and toArray method to get all of my children
Specified by:
getAllWFServers in interface WebFlow.WebFlowContextOperations

getGatewayProxy

public org.omg.CORBA.Object getGatewayProxy()
This is used internally

cleanUp

public void cleanUp()
This is used internally to disconnect myself from ORB. It is called by my proxy
Specified by:
cleanUp in interface WebFlow.WebFlowContextOperations

getWFServer

public org.omg.CORBA.Object getWFServer(java.lang.String serverName,
                                        java.lang.String userName)
This is deprecated method. It creates new context with name "userName" inside slave server "serverName". It returns the reference to proxy of new created context. User should use getContext Method instead of this
Specified by:
getWFServer in interface WebFlow.WebFlowContextOperations

insertRemoteServer

public void insertRemoteServer(java.lang.String serverName,
                               java.lang.String objectID,
                               org.omg.CORBA.Object serverContext)
It is called internally.
Specified by:
insertRemoteServer in interface WebFlow.WebFlowContextOperations

myPrefixEqual

public boolean myPrefixEqual(java.lang.String otherID)

waitUntilSlaveReady

public void waitUntilSlaveReady(org.omg.CORBA.Object obj)

insertProxy

public org.omg.CORBA.Object insertProxy(java.lang.String serverName)
It is used internally

getWebFlowContext

public WebFlow.WebFlowContext getWebFlowContext(org.omg.CORBA.Object product)

getModuleList

public java.lang.String[] getModuleList()
Specified by:
getModuleList in interface WebFlow.WebFlowContextOperations

getMFImpl

public WebFlow.moduleFactory getMFImpl()

start

public void start(org.omg.CORBA.Object factoryObj)

setClorAndMFI

public void setClorAndMFI(int myColor,
                          WebFlow.moduleFactory MFImpl)