Examples of HumanActivity


Examples of org.uengine.kernel.HumanActivity

   
    ProcessDefinitionInfo pdInfo = new ProcessDefinitionInfo();
   
    if (act instanceof HumanActivity) {
      try {
        HumanActivity humanAct = (HumanActivity) act;
       
        String[] taskId = humanAct.getTaskIds(this.instance);
        if (taskId != null) {
          pdInfo.setTaskId(humanAct.getTaskIds(this.instance)[0]);
        }
       
        String status = act.getStatus(this.instance);
        if (!Activity.STATUS_READY.equals(status)) {
          Calendar cal = null;
          cal = humanAct.getStartedTime(this.instance);
          if (cal != null) {
            pdInfo.setStartedDate(cal.getTime());
            cal = null;
          }
         
          cal = humanAct.getDueDate(this.instance);
          if (cal != null) {
            pdInfo.setDueDate(cal.getTime());
            cal = null;
          }
         
          cal = humanAct.getEndTime(this.instance);
          if (cal != null) {
            pdInfo.setFinishedDate(cal.getTime());
            cal = null;
          }
        }
       
        String endpoint = null;
        Role[] roles = this.pm.getProcessDefinitionRemoteWithInstanceId(this.instance.getInstanceId()).getRoles();
        if (roles != null) {
          for (Role role : roles) {
            if (role.getName().equals(humanAct.getRole().getName())) {
              endpoint = this.pm.getRoleMappingObject(this.instance.getInstanceId(), role.getName()).toString();
              break;
            }
          }
        }
View Full Code Here

Examples of org.uengine.kernel.HumanActivity

    setInitiateByFirstWorkitem(pd.isInitiateByFirstWorkitem());

    if(ptc!=null && isInitiateByFirstWorkitem()){
      ActivityReference initiatorActRef = pd.getInitiatorHumanActivityReference(ptc);
      HumanActivity initiatorHumanActivity = null;

      if(initiatorActRef!=null)
        initiatorHumanActivity = (HumanActivity)initiatorActRef.getActivity();

      if(initiatorHumanActivity!=null)
        //throw new RuntimeException(new UEngineException("Although this definition is set to be initiated by the first workitem, there's no initiating human activity."));
        setInitiatorHumanActivityTracingTag(initiatorHumanActivity.getTracingTag());
    }
  }
View Full Code Here

Examples of org.uengine.kernel.HumanActivity

    Activity activity,
    ProcessInstance instance,
    Map options) {
   
    StringBuilder sb =super.render(activity, instance, options);   
    HumanActivity humanActivity = (HumanActivity)activity;
   
   
    if(options.containsKey("show mapping")){
      String worker = null;               
             
      if(instance!=null){
        try{
          worker = humanActivity.getRole().getMapping(instance, activity.getTracingTag()).getName();
          if(options.containsKey("show photo")){
            //show photo of the user 
          }
        }catch(Exception e){
        }
      }
     
      if(worker==null)
        worker = humanActivity.getRole().toString();
       
      sb.insert(0, "<i><font size=-3 color=gray>&lt;" + humanActivity.getRole() + "&gt;</font></i>");
    }
   
    return sb;
  }
View Full Code Here

Examples of org.uengine.kernel.HumanActivity

  public String getIconImageURL(Activity activity, ProcessInstance instance, Map options) {

    if(options!=null && options.containsKey("showUserPortrait") && instance!=null){
      options.put("prefferedActivityIconHeight", "25");
      HumanActivity humanActivity = (HumanActivity)activity;
      try {
        RoleMapping roleMapping = humanActivity.getRole().getMapping(instance);
        if(roleMapping!=null){
          if(roleMapping.getUserPortrait()==null) roleMapping.fill(instance);
          if(roleMapping.getUserPortrait()!=null)
            return roleMapping.getUserPortrait();
        }
View Full Code Here

Examples of org.uengine.kernel.HumanActivity

     
      // 바로 다음 Activity는 등록하지 않는다. (어차피 NEW로 등록된다.)
//      if (a.getPreviousActivities().size() == 1)    continue;
     
      if (a instanceof HumanActivity) {
        HumanActivity  ha = (HumanActivity)a;
       
        RoleMapping  rm = ha.getRole().getMapping(instance);
       
        if (rm != null) {
          // 아래는 HumanActivity의 reserveWorkItem() 메소드를 옮겨온 것이다.
          WorkList worklist = instance.getWorkList();
         
          Map kpv = ha.createParameter(instance);
          KeyedParameter[] parameters = KeyedParameter.fromMap(kpv);   

          RoleMapping roleMapping = ha.getRole().getMapping(instance, ha.getTracingTag());   
          String[] taskIds = new String[roleMapping.size()];
         
          int idx = 0;
          do{
            taskIds[idx++] = worklist.reserveWorkItem(roleMapping.getEndpoint(), parameters, instance.getProcessTransactionContext());       
          }while(roleMapping.next());
         
          StringBuffer taskId = new StringBuffer();
          if (taskIds != null) {
            for (int j = 0; j < taskIds.length; j++) {
              if (taskId.length() > 0) taskId.append(",");
              taskId.append(taskIds[j]);
            }
          }
         
          instance.setProperty(ha.getTracingTag(), HumanActivity.PVKEY_TASKID, taskId.toString());
        }
      }
    }
  }
View Full Code Here

Examples of org.uengine.kernel.HumanActivity

      // 같은 roleName을 갖는 Activity를 찾는다.
      Vector  activities = pd.getChildActivities();
      for (int i = 0; i < activities.size(); i++) {
        Activity  a = (Activity)activities.get(i);
        if (a instanceof HumanActivity) {
          HumanActivity  ha = (HumanActivity)a;
          if (ha.getRole().getName().equals(roleName)) {
            // 변경된 Role 추가
            WorkList  workList = instance.getWorkList();
            String  userId = rm.getEndpoint();
           
            workList.reserveWorkItem(userId, KeyedParameter.fromMap(ha.createParameter(instance)), instance.getProcessTransactionContext());
          }
        }
      }
    }
View Full Code Here

Examples of org.uengine.kernel.HumanActivity

    Role role1 = new Role("Role1");
    Role role2 = new Role("Role2");
    Role role3 = new Role("Role3");
   
    ProcessDefinition def = new ProcessDefinition();{
      act = new HumanActivity();
      act.setName("report trouble");
      ((HumanActivity) act).setRole(role1);
      def.addChildActivity(act);

      act = new HumanActivity();
      act.setName("set the right person");
      ((HumanActivity) act).setRole(role2);     
      def.addChildActivity(act);
     
      cAct1 = new SwitchActivity();
      cAct1.setName("switch1");
      def.addChildActivity(cAct1);{
        cAct2 = new SequenceActivity();
        cAct1.addChildActivity(cAct2);{
          act = new HumanActivity();
          act.setName("Draft with resolution");
          ((HumanActivity) act).setRole(role3);
          cAct2.addChildActivity(act);
         
          act = new SQLActivity();
          act.setName("Database");
          cAct2.addChildActivity(act);
        }
        cAct2 = new LoopActivity();
        cAct1.addChildActivity(cAct2);{
          act = new HumanActivity();
          act.setName("Suggestion");
          ((HumanActivity) act).setRole(role3);
          cAct2.addChildActivity(act);
         
          act = new HumanActivity();
          act.setName("examine");
          ((HumanActivity) act).setRole(role2);
          cAct2.addChildActivity(act);
        }
      }
View Full Code Here

Examples of org.uengine.kernel.HumanActivity

    throws Exception {

    //TODO: [for performance] for performance, time checking for non-human activity is omitted
    if(!(activity instanceof HumanActivity)) return;
   
    HumanActivity humanActivity = (HumanActivity)activity;
    long elapsedTime = humanActivity.getElapsedTimeAsLong(instance);
    Long procDefId = new Long(humanActivity.getProcessDefinition().getBelongingDefinitionId());

    boolean isNew = false;
    long totalTime=0;
    long occurrence=0;

    Long[] totalTimeAndOccurrence = getTotalTimeAndOccurrence(humanActivity);
    if(totalTimeAndOccurrence==null){
      isNew = true;
    }else{
      totalTime=totalTimeAndOccurrence[0].longValue();
      occurrence=totalTimeAndOccurrence[1].longValue();
    }
   
    occurrence++;
    totalTime = totalTime + elapsedTime;
   
    String sql = (isNew?
    "insert into BPM_AUDIT_TIME(ProcDefId, TracingTag, TotalTime, Occurrence) values (?ProcDefId, ?TracingTag, ?TotalTime, ?Occurrence)":
    "update BPM_AUDIT_TIME set Occurrence=?Occurrence, TotalTime=?TotalTime where (ProcDefId = ?ProcDefId and TracingTag = ?TracingTag)"
    );
    
    BPM_AUDIT_TIME newProbability = (BPM_AUDIT_TIME)GenericDAO.createDAOImpl(
      DefaultConnectionFactory.create(),
      sql,
      BPM_AUDIT_TIME.class
    );
   
    newProbability.setProcDefId(procDefId);
    newProbability.setTracingTag(humanActivity.getTracingTag());
    newProbability.setTotalTime(new Long(totalTime));
    newProbability.setOccurrence(new Long(occurrence));
   
    newProbability.insert();   
  }
View Full Code Here

Examples of org.uengine.kernel.HumanActivity

 
  public void afterExecute(Activity activity, ProcessInstance instance)
    throws Exception {
   
    if(activity instanceof HumanActivity){
      HumanActivity humanActivity = (HumanActivity)activity;
     
      RoleMapping theMapping = humanActivity.getRole().getMapping(instance);
     
      if(theMapping !=null){
        theMapping.beforeFirst();
        do{
          TransactionContext tc;
View Full Code Here

Examples of org.uengine.kernel.HumanActivity

   
    if(instance.getWorkList() instanceof SimulatorWorkList) return;
   
    if(activity instanceof HumanActivity){
     
      HumanActivity humanActivity = (HumanActivity)activity;
     
      RoleMapping theMapping = humanActivity.getRole().getMapping(instance);
 
      theMapping.beforeFirst();

      TransactionContext tc;
     
      if(DW_DSN!=null){
        tc = new SimpleTransactionContext(DW_DSN);
      }else{
        tc = instance.getProcessTransactionContext();
      }

      PerformanceFactDAOType performanceFactDAOType = PerformanceFactDAOType.getInstance(tc);
      PerformanceFactDAO performanceFact = performanceFactDAOType.createDAOForInsert();{
        performanceFact.setACT_ID(humanActivity.getTracingTag());
        performanceFact.setINST_ID(new Long(instance.getInstanceId()));
        performanceFact.setROOTINST_ID(new Long(instance.getRootProcessInstanceId()));
        performanceFact.setACT_NAME(humanActivity.getName().getText());
        performanceFact.setCOST(new Long(humanActivity.getCost()));
        performanceFact.setDEF_ID(new Long(humanActivity.getProcessDefinition().getBelongingDefinitionId()));
        performanceFact.setDEF_NAME(humanActivity.getProcessDefinition().getName().getText());
        performanceFact.setPRSNGTIME(new Long(humanActivity.getElapsedTimeAsLong(instance) / 60000));
        performanceFact.setRsrc_Id(theMapping.getEndpoint());
        performanceFact.setMODTIME(new Timestamp(GlobalContext.getNow(instance.getProcessTransactionContext()).getTimeInMillis()));
       
       
        long timeId = 0;{
          java.util.Calendar startedTime = humanActivity.getOpenTime(instance);
          if(startedTime == null) startedTime = humanActivity.getStartedTime(instance);
         
          int year = startedTime.get(Calendar.YEAR);
          int month = startedTime.get(Calendar.MONTH) + 1;
          int day = startedTime.get(Calendar.DATE);
          timeId += year * 10000;
          timeId += month * 100;
          timeId += day;
        }
       
        performanceFact.setTIME_ID(new Long(timeId));
       
        int DEADLNHT = 0;{
          java.util.Calendar startedTime = humanActivity.getEndTime(instance);
          java.util.Calendar dueDate = humanActivity.getDueDate(instance);
          if(startedTime.compareTo(dueDate) <= 0){
            DEADLNHT = 0;
          }else{
            DEADLNHT = 1;
          }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.