com.ragic.s3.service.workflow
Class ExecuteScriptWorker

java.lang.Object
  extended by com.ragic.s3.service.workflow.ScriptBDBSmartWorker
      extended by com.ragic.s3.service.workflow.ExecuteScriptWorker

public class ExecuteScriptWorker
extends ScriptBDBSmartWorker

ExecuteScriptWorker is a class employed by Ragic Workflow application, which allows applications to access and manipulate Ragic database.

User: liberation
Date: 2010/10/5
Time: 10:07:46 am

Wrapper class for BDBWorker for javascript customization to access.
We now don't use the passed in worker because the we use auto commit for scripts to avoid deadlock.


Constructor Summary
ExecuteScriptWorker(com.ragic.s3.sdb.data.bdb.BDBWorker worker)
          For internal use only
ExecuteScriptWorker(com.ragic.s3.sdb.data.bdb.BDBWorker worker, int delta)
          For internal use only
 
Method Summary
 int addNode(int domainId, java.lang.String value, boolean mergeSameValue)
          Adds a new node or updates a existed node with given value and field ID.
 void delNode(int domainId, int nodeId)
          Deletes the node specified by given field ID and node ID.
 int getAutoGenerate(java.lang.String seqName)
          Returns current number read by counter of the given auto-generate field .
 int getLinkedNodeId(int domainId, int nodeId, int linkedDomainId)
          Returns node ID of given linked node.
 com.ragic.s3.sdb.query.SDBNode getNode(int domainId, int nodeId)
          Returns the node corresponding to the given field ID and node ID.
 com.ragic.s3.sdb.query.SDBQuery getQuery()
          Implements a SDBQuery object to query data in this form.
 int incrementAutoGenerate(java.lang.String seqName)
          Increments the current number read by the counter of the given field.
 void linkNode(int domainId1, int nodeId1, int domainId2, int nodeId2)
          Create a path between two node.
 void resetAutoGenerate(java.lang.String seqName, int seqNum)
          Resets the counter of the given auto-generate field to any of the number.
 void unlinkAllNodes(int domainId1, int nodeId1, int domainId2)
          Removes every path between one node of a given field and all the nodes of another field.
 void unlinkNode(int domainId1, int nodeId1, int domainId2, int nodeId2)
          Remove the path between two nodes.
 void updateNode(int domainId, int nodeId, java.lang.String value)
          Updates the value of the node specified by given field ID and node ID.
 
Methods inherited from class com.ragic.s3.service.workflow.ScriptBDBSmartWorker
addFieldSelectionValue, addFieldSelectionValue, addRecord, getFieldNodeId, getFieldNodeId, getFieldNodeIds, getFieldNodeIds, getFieldValue, getFieldValue, getFieldValues, getFieldValues, getFieldValuesString, setFieldSelectionValue, setFieldSelectionValue, setFieldSelectionValues, setFieldSelectionValues, setFieldSelectionValues, setFieldSelectionValues, setFieldValue, setFieldValue, setValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExecuteScriptWorker

public ExecuteScriptWorker(com.ragic.s3.sdb.data.bdb.BDBWorker worker)
For internal use only


ExecuteScriptWorker

public ExecuteScriptWorker(com.ragic.s3.sdb.data.bdb.BDBWorker worker,
                           int delta)
For internal use only

Method Detail

getNode

public com.ragic.s3.sdb.query.SDBNode getNode(int domainId,
                                              int nodeId)
Returns the node corresponding to the given field ID and node ID.

Parameters:
domainId - field ID of target node.
nodeId - node ID of target node.
Returns:
SDBNode object of interest.

addNode

public int addNode(int domainId,
                   java.lang.String value,
                   boolean mergeSameValue)
Adds a new node or updates a existed node with given value and field ID. When creating a new record in database, root node should be created at first by addNode. Then register other values by updateNode or setFieldValue.

Parameters:
domainId - field to save this new node.
value - value to be saved in this new node.
mergeSameValue - true will not create new node if such value already exists.
false just the opposite.
Returns:
node ID of the new Node
See Also:
BDBSmartWorker.setFieldValue(int, String, int, String)

linkNode

public void linkNode(int domainId1,
                     int nodeId1,
                     int domainId2,
                     int nodeId2)
Create a path between two node. Upon being linked, These two nodes can be accessed from each other by SDBQueryScript objects.

Parameters:
domainId1 - field ID of first node to be linked
nodeId1 - node ID of first node to be linked
domainId2 - field ID of another node to be linked
nodeId2 - node ID of another node to be linked
See Also:
SDBQueryScript

unlinkNode

public void unlinkNode(int domainId1,
                       int nodeId1,
                       int domainId2,
                       int nodeId2)
Remove the path between two nodes.

Parameters:
domainId1 - field ID of node 1
nodeId1 - node ID of node 1
domainId2 - field ID of node 2
nodeId2 - node ID of node 2

unlinkAllNodes

public void unlinkAllNodes(int domainId1,
                           int nodeId1,
                           int domainId2)
Removes every path between one node of a given field and all the nodes of another field.

Parameters:
domainId1 - field ID
nodeId1 - node ID
domainId2 - field ID of another nodes

updateNode

public void updateNode(int domainId,
                       int nodeId,
                       java.lang.String value)
Updates the value of the node specified by given field ID and node ID.

Parameters:
domainId - field ID of the node to be updated
nodeId - node ID of the node to be updated
value - new value
See Also:
ScriptBDBSmartWorker.setFieldValue(int, String, int, String)

delNode

public void delNode(int domainId,
                    int nodeId)
Deletes the node specified by given field ID and node ID.

Parameters:
domainId - field ID of the node to be deleted
nodeId - node ID of the node to be deleted

getLinkedNodeId

public int getLinkedNodeId(int domainId,
                           int nodeId,
                           int linkedDomainId)
Returns node ID of given linked node.

Parameters:
domainId - field ID
nodeId - node ID
linkedDomainId - field ID of another node
Returns:
node ID of another node

getQuery

public com.ragic.s3.sdb.query.SDBQuery getQuery()
Implements a SDBQuery object to query data in this form.

Returns:
an implementation to query data.
See Also:
SDBQueryScript

getAutoGenerate

public int getAutoGenerate(java.lang.String seqName)
Returns current number read by counter of the given auto-generate field .

Parameters:
seqName - string-typed field ID.
Returns:
current number read by the counter.

resetAutoGenerate

public void resetAutoGenerate(java.lang.String seqName,
                              int seqNum)
Resets the counter of the given auto-generate field to any of the number.

Parameters:
seqName - string-typed field ID.
seqNum - number to be set to counter.

incrementAutoGenerate

public int incrementAutoGenerate(java.lang.String seqName)
Increments the current number read by the counter of the given field.

Parameters:
seqName - string-typed field ID.
Returns:
incremented number.


Copyright © 2009,2010,2011,2012 Ragic Corp. All Rights Reserved.