private ActivityInfoType fillActivityInfo(ActivityInfoType activity, TActivityInfo actInfo) { activity.setAiid(actInfo.getAiid()); activity.setDateCompleted(actInfo.getDtCompleted()); activity.setDateEnabled(actInfo.getDtEnabled()); activity.setDateStarted(actInfo.getDtStarted()); activity.setName(actInfo.getName()); activity.setType(actInfo.getType()); TFailureInfo failure = actInfo.getFailure(); if (failure != null) { FailureInfoType failureInfo = new FailureInfoType(); failureInfo.setActions(failure.getActions()); failureInfo.setDateFailure(failure.getDtFailure()); failureInfo.setReason(failure.getReason()); failureInfo.setRetries(failure.getRetries()); activity.setFailure(failureInfo); } activity.setStatus(activityStatusMap.get(actInfo.getStatus())); return activity; }
/** * Sets ith "activity-info" element */ public void setActivityInfoArray(int i, org.apache.ode.bpel.pmapi.TActivityInfo activityInfo) { synchronized (monitor()) { check_orphaned(); org.apache.ode.bpel.pmapi.TActivityInfo target = null; target = (org.apache.ode.bpel.pmapi.TActivityInfo)get_store().find_element_user(ACTIVITYINFO$0, i); if (target == null) { throw new IndexOutOfBoundsException(); } target.set(activityInfo); } }
public void onEvent(BpelEvent be) { if (be instanceof ActivityEvent) { final ActivityEvent event = (ActivityEvent)be; ActivityInfoDocument actinf = lookup(event); assert actinf != null; if (event instanceof ActivityEnabledEvent) { actinf.getActivityInfo().setStatus(TActivityStatus.ENABLED); Calendar dtEnabled = Calendar.getInstance(); dtEnabled.setTime(event.getTimestamp()); actinf.getActivityInfo().setDtEnabled(dtEnabled); _activities.put(event.getActivityId(),actinf); } if (event instanceof ActivityExecStartEvent) { actinf.getActivityInfo().setStatus(TActivityStatus.STARTED); Calendar dtStarted = Calendar.getInstance(); dtStarted.setTime(event.getTimestamp()); actinf.getActivityInfo().setDtStarted(dtStarted); } else if (event instanceof ActivityExecEndEvent) { actinf.getActivityInfo().setStatus(TActivityStatus.COMPLETED); Calendar dtComp = Calendar.getInstance(); dtComp.setTime(event.getTimestamp()); actinf.getActivityInfo().setDtCompleted(dtComp); completed(actinf); } } }
/** * Fill the common activity info from an event. * @param info * @param event */ private void fill(TActivityInfo info, ActivityEvent event) { info.setName(event.getActivityName()); info.setType(event.getActivityType()); info.setAiid(""+event.getActivityId()); info.setScope(TScopeRef.Factory.newInstance()); info.getScope().setModelId("" + event.getScopeDeclarationId()); info.getScope().setName(event.getScopeName()); info.getScope().setSiid("" + event.getScopeId()); }
for (ActivityInfoDocument ai : b.getActivities()) { for (ActivityRecoveryDAO recovery : recoveries) { if (String.valueOf(recovery.getActivityId()).equals(ai.getActivityInfo().getAiid())) { TFailureInfo failure = ai.getActivityInfo().addNewFailure(); failure.setReason(recovery.getReason()); failure.setDtFailure(toCalendar(recovery.getDateTime())); failure.setActions(recovery.getActions()); failure.setRetries(recovery.getRetries()); ai.getActivityInfo().setStatus(TActivityStatus.FAILURE); activities.addNewActivityInfo().set(ai.getActivityInfo());
private Activities_type0 getActivities(ScopeDAO scope) { Activities_type0 activities = new Activities_type0(); Collection<ActivityRecoveryDAO> recoveries = scope.getProcessInstance().getActivityRecoveries(); /*List<BpelEvent> events = scope.listEvents();*/ Set<EventDAOImpl> eventsEntities = ((ScopeDAOImpl) scope).getEvents(); List<BpelEvent> events = new ArrayList<BpelEvent>(); for (EventDAOImpl event : eventsEntities) { events.add(event.getEvent()); } ActivityStateDocumentBuilder b = new ActivityStateDocumentBuilder(); for (BpelEvent e : events) { b.onEvent(e); } for (ActivityInfoDocument ai : b.getActivities()) { for (ActivityRecoveryDAO recovery : recoveries) { if (String.valueOf(recovery.getActivityId()).equals(ai.getActivityInfo().getAiid())) { TFailureInfo failure = ai.getActivityInfo().addNewFailure(); failure.setReason(recovery.getReason()); failure.setDtFailure(toCalendar(recovery.getDateTime())); failure.setActions(recovery.getActions()); failure.setRetries(recovery.getRetries()); ai.getActivityInfo().setStatus(TActivityStatus.FAILURE); } } ActivityInfoType activity = new ActivityInfoType(); fillActivityInfo(activity, ai.getActivityInfo()); activities.addActivityInfo(activity); } return activities; }
/** * Use to verify the new addition to activitiesWithEventsOrdered * * @param infoDoc Activity Information Document */ private void addActivitiesWithEventOrdered(ActivityInfoDocument infoDoc) { boolean isExist = false; for (ActivityInfoWithEventsDocument anActivitiesWithEventsOrdered : activitiesWithEventsOrdered) { if (anActivitiesWithEventsOrdered.getActivityInfoDoc().getActivityInfo(). getAiid().equals(infoDoc.getActivityInfo().getAiid())) { isExist = true; break; } } if (!isExist) { activitiesWithEventsOrdered.add(new ActivityInfoWithEventsDocument(infoDoc)); } }
private ActivityInfoDocument lookup(ActivityEvent event) { ActivityInfoDocument ainf = _activities.get(event.getActivityId()); if (ainf == null) { ainf = ActivityInfoDocument.Factory.newInstance(); fill(ainf.addNewActivityInfo(),event); ainf.getActivityInfo().setStatus(TActivityStatus.ENABLED); _activities.put(event.getActivityId(),ainf); _activitiesOrdered.add(ainf); } return ainf; }
for (ActivityRecoveryDAO recovery : recoveries) { if (String.valueOf(recovery.getActivityId()).equals(aweDoc.getActivityInfoDoc(). getActivityInfo().getAiid())) { TFailureInfo failure = aweDoc.getActivityInfoDoc().getActivityInfo().addNewFailure(); failure.setReason(recovery.getReason()); failure.setDtFailure(toCalendar(recovery.getDateTime())); failure.setActions(recovery.getActions()); failure.setRetries(recovery.getRetries()); aweDoc.getActivityInfoDoc().getActivityInfo().setStatus(TActivityStatus.FAILURE);
/** * fill the activitiesWithEvents and activitiesWithEventsOrdered using the infoDocList * Need to be done as event-info can be stored only in activitiesWithEvents and activitiesWithEventsOrdered * (parent class doesn't support for event-info management) * * @param be Activity Event * @param infoDocList Activity Information Document */ private void fillActivityInfo(ActivityEvent be, List<ActivityInfoDocument> infoDocList) { ActivityInfoDocument infoDoc = null; for (ActivityInfoDocument inf : infoDocList) { if (inf.getActivityInfo().getAiid().equals(String.valueOf(be.getActivityId()))) { infoDoc = inf; } } if (activitiesWithEvents.get(be.getActivityId()) == null) { activitiesWithEvents.put(be.getActivityId(), new ActivityInfoWithEventsDocument(infoDoc)); } addActivitiesWithEventOrdered(infoDoc); }
/** * Sets the "activity-info" element */ public void setActivityInfo(org.apache.ode.bpel.pmapi.TActivityInfo activityInfo) { synchronized (monitor()) { check_orphaned(); org.apache.ode.bpel.pmapi.TActivityInfo target = null; target = (org.apache.ode.bpel.pmapi.TActivityInfo)get_store().find_element_user(ACTIVITYINFO$0, 0); if (target == null) { target = (org.apache.ode.bpel.pmapi.TActivityInfo)get_store().add_element_user(ACTIVITYINFO$0); } target.set(activityInfo); } }