001: package org.enhydra.shark.corba;
002:
003: import javax.transaction.UserTransaction;
004:
005: import org.omg.WfBase.BaseException;
006: import org.omg.WorkflowModel.*;
007:
008: /**
009: * WfAssignmentImpl - Workflow Assignment Object implementation
010: *
011: * @author Sasa Bojanic
012: * @version 1.0
013: */
014: public class WfAssignmentCORBA extends _WfAssignmentImplBase {
015: // private SharkCORBAServer myServer;
016:
017: org.enhydra.shark.api.client.wfmodel.WfAssignment sharkAss;
018:
019: private Collective __collective;
020:
021: /**
022: * Creates new WfAssignment.
023: *
024: * @param sharkAss a WfAssignment
025: */
026: protected WfAssignmentCORBA(Collective toJoin,
027: org.enhydra.shark.api.client.wfmodel.WfAssignment sharkAss) {
028: __collective = toJoin;
029: toJoin.__recruit(this );
030: this .sharkAss = sharkAss;
031: }
032:
033: /**
034: * Gets the activity object of this assignment.
035: *
036: * @return WfActivity The activity object of this assignment.
037: */
038: public WfActivity activity() throws BaseException {
039: UserTransaction ut = null;
040: boolean e = SharkCORBAServer.doesTransactionExist();
041: try {
042: ut = SharkCORBAUtilities.beginTransaction(e);
043: WfActivity ret = new WfActivityCORBA(__collective, sharkAss
044: .activity());
045: SharkCORBAUtilities.commitTransaction(ut, e);
046: return ret;
047: } catch (Exception ex) {
048: SharkCORBAUtilities.rollbackTransaction(ut, e);
049: throw new BaseException();
050: }
051: }
052:
053: /**
054: * Gets the assignee (resource) of this assignment.
055: *
056: * @return WfResource The assignee of this assignment.
057: */
058: public WfResource assignee() throws BaseException {
059: UserTransaction ut = null;
060: boolean e = SharkCORBAServer.doesTransactionExist();
061: try {
062: ut = SharkCORBAUtilities.beginTransaction(e);
063: WfResource ret = new WfResourceCORBA(__collective, sharkAss
064: .assignee());
065: SharkCORBAUtilities.commitTransaction(ut, e);
066: return ret;
067: } catch (Exception ex) {
068: SharkCORBAUtilities.rollbackTransaction(ut, e);
069: throw new BaseException();
070: }
071: }
072:
073: /**
074: * Sets the assignee of this assignment.
075: */
076: public void set_assignee(WfResource new_value)
077: throws BaseException, InvalidResource {
078: UserTransaction ut = null;
079: boolean e = SharkCORBAServer.doesTransactionExist();
080: try {
081: ut = SharkCORBAUtilities.beginTransaction(e);
082: sharkAss.set_assignee(new WfResourceHelper(new_value
083: .resource_key()));
084: SharkCORBAUtilities.commitTransaction(ut, e);
085: } catch (Exception ex) {
086: SharkCORBAUtilities.rollbackTransaction(ut, e);
087: throw new BaseException();
088: }
089: }
090:
091: public synchronized void set_accepted_status(boolean accept)
092: throws BaseException, CannotAcceptSuspended {
093: UserTransaction ut = null;
094: boolean e = SharkCORBAServer.doesTransactionExist();
095: try {
096: ut = SharkCORBAUtilities.beginTransaction(e);
097: sharkAss.set_accepted_status(accept);
098: SharkCORBAUtilities.commitTransaction(ut, e);
099: } catch (Exception ex) {
100: SharkCORBAUtilities.rollbackTransaction(ut, e);
101: throw new BaseException();
102: }
103: }
104:
105: public boolean get_accepted_status() throws BaseException {
106: UserTransaction ut = null;
107: boolean e = SharkCORBAServer.doesTransactionExist();
108: try {
109: ut = SharkCORBAUtilities.beginTransaction(e);
110: boolean ret = sharkAss.get_accepted_status();
111: SharkCORBAUtilities.commitTransaction(ut, e);
112: return ret;
113: } catch (Exception ex) {
114: SharkCORBAUtilities.rollbackTransaction(ut, e);
115: throw new BaseException();
116: }
117: }
118:
119: public boolean equals(Object obj) {
120: if (!(obj instanceof WfAssignment))
121: return false;
122: WfAssignment ass = (WfAssignment) obj;
123: UserTransaction ut = null;
124: boolean e = SharkCORBAServer.doesTransactionExist();
125: try {
126: ut = SharkCORBAUtilities.beginTransaction(e);
127: boolean ret = (ass.activity().key()
128: .equals(activity().key()) && ass.assignee()
129: .resource_key().equals(assignee().resource_key()));
130: SharkCORBAUtilities.commitTransaction(ut, e);
131: return ret;
132: } catch (Exception ex) {
133: SharkCORBAUtilities.rollbackTransaction(ut, e);
134: return false;
135: }
136: }
137:
138: public String toString() {
139: return sharkAss.toString();
140: }
141:
142: }
|