Re: Re: POA Patches

"Sasa Bojanic" <[email protected]>
Newsgroups gmane.comp.java.enhydra.shark
Message-ID <00ae01c57bcc$dad23040$1200a8c0@bobrock>
Hi Dave,

I've been thinking about having two implementations of CORBA server: the old one, and POA implementation. If one wants to use
JDK1.3, he can work with an old implementation.
Maybe we can create the new module for POA server? What do you think?

Would you like to get the write access to shark CVS, and to create a new module for POA server (i.e. you could put it in
SharkCORBA\POAServer, and change the package name to org.enhydra.shark.corba.poa or something like that, provide appropriate .bat
and .sh scripts,....)?

If not, can you send me all the server classes, so I can do it?

Thanks a lot!
Sasa.

----- Original Message -----
From: "David Forslund" <[email protected]>
To: <[email protected]>
Sent: Tuesday, June 28, 2005 12:13 AM
Subject: [shark] Re: POA Patches


> Here is a set of patches to have Shark use the POA interface rather than
> the BOA interface. From my limited testing, it works fine with
> JDK1.4.2_08 but I have
> some issues when I use the OpenORB library (unlike the earlier
> version).   I did nothing to try to take advantage of some of the useful
> POA capabilities
> that could benefit the CORBA interface for Shark.  This diff was made
> against the current (today) CVS release.  I hope you will be able to use
> it.  I would
> also suggest moving to use orbd instead of tnamserv  for the
> nameservice, but didn't put any of these changes in this patch.
>
> Dave Forslund
>
>


--------------------------------------------------------------------------------


>
> Index: modules/SharkCORBA/API/build.xml
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/API/build.xml,v
> retrieving revision 1.7
> diff -u -r1.7 build.xml
> --- modules/SharkCORBA/API/build.xml 16 Apr 2005 08:24:18 -0000 1.7
> +++ modules/SharkCORBA/API/build.xml 9 Jun 2005 03:31:34 -0000
> @@ -32,19 +32,19 @@
>     <!-- ==================================================================== -->
>     <target name="IDLsToJavaSources">
>        <exec executable="idlj" dir="${srcIDL.dir}">
> -         <arg line="-fall -pkgPrefix TimeBase org.omg -oldImplBase -td ${src.dir} TimeBase.idl"/>
> +         <arg line="-fall -pkgPrefix TimeBase org.omg  -td ${src.dir} TimeBase.idl"/>
>        </exec>
>        <exec executable="idlj" dir="${srcIDL.dir}">
> -         <arg line="-fall -pkgPrefix WfBase org.omg -oldImplBase -td ${src.dir} WfBase.idl"/>
> +         <arg line="-fall -pkgPrefix WfBase org.omg  -td ${src.dir} WfBase.idl"/>
>        </exec>
>        <exec executable="idlj" dir="${srcIDL.dir}">
> -         <arg line="-fall -pkgPrefix WorkflowModel org.omg -pkgPrefix WfBase org.omg -pkgPrefix TimeBase org.omg -oldImplBase -td
${src.dir} WorkflowModel.idl"/>
> +         <arg line="-fall -pkgPrefix WorkflowModel org.omg -pkgPrefix WfBase org.omg -pkgPrefix TimeBase org.omg  -td ${src.dir}
WorkflowModel.idl"/>
>        </exec>
>        <exec executable="idlj" dir="${srcIDL.dir}">
> -         <arg line="-fall -pkgPrefix ExpressionBuilders org.enhydra.shark.corba -pkgPrefix WfBase org.omg -oldImplBase -td
${src.dir} ExpressionBuilders.idl"/>
> +         <arg line="-fall -pkgPrefix ExpressionBuilders org.enhydra.shark.corba -pkgPrefix WfBase org.omg  -td ${src.dir}
ExpressionBuilders.idl"/>
>        </exec>
>        <exec executable="idlj" dir="${srcIDL.dir}">
> -         <arg line="-fall -pkgPrefix WorkflowService org.enhydra.shark.corba -pkgPrefix TimeBase org.omg -pkgPrefix WfBase
org.omg -pkgPrefix WorkflowModel org.omg -pkgPrefix ExpressionBuilders org.enhydra.shark.corba -oldImplBase -td ${src.dir}
WorkflowService.idl"/>
> +         <arg line="-fall -pkgPrefix WorkflowService org.enhydra.shark.corba -pkgPrefix TimeBase org.omg -pkgPrefix WfBase
org.omg -pkgPrefix WorkflowModel org.omg -pkgPrefix ExpressionBuilders org.enhydra.shark.corba -td ${src.dir} WorkflowService.idl"/>
>        </exec>
>     </target>
>
> Index: modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/CommonExpressionBuilder.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/CommonExpressionBuilder.java,v
> retrieving revision 1.4
> diff -u -r1.4 CommonExpressionBuilder.java
> --- modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/CommonExpressionBuilder.java 7 Jun 2005 15:00:15 -0000 1.4
> +++ modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/CommonExpressionBuilder.java 21 Jun 2005 01:46:55 -0000
> @@ -27,6 +27,7 @@
>        eb.addPackageIdEquals(pkgId);
>        eb.setOrderByCreatedTime(true);
>        WfProcessMgrIterator it = ea.get_iterator_processmgr();
> +       if (it == null) System.out.println("getManagersForPackage: it =" +it);
>        it.set_query_expression(eb.toExpression());
>        return it;
>     }
> Index: modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/Connection.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/Connection.java,v
> retrieving revision 1.4
> diff -u -r1.4 Connection.java
> --- modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/Connection.java 1 Dec 2004 17:57:26 -0000 1.4
> +++ modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/Connection.java 13 Jun 2005 15:24:52 -0000
> @@ -137,6 +137,8 @@
>                                         ResourceManager.getLanguageDependentString("DialogConnectToWorkflowServer"),
>                                         JOptionPane.ERROR_MESSAGE);
>        } catch (Exception ex) {
> +          System.err.println("applyChanges: "+ex);
> +          ex.printStackTrace();
>           workflowService=null;
>           username=null;
>           JOptionPane.showMessageDialog(this,
> @@ -157,7 +159,7 @@
>              nameServerPortField.getText().trim(),
>              workflowServerNameField.getText().trim()).getSharkConnection();
>        } catch(Exception e) {
> -         //e.printStackTrace();
> +         e.printStackTrace();
>        }
>     }
>
> Index: modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/SharkClient.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/SharkClient.java,v
> retrieving revision 1.12
> diff -u -r1.12 SharkClient.java
> --- modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/SharkClient.java 15 Jun 2005 15:47:21 -0000 1.12
> +++ modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/SharkClient.java 25 Jun 2005 16:51:25 -0000
> @@ -1,5 +1,6 @@
>  package org.enhydra.shark.corbaclient;
>
> +
>  import java.awt.BorderLayout;
>  import java.awt.Color;
>  import java.awt.GraphicsEnvironment;
> @@ -37,6 +38,8 @@
>  import org.omg.CosNaming.NameComponent;
>  import org.omg.CosNaming.NamingContext;
>  import org.omg.CosNaming.NamingContextHelper;
> +import org.omg.PortableServer.POA;
> +
>
>  /**
>   * The base abstract class for creating workflow clients (administration,
> @@ -111,7 +114,7 @@
>     private static String port;
>     private static String workflowServerName;
>
> -   private static ORB orb;
> +   protected static ORB orb;
>
>     public static ORB getORB () {
>        return orb;
> @@ -131,17 +134,22 @@
>              // Create and initialize the ORB
>              orb = ORB.init(args,null);
>
> -
> +           POA rootPOA = org.omg.PortableServer.POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +         //  rootPOA.servant_to_reference(this);
> +           rootPOA.the_POAManager().activate();
>
>              // Get the root naming context
>              org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService");
>              NamingContext ncRef = NamingContextHelper.narrow(objRef);
> -
> +            System.out.println("Shark Interface connected to NameService with "+args[1]);
>              // Resolve the object reference in naming
>              NameComponent nc = new NameComponent(SharkClient.workflowServerName,"");
>              NameComponent path[] = {nc};
>              workflowServer=SharkInterfaceHelper.narrow(ncRef.resolve(path));
> +             if (workflowServer != null) System.out.println("connected to "+workflowServerName);
>           } catch(Exception e) {
> +             System.err.println("findWorkflowServer: "+e);
> +             e.printStackTrace();
>              return null;
>              //e.printStackTrace();
>           }
> @@ -184,7 +192,9 @@
>
execAdmin=findWorkflowServer(SharkClient.host,SharkClient.port,SharkClient.workflowServerName).getExecutionAdministration();
>           try {
>              execAdmin.connect(username,pwd,"","");
> -         } catch (Exception ex) {}
> +         } catch (Exception ex) {
> +             System.err.println("getExecAmin "+ex);
> +         }
>        }
>        return execAdmin;
>     }
> Index: modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/BlockActivityViewer.java
> ===================================================================
> RCS file:
/cvsroot/shark/Shark/modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/BlockActivityViewer.java,v
> retrieving revision 1.4
> diff -u -r1.4 BlockActivityViewer.java
> --- modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/BlockActivityViewer.java 21 Mar 2005 13:03:43 -0000
1.4
> +++ modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/BlockActivityViewer.java 27 Jun 2005 02:55:57 -0000
> @@ -93,11 +93,13 @@
>                 if (go!=null) {
>                    currentGraph.addSelectionCell(go);
>                 }
> -            } catch (Exception ex) {}
> +            } catch (Exception ex) {
> +                System.err.println("updateSelection: "+ex);
> +            }
>           }
>           //System.out.println("Selection refreshed");
>        } catch (Exception ex) {
> -         System.err.println("Problems while updating selection");
> +         System.err.println("updateSelection: Problems while updating selection: "+ex);
>        }
>     }
>
> Index: modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/ProcessViewer.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/ProcessViewer.java,v
> retrieving revision 1.4
> diff -u -r1.4 ProcessViewer.java
> --- modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/ProcessViewer.java 21 Mar 2005 13:03:43 -0000 1.4
> +++ modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/ProcessViewer.java 27 Jun 2005 04:09:40 -0000
> @@ -143,7 +143,10 @@
>                 if (blockId!=null && blockId.trim().length()>0) {
>                    continue;
>                 }
> -            } catch (Exception ex) {}
> +            } catch (Exception ex) {
> +                System.err.println("displayProcess blockId: "+ex);
> +                ex.printStackTrace();
> +            }
>              Activity
act=acts.getActivity(SharkClient.getAdminMiscUtilities().getActivityDefinitionId(currentProcess.key(),allRunningActs[i].key()));
>              try {
>                 WorkflowManager wm=currentGraph.getWorkflowManager();
> @@ -151,11 +154,15 @@
>                 if (go!=null) {
>                    currentGraph.addSelectionCell(go);
>                 }
> -            } catch (Exception ex) {}
> +            } catch (Exception ex) {
> +                System.err.println("displayProcess Activity: "+ex);
> +                ex.printStackTrace();
> +            }
>           }
>           //System.out.println("Selection refreshed");
>        } catch (Exception ex) {
> -         System.err.println("Problems while updating selection");
> +        // System.err.println("display Process: Problems while updating selection: "+ex);
> +          ex.printStackTrace();
>        }
>     }
>
> Index: modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/SharkAdmin.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/SharkAdmin.java,v
> retrieving revision 1.6
> diff -u -r1.6 SharkAdmin.java
> --- modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/SharkAdmin.java 17 Jun 2005 08:46:25 -0000 1.6
> +++ modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/SharkAdmin.java 17 Jun 2005 15:55:05 -0000
> @@ -74,7 +74,7 @@
>        engineTreeModel=new EngineTreeModel(this);
>        repositoryManagement=new RepositoryManagement(this);
>        packageManagement=new PackageManagement(this);
> -      processInstantiationManagement=new ProcessInstantiationManagement(this);
> +      processInstantiationManagement=new ProcessInstantiationManagement( this);
>        processMonitor=new ProcessMonitor(this);
>        userManagement=new UserManagement(this);
>        applicationMapping=new ApplicationMappingManagement(this);
> Index: modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/instantiation/ProcessInstantiationManagement.java
> ===================================================================
> RCS file:
/cvsroot/shark/Shark/modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/instantiation/ProcessInstantiationMan
agement.java,v
> retrieving revision 1.8
> diff -u -r1.8 ProcessInstantiationManagement.java
> --- modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/instantiation/ProcessInstantiationManagement.java 21
Mar 2005 13:03:43 -0000 1.8
> +++ modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/instantiation/ProcessInstantiationManagement.java 27
Jun 2005 22:05:01 -0000
> @@ -12,6 +12,7 @@
>
>  import org.omg.WfBase.*;
>  import org.omg.WorkflowModel.*;
> +import org.omg.CORBA.ORB;
>  import org.enhydra.shark.corbaclient.*;
>  import org.enhydra.shark.corbaclient.workflowadmin.*;
>  import org.enhydra.shark.corbaclient.workflowadmin.instantiation.actions.*;
> @@ -30,7 +31,7 @@
>
>     private WfProcessMgr currentMgr=null;
>
> -   private ProcessInstantiator processInstantiator=new ProcessInstantiator();
> +   private ProcessInstantiator processInstantiator;
>     private SharkAdmin workflowAdmin;
>     private ProcessViewer processViewer;
>
> @@ -43,10 +44,11 @@
>     private DescriptionTableModel processDescription;
>
>
> -   public ProcessInstantiationManagement (SharkAdmin wa) {
> +   public ProcessInstantiationManagement ( SharkAdmin wa) {
>        super();
>        this.workflowAdmin=wa;
>        this.processViewer=new ProcessViewer(wa.getFrame());
> +     // processInstantiator =new ProcessInstantiator();
>        super.init();
>
>        addFocusListener(new FocusListener () {
> @@ -100,7 +102,9 @@
>     }
>
>     public ProcessInstantiator getProcessInstantiator () {
> -      return processInstantiator;
> +       if (processInstantiator == null)
> +         processInstantiator = new ProcessInstantiator(SharkClient.getORB());
> +       return processInstantiator;
>     }
>
>     public TreeSelectionListener getTreeSelectionListener () {
> @@ -288,6 +292,7 @@
>                                                 (WfProcessMgr)node.getUserObject(),
>                                              null);
>              } catch (Exception ex) {
> +                System.out.println("PIMTreeSelectionListener: "+ex) ;
>                 processDescription.setData(null);
>                 processViewer.displayProcess(null,null,null);
>              }
> @@ -331,6 +336,7 @@
>                 setValueAt(ResourceManager.getLanguageDependentString("DisabledKey"),4,1);
>              }
>           } catch (Exception ex) {
> +     //        System.out.println("setData: "+ex);
>              setValueAt("",0,1);
>              setValueAt("",1,1);
>              setValueAt("",2,1);
> Index: modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/instantiation/ProcessInstantiator.java
> ===================================================================
> RCS file:
/cvsroot/shark/Shark/modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/instantiation/ProcessInstantiator.jav
a,v
> retrieving revision 1.3
> diff -u -r1.3 ProcessInstantiator.java
> --- modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/instantiation/ProcessInstantiator.java 15 Jun 2005
15:47:21 -0000 1.3
> +++ modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/instantiation/ProcessInstantiator.java 26 Jun 2005
04:23:20 -0000
> @@ -8,11 +8,19 @@
>
>  import org.omg.WfBase.*;
>  import org.omg.WorkflowModel.*;
> +import org.omg.CORBA.ORB;
> +import org.omg.CORBA.ORBPackage.InvalidName;
> +import org.omg.PortableServer.POA;
> +import org.omg.PortableServer.POAHelper;
> +import org.omg.PortableServer.POAPackage.ServantNotActive;
> +import org.omg.PortableServer.POAPackage.WrongPolicy;
> +import org.omg.PortableServer.POAPackage.ServantAlreadyActive;
> +import org.omg.PortableServer.POAManagerPackage.AdapterInactive;
>
>  /**
>  * Required to crate the process.
>  */
> -public class ProcessInstantiator extends _WfRequesterImplBase {
> +public class ProcessInstantiator   extends WfRequesterPOA {
>
>     static List instantiators=new ArrayList();
>
> @@ -23,14 +31,29 @@
>     private List performers=new ArrayList();
>
>     /** Create a new WfRequester */
> -   public ProcessInstantiator() {
> -      instantiators.add(this);
> +
> +   public ProcessInstantiator(ORB orb) {
> +
> +       try {
> +           POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +           rootPOA.activate_object(this);
> +       } catch (InvalidName invalidName) {
> +           invalidName.printStackTrace();
> +       } catch (ServantAlreadyActive servantAlreadyActive) {
> +           servantAlreadyActive.printStackTrace();
> +       } catch (WrongPolicy wrongPolicy) {
> +           wrongPolicy.printStackTrace();
> +       }
> +       instantiators.add(this);
> +
>     }
>
>     public void addPerformer (WfProcess pr) {
>        try {
>           performers.add(pr.key());
> -      } catch (Exception ex) {}
> +      } catch (Exception ex) {
> +          System.err.println("addPerformer: "+ex);
> +      }
>     }
>     /**
>      * Gets the number of processes.
> Index: modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/instantiation/actions/InstantiateProcess.java
> ===================================================================
> RCS file:
/cvsroot/shark/Shark/modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/instantiation/actions/InstantiateProc
ess.java,v
> retrieving revision 1.4
> diff -u -r1.4 InstantiateProcess.java
> --- modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/instantiation/actions/InstantiateProcess.java 24 Feb
2005 16:49:17 -0000 1.4
> +++ modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/instantiation/actions/InstantiateProcess.java 25 Jun
2005 17:42:49 -0000
> @@ -7,6 +7,13 @@
>
>  import org.omg.WfBase.*;
>  import org.omg.WorkflowModel.*;
> +import org.omg.CORBA.ORB;
> +import org.omg.CORBA.ORBPackage.InvalidName;
> +import org.omg.PortableServer.POA;
> +import org.omg.PortableServer.POAHelper;
> +import org.omg.PortableServer.POAPackage.ServantAlreadyActive;
> +import org.omg.PortableServer.POAPackage.WrongPolicy;
> +import org.omg.PortableServer.POAPackage.ObjectNotActive;
>  import org.enhydra.shark.corbaclient.*;
>  import org.enhydra.shark.corbaclient.workflowadmin.*;
>  import org.enhydra.shark.corbaclient.workflowadmin.instantiation.*;
> @@ -18,70 +25,76 @@
>   * @version 1.0
>   */
>  public class InstantiateProcess extends ActionBase {
> +    private POA rootPOA;
> +
> +    public InstantiateProcess(ProcessInstantiationManagement pim) {
> +        super(pim);
> +    }
> +
> +    public void actionPerformed(ActionEvent e) {
> +        ProcessInstantiationManagement pim = (ProcessInstantiationManagement) actionPanel;
> +        SharkAdmin workflowAdmin = pim.getWorkflowAdmin();
> +        WfProcessMgr spm = pim.getSelectedProcessMgr();
> +        try {
> +            if (spm != null) {
> +                //ORB orb = SharkClient.getORB();
> +                ProcessInstantiator pi = pim.getProcessInstantiator();
> +                WfRequester wfReq = null;
>
> -   public InstantiateProcess (ProcessInstantiationManagement pim) {
> -      super(pim);
> -   }
> -
> -   public void actionPerformed(ActionEvent e) {
> -      ProcessInstantiationManagement pim=(ProcessInstantiationManagement)actionPanel;
> -      SharkAdmin workflowAdmin=pim.getWorkflowAdmin();
> -      WfProcessMgr spm=pim.getSelectedProcessMgr();
> -      try {
> -         if (spm!=null) {
> -            WfProcess proc=spm.create_process(pim.getProcessInstantiator());
> -            // if process has to receive some initial values, fill it
> -            NameValue[] context=proc.process_context();
> -            Map contextSig=WorkflowUtilities.
> -               makeLinkedHashMap(SharkAdmin.getExecAmin().getProcessMgrInputSignatureByMgrName(spm.name()));
> -
> -            ArrayList formalPars=new ArrayList();
> -            if (context!=null && context.length>0) {
> -               for (int i=0; i<context.length;i++) {
> -                  if (contextSig.containsKey(context[i].the_name)) {
> -                     formalPars.add(context[i]);
> -                  }
> -               }
> -            }
> -            if (formalPars.size()>0) {
> -               NameValue[] initContext=new NameValue[formalPars.size()];
> -               formalPars.toArray(initContext);
> -               int updateVar=JOptionPane.showConfirmDialog(
> -                  workflowAdmin.getFrame(),
> -                  ResourceManager.getLanguageDependentString(
> -                     "MessageDoYouWantToUpdateProcessVariables"),
> -                  ResourceManager.getLanguageDependentString("ProcessInstantiationManagementKey"),
> -                  JOptionPane.YES_NO_OPTION,
> -                  JOptionPane.QUESTION_MESSAGE);
> -               if (updateVar==JOptionPane.YES_OPTION) {
> -                  UpdateVariables upvd=
> -                     new UpdateVariables(
> -                     workflowAdmin.getFrame(),
> -                     ResourceManager.getLanguageDependentString("DialogUpdateProcessVariables"),
> -                     proc.key(),
> -                     initContext,
> -                     null);
> -                  upvd.showDialog();
> -                  if (context!=null) {
> -                     proc.set_process_context(initContext);
> -                  }
> -               }
> -            }
>
> -            proc.start();
> -            pim.getProcessInstantiator().addPerformer(proc);
> -            pim.getTreeSelectionListener().valueChanged(null);
> -            workflowAdmin.refresh(true);
> -
> -         }
> -      } catch (NotEnabled ne) {
> -         JOptionPane.showMessageDialog(workflowAdmin.getFrame(),
> -               ResourceManager.getLanguageDependentString(
> -               "WarningProcessInstantiationForSelectedDefinitionIsCurrentlyDisabled"),
> -               workflowAdmin.getAppTitle(),JOptionPane.ERROR_MESSAGE);
> -      } catch (Exception ex){
> -ex.printStackTrace();
> -System.out.println("Error while instatiating process:");
> -      }
> -   }
> +
> +                       // byte[] o = rootPOA.activate_object(pi);
> +                 wfReq = WfRequesterHelper.narrow(pi._this_object());
> +
> +                WfProcess proc = spm.create_process(wfReq);
> +                // if process has to receive some initial values, fill it
> +                NameValue[] context = proc.process_context();
> +                Map contextSig = WorkflowUtilities.
> +                        makeLinkedHashMap(SharkAdmin.getExecAmin().getProcessMgrInputSignatureByMgrName(spm.name()));
> +
> +                ArrayList formalPars = new ArrayList();
> +                if (context != null && context.length > 0) {
> +                    for (int i = 0; i < context.length; i++) {
> +                        if (contextSig.containsKey(context[i].the_name)) {
> +                            formalPars.add(context[i]);
> +                        }
> +                    }
> +                }
> +                if (formalPars.size() > 0) {
> +                    NameValue[] initContext = new NameValue[formalPars.size()];
> +                    formalPars.toArray(initContext);
> +                    int updateVar = JOptionPane.showConfirmDialog(workflowAdmin.getFrame(),
> +                            ResourceManager.getLanguageDependentString("MessageDoYouWantToUpdateProcessVariables"),
> +                            ResourceManager.getLanguageDependentString("ProcessInstantiationManagementKey"),
> +                            JOptionPane.YES_NO_OPTION,
> +                            JOptionPane.QUESTION_MESSAGE);
> +                    if (updateVar == JOptionPane.YES_OPTION) {
> +                        UpdateVariables upvd =
> +                                new UpdateVariables(workflowAdmin.getFrame(),
> +                                        ResourceManager.getLanguageDependentString("DialogUpdateProcessVariables"),
> +                                        proc.key(),
> +                                        initContext,
> +                                        null);
> +                        upvd.showDialog();
> +                        if (context != null) {
> +                            proc.set_process_context(initContext);
> +                        }
> +                    }
> +                }
> +
> +                proc.start();
> +                pim.getProcessInstantiator().addPerformer(proc);
> +                pim.getTreeSelectionListener().valueChanged(null);
> +                workflowAdmin.refresh(true);
> +
> +            }
> +        } catch (NotEnabled ne) {
> +            JOptionPane.showMessageDialog(workflowAdmin.getFrame(),
> +
ResourceManager.getLanguageDependentString("WarningProcessInstantiationForSelectedDefinitionIsCurrentlyDisabled"),
> +                    workflowAdmin.getAppTitle(), JOptionPane.ERROR_MESSAGE);
> +        } catch (Exception ex) {
> +            ex.printStackTrace();
> +            System.out.println("Error while instantiating process:");
> +        }
> +    }
>  }
> Index: modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/monitoring/actions/StartProcess.java
> ===================================================================
> RCS file:
/cvsroot/shark/Shark/modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/monitoring/actions/StartProcess.java,
v
> retrieving revision 1.2
> diff -u -r1.2 StartProcess.java
> --- modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/monitoring/actions/StartProcess.java 1 Dec 2004
17:57:48 -0000 1.2
> +++ modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/monitoring/actions/StartProcess.java 26 Jun 2005
05:36:20 -0000
> @@ -32,6 +32,8 @@
>              } catch (Exception ex) {}
>              workflowAdmin.refresh(true);
>           }
> -      } catch (Exception ex){}
> +      } catch (Exception ex){
> +          System.err.println("actionPerformed: "+ex);
> +      }
>     }
>  }
> Index: modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/worklist/WorklistManagement.java
> ===================================================================
> RCS file:
/cvsroot/shark/Shark/modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/worklist/WorklistManagement.java,v
> retrieving revision 1.2
> diff -u -r1.2 WorklistManagement.java
> --- modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/worklist/WorklistManagement.java 1 Dec 2004
17:57:48 -0000 1.2
> +++ modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/workflowadmin/worklist/WorklistManagement.java 27 Jun 2005
21:12:50 -0000
> @@ -7,7 +7,7 @@
>  import javax.swing.*;
>
>  import org.omg.WfBase.*;
> -import org.omg.WorkflowModel.*;
> +import org.omg.WorkflowModel.WfResource;
>  import org.enhydra.shark.corbaclient.*;
>  import org.enhydra.shark.corbaclient.workflowadmin.*;
>  import org.enhydra.shark.corbaclient.workflowadmin.user.*;
> @@ -139,7 +139,7 @@
>        try {
>           existingUsers=new ArrayList(Arrays.asList(SharkAdmin.getExecAmin().get_sequence_resource(0)));
>        } catch (Exception ex) {
> -         ex.printStackTrace();
> +       //  ex.printStackTrace();
>        }
>
>        ArrayList toAdd=new ArrayList(existingUsers);
> @@ -163,7 +163,9 @@
>              WfResource res=(WfResource)it.next();
>              try {
>                 users.addItem(res.resource_key());
> -            } catch (Exception ex) {}
> +            } catch (Exception ex) {
> +               // ex.printStackTrace();
> +            }
>           }
>           users.setSelectedItem(toSelectId);
>           Object selItem=users.getSelectedItem();
> @@ -198,7 +200,9 @@
>              if (res.resource_key().equals(un)) {
>                 return res;
>              }
> -         } catch (Exception ex) {}
> +         } catch (Exception ex) {
> +           //  ex.printStackTrace();
> +         }
>        }
>        return null;
>     }
> Index: modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/worklist/Worklist.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/worklist/Worklist.java,v
> retrieving revision 1.4
> diff -u -r1.4 Worklist.java
> --- modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/worklist/Worklist.java 20 May 2005 20:44:42 -0000 1.4
> +++ modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/worklist/Worklist.java 27 Jun 2005 21:13:44 -0000
> @@ -130,7 +130,11 @@
>           if (!newResource.resource_key().equals(myResource.resource_key())) {
>              clear();
>           }
> -      } catch (Exception ex) {}
> +      } catch (Exception ex) {
> +         // ex.printStackTrace();
> +      }
> +
> +
>        myResource=newResource;
>        refresh();
>     }
> Index: modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/worklisthandler/SharksWorklistHandler.java
> ===================================================================
> RCS file:
/cvsroot/shark/Shark/modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/worklisthandler/SharksWorklistHandler.java,v
> retrieving revision 1.2
> diff -u -r1.2 SharksWorklistHandler.java
> --- modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/worklisthandler/SharksWorklistHandler.java 1 Dec 2004
17:57:48 -0000 1.2
> +++ modules/SharkCORBA/Client/src/org/enhydra/shark/corbaclient/worklisthandler/SharksWorklistHandler.java 27 Jun 2005
20:27:32 -0000
> @@ -37,7 +37,9 @@
>           try {
>              WfResource res=workflowService.getResourceObject();
>              worklist.setResource(res);
> -         } catch (Exception ex) {}
> +         } catch (Exception ex) {
> +             ex.printStackTrace();
> +         }
>        } else {
>           worklist.refresh();
>        }
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ActivityIteratorExpressionBuilderCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ActivityIteratorExpressionBuilderCORBA.java,v
> retrieving revision 1.4
> diff -u -r1.4 ActivityIteratorExpressionBuilderCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ActivityIteratorExpressionBuilderCORBA.java 7 Jun 2005 15:00:15 -0000
1.4
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ActivityIteratorExpressionBuilderCORBA.java 20 Jun 2005 17:27:06 -0000
> @@ -1,7 +1,7 @@
>  package org.enhydra.shark.corba;
>
>  import org.enhydra.shark.corba.ExpressionBuilders.ActivityIteratorExpressionBuilder;
> -import org.enhydra.shark.corba.ExpressionBuilders._ActivityIteratorExpressionBuilderImplBase;
> +import org.enhydra.shark.corba.ExpressionBuilders.ActivityIteratorExpressionBuilderPOA;
>  import org.omg.CORBA.Any;
>  import org.omg.WfBase.BaseException;
>
> @@ -11,7 +11,7 @@
>   * @author Sasa Bojanic
>   */
>  public class ActivityIteratorExpressionBuilderCORBA extends
> -                                                   _ActivityIteratorExpressionBuilderImplBase {
> +        ActivityIteratorExpressionBuilderPOA {
>
>     org.enhydra.shark.api.common.ActivityIteratorExpressionBuilder myEB;
>
> @@ -37,127 +37,127 @@
>
>     public ActivityIteratorExpressionBuilder and() {
>        myEB.and();
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder or() {
>        myEB.or();
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder not() {
>        myEB.not();
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addPackageIdEquals(String exp) {
>        myEB.addPackageIdEquals(exp);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessDefIdEquals(String exp) {
>        myEB.addProcessDefIdEquals(exp);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addMgrNameEquals(String exp) {
>        myEB.addMgrNameEquals(exp);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addVersionEquals(String exp) {
>        myEB.addVersionEquals(exp);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addIsMgrEnabled() {
>        myEB.addIsMgrEnabled();
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessStateEquals(String arg) {
>        myEB.addProcessStateEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessStateStartsWith(String arg) {
>        myEB.addProcessStateStartsWith(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessIdEquals(String arg) {
>        myEB.addProcessIdEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessNameEquals(String arg) {
>        myEB.addProcessNameEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessPriorityEquals(int arg) {
>        myEB.addProcessPriorityEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessDescriptionEquals(String arg) {
>        myEB.addProcessDescriptionEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessDescriptionContains(String arg) {
>        myEB.addProcessDescriptionContains(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessRequesterIdEquals(String arg) {
>        myEB.addProcessRequesterIdEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessCreatedTimeEquals(long arg) {
>        myEB.addProcessCreatedTimeEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessCreatedTimeBefore(long arg) {
>        myEB.addProcessCreatedTimeBefore(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessCreatedTimeAfter(long arg) {
>        myEB.addProcessCreatedTimeAfter(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessStartTimeEquals(long arg) {
>        myEB.addProcessStartTimeEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessStartTimeBefore(long arg) {
>        myEB.addProcessStartTimeBefore(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessStartTimeAfter(long arg) {
>        myEB.addProcessStartTimeAfter(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessLastStateTimeEquals(long arg) {
>        myEB.addProcessLastStateTimeEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessLastStateTimeBefore(long arg) {
>        myEB.addProcessLastStateTimeBefore(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessLastStateTimeAfter(long arg) {
>        myEB.addProcessLastStateTimeAfter(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessVariableAnyEquals(String vName,
> @@ -168,129 +168,129 @@
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessVariableStrEquals(String vName,
>                                                                          String vValue) {
>        myEB.addProcessVariableEquals(vName, vValue);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessVariableLngEquals(String vName,
>                                                                          long vValue) {
>        myEB.addProcessVariableEquals(vName, vValue);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessVariableLngGreaterThan(String vName,
>                                                                               long vValue) {
>        myEB.addProcessVariableGreaterThan(vName, vValue);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessVariableLngLessThan(String vName,
>                                                                            long vValue) {
>        myEB.addProcessVariableLessThan(vName, vValue);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessVariableDblEquals(String vName,
>                                                                          double vValue) {
>        myEB.addProcessVariableEquals(vName, vValue);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessVariableDblGreaterThan(String vName,
>                                                                               double vValue) {
>        myEB.addProcessVariableGreaterThan(vName, vValue);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addProcessVariableDblLessThan(String vName,
>                                                                            double vValue) {
>        myEB.addProcessVariableLessThan(vName, vValue);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addStateEquals(String arg) {
>        myEB.addStateEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addStateStartsWith(String arg) {
>        myEB.addStateStartsWith(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addIdEquals(String arg) {
>        myEB.addIdEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addNameEquals(String arg) {
>        myEB.addNameEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addPriorityEquals(int arg) {
>        myEB.addPriorityEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addDescriptionEquals(String arg) {
>        myEB.addDescriptionEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addDescriptionContains(String arg) {
>        myEB.addDescriptionContains(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addActivatedTimeEquals(long arg) {
>        myEB.addActivatedTimeEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addActivatedTimeBefore(long arg) {
>        myEB.addActivatedTimeBefore(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addActivatedTimeAfter(long arg) {
>        myEB.addActivatedTimeAfter(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addLastStateTimeEquals(long arg) {
>        myEB.addLastStateTimeEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addLastStateTimeBefore(long arg) {
>        myEB.addLastStateTimeBefore(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addLastStateTimeAfter(long arg) {
>        myEB.addLastStateTimeAfter(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addAcceptedTimeEquals(long arg) {
>        myEB.addAcceptedTimeEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addAcceptedTimeBefore(long arg) {
>        myEB.addAcceptedTimeBefore(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addAcceptedTimeAfter(long arg) {
>        myEB.addAcceptedTimeAfter(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addVariableAnyEquals(String vName,
> @@ -301,80 +301,80 @@
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addVariableStrEquals(String vName,
>                                                                   String vValue) {
>        myEB.addVariableEquals(vName, vValue);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addVariableLngEquals(String vName,
>                                                                   long vValue) {
>        myEB.addVariableEquals(vName, vValue);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addVariableLngGreaterThan(String vName,
>                                                                        long vValue) {
>        myEB.addVariableGreaterThan(vName, vValue);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addVariableLngLessThan(String vName,
>                                                                     long vValue) {
>        myEB.addVariableLessThan(vName, vValue);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addVariableDblEquals(String vName,
>                                                                   double vValue) {
>        myEB.addVariableEquals(vName, vValue);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addVariableDblGreaterThan(String vName,
>                                                                        double vValue) {
>        myEB.addVariableGreaterThan(vName, vValue);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addVariableDblLessThan(String vName,
>                                                                     double vValue) {
>        myEB.addVariableLessThan(vName, vValue);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addActivitySetDefId(String arg) {
>        myEB.addActivitySetDefId(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addDefinitionId(String arg) {
>        myEB.addDefinitionId(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addIsAccepted() {
>        myEB.addIsAccepted();
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addResourceUsername(String arg) {
>        myEB.addResourceUsername(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addExpressionStr(String exp) {
>        myEB.addExpression(exp);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder addExpression(ActivityIteratorExpressionBuilder eb) {
>        myEB.addExpression((org.enhydra.shark.api.common.ActivityIteratorExpressionBuilder) eb.getTheImpl()
>           .extract_Value());
> -      return this;
> +      return _this();
>     }
>
>     public Any getTheImpl() {
> @@ -385,66 +385,66 @@
>
>     public ActivityIteratorExpressionBuilder setOrderById(boolean ascending) {
>        myEB.setOrderById(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder setOrderByActivitySetDefId(boolean ascending) {
>        myEB.setOrderByActivitySetDefId(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder setOrderByDefinitionId(boolean ascending) {
>        myEB.setOrderByDefinitionId(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder setOrderByProcessId(boolean ascending) {
>        myEB.setOrderByProcessId(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder setOrderByResourceUsername(boolean ascending) {
>        myEB.setOrderByResourceUsername(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder setOrderByProcessDefName(boolean ascending) {
>        myEB.setOrderByProcessDefName(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder setOrderByState(boolean ascending) {
>        myEB.setOrderByState(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder setOrderByPerformer(boolean ascending) {
>        myEB.setOrderByPerformer(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder setOrderByPriority(boolean ascending) {
>        myEB.setOrderByPriority(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder setOrderByName(boolean ascending) {
>        myEB.setOrderByName(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder setOrderByActivatedTime(boolean ascending) {
>        myEB.setOrderByActivatedTime(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder setOrderByAcceptedTime(boolean ascending) {
>        myEB.setOrderByAcceptedTime(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ActivityIteratorExpressionBuilder setOrderByLastStateTime(boolean ascending) {
>        myEB.setOrderByLastStateTime(ascending);
> -      return this;
> +      return _this();
>     }
>  }
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/AdminMiscCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/AdminMiscCORBA.java,v
> retrieving revision 1.10
> diff -u -r1.10 AdminMiscCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/AdminMiscCORBA.java 5 May 2005 14:01:16 -0000 1.10
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/AdminMiscCORBA.java 27 Jun 2005 13:27:31 -0000
> @@ -9,7 +9,7 @@
>   * performs the various actions on engine.
>   * @author Sasa Bojanic
>   */
> -public class AdminMiscCORBA extends _AdminMiscImplBase {
> +public class AdminMiscCORBA extends AdminMiscPOA {
>     private SharkCORBAServer myServer;
>
>     private String userId;
> @@ -20,6 +20,7 @@
>     AdminMiscCORBA (SharkCORBAServer server,org.enhydra.shark.api.client.wfservice.AdminMisc am) {
>        this.myServer=server;
>        this.myAdminMisc=am;
> +
>     }
>
>     public void connect(String userId, String password, String engineName, String scope) throws BaseException, ConnectFailed {
> @@ -43,7 +44,7 @@
>           throw new NotConnected("The connection is not established...");
>        }
>        connected=false;
> -      this._orb().disconnect(this);
> +      this.disconnect();
>     }
>
>     public NameValue[] getPackageExtendedAttributeNameValuePairs (String pkgId) throws BaseException, NotConnected {
> @@ -342,7 +343,9 @@
>           throw new NotConnected("The connection is not established...");
>        }
>        try {
> -         return myAdminMisc.getBlockActivityId(procId,actId);
> +         String id = myAdminMisc.getBlockActivityId(procId,actId);
> +         if (id == null) id = "";
> +          return id;
>        } catch (Exception e) {
>           throw new BaseException();
>        }
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ApplicationMapCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ApplicationMapCORBA.java,v
> retrieving revision 1.3
> diff -u -r1.3 ApplicationMapCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ApplicationMapCORBA.java 5 May 2005 14:01:16 -0000 1.3
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ApplicationMapCORBA.java 20 Jun 2005 05:12:01 -0000
> @@ -1,13 +1,15 @@
>  package org.enhydra.shark.corba;
>
> -import org.enhydra.shark.corba.WorkflowService._ApplicationMapImplBase;
> +
> +import org.enhydra.shark.corba.WorkflowService.ApplicationMapPOA;
> +import org.omg.CORBA.ORB;
>
>  /**
>   * Implementation of CORBA ApplicationMap interface.
>   *
>   * @author Sasa Bojanic
>   */
> -public class ApplicationMapCORBA extends _ApplicationMapImplBase /*implements
> +public class ApplicationMapCORBA extends ApplicationMapPOA /*implements
>                                                                  Collective.Member */{
>
>     private String toolAgentClassName = "";
> @@ -26,13 +28,14 @@
>
>     private String applicationDefinitionId = "";
>
> -   public ApplicationMapCORBA(Collective toJoin) {
> -      toJoin.__recruit(this);
> +   public ApplicationMapCORBA(ORB orb, Collective toJoin) {
> +
> +      toJoin.__recruit(this._this_object(orb));
>     }
>
> -   public ApplicationMapCORBA(Collective toJoin,
> +   public ApplicationMapCORBA(ORB orb, Collective toJoin,
>                                org.enhydra.shark.api.client.wfservice.ApplicationMap am) {
> -      this(toJoin);
> +      this(orb, toJoin);
>        setToolAgentClassName(am.getToolAgentClassName());
>        setUsername(am.getUsername());
>        setPassword(am.getPassword());
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/AssignmentIteratorExpressionBuilderCORBA.java
> ===================================================================
> RCS file:
/cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/AssignmentIteratorExpressionBuilderCORBA.java,v
> retrieving revision 1.5
> diff -u -r1.5 AssignmentIteratorExpressionBuilderCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/AssignmentIteratorExpressionBuilderCORBA.java 15 Jun 2005 15:47:21 -0000
1.5
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/AssignmentIteratorExpressionBuilderCORBA.java 20 Jun 2005 17:27:06 -0000
> @@ -1,7 +1,7 @@
>  package org.enhydra.shark.corba;
>
>  import org.enhydra.shark.corba.ExpressionBuilders.AssignmentIteratorExpressionBuilder;
> -import org.enhydra.shark.corba.ExpressionBuilders._AssignmentIteratorExpressionBuilderImplBase;
> +import org.enhydra.shark.corba.ExpressionBuilders.AssignmentIteratorExpressionBuilderPOA;
>  import org.omg.CORBA.Any;
>
>
> @@ -10,12 +10,15 @@
>   *
>   * @author Sasa Bojanic
>   */
> -public class AssignmentIteratorExpressionBuilderCORBA extends _AssignmentIteratorExpressionBuilderImplBase {
> +public class AssignmentIteratorExpressionBuilderCORBA extends AssignmentIteratorExpressionBuilderPOA {
>
>     org.enhydra.shark.api.common.AssignmentIteratorExpressionBuilder myEB;
> +
>
> -   public AssignmentIteratorExpressionBuilderCORBA(org.enhydra.shark.api.common.AssignmentIteratorExpressionBuilder eb) {
> +   public AssignmentIteratorExpressionBuilderCORBA( org.enhydra.shark.api.common.AssignmentIteratorExpressionBuilder eb) {
>        this.myEB=eb;
> +
> +
>     }
>
>     public boolean isComplete() {
> @@ -36,73 +39,73 @@
>
>     public AssignmentIteratorExpressionBuilder and() {
>        myEB.and();
> -      return this;
> +      return _this();
>     }
>
>     public AssignmentIteratorExpressionBuilder or() {
>        myEB.or();
> -      return this;
> +      return _this();
>     }
>
>     public AssignmentIteratorExpressionBuilder not() {
>        myEB.not();
> -      return this;
> +      return _this();
>     }
>
>     public AssignmentIteratorExpressionBuilder addUsernameEquals(String un) {
>        myEB.addUsernameEquals(un);
> -      return this;
> +      return _this();
>     }
>
>     public AssignmentIteratorExpressionBuilder addProcessIdEquals(String un) {
>        myEB.addProcessIdEquals(un);
> -      return this;
> +      return _this();
>     }
>
>     public AssignmentIteratorExpressionBuilder addIsAccepted() {
>        myEB.addIsAccepted();
> -      return this;
> +      return _this();
>     }
>
>     public AssignmentIteratorExpressionBuilder addPackageIdEquals(String un) {
>        myEB.addPackageIdEquals(un);
> -      return this;
> +      return _this();
>     }
>
>     public AssignmentIteratorExpressionBuilder addPackageVersionEquals(String un) {
>        myEB.addPackageVersionEquals(un);
> -      return this;
> +      return _this();
>     }
>
>     public AssignmentIteratorExpressionBuilder addProcessDefIdEquals(String un) {
>        myEB.addProcessDefIdEquals(un);
> -      return this;
> +      return _this();
>     }
>
>     public AssignmentIteratorExpressionBuilder addActivitySetDefIdEquals(String un) {
>        myEB.addActivitySetDefIdEquals(un);
> -      return this;
> +      return _this();
>     }
>
>     public AssignmentIteratorExpressionBuilder addActivityDefIdEquals(String un) {
>        myEB.addActivityDefIdEquals(un);
> -      return this;
> +      return _this();
>     }
>
>     public AssignmentIteratorExpressionBuilder addActivityIdEquals(String un) {
>        myEB.addActivityIdEquals(un);
> -      return this;
> +      return _this();
>     }
>
>     public AssignmentIteratorExpressionBuilder addExpression(AssignmentIteratorExpressionBuilder eb) {
>        myEB.addExpression((org.enhydra.shark.api.common.AssignmentIteratorExpressionBuilder) eb.getTheImpl()
>           .extract_Value());
> -      return this;
> +      return _this();
>     }
>
> -   public void disconnect() {
> -      this._orb().disconnect(this);
> -   }
> +  // public void disconnect() {
> +   //   this.disconnect();
> +  // }
>
>     public Any getTheImpl() {
>        Any ret = this._orb().create_any();
> @@ -112,22 +115,22 @@
>
>     public AssignmentIteratorExpressionBuilder setOrderByUsername(boolean ascending) {
>        myEB.setOrderByUsername(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public AssignmentIteratorExpressionBuilder setOrderByProcessId(boolean ascending) {
>        myEB.setOrderByProcessId(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public AssignmentIteratorExpressionBuilder setOrderByCreatedTime(boolean ascending) {
>        myEB.setOrderByCreatedTime(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public AssignmentIteratorExpressionBuilder setOrderByAccepted(boolean ascending) {
>        myEB.setOrderByAccepted(ascending);
> -      return this;
> +      return _this();
>     }
>
>  }
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/CacheAdminCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/CacheAdminCORBA.java,v
> retrieving revision 1.3
> diff -u -r1.3 CacheAdminCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/CacheAdminCORBA.java 5 May 2005 14:01:16 -0000 1.3
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/CacheAdminCORBA.java 19 Jun 2005 04:39:22 -0000
> @@ -9,7 +9,7 @@
>   * configure shark's caches.
>   * @author Sasa Bojanic
>   */
> -public class CacheAdminCORBA extends _CacheAdministrationImplBase {
> +public class CacheAdminCORBA extends CacheAdministrationPOA {
>     private SharkCORBAServer myServer;
>
>     private String userId;
> @@ -20,6 +20,7 @@
>     CacheAdminCORBA (SharkCORBAServer server,org.enhydra.shark.api.client.wfservice.CacheAdministration ca) {
>        this.myServer=server;
>        this.myCacheAdmin=ca;
> +
>     }
>
>     public void connect(String userId, String password, String engineName, String scope) throws BaseException, ConnectFailed {
> @@ -43,7 +44,7 @@
>           throw new NotConnected("The connection is not established...");
>        }
>        connected=false;
> -      this._orb().disconnect(this);
> +      this.disconnect();
>     }
>
>
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/Collective.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/Collective.java,v
> retrieving revision 1.2
> diff -u -r1.2 Collective.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/Collective.java 7 Jun 2005 15:00:15 -0000 1.2
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/Collective.java 10 Jun 2005 17:04:33 -0000
> @@ -17,6 +17,7 @@
>
>     public void __disband(org.omg.CORBA.ORB _orb);
>
> +
>     public final class CollectiveCORBA implements Collective {
>
>        private transient HashSet myObjects = new HashSet();
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/DeadlineAdminCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/DeadlineAdminCORBA.java,v
> retrieving revision 1.6
> diff -u -r1.6 DeadlineAdminCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/DeadlineAdminCORBA.java 20 May 2005 20:44:42 -0000 1.6
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/DeadlineAdminCORBA.java 19 Jun 2005 04:39:22 -0000
> @@ -8,7 +8,7 @@
>   * The implementation of client interface through which client can check deadlines.
>   * @author Sasa Bojanic
>   */
> -public class DeadlineAdminCORBA extends _DeadlineAdministrationImplBase {
> +public class DeadlineAdminCORBA extends DeadlineAdministrationPOA {
>     private SharkCORBAServer myServer;
>
>     private String userId;
> @@ -19,6 +19,7 @@
>     DeadlineAdminCORBA (SharkCORBAServer server,org.enhydra.shark.api.client.wfservice.DeadlineAdministration da) {
>        this.myServer=server;
>        this.myDeadlineAdmin=da;
> +
>     }
>
>     public void connect(String userId, String password, String engineName, String scope) throws BaseException, ConnectFailed {
> @@ -42,7 +43,7 @@
>           throw new NotConnected("The connection is not established...");
>        }
>        connected=false;
> -      this._orb().disconnect(this);
> +      this.disconnect();
>     }
>
>
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ExecutionAdminCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ExecutionAdminCORBA.java,v
> retrieving revision 1.14
> diff -u -r1.14 ExecutionAdminCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ExecutionAdminCORBA.java 15 Jun 2005 15:47:21 -0000 1.14
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ExecutionAdminCORBA.java 23 Jun 2005 03:55:00 -0000
> @@ -5,6 +5,11 @@
>  import org.omg.CORBA.ORB;
>  import org.omg.WfBase.*;
>  import org.omg.WorkflowModel.*;
> +import org.omg.PortableServer.POA;
> +import org.omg.PortableServer.POAHelper;
> +import org.omg.PortableServer.POAPackage.ServantAlreadyActive;
> +import org.omg.PortableServer.POAPackage.WrongPolicy;
> +import org.omg.PortableServer.POAPackage.ServantNotActive;
>
>  /**
>   * The client interface through which client accesses the engine
> @@ -12,7 +17,7 @@
>   *
>   * @author Sasa Bojanic
>   */
> -public class ExecutionAdminCORBA extends _ExecutionAdministrationImplBase implements
> +public class ExecutionAdminCORBA extends ExecutionAdministrationPOA implements
>                                                                           Collective {
>     private SharkCORBAServer myServer;
>     org.enhydra.shark.api.client.wfservice.ExecutionAdministration myExecAdmin;
> @@ -23,6 +28,8 @@
>        if (myServer.trackObjects) {
>           __collective = new Collective.CollectiveCORBA();
>        }
> +
> +
>     }
>
>     public void connect(String userId,
> @@ -67,9 +74,9 @@
>
>     public WfProcessMgrIterator get_iterator_processmgr() throws BaseException,
>                                                          NotConnected {
> -      try {
> -         return new WfProcessMgrIteratorCORBA(this,
> -                                              myExecAdmin.get_iterator_processmgr());
> +       try {
> +         return SharkCORBAUtilities.makeWfProcessMgrIterator(myServer.getBoundORB(), new
WfProcessMgrIteratorCORBA(myServer._orb(), this,
> +                                              myExecAdmin.get_iterator_processmgr()));
>        } catch (org.enhydra.shark.api.client.wfservice.NotConnected nc) {
>           throw new NotConnected(nc.getMessage());
>        } catch (Exception ex) {
> @@ -80,7 +87,7 @@
>     public WfProcessMgr[] get_sequence_processmgr(int max_number) throws BaseException,
>                                                                  NotConnected {
>        try {
> -         return SharkCORBAUtilities.makeCORBAProcessMgrs(this,
> +         return SharkCORBAUtilities.makeCORBAProcessMgrs(myServer.getBoundORB(),this,
>                                                           myExecAdmin.get_sequence_processmgr(max_number));
>        } catch (org.enhydra.shark.api.client.wfservice.NotConnected nc) {
>           throw new NotConnected(nc.getMessage());
> @@ -92,8 +99,8 @@
>     public WfResourceIterator get_iterator_resource() throws BaseException,
>                                                      NotConnected {
>        try {
> -         return new WfResourceIteratorCORBA(this,
> -                                            myExecAdmin.get_iterator_resource());
> +         return SharkCORBAUtilities.makeWfResourceIterator(myServer.getBoundORB(), new WfResourceIteratorCORBA(myServer._orb(),
this,
> +                                            myExecAdmin.get_iterator_resource()));
>        } catch (org.enhydra.shark.api.client.wfservice.NotConnected nc) {
>           throw new NotConnected(nc.getMessage());
>        } catch (Exception ex) {
> @@ -104,7 +111,7 @@
>     public WfResource[] get_sequence_resource(int max_number) throws BaseException,
>                                                              NotConnected {
>        try {
> -         return SharkCORBAUtilities.makeCORBAResources(this,
> +         return SharkCORBAUtilities.makeCORBAResources(myServer.getBoundORB(), this,
>                                                         myExecAdmin.get_sequence_resource(max_number));
>        } catch (org.enhydra.shark.api.client.wfservice.NotConnected nc) {
>           throw new NotConnected(nc.getMessage());
> @@ -138,8 +145,8 @@
>     public WfProcessMgr getProcessMgrByName(String name) throws BaseException,
>                                                         NotConnected {
>        try {
> -         return new WfProcessMgrCORBA(this,
> -                                      myExecAdmin.getProcessMgr(name));
> +         return SharkCORBAUtilities.makeWfProcessMgr(myServer.getBoundORB(), new WfProcessMgrCORBA(myServer._orb(), this,
> +                                      myExecAdmin.getProcessMgr(name)));
>        } catch (org.enhydra.shark.api.client.wfservice.NotConnected nc) {
>           throw new NotConnected(nc.getMessage());
>        } catch (Exception ex) {
> @@ -151,8 +158,8 @@
>                                                       String pDefId) throws BaseException,
>                                                                     NotConnected {
>        try {
> -         return new WfProcessMgrCORBA(this,
> -                                      myExecAdmin.getProcessMgr(pkgId, pDefId));
> +         return SharkCORBAUtilities.makeWfProcessMgr(myServer.getBoundORB(),new WfProcessMgrCORBA(myServer._orb(), this,
> +                                      myExecAdmin.getProcessMgr(pkgId, pDefId)));
>        } catch (org.enhydra.shark.api.client.wfservice.NotConnected nc) {
>           throw new NotConnected(nc.getMessage());
>        } catch (Exception ex) {
> @@ -202,7 +209,7 @@
>     public WfProcess getProcess(String procId) throws BaseException,
>                                               NotConnected {
>        try {
> -         return new WfProcessCORBA(this, myExecAdmin.getProcess(procId));
> +         return SharkCORBAUtilities.makeWfProcess(myServer.getBoundORB(), new WfProcessCORBA(myServer._orb(), this,
myExecAdmin.getProcess(procId)));
>        } catch (org.enhydra.shark.api.client.wfservice.NotConnected nc) {
>           throw new NotConnected(nc.getMessage());
>        } catch (Exception ex) {
> @@ -213,8 +220,8 @@
>     public WfActivity getActivity(String procId, String actId) throws BaseException,
>                                                               NotConnected {
>        try {
> -         return new WfActivityCORBA(this, myExecAdmin.getActivity(procId,
> -                                                                      actId));
> +         return SharkCORBAUtilities.makeWfActivity(myServer.getBoundORB(),  new WfActivityCORBA(myServer._orb(), this,
myExecAdmin.getActivity(procId,
> +                                                                      actId)));
>        } catch (org.enhydra.shark.api.client.wfservice.NotConnected nc) {
>           throw new NotConnected(nc.getMessage());
>        } catch (Exception ex) {
> @@ -225,8 +232,8 @@
>     public WfResource getResource(String username) throws BaseException,
>                                                   NotConnected {
>        try {
> -         return new WfResourceCORBA(this,
> -                                    myExecAdmin.getResource(username));
> +         return SharkCORBAUtilities.makeWfResource(myServer.getBoundORB(), new WfResourceCORBA(myServer._orb(), this,
> +                                    myExecAdmin.getResource(username)));
>        } catch (org.enhydra.shark.api.client.wfservice.NotConnected nc) {
>           throw new NotConnected(nc.getMessage());
>        } catch (Exception ex) {
> @@ -239,10 +246,10 @@
>                                       String username) throws BaseException,
>                                                       NotConnected {
>        try {
> -         return new WfAssignmentCORBA(this,
> +         return SharkCORBAUtilities.makeWfAssignment(myServer.getBoundORB(), new WfAssignmentCORBA(myServer._orb(), this,
>                                        myExecAdmin.getAssignment(procId,
>                                                                  actId,
> -                                                                username));
> +                                                                username)));
>        } catch (org.enhydra.shark.api.client.wfservice.NotConnected nc) {
>           throw new NotConnected(nc.getMessage());
>        } catch (Exception ex) {
> @@ -253,8 +260,8 @@
>     public WfAssignment getAssignmentById(String procId, String assId) throws BaseException,
>                                                                       NotConnected {
>        try {
> -         return new WfAssignmentCORBA(this,
> -                                      myExecAdmin.getAssignment(procId, assId));
> +         return SharkCORBAUtilities.makeWfAssignment(myServer.getBoundORB(), new WfAssignmentCORBA(myServer._orb(), this,
> +                                      myExecAdmin.getAssignment(procId, assId)));
>        } catch (org.enhydra.shark.api.client.wfservice.NotConnected nc) {
>           throw new NotConnected(nc.getMessage());
>        } catch (Exception ex) {
> @@ -309,18 +316,31 @@
>     }
>
>     public WfCreateProcessEventAudit getCreateProcessHistory(String procId) throws BaseException,
> -                                                                          NotConnected {
> -      try {
> +                                                                           NotConnected {
> +       WfCreateProcessEventAudit ret = null;
> +       try {
>           String query = "event_type.equals(\""
>                          + SharkConstants.EVENT_PROCESS_CREATED + "\")";
> -         return new WfCreateProcessEventAuditCORBA(this,
> +         WfCreateProcessEventAuditCORBA impl = new WfCreateProcessEventAuditCORBA(myServer.getBoundORB(), this,
>                                                     (org.enhydra.shark.api.client.wfmodel.WfCreateProcessEventAudit)
myExecAdmin.getProcess(procId)
>                                                        .get_iterator_history(query,
>                                                                              null)
>                                                        .get_next_object());
> +                     myServer._poa().activate_object(impl);
> +                     ret = WfCreateProcessEventAuditHelper.narrow(myServer._poa().servant_to_reference(impl));
> +
> +                     } catch (ServantAlreadyActive servantAlreadyActive) {
> +                     servantAlreadyActive.printStackTrace();
> +                     } catch (WrongPolicy wrongPolicy) {
> +                     wrongPolicy.printStackTrace();
> +                     } catch (ServantNotActive servantNotActive) {
> +                         servantNotActive.printStackTrace();
> +
> +
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> +       return ret;
>     }
>
>     public WfDataEventAudit[] getProcessSequenceDataHistory(String procId,
> @@ -330,7 +350,7 @@
>           String query = "event_type.equals(\""
>                          + SharkConstants.EVENT_PROCESS_CONTEXT_CHANGED
>                          + "\")";
> -         return SharkCORBAUtilities.makeCORBADataEventAudits(this,
> +         return SharkCORBAUtilities.makeCORBADataEventAudits(myServer.getBoundORB(), this,
>                                                               myExecAdmin.getProcess(procId)
>                                                                  .get_iterator_history(query,
>                                                                                        null)
> @@ -346,7 +366,7 @@
>        try {
>           String query = "event_type.equals(\""
>                          + SharkConstants.EVENT_PROCESS_STATE_CHANGED + "\")";
> -         return SharkCORBAUtilities.makeCORBAStateEventAudits(this,
> +         return SharkCORBAUtilities.makeCORBAStateEventAudits(myServer.getBoundORB(), this,
>                                                                myExecAdmin.getProcess(procId)
>                                                                   .get_iterator_history(query,
>                                                                                         null)
> @@ -364,7 +384,7 @@
>           String query = "event_type.equals(\""
>                          + SharkConstants.EVENT_ACTIVITY_ASSIGNMENT_CHANGED
>                          + "\")";
> -         return SharkCORBAUtilities.makeCORBAAssignmentEventAudits(this,
> +         return SharkCORBAUtilities.makeCORBAAssignmentEventAudits(myServer.getBoundORB(), this,
>                                                                     myExecAdmin.getActivity(procId,
>                                                                                             actId)
>                                                                        .get_iterator_history(query,
> @@ -385,7 +405,7 @@
>                          + "\") || " + "event_type.equals(\""
>                          + SharkConstants.EVENT_ACTIVITY_RESULT_CHANGED
>                          + "\")";
> -         return SharkCORBAUtilities.makeCORBADataEventAudits(this,
> +         return SharkCORBAUtilities.makeCORBADataEventAudits(myServer.getBoundORB(), this,
>                                                               myExecAdmin.getActivity(procId,
>                                                                                       actId)
>                                                                  .get_iterator_history(query,
> @@ -403,7 +423,7 @@
>        try {
>           String query = "event_type.equals(\""
>                          + SharkConstants.EVENT_ACTIVITY_STATE_CHANGED + "\")";
> -         return SharkCORBAUtilities.makeCORBAStateEventAudits(this,
> +         return SharkCORBAUtilities.makeCORBAStateEventAudits(myServer.getBoundORB(), this,
>                                                                myExecAdmin.getActivity(procId,
>                                                                                        actId)
>                                                                   .get_iterator_history(query,
> @@ -541,38 +561,46 @@
>
>     public WfAssignmentIterator get_iterator_assignment() throws BaseException,
>                                                          NotConnected {
> +      WfAssignmentIterator ret = null;
>        try {
> -         return new WfAssignmentIteratorCORBA(this,
> -                                              myExecAdmin.get_iterator_assignment());
> -      } catch (org.enhydra.shark.api.client.wfservice.NotConnected nc) {
> -         throw new NotConnected(nc.getMessage());
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> +         return SharkCORBAUtilities.makeWfAssignmentIterator(myServer.getBoundORB(), new
WfAssignmentIteratorCORBA(myServer._orb(), this,
> +                                              myExecAdmin.get_iterator_assignment()));
> +
> +          } catch (Exception ex) {
> +              throw new BaseException();
> +          }
> +
>     }
>
>     public WfProcessIterator get_iterator_process() throws BaseException,
>                                                    NotConnected {
> -      try {
> -         return new WfProcessIteratorCORBA(this,
> -                                           myExecAdmin.get_iterator_process());
> +       ;
> +       try {
> +         return SharkCORBAUtilities.makeWfProcessIterator(myServer.getBoundORB(), new WfProcessIteratorCORBA(myServer._orb(),
this,
> +                                           myExecAdmin.get_iterator_process()));
> +
> +
>        } catch (org.enhydra.shark.api.client.wfservice.NotConnected nc) {
>           throw new NotConnected(nc.getMessage());
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> +
>     }
>
>     public WfActivityIterator get_iterator_activity() throws BaseException,
>                                                      NotConnected {
> -      try {
> -         return new WfActivityIteratorCORBA(this,
> -                                            myExecAdmin.get_iterator_activity());
> +
> +       try {
> +         return SharkCORBAUtilities.makeWfActivityIterator(myServer.getBoundORB(), new WfActivityIteratorCORBA(myServer._orb(),
this,
> +                                            myExecAdmin.get_iterator_activity()));
> +
>        } catch (org.enhydra.shark.api.client.wfservice.NotConnected nc) {
>           throw new NotConnected(nc.getMessage());
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> +
>     }
>
>     Collective __collective;
> @@ -584,6 +612,7 @@
>     }
>
>     public void __leave(org.omg.CORBA.Object obj) {
> +
>        if (myServer.trackObjects)
>           __collective.__leave(obj);
>     }
> @@ -592,7 +621,14 @@
>        if (myServer.trackObjects) {
>           __collective.__disband(_orb);
>        }
> -      this._orb().disconnect(this);
> +       try {
> +           this.disconnect();
> +       } catch (BaseException e) {
> +           e.printStackTrace();
> +       } catch (NotConnected notConnected) {
> +           notConnected.printStackTrace();
> +       }
> +
>     }
>
>     public void doneWith(org.omg.CORBA.Object toDisconnect) {
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ExpressionBuilderMgrCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ExpressionBuilderMgrCORBA.java,v
> retrieving revision 1.3
> diff -u -r1.3 ExpressionBuilderMgrCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ExpressionBuilderMgrCORBA.java 7 Jun 2005 15:00:15 -0000 1.3
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ExpressionBuilderMgrCORBA.java 27 Jun 2005 04:05:43 -0000
> @@ -3,25 +3,35 @@
>  import org.enhydra.shark.corba.ExpressionBuilders.*;
>  import org.enhydra.shark.corba.WorkflowService.ConnectFailed;
>  import org.enhydra.shark.corba.WorkflowService.NotConnected;
> -import org.enhydra.shark.corba.WorkflowService._ExpressionBuilderManagerImplBase;
> +import org.enhydra.shark.corba.WorkflowService.ExpressionBuilderManagerPOA;
>  import org.omg.CORBA.ORB;
> +import org.omg.CORBA.ORBPackage.InvalidName;
>  import org.omg.WfBase.BaseException;
> +import org.omg.PortableServer.POAPackage.ServantAlreadyActive;
> +import org.omg.PortableServer.POAPackage.WrongPolicy;
> +import org.omg.PortableServer.POAPackage.ServantNotActive;
> +import org.omg.PortableServer.POAPackage.ObjectNotActive;
> +import org.omg.PortableServer.POA;
> +import org.omg.PortableServer.POAHelper;
> +import org.omg.PortableServer.POAManagerPackage.AdapterInactive;
>
>  /**
>   * The client interface through which client gets engine's
>   * iterator expression builders.
>   * @author Sasa Bojanic
>   */
> -public class ExpressionBuilderMgrCORBA extends _ExpressionBuilderManagerImplBase implements
> +public class ExpressionBuilderMgrCORBA extends ExpressionBuilderManagerPOA implements
>  Collective{
>
>     org.enhydra.shark.api.client.wfservice.ExpressionBuilderManager myEBM;
>     private SharkCORBAServer myServer;
>     private Collective __collective;
>
> +
>     public ExpressionBuilderMgrCORBA (SharkCORBAServer server, org.enhydra.shark.api.client.wfservice.ExpressionBuilderManager
ebm) {
>        this.myEBM=ebm;
>        this.myServer = server;
> +
>        if (myServer.trackObjects) {
>           __collective = new Collective.CollectiveCORBA();
>        }
> @@ -44,13 +54,47 @@
>     }
>
>     public ActivityIteratorExpressionBuilder getActivityIteratorExpressionBuilder () {
> -      ActivityIteratorExpressionBuilderCORBA ret = new
ActivityIteratorExpressionBuilderCORBA(myEBM.getActivityIteratorExpressionBuilder());
> +      ActivityIteratorExpressionBuilder ret = null;
> +      ActivityIteratorExpressionBuilderCORBA impl = new ActivityIteratorExpressionBuilderCORBA(
myEBM.getActivityIteratorExpressionBuilder());
> +      try {
> +          // POA rootPOA = POAHelper.narrow(myServer._orb().resolve_initial_references("RootPOA"));
> +            POA rootPOA = SharkCORBAUtilities.getPOA();
> +            byte[] o = rootPOA.activate_object(impl);
> +           ret = ActivityIteratorExpressionBuilderHelper.narrow(rootPOA.id_to_reference(o));
> +
> +       } catch (ServantAlreadyActive servantAlreadyActive) {
> +           servantAlreadyActive.printStackTrace();
> +       } catch (WrongPolicy wrongPolicy) {
> +           wrongPolicy.printStackTrace();
> +       }catch (ObjectNotActive objectNotActive) {
> +               objectNotActive.printStackTrace();
> +      // } catch (InvalidName in ) {
> +      //    in.printStackTrace();
> +      }
> +
>        this.__recruit(ret);
>        return ret;
>     }
>
>     public AssignmentIteratorExpressionBuilder getAssignmentIteratorExpressionBuilder () {
> -      AssignmentIteratorExpressionBuilderCORBA ret = new
AssignmentIteratorExpressionBuilderCORBA(myEBM.getAssignmentIteratorExpressionBuilder());
> +      AssignmentIteratorExpressionBuilderCORBA impl = new AssignmentIteratorExpressionBuilderCORBA(
myEBM.getAssignmentIteratorExpressionBuilder());
> +       AssignmentIteratorExpressionBuilder ret = null;
> +       try {
> +          //  POA rootPOA = POAHelper.narrow(myServer._orb().resolve_initial_references("RootPOA"));
> +           POA rootPOA = SharkCORBAUtilities.getPOA();
> +           byte[] o =  rootPOA.activate_object(impl);
> +           ret = AssignmentIteratorExpressionBuilderHelper.narrow(rootPOA.id_to_reference(o));
> +
> +       } catch (ServantAlreadyActive servantAlreadyActive) {
> +           servantAlreadyActive.printStackTrace();
> +       } catch (WrongPolicy wrongPolicy) {
> +           wrongPolicy.printStackTrace();
> +      } catch (ObjectNotActive objectNotActive) {
> +               objectNotActive.printStackTrace();
> +     //  } catch (InvalidName in ) {
> +     //      in.printStackTrace();
> +       }
> +
>        this.__recruit(ret);
>        return ret;
>     }
> @@ -61,19 +105,71 @@
>     }
>
>     public ProcessIteratorExpressionBuilder getProcessIteratorExpressionBuilder () {
> -      ProcessIteratorExpressionBuilderCORBA ret = new
ProcessIteratorExpressionBuilderCORBA(myEBM.getProcessIteratorExpressionBuilder());
> +      ProcessIteratorExpressionBuilder ret = null;
> +       ProcessIteratorExpressionBuilderCORBA impl = new ProcessIteratorExpressionBuilderCORBA(myServer._orb(),
myEBM.getProcessIteratorExpressionBuilder());
> +       try {
> +           // POA rootPOA = POAHelper.narrow(myServer._orb().resolve_initial_references("RootPOA"));
> +           POA rootPOA = SharkCORBAUtilities.getPOA();
> +            byte[] o = rootPOA.activate_object(impl);
> +            ret = ProcessIteratorExpressionBuilderHelper.narrow(rootPOA.id_to_reference(o));
> +         //  ret = impl._this();
> +
> +        } catch (ServantAlreadyActive servantAlreadyActive) {
> +            servantAlreadyActive.printStackTrace();
> +        } catch (WrongPolicy wrongPolicy) {
> +            wrongPolicy.printStackTrace();
> +        } catch (ObjectNotActive objectNotActive) {
> +              objectNotActive.printStackTrace();
> +      //  }  catch (InvalidName in) {
> +      //      in.printStackTrace();
> +        }
> +
>        this.__recruit(ret);
>        return ret;
>     }
>
>     public ProcessMgrIteratorExpressionBuilder getProcessMgrIteratorExpressionBuilder () {
> -      ProcessMgrIteratorExpressionBuilderCORBA ret = new
ProcessMgrIteratorExpressionBuilderCORBA(myEBM.getProcessMgrIteratorExpressionBuilder());
> +      ProcessMgrIteratorExpressionBuilder ret = null;
> +       ProcessMgrIteratorExpressionBuilderCORBA impl = new ProcessMgrIteratorExpressionBuilderCORBA(myServer._orb(),
myEBM.getProcessMgrIteratorExpressionBuilder());
> +       try {
> +        //   POA rootPOA = POAHelper.narrow(myServer._orb().resolve_initial_references("RootPOA"));
> +       //    rootPOA.the_POAManager().activate();
> +           POA rootPOA = SharkCORBAUtilities.getPOA();
> +           byte[] o =  rootPOA.activate_object(impl);
> +          // ret = impl._this();
> +           ret = ProcessMgrIteratorExpressionBuilderHelper.narrow(rootPOA.id_to_reference(o));
> +
> +        } catch (ServantAlreadyActive servantAlreadyActive) {
> +            //servantAlreadyActive.printStackTrace();
> +        } catch (WrongPolicy wrongPolicy) {
> +            wrongPolicy.printStackTrace();
> +     } catch (ObjectNotActive inActive) {
> +               inActive.printStackTrace();
> +     //   } catch (InvalidName in) {
> +     //     in.printStackTrace();
> +       }
>        this.__recruit(ret);
>        return ret;
>     }
>
>     public ResourceIteratorExpressionBuilder getResourceIteratorExpressionBuilder () {
> -      ResourceIteratorExpressionBuilderCORBA ret = new
ResourceIteratorExpressionBuilderCORBA(myEBM.getResourceIteratorExpressionBuilder());
> +      ResourceIteratorExpressionBuilder ret = null;
> +       ResourceIteratorExpressionBuilderCORBA impl = new ResourceIteratorExpressionBuilderCORBA(myServer._orb(),
myEBM.getResourceIteratorExpressionBuilder());
> +       try {
> +         //  POA rootPOA = POAHelper.narrow(myServer._orb().resolve_initial_references("RootPOA"));
> +           POA rootPOA = SharkCORBAUtilities.getPOA();
> +           byte[] o =  rootPOA.activate_object(impl);
> +           ret = ResourceIteratorExpressionBuilderHelper.narrow(rootPOA.id_to_reference(o));
> +          //  ret = impl._this();
> +        } catch (ServantAlreadyActive servantAlreadyActive) {
> +            servantAlreadyActive.printStackTrace();
> +        } catch (WrongPolicy wrongPolicy) {
> +            wrongPolicy.printStackTrace();
> +   //    } catch (ServantNotActive notActive) {
> +    //            notActive.printStackTrace();
> +        } catch (ObjectNotActive objectNotActive) {
> +           objectNotActive.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
> +       }
>        this.__recruit(ret);
>        return ret;
>     }
> @@ -92,6 +188,12 @@
>        if (myServer.trackObjects) {
>           __collective.__disband(_orb);
>        }
> -      this._orb().disconnect(this);
> +       try {
> +           this.disconnect();
> +       } catch (BaseException e) {
> +           e.printStackTrace();
> +       } catch (NotConnected notConnected) {
> +           notConnected.printStackTrace();
> +       }
>     }
>  }
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/LimitAdminCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/LimitAdminCORBA.java,v
> retrieving revision 1.3
> diff -u -r1.3 LimitAdminCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/LimitAdminCORBA.java 5 May 2005 14:01:16 -0000 1.3
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/LimitAdminCORBA.java 18 Jun 2005 03:34:05 -0000
> @@ -8,7 +8,7 @@
>   * The implementation of client interface through which client can check limits.
>   * @author Sasa Bojanic
>   */
> -public class LimitAdminCORBA extends _LimitAdministrationImplBase {
> +public class LimitAdminCORBA extends LimitAdministrationPOA {
>     private SharkCORBAServer myServer;
>
>     private String userId;
> @@ -19,6 +19,7 @@
>     LimitAdminCORBA (SharkCORBAServer server,org.enhydra.shark.api.client.wfservice.LimitAdministration la) {
>        this.myServer=server;
>        this.myLimitAdmin=la;
> +
>     }
>
>     public void connect(String userId, String password, String engineName, String scope) throws BaseException, ConnectFailed {
> @@ -42,7 +43,7 @@
>           throw new NotConnected("The connection is not established...");
>        }
>        connected=false;
> -      this._orb().disconnect(this);
> +      this.disconnect();
>     }
>
>
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/MappingAdminCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/MappingAdminCORBA.java,v
> retrieving revision 1.10
> diff -u -r1.10 MappingAdminCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/MappingAdminCORBA.java 7 Jun 2005 15:00:15 -0000 1.10
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/MappingAdminCORBA.java 20 Jun 2005 05:12:41 -0000
> @@ -4,6 +4,9 @@
>  import org.omg.CORBA.ORB;
>  import org.omg.WfBase.BaseException;
>  import org.omg.WfBase.NameValue;
> +import org.omg.PortableServer.POAPackage.ServantAlreadyActive;
> +import org.omg.PortableServer.POAPackage.WrongPolicy;
> +import org.omg.PortableServer.POAPackage.ServantNotActive;
>
>  /**
>   * Create participant and procedure mapping classes and provides a way
> @@ -11,7 +14,7 @@
>   *
>   * @author Sasa Bojanic
>   */
> -public class MappingAdminCORBA extends _MappingAdministrationImplBase implements
> +public class MappingAdminCORBA extends MappingAdministrationPOA implements
>                                                                       Collective {
>     private SharkCORBAServer myServer;
>
> @@ -32,6 +35,7 @@
>        if (myServer.trackObjects) {
>           __collective = new Collective.CollectiveCORBA();
>        }
> +
>     }
>
>     public void connect(String userId,
> @@ -62,7 +66,7 @@
>                                                 NotConnected {
>        if (!connected) { throw new NotConnected("The connection is not established..."); }
>        try {
> -         return SharkCORBAUtilities.makeCORBAParticipantMaps(this,
> +         return SharkCORBAUtilities.makeCORBAParticipantMaps(myServer._orb(), this,
>                                                               participantMappingManager.getAllParticipants());
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -73,7 +77,7 @@
>                                                                    NotConnected {
>        if (!connected) { throw new NotConnected("The connection is not established..."); }
>        try {
> -         return SharkCORBAUtilities.makeCORBAParticipantMaps(this,
> +         return SharkCORBAUtilities.makeCORBAParticipantMaps(myServer._orb(), this,
>                                                               participantMappingManager.getAllParticipants(pkgId));
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -85,7 +89,7 @@
>                                                                            NotConnected {
>        if (!connected) { throw new NotConnected("The connection is not established..."); }
>        try {
> -         return SharkCORBAUtilities.makeCORBAParticipantMaps(this,
> +         return SharkCORBAUtilities.makeCORBAParticipantMaps(myServer._orb(), this,
>                                                               participantMappingManager.getAllParticipants(pkgId));
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -124,7 +128,7 @@
>                                                        NotConnected {
>        if (!connected) { throw new NotConnected("The connection is not established..."); }
>        try {
> -         return SharkCORBAUtilities.makeCORBAParticipantMaps(this,
> +         return SharkCORBAUtilities.makeCORBAParticipantMaps(myServer._orb(), this,
>                                                               participantMappingManager.getAllParticipantMappings());
>        } catch (Exception ex) {
>           ex.printStackTrace();
> @@ -160,7 +164,7 @@
>                                                                         NotConnected {
>        if (!connected) { throw new NotConnected("The connection is not established..."); }
>        try {
> -         return SharkCORBAUtilities.makeCORBAParticipantMaps(this,
> +         return SharkCORBAUtilities.makeCORBAParticipantMaps(myServer._orb(), this,
>                                                               participantMappingManager.getParticipantMappings(packageId,
>
processDefinitionId,
>                                                                                                                participantId));
> @@ -196,14 +200,27 @@
>     public ParticipantMap createParticipantMap() throws BaseException,
>                                                 NotConnected {
>        if (!connected) { throw new NotConnected("The connection is not established..."); }
> -      return new ParticipantMapCORBA(this);
> +      ParticipantMapCORBA impl = new ParticipantMapCORBA(myServer._orb(),this);
> +       ParticipantMap ret = null;
> +       try {
> +            myServer._poa().activate_object(impl);
> +            ret = ParticipantMapHelper.narrow(myServer._poa().servant_to_reference(impl));
> +
> +        } catch (ServantAlreadyActive servantAlreadyActive) {
> +            servantAlreadyActive.printStackTrace();
> +        } catch (WrongPolicy wrongPolicy) {
> +            wrongPolicy.printStackTrace();
> +        } catch (ServantNotActive servantNotActive) {
> +                servantNotActive.printStackTrace();
> +        }
> +        return ret;
>     }
>
>     public ApplicationMap[] getAllApplications() throws BaseException,
>                                                 NotConnected {
>        if (!connected) { throw new NotConnected("The connection is not established..."); }
>        try {
> -         return SharkCORBAUtilities.makeCORBAApplicationMaps(this,
> +         return SharkCORBAUtilities.makeCORBAApplicationMaps(myServer._orb(), this,
>                                                               applicationMappingManager.getAllApplications());
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -214,7 +231,7 @@
>                                                                    NotConnected {
>        if (!connected) { throw new NotConnected("The connection is not established..."); }
>        try {
> -         return SharkCORBAUtilities.makeCORBAApplicationMaps(this,
> +         return SharkCORBAUtilities.makeCORBAApplicationMaps(myServer._orb(), this,
>                                                               applicationMappingManager.getAllApplications(pkgId));
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -226,7 +243,7 @@
>                                                                            NotConnected {
>        if (!connected) { throw new NotConnected("The connection is not established..."); }
>        try {
> -         return SharkCORBAUtilities.makeCORBAApplicationMaps(this,
> +         return SharkCORBAUtilities.makeCORBAApplicationMaps(myServer._orb(), this,
>                                                               applicationMappingManager.getAllApplications(pkgId,
>                                                                                                            pDefId));
>        } catch (Exception ex) {
> @@ -246,7 +263,7 @@
>     public NameValue[] getToolAgentsInfo() throws BaseException, NotConnected {
>        if (!connected) { throw new NotConnected("The connection is not established..."); }
>        try {
> -         return SharkCORBAUtilities.makeCORBANameValueArray(this._orb(),
> +         return SharkCORBAUtilities.makeCORBANameValueArray(myServer._orb(),
>                                                              applicationMappingManager.getToolAgentsInfo());
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -280,10 +297,10 @@
>                                                                 NotConnected {
>        if (!connected) { throw new NotConnected("The connection is not established..."); }
>        try {
> -         return new ApplicationMapCORBA(this,
> +         return SharkCORBAUtilities.makeApplicationMap(myServer._orb(), new ApplicationMapCORBA(myServer._orb(), this,
>                                          applicationMappingManager.getApplicationMapping(pkgId,
>                                                                                          pDefId,
> -                                                                                        appDefId));
> +                                                                                        appDefId)));
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> @@ -307,7 +324,7 @@
>                                                     NotConnected {
>        if (!connected) { throw new NotConnected("The connection is not established..."); }
>        try {
> -         return SharkCORBAUtilities.makeCORBAApplicationMaps(this,
> +         return SharkCORBAUtilities.makeCORBAApplicationMaps(myServer._orb(), this,
>                                                               applicationMappingManager.getApplicationMappings());
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -317,7 +334,7 @@
>     public ApplicationMap createApplicationMap() throws BaseException,
>                                                 NotConnected {
>        if (!connected) { throw new NotConnected("The connection is not established..."); }
> -      return new ApplicationMapCORBA(this);
> +      return SharkCORBAUtilities.makeApplicationMap(myServer._orb(), new ApplicationMapCORBA(myServer._orb(),this));
>     }
>
>     Collective __collective;
> @@ -336,6 +353,12 @@
>        if (myServer.trackObjects) {
>           __collective.__disband(_orb);
>        }
> -      this._orb().disconnect(this);
> +       try {
> +           this.disconnect();
> +       } catch (BaseException e) {
> +           e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
> +       } catch (NotConnected notConnected) {
> +           notConnected.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
> +       }
>     }
>  }
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/PackageAdminCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/PackageAdminCORBA.java,v
> retrieving revision 1.9
> diff -u -r1.9 PackageAdminCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/PackageAdminCORBA.java 5 May 2005 14:01:16 -0000 1.9
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/PackageAdminCORBA.java 18 Jun 2005 02:33:27 -0000
> @@ -9,7 +9,7 @@
>   * @author Sasa Bojanic
>   *
>   */
> -public class PackageAdminCORBA extends _PackageAdministrationImplBase {
> +public class PackageAdminCORBA extends PackageAdministrationPOA {
>     private SharkCORBAServer myServer;
>
>     private String userId;
> @@ -20,6 +20,7 @@
>     PackageAdminCORBA (SharkCORBAServer server,org.enhydra.shark.api.client.wfservice.PackageAdministration pa) {
>        this.myServer=server;
>        this.myPkgAdmin=pa;
> +
>     }
>
>     public void connect(String userId, String password, String engineName, String scope) throws BaseException, ConnectFailed {
> @@ -43,7 +44,7 @@
>           throw new NotConnected("The connection is not established...");
>        }
>        connected=false;
> -      this._orb().disconnect(this);
> +      this.disconnect();
>     }
>
>     public String[] getOpenedPackageIds () throws BaseException, NotConnected {
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ParticipantMapCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ParticipantMapCORBA.java,v
> retrieving revision 1.3
> diff -u -r1.3 ParticipantMapCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ParticipantMapCORBA.java 5 May 2005 14:01:16 -0000 1.3
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ParticipantMapCORBA.java 20 Jun 2005 05:08:40 -0000
> @@ -1,13 +1,14 @@
>  package org.enhydra.shark.corba;
>
>  import org.enhydra.shark.corba.WorkflowService.*;
> +import org.omg.CORBA.ORB;
>
>  /**
>   * Implementation of CORBA ParticipantMap interface.
>   *
>   * @author Sasa Bojanic
>   */
> -public class ParticipantMapCORBA extends _ParticipantMapImplBase /*implements
> +public class ParticipantMapCORBA extends ParticipantMapPOA /*implements
>                                                                  Collective.Member */{
>
>     private String participantId = "";
> @@ -20,13 +21,14 @@
>
>     private boolean isGroupUser;
>
> -   public ParticipantMapCORBA(Collective toJoin) {
> -      toJoin.__recruit(this);
> +   public ParticipantMapCORBA(ORB orb, Collective toJoin) {
> +
> +      toJoin.__recruit(_this_object(orb));
>     }
>
> -   public ParticipantMapCORBA(Collective toJoin,
> +   public ParticipantMapCORBA(ORB orb, Collective toJoin,
>                                org.enhydra.shark.api.client.wfservice.ParticipantMap pm) {
> -      this(toJoin);
> +      this(orb, toJoin);
>        setParticipantId(pm.getParticipantId());
>        setPackageId(pm.getPackageId());
>        setProcessDefinitionId(pm.getProcessDefinitionId());
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ProcessIteratorExpressionBuilderCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ProcessIteratorExpressionBuilderCORBA.java,v
> retrieving revision 1.4
> diff -u -r1.4 ProcessIteratorExpressionBuilderCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ProcessIteratorExpressionBuilderCORBA.java 7 Jun 2005 15:00:15 -0000 1.4
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ProcessIteratorExpressionBuilderCORBA.java 21 Jun 2005 17:32:42 -0000
> @@ -1,8 +1,9 @@
>  package org.enhydra.shark.corba;
>
>  import org.enhydra.shark.corba.ExpressionBuilders.ProcessIteratorExpressionBuilder;
> -import org.enhydra.shark.corba.ExpressionBuilders._ProcessIteratorExpressionBuilderImplBase;
> +import org.enhydra.shark.corba.ExpressionBuilders.ProcessIteratorExpressionBuilderPOA;
>  import org.omg.CORBA.Any;
> +import org.omg.CORBA.ORB;
>  import org.omg.WfBase.BaseException;
>
>  /**
> @@ -11,12 +12,13 @@
>   * @author Sasa Bojanic
>   */
>  public class ProcessIteratorExpressionBuilderCORBA extends
> -                                                  _ProcessIteratorExpressionBuilderImplBase {
> +        ProcessIteratorExpressionBuilderPOA {
>
>     org.enhydra.shark.api.common.ProcessIteratorExpressionBuilder myEB;
>
> -   public ProcessIteratorExpressionBuilderCORBA(org.enhydra.shark.api.common.ProcessIteratorExpressionBuilder eb) {
> +   public ProcessIteratorExpressionBuilderCORBA(ORB orb, org.enhydra.shark.api.common.ProcessIteratorExpressionBuilder eb) {
>        this.myEB = eb;
> +      _this(orb);
>     }
>
>     public boolean isComplete() {
> @@ -37,147 +39,147 @@
>
>     public ProcessIteratorExpressionBuilder and() {
>        myEB.and();
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder or() {
>        myEB.or();
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder not() {
>        myEB.not();
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addPackageIdEquals(String exp) {
>        myEB.addPackageIdEquals(exp);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addProcessDefIdEquals(String exp) {
>        myEB.addProcessDefIdEquals(exp);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addMgrNameEquals(String exp) {
>        myEB.addMgrNameEquals(exp);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addVersionEquals(String exp) {
>        myEB.addVersionEquals(exp);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addIsMgrEnabled() {
>        myEB.addIsMgrEnabled();
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addStateEquals(String arg) {
>        myEB.addStateEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addStateStartsWith(String arg) {
>        myEB.addStateStartsWith(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addIdEquals(String arg) {
>        myEB.addIdEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addNameEquals(String arg) {
>        myEB.addNameEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addPriorityEquals(int arg) {
>        myEB.addPriorityEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addDescriptionEquals(String arg) {
>        myEB.addDescriptionEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addDescriptionContains(String arg) {
>        myEB.addDescriptionContains(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addRequesterIdEquals(String arg) {
>        myEB.addRequesterIdEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addRequesterUsernameEquals(String arg) {
>       myEB.addRequesterUsernameEquals(arg);
> -     return this;
> +     return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addCreatedTimeEquals(long arg) {
>        myEB.addCreatedTimeEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addCreatedTimeBefore(long arg) {
>        myEB.addCreatedTimeBefore(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addCreatedTimeAfter(long arg) {
>        myEB.addCreatedTimeAfter(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addStartTimeEquals(long arg) {
>        myEB.addStartTimeEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addStartTimeBefore(long arg) {
>        myEB.addStartTimeBefore(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addStartTimeAfter(long arg) {
>        myEB.addStartTimeAfter(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addLastStateTimeEquals(long arg) {
>        myEB.addLastStateTimeEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addLastStateTimeBefore(long arg) {
>        myEB.addLastStateTimeBefore(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addLastStateTimeAfter(long arg) {
>        myEB.addLastStateTimeAfter(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addActiveActivitiesCountEquals(long arg) {
>        // FIXME: not implemented yet
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addActiveActivitiesCountGreaterThan(long arg) {
>        // FIXME: not implemented yet
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addActiveActivitiesCountLessThan(long arg) {
>        // FIXME: not implemented yet
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addVariableAnyEquals(String vName,
> @@ -188,54 +190,54 @@
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addVariableStrEquals(String vName,
>                                                                  String vValue) {
>        myEB.addVariableEquals(vName, vValue);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addVariableLngEquals(String vName,
>                                                                  long vValue) {
>        myEB.addVariableEquals(vName, vValue);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addVariableLngGreaterThan(String vName,
>                                                                       long vValue) {
>        myEB.addVariableGreaterThan(vName, vValue);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addVariableLngLessThan(String vName,
>                                                                    long vValue) {
>        myEB.addVariableLessThan(vName, vValue);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addVariableDblEquals(String vName,
>                                                                  double vValue) {
>        myEB.addVariableEquals(vName, vValue);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addVariableDblGreaterThan(String vName,
>                                                                       double vValue) {
>        myEB.addVariableGreaterThan(vName, vValue);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addVariableDblLessThan(String vName,
>                                                                    double vValue) {
>        myEB.addVariableLessThan(vName, vValue);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder addExpressionStr(String exp) {
>        myEB.addExpression(exp);
> -      return this;
> +      return _this();
>     }
>
>     public void disconnect() {
> @@ -245,7 +247,7 @@
>
>     public ProcessIteratorExpressionBuilder addExpression(ProcessIteratorExpressionBuilder eb) {
>        myEB.addExpression((org.enhydra.shark.api.common.ProcessIteratorExpressionBuilder)eb.getTheImpl().extract_Value());
> -      return this;
> +      return _this();
>     }
>
>     public Any getTheImpl() {
> @@ -256,47 +258,47 @@
>
>     public ProcessIteratorExpressionBuilder setOrderByMgrName(boolean ascending) {
>        myEB.setOrderByMgrName(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder setOrderById(boolean ascending) {
>        myEB.setOrderById(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder setOrderByName(boolean ascending) {
>        myEB.setOrderByName(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder setOrderByState(boolean ascending) {
>        myEB.setOrderByState(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder setOrderByPriority(boolean ascending) {
>        myEB.setOrderByPriority(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder setOrderByCreatedTime(boolean ascending) {
>        myEB.setOrderByCreatedTime(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder setOrderByStartTime(boolean ascending) {
>        myEB.setOrderByStartTime(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder setOrderByLastStateTime(boolean ascending) {
>        myEB.setOrderByLastStateTime(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessIteratorExpressionBuilder setOrderByResourceRequesterId(boolean ascending) {
>        myEB.setOrderByResourceRequesterId(ascending);
> -      return this;
> +      return _this();
>     }
>
>  }
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ProcessMgrIteratorExpressionBuilderCORBA.java
> ===================================================================
> RCS file:
/cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ProcessMgrIteratorExpressionBuilderCORBA.java,v
> retrieving revision 1.5
> diff -u -r1.5 ProcessMgrIteratorExpressionBuilderCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ProcessMgrIteratorExpressionBuilderCORBA.java 15 Jun 2005 15:47:21 -0000
1.5
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ProcessMgrIteratorExpressionBuilderCORBA.java 21 Jun 2005 17:35:02 -0000
> @@ -1,8 +1,9 @@
>  package org.enhydra.shark.corba;
>
>  import org.enhydra.shark.corba.ExpressionBuilders.ProcessMgrIteratorExpressionBuilder;
> -import org.enhydra.shark.corba.ExpressionBuilders._ProcessMgrIteratorExpressionBuilderImplBase;
> +import org.enhydra.shark.corba.ExpressionBuilders.ProcessMgrIteratorExpressionBuilderPOA;
>  import org.omg.CORBA.Any;
> +import org.omg.CORBA.ORB;
>
>  /**
>   * ProcessMgrIteratorExpressionBuilderCORBA
> @@ -10,12 +11,13 @@
>   * @author Sasa Bojanic
>   */
>  public class ProcessMgrIteratorExpressionBuilderCORBA extends
> -                                                     _ProcessMgrIteratorExpressionBuilderImplBase {
> +        ProcessMgrIteratorExpressionBuilderPOA {
>
>     org.enhydra.shark.api.common.ProcessMgrIteratorExpressionBuilder myEB;
>
> -   public ProcessMgrIteratorExpressionBuilderCORBA(org.enhydra.shark.api.common.ProcessMgrIteratorExpressionBuilder eb) {
> +   public ProcessMgrIteratorExpressionBuilderCORBA(ORB orb, org.enhydra.shark.api.common.ProcessMgrIteratorExpressionBuilder eb)
{
>        this.myEB = eb;
> +       _this(orb);
>     }
>
>     public boolean isComplete() {
> @@ -36,62 +38,62 @@
>
>     public ProcessMgrIteratorExpressionBuilder and() {
>        myEB.and();
> -      return this;
> +      return _this();
>     }
>
>     public ProcessMgrIteratorExpressionBuilder or() {
>        myEB.or();
> -      return this;
> +      return _this();
>     }
>
>     public ProcessMgrIteratorExpressionBuilder not() {
>        myEB.not();
> -      return this;
> +      return _this();
>     }
>
>     public ProcessMgrIteratorExpressionBuilder addNameEquals(String exp) {
>        myEB.addNameEquals(exp);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessMgrIteratorExpressionBuilder addPackageIdEquals(String exp) {
>        myEB.addPackageIdEquals(exp);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessMgrIteratorExpressionBuilder addProcessDefIdEquals(String exp) {
>        myEB.addProcessDefIdEquals(exp);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessMgrIteratorExpressionBuilder addVersionEquals(String exp) {
>        myEB.addVersionEquals(exp);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessMgrIteratorExpressionBuilder addCreatedTimeEquals(long arg) {
>        myEB.addCreatedTimeEquals(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessMgrIteratorExpressionBuilder addCreatedTimeBefore(long arg) {
>        myEB.addCreatedTimeBefore(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessMgrIteratorExpressionBuilder addCreatedTimeAfter(long arg) {
>        myEB.addCreatedTimeAfter(arg);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessMgrIteratorExpressionBuilder addIsEnabled() {
>        myEB.addIsEnabled();
> -      return this;
> +      return _this();
>     }
>
>     public ProcessMgrIteratorExpressionBuilder addExpressionStr(String exp) {
>        myEB.addExpression(exp);
> -      return this;
> +      return _this();
>     }
>
>     public void disconnect() {
> @@ -102,7 +104,7 @@
>     public ProcessMgrIteratorExpressionBuilder addExpression(ProcessMgrIteratorExpressionBuilder eb) {
>        myEB.addExpression((org.enhydra.shark.api.common.ProcessMgrIteratorExpressionBuilder) eb.getTheImpl()
>           .extract_Value());
> -      return this;
> +      return _this();
>     }
>
>     public Any getTheImpl() {
> @@ -113,31 +115,31 @@
>
>     public ProcessMgrIteratorExpressionBuilder setOrderByPackageId(boolean ascending) {
>        myEB.setOrderByPackageId(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessMgrIteratorExpressionBuilder setOrderByProcessDefId(boolean ascending) {
>        myEB.setOrderByProcessDefId(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessMgrIteratorExpressionBuilder setOrderByName(boolean ascending) {
>        myEB.setOrderByName(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessMgrIteratorExpressionBuilder setOrderByVersion(boolean ascending) {
>        myEB.setOrderByVersion(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessMgrIteratorExpressionBuilder setOrderByCreatedTime(boolean ascending) {
>        myEB.setOrderByCreatedTime(ascending);
> -      return this;
> +      return _this();
>     }
>
>     public ProcessMgrIteratorExpressionBuilder setOrderByEnabled(boolean ascending) {
>        myEB.setOrderByEnabled(ascending);
> -      return this;
> +      return _this();
>     }
>  }
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/RepositoryManagerCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/RepositoryManagerCORBA.java,v
> retrieving revision 1.5
> diff -u -r1.5 RepositoryManagerCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/RepositoryManagerCORBA.java 5 May 2005 14:01:16 -0000 1.5
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/RepositoryManagerCORBA.java 18 Jun 2005 02:35:18 -0000
> @@ -8,7 +8,7 @@
>   *
>   * @author Sasa Bojanic
>   */
> -public class RepositoryManagerCORBA extends _RepositoryMgrImplBase {
> +public class RepositoryManagerCORBA extends RepositoryMgrPOA {
>     private SharkCORBAServer myServer;
>
>     private String userId;
> @@ -21,6 +21,7 @@
>                            org.enhydra.shark.api.client.wfservice.RepositoryMgr rm) {
>        this.myServer = server;
>        this.myRepMgr = rm;
> +
>     }
>
>     public void connect(String userId,
> @@ -43,7 +44,7 @@
>     public void disconnect() throws BaseException, NotConnected {
>        if (!connected) { throw new NotConnected("The connection is not established..."); }
>        connected = false;
> -      this._orb().disconnect(this);
> +      this.disconnect();
>     }
>
>     public void deletePkg(String relativePath) throws BaseException,
> @@ -85,7 +86,7 @@
>                                                   NotConnected {
>        if (!connected) { throw new NotConnected("The connection is not established..."); }
>        try {
> -         return SharkCORBAUtilities.makeCORBANameValueArray(this._orb(),
> +         return SharkCORBAUtilities.makeCORBANameValueArray(myServer._orb(),
>                                                              myRepMgr.getPackagePathToIdMapping());
>        } catch (Exception ex) {
>           throw new BaseException();
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ResourceIteratorExpressionBuilderCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ResourceIteratorExpressionBuilderCORBA.java,v
> retrieving revision 1.4
> diff -u -r1.4 ResourceIteratorExpressionBuilderCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ResourceIteratorExpressionBuilderCORBA.java 7 Jun 2005 15:00:15 -0000
1.4
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/ResourceIteratorExpressionBuilderCORBA.java 21 Jun 2005 17:35:54 -0000
> @@ -1,8 +1,9 @@
>  package org.enhydra.shark.corba;
>
>  import org.enhydra.shark.corba.ExpressionBuilders.ResourceIteratorExpressionBuilder;
> -import org.enhydra.shark.corba.ExpressionBuilders._ResourceIteratorExpressionBuilderImplBase;
> +import org.enhydra.shark.corba.ExpressionBuilders.ResourceIteratorExpressionBuilderPOA;
>  import org.omg.CORBA.Any;
> +import org.omg.CORBA.ORB;
>
>  /**
>   * ResourceIteratorExpressionBuilderCORBA
> @@ -10,12 +11,13 @@
>   * @author Sasa Bojanic
>   */
>  public class ResourceIteratorExpressionBuilderCORBA extends
> -                                                   _ResourceIteratorExpressionBuilderImplBase {
> +        ResourceIteratorExpressionBuilderPOA {
>
>     org.enhydra.shark.api.common.ResourceIteratorExpressionBuilder myEB;
>
> -   public ResourceIteratorExpressionBuilderCORBA(org.enhydra.shark.api.common.ResourceIteratorExpressionBuilder eb) {
> +   public ResourceIteratorExpressionBuilderCORBA(ORB orb, org.enhydra.shark.api.common.ResourceIteratorExpressionBuilder eb) {
>        this.myEB = eb;
> +       _this(orb);
>     }
>
>     public boolean isComplete() {
> @@ -36,42 +38,42 @@
>
>     public ResourceIteratorExpressionBuilder and() {
>        myEB.and();
> -      return this;
> +      return _this();
>     }
>
>     public ResourceIteratorExpressionBuilder or() {
>        myEB.or();
> -      return this;
> +      return _this();
>     }
>
>     public ResourceIteratorExpressionBuilder not() {
>        myEB.not();
> -      return this;
> +      return _this();
>     }
>
>     public ResourceIteratorExpressionBuilder addUsernameEquals(String un) {
>        myEB.addUsernameEquals(un);
> -      return this;
> +      return _this();
>     }
>
>     public ResourceIteratorExpressionBuilder addAssignemtCountEquals(long cnt) {
>        myEB.addAssignemtCountEquals(cnt);
> -      return this;
> +      return _this();
>     }
>
>     public ResourceIteratorExpressionBuilder addAssignemtCountLessThan(long cnt) {
>        myEB.addAssignemtCountLessThan(cnt);
> -      return this;
> +      return _this();
>     }
>
>     public ResourceIteratorExpressionBuilder addAssignemtCountGreaterThan(long cnt) {
>        myEB.addAssignemtCountGreaterThan(cnt);
> -      return this;
> +      return _this();
>     }
>
>     public ResourceIteratorExpressionBuilder addExpressionStr(String exp) {
>        myEB.addExpression(exp);
> -      return this;
> +      return _this();
>     }
>
>     public void disconnect() {
> @@ -82,7 +84,7 @@
>     public ResourceIteratorExpressionBuilder addExpression(ResourceIteratorExpressionBuilder eb) {
>        myEB.addExpression((org.enhydra.shark.api.common.ResourceIteratorExpressionBuilder) eb.getTheImpl()
>           .extract_Value());
> -      return this;
> +      return _this();
>     }
>
>     public Any getTheImpl() {
> @@ -93,6 +95,6 @@
>
>     public ResourceIteratorExpressionBuilder setOrderByUsername(boolean ascending) {
>        myEB.setOrderByUsername(ascending);
> -      return this;
> +      return _this();
>     }
>  }
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/SharkCORBAServer.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/SharkCORBAServer.java,v
> retrieving revision 1.20
> diff -u -r1.20 SharkCORBAServer.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/SharkCORBAServer.java 18 Jun 2005 12:56:02 -0000 1.20
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/SharkCORBAServer.java 27 Jun 2005 04:14:32 -0000
> @@ -8,29 +8,32 @@
>  import org.enhydra.shark.Shark;
>  import org.enhydra.shark.api.client.wfbase.BaseException;
>  import org.enhydra.shark.corba.WorkflowService.*;
> +import org.omg.WorkflowModel.*;
>  import org.enhydra.shark.utilities.DeadlineChecker;
>  import org.enhydra.shark.utilities.LimitChecker;
>  import org.omg.CORBA.ORB;
> +import org.omg.CORBA.Policy;
> +//import org.omg.CORBA.ORBPackage.*;
>  import org.omg.CosNaming.*;
>  import org.omg.CosNaming.NamingContextPackage.*;
> +//import org.omg.CosNaming.NamingContextPackage.InvalidName;
>  import org.omg.WfBase.NameValueInfo;
> -import org.omg.WorkflowModel.WfCreateProcessEventAudit;
> -import org.omg.WorkflowModel.WfDataEventAudit;
> -import org.omg.WorkflowModel.WfStateEventAudit;
> -import org.omg.WorkflowModel._WfCreateProcessEventAuditStub;
> -import org.omg.WorkflowModel._WfDataEventAuditStub;
> -import org.omg.WorkflowModel._WfStateEventAuditStub;
> +import org.omg.PortableServer.POAPackage.*;
> +import org.omg.PortableServer.POAManagerPackage.AdapterInactive;
> +import org.omg.PortableServer.*;
> +
>
>  /**
>   * The server class for engine. It is registered in 'CORBA' name server.
>   * The client applications has to get this object from the name server.
> - *
> + *
>   * @author Sasa Bojanic
>   * @author Vladimir Puskas
>   * @author Rich Robinson
>   * @author Andy Zeneski ([email protected])
>   */
> -public class SharkCORBAServer extends _SharkInterfaceImplBase {
> +//public class SharkCORBAServer extends _SharkInterfaceImplBase {
> +  public class SharkCORBAServer extends SharkInterfacePOA {
>
>     private org.enhydra.shark.Shark shark;
>
> @@ -44,6 +47,9 @@
>
>     boolean trackObjects;
>
> +   private POA rootPOA;
> +
> +
>     public SharkCORBAServer(String engineName,
>                             String nsHost,
>                             String nsPort,
> @@ -89,26 +95,54 @@
>
>        // create and initialize the ORB
>        String vers = System.getProperty("java.version");
> +       System.out.println("java.version "+vers);
>        if (vers.compareTo("1.4") < 0) {
>           orb = ORB.init(a1, null);
>        } else {
>           orb = ORB.init(a2, null);
>        }
> +      // org.omg.PortableServer.POA rootPOA = null;
> +       try {
> +           rootPOA = org.omg.PortableServer.POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +           /*
> +           Policy[] tpolicy = new Policy[3];
> +           tpolicy[0] = rootPOA.create_id_assignment_policy(IdAssignmentPolicyValue.SYSTEM_ID);
> +           tpolicy[1] = rootPOA.create_servant_retention_policy(ServantRetentionPolicyValue.RETAIN);
> +           tpolicy[2] = rootPOA.create_implicit_activation_policy(ImplicitActivationPolicyValue.IMPLICIT_ACTIVATION);
> +           childPOA = rootPOA.create_POA("childPOA",rootPOA.the_POAManager(), tpolicy);
> +           */
> +          // rootPOA.servant_to_reference(this);
> +       } catch (org.omg.CORBA.ORBPackage.InvalidName invalidName) {
> +           invalidName.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
> +       } /*catch (InvalidPolicy invalidPolicy) {
> +           invalidPolicy.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
> +       } catch (AdapterAlreadyExists adapterAlreadyExists) {
> +           adapterAlreadyExists.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
> +       } /*catch (ServantNotActive servantNotActive) {
> +           servantNotActive.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
> +       } catch (WrongPolicy wrongPolicy) {
> +           wrongPolicy.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
> +       } */
> +       //  _this(orb);
> +    //   orb.connect(this._this_object());
>        // get the root naming context
>        org.omg.CORBA.Object objRef = null;
>        try {
>           objRef = orb.resolve_initial_references("NameService");
>        } catch (Exception ex) {
> +          System.err.println("startCORBAServer: "+ex);
>           // The following code is included to enable Shark Server to be
>           // started
>           // from Shark project script that starts all project parts at
>           // ones
> -         for (int i = 0; i < 25; i++) {
> +         for (int i = 0; i < 2; i++) {
>
>              try {
>                 Thread.sleep(2500);
>                 objRef = orb.resolve_initial_references("NameService");
> -            } catch (Exception ex2) {}
> +            } catch (Exception ex2) {
> +                System.err.println("NameService failed "+ex2);
> +            }
>              if (objRef != null) {
>                 break;
>              }
> @@ -121,23 +155,33 @@
>        // get the naming context
>        NamingContext ncRef = NamingContextHelper.narrow(objRef);
>        if (ncRef == null) { throw new BaseException("Null NamingContext"); }
> -
> +      else System.out.println("NameService contacted");
>        // bind the object reference in naming
>        NameComponent nc = new NameComponent(engineName, "");
>        NameComponent path[] = {
>           nc
>        };
>        try {
> -         ncRef.rebind(path, this);
> +         rootPOA.the_POAManager().activate();
> +         rootPOA.activate_object(this);
> +         SharkCORBAUtilities.setPOA(rootPOA);
> +         ncRef.rebind(path, this._this_object());
> +
> +          System.out.println("CORBA Server registered and activated");
>        } catch (NotFound e) {
>           throw new BaseException(e);
>        } catch (CannotProceed e) {
>           throw new BaseException(e);
>        } catch (InvalidName e) {
>           throw new BaseException(e);
> +       } catch (AdapterInactive adapterInactive) {
> +           adapterInactive.printStackTrace();
> +       } catch (ServantAlreadyActive es ) {
> +          es.printStackTrace();
> +      }   catch (WrongPolicy wp ) {
> +          wp.printStackTrace();
>        }
> -
> -      // start the orb
> +       // start the orb
>        orb.run(); // WARNING this blocks; objects calling this method
>                   // should be threaded
>
> @@ -149,7 +193,7 @@
>
>     public void shutdownORB() {
>        try {
> -         orb.disconnect(this);
> +         orb.disconnect(this._this_object());
>           orb.shutdown(false);
>        } catch (Exception e) {
>           // maybe throw some log4j in here
> @@ -162,56 +206,216 @@
>     }
>
>     public AdminMisc getAdminMisc() {
> -      return new AdminMiscCORBA(this, shark.getAdminInterface()
> +      AdminMiscCORBA adminMiscImpl = new AdminMiscCORBA(this, shark.getAdminInterface()
>           .getAdminMisc());
> +
> +       AdminMisc adminMisc = null;
> +             try {
> +           byte[] o = rootPOA.activate_object(adminMiscImpl);
> +           adminMisc = AdminMiscHelper.narrow(rootPOA.id_to_reference(o));
> +
> +       } catch (ServantAlreadyActive servantAlreadyActive) {
> +           servantAlreadyActive.printStackTrace();
> +       } catch (WrongPolicy wrongPolicy) {
> +           wrongPolicy.printStackTrace();
> +       }catch (ObjectNotActive objectNotActive) {
> +               objectNotActive.printStackTrace();
> +       }
> +
> +       return adminMisc;
>     }
>
>     public ExecutionAdministration getExecutionAdministration() {
> -      return new ExecutionAdminCORBA(this, shark.getAdminInterface()
> +      ExecutionAdminCORBA executionAdminImpl = new ExecutionAdminCORBA(this, shark.getAdminInterface()
>           .getExecutionAdministration());
> +       ExecutionAdministration executionAdmin = null;
> +        try {
> +           rootPOA.activate_object(executionAdminImpl);
> +           executionAdmin = ExecutionAdministrationHelper.narrow(rootPOA.servant_to_reference(executionAdminImpl));
> +
> +       } catch (ServantAlreadyActive servantAlreadyActive) {
> +           servantAlreadyActive.printStackTrace();
> +       } catch (WrongPolicy wrongPolicy) {
> +           wrongPolicy.printStackTrace();
> +       }catch (ServantNotActive servantNotActive) {
> +               servantNotActive.printStackTrace();
> +       }
> +
> +       return executionAdmin;
>     }
>
>     public MappingAdministration getMappingAdministration() {
> -      return new MappingAdminCORBA(this, shark.getAdminInterface()
> +       MappingAdminCORBA mappingAdminImpl = new MappingAdminCORBA(this, shark.getAdminInterface()
>           .getParticipantMappingAdministration(), shark.getAdminInterface()
>           .getApplicationMappingAdministration());
> +       MappingAdministration mappingAdmin = null;
> +        try {
> +           rootPOA.activate_object(mappingAdminImpl);
> +           mappingAdmin = MappingAdministrationHelper.narrow(rootPOA.servant_to_reference(mappingAdminImpl));
> +
> +       } catch (ServantAlreadyActive servantAlreadyActive) {
> +           servantAlreadyActive.printStackTrace();
> +       } catch (WrongPolicy wrongPolicy) {
> +           wrongPolicy.printStackTrace();
> +       }catch (ServantNotActive servantNotActive) {
> +               servantNotActive.printStackTrace();
> +       }
> +
> +       return mappingAdmin;
> +
>     }
>
>     public PackageAdministration getPackageAdministration() {
> -      return new PackageAdminCORBA(this, shark.getAdminInterface()
> +      PackageAdminCORBA packageAdminImpl =  new PackageAdminCORBA(this, shark.getAdminInterface()
>           .getPackageAdministration());
> +       PackageAdministration packageAdmin = null;
> +        try {
> +           rootPOA.activate_object(packageAdminImpl);
> +           packageAdmin = PackageAdministrationHelper.narrow(rootPOA.servant_to_reference(packageAdminImpl));
> +
> +       } catch (ServantAlreadyActive servantAlreadyActive) {
> +           servantAlreadyActive.printStackTrace();
> +       } catch (WrongPolicy wrongPolicy) {
> +           wrongPolicy.printStackTrace();
> +       }catch (ServantNotActive servantNotActive) {
> +               servantNotActive.printStackTrace();
> +       }
> +
> +       return packageAdmin;
> +
>     }
>
>     public UserGroupAdministration getUserGroupAdministration() {
> -      return new UserGroupAdminCORBA(this, shark.getAdminInterface()
> +      UserGroupAdminCORBA userGroupAdminImpl = new UserGroupAdminCORBA(this, shark.getAdminInterface()
>           .getUserGroupAdministration());
> +       UserGroupAdministration userGroupAdmin = null;
> +       try {
> +           rootPOA.activate_object(userGroupAdminImpl);
> +           userGroupAdmin = UserGroupAdministrationHelper.narrow(rootPOA.servant_to_reference(userGroupAdminImpl));
> +
> +       } catch (ServantAlreadyActive servantAlreadyActive) {
> +           servantAlreadyActive.printStackTrace();
> +       } catch (WrongPolicy wrongPolicy) {
> +           wrongPolicy.printStackTrace();
> +       }catch (ServantNotActive servantNotActive) {
> +               servantNotActive.printStackTrace();
> +       }
> +
> +       return userGroupAdmin;
>     }
>
>     public CacheAdministration getCacheAdministration() {
> -      return new CacheAdminCORBA(this, shark.getAdminInterface()
> +      CacheAdminCORBA cacheAdminImpl = new CacheAdminCORBA(this, shark.getAdminInterface()
>           .getCacheAdministration());
> +       CacheAdministration cacheAdmin = null;
> +             try {
> +           rootPOA.activate_object(cacheAdminImpl);
> +           cacheAdmin = CacheAdministrationHelper.narrow(rootPOA.servant_to_reference(cacheAdminImpl));
> +
> +       } catch (ServantAlreadyActive servantAlreadyActive) {
> +           servantAlreadyActive.printStackTrace();
> +       } catch (WrongPolicy wrongPolicy) {
> +           wrongPolicy.printStackTrace();
> +       }catch (ServantNotActive servantNotActive) {
> +               servantNotActive.printStackTrace();
> +       }
> +
> +       return cacheAdmin;
>     }
>
>     public DeadlineAdministration getDeadlineAdministration() {
> -      return new DeadlineAdminCORBA(this, shark.getAdminInterface()
> +      DeadlineAdminCORBA deadlineAdminImpl = new DeadlineAdminCORBA(this, shark.getAdminInterface()
>           .getDeadlineAdministration());
> +       DeadlineAdministration deadlineAdmin = null;
> +       try {
> +           rootPOA.activate_object(deadlineAdminImpl);
> +           deadlineAdmin = DeadlineAdministrationHelper.narrow(rootPOA.servant_to_reference(deadlineAdminImpl));
> +
> +       } catch (ServantAlreadyActive servantAlreadyActive) {
> +           servantAlreadyActive.printStackTrace();
> +       } catch (WrongPolicy wrongPolicy) {
> +           wrongPolicy.printStackTrace();
> +       }catch (ServantNotActive servantNotActive) {
> +               servantNotActive.printStackTrace();
> +       }
> +
> +       return deadlineAdmin;
>     }
>
>     public LimitAdministration getLimitAdministration() {
> -      return new LimitAdminCORBA(this, shark.getAdminInterface()
> +      LimitAdminCORBA limitAdminImpl = new LimitAdminCORBA(this, shark.getAdminInterface()
>           .getLimitAdministration());
> +       LimitAdministration limitAdmin = null;
> +       try {
> +           rootPOA.activate_object(limitAdminImpl);
> +           limitAdmin = LimitAdministrationHelper.narrow(rootPOA.servant_to_reference(limitAdminImpl));
> +
> +       } catch (ServantAlreadyActive servantAlreadyActive) {
> +           servantAlreadyActive.printStackTrace();
> +       } catch (WrongPolicy wrongPolicy) {
> +           wrongPolicy.printStackTrace();
> +       }catch (ServantNotActive servantNotActive) {
> +               servantNotActive.printStackTrace();
> +       }
> +
> +       return limitAdmin;
>     }
>
>     public RepositoryMgr getRepositoryManager() {
> -      return new RepositoryManagerCORBA(this, shark.getRepositoryManager());
> +      RepositoryManagerCORBA repositoryManagerImpl = new RepositoryManagerCORBA(this, shark.getRepositoryManager());
> +      RepositoryMgr repositoryMgr = null;
> +      try {
> +           rootPOA.activate_object(repositoryManagerImpl);
> +           repositoryMgr = RepositoryMgrHelper.narrow(rootPOA.servant_to_reference(repositoryManagerImpl));
> +
> +       } catch (ServantAlreadyActive servantAlreadyActive) {
> +           servantAlreadyActive.printStackTrace();
> +       } catch (WrongPolicy wrongPolicy) {
> +           wrongPolicy.printStackTrace();
> +       }catch (ServantNotActive servantNotActive) {
> +               servantNotActive.printStackTrace();
> +       }
> +
> +       return repositoryMgr;
>     }
>
>     public SharkConnection getSharkConnection() {
> -      return new SharkConnectionCORBA(this, shark.getSharkConnection());
> +
> +       SharkConnectionCORBA connectImpl = new SharkConnectionCORBA(this,shark.getSharkConnection());
> +
> +       SharkConnection connect = null;
> +       try {
> +           rootPOA.activate_object(connectImpl);
> +           connect = SharkConnectionHelper.narrow(rootPOA.servant_to_reference(connectImpl));
> +
> +       } catch (ServantAlreadyActive servantAlreadyActive) {
> +           servantAlreadyActive.printStackTrace();
> +       } catch (WrongPolicy wrongPolicy) {
> +           wrongPolicy.printStackTrace();
> +       }catch (ServantNotActive servantNotActive) {
> +               servantNotActive.printStackTrace();
> +       }
> +
> +       return connect;
> +   //   return new SharkConnectionCORBA(this, shark.getSharkConnection())._this();
>     }
>
>     public ExpressionBuilderManager getExpressionBuilderManager() {
> -      return new ExpressionBuilderMgrCORBA(this, shark.getExpressionBuilderManager());
> +      ExpressionBuilderMgrCORBA expressionBuilderMgrImpl = new ExpressionBuilderMgrCORBA(this,
shark.getExpressionBuilderManager());
> +       ExpressionBuilderManager express = null;
> +          try {
> +           rootPOA.activate_object(expressionBuilderMgrImpl);
> +           express = ExpressionBuilderManagerHelper.narrow(rootPOA.servant_to_reference(expressionBuilderMgrImpl));
> +           if (express == null) System.err.println("getExpressBuilderManager: "+express);
> +       } catch (ServantAlreadyActive servantAlreadyActive) {
> +           servantAlreadyActive.printStackTrace();
> +       } catch (WrongPolicy wrongPolicy) {
> +           wrongPolicy.printStackTrace();
> +       }catch (ServantNotActive servantNotActive) {
> +               servantNotActive.printStackTrace();
> +       }
> +
> +       return express;
>     }
>
>     public NameValueInfo[] getProperties() {
> @@ -401,13 +605,13 @@
>        } else {
>           try {
>              if (toDisconnect instanceof WfCreateProcessEventAudit) {
> -               WfLinkingRequesterForCORBA.emptyCollective(((WfCreateProcessEventAudit)toDisconnect).process_key(),getBoundORB());
> +               WfLinkingRequesterForCORBA.emptyCollective(((WfCreateProcessEventAudit)toDisconnect).process_key(),getBoundORB());
>              }
>              if (toDisconnect instanceof WfDataEventAudit) {
> -               WfLinkingRequesterForCORBA.emptyCollective(((WfDataEventAudit)toDisconnect).process_key(),getBoundORB());
> +               WfLinkingRequesterForCORBA.emptyCollective(((WfDataEventAudit)toDisconnect).process_key(),getBoundORB());
>              }
>              if (toDisconnect instanceof WfStateEventAudit) {
> -               WfLinkingRequesterForCORBA.emptyCollective(((WfStateEventAudit)toDisconnect).process_key(),getBoundORB());
> +               WfLinkingRequesterForCORBA.emptyCollective(((WfStateEventAudit)toDisconnect).process_key(),getBoundORB());
>              }
>              orb.disconnect(toDisconnect);
>           } catch (Exception ex) {
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/SharkCORBAUtilities.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/SharkCORBAUtilities.java,v
> retrieving revision 1.9
> diff -u -r1.9 SharkCORBAUtilities.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/SharkCORBAUtilities.java 20 May 2005 20:44:42 -0000 1.9
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/SharkCORBAUtilities.java 27 Jun 2005 21:04:29 -0000
> @@ -4,347 +4,755 @@
>  import org.omg.WorkflowModel.*;
>  import org.enhydra.shark.corba.WorkflowService.*;
>  import org.omg.CORBA.*;
> +import org.omg.PortableServer.POA;
> +import org.omg.PortableServer.POAHelper;
> +import org.omg.PortableServer.POAPackage.ServantAlreadyActive;
> +import org.omg.PortableServer.POAPackage.WrongPolicy;
> +import org.omg.PortableServer.POAPackage.ServantNotActive;
>
>  import java.util.*;
> +
>  import org.enhydra.shark.utilities.SequencedHashMap;
>
>  import java.io.Serializable;
>
>  /**
>   * The various utilities needed by engine.
> - *
> + *
>   * @author Sasa Bojanic
>   * @version 1.1
>   */
>  public class SharkCORBAUtilities {
>
> -   static NameValueInfo makeCORBANameValueInfo(String attribute_name,
> -                                               String type_name) {
> -      NameValueInfo nvic = new NameValueInfo();
> -      nvic.attribute_name = attribute_name;
> -      nvic.type_name = type_name;
> -      return nvic;
> -   }
> -
> -   static NameValueInfo[] makeCORBANameValueInfoArray(Map nvia) {
> -      int size = 0;
> -      if (nvia != null) size = nvia.size();
> -      NameValueInfo[] nvica = new NameValueInfo[size];
> -      int i = 0;
> -      if (nvia != null) {
> -         for (Iterator it = nvia.entrySet().iterator(); it.hasNext(); i++) {
> -            Map.Entry me = (Map.Entry) it.next();
> -            nvica[i] = makeCORBANameValueInfo(me.getKey().toString(),
> -                                              me.getValue().toString());
> -         }
> -      }
> -      return nvica;
> -   }
> -
> -   static NameValue makeCORBANameValue(ORB orb,
> -                                       String the_name,
> -                                       java.lang.Object the_value) {
> -      NameValue nvc = new NameValue();
> -      nvc.the_name = the_name;
> -      nvc.the_value = createAnyFromValue(orb, the_value);
> -      return nvc;
> -   }
> -
> -   static NameValue[] makeCORBANameValueArray(ORB orb, Map nva) {
> -      int size = 0;
> -      if (nva != null) size = nva.size();
> -      NameValue[] nvca = new NameValue[size];
> -      int i = 0;
> -      if (nva != null) {
> -         for (Iterator it = nva.entrySet().iterator(); it.hasNext(); i++) {
> -            Map.Entry me = (Map.Entry) it.next();
> -            nvca[i] = makeCORBANameValue(orb,
> -                                         me.getKey().toString(),
> -                                         me.getValue());
> -         }
> -      }
> -      return nvca;
> -   }
> -
> -   static NameValue[] makeCORBANameValueArray(ORB orb, String[][] nva) {
> -      int size = 0;
> -      if (nva != null) size = nva.length;
> -      NameValue[] nvca = new NameValue[size];
> -      if (nva != null) {
> -         for (int i = 0; i < size; i++) {
> -            nvca[i] = makeCORBANameValue(orb, nva[i][0], nva[i][1]);
> -         }
> -      }
> -      return nvca;
> -   }
> -
> -   static NameValue[] makeCORBANameValueArray(ORB orb, Properties props) {
> -      int size = 0;
> -      if (props != null) size = props.size();
> -      NameValue[] nvca = new NameValue[size];
> -      if (props != null) {
> -         Iterator it = props.entrySet().iterator();
> -         int i = 0;
> -         while (it.hasNext()) {
> -            Map.Entry me = (Map.Entry) it.next();
> -            nvca[i] = makeCORBANameValue(orb,
> -                                         (String) me.getKey(),
> -                                         (String) me.getValue());
> -            i++;
> -         }
> -      }
> -      return nvca;
> -   }
> -
> -   static Map makeMap(NameValue[] nvca) {
> -      Map m = new SequencedHashMap();
> -      if (nvca != null) {
> -         for (int i = 0; i < nvca.length; i++) {
> -            m.put(nvca[i].the_name, extractValueFromAny(nvca[i].the_value));
> -         }
> -      }
> -      return m;
> -   }
> -
> -   static DeadlineInfo[] makeDeadlineInfoArray (org.enhydra.shark.api.common.DeadlineInfo[] di) {
> -      DeadlineInfo[] cdi=new DeadlineInfo[di.length];
> -      for (int i=0; i<di.length; i++) {
> -         cdi[i]=new DeadlineInfo();
> -         cdi[i].procId=di[i].procId;
> -         cdi[i].actId=di[i].actId;
> -         cdi[i].isExecuted=di[i].isExecuted;
> -         cdi[i].timeLimit=di[i].timeLimit;
> -         cdi[i].exceptionName=di[i].exceptionName;
> -         cdi[i].isSynchronous=di[i].isSynchronous;
> -      }
> -      return cdi;
> -   }
> -
> -   static java.lang.Object extractValueFromAny(Any any) {
> -      java.lang.Object value = null;
> -      try {
> -         int kind = any.type().kind().value();
> -         if (kind == TCKind._tk_boolean) {
> -            value = new Boolean(any.extract_boolean());
> -         } else if (kind == TCKind._tk_wstring) {
> -            value = new String(any.extract_wstring());
> -         } else if (kind == TCKind._tk_long) {
> -            value = new Integer(any.extract_long());
> -         } else if (kind == TCKind._tk_longlong) {
> -            value = new Long(any.extract_longlong());
> -         } else if (kind == TCKind._tk_double) {
> -            value = new Double(any.extract_double());
> -         } else if (kind == TCKind._tk_value) {
> -            value = any.extract_Value();
> -         }
> -      } catch (BAD_OPERATION bo) {
> -         System.out.println("Extracting value failed - bo exception");
> -         //bo.printStackTrace();
> -         return null;
> -      }
> -      return value;
> -   }
> -
> -   static Any createAnyFromValue(ORB orb, java.lang.Object value) {
> -      Any any = orb.create_any();
> -
> -      try {
> -         if (value instanceof Boolean) {
> -            any.insert_boolean(((Boolean) value).booleanValue());
> -         } else if (value instanceof String) {
> -            any.insert_wstring((String) value);
> -         } else if (value instanceof Long) {
> -            any.insert_longlong(((Long) value).longValue());
> -         } else if (value instanceof Double) {
> -            any.insert_double(((Double) value).doubleValue());
> -         } else if (value instanceof Serializable) {
> -            any.insert_Value((Serializable) value);
> -         }
> -      } catch (BAD_OPERATION bo) {
> -         System.out.println("Creating any from val failed - bo exception");
> -         //bo.printStackTrace();
> -      }
> -      return any;
> -   }
> -
> -   static WfProcessMgr[] makeCORBAProcessMgrs(Collective toJoin,
> -                                              org.enhydra.shark.api.client.wfmodel.WfProcessMgr[] objs) {
> -      int size = 0;
> -      if (objs != null) size = objs.length;
> -      WfProcessMgrCORBA[] cobjs = new WfProcessMgrCORBA[size];
> -      for (int i = 0; i < cobjs.length; i++) {
> -         try {
> -            cobjs[i] = new WfProcessMgrCORBA(toJoin, objs[i]);
> -         } catch (Exception ex) {}
> -      }
> -      return cobjs;
> -   }
> -
> -   static WfProcess[] makeCORBAProcesses(Collective toJoin,
> -                                         org.enhydra.shark.api.client.wfmodel.WfProcess[] objs) {
> -      int size = 0;
> -      if (objs != null) size = objs.length;
> -      WfProcessCORBA[] cobjs = new WfProcessCORBA[size];
> -      for (int i = 0; i < cobjs.length; i++) {
> -         try {
> -            cobjs[i] = new WfProcessCORBA(toJoin, objs[i]);
> -         } catch (Exception ex) {}
> -      }
> -      return cobjs;
> -   }
> -
> -   static WfActivity[] makeCORBAActivities(Collective toJoin,
> -                                           org.enhydra.shark.api.client.wfmodel.WfActivity[] objs) {
> -      int size = 0;
> -      if (objs != null) size = objs.length;
> -      WfActivityCORBA[] cobjs = new WfActivityCORBA[size];
> -      for (int i = 0; i < cobjs.length; i++) {
> -         try {
> -            cobjs[i] = new WfActivityCORBA(toJoin, objs[i]);
> -         } catch (Exception ex) {}
> -      }
> -      return cobjs;
> -   }
> -
> -   static WfAssignment[] makeCORBAAssignments(Collective toJoin,
> -                                              org.enhydra.shark.api.client.wfmodel.WfAssignment[] objs) {
> -      int size = 0;
> -      if (objs != null) size = objs.length;
> -      WfAssignmentCORBA[] cobjs = new WfAssignmentCORBA[size];
> -      for (int i = 0; i < cobjs.length; i++) {
> -         try {
> -            cobjs[i] = new WfAssignmentCORBA(toJoin, objs[i]);
> -         } catch (Exception ex) {}
> -      }
> -      return cobjs;
> -   }
> -
> -   static WfResource[] makeCORBAResources(Collective toJoin,
> -                                          org.enhydra.shark.api.client.wfmodel.WfResource[] objs) {
> -      int size = 0;
> -      if (objs != null) size = objs.length;
> -      WfResourceCORBA[] cobjs = new WfResourceCORBA[size];
> -      for (int i = 0; i < cobjs.length; i++) {
> -         try {
> -            cobjs[i] = new WfResourceCORBA(toJoin, objs[i]);
> -         } catch (Exception ex) {}
> -      }
> -      return cobjs;
> -   }
> -
> -   static WfEventAudit makeCORBAEventAudit(Collective toJoin,
> -                                           org.enhydra.shark.api.client.wfmodel.WfEventAudit obj) {
> -      try {
> -         if (obj instanceof org.enhydra.shark.api.client.wfmodel.WfCreateProcessEventAudit) {
> -            return new WfCreateProcessEventAuditCORBA(toJoin,
> -                                                      (org.enhydra.shark.api.client.wfmodel.WfCreateProcessEventAudit) obj);
> -         } else if (obj instanceof org.enhydra.shark.api.client.wfmodel.WfAssignmentEventAudit) {
> -            return new WfAssignmentEventAuditCORBA(toJoin,
> -                                                   (org.enhydra.shark.api.client.wfmodel.WfAssignmentEventAudit) obj);
> -         } else if (obj instanceof org.enhydra.shark.api.client.wfmodel.WfDataEventAudit) {
> -            return new WfDataEventAuditCORBA(toJoin,
> -                                             (org.enhydra.shark.api.client.wfmodel.WfDataEventAudit) obj);
> -         } else if (obj instanceof org.enhydra.shark.api.client.wfmodel.WfStateEventAudit) {
> -            return new WfStateEventAuditCORBA(toJoin,
> -                                              (org.enhydra.shark.api.client.wfmodel.WfStateEventAudit) obj);
> -         } else {
> +    static POA rootPOA;
> +
> +    static void setPOA(POA poa) {
> +        rootPOA = poa;
> +    }
> +    static POA getPOA() {
> +        return rootPOA;
> +    }
> +    static NameValueInfo makeCORBANameValueInfo(String attribute_name,
> +                                                String type_name) {
> +        NameValueInfo nvic = new NameValueInfo();
> +        nvic.attribute_name = attribute_name;
> +        nvic.type_name = type_name;
> +        return nvic;
> +    }
> +
> +    static NameValueInfo[] makeCORBANameValueInfoArray(Map nvia) {
> +        int size = 0;
> +        if (nvia != null) size = nvia.size();
> +        NameValueInfo[] nvica = new NameValueInfo[size];
> +        int i = 0;
> +        if (nvia != null) {
> +            for (Iterator it = nvia.entrySet().iterator(); it.hasNext(); i++) {
> +                Map.Entry me = (Map.Entry) it.next();
> +                nvica[i] = makeCORBANameValueInfo(me.getKey().toString(),
> +                        me.getValue().toString());
> +            }
> +        }
> +        return nvica;
> +    }
> +
> +    static NameValue makeCORBANameValue(ORB orb,
> +                                        String the_name,
> +                                        java.lang.Object the_value) {
> +        NameValue nvc = new NameValue();
> +        nvc.the_name = the_name;
> +        nvc.the_value = createAnyFromValue(orb, the_value);
> +        return nvc;
> +    }
> +
> +    static NameValue[] makeCORBANameValueArray(ORB orb, Map nva) {
> +        int size = 0;
> +        if (nva != null) size = nva.size();
> +        NameValue[] nvca = new NameValue[size];
> +        int i = 0;
> +        if (nva != null) {
> +            for (Iterator it = nva.entrySet().iterator(); it.hasNext(); i++) {
> +                Map.Entry me = (Map.Entry) it.next();
> +                nvca[i] = makeCORBANameValue(orb,
> +                        me.getKey().toString(),
> +                        me.getValue());
> +            }
> +        }
> +        return nvca;
> +    }
> +
> +    static NameValue[] makeCORBANameValueArray(ORB orb, String[][] nva) {
> +        int size = 0;
> +        if (nva != null) size = nva.length;
> +        NameValue[] nvca = new NameValue[size];
> +        if (nva != null) {
> +            for (int i = 0; i < size; i++) {
> +                nvca[i] = makeCORBANameValue(orb, nva[i][0], nva[i][1]);
> +            }
> +        }
> +        return nvca;
> +    }
> +
> +    static NameValue[] makeCORBANameValueArray(ORB orb, Properties props) {
> +        int size = 0;
> +        if (props != null) size = props.size();
> +        NameValue[] nvca = new NameValue[size];
> +        if (props != null) {
> +            Iterator it = props.entrySet().iterator();
> +            int i = 0;
> +            while (it.hasNext()) {
> +                Map.Entry me = (Map.Entry) it.next();
> +                nvca[i] = makeCORBANameValue(orb,
> +                        (String) me.getKey(),
> +                        (String) me.getValue());
> +                i++;
> +            }
> +        }
> +        return nvca;
> +    }
> +
> +    static Map makeMap(NameValue[] nvca) {
> +        Map m = new SequencedHashMap();
> +        if (nvca != null) {
> +            for (int i = 0; i < nvca.length; i++) {
> +                m.put(nvca[i].the_name, extractValueFromAny(nvca[i].the_value));
> +            }
> +        }
> +        return m;
> +    }
> +
> +    static DeadlineInfo[] makeDeadlineInfoArray(org.enhydra.shark.api.common.DeadlineInfo[] di) {
> +        DeadlineInfo[] cdi = new DeadlineInfo[di.length];
> +        for (int i = 0; i < di.length; i++) {
> +            cdi[i] = new DeadlineInfo();
> +            cdi[i].procId = di[i].procId;
> +            cdi[i].actId = di[i].actId;
> +            cdi[i].isExecuted = di[i].isExecuted;
> +            cdi[i].timeLimit = di[i].timeLimit;
> +            cdi[i].exceptionName = di[i].exceptionName;
> +            cdi[i].isSynchronous = di[i].isSynchronous;
> +        }
> +        return cdi;
> +    }
> +
> +    static java.lang.Object extractValueFromAny(Any any) {
> +        java.lang.Object value = null;
> +        try {
> +            int kind = any.type().kind().value();
> +            if (kind == TCKind._tk_boolean) {
> +                value = new Boolean(any.extract_boolean());
> +            } else if (kind == TCKind._tk_wstring) {
> +                value = new String(any.extract_wstring());
> +            } else if (kind == TCKind._tk_long) {
> +                value = new Integer(any.extract_long());
> +            } else if (kind == TCKind._tk_longlong) {
> +                value = new Long(any.extract_longlong());
> +            } else if (kind == TCKind._tk_double) {
> +                value = new Double(any.extract_double());
> +            } else if (kind == TCKind._tk_value) {
> +                value = any.extract_Value();
> +            }
> +        } catch (BAD_OPERATION bo) {
> +            System.out.println("Extracting value failed - bo exception "+bo);
> +            //bo.printStackTrace();
> +            return null;
> +        }
> +        return value;
> +    }
> +
> +    static Any createAnyFromValue(ORB orb, java.lang.Object value) {
> +        Any any = orb.create_any();
> +
> +        try {
> +            if (value instanceof Boolean) {
> +                any.insert_boolean(((Boolean) value).booleanValue());
> +            } else if (value instanceof String) {
> +                any.insert_wstring((String) value);
> +            } else if (value instanceof Long) {
> +                any.insert_longlong(((Long) value).longValue());
> +            } else if (value instanceof Double) {
> +                any.insert_double(((Double) value).doubleValue());
> +            } else if (value instanceof Serializable) {
> +                any.insert_Value((Serializable) value);
> +            }
> +        } catch (BAD_OPERATION bo) {
> +            System.out.println("Creating any from val failed - bo exception");
> +            //bo.printStackTrace();
> +        }
> +        return any;
> +    }
> +
> +    static WfProcessMgr[] makeCORBAProcessMgrs(org.omg.CORBA.ORB orb, Collective toJoin,
> +                                               org.enhydra.shark.api.client.wfmodel.WfProcessMgr[] objs) {
> +        int size = 0;
> +        if (objs != null) size = objs.length;
> +        WfProcessMgr[] cobjs = new WfProcessMgr[size];
> +        for (int i = 0; i < cobjs.length; i++) {
> +            try {
> +                cobjs[i] = makeWfProcessMgr(orb, new WfProcessMgrCORBA(orb, toJoin, objs[i]));
> +            } catch (Exception ex) {
> +                ex.printStackTrace();
> +            }
> +        }
> +        return cobjs;
> +    }
> +
> +    static WfProcess[] makeCORBAProcesses(ORB orb, Collective toJoin,
> +                                          org.enhydra.shark.api.client.wfmodel.WfProcess[] objs) {
> +        int size = 0;
> +        if (objs != null) size = objs.length;
> +        WfProcess[] cobjs = new WfProcess[size];
> +        for (int i = 0; i < cobjs.length; i++) {
> +            cobjs[i] = makeWfProcess(orb, new WfProcessCORBA(orb, toJoin, objs[i]));
> +        }
> +        return cobjs;
> +    }
> +
> +    static WfActivity[] makeCORBAActivities(ORB orb, Collective toJoin,
> +                                            org.enhydra.shark.api.client.wfmodel.WfActivity[] objs) {
> +        int size = 0;
> +        if (objs != null) size = objs.length;
> +        WfActivity[] cobjs = new WfActivity[size];
> +        for (int i = 0; i < cobjs.length; i++) {
> +            cobjs[i] = makeWfActivity(orb, new WfActivityCORBA(orb, toJoin, objs[i]));
> +        }
> +        return cobjs;
> +    }
> +
> +    static WfAssignment[] makeCORBAAssignments(ORB orb, Collective toJoin,
> +                                               org.enhydra.shark.api.client.wfmodel.WfAssignment[] objs) {
> +        int size = 0;
> +        if (objs != null) size = objs.length;
> +        WfAssignment[] cobjs = new WfAssignment[size];
> +        for (int i = 0; i < cobjs.length; i++) {
> +            try {
> +                cobjs[i] = makeWfAssignment(orb, new WfAssignmentCORBA(orb, toJoin, objs[i]));
> +            } catch (Exception ex) {
> +                ex.printStackTrace();
> +            }
> +        }
> +        return cobjs;
> +    }
> +
> +    static WfResource[] makeCORBAResources(ORB orb, Collective toJoin,
> +                                           org.enhydra.shark.api.client.wfmodel.WfResource[] objs) {
> +        int size = 0;
> +        if (objs != null) size = objs.length;
> +        WfResource[] cobjs = new WfResource[size];
> +        for (int i = 0; i < cobjs.length; i++) {
> +            try {
> +                cobjs[i] = makeWfResource(orb, new WfResourceCORBA(orb, toJoin, objs[i]));
> +            } catch (Exception ex) {
> +               ex.printStackTrace();
> +            }
> +        }
> +        return cobjs;
> +    }
> +
> +    static WfEventAudit makeCORBAEventAudit(org.omg.CORBA.ORB orb, Collective toJoin,
> +                                            org.enhydra.shark.api.client.wfmodel.WfEventAudit obj) {
> +        try {
> +            if (obj instanceof org.enhydra.shark.api.client.wfmodel.WfCreateProcessEventAudit) {
> +                WfCreateProcessEventAuditCORBA impl = new WfCreateProcessEventAuditCORBA(orb, toJoin,
> +                        (org.enhydra.shark.api.client.wfmodel.WfCreateProcessEventAudit) obj);
> +                WfCreateProcessEventAudit ret = null;
> +                try {
> +                 //   POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +                //    rootPOA.the_POAManager().activate();
> +
> +                    byte[] o = rootPOA.activate_object(impl);
> +                    ret = WfCreateProcessEventAuditHelper.narrow(rootPOA.id_to_reference(o));
> +
> +                } catch (ServantAlreadyActive servantAlreadyActive) {
> +                    servantAlreadyActive.printStackTrace();
> +                } catch (WrongPolicy wrongPolicy) {
> +                    wrongPolicy.printStackTrace();
> +           //     } catch (ServantNotActive servantNotActive) {
> +           //         servantNotActive.printStackTrace();
> +
> +                } catch (Exception ex) {
> +                    System.err.println("WfCreateProcessEventAudit: "+ex);
> +                }
> +                return ret;
> +            } else if (obj instanceof org.enhydra.shark.api.client.wfmodel.WfAssignmentEventAudit) {
> +                WfAssignmentEventAuditCORBA impl = new WfAssignmentEventAuditCORBA(orb, toJoin,
> +                        (org.enhydra.shark.api.client.wfmodel.WfAssignmentEventAudit) obj);
> +                WfAssignmentEventAudit ret = null;
> +                try {
> +                  //  POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +                    byte[] o =  rootPOA.activate_object(impl);
> +                    ret = WfAssignmentEventAuditHelper.narrow(rootPOA.id_to_reference(o));
> +
> +                } catch (ServantAlreadyActive servantAlreadyActive) {
> +                    servantAlreadyActive.printStackTrace();
> +                } catch (WrongPolicy wrongPolicy) {
> +                    wrongPolicy.printStackTrace();
> +         //       } catch (ServantNotActive servantNotActive) {
> +         //           servantNotActive.printStackTrace();
> +
> +                } catch (Exception ex) {
> +                    System.err.println("WfAssignmentEventAudit creation: "+ex);
> +                }
> +                return ret;
> +            } else if (obj instanceof org.enhydra.shark.api.client.wfmodel.WfDataEventAudit) {
> +                WfDataEventAuditCORBA impl = new WfDataEventAuditCORBA(orb, toJoin,
> +                        (org.enhydra.shark.api.client.wfmodel.WfDataEventAudit) obj);
> +                WfDataEventAudit ret = null;
> +                try {
> +                    POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +                 //   rootPOA.the_POAManager().activate();
> +
> +                    byte[] o = rootPOA.activate_object(impl);
> +                    ret = WfDataEventAuditHelper.narrow(rootPOA.id_to_reference(o));
> +
> +                } catch (ServantAlreadyActive servantAlreadyActive) {
> +                    servantAlreadyActive.printStackTrace();
> +                } catch (WrongPolicy wrongPolicy) {
> +                    wrongPolicy.printStackTrace();
> +          //      } catch (ServantNotActive servantNotActive) {
> +          //          servantNotActive.printStackTrace();
> +
> +                } catch (Exception ex) {
> +                    System.err.println("WfDataEventAudit creation: "+ex);
> +                }
> +                return ret;
> +            } else if (obj instanceof org.enhydra.shark.api.client.wfmodel.WfStateEventAudit) {
> +                WfStateEventAuditCORBA impl = new WfStateEventAuditCORBA(orb, toJoin,
> +                        (org.enhydra.shark.api.client.wfmodel.WfStateEventAudit) obj);
> +                WfStateEventAudit ret = null;
> +                try {
> +                  //  POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +                 //   rootPOA.the_POAManager().activate();
> +
> +                    byte[] o = rootPOA.activate_object(impl);
> +                    ret = WfStateEventAuditHelper.narrow(rootPOA.id_to_reference(o));
> +
> +                } catch (ServantAlreadyActive servantAlreadyActive) {
> +                    servantAlreadyActive.printStackTrace();
> +                } catch (WrongPolicy wrongPolicy) {
> +                    wrongPolicy.printStackTrace();
> +  //              } catch (ServantNotActive servantNotActive) {
> +  //                  servantNotActive.printStackTrace();
> +
> +                } catch (Exception ex) {
> +                    System.err.println("WfStateEventAudit creation: "+ex);
> +                }
> +                return ret;
> +            } else {
> +                return null;
> +            }
> +        } catch (Exception ex) {
>              return null;
> -         }
> -      } catch (Exception ex) {
> -         return null;
> -      }
> -   }
> -
> -   static WfEventAudit[] makeCORBAEventAudits(Collective toJoin,
> -                                              org.enhydra.shark.api.client.wfmodel.WfEventAudit[] objs) {
> -      int size = 0;
> -      if (objs != null) size = objs.length;
> -      WfEventAudit[] cobjs = new WfEventAudit[size];
> -      for (int i = 0; i < cobjs.length; i++) {
> -         cobjs[i] = makeCORBAEventAudit(toJoin, objs[i]);
> -      }
> -      return cobjs;
> -   }
> -
> -   static WfStateEventAudit[] makeCORBAStateEventAudits(Collective toJoin,
> -                                                        org.enhydra.shark.api.client.wfmodel.WfEventAudit[] objs) throws
Exception {
> -      int size = 0;
> -      if (objs != null) size = objs.length;
> -      WfStateEventAudit[] cobjs = new WfStateEventAuditCORBA[size];
> -      for (int i = 0; i < cobjs.length; i++) {
> -         cobjs[i] = (WfStateEventAudit) makeCORBAEventAudit(toJoin, objs[i]);
> -      }
> -      return cobjs;
> -   }
> -
> -   static WfDataEventAudit[] makeCORBADataEventAudits(Collective toJoin,
> -                                                      org.enhydra.shark.api.client.wfmodel.WfEventAudit[] objs) throws Exception
{
> -      int size = 0;
> -      if (objs != null) size = objs.length;
> -      WfDataEventAudit[] cobjs = new WfDataEventAuditCORBA[size];
> -      for (int i = 0; i < cobjs.length; i++) {
> -         cobjs[i] = (WfDataEventAudit) makeCORBAEventAudit(toJoin, objs[i]);
> -      }
> -      return cobjs;
> -   }
> -
> -   static WfAssignmentEventAudit[] makeCORBAAssignmentEventAudits(Collective toJoin,
> -                                                                  org.enhydra.shark.api.client.wfmodel.WfEventAudit[] objs)
throws Exception {
> -      int size = 0;
> -      if (objs != null) size = objs.length;
> -      WfAssignmentEventAudit[] cobjs = new WfAssignmentEventAuditCORBA[size];
> -      for (int i = 0; i < cobjs.length; i++) {
> -         cobjs[i] = (WfAssignmentEventAudit) makeCORBAEventAudit(toJoin,
> -                                                                 objs[i]);
> -      }
> -      return cobjs;
> -   }
> -
> -   static ParticipantMap[] makeCORBAParticipantMaps(Collective toJoin,
> -                                                    org.enhydra.shark.api.client.wfservice.ParticipantMap[] objs) {
> -      int size = 0;
> -      if (objs != null) size = objs.length;
> -      ParticipantMap[] cobjs = new ParticipantMap[size];
> -      for (int i = 0; i < cobjs.length; i++) {
> -         cobjs[i] = new ParticipantMapCORBA(toJoin, objs[i]);
> -      }
> -      return cobjs;
> -   }
> -
> -   static ApplicationMap[] makeCORBAApplicationMaps(Collective toJoin,
> -                                                    org.enhydra.shark.api.client.wfservice.ApplicationMap[] objs) {
> -      int size = 0;
> -      if (objs != null) size = objs.length;
> -      ApplicationMap[] cobjs = new ApplicationMap[size];
> -      for (int i = 0; i < cobjs.length; i++) {
> -         cobjs[i] = new ApplicationMapCORBA(toJoin, objs[i]);
> -      }
> -      return cobjs;
> -   }
> -
> -   static org.enhydra.shark.api.client.wfservice.ApplicationMap
fillApplicationMap(org.enhydra.shark.api.client.wfservice.ApplicationMap nm,
> -                                                                                   ApplicationMap am) {
> -      nm.setToolAgentClassName(am.getToolAgentClassName());
> -      nm.setUsername(am.getUsername());
> -      nm.setPassword(am.getPassword());
> -      nm.setApplicationName(am.getApplicationName());
> -      if (am.getApplicationMode() != -Integer.MAX_VALUE) {
> -         nm.setApplicationMode(new Integer(am.getApplicationMode()));
> -      }
> -      nm.setPackageId(am.getPackageId());
> -      nm.setProcessDefinitionId(am.getProcessDefinitionId());
> -      nm.setApplicationDefinitionId(am.getApplicationDefinitionId());
> -      return nm;
> -   }
> -
> -   static org.enhydra.shark.api.client.wfservice.ParticipantMap
fillParticipantMap(org.enhydra.shark.api.client.wfservice.ParticipantMap nm,
> -                                                                                   ParticipantMap pm) {
> -      nm.setParticipantId(pm.getParticipantId());
> -      nm.setPackageId(pm.getPackageId());
> -      nm.setProcessDefinitionId(pm.getProcessDefinitionId());
> -      nm.setUsername(pm.getUsername());
> -      nm.setIsGroupUser(pm.getIsGroupUser());
> -      return nm;
> -   }
> +        }
> +    }
>
> +    static WfEventAudit[] makeCORBAEventAudits(org.omg.CORBA.ORB orb, Collective toJoin,
> +                                               org.enhydra.shark.api.client.wfmodel.WfEventAudit[] objs) {
> +        int size = 0;
> +        if (objs != null) size = objs.length;
> +        WfEventAudit[] cobjs = new WfEventAudit[size];
> +        for (int i = 0; i < cobjs.length; i++) {
> +            cobjs[i] = makeCORBAEventAudit(orb, toJoin, objs[i]);
> +        }
> +        return cobjs;
> +    }
> +
> +    static WfStateEventAudit[] makeCORBAStateEventAudits(ORB orb, Collective toJoin,
> +                                                         org.enhydra.shark.api.client.wfmodel.WfEventAudit[] objs) throws
Exception {
> +        int size = 0;
> +        if (objs != null) size = objs.length;
> +        WfStateEventAudit[] cobjs = new WfStateEventAudit[size];
> +        for (int i = 0; i < cobjs.length; i++) {
> +            cobjs[i] = (WfStateEventAudit) makeCORBAEventAudit(orb, toJoin, objs[i]);
> +        }
> +        return cobjs;
> +    }
> +
> +    static WfDataEventAudit[] makeCORBADataEventAudits(ORB orb, Collective toJoin,
> +                                                       org.enhydra.shark.api.client.wfmodel.WfEventAudit[] objs) throws Exception
{
> +        int size = 0;
> +        if (objs != null) size = objs.length;
> +        WfDataEventAudit[] cobjs = new WfDataEventAudit[size];
> +        for (int i = 0; i < cobjs.length; i++) {
> +            cobjs[i] = (WfDataEventAudit) makeCORBAEventAudit(orb, toJoin, objs[i]);
> +        }
> +        return cobjs;
> +    }
> +
> +    static WfAssignmentEventAudit[] makeCORBAAssignmentEventAudits(ORB orb, Collective toJoin,
> +                                                                   org.enhydra.shark.api.client.wfmodel.WfEventAudit[] objs)
throws Exception {
> +        int size = 0;
> +        if (objs != null) size = objs.length;
> +        WfAssignmentEventAudit[] cobjs = new WfAssignmentEventAudit[size];
> +        for (int i = 0; i < cobjs.length; i++) {
> +            cobjs[i] = (WfAssignmentEventAudit) makeCORBAEventAudit(orb, toJoin,
> +                    objs[i]);
> +        }
> +        return cobjs;
> +    }
> +
> +    static ParticipantMap[] makeCORBAParticipantMaps(ORB orb, Collective toJoin,
> +                                                     org.enhydra.shark.api.client.wfservice.ParticipantMap[] objs) {
> +        int size = 0;
> +        if (objs != null) size = objs.length;
> +        ParticipantMap[] cobjs = new ParticipantMap[size];
> +        for (int i = 0; i < cobjs.length; i++) {
> +            cobjs[i] = makeParticipantMap(orb, new ParticipantMapCORBA(orb, toJoin, objs[i]));
> +        }
> +        return cobjs;
> +    }
> +
> +    static ApplicationMap[] makeCORBAApplicationMaps(ORB orb, Collective toJoin,
> +                                                     org.enhydra.shark.api.client.wfservice.ApplicationMap[] objs) {
> +        int size = 0;
> +        if (objs != null) size = objs.length;
> +        ApplicationMap[] cobjs = new ApplicationMap[size];
> +        for (int i = 0; i < cobjs.length; i++) {
> +            cobjs[i] = makeApplicationMap(orb, new ApplicationMapCORBA(orb, toJoin, objs[i]));
> +        }
> +        return cobjs;
> +    }
> +
> +    static org.enhydra.shark.api.client.wfservice.ApplicationMap
fillApplicationMap(org.enhydra.shark.api.client.wfservice.ApplicationMap nm,
> +                                                                                    ApplicationMap am) {
> +        nm.setToolAgentClassName(am.getToolAgentClassName());
> +        nm.setUsername(am.getUsername());
> +        nm.setPassword(am.getPassword());
> +        nm.setApplicationName(am.getApplicationName());
> +        if (am.getApplicationMode() != -Integer.MAX_VALUE) {
> +            nm.setApplicationMode(new Integer(am.getApplicationMode()));
> +        }
> +        nm.setPackageId(am.getPackageId());
> +        nm.setProcessDefinitionId(am.getProcessDefinitionId());
> +        nm.setApplicationDefinitionId(am.getApplicationDefinitionId());
> +        return nm;
> +    }
> +
> +    static org.enhydra.shark.api.client.wfservice.ParticipantMap
fillParticipantMap(org.enhydra.shark.api.client.wfservice.ParticipantMap nm,
> +                                                                                    ParticipantMap pm) {
> +        nm.setParticipantId(pm.getParticipantId());
> +        nm.setPackageId(pm.getPackageId());
> +        nm.setProcessDefinitionId(pm.getProcessDefinitionId());
> +        nm.setUsername(pm.getUsername());
> +        nm.setIsGroupUser(pm.getIsGroupUser());
> +        return nm;
> +    }
> +
> +    static WfActivity makeWfActivity(ORB orb, WfActivityCORBA impl) {
> +        WfActivity ret = null;
> +        try {
> +         //   POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +         //               rootPOA.the_POAManager().activate();
> +            byte[] o = rootPOA.activate_object(impl);
> +            ret = WfActivityHelper.narrow(rootPOA.id_to_reference(o));
> +
> +        } catch (ServantAlreadyActive servantAlreadyActive) {
> +            servantAlreadyActive.printStackTrace();
> +        } catch (WrongPolicy wrongPolicy) {
> +            wrongPolicy.printStackTrace();
> +      //  } catch (ServantNotActive servantNotActive) {
> +       //     servantNotActive.printStackTrace();
> +
> +
> +        } catch (Exception ex) {
> +                 ex.printStackTrace();
> +        }
> +        return ret;
> +    }
> +
> +    static WfActivityIterator makeWfActivityIterator(ORB orb, WfActivityIteratorCORBA impl) {
> +        WfActivityIterator ret = null;
> +        try {
> +        //    POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +        //    rootPOA.the_POAManager().activate();
> +
> +            byte[] o = rootPOA.activate_object(impl);
> +            ret = WfActivityIteratorHelper.narrow(rootPOA.id_to_reference(o));
> +
> +        } catch (ServantAlreadyActive servantAlreadyActive) {
> +            servantAlreadyActive.printStackTrace();
> +        } catch (WrongPolicy wrongPolicy) {
> +            wrongPolicy.printStackTrace();
> +        //} catch (ServantNotActive servantNotActive) {
> +       //     servantNotActive.printStackTrace();
> +
> +
> +        } catch (Exception ex) {
> +                   ex.printStackTrace();
> +        }
> +        return ret;
> +    }
> +
> +    static WfAssignmentIterator makeWfAssignmentIterator(ORB orb, WfAssignmentIteratorCORBA impl) {
> +        WfAssignmentIterator ret = null;
> +        try {
> +        //    POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +        //    rootPOA.the_POAManager().activate();
> +           byte[] o =  rootPOA.activate_object(impl);
> +            ret = WfAssignmentIteratorHelper.narrow(rootPOA.id_to_reference(o));
> +
> +        } catch (ServantAlreadyActive servantAlreadyActive) {
> +            servantAlreadyActive.printStackTrace();
> +        } catch (WrongPolicy wrongPolicy) {
> +            wrongPolicy.printStackTrace();
> +      //  } catch (ServantNotActive servantNotActive) {
> +     //       servantNotActive.printStackTrace();
> +        } catch (Exception ex) {
> +               ex.printStackTrace();
> +        }
> +        return ret;
> +    }
> +
> +    static ApplicationMap makeApplicationMap(ORB orb, ApplicationMapCORBA impl) {
> +        ApplicationMap ret = null;
> +        try {
> +       //     POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +       //     rootPOA.the_POAManager().activate();
> +
> +            byte[] o = rootPOA.activate_object(impl);
> +            ret = ApplicationMapHelper.narrow(rootPOA.id_to_reference(o));
> +
> +        } catch (ServantAlreadyActive servantAlreadyActive) {
> +            servantAlreadyActive.printStackTrace();
> +        } catch (WrongPolicy wrongPolicy) {
> +            wrongPolicy.printStackTrace();
> +   //     } catch (ServantNotActive servantNotActive) {
> +   //         servantNotActive.printStackTrace();
> +        } catch (Exception ex) {
> +                ex.printStackTrace();
> +        }
> +        return ret;
> +    }
> +
> +    static WfEventAuditIterator makeWfEventAuditIterator(ORB orb, WfEventAuditIteratorCORBA impl) {
> +
> +        WfEventAuditIterator ret = null;
> +        try {
> +         //   POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +         //   rootPOA.the_POAManager().activate();
> +
> +           byte[] o = rootPOA.activate_object(impl);
> +            ret = WfEventAuditIteratorHelper.narrow(rootPOA.id_to_reference(o));
> +
> +        } catch (ServantAlreadyActive servantAlreadyActive) {
> +            servantAlreadyActive.printStackTrace();
> +        } catch (WrongPolicy wrongPolicy) {
> +            wrongPolicy.printStackTrace();
> +   //     } catch (ServantNotActive servantNotActive) {
> +   //         servantNotActive.printStackTrace();
> +        } catch (Exception ex) {
> +                 ex.printStackTrace();
> +        }
> +        return ret;
> +    }
> +
> +    static WfProcess makeWfProcess(ORB orb, WfProcessCORBA impl) {
> +        WfProcess ret = null;
> +        try {
> +         //   POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +         //   rootPOA.the_POAManager().activate();
> +            byte[] b = rootPOA.activate_object(impl);
> +            ret = WfProcessHelper.narrow(rootPOA.id_to_reference(b));
> +
> +        } catch (ServantAlreadyActive servantAlreadyActive) {
> +            servantAlreadyActive.printStackTrace();
> +        } catch (WrongPolicy wrongPolicy) {
> +            wrongPolicy.printStackTrace();
> +     //   } catch (ServantNotActive servantNotActive) {
> +    //        servantNotActive.printStackTrace();
> +
> +
> +        } catch (Exception ex) {
> +              ex.printStackTrace();
> +        }
> +        return ret;
> +    }
> +
> +    static WfProcessIterator makeWfProcessIterator(ORB orb, WfProcessIteratorCORBA impl) {
> +        WfProcessIterator ret = null;
> +        try {
> +            POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +           rootPOA.the_POAManager().activate();
> +
> +            byte[] o = rootPOA.activate_object(impl);
> +          //  ret = WfProcessIteratorHelper.narrow(rootPOA.servant_to_reference(impl));
> +            ret = WfProcessIteratorHelper.narrow(rootPOA.id_to_reference(o));
> +
> +        } catch (ServantAlreadyActive servantAlreadyActive) {
> +            servantAlreadyActive.printStackTrace();
> +        } catch (WrongPolicy wrongPolicy) {
> +            wrongPolicy.printStackTrace();
> +      //  } catch (ServantNotActive servantNotActive) {
> +      //      servantNotActive.printStackTrace();
> +
> +
> +        } catch (Exception ex) {
> +              ex.printStackTrace();
> +        }
> +        return ret;
> +    }
> +
> +    static WfProcessMgr makeWfProcessMgr(ORB orb, WfProcessMgrCORBA impl) {
> +        WfProcessMgr ret = null;
> +        try {
> +         //   POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +         //   rootPOA.the_POAManager().activate();
> +            byte[] b = rootPOA.activate_object(impl);
> +          //  ret = WfProcessMgrHelper.narrow(rootPOA.servant_to_reference(impl));
> +         //   System.out.println("makeWfProcessMgr: "+new String(b));
> +            ret = WfProcessMgrHelper.narrow(rootPOA.id_to_reference(b));
> +
> +        } catch (ServantAlreadyActive servantAlreadyActive) {
> +            servantAlreadyActive.printStackTrace();
> +        } catch (WrongPolicy wrongPolicy) {
> +            wrongPolicy.printStackTrace();
> +     //   } catch (ServantNotActive servantNotActive) {
> +     //       servantNotActive.printStackTrace();
> +
> +
> +        } catch (Exception ex) {
> +                ex.printStackTrace();
> +        }
> +        return ret;
> +    }
> +
> +    static WfProcessMgrIterator makeWfProcessMgrIterator(ORB orb, WfProcessMgrIteratorCORBA impl) {
> +        WfProcessMgrIterator ret = null;
> +        try {
> +        //    POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +        //    rootPOA.the_POAManager().activate();
> +            byte[] b = rootPOA.activate_object(impl);
> +           // ret = WfProcessMgrIteratorHelper.narrow(rootPOA.servant_to_reference(impl));
> +           // if (ret == null) System.out.println("makeWfProcessMgrIterator: is "+ret);
> +           // ret = impl._this();
> +           // if (ret == null) System.out.println("makeWfProcessMgrIterator: is still "+ret);
> +        //    System.out.println("makeWfProcessMgrIterator: "+new String(b));
> +            ret = WfProcessMgrIteratorHelper.narrow(rootPOA.id_to_reference(b));
> +        } catch (ServantAlreadyActive servantAlreadyActive) {
> +            servantAlreadyActive.printStackTrace();
> +        } catch (WrongPolicy wrongPolicy) {
> +            wrongPolicy.printStackTrace();
> +       // } catch (ServantNotActive servantNotActive) {
> +       //     servantNotActive.printStackTrace();
> +
> +
> +        } catch (Exception ex) {
> +            ex.printStackTrace();
> +        }
> +        return ret;
> +    }
> +
> +    static ParticipantMap makeParticipantMap(ORB orb, ParticipantMapCORBA impl) {
> +        ParticipantMap ret = null;
> +        try {
> +        //    POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +        //    rootPOA.the_POAManager().activate();
> +
> +            rootPOA.activate_object(impl);
> +            ret = impl._this();
> +
> +        } catch (ServantAlreadyActive servantAlreadyActive) {
> +            servantAlreadyActive.printStackTrace();
> +        } catch (WrongPolicy wrongPolicy) {
> +            wrongPolicy.printStackTrace();
> +    //    } catch (ServantNotActive servantNotActive) {
> +    //        servantNotActive.printStackTrace();
> +
> +
> +        } catch (Exception ex) {
> +               ex.printStackTrace();
> +        }
> +        return ret;
> +    }
> +
> +    static WfRequester makeWfRequester(ORB orb, WfRequesterCORBA impl) {
> +        WfRequester ret = null;
> +        try {
> +       //     POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +       //     rootPOA.the_POAManager().activate();
> +
> +           byte[] o =  rootPOA.activate_object(impl);
> +            ret = org.omg.WorkflowModel.WfRequesterHelper.narrow(rootPOA.id_to_reference(o));
> +
> +        } catch (ServantAlreadyActive servantAlreadyActive) {
> +            servantAlreadyActive.printStackTrace();
> +        } catch (WrongPolicy wrongPolicy) {
> +            wrongPolicy.printStackTrace();
> +   //     } catch (ServantNotActive servantNotActive) {
> +  //          servantNotActive.printStackTrace();
> +
> +
> +        } catch (Exception ex) {
> +               ex.printStackTrace();
> +        }
> +        return ret;
> +    }
> +
> +    static org.omg.WorkflowModel.WfResource makeWfResource(ORB orb, WfResourceCORBA impl) {
> +        org.omg.WorkflowModel.WfResource ret = null;
> +        try {
> +         //   POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +         //   rootPOA.the_POAManager().activate();
> +            byte[] o = rootPOA.activate_object(impl);
> +        //    ret = org.omg.WorkflowModel.WfResourceHelper.narrow(rootPOA.servant_to_reference(impl));
> +            ret = org.omg.WorkflowModel.WfResourceHelper.narrow(rootPOA.id_to_reference(o));
> +           // System.out.println("makeWfResource: "+ret.toString());
> +        } catch (ServantAlreadyActive servantAlreadyActive) {
> +            servantAlreadyActive.printStackTrace();
> +        } catch (WrongPolicy wrongPolicy) {
> +            wrongPolicy.printStackTrace();
> +       // } catch (ServantNotActive servantNotActive) {
> +       //     servantNotActive.printStackTrace();
> +
> +
> +        } catch (Exception ex) {
> +             ex.printStackTrace();
> +        }
> +        return ret;
> +    }
> +
> +    static WfResourceIterator makeWfResourceIterator(ORB orb, WfResourceIteratorCORBA impl) {
> +        WfResourceIterator ret = null;
> +        try {
> +         //   POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +        //   rootPOA.the_POAManager().activate();
> +
> +            byte[] o = rootPOA.activate_object(impl);
> +            ret = WfResourceIteratorHelper.narrow(rootPOA.id_to_reference(o));
> +
> +        } catch (ServantAlreadyActive servantAlreadyActive) {
> +            servantAlreadyActive.printStackTrace();
> +        } catch (WrongPolicy wrongPolicy) {
> +            wrongPolicy.printStackTrace();
> +       // } catch (ServantNotActive servantNotActive) {
> +       //     servantNotActive.printStackTrace();
> +
> +
> +        } catch (Exception ex) {
> +               ex.printStackTrace();
> +        }
> +        return ret;
> +    }
> +
> +    static WfAssignment makeWfAssignment(ORB orb, WfAssignmentCORBA impl) {
> +        WfAssignment ret = null;
> +        try {
> +      //      POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +      //     rootPOA.the_POAManager().activate();
> +
> +            byte[] o = rootPOA.activate_object(impl);
> +            ret = WfAssignmentHelper.narrow(rootPOA.id_to_reference(o));
> +
> +        } catch (ServantAlreadyActive servantAlreadyActive) {
> +            servantAlreadyActive.printStackTrace();
> +        } catch (WrongPolicy wrongPolicy) {
> +            wrongPolicy.printStackTrace();
> +       // } catch (ServantNotActive servantNotActive) {
> +       //     servantNotActive.printStackTrace();
> +
> +
> +        } catch (Exception ex) {
> +             ex.printStackTrace();
> +        }
> +        return ret;
> +    }
>  }
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/SharkConnectionCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/SharkConnectionCORBA.java,v
> retrieving revision 1.6
> diff -u -r1.6 SharkConnectionCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/SharkConnectionCORBA.java 15 Jun 2005 15:47:21 -0000 1.6
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/SharkConnectionCORBA.java 19 Jun 2005 03:13:58 -0000
> @@ -4,6 +4,9 @@
>  import org.omg.CORBA.ORB;
>  import org.omg.WfBase.BaseException;
>  import org.omg.WorkflowModel.*;
> +import org.omg.PortableServer.POAPackage.ServantNotActive;
> +import org.omg.PortableServer.POAPackage.WrongPolicy;
> +import org.omg.PortableServer.POAPackage.ServantAlreadyActive;
>
>  /**
>   * The client interface through which client accesses the engine
> @@ -12,7 +15,7 @@
>   * @author Sasa Bojanic
>   * @version 0.2
>   */
> -public class SharkConnectionCORBA extends _SharkConnectionImplBase implements
> +public class SharkConnectionCORBA extends SharkConnectionPOA implements
>                                                                    Collective {
>
>     org.enhydra.shark.api.client.wfservice.SharkConnection mySharkConn;
> @@ -21,6 +24,19 @@
>     SharkConnectionCORBA(SharkCORBAServer server, org.enhydra.shark.api.client.wfservice.SharkConnection sc) {
>        this.myServer = server;
>        this.mySharkConn = sc;
> +
> +      /*
> +       try {
> +           myServer._default_POA().activate_object(this) ;
> +
> +       } catch (WrongPolicy wrongPolicy) {
> +           wrongPolicy.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
> +       } catch (ServantAlreadyActive servantAlreadyActive) {
> +           servantAlreadyActive.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
> +       }
> +
> +       _this(myServer._orb());
> +       */
>        if (myServer.trackObjects) {
>           __collective = new Collective.CollectiveCORBA();
>        }
> @@ -53,8 +69,8 @@
>
>     public WfResource getResourceObject() throws BaseException, NotConnected {
>        try {
> -         return new WfResourceCORBA(this,
> -                                    mySharkConn.getResourceObject());
> +         return SharkCORBAUtilities.makeWfResource( myServer._orb(), new WfResourceCORBA(myServer._orb(), this,
> +                                    mySharkConn.getResourceObject()));
>        } catch (org.enhydra.shark.api.client.wfservice.NotConnected nc) {
>           throw new NotConnected(nc.getMessage());
>        } catch (Exception ex) {
> @@ -66,10 +82,10 @@
>                                                                NotConnected,
>                                                                NotEnabled {
>        try {
> -         WfProcessCORBA ret = new WfProcessCORBA(this,
> +         return SharkCORBAUtilities.makeWfProcess(myServer._orb(), new WfProcessCORBA(myServer._orb(), this,
>                                                   mySharkConn.createProcess(pkgId,
> -                                                                           pDefId));
> -         return ret;
> +                                                                           pDefId)));
> +
>        } catch (org.enhydra.shark.api.client.wfservice.NotConnected nc) {
>           throw new NotConnected(nc.getMessage());
>        } catch (org.enhydra.shark.api.client.wfmodel.NotEnabled ne) {
> @@ -80,7 +96,7 @@
>     }
>
>     public WfProcess createProcessWithRequester (WfRequester requester,
> -         String pkgId,
> +         String pkgId,
>           String pDefId) throws BaseException,
>                                 NotConnected,
>                                 NotEnabled,
> @@ -88,11 +104,12 @@
>                                 RequesterRequired {
>        try {
>           WfLinkingRequesterForCORBA lr = new WfLinkingRequesterForCORBA();
> +          lr.setOrb(myServer._orb());
>           org.enhydra.shark.api.client.wfmodel.WfProcess procInternal=
>              mySharkConn.createProcess(lr,pkgId,pDefId);
>           WfLinkingRequesterForCORBA.setCORBARequester(procInternal.key(), requester);
> -         WfProcessCORBA ret = new WfProcessCORBA(this,procInternal);
> -         return ret;
> +         return SharkCORBAUtilities.makeWfProcess(myServer.getBoundORB(),  new
WfProcessCORBA(myServer.getBoundORB(),this,procInternal));
> +
>        } catch (org.enhydra.shark.api.client.wfservice.NotConnected nc) {
>           throw new NotConnected(nc.getMessage());
>        } catch (org.enhydra.shark.api.client.wfmodel.NotEnabled ne) {
> @@ -104,8 +121,8 @@
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> -
> -   }
> +
> +   }
>     Collective __collective;
>
>     public void __recruit(org.omg.CORBA.Object obj) {
> @@ -122,9 +139,15 @@
>        if (myServer.trackObjects) {
>           __collective.__disband(_orb);
>        }
> -      this._orb().disconnect(this);
> +       try {
> +           this.disconnect();
> +       } catch (BaseException e) {
> +           e.printStackTrace();
> +       } catch (NotConnected notConnected) {
> +           notConnected.printStackTrace();
> +       }
>     }
> -
> +
>     public void doneWith(org.omg.CORBA.Object toDisconnect) {
>        myServer.doneWith(toDisconnect);
>        __leave(toDisconnect);
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/UserGroupAdminCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/UserGroupAdminCORBA.java,v
> retrieving revision 1.8
> diff -u -r1.8 UserGroupAdminCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/UserGroupAdminCORBA.java 5 May 2005 14:01:16 -0000 1.8
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/UserGroupAdminCORBA.java 18 Jun 2005 02:35:18 -0000
> @@ -9,7 +9,7 @@
>   * Interface used to perform some administrative operations.
>   * @author Sasa Bojanic
>   */
> -public class UserGroupAdminCORBA extends _UserGroupAdministrationImplBase {
> +public class UserGroupAdminCORBA extends UserGroupAdministrationPOA {
>     private SharkCORBAServer myServer;
>
>     private String userId;
> @@ -20,6 +20,7 @@
>     UserGroupAdminCORBA (SharkCORBAServer server,org.enhydra.shark.api.client.wfservice.UserGroupAdministration uga) {
>        this.myServer=server;
>        this.myUGAdmin=uga;
> +
>     }
>
>     public void connect(String userId, String password, String engineName, String scope) throws BaseException, ConnectFailed {
> @@ -43,7 +44,7 @@
>           throw new NotConnected("The connection is not established...");
>        }
>        connected=false;
> -      this._orb().disconnect(this);
> +      this.disconnect();
>     }
>
>     public String[] getAllGroupnames () throws BaseException, NotConnected {
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfActivityCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfActivityCORBA.java,v
> retrieving revision 1.4
> diff -u -r1.4 WfActivityCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfActivityCORBA.java 5 May 2005 14:01:16 -0000 1.4
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfActivityCORBA.java 20 Jun 2005 05:08:41 -0000
> @@ -4,6 +4,7 @@
>  import org.omg.WfBase.BaseException;
>  import org.omg.WfBase.NameValue;
>  import org.omg.WorkflowModel.*;
> +import org.omg.CORBA.ORB;
>
>  /**
>   * WfActivityImpl - Workflow Activity Object implementation
> @@ -11,20 +12,22 @@
>   * @author Sasa Bojanic
>   * @version 1.0
>   */
> -public class WfActivityCORBA extends _WfActivityImplBase /*implements
> +public class WfActivityCORBA extends WfActivityPOA /*implements
>                                                          Collective.Member */{
>
>     org.enhydra.shark.api.client.wfmodel.WfActivity sharkAct;
>
>     private Collective __collective;
> +   private ORB orb;
>
>     /**
>      * Create a new WfActivityImpl
>      */
> -   protected WfActivityCORBA(Collective toJoin,
> +   protected WfActivityCORBA(ORB orb,  Collective toJoin,
>                               org.enhydra.shark.api.client.wfmodel.WfActivity sharkAct) {
>        __collective = toJoin;
> -      toJoin.__recruit(this);
> +      this.orb = orb;
> +      toJoin.__recruit(_this(orb));
>        this.sharkAct = sharkAct;
>     }
>
> @@ -47,8 +50,8 @@
>      */
>     public WfAssignmentIterator get_iterator_assignment() throws BaseException {
>        try {
> -         return new WfAssignmentIteratorCORBA(__collective,
> -                                              sharkAct.get_iterator_assignment());
> +         return SharkCORBAUtilities.makeWfAssignmentIterator(orb, new WfAssignmentIteratorCORBA(orb,  __collective,
> +                                              sharkAct.get_iterator_assignment()));
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> @@ -61,7 +64,7 @@
>      */
>     public WfAssignment[] get_sequence_assignment(int max_number) throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBAAssignments(__collective,
> +         return SharkCORBAUtilities.makeCORBAAssignments(orb, __collective,
>                                                           sharkAct.get_sequence_assignment(max_number));
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -87,7 +90,7 @@
>      */
>     public WfProcess container() throws BaseException {
>        try {
> -         return new WfProcessCORBA(__collective, sharkAct.container());
> +         return SharkCORBAUtilities.makeWfProcess(orb, new WfProcessCORBA(orb, __collective, sharkAct.container()));
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> @@ -100,7 +103,7 @@
>      */
>     public NameValue[] result() throws BaseException, ResultNotAvailable {
>        try {
> -         return SharkCORBAUtilities.makeCORBANameValueArray(this._orb(),
> +         return SharkCORBAUtilities.makeCORBANameValueArray(orb,
>                                                              sharkAct.result());
>        } catch (org.enhydra.shark.api.client.wfmodel.ResultNotAvailable rna) {
>           throw new ResultNotAvailable();
> @@ -241,7 +244,7 @@
>
>     public NameValue[] process_context() throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBANameValueArray(this._orb(),
> +         return SharkCORBAUtilities.makeCORBANameValueArray(orb,
>                                                              sharkAct.process_context());
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -364,9 +367,9 @@
>                                                      NameValue[] names_in_query) throws BaseException,
>                                                                                 HistoryNotAvailable {
>        try {
> -         return new WfEventAuditIteratorCORBA(__collective,
> +         return SharkCORBAUtilities.makeWfEventAuditIterator( orb, new WfEventAuditIteratorCORBA(orb, __collective,
>                                                sharkAct.get_iterator_history(query,
> -                                                                            SharkCORBAUtilities.makeMap(names_in_query)));
> +                                                                            SharkCORBAUtilities.makeMap(names_in_query))));
>        } catch (org.enhydra.shark.api.client.wfmodel.HistoryNotAvailable hna) {
>           throw new HistoryNotAvailable();
>        } catch (Exception ex) {
> @@ -383,7 +386,7 @@
>     public WfEventAudit[] get_sequence_history(int max_number) throws BaseException,
>                                                               HistoryNotAvailable {
>        try {
> -         return SharkCORBAUtilities.makeCORBAEventAudits(__collective,
> +         return SharkCORBAUtilities.makeCORBAEventAudits(orb,__collective,
>                                                           sharkAct.get_sequence_history(max_number));
>        } catch (org.enhydra.shark.api.client.wfmodel.HistoryNotAvailable hna) {
>           throw new HistoryNotAvailable();
> @@ -400,7 +403,7 @@
>     public boolean is_member_of_history(WfExecutionObject member) throws BaseException {
>        try {
>           boolean ret = false;
> -         WfEventAudit[] evs = SharkCORBAUtilities.makeCORBAEventAudits(__collective,
> +         WfEventAudit[] evs = SharkCORBAUtilities.makeCORBAEventAudits(orb,__collective,
>                                                                         sharkAct.get_sequence_history(0));
>           if (evs != null) {
>              for (int i = 0; i < evs.length; i++) {
> @@ -451,8 +454,8 @@
>      */
>     public WfProcessIterator get_iterator_performer() throws BaseException {
>        try {
> -         return new WfProcessIteratorCORBA(__collective,
> -                                           sharkAct.get_iterator_performer());
> +         return new WfProcessIteratorCORBA(orb, __collective,
> +                                           sharkAct.get_iterator_performer())._this();
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> @@ -465,7 +468,7 @@
>      */
>     public WfProcess[] get_sequence_performer(int max_number) throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBAProcesses(__collective,
> +         return SharkCORBAUtilities.makeCORBAProcesses(orb,__collective,
>                                                         sharkAct.get_sequence_performer(max_number));
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -480,7 +483,7 @@
>     public boolean is_member_of_performer(WfProcess member) throws BaseException {
>        try {
>           boolean ret = false;
> -         WfProcess[] perfs = SharkCORBAUtilities.makeCORBAProcesses(__collective,
> +         WfProcess[] perfs = SharkCORBAUtilities.makeCORBAProcesses(orb, __collective,
>                                                                      sharkAct.get_sequence_performer(0));
>           if (perfs != null) {
>              for (int i = 0; i < perfs.length; i++) {
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfActivityIteratorCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfActivityIteratorCORBA.java,v
> retrieving revision 1.4
> diff -u -r1.4 WfActivityIteratorCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfActivityIteratorCORBA.java 5 May 2005 14:01:16 -0000 1.4
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfActivityIteratorCORBA.java 20 Jun 2005 05:08:40 -0000
> @@ -2,7 +2,12 @@
>
>  import org.omg.WfBase.*;
>  import org.omg.WorkflowModel.WfActivity;
> -import org.omg.WorkflowModel._WfActivityIteratorImplBase;
> +import org.omg.WorkflowModel.WfActivityIteratorPOA;
> +import org.omg.WorkflowModel.WfAssignmentHelper;
> +import org.omg.WorkflowModel.WfActivityHelper;
> +import org.omg.CORBA.ORB;
> +import org.omg.PortableServer.POA;
> +import org.omg.PortableServer.POAHelper;
>
>  /**
>   * Iterator for activities in the process.
> @@ -10,17 +15,21 @@
>   * @author Sasa Bojanic
>   * @version 1.0
>   */
> -public class WfActivityIteratorCORBA extends _WfActivityIteratorImplBase /*implements
> +public class WfActivityIteratorCORBA extends WfActivityIteratorPOA /*implements
>  Collective.Member */ {
>
>     org.enhydra.shark.api.client.wfmodel.WfActivityIterator myIterator;
>
>     private Collective __collective;
> +    private ORB orb;
>
> -   protected WfActivityIteratorCORBA(Collective toJoin,
> +   protected WfActivityIteratorCORBA(ORB orb, Collective toJoin,
>                                       org.enhydra.shark.api.client.wfmodel.WfActivityIterator iter) throws BaseException {
> -      __collective = toJoin;
> -      toJoin.__recruit(this);
> +
> +       __collective = toJoin;
> +       this.orb = orb;
> +
> +      toJoin.__recruit(_this(orb));
>        this.myIterator = iter;
>     }
>
> @@ -49,7 +58,7 @@
>
>     public NameValue[] names_in_expression() throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBANameValueArray(this._orb(),
> +         return SharkCORBAUtilities.makeCORBANameValueArray(orb,
>                                                              myIterator.names_in_expression());
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -111,18 +120,22 @@
>     }
>
>     public WfActivity get_next_object() throws BaseException {
> +
>        try {
> -         return new WfActivityCORBA(__collective,
> -                                    myIterator.get_next_object());
> +         return SharkCORBAUtilities.makeWfActivity(orb, new WfActivityCORBA(orb, __collective,
> +                                    myIterator.get_next_object()));
> +
> +
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> +
>     }
>
>     public WfActivity get_previous_object() throws BaseException {
>        try {
> -         return new WfActivityCORBA(__collective,
> -                                    myIterator.get_previous_object());
> +         return SharkCORBAUtilities.makeWfActivity(orb, new WfActivityCORBA(orb, __collective,
> +                                    myIterator.get_previous_object()));
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> @@ -130,7 +143,7 @@
>
>     public WfActivity[] get_next_n_sequence(int max_number) throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBAActivities(__collective,
> +         return SharkCORBAUtilities.makeCORBAActivities(orb,  __collective,
>                                                          myIterator.get_next_n_sequence(max_number));
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -139,11 +152,12 @@
>
>     public WfActivity[] get_previous_n_sequence(int max_number) throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBAActivities(__collective,
> +         return SharkCORBAUtilities.makeCORBAActivities(orb,__collective,
>                                                          myIterator.get_previous_n_sequence(max_number));
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
>     }
> +
>
>  }
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfAssignmentCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfAssignmentCORBA.java,v
> retrieving revision 1.4
> diff -u -r1.4 WfAssignmentCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfAssignmentCORBA.java 5 May 2005 14:01:16 -0000 1.4
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfAssignmentCORBA.java 20 Jun 2005 05:08:41 -0000
> @@ -2,6 +2,12 @@
>
>  import org.omg.WfBase.BaseException;
>  import org.omg.WorkflowModel.*;
> +import org.omg.CORBA.ORB;
> +import org.omg.PortableServer.POA;
> +import org.omg.PortableServer.POAHelper;
> +import org.omg.PortableServer.POAPackage.ServantAlreadyActive;
> +import org.omg.PortableServer.POAPackage.WrongPolicy;
> +import org.omg.PortableServer.POAPackage.ServantNotActive;
>
>  /**
>   * WfAssignmentImpl - Workflow Assignment Object implementation
> @@ -9,23 +15,25 @@
>   * @author Sasa Bojanic
>   * @version 1.0
>   */
> -public class WfAssignmentCORBA extends _WfAssignmentImplBase /*implements
> +public class WfAssignmentCORBA extends WfAssignmentPOA /*implements
>  Collective.Member */ {
>     //private SharkCORBAServer myServer;
>
>     org.enhydra.shark.api.client.wfmodel.WfAssignment sharkAss;
>
>     private Collective __collective;
> +   private ORB orb;
>
>     /**
>      * Creates new WfAssignment.
>      *
>      * @param sharkAss a WfAssignment
>      */
> -   protected WfAssignmentCORBA(Collective toJoin,
> +   protected WfAssignmentCORBA(ORB orb, Collective toJoin,
>                                 org.enhydra.shark.api.client.wfmodel.WfAssignment sharkAss) {
>        __collective = toJoin;
> -      toJoin.__recruit(this);
> +      this.orb = orb;
> +      toJoin.__recruit(_this(orb));
>        this.sharkAss = sharkAss;
>     }
>
> @@ -36,10 +44,11 @@
>      */
>     public WfActivity activity() throws BaseException {
>        try {
> -         return new WfActivityCORBA(__collective, sharkAss.activity());
> +         return SharkCORBAUtilities.makeWfActivity(orb, new WfActivityCORBA(orb, __collective, sharkAss.activity()));
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> +
>     }
>
>     /**
> @@ -48,11 +57,12 @@
>      * @return WfResource The assignee of this assignment.
>      */
>     public WfResource assignee() throws BaseException {
> -      try {
> -         return new WfResourceCORBA(__collective, sharkAss.assignee());
> +       try {
> +          return SharkCORBAUtilities.makeWfResource(orb, new WfResourceCORBA(orb, __collective, sharkAss.assignee()));
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> +
>     }
>
>     /**
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfAssignmentEventAuditCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfAssignmentEventAuditCORBA.java,v
> retrieving revision 1.5
> diff -u -r1.5 WfAssignmentEventAuditCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfAssignmentEventAuditCORBA.java 15 Jun 2005 15:47:21 -0000 1.5
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfAssignmentEventAuditCORBA.java 20 Jun 2005 05:00:35 -0000
> @@ -3,33 +3,42 @@
>  import org.omg.TimeBase.*;
>  import org.omg.WfBase.*;
>  import org.omg.WorkflowModel.*;
> +import org.omg.CORBA.ORB;
> +import org.omg.PortableServer.POA;
> +import org.omg.PortableServer.POAHelper;
>
>  /**
>   * WfEventAuditImpl - Workflow Event Audit implementation
>   */
>  public class WfAssignmentEventAuditCORBA extends
> -                                        _WfAssignmentEventAuditImplBase {
> -
> +
> +                                        WfAssignmentEventAuditPOA /*implements
> +                                        Collective.Member */{
> +
>     private org.enhydra.shark.api.client.wfmodel.WfAssignmentEventAudit ea;
>
>     private Collective __collective;
> +    private ORB orb;
>
> -   protected WfAssignmentEventAuditCORBA(Collective toJoin,
> +   protected WfAssignmentEventAuditCORBA(ORB orb, Collective toJoin,
>                                           org.enhydra.shark.api.client.wfmodel.WfAssignmentEventAudit ea) {
> +       this.orb = orb;
>        __collective = toJoin;
> -      toJoin.__recruit(this);
> +
> +      toJoin.__recruit(_this(orb));
>        this.ea = ea;
>     }
>
>     public WfExecutionObject source() throws BaseException, SourceNotAvailable {
> +
>        try {
> -         return new WfActivityCORBA(__collective,
> -                                    (org.enhydra.shark.api.client.wfmodel.WfActivity) ea.source());
> -      } catch (org.enhydra.shark.api.client.wfmodel.SourceNotAvailable sna) {
> -         throw new SourceNotAvailable();
> +         return SharkCORBAUtilities.makeWfActivity(orb, new WfActivityCORBA(orb,__collective,
> +                                    (org.enhydra.shark.api.client.wfmodel.WfActivity) ea.source()));
> +
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> +
>     }
>
>     public UtcT time_stamp() throws BaseException {
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfAssignmentIteratorCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfAssignmentIteratorCORBA.java,v
> retrieving revision 1.4
> diff -u -r1.4 WfAssignmentIteratorCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfAssignmentIteratorCORBA.java 5 May 2005 14:01:16 -0000 1.4
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfAssignmentIteratorCORBA.java 20 Jun 2005 05:00:36 -0000
> @@ -2,7 +2,16 @@
>
>  import org.omg.WfBase.*;
>  import org.omg.WorkflowModel.WfAssignment;
> -import org.omg.WorkflowModel._WfAssignmentIteratorImplBase;
> +import org.omg.WorkflowModel.WfAssignmentIteratorPOA;
> +import org.omg.WorkflowModel.WfEventAuditIteratorHelper;
> +import org.omg.WorkflowModel.WfAssignmentHelper;
> +import org.omg.CORBA.ORB;
> +import org.omg.CORBA.ORBPackage.InvalidName;
> +import org.omg.PortableServer.POA;
> +import org.omg.PortableServer.POAHelper;
> +import org.omg.PortableServer.POAPackage.ServantAlreadyActive;
> +import org.omg.PortableServer.POAPackage.WrongPolicy;
> +import org.omg.PortableServer.POAPackage.ServantNotActive;
>
>  /**
>   * Iterator for assignments of activity.
> @@ -10,17 +19,20 @@
>   * @author Sasa Bojanic
>   * @version 1.0
>   */
> -public class WfAssignmentIteratorCORBA extends _WfAssignmentIteratorImplBase /*implements
> +public class WfAssignmentIteratorCORBA extends WfAssignmentIteratorPOA /*implements
>  Collective.Member */ {
>     //private SharkCORBAServer myServer;
>
>     org.enhydra.shark.api.client.wfmodel.WfAssignmentIterator myIterator;
>     private Collective __collective;
> +    private ORB orb;
>
> -   protected WfAssignmentIteratorCORBA(Collective toJoin,
> +   protected WfAssignmentIteratorCORBA(ORB orb, Collective toJoin,
>                                         org.enhydra.shark.api.client.wfmodel.WfAssignmentIterator iter) throws BaseException {
>        __collective = toJoin;
> -      toJoin.__recruit(this);
> +       this.orb = orb;
> +
> +      toJoin.__recruit(_this(orb));
>        this.myIterator = iter;
>     }
>
> @@ -45,7 +57,7 @@
>
>     public NameValue[] names_in_expression() throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBANameValueArray(this._orb(),
> +         return SharkCORBAUtilities.makeCORBANameValueArray(orb,
>                                                              myIterator.names_in_expression());
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -108,7 +120,7 @@
>
>     public WfAssignment get_next_object() throws BaseException {
>        try {
> -         return new WfAssignmentCORBA(__collective, myIterator.get_next_object());
> +         return SharkCORBAUtilities.makeWfAssignment(orb, new WfAssignmentCORBA(orb, __collective,
myIterator.get_next_object()));
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> @@ -116,8 +128,8 @@
>
>     public WfAssignment get_previous_object() throws BaseException {
>        try {
> -         return new WfAssignmentCORBA(__collective,
> -                                      myIterator.get_previous_object());
> +         return SharkCORBAUtilities.makeWfAssignment(orb, new WfAssignmentCORBA(orb, __collective,
> +                                      myIterator.get_previous_object()));
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> @@ -125,7 +137,7 @@
>
>     public WfAssignment[] get_next_n_sequence(int max_number) throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBAAssignments(__collective,
> +         return SharkCORBAUtilities.makeCORBAAssignments(orb,__collective,
>                                                           myIterator.get_next_n_sequence(max_number));
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -134,7 +146,7 @@
>
>     public WfAssignment[] get_previous_n_sequence(int max_number) throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBAAssignments(__collective,
> +         return SharkCORBAUtilities.makeCORBAAssignments(orb,__collective,
>                                                           myIterator.get_previous_n_sequence(max_number));
>        } catch (Exception ex) {
>           throw new BaseException();
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfCreateProcessEventAuditCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfCreateProcessEventAuditCORBA.java,v
> retrieving revision 1.5
> diff -u -r1.5 WfCreateProcessEventAuditCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfCreateProcessEventAuditCORBA.java 15 Jun 2005 15:47:21 -0000 1.5
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfCreateProcessEventAuditCORBA.java 20 Jun 2005 05:08:41 -0000
> @@ -3,26 +3,39 @@
>  import org.omg.TimeBase.*;
>  import org.omg.WfBase.*;
>  import org.omg.WorkflowModel.*;
> +import org.omg.CORBA.ORB;
> +import org.omg.PortableServer.POAPackage.ServantAlreadyActive;
> +import org.omg.PortableServer.POAPackage.WrongPolicy;
> +import org.omg.PortableServer.POAPackage.ServantNotActive;
> +import org.omg.PortableServer.POA;
> +import org.omg.PortableServer.POAHelper;
>
>  /**
>   * WfCreateProcessEventAuditImpl - Workflow Event Audit implementation
>   */
>  public class WfCreateProcessEventAuditCORBA extends
> -                                           _WfCreateProcessEventAuditImplBase {
> +                                           WfCreateProcessEventAuditPOA /*implements
> +                                           Collective.Member */ {
> +   //private SharkCORBAServer myServer;
> +
>
>     private org.enhydra.shark.api.client.wfmodel.WfCreateProcessEventAudit ea;
>     private Collective __collective;
> +    private ORB orb;
>
> -   protected WfCreateProcessEventAuditCORBA(Collective toJoin,
> +   protected WfCreateProcessEventAuditCORBA( ORB orb, Collective toJoin,
>                                              org.enhydra.shark.api.client.wfmodel.WfCreateProcessEventAudit ea) {
>        __collective = toJoin;
> -      toJoin.__recruit(this);
> +       this.orb = orb;
> +      toJoin.__recruit(_this(orb));
>        this.ea = ea;
>     }
>
>     public WfExecutionObject source() throws BaseException, SourceNotAvailable {
>        try {
> -         return new WfProcessCORBA(__collective, (org.enhydra.shark.api.client.wfmodel.WfProcess) ea.source());
> +          WfProcess ret = null;
> +         return SharkCORBAUtilities.makeWfProcess(orb,new WfProcessCORBA(orb, __collective,
(org.enhydra.shark.api.client.wfmodel.WfProcess) ea.source()));
> +
>        } catch (org.enhydra.shark.api.client.wfmodel.SourceNotAvailable sna) {
>           throw new SourceNotAvailable();
>        } catch (Exception ex) {
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfDataEventAuditCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfDataEventAuditCORBA.java,v
> retrieving revision 1.5
> diff -u -r1.5 WfDataEventAuditCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfDataEventAuditCORBA.java 15 Jun 2005 15:47:21 -0000 1.5
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfDataEventAuditCORBA.java 20 Jun 2005 05:08:41 -0000
> @@ -3,31 +3,46 @@
>  import org.omg.TimeBase.*;
>  import org.omg.WfBase.*;
>  import org.omg.WorkflowModel.*;
> +import org.omg.CORBA.ORB;
> +import org.omg.PortableServer.POA;
> +import org.omg.PortableServer.POAHelper;
> +import org.omg.PortableServer.POAPackage.ServantAlreadyActive;
> +import org.omg.PortableServer.POAPackage.WrongPolicy;
> +import org.omg.PortableServer.POAPackage.ServantNotActive;
>
>  /**
>   * WfDataEventAuditImpl - Workflow Event Audit implementation
>   */
> -public class WfDataEventAuditCORBA extends _WfDataEventAuditImplBase {
> +
> +public class WfDataEventAuditCORBA extends WfDataEventAuditPOA /*implements
> +Collective.Member */ {
> +
>
>     private org.enhydra.shark.api.client.wfmodel.WfDataEventAudit ea;
>
>     private Collective __collective;
> +    private ORB orb;
>
> -   protected WfDataEventAuditCORBA(Collective toJoin,
> +   protected WfDataEventAuditCORBA(ORB orb, Collective toJoin,
>                                     org.enhydra.shark.api.client.wfmodel.WfDataEventAudit ea) {
> +       this.orb = orb;
> +
>        __collective = toJoin;
> -      toJoin.__recruit(this);
> +      toJoin.__recruit(_this(orb));
>        this.ea = ea;
>     }
>
>     public WfExecutionObject source() throws BaseException, SourceNotAvailable {
>        try {
>           if (ea.source() instanceof org.enhydra.shark.api.client.wfmodel.WfProcess) {
> -            return new WfProcessCORBA(__collective,
> -                                      (org.enhydra.shark.api.client.wfmodel.WfProcess) ea.source());
> +
> +            return SharkCORBAUtilities.makeWfProcess(orb, new WfProcessCORBA(orb, __collective,
> +                                      (org.enhydra.shark.api.client.wfmodel.WfProcess) ea.source()));
> +
>           } else {
> -            return new WfActivityCORBA(__collective,
> -                                       (org.enhydra.shark.api.client.wfmodel.WfActivity) ea.source());
> +             WfActivity ret = null;
> +            return SharkCORBAUtilities.makeWfActivity(orb, new WfActivityCORBA(orb, __collective,
> +                                       (org.enhydra.shark.api.client.wfmodel.WfActivity) ea.source()));
>           }
>        } catch (org.enhydra.shark.api.client.wfmodel.SourceNotAvailable sna) {
>           throw new SourceNotAvailable();
> @@ -103,7 +118,7 @@
>
>     public NameValue[] old_data() throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBANameValueArray(this._orb(),
> +         return SharkCORBAUtilities.makeCORBANameValueArray(orb,
>                                                              ea.old_data());
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -112,7 +127,7 @@
>
>     public NameValue[] new_data() throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBANameValueArray(this._orb(),
> +         return SharkCORBAUtilities.makeCORBANameValueArray(orb,
>                                                              ea.new_data());
>        } catch (Exception ex) {
>           throw new BaseException();
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfEventAuditIteratorCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfEventAuditIteratorCORBA.java,v
> retrieving revision 1.4
> diff -u -r1.4 WfEventAuditIteratorCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfEventAuditIteratorCORBA.java 5 May 2005 14:01:16 -0000 1.4
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfEventAuditIteratorCORBA.java 20 Jun 2005 05:00:35 -0000
> @@ -2,7 +2,8 @@
>
>  import org.omg.WfBase.*;
>  import org.omg.WorkflowModel.WfEventAudit;
> -import org.omg.WorkflowModel._WfEventAuditIteratorImplBase;
> +import org.omg.WorkflowModel.WfEventAuditIteratorPOA;
> +import org.omg.CORBA.ORB;
>
>  /**
>   * Iterator for event audits of activity or the process.
> @@ -10,15 +11,18 @@
>   * @author Sasa Bojanic
>   * @version 1.0
>   */
> -public class WfEventAuditIteratorCORBA extends _WfEventAuditIteratorImplBase /*implements
> +public class WfEventAuditIteratorCORBA extends WfEventAuditIteratorPOA /*implements
>  Collective.Member */ {
>
>     org.enhydra.shark.api.client.wfmodel.WfEventAuditIterator myIterator;
>     private Collective __collective;
> +    private ORB orb;
>
> -   protected WfEventAuditIteratorCORBA(Collective toJoin, org.enhydra.shark.api.client.wfmodel.WfEventAuditIterator iter) throws
BaseException {
> +   protected WfEventAuditIteratorCORBA(ORB orb,Collective toJoin, org.enhydra.shark.api.client.wfmodel.WfEventAuditIterator iter)
throws BaseException {
>        __collective = toJoin;
> -      toJoin.__recruit(this);
> +       this.orb = orb;
> +
> +      toJoin.__recruit(_this(orb));
>        this.myIterator = iter;
>     }
>
> @@ -48,7 +52,7 @@
>
>     public NameValue[] names_in_expression() throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBANameValueArray(this._orb(),
> +         return SharkCORBAUtilities.makeCORBANameValueArray(orb,
>                                                              myIterator.names_in_expression());
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -111,7 +115,7 @@
>
>     public WfEventAudit get_next_object() throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBAEventAudit(__collective, myIterator.get_next_object());
> +         return SharkCORBAUtilities.makeCORBAEventAudit(orb, __collective, myIterator.get_next_object());
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> @@ -119,7 +123,7 @@
>
>     public WfEventAudit get_previous_object() throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBAEventAudit(__collective, myIterator.get_previous_object());
> +         return SharkCORBAUtilities.makeCORBAEventAudit(orb,__collective, myIterator.get_previous_object());
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> @@ -127,7 +131,7 @@
>
>     public WfEventAudit[] get_next_n_sequence(int max_number) throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBAEventAudits(__collective, myIterator.get_next_n_sequence(max_number));
> +         return SharkCORBAUtilities.makeCORBAEventAudits(orb, __collective, myIterator.get_next_n_sequence(max_number));
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> @@ -135,7 +139,7 @@
>
>     public WfEventAudit[] get_previous_n_sequence(int max_number) throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBAEventAudits(__collective, myIterator.get_previous_n_sequence(max_number));
> +         return SharkCORBAUtilities.makeCORBAEventAudits(orb,__collective, myIterator.get_previous_n_sequence(max_number));
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfLinkingRequesterForCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfLinkingRequesterForCORBA.java,v
> retrieving revision 1.5
> diff -u -r1.5 WfLinkingRequesterForCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfLinkingRequesterForCORBA.java 15 Jun 2005 15:47:21 -0000 1.5
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfLinkingRequesterForCORBA.java 17 Jun 2005 17:26:14 -0000
> @@ -6,6 +6,7 @@
>  import org.enhydra.shark.api.SharkTransaction;
>  import org.omg.CORBA.ORB;
>  import org.omg.WorkflowModel.WfRequester;
> +import org.omg.CORBA.ORB;
>
>  /**
>   * WfRequesterImpl - Workflow Requester implementation
> @@ -14,16 +15,30 @@
>                                         org.enhydra.shark.api.client.wfmodel.WfRequester {
>
>
> +
> +  // transient private Collective __collective;
> +   private ORB orb;
> +
> +    static ORB the_orb;
> +
>     static Map requesters=new HashMap();
>
>     static Map collectives=new HashMap();
>
>     static boolean ignoreProblematicRequester=true;
> -
> -   public WfLinkingRequesterForCORBA() {
> +
> +    public WfLinkingRequesterForCORBA() {
> +
> +    }
> +
> +   public WfLinkingRequesterForCORBA(ORB orb) {
> +       this.orb = orb;
>     }
>
> -
> +   public static void setOrb(ORB the_Orb) {
> +          the_orb = the_Orb;
> +   }
> +
>     public static synchronized void setIgnoreProblematicRequesterProcess (boolean ignore) {
>        ignoreProblematicRequester=ignore;
>     }
> @@ -32,8 +47,22 @@
>        requesters.put(procId, myCORBARequester);
>     }
>
> +
> +   /*
> +   public WfLinkingRequesterForCORBA(ORB orb, Collective toJoin,
> +                                     WfRequester myCORBARequester) {
> +      //      if (WfLinkingRequesterForCORBA.myServer==null) {
> +      //         WfLinkingRequesterForCORBA.myServer=server;
> +      //      }
> +      this.orb = orb;
> +
> +      __collective = toJoin;
> +      this.myCORBARequester = myCORBARequester;
> +   }
> +    */
>     public static synchronized void removeCORBARequester (String procId) {
>        requesters.remove(procId);
> +
>     }
>
>     public static WfRequester getCORBARequester(String procId) {
> @@ -104,13 +133,16 @@
>     public void receive_event(org.enhydra.shark.api.client.wfmodel.WfEventAudit event) throws
org.enhydra.shark.api.client.wfbase.BaseException,
>
org.enhydra.shark.api.client.wfmodel.InvalidPerformer {
>        try {
> +
>           WfRequester req=getCORBARequester(event.process_key());
>           if (req!=null) {
>              Collective __collective = new Collective.CollectiveCORBA();
>              WfLinkingRequesterForCORBA.addCollective(event.process_key(),__collective);
> -            req.receive_event(SharkCORBAUtilities.makeCORBAEventAudit(__collective,event));
> +             if (orb == null) orb = the_orb;
> +            req.receive_event(SharkCORBAUtilities.makeCORBAEventAudit(orb, __collective,event));
>           } else {
>           }
> +
>        } catch (Throwable ex) {}
>     }
>
> @@ -121,6 +153,7 @@
>        boolean ne=false;
>        boolean excH=false;
>        try {
> +
>           procId=event.process_key();
>           WfRequester req=WfLinkingRequesterForCORBA.getCORBARequester(procId);
>           if (req!=null) {
> @@ -132,7 +165,8 @@
>              if (!ne) {
>                 Collective __collective = new Collective.CollectiveCORBA();
>                 WfLinkingRequesterForCORBA.addCollective(procId,__collective);
> -               req.receive_event(SharkCORBAUtilities.makeCORBAEventAudit(__collective,event));
> +                if (orb == null) orb = the_orb;
> +               req.receive_event(SharkCORBAUtilities.makeCORBAEventAudit(orb, __collective,event));
>                 System.out.println("External requester for process "+procId+" notified.");
>              } else {
>                 String msg="External CORBA requester for process "+procId+" can't be found due to some network problem or client
application shutdown";
> @@ -163,6 +197,7 @@
>        if (ignoreProblematicRequester && (ne || excH)) {
>           WfLinkingRequesterForCORBA.removeCORBARequester(procId);
>        }
> +
>     }
>
>
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfPackageEventAuditCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfPackageEventAuditCORBA.java,v
> retrieving revision 1.3
> diff -u -r1.3 WfPackageEventAuditCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfPackageEventAuditCORBA.java 1 Dec 2004 17:58:11 -0000 1.3
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfPackageEventAuditCORBA.java 9 Jun 2005 05:13:54 -0000
> @@ -8,13 +8,13 @@
>  /**
>   * WfPackageEventAuditImpl - Workflow Event Audit implementation
>   */
> -public class WfPackageEventAuditCORBA extends _WfPackageEventAuditImplBase {
> -   private SharkCORBAServer myServer;
> +public class WfPackageEventAuditCORBA extends WfPackageEventAuditPOA {
> +   //private SharkCORBAServer myServer;
>
>     private org.enhydra.shark.api.client.wfservice.WfPackageEventAudit ea;
>
>     protected WfPackageEventAuditCORBA (SharkCORBAServer server,org.enhydra.shark.api.client.wfservice.WfPackageEventAudit ea) {
> -      this.myServer=server;
> +     // this.myServer=server;
>        this.ea=ea;
>     }
>
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfProcessCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfProcessCORBA.java,v
> retrieving revision 1.5
> diff -u -r1.5 WfProcessCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfProcessCORBA.java 15 Jun 2005 15:47:21 -0000 1.5
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfProcessCORBA.java 25 Jun 2005 18:17:22 -0000
> @@ -4,504 +4,528 @@
>  import org.omg.WfBase.BaseException;
>  import org.omg.WfBase.NameValue;
>  import org.omg.WorkflowModel.*;
> +import org.omg.CORBA.ORB;
> +import org.omg.PortableServer.POA;
> +import org.omg.PortableServer.POAHelper;
> +import org.omg.PortableServer.POAPackage.ServantAlreadyActive;
> +import org.omg.PortableServer.POAPackage.WrongPolicy;
> +import org.omg.PortableServer.POAPackage.ServantNotActive;
>
>  /**
>   * WfProcessImpl - Workflow Process Object implementation
> - *
> + *
>   * @author Sasa Bojanic
>   * @version 1.0
>   */
> -public class WfProcessCORBA extends _WfProcessImplBase /*implements
> +public class WfProcessCORBA extends WfProcessPOA /*implements
>  Collective.Member */ {
>
> -   org.enhydra.shark.api.client.wfmodel.WfProcess sharkProc;
> +    org.enhydra.shark.api.client.wfmodel.WfProcess sharkProc;
>
> -   private Collective __collective;
> +    private Collective __collective;
> +    private ORB orb;
>
> -   /**
> -    * Creates new WfProcessImpl
> -    *
> -    * @param sharkProc a WfProcess
> -    */
> -   protected WfProcessCORBA(Collective toJoin,
> -                            org.enhydra.shark.api.client.wfmodel.WfProcess sharkProc) {
> -      __collective = toJoin;
> -      toJoin.__recruit(this);
> -      this.sharkProc = sharkProc;
> -   }
> -
> -   /**
> -    * Retrieve the requestor of this process.
> -    */
> -   public WfRequester requester() throws BaseException {
> -      try {
> -         WfRequester req;
> -         org.enhydra.shark.api.client.wfmodel.WfRequester requester = sharkProc.requester();
> -         if (requester instanceof org.enhydra.shark.api.client.wfmodel.WfActivity) {
> -            req = new WfActivityCORBA(__collective,
> -                                      (org.enhydra.shark.api.client.wfmodel.WfActivity) requester);
> -         } else if (requester instanceof WfLinkingRequesterForCORBA) {
> -            req = WfLinkingRequesterForCORBA.getCORBARequester(sharkProc.key());
> -         } else {
> -            req = new WfRequesterCORBA(__collective, requester);
> -         }
> -         return req;
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Set the requester for this process.
> -    */
> -   public void set_requester(WfRequester new_value) throws BaseException,
> -                                                   CannotChangeRequester {
> -      if (new_value == null) throw new CannotChangeRequester("Trying to set external requester which is null!");
> -
> -      if (new_value instanceof WfActivity) { throw new CannotChangeRequester("Can't change requester to activity requester"); }
> -
> -      try {
> -         WfLinkingRequesterForCORBA lr=new WfLinkingRequesterForCORBA();
> -         WfLinkingRequesterForCORBA.setCORBARequester(sharkProc.key(),new_value);
> -         sharkProc.set_requester(lr);
> -      } catch (org.enhydra.shark.api.client.wfmodel.CannotChangeRequester ccr) {
> -         throw new CannotChangeRequester();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Retrieve the no of activities in this process.
> -    */
> -   public int how_many_step() throws BaseException {
> -      try {
> -         return sharkProc.how_many_step();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Retrieve the Iterator of active activities of this process.
> -    */
> -   public WfActivityIterator get_iterator_step() throws BaseException {
> -      try {
> -         return new WfActivityIteratorCORBA(__collective,
> -                                            sharkProc.get_iterator_step());
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Retrieve the List of activities of this process.
> -    *
> -    * @param max_number High limit of elements in the result set
> -    *           (0->all).
> -    */
> -   public WfActivity[] get_sequence_step(int max_number) throws BaseException {
> -      try {
> -         return SharkCORBAUtilities.makeCORBAActivities(__collective,
> -                                                        sharkProc.get_sequence_step(max_number));
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Check if some activity is a member of this process.
> -    *
> -    * @return true if the specific activity is a member of this process,
> -    *         false otherwise.
> -    */
> -   public boolean is_member_of_step(WfActivity member) throws BaseException {
> -      try {
> -         WfActivity[] acts = get_sequence_step(0);
> -         boolean ret = false;
> -         if (acts != null) {
> -            for (int i = 0; i < acts.length; i++) {
> -               WfActivity act = acts[i];
> -               if (act.key().equals(member.key())) {
> -                  ret = true;
> -                  break;
> -               }
> +    /**
> +     * Creates new WfProcessImpl
> +     *
> +     * @param sharkProc a WfProcess
> +     */
> +    protected WfProcessCORBA(ORB orb, Collective toJoin,
> +                             org.enhydra.shark.api.client.wfmodel.WfProcess sharkProc) {
> +
> +        __collective = toJoin;
> +        this.orb = orb;
> +        toJoin.__recruit(_this(orb));
> +        this.sharkProc = sharkProc;
> +    }
> +
> +    /**
> +     * Retrieve the requestor of this process.
> +     */
> +    public WfRequester requester() throws BaseException {
> +        try {
> +            WfRequester req;
> +            org.enhydra.shark.api.client.wfmodel.WfRequester requester = sharkProc.requester();
> +            if (requester instanceof org.enhydra.shark.api.client.wfmodel.WfActivity) {
> +                req = SharkCORBAUtilities.makeWfActivity(orb, new WfActivityCORBA(orb, __collective,
> +                        (org.enhydra.shark.api.client.wfmodel.WfActivity) requester));
> +            } else if (requester instanceof WfLinkingRequesterForCORBA) {
> +                req = WfLinkingRequesterForCORBA.getCORBARequester(sharkProc.key());
> +            } else {
> +                req = SharkCORBAUtilities.makeWfRequester(orb, new WfRequesterCORBA(orb, __collective, requester));
>              }
> -         }
> -         return ret;
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Retrieve the WfProcessMgr of this process.
> -    */
> -   public WfProcessMgr manager() throws BaseException {
> -      try {
> -         return new WfProcessMgrCORBA(__collective, sharkProc.manager());
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Retrieve the result for this process.
> -    */
> -   public NameValue[] result() throws BaseException, ResultNotAvailable {
> -      try {
> -         return SharkCORBAUtilities.makeCORBANameValueArray(this._orb(),
> -                                                            sharkProc.result());
> -      } catch (org.enhydra.shark.api.client.wfmodel.ResultNotAvailable rna) {
> -         throw new ResultNotAvailable();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Starts the process - creates a separate thread.
> -    */
> -   public void start() throws BaseException, CannotStart, AlreadyRunning {
> -      try {
> -         sharkProc.start();
> -      } catch (org.enhydra.shark.api.client.wfmodel.CannotStart cns) {
> -         throw new CannotStart();
> -      } catch (org.enhydra.shark.api.client.wfmodel.AlreadyRunning ar) {
> -         throw new AlreadyRunning();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Retrieve the iterator of activities in some specific state.
> -    */
> -   public WfActivityIterator get_activities_in_state(String state) throws BaseException,
> -                                                                  InvalidState {
> -      try {
> -         return new WfActivityIteratorCORBA(__collective,
> -                                            sharkProc.get_activities_in_state(state));
> -      } catch (org.enhydra.shark.api.client.wfmodel.InvalidState is) {
> -         throw new InvalidState();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public workflow_stateType workflow_state() throws BaseException {
> -      try {
> -         return workflow_stateType.from_int(sharkProc.workflow_state()
> -            .value());
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public while_openType while_open() throws BaseException {
> -      try {
> -         return while_openType.from_int(sharkProc.while_open().value());
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public why_not_runningType why_not_running() throws BaseException {
> -      try {
> -         return why_not_runningType.from_int(sharkProc.why_not_running()
> -            .value());
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public how_closedType how_closed() throws BaseException {
> -      try {
> -         return how_closedType.from_int(sharkProc.how_closed().value());
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public String[] valid_states() throws BaseException {
> -      try {
> -         return sharkProc.valid_states();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public String state() throws BaseException {
> -      try {
> -         return sharkProc.state();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public void change_state(String new_state) throws BaseException,
> -                                             InvalidState,
> -                                             TransitionNotAllowed {
> -      try {
> -         sharkProc.change_state(new_state);
> -      } catch (org.enhydra.shark.api.client.wfmodel.InvalidState is) {
> -         throw new InvalidState();
> -      } catch (org.enhydra.shark.api.client.wfmodel.TransitionNotAllowed tna) {
> -         throw new TransitionNotAllowed();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public String name() throws BaseException {
> -      try {
> -         return sharkProc.name();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public void set_name(String new_value) throws BaseException {
> -      try {
> -         sharkProc.set_name(new_value);
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public String key() throws BaseException {
> -      try {
> -         return sharkProc.key();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public String description() throws BaseException {
> -      try {
> -         return sharkProc.description();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public void set_description(String new_value) throws BaseException {
> -      try {
> -         sharkProc.set_description(new_value);
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public NameValue[] process_context() throws BaseException {
> -      try {
> -         return SharkCORBAUtilities.makeCORBANameValueArray(this._orb(),
> -                                                            sharkProc.process_context());
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public void set_process_context(NameValue[] new_value) throws BaseException,
> -                                                         InvalidData,
> -                                                         UpdateNotAllowed {
> -      try {
> -         sharkProc.set_process_context(SharkCORBAUtilities.makeMap(new_value));
> -      } catch (org.enhydra.shark.api.client.wfmodel.InvalidData id) {
> -         throw new InvalidData();
> -      } catch (org.enhydra.shark.api.client.wfmodel.UpdateNotAllowed una) {
> -         throw new UpdateNotAllowed();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public short priority() throws BaseException {
> -      try {
> -         return sharkProc.priority();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public void set_priority(short new_value) throws BaseException {
> -      try {
> -         sharkProc.set_priority(new_value);
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Resume this process.
> -    */
> -   public void resume() throws BaseException, CannotResume, NotSuspended {
> -      try {
> -         sharkProc.resume();
> -      } catch (org.enhydra.shark.api.client.wfmodel.CannotResume cnr) {
> -         throw new CannotResume();
> -      } catch (org.enhydra.shark.api.client.wfmodel.NotSuspended ns) {
> -         throw new NotSuspended();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Suspend this process.
> -    */
> -   public void suspend() throws BaseException,
> -                        CannotSuspend,
> -                        NotRunning,
> -                        AlreadySuspended {
> -      try {
> -         sharkProc.suspend();
> -      } catch (org.enhydra.shark.api.client.wfmodel.CannotSuspend cns) {
> -         throw new CannotSuspend();
> -      } catch (org.enhydra.shark.api.client.wfmodel.NotRunning nr) {
> -         throw new NotRunning();
> -      } catch (org.enhydra.shark.api.client.wfmodel.AlreadySuspended as) {
> -         throw new AlreadySuspended();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Terminate this process.
> -    */
> -   public synchronized void terminate() throws BaseException,
> -                                       CannotStop,
> -                                       NotRunning {
> -      try {
> -         sharkProc.terminate();
> -      } catch (org.enhydra.shark.api.client.wfmodel.CannotStop cns) {
> -         throw new CannotStop();
> -      } catch (org.enhydra.shark.api.client.wfmodel.NotRunning nr) {
> -         throw new NotRunning();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Abort the execution of this process.
> -    */
> -   public synchronized void abort() throws BaseException,
> -                                   CannotStop,
> -                                   NotRunning {
> -      try {
> -         sharkProc.abort();
> -      } catch (org.enhydra.shark.api.client.wfmodel.CannotStop cns) {
> -         throw new CannotStop();
> -      } catch (org.enhydra.shark.api.client.wfmodel.NotRunning nr) {
> -         throw new NotRunning();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public int how_many_history() throws BaseException, HistoryNotAvailable {
> -      try {
> -         return sharkProc.how_many_history();
> -      } catch (org.enhydra.shark.api.client.wfmodel.HistoryNotAvailable hna) {
> -         throw new HistoryNotAvailable();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Search in the history for specific elements.
> -    *
> -    * @return Found history elements that meet the search criteria.
> -    */
> -   public WfEventAuditIterator get_iterator_history(String query,
> -                                                    NameValue[] names_in_query) throws BaseException,
> -                                                                               HistoryNotAvailable {
> -      try {
> -         return new WfEventAuditIteratorCORBA(__collective, sharkProc.get_iterator_history(query,
> -                                                                             SharkCORBAUtilities.makeMap(names_in_query)));
> -      } catch (org.enhydra.shark.api.client.wfmodel.HistoryNotAvailable hna) {
> -         throw new HistoryNotAvailable();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Getter for history sequence.
> -    *
> -    * @return List of History objects.
> -    */
> -   public WfEventAudit[] get_sequence_history(int max_number) throws BaseException,
> -                                                             HistoryNotAvailable {
> -      try {
> -         return SharkCORBAUtilities.makeCORBAEventAudits(__collective, sharkProc.get_sequence_history(max_number));
> -      } catch (org.enhydra.shark.api.client.wfmodel.HistoryNotAvailable hna) {
> -         throw new HistoryNotAvailable();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Checks if a 'member' is an element of the history.
> -    *
> -    * @return true if the element of the history, false otherwise.
> -    */
> -   public boolean is_member_of_history(WfExecutionObject member) throws BaseException {
> -      try {
> -         boolean ret = false;
> -         WfEventAudit[] evs = SharkCORBAUtilities.makeCORBAEventAudits(__collective, sharkProc.get_sequence_history(0));
> -         if (evs != null) {
> -            for (int i = 0; i < evs.length; i++) {
> -               WfEventAudit ea = evs[i];
> -               if (member instanceof WfActivity) {
> -                  WfActivity act = (WfActivity) member;
> -                  if (act.container().key().equals(ea.process_key())
> -                      && act.key().equals(ea.activity_key())) {
> -                     ret = true;
> -                     break;
> -                  }
> -               } else {
> -                  if (member.key().equals(ea.process_key())) {
> -                     ret = true;
> -                     break;
> -                  }
> -               }
> +            return req;
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    /**
> +     * Set the requester for this process.
> +     */
> +    public void set_requester(WfRequester new_value) throws BaseException,
> +            CannotChangeRequester {
> +        if (new_value == null) throw new CannotChangeRequester("Trying to set external requester which is null!");
> +
> +        if (new_value instanceof WfActivity) {
> +            throw new CannotChangeRequester("Can't change requester to activity requester");
> +        }
> +
> +        try {
> +
> +            WfLinkingRequesterForCORBA lr = new WfLinkingRequesterForCORBA();
> +            lr.setOrb(orb);
> +            WfLinkingRequesterForCORBA.setCORBARequester(sharkProc.key(), new_value);
> +            sharkProc.set_requester(lr);
> +
> +        } catch (org.enhydra.shark.api.client.wfmodel.CannotChangeRequester ccr) {
> +            throw new CannotChangeRequester();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    /**
> +     * Retrieve the no of activities in this process.
> +     */
> +    public int how_many_step() throws BaseException {
> +        try {
> +            return sharkProc.how_many_step();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    /**
> +     * Retrieve the Iterator of active activities of this process.
> +     */
> +    public WfActivityIterator get_iterator_step() throws BaseException {
> +        WfActivityIterator ret = null;
> +        try {
> +            return SharkCORBAUtilities.makeWfActivityIterator(orb, new WfActivityIteratorCORBA(orb, __collective,
> +                    sharkProc.get_iterator_step()));
> +
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +
> +    }
> +
> +    /**
> +     * Retrieve the List of activities of this process.
> +     *
> +     * @param max_number High limit of elements in the result set
> +     *                   (0->all).
> +     */
> +    public WfActivity[] get_sequence_step(int max_number) throws BaseException {
> +        try {
> +            return SharkCORBAUtilities.makeCORBAActivities(orb, __collective,
> +                    sharkProc.get_sequence_step(max_number));
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    /**
> +     * Check if some activity is a member of this process.
> +     *
> +     * @return true if the specific activity is a member of this process,
> +     *         false otherwise.
> +     */
> +    public boolean is_member_of_step(WfActivity member) throws BaseException {
> +        try {
> +            WfActivity[] acts = get_sequence_step(0);
> +            boolean ret = false;
> +            if (acts != null) {
> +                for (int i = 0; i < acts.length; i++) {
> +                    WfActivity act = acts[i];
> +                    if (act.key().equals(member.key())) {
> +                        ret = true;
> +                        break;
> +                    }
> +                }
>              }
> -         }
> -         return ret;
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public UtcT last_state_time() throws BaseException {
> -      try {
> -         org.enhydra.shark.api.client.timebase.UtcT t = sharkProc.last_state_time();
> -         return new UtcT(t.time, t.inacclo, t.inacchi, t.tdf);
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * It is assumed that there can't be two or more processes having the
> -    * same key.
> -    */
> -   public boolean equals(java.lang.Object obj) {
> -      if (!(obj instanceof WfProcess)) return false;
> -      WfProcess proc = (WfProcess) obj;
> -      try {
> -         return proc.key().equals(key());
> -      } catch (Exception ex) {
> -         return false;
> -      }
> -   }
> -
> -   public String toString() {
> -      return sharkProc.toString();
> -   }
> +            return ret;
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    /**
> +     * Retrieve the WfProcessMgr of this process.
> +     */
> +    public WfProcessMgr manager() throws BaseException {
> +        WfProcessMgr ret = null ;
> +        try {
> +            ret = SharkCORBAUtilities.makeWfProcessMgr(orb,new WfProcessMgrCORBA(orb, __collective, sharkProc.manager()) );
> +        } catch (org.enhydra.shark.api.client.wfbase.BaseException e) {
> +            e.printStackTrace();
> +            throw new BaseException();
> +        }
> +
> +        return ret;
> +    }
> +
> +    /**
> +     * Retrieve the result for this process.
> +     */
> +    public NameValue[] result() throws BaseException, ResultNotAvailable {
> +        try {
> +            return SharkCORBAUtilities.makeCORBANameValueArray(orb,
> +                    sharkProc.result());
> +        } catch (org.enhydra.shark.api.client.wfmodel.ResultNotAvailable rna) {
> +            throw new ResultNotAvailable();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    /**
> +     * Starts the process - creates a separate thread.
> +     */
> +    public void start() throws BaseException, CannotStart, AlreadyRunning {
> +        try {
> +            sharkProc.start();
> +        } catch (org.enhydra.shark.api.client.wfmodel.CannotStart cns) {
> +            throw new CannotStart();
> +        } catch (org.enhydra.shark.api.client.wfmodel.AlreadyRunning ar) {
> +            throw new AlreadyRunning();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    /**
> +     * Retrieve the iterator of activities in some specific state.
> +     */
> +    public WfActivityIterator get_activities_in_state(String state) throws BaseException,
> +            InvalidState {
> +        try {
> +            return SharkCORBAUtilities.makeWfActivityIterator(orb,new WfActivityIteratorCORBA(orb, __collective,
> +                    sharkProc.get_activities_in_state(state)));
> +        } catch (org.enhydra.shark.api.client.wfmodel.InvalidState is) {
> +            throw new InvalidState();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public workflow_stateType workflow_state() throws BaseException {
> +        try {
> +            return workflow_stateType.from_int(sharkProc.workflow_state()
> +                    .value());
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public while_openType while_open() throws BaseException {
> +        try {
> +            return while_openType.from_int(sharkProc.while_open().value());
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public why_not_runningType why_not_running() throws BaseException {
> +        try {
> +            return why_not_runningType.from_int(sharkProc.why_not_running()
> +                    .value());
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public how_closedType how_closed() throws BaseException {
> +        try {
> +            return how_closedType.from_int(sharkProc.how_closed().value());
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public String[] valid_states() throws BaseException {
> +        try {
> +            return sharkProc.valid_states();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public String state() throws BaseException {
> +        try {
> +            return sharkProc.state();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public void change_state(String new_state) throws BaseException,
> +            InvalidState,
> +            TransitionNotAllowed {
> +        try {
> +            sharkProc.change_state(new_state);
> +        } catch (org.enhydra.shark.api.client.wfmodel.InvalidState is) {
> +            throw new InvalidState();
> +        } catch (org.enhydra.shark.api.client.wfmodel.TransitionNotAllowed tna) {
> +            throw new TransitionNotAllowed();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public String name() throws BaseException {
> +        try {
> +            return sharkProc.name();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public void set_name(String new_value) throws BaseException {
> +        try {
> +            sharkProc.set_name(new_value);
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public String key() throws BaseException {
> +        try {
> +            return sharkProc.key();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public String description() throws BaseException {
> +        try {
> +            return sharkProc.description();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public void set_description(String new_value) throws BaseException {
> +        try {
> +            sharkProc.set_description(new_value);
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public NameValue[] process_context() throws BaseException {
> +        try {
> +            return SharkCORBAUtilities.makeCORBANameValueArray(orb,
> +                    sharkProc.process_context());
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public void set_process_context(NameValue[] new_value) throws BaseException,
> +            InvalidData,
> +            UpdateNotAllowed {
> +        try {
> +            sharkProc.set_process_context(SharkCORBAUtilities.makeMap(new_value));
> +        } catch (org.enhydra.shark.api.client.wfmodel.InvalidData id) {
> +            throw new InvalidData();
> +        } catch (org.enhydra.shark.api.client.wfmodel.UpdateNotAllowed una) {
> +            throw new UpdateNotAllowed();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public short priority() throws BaseException {
> +        try {
> +            return sharkProc.priority();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public void set_priority(short new_value) throws BaseException {
> +        try {
> +            sharkProc.set_priority(new_value);
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    /**
> +     * Resume this process.
> +     */
> +    public void resume() throws BaseException, CannotResume, NotSuspended {
> +        try {
> +            sharkProc.resume();
> +        } catch (org.enhydra.shark.api.client.wfmodel.CannotResume cnr) {
> +            throw new CannotResume();
> +        } catch (org.enhydra.shark.api.client.wfmodel.NotSuspended ns) {
> +            throw new NotSuspended();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    /**
> +     * Suspend this process.
> +     */
> +    public void suspend() throws BaseException,
> +            CannotSuspend,
> +            NotRunning,
> +            AlreadySuspended {
> +        try {
> +            sharkProc.suspend();
> +        } catch (org.enhydra.shark.api.client.wfmodel.CannotSuspend cns) {
> +            throw new CannotSuspend();
> +        } catch (org.enhydra.shark.api.client.wfmodel.NotRunning nr) {
> +            throw new NotRunning();
> +        } catch (org.enhydra.shark.api.client.wfmodel.AlreadySuspended as) {
> +            throw new AlreadySuspended();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    /**
> +     * Terminate this process.
> +     */
> +    public synchronized void terminate() throws BaseException,
> +            CannotStop,
> +            NotRunning {
> +        try {
> +            sharkProc.terminate();
> +        } catch (org.enhydra.shark.api.client.wfmodel.CannotStop cns) {
> +            throw new CannotStop();
> +        } catch (org.enhydra.shark.api.client.wfmodel.NotRunning nr) {
> +            throw new NotRunning();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    /**
> +     * Abort the execution of this process.
> +     */
> +    public synchronized void abort() throws BaseException,
> +            CannotStop,
> +            NotRunning {
> +        try {
> +            sharkProc.abort();
> +        } catch (org.enhydra.shark.api.client.wfmodel.CannotStop cns) {
> +            throw new CannotStop();
> +        } catch (org.enhydra.shark.api.client.wfmodel.NotRunning nr) {
> +            throw new NotRunning();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public int how_many_history() throws BaseException, HistoryNotAvailable {
> +        try {
> +            return sharkProc.how_many_history();
> +        } catch (org.enhydra.shark.api.client.wfmodel.HistoryNotAvailable hna) {
> +            throw new HistoryNotAvailable();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    /**
> +     * Search in the history for specific elements.
> +     *
> +     * @return Found history elements that meet the search criteria.
> +     */
> +    public WfEventAuditIterator get_iterator_history(String query,
> +                                                     NameValue[] names_in_query) throws BaseException,
> +            HistoryNotAvailable {
> +        WfEventAuditIterator ret = null;
> +        try {
> +        SharkCORBAUtilities.makeWfEventAuditIterator(orb, new WfEventAuditIteratorCORBA(orb, __collective,
sharkProc.get_iterator_history(query,
> +                    SharkCORBAUtilities.makeMap(names_in_query))));
> +
> +        } catch (org.enhydra.shark.api.client.wfmodel.HistoryNotAvailable hna) {
> +            throw new HistoryNotAvailable();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +        return ret;
> +    }
> +
> +    /**
> +     * Getter for history sequence.
> +     *
> +     * @return List of History objects.
> +     */
> +    public WfEventAudit[] get_sequence_history(int max_number) throws BaseException,
> +            HistoryNotAvailable {
> +        try {
> +            return SharkCORBAUtilities.makeCORBAEventAudits(orb, __collective, sharkProc.get_sequence_history(max_number));
> +        } catch (org.enhydra.shark.api.client.wfmodel.HistoryNotAvailable hna) {
> +            throw new HistoryNotAvailable();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    /**
> +     * Checks if a 'member' is an element of the history.
> +     *
> +     * @return true if the element of the history, false otherwise.
> +     */
> +    public boolean is_member_of_history(WfExecutionObject member) throws BaseException {
> +        try {
> +            boolean ret = false;
> +            WfEventAudit[] evs = SharkCORBAUtilities.makeCORBAEventAudits(orb, __collective, sharkProc.get_sequence_history(0));
> +            if (evs != null) {
> +                for (int i = 0; i < evs.length; i++) {
> +                    WfEventAudit ea = evs[i];
> +                    if (member instanceof WfActivity) {
> +                        WfActivity act = (WfActivity) member;
> +                        if (act.container().key().equals(ea.process_key())
> +                                && act.key().equals(ea.activity_key())) {
> +                            ret = true;
> +                            break;
> +                        }
> +                    } else {
> +                        if (member.key().equals(ea.process_key())) {
> +                            ret = true;
> +                            break;
> +                        }
> +                    }
> +                }
> +            }
> +            return ret;
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public UtcT last_state_time() throws BaseException {
> +        try {
> +            org.enhydra.shark.api.client.timebase.UtcT t = sharkProc.last_state_time();
> +            return new UtcT(t.time, t.inacclo, t.inacchi, t.tdf);
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    /**
> +     * It is assumed that there can't be two or more processes having the
> +     * same key.
> +     */
> +    public boolean equals(java.lang.Object obj) {
> +        if (!(obj instanceof WfProcess)) return false;
> +        WfProcess proc = (WfProcess) obj;
> +        try {
> +            return proc.key().equals(key());
> +        } catch (Exception ex) {
> +            return false;
> +        }
> +    }
> +
> +    public String toString() {
> +        return sharkProc.toString();
> +    }
>  }
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfProcessIteratorCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfProcessIteratorCORBA.java,v
> retrieving revision 1.4
> diff -u -r1.4 WfProcessIteratorCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfProcessIteratorCORBA.java 5 May 2005 14:01:16 -0000 1.4
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfProcessIteratorCORBA.java 20 Jun 2005 05:00:35 -0000
> @@ -1,8 +1,13 @@
>  package org.enhydra.shark.corba;
>
>  import org.omg.WfBase.*;
> -import org.omg.WorkflowModel.WfProcess;
> -import org.omg.WorkflowModel._WfProcessIteratorImplBase;
> +import org.omg.WorkflowModel.*;
> +import org.omg.CORBA.ORB;
> +import org.omg.PortableServer.POA;
> +import org.omg.PortableServer.POAHelper;
> +import org.omg.PortableServer.POAPackage.ServantAlreadyActive;
> +import org.omg.PortableServer.POAPackage.WrongPolicy;
> +import org.omg.PortableServer.POAPackage.ServantNotActive;
>
>  /**
>   * Iterator for process managers processes.
> @@ -10,17 +15,20 @@
>   * @author Sasa Bojanic
>   * @version 1.0
>   */
> -public class WfProcessIteratorCORBA extends _WfProcessIteratorImplBase /*implements
> +public class WfProcessIteratorCORBA extends WfProcessIteratorPOA /*implements
>  Collective.Member */ {
>
>     org.enhydra.shark.api.client.wfmodel.WfProcessIterator myIterator;
>
>     private Collective __collective;
> +   private ORB orb;
>
> -   protected WfProcessIteratorCORBA(Collective toJoin,
> +   protected WfProcessIteratorCORBA(ORB orb, Collective toJoin,
>                                      org.enhydra.shark.api.client.wfmodel.WfProcessIterator iter) throws BaseException {
>        __collective = toJoin;
> -      toJoin.__recruit(this);
> +       this.orb = orb;
> +
> +      toJoin.__recruit(_this(orb));
>        this.myIterator = iter;
>     }
>
> @@ -51,7 +59,7 @@
>
>     public NameValue[] names_in_expression() throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBANameValueArray(this._orb(),
> +         return SharkCORBAUtilities.makeCORBANameValueArray(orb,
>                                                              myIterator.names_in_expression());
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -114,7 +122,7 @@
>
>     public WfProcess get_next_object() throws BaseException {
>        try {
> -         return new WfProcessCORBA(__collective, myIterator.get_next_object());
> +         return SharkCORBAUtilities.makeWfProcess(orb, new WfProcessCORBA(orb, __collective, myIterator.get_next_object()));
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> @@ -122,8 +130,8 @@
>
>     public WfProcess get_previous_object() throws BaseException {
>        try {
> -         return new WfProcessCORBA(__collective,
> -                                   myIterator.get_previous_object());
> +         return SharkCORBAUtilities.makeWfProcess(orb, new WfProcessCORBA(orb, __collective,
> +                                   myIterator.get_previous_object()));
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> @@ -131,7 +139,7 @@
>
>     public WfProcess[] get_next_n_sequence(int max_number) throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBAProcesses(__collective,
> +         return SharkCORBAUtilities.makeCORBAProcesses(orb,__collective,
>                                                         myIterator.get_next_n_sequence(max_number));
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -140,7 +148,7 @@
>
>     public WfProcess[] get_previous_n_sequence(int max_number) throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBAProcesses(__collective,
> +         return SharkCORBAUtilities.makeCORBAProcesses(orb,__collective,
>                                                         myIterator.get_previous_n_sequence(max_number));
>        } catch (Exception ex) {
>           throw new BaseException();
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfProcessMgrCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfProcessMgrCORBA.java,v
> retrieving revision 1.5
> diff -u -r1.5 WfProcessMgrCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfProcessMgrCORBA.java 15 Jun 2005 15:47:21 -0000 1.5
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfProcessMgrCORBA.java 25 Jun 2005 17:46:18 -0000
> @@ -3,189 +3,220 @@
>  import org.omg.WfBase.BaseException;
>  import org.omg.WfBase.NameValueInfo;
>  import org.omg.WorkflowModel.*;
> +import org.omg.CORBA.ORB;
> +import org.omg.PortableServer.POA;
> +import org.omg.PortableServer.POAHelper;
> +import org.omg.PortableServer.POAPackage.ServantAlreadyActive;
> +import org.omg.PortableServer.POAPackage.WrongPolicy;
> +import org.omg.PortableServer.POAPackage.ServantNotActive;
>
>  /**
>   * WfProcessMgrImpl - Workflow Process Manager implementation
>   */
>
> -public class WfProcessMgrCORBA extends _WfProcessMgrImplBase /*implements
> +public class WfProcessMgrCORBA extends WfProcessMgrPOA /*implements
>  Collective.Member */ {
>
> -   org.enhydra.shark.api.client.wfmodel.WfProcessMgr sharkProcMgr;
> +    org.enhydra.shark.api.client.wfmodel.WfProcessMgr sharkProcMgr;
>
> -   private Collective __collective;
> +    private Collective __collective;
> +    private ORB orb;
>
> -   /**
> -    * Creates new WfProcessMgrImpl
> -    *
> -    * @param sharkProcMgr a WfProcessMgr
> -    */
> -   protected WfProcessMgrCORBA(Collective toJoin,
> -                               org.enhydra.shark.api.client.wfmodel.WfProcessMgr sharkProcMgr) {
> -      __collective = toJoin;
> -      toJoin.__recruit(this);
> -      this.sharkProcMgr = sharkProcMgr;
> -   }
> -
> -   public int how_many_process() throws BaseException {
> -      try {
> -         return sharkProcMgr.how_many_process();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public WfProcessIterator get_iterator_process() throws BaseException {
> -      try {
> -         return new WfProcessIteratorCORBA(__collective,
> -                                           sharkProcMgr.get_iterator_process());
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public WfProcess[] get_sequence_process(int max_number) throws BaseException {
> -      try {
> -         return SharkCORBAUtilities.makeCORBAProcesses(__collective,
> -                                                       sharkProcMgr.get_sequence_process(max_number));
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public boolean is_member_of_process(WfProcess member) throws BaseException {
> -      try {
> -         WfProcess[] procs = get_sequence_process(0);
> -         boolean ret = false;
> -         if (procs != null) {
> -            for (int i = 0; i < procs.length; i++) {
> -               if (procs[i].key().equals(member.key())) {
> -                  ret = true;
> -                  break;
> -               }
> +    /**
> +     * Creates new WfProcessMgrImpl
> +     *
> +     * @param sharkProcMgr a WfProcessMgr
> +     */
> +    protected WfProcessMgrCORBA(ORB orb, Collective toJoin,
> +                                org.enhydra.shark.api.client.wfmodel.WfProcessMgr sharkProcMgr) {
> +        __collective = toJoin;
> +        this.orb = orb;
> +
> +        toJoin.__recruit(_this(orb));
> +        this.sharkProcMgr = sharkProcMgr;
> +    }
> +
> +    public int how_many_process() throws BaseException {
> +        try {
> +            return sharkProcMgr.how_many_process();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public WfProcessIterator get_iterator_process() throws BaseException {
> +        WfProcessIterator ret = null;
> +        try {
> +            return SharkCORBAUtilities.makeWfProcessIterator( orb, new WfProcessIteratorCORBA(orb, __collective,
> +                    sharkProcMgr.get_iterator_process()));
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +
> +    }
> +
> +    public WfProcess[] get_sequence_process(int max_number) throws BaseException {
> +        try {
> +            return SharkCORBAUtilities.makeCORBAProcesses(orb, __collective,
> +                    sharkProcMgr.get_sequence_process(max_number));
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public boolean is_member_of_process(WfProcess member) throws BaseException {
> +        try {
> +            WfProcess[] procs = get_sequence_process(0);
> +            boolean ret = false;
> +            if (procs != null) {
> +                for (int i = 0; i < procs.length; i++) {
> +                    if (procs[i].key().equals(member.key())) {
> +                        ret = true;
> +                        break;
> +                    }
> +                }
>              }
> -         }
> -         return ret;
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public process_mgr_stateType process_mgr_state() throws BaseException {
> -      try {
> -         return process_mgr_stateType.from_int(sharkProcMgr.process_mgr_state()
> -            .value());
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public void set_process_mgr_state(process_mgr_stateType new_state) throws BaseException,
> -                                                                     TransitionNotAllowed {
> -      try {
> -
sharkProcMgr.set_process_mgr_state(org.enhydra.shark.api.client.wfmodel.process_mgr_stateType.from_int(new_state.value()));
> -      } catch (org.enhydra.shark.api.client.wfmodel.TransitionNotAllowed tna) {
> -         throw new TransitionNotAllowed();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public String name() throws BaseException {
> -      try {
> -         return sharkProcMgr.name();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public String description() throws BaseException {
> -      try {
> -         return sharkProcMgr.description();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public String category() throws BaseException {
> -      try {
> -         return sharkProcMgr.category();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public String version() throws BaseException {
> -      try {
> -         return sharkProcMgr.version();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public NameValueInfo[] context_signature() throws BaseException {
> -      try {
> -         return SharkCORBAUtilities.makeCORBANameValueInfoArray(sharkProcMgr.context_signature());
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   public NameValueInfo[] result_signature() throws BaseException {
> -      try {
> -         return SharkCORBAUtilities.makeCORBANameValueInfoArray(sharkProcMgr.result_signature());
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Create a WfProcess object
> -    */
> -   public WfProcess create_process(WfRequester requester) throws BaseException,
> -                                                         NotEnabled,
> -                                                         InvalidRequester,
> -                                                         RequesterRequired {
> -
> -      if (requester == null) throw new RequesterRequired();
> -
> -      if (requester instanceof WfActivity) { throw new BaseException(); }
> -
> -      try {
> -         WfLinkingRequesterForCORBA lr = new WfLinkingRequesterForCORBA();
> -         org.enhydra.shark.api.client.wfmodel.WfProcess procInternal=
> -            sharkProcMgr.create_process(lr);
> -         WfLinkingRequesterForCORBA.setCORBARequester(procInternal.key(), requester);
> -         WfProcess pr = new WfProcessCORBA(__collective,procInternal);
> -         return pr;
> -      } catch (org.enhydra.shark.api.client.wfmodel.NotEnabled ne) {
> -         throw new NotEnabled();
> -      } catch (org.enhydra.shark.api.client.wfmodel.InvalidRequester ir) {
> -         throw new InvalidRequester();
> -      } catch (org.enhydra.shark.api.client.wfmodel.RequesterRequired rr) {
> -         throw new RequesterRequired();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * It is assumed that there can't be two or more processes mgrs
> -    * having the same name.
> -    */
> -   public boolean equals(Object obj) {
> -      if (!(obj instanceof WfProcessMgr)) return false;
> -      WfProcessMgr mgr = (WfProcessMgr) obj;
> -      try {
> -         return mgr.name().equals(name());
> -      } catch (Exception ex) {
> -         return false;
> -      }
> -   }
> -
> -   public String toString() {
> -      return sharkProcMgr.toString();
> -   }
> +            return ret;
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public process_mgr_stateType process_mgr_state() throws BaseException {
> +        try {
> +            return process_mgr_stateType.from_int(sharkProcMgr.process_mgr_state()
> +                    .value());
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public void set_process_mgr_state(process_mgr_stateType new_state) throws BaseException,
> +            TransitionNotAllowed {
> +        try {
> +
sharkProcMgr.set_process_mgr_state(org.enhydra.shark.api.client.wfmodel.process_mgr_stateType.from_int(new_state.value()));
> +        } catch (org.enhydra.shark.api.client.wfmodel.TransitionNotAllowed tna) {
> +            throw new TransitionNotAllowed();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public String name() throws BaseException {
> +        try {
> +            return sharkProcMgr.name();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public String description() throws BaseException {
> +        try {
> +            return sharkProcMgr.description();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public String category() throws BaseException {
> +        try {
> +            return sharkProcMgr.category();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public String version() throws BaseException {
> +        try {
> +            return sharkProcMgr.version();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public NameValueInfo[] context_signature() throws BaseException {
> +        try {
> +            return SharkCORBAUtilities.makeCORBANameValueInfoArray(sharkProcMgr.context_signature());
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    public NameValueInfo[] result_signature() throws BaseException {
> +        try {
> +            return SharkCORBAUtilities.makeCORBANameValueInfoArray(sharkProcMgr.result_signature());
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    /**
> +     * Create a WfProcess object
> +     */
> +    public WfProcess create_process(WfRequester requester) throws BaseException,
> +            NotEnabled,
> +            InvalidRequester,
> +            RequesterRequired {
> +
> +        if (requester == null) throw new RequesterRequired();
> +
> +        if (requester instanceof WfActivity) {
> +            throw new BaseException();
> +        }
> +        WfProcess pr = null;
> +
> +        try {
> +
> +            WfLinkingRequesterForCORBA lr = new WfLinkingRequesterForCORBA();
> +            lr.setOrb(orb);
> +            org.enhydra.shark.api.client.wfmodel.WfProcess procInternal =
> +                    sharkProcMgr.create_process(lr);
> +            WfLinkingRequesterForCORBA.setCORBARequester(procInternal.key(), requester);
> +
> +
> +            WfProcessCORBA impl = new WfProcessCORBA(orb, __collective, procInternal);
> +           // POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
> +            POA rootPOA = SharkCORBAUtilities.getPOA();
> +            byte[] o = rootPOA.activate_object(impl);
> +            pr = WfProcessHelper.narrow(rootPOA.id_to_reference(o));
> +
> +        } catch (ServantAlreadyActive servantAlreadyActive) {
> +            servantAlreadyActive.printStackTrace();
> +        } catch (WrongPolicy wrongPolicy) {
> +            wrongPolicy.printStackTrace();
> +     //   } catch (ServantNotActive servantNotActive) {
> +     //       servantNotActive.printStackTrace();
> +
> +
> +        } catch (org.enhydra.shark.api.client.wfmodel.NotEnabled ne) {
> +            throw new NotEnabled();
> +        } catch (org.enhydra.shark.api.client.wfmodel.InvalidRequester ir) {
> +            throw new InvalidRequester();
> +        } catch (org.enhydra.shark.api.client.wfmodel.RequesterRequired rr) {
> +            throw new RequesterRequired();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +        return pr;
> +    }
> +
> +    /**
> +     * It is assumed that there can't be two or more processes mgrs
> +     * having the same name.
> +     */
> +    public boolean equals(Object obj) {
> +        if (!(obj instanceof WfProcessMgr)) return false;
> +        WfProcessMgr mgr = (WfProcessMgr) obj;
> +        try {
> +            return mgr.name().equals(name());
> +        } catch (Exception ex) {
> +            return false;
> +        }
> +    }
> +
> +    public String toString() {
> +        return sharkProcMgr.toString();
> +    }
>
>  }
>
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfProcessMgrIteratorCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfProcessMgrIteratorCORBA.java,v
> retrieving revision 1.4
> diff -u -r1.4 WfProcessMgrIteratorCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfProcessMgrIteratorCORBA.java 5 May 2005 14:01:16 -0000 1.4
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfProcessMgrIteratorCORBA.java 20 Jun 2005 05:00:35 -0000
> @@ -1,8 +1,15 @@
>  package org.enhydra.shark.corba;
>
> -import org.enhydra.shark.corba.WorkflowService._WfProcessMgrIteratorImplBase;
> +import org.enhydra.shark.corba.WorkflowService.WfProcessMgrIteratorPOA;
>  import org.omg.WfBase.*;
>  import org.omg.WorkflowModel.WfProcessMgr;
> +import org.omg.WorkflowModel.WfProcessMgrHelper;
> +import org.omg.CORBA.ORB;
> +import org.omg.PortableServer.POA;
> +import org.omg.PortableServer.POAHelper;
> +import org.omg.PortableServer.POAPackage.ServantAlreadyActive;
> +import org.omg.PortableServer.POAPackage.WrongPolicy;
> +import org.omg.PortableServer.POAPackage.ServantNotActive;
>
>  /**
>   * Iterator for engine's process managers.
> @@ -10,17 +17,21 @@
>   * @author Sasa Bojanic
>   * @version 1.0
>   */
> -public class WfProcessMgrIteratorCORBA extends _WfProcessMgrIteratorImplBase /*implements
> +public class WfProcessMgrIteratorCORBA extends WfProcessMgrIteratorPOA /*implements
>  Collective.Member */ {
>
>     org.enhydra.shark.api.client.wfservice.WfProcessMgrIterator myIterator;
>     private Collective __collective;
> +    private ORB orb;
>
> -   protected WfProcessMgrIteratorCORBA(Collective toJoin,
> +   protected WfProcessMgrIteratorCORBA(ORB orb, Collective toJoin,
>                                         org.enhydra.shark.api.client.wfservice.WfProcessMgrIterator iter) throws BaseException {
>        __collective = toJoin;
> -      toJoin.__recruit(this);
> +
>        this.myIterator = iter;
> +       this.orb = orb;
> +            // activate the object.
> +       toJoin.__recruit(_this(orb));
>     }
>
>     public String query_expression() throws BaseException {
> @@ -48,7 +59,7 @@
>
>     public NameValue[] names_in_expression() throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBANameValueArray(this._orb(),
> +         return SharkCORBAUtilities.makeCORBANameValueArray(orb,
>                                                              myIterator.names_in_expression());
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -111,7 +122,7 @@
>
>     public WfProcessMgr get_next_object() throws BaseException {
>        try {
> -         return new WfProcessMgrCORBA(__collective, myIterator.get_next_object());
> +         return SharkCORBAUtilities.makeWfProcessMgr( orb, new WfProcessMgrCORBA(orb, __collective,
myIterator.get_next_object()));
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> @@ -119,8 +130,8 @@
>
>     public WfProcessMgr get_previous_object() throws BaseException {
>        try {
> -         return new WfProcessMgrCORBA(__collective,
> -                                      myIterator.get_previous_object());
> +         return SharkCORBAUtilities.makeWfProcessMgr(orb, new WfProcessMgrCORBA(orb,__collective,
> +                                      myIterator.get_previous_object()));
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> @@ -128,7 +139,7 @@
>
>     public WfProcessMgr[] get_next_n_sequence(int max_number) throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBAProcessMgrs(__collective,
> +         return SharkCORBAUtilities.makeCORBAProcessMgrs(orb,__collective,
>                                                           myIterator.get_next_n_sequence(max_number));
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -137,7 +148,7 @@
>
>     public WfProcessMgr[] get_previous_n_sequence(int max_number) throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBAProcessMgrs(__collective,
> +         return SharkCORBAUtilities.makeCORBAProcessMgrs(orb,__collective,
>                                                           myIterator.get_previous_n_sequence(max_number));
>        } catch (Exception ex) {
>           throw new BaseException();
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfRequesterCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfRequesterCORBA.java,v
> retrieving revision 1.4
> diff -u -r1.4 WfRequesterCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfRequesterCORBA.java 5 May 2005 14:01:16 -0000 1.4
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfRequesterCORBA.java 23 Jun 2005 22:08:33 -0000
> @@ -2,21 +2,26 @@
>
>  import org.omg.WfBase.BaseException;
>  import org.omg.WorkflowModel.*;
> +import org.omg.CORBA.ORB;
> +
>
>  /**
>   * WfRequesterImpl - Workflow Requester implementation
>   */
> -public class WfRequesterCORBA extends _WfRequesterImplBase /*implements
> +public class WfRequesterCORBA extends WfRequesterPOA /*implements
>  Collective.Member */ {
>
>     org.enhydra.shark.api.client.wfmodel.WfRequester reqInternal;
>
>     private Collective __collective;
> +   private ORB orb;
>
> -   public WfRequesterCORBA(Collective toJoin,
> +   public WfRequesterCORBA(ORB orb, Collective toJoin,
>                             org.enhydra.shark.api.client.wfmodel.WfRequester reqInternal) {
>        __collective = toJoin;
> -      toJoin.__recruit(this);
> +       this.orb = orb;
> +
> +      toJoin.__recruit(_this(orb));
>        this.reqInternal = reqInternal;
>     }
>
> @@ -35,12 +40,15 @@
>      * Gets an iterator of processes.
>      */
>     public WfProcessIterator get_iterator_performer() throws BaseException {
> +
>        try {
> -         return new WfProcessIteratorCORBA(__collective,
> -                                           reqInternal.get_iterator_performer());
> +         return SharkCORBAUtilities.makeWfProcessIterator(orb, new WfProcessIteratorCORBA(orb, __collective,
> +                                           reqInternal.get_iterator_performer()));
> +
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> +
>     }
>
>     /**
> @@ -50,7 +58,7 @@
>      */
>     public WfProcess[] get_sequence_performer(int max_number) throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBAProcesses(__collective, reqInternal.get_sequence_performer(max_number));
> +         return SharkCORBAUtilities.makeCORBAProcesses(orb, __collective, reqInternal.get_sequence_performer(max_number));
>        } catch (Exception ex) {
>           throw new BaseException();
>        }
> @@ -64,7 +72,7 @@
>     public boolean is_member_of_performer(WfProcess member) throws BaseException {
>        try {
>           boolean ret = false;
> -         WfProcess[] perfs = SharkCORBAUtilities.makeCORBAProcesses(__collective, reqInternal.get_sequence_performer(0));
> +         WfProcess[] perfs = SharkCORBAUtilities.makeCORBAProcesses(orb, __collective, reqInternal.get_sequence_performer(0));
>           if (perfs != null) {
>              for (int i = 0; i < perfs.length; i++) {
>                 WfProcess perf = perfs[i];
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfResourceCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfResourceCORBA.java,v
> retrieving revision 1.4
> diff -u -r1.4 WfResourceCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfResourceCORBA.java 5 May 2005 14:01:16 -0000 1.4
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfResourceCORBA.java 20 Jun 2005 05:00:36 -0000
> @@ -2,146 +2,158 @@
>
>  import org.omg.WfBase.*;
>  import org.omg.WorkflowModel.*;
> +import org.omg.CORBA.ORB;
> +import org.omg.PortableServer.POA;
> +import org.omg.PortableServer.POAHelper;
> +import org.omg.PortableServer.POAPackage.ServantAlreadyActive;
> +import org.omg.PortableServer.POAPackage.WrongPolicy;
> +import org.omg.PortableServer.POAPackage.ServantNotActive;
>
>  /**
>   * WfResourceImpl - Workflow Resource Object implementation.
> - *
> + *
>   * @author Sasa Bojanic
>   * @version 1.0
>   */
> -public class WfResourceCORBA extends _WfResourceImplBase /*implements
> +public class WfResourceCORBA extends WfResourcePOA /*implements
>  Collective.Member */ {
> -   //private SharkCORBAServer myServer;
> +    //private SharkCORBAServer myServer;
>
> -   org.enhydra.shark.api.client.wfmodel.WfResource sharkRes;
> -   private Collective __collective;
> -
> -   /**
> -    * Creates a new WfResource
> -    *
> -    * @param sharkRes a WfResource
> -    */
> -   protected WfResourceCORBA(Collective toJoin,
> -                             org.enhydra.shark.api.client.wfmodel.WfResource sharkRes) {
> -      __collective = toJoin;
> -      toJoin.__recruit(this);
> -      this.sharkRes = sharkRes;
> -   }
> -
> -   /**
> -    * Gets the number of work items currently assigned to this resource.
> -    */
> -   public int how_many_work_item() throws BaseException {
> -      try {
> -         return sharkRes.how_many_work_item();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Gets an iterator of work items.
> -    */
> -   public WfAssignmentIterator get_iterator_work_item() throws BaseException {
> -      try {
> -         return new WfAssignmentIteratorCORBA(__collective,
> -                                              sharkRes.get_iterator_work_item());
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Gets the work items.
> -    *
> -    * @return List of WfAssignment objects.
> -    */
> -   public WfAssignment[] get_sequence_work_item(int max_number) throws BaseException {
> -      try {
> -         return SharkCORBAUtilities.makeCORBAAssignments(__collective,
> -                                                         sharkRes.get_sequence_work_item(max_number));
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Checks if an assignment object is associated with this resource
> -    *
> -    * @return true if assignment is part of the work list for this
> -    *         resource.
> -    */
> -   public boolean is_member_of_work_items(WfAssignment member) throws BaseException {
> -      try {
> -         WfAssignment[] ass = get_sequence_work_item(0);
> -         boolean ret = false;
> -         if (ass != null) {
> -            for (int i = 0; i < ass.length; i++) {
> -               WfAssignment as = ass[i];
> -               if (as.equals(member)) {
> -                  ret = true;
> -                  break;
> -               }
> +    org.enhydra.shark.api.client.wfmodel.WfResource sharkRes;
> +    private Collective __collective;
> +    private ORB orb;
> +
> +    /**
> +     * Creates a new WfResource
> +     *
> +     * @param sharkRes a WfResource
> +     */
> +    protected WfResourceCORBA(ORB orb, Collective toJoin,
> +                              org.enhydra.shark.api.client.wfmodel.WfResource sharkRes) {
> +        __collective = toJoin;
> +        this.orb = orb;
> +
> +        toJoin.__recruit(_this(orb));
> +        this.sharkRes = sharkRes;
> +    }
> +
> +    /**
> +     * Gets the number of work items currently assigned to this resource.
> +     */
> +    public int how_many_work_item() throws BaseException {
> +        try {
> +            return sharkRes.how_many_work_item();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    /**
> +     * Gets an iterator of work items.
> +     */
> +    public WfAssignmentIterator get_iterator_work_item() throws BaseException {
> +        WfAssignmentIterator ret = null;
> +        try {
> +            return SharkCORBAUtilities.makeWfAssignmentIterator(orb, new WfAssignmentIteratorCORBA(orb, __collective,
> +                    sharkRes.get_iterator_work_item()));
> +
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +
> +    }
> +
> +    /**
> +     * Gets the work items.
> +     *
> +     * @return List of WfAssignment objects.
> +     */
> +    public WfAssignment[] get_sequence_work_item(int max_number) throws BaseException {
> +        try {
> +            return SharkCORBAUtilities.makeCORBAAssignments(orb, __collective,
> +                    sharkRes.get_sequence_work_item(max_number));
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    /**
> +     * Checks if an assignment object is associated with this resource
> +     *
> +     * @return true if assignment is part of the work list for this
> +     *         resource.
> +     */
> +    public boolean is_member_of_work_items(WfAssignment member) throws BaseException {
> +        try {
> +            WfAssignment[] ass = get_sequence_work_item(0);
> +            boolean ret = false;
> +            if (ass != null) {
> +                for (int i = 0; i < ass.length; i++) {
> +                    WfAssignment as = ass[i];
> +                    if (as.equals(member)) {
> +                        ret = true;
> +                        break;
> +                    }
> +                }
>              }
> -         }
> -         return ret;
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Gets the resource username.
> -    */
> -   public String resource_key() throws BaseException {
> -      try {
> -         return sharkRes.resource_key();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Gets the resource name.
> -    */
> -   public String resource_name() throws BaseException {
> -      try {
> -         return sharkRes.resource_name();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * Release the resouce from the assignment.
> -    */
> -   public void release(WfAssignment from_assigment, String release_info) throws BaseException,
> -                                                                        NotAssigned {
> -      try {
> -         sharkRes.release(null, release_info);
> -      } catch (org.enhydra.shark.api.client.wfmodel.NotAssigned na) {
> -         throw new NotAssigned();
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> -   }
> -
> -   /**
> -    * It is assumed that there can't be two or more resources having the
> -    * same resource key.
> -    */
> -   public boolean equals(Object obj) {
> -      if (!(obj instanceof WfResource)) return false;
> -      WfResource res = (WfResource) obj;
> -      try {
> -         return res.resource_key().equals(resource_key());
> -      } catch (Exception ex) {
> -         return false;
> -      }
> -   }
> -
> -   public String toString() {
> -      return sharkRes.toString();
> -   }
> +            return ret;
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    /**
> +     * Gets the resource username.
> +     */
> +    public String resource_key() throws BaseException {
> +        try {
> +            return sharkRes.resource_key();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    /**
> +     * Gets the resource name.
> +     */
> +    public String resource_name() throws BaseException {
> +        try {
> +            return sharkRes.resource_name();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    /**
> +     * Release the resouce from the assignment.
> +     */
> +    public void release(WfAssignment from_assigment, String release_info) throws BaseException,
> +            NotAssigned {
> +        try {
> +            sharkRes.release(null, release_info);
> +        } catch (org.enhydra.shark.api.client.wfmodel.NotAssigned na) {
> +            throw new NotAssigned();
> +        } catch (Exception ex) {
> +            throw new BaseException();
> +        }
> +    }
> +
> +    /**
> +     * It is assumed that there can't be two or more resources having the
> +     * same resource key.
> +     */
> +    public boolean equals(Object obj) {
> +        if (!(obj instanceof WfResource)) return false;
> +        WfResource res = (WfResource) obj;
> +        try {
> +            return res.resource_key().equals(resource_key());
> +        } catch (Exception ex) {
> +            return false;
> +        }
> +    }
> +
> +    public String toString() {
> +        return sharkRes.toString();
> +    }
>
>  }
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfResourceIteratorCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfResourceIteratorCORBA.java,v
> retrieving revision 1.4
> diff -u -r1.4 WfResourceIteratorCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfResourceIteratorCORBA.java 5 May 2005 14:01:16 -0000 1.4
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfResourceIteratorCORBA.java 20 Jun 2005 05:00:35 -0000
> @@ -1,8 +1,20 @@
>  package org.enhydra.shark.corba;
>
> -import org.enhydra.shark.corba.WorkflowService._WfResourceIteratorImplBase;
> +import org.enhydra.shark.corba.WorkflowService.WfResourceIteratorPOA;
> +import org.enhydra.shark.api.client.wfbase.*;
>  import org.omg.WfBase.*;
> +import org.omg.WfBase.BaseException;
> +import org.omg.WfBase.GrammarNotSupported;
> +import org.omg.WfBase.InvalidQuery;
> +import org.omg.WfBase.NameMismatch;
>  import org.omg.WorkflowModel.WfResource;
> +import org.omg.WorkflowModel.WfCreateProcessEventAuditHelper;
> +import org.omg.CORBA.ORB;
> +import org.omg.PortableServer.POA;
> +import org.omg.PortableServer.POAHelper;
> +import org.omg.PortableServer.POAPackage.ServantAlreadyActive;
> +import org.omg.PortableServer.POAPackage.WrongPolicy;
> +import org.omg.PortableServer.POAPackage.ServantNotActive;
>
>  /**
>   * Iterator for engine resources.
> @@ -10,17 +22,20 @@
>   * @author Sasa Bojanic
>   * @version 1.0
>   */
> -public class WfResourceIteratorCORBA extends _WfResourceIteratorImplBase /*implements
> +public class WfResourceIteratorCORBA extends WfResourceIteratorPOA /*implements
>  Collective.Member */ {
>
>     org.enhydra.shark.api.client.wfservice.WfResourceIterator myIterator;
>
>     private Collective __collective;
> +    private ORB orb;
>
> -   protected WfResourceIteratorCORBA(Collective toJoin,
> +   protected WfResourceIteratorCORBA(ORB orb, Collective toJoin,
>                                       org.enhydra.shark.api.client.wfservice.WfResourceIterator iter) throws BaseException {
> +       this.orb = orb;
> +
>        __collective = toJoin;
> -      toJoin.__recruit(this);
> +      toJoin.__recruit(_this(orb));
>        this.myIterator = iter;
>     }
>
> @@ -48,7 +63,7 @@
>
>     public NameValue[] names_in_expression() throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBANameValueArray(this._orb(),
> +         return SharkCORBAUtilities.makeCORBANameValueArray(orb,
>                                                              myIterator.names_in_expression());
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -110,26 +125,37 @@
>     }
>
>     public WfResource get_next_object() throws BaseException {
> -      try {
> -         return new WfResourceCORBA(__collective,
> -                                    myIterator.get_next_object());
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> +
> +
> +       try {
> +           return SharkCORBAUtilities.makeWfResource(orb, new WfResourceCORBA(orb, __collective,
> +                                      myIterator.get_next_object()));
> +
> +       } catch (org.enhydra.shark.api.client.wfbase.BaseException e) {
> +           e.printStackTrace();
> +       }
> +       return null;
> +
>     }
>
>     public WfResource get_previous_object() throws BaseException {
> -      try {
> -         return new WfResourceCORBA(__collective,
> -                                    myIterator.get_previous_object());
> -      } catch (Exception ex) {
> -         throw new BaseException();
> -      }
> +
> +
> +       try {
> +           WfResourceCORBA impl = new WfResourceCORBA(orb, __collective,
> +                                     myIterator.get_previous_object());
> +           return SharkCORBAUtilities.makeWfResource(orb, impl);
> +       } catch (org.enhydra.shark.api.client.wfbase.BaseException e) {
> +           e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
> +       }
> +       return null;
> +
> +
>     }
>
>     public WfResource[] get_next_n_sequence(int max_number) throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBAResources(__collective,
> +         return SharkCORBAUtilities.makeCORBAResources(orb,__collective,
>                                                         myIterator.get_next_n_sequence(max_number));
>        } catch (Exception ex) {
>           throw new BaseException();
> @@ -138,7 +164,7 @@
>
>     public WfResource[] get_previous_n_sequence(int max_number) throws BaseException {
>        try {
> -         return SharkCORBAUtilities.makeCORBAResources(__collective,
> +         return SharkCORBAUtilities.makeCORBAResources(orb,__collective,
>                                                         myIterator.get_previous_n_sequence(max_number));
>        } catch (Exception ex) {
>           throw new BaseException();
> Index: modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfStateEventAuditCORBA.java
> ===================================================================
> RCS file: /cvsroot/shark/Shark/modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfStateEventAuditCORBA.java,v
> retrieving revision 1.5
> diff -u -r1.5 WfStateEventAuditCORBA.java
> --- modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfStateEventAuditCORBA.java 15 Jun 2005 15:47:21 -0000 1.5
> +++ modules/SharkCORBA/Server/src/org/enhydra/shark/corba/WfStateEventAuditCORBA.java 20 Jun 2005 05:00:35 -0000
> @@ -3,31 +3,45 @@
>  import org.omg.TimeBase.UtcT;
>  import org.omg.WfBase.BaseException;
>  import org.omg.WorkflowModel.*;
> +import org.omg.CORBA.ORB;
> +import org.omg.PortableServer.POA;
> +import org.omg.PortableServer.POAHelper;
> +import org.omg.PortableServer.POAPackage.ServantAlreadyActive;
> +import org.omg.PortableServer.POAPackage.WrongPolicy;
> +import org.omg.PortableServer.POAPackage.ServantNotActive;
>
>  /**
>   * WfStateEventAuditImpl - Workflow Event Audit implementation
>   */
> -public class WfStateEventAuditCORBA extends _WfStateEventAuditImplBase {
> -
> +
> +public class WfStateEventAuditCORBA extends WfStateEventAuditPOA /*implements
> +Collective.Member */ {
>     private org.enhydra.shark.api.client.wfmodel.WfStateEventAudit ea;
>
>     private Collective __collective;
> +    private ORB orb;
>
> -   protected WfStateEventAuditCORBA(Collective toJoin,
> +   protected WfStateEventAuditCORBA(ORB orb,Collective toJoin,
>                                      org.enhydra.shark.api.client.wfmodel.WfStateEventAudit ea) {
> +       this.orb = orb;
> +
>        __collective = toJoin;
> -      toJoin.__recruit(this);
> +      toJoin.__recruit(_this(orb));
>        this.ea = ea;
>     }
>
>     public WfExecutionObject source() throws BaseException, SourceNotAvailable {
>        try {
>           if (ea.source() instanceof org.enhydra.shark.api.client.wfmodel.WfProcess) {
> -            return new WfProcessCORBA(__collective,
> -                                      (org.enhydra.shark.api.client.wfmodel.WfProcess) ea.source());
> +
> +             return SharkCORBAUtilities.makeWfProcess(orb, new WfProcessCORBA(orb, __collective,
> +                                      (org.enhydra.shark.api.client.wfmodel.WfProcess) ea.source()));
> +
>           } else {
> -            return new WfActivityCORBA(__collective,
> -                                       (org.enhydra.shark.api.client.wfmodel.WfActivity) ea.source());
> +
> +            return SharkCORBAUtilities.makeWfActivity(orb, new WfActivityCORBA(orb,__collective,
> +                                       (org.enhydra.shark.api.client.wfmodel.WfActivity) ea.source()));
> +
>           }
>        } catch (org.enhydra.shark.api.client.wfmodel.SourceNotAvailable sna) {
>           throw new SourceNotAvailable();
>
>


--------------------------------------------------------------------------------


>
> --
> You receive this message as a subscriber of the [email protected] mailing list.
> To unsubscribe: mailto:[email protected]
> For general help: mailto:[email protected]?subject=help
> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
>
message.footer (text/plain, 271 B)
--
You receive this message as a subscriber of the [email protected] mailing list.
To unsubscribe: mailto:[email protected]
For general help: mailto:[email protected]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.