Advertisement
Guest User

Untitled

a guest
Jul 24th, 2014
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.38 KB | None | 0 0
  1. package ouproc;
  2.  
  3. import java.io.InputStream;
  4. import oracle.iam.platform.OIMClient;
  5. import java.util.Hashtable;
  6. import javax.security.auth.login.LoginException;
  7. import Thor.API.tcResultSet;
  8. import Thor.API.tcUtilityFactory;
  9. import Thor.API.Exceptions.tcAPIException;
  10. import Thor.API.Exceptions.tcColumnNotFoundException;
  11. import Thor.API.Exceptions.tcFormNotFoundException;
  12. import Thor.API.Exceptions.tcInvalidValueException;
  13. import Thor.API.Exceptions.tcNotAtomicProcessException;
  14. import Thor.API.Exceptions.tcProcessNotFoundException;
  15. import Thor.API.Exceptions.tcRequiredDataMissingException;
  16. import Thor.API.Exceptions.tcVersionNotDefinedException;
  17. import Thor.API.Operations.tcFormInstanceOperationsIntf;
  18. import Thor.API.Operations.tcProvisioningOperationsIntf;
  19. import Thor.API.Operations.tcUserOperationsIntf;
  20.  
  21. import com.thortech.xl.dataaccess.tcDataSetException;
  22.  
  23. import java.util.HashMap;
  24. import java.util.Map;
  25.  
  26. import oracle.iam.platform.Platform;
  27.  
  28.  
  29. public class GroupMembershipProcessor {
  30.     OIMClient oimClient;
  31.     String group = null;
  32.    
  33.    
  34.    
  35.     public String startMembershipProc(long processInstanceKey, String siteCode, String empType) throws LoginException {
  36.        
  37.        
  38.         GroupMembershipDetermination gmd = new GroupMembershipDetermination();
  39.         try {
  40.             group = gmd.DetermineSitecode(siteCode, empType);
  41.         } catch (tcDataSetException e) {
  42.             e.printStackTrace();
  43.         }
  44.        
  45.         // Local load for OIMClient
  46.         tcFormInstanceOperationsIntf formInstanceIntf =
  47.             Platform.getService(tcFormInstanceOperationsIntf.class);
  48.        
  49.         // Remote load for OIMClient
  50.         // tcFormInstanceOperationsIntf formInstanceIntf =
  51.         // oimClient.getService(tcFormInstanceOperationsIntf.class);
  52.        
  53.         //Retrieve process form definition key
  54.         long processDefKey = 0;
  55.         try {
  56.             processDefKey = formInstanceIntf.getProcessFormDefinitionKey(processInstanceKey);
  57.         } catch (tcProcessNotFoundException e) {
  58.             e.printStackTrace();
  59.         } catch (tcFormNotFoundException e) {
  60.             e.printStackTrace();
  61.         } catch (tcAPIException e) {
  62.             e.printStackTrace();
  63.         }
  64.         // Retrieving the process form active version
  65.         int formActiveVersion = 0;
  66.         try {
  67.             formActiveVersion = formInstanceIntf.getActiveVersion(processDefKey);
  68.         } catch (tcVersionNotDefinedException e) {
  69.             e.printStackTrace();
  70.         } catch (tcFormNotFoundException e) {
  71.             e.printStackTrace();
  72.         } catch (tcAPIException e) {
  73.             e.printStackTrace();
  74.         }
  75.         // Retrieving the Process Form Child Definition Key
  76.         String childFormName="UD_ADUSRC";
  77.         tcResultSet childTrsDef = null;
  78.         try {
  79.             childTrsDef =
  80.                     formInstanceIntf.getChildFormDefinition(processDefKey,
  81.             formActiveVersion);
  82.         } catch (tcFormNotFoundException e) {
  83.             e.printStackTrace();
  84.         } catch (tcVersionNotDefinedException e) {
  85.             e.printStackTrace();
  86.         } catch (tcAPIException e) {
  87.             e.printStackTrace();
  88.         }
  89.         int childCount = 0;
  90.         try {
  91.             childCount = childTrsDef.getRowCount();
  92.         } catch (tcAPIException e) {
  93.             e.printStackTrace();
  94.         }
  95.         long childDefKey=-1;
  96.         for (int i = 0 ; i < childCount ; i++) {
  97.             //Retreiving the Child Table Name and Child Table Definition Key
  98.             try {
  99.                 childTrsDef.goToRow(i);
  100.             } catch (tcAPIException e) {
  101.                 e.printStackTrace();
  102.             }
  103.             String tableName = null;
  104.             try {
  105.                 tableName = childTrsDef.getStringValue("Structure Utility.Table Name");
  106.             } catch (tcColumnNotFoundException e) {
  107.                 e.printStackTrace();
  108.             } catch (tcAPIException e) {
  109.                 e.printStackTrace();
  110.             }
  111.             try {
  112.                 childDefKey = childTrsDef.getLongValue("Structure Utility.Child Tables.Child Key");
  113.             } catch (tcColumnNotFoundException e) {
  114.                 e.printStackTrace();
  115.             } catch (tcAPIException e) {
  116.                 e.printStackTrace();
  117.             }
  118.             if(tableName.equalsIgnoreCase(childFormName)) {
  119.                    break;
  120.             }
  121.         }
  122.             String childColumnName="UD_ADUSRC_GROUPNAME";
  123.             Map<String, String> childData= new HashMap<String,String>();
  124.             childData.put(childColumnName, group);
  125.             try {
  126.                long test = formInstanceIntf.addProcessFormChildData(childDefKey,
  127.                                                     processInstanceKey,childData);
  128.                System.out.println(test);
  129.             } catch (tcProcessNotFoundException e) {
  130.                 e.printStackTrace();
  131.             } catch (tcFormNotFoundException e) {
  132.                 e.printStackTrace();
  133.             } catch (tcRequiredDataMissingException e) {
  134.                 e.printStackTrace();
  135.             } catch (tcInvalidValueException e) {
  136.                 e.printStackTrace();
  137.             } catch (tcNotAtomicProcessException e) {
  138.                 e.printStackTrace();
  139.             } catch (tcAPIException e) {
  140.                 e.printStackTrace();
  141.             }
  142.         return "C";
  143.     }
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement