Package pl.net.bluesoft.rnd.processtool

Examples of pl.net.bluesoft.rnd.processtool.ProcessToolContext


     
      if(dialog==null){
        super.invokeBpmTransition();
      }
      else{
        ProcessToolContext ctx = getCurrentContext();
    String login = dialog.getAssigneeBean().getAssignee().getLogin();
    bpmSession.assignTaskToUser(ctx, task.getInternalTaskId(), login);
        callback.getWidgetContextSupport().updateTask(task);
        logger.info("Assigneed user: " + login);
      }
View Full Code Here


* @author mpawlak
*/
public class HelpUtility {
  public static Component helpIcon(final Application application, final I18NSource i18NSource, ContextHelp contextHelp, String dictionary, String key,
      Boolean showDebugKey, Component optionalComponent, Placement popupPlacement) {
    ProcessToolContext ctx = ProcessToolContext.Util.getThreadProcessToolContext();
    ProcessDictionaryRegistry processDictionaryRegistry = ctx.getProcessDictionaryRegistry();
    ProcessDictionary dict = processDictionaryRegistry.getSpecificOrDefaultGlobalDictionary("db", dictionary, i18NSource.getLocale().toString());

    return helpIcon(dict, application, i18NSource, contextHelp, key, showDebugKey, optionalComponent, popupPlacement);
  }
View Full Code Here

    private void saveComment() {
    if (skipAddingComment) {
      return;
    }
        ProcessToolContext ctx = getCurrentContext();
    ProcessComment pc = dialog.getProcessComment();
        pc.setAuthor(ctx.getUserDataDAO().loadOrCreateUserByLogin(loggedUser));
        pc.setAuthorSubstitute(substitutingUser != null ? ctx.getUserDataDAO().loadOrCreateUserByLogin(substitutingUser) : null);
        pc.setCreateTime(new Date());
        pc.setProcessState(task.getTaskName());
        ProcessInstance pi = task.getProcessInstance().getRootProcessInstance();
        ProcessComments comments = pi.findAttributeByClass(ProcessComments.class);
        if (comments == null) {
View Full Code Here

            logger.info("Event contained no persistent process instance. Omitting.");
            return;
        }
        String internalId = pi.getInternalId();
        logger.info("Processing deadlines for process: " + internalId);
        ProcessToolContext ctx = ProcessToolContext.Util.getThreadProcessToolContext();
        pi = ctx.getProcessInstanceDAO().getProcessInstance(pi.getId());
        if (pi == null) {
            throw new ProcessToolException("Unable to find process instance by internal id: " + internalId);
        }
        Set<ProcessDeadline> deadlines = pi.findAttributesByClass(ProcessDeadline.class);
        if (!deadlines.isEmpty()) {
            logger.info("Found deadline configurations for process: " + pi.getInternalId());
            ProcessToolBpmSession bpmSession = ctx.getProcessToolSessionFactory().createAutoSession();
            List<BpmTask> tasks = processInitiated || task == null ? bpmSession.findProcessTasks(pi, ctx) : new ArrayList<BpmTask>() {{
                add(task);
            }};
            if (!tasks.isEmpty()) {
                Set<String> taskNames = new HashSet<String>();
View Full Code Here

  }

  protected abstract void performAction(WidgetContextSupport support);

  protected void invokeBpmTransition() {
    ProcessToolContext ctx = getCurrentContext();
    task = bpmSession.performAction(definition, task, ctx);
    if (task == null || task.isFinished()) {
      showTransitionNotification();
    }
    if (task == null) {
View Full Code Here

            UserData user = (UserData) application.getUser();
            if (user.containsRole(HISTORY_SUPERUSER_ROLE_NAME)) {
                isHistorySuperuser = true;
            }
            else {
                ProcessToolContext ctx = ProcessToolContext.Util.getThreadProcessToolContext();
                String config = ctx.getSetting(HISTORY_SUPERUSER_CONFIG_KEY);
                if (Strings.hasText(config)) {
                    for (String roleName : config.split(",")) {
                        if (user.containsRole(roleName)) {
                            isHistorySuperuser = true;
                            break;
View Full Code Here

    public void refreshData() {
        logContainer.removeAllItems();
        searchField.setValue("");
        table.setValue(null);
        if (bpmSession != null) {
            ProcessToolContext ctx = ProcessToolContext.Util.getThreadProcessToolContext();
            UserData user = isHistorySuperuser ? null : bpmSession.getUser(ctx);
            Collection<ProcessInstanceLog> logs = ctx.getProcessInstanceDAO().getUserHistory(user,
                    dateRangeField.getStartDate(), dateRangeField.getEndDate());
            DateFormat dateFormat = VaadinUtility.fullDateFormat();
            for (ProcessInstanceLog log : logs) {
                Item item = logContainer.addItem(log);
                item.getItemProperty("log.entryDate").setValue(dateFormat.format(log.getEntryDate().getTime()));
View Full Code Here

        return b;
    }

    private void openHistoryInstance(ProcessInstanceLog log, String notFoundMessage, boolean finalTask) {
        getHistorySelection().update(table.getPageLength(), filterExpression, isBaseUserOnly, (DateRange) dateRangeField.getValue(), log);
        ProcessToolContext ctx = ProcessToolContext.Util.getThreadProcessToolContext();
        ProcessInstance ownPi = null;
        if(log.getOwnProcessInstance() != null)
          ownPi = ctx.getProcessInstanceDAO().getProcessInstance(log.getOwnProcessInstance().getId());
        else
          ownPi = ctx.getProcessInstanceDAO().getProcessInstanceByInternalId(log.getExecutionId());
        log.setOwnProcessInstance(ownPi);
        BpmTask task = finalTask ? bpmSession.getPastEndTask(log, ctx) : bpmSession.getPastOrActualTask(log, ctx);
        if (task != null) {
            viewCallback.displayProcessData(task, true);
        }
View Full Code Here

    @AutoWiredProperty
    private String bundleResource;

  @Override
  public String invoke(BpmStep step, Map<String, String> params) throws Exception {
        ProcessToolContext ctx = ProcessToolContext.Util.getThreadProcessToolContext();
        DroolsUtils.DroolsResource resource;
        if (Strings.hasText(bundleResource)) {
            InputStream ruleStream = ctx.getRegistry().loadResource(bundleResource, ruleUrl);
            String fullRuleUrl = bundleResource.replace(".", "/") + "/" + ruleUrl;
            resource = new DroolsUtils.DroolsResource(fullRuleUrl, ruleStream);
        }
        else {
            if (ruleUrl.startsWith("/")) {
                ruleUrl = ctx.getSetting("drools.rules.baseurl") + ruleUrl;
            }
            resource = new DroolsUtils.DroolsResource(ruleUrl);
        }
        ProcessInstance processInstance = step.getProcessInstance();
View Full Code Here

   
    @Override
    public String invoke(BpmStep step, Map<String, String> params) throws Exception
    {
        ProcessInstance processInstance = step.getProcessInstance();
        ProcessToolContext ctx = ProcessToolContext.Util.getThreadProcessToolContext();

        List<String> taskNames = Strings.hasText(taskName) ? Arrays.asList(taskName.split(",")) : step.getOutgoingTransitions();
       
       

        Date dueDate = extractDate("dueDate", processInstance, params);
        if (dueDate == null) {
            Date baseDate = extractDate("baseDate", processInstance, params);
            if (!Strings.hasText(value)) {
                throw new ProcessToolException("Unable to calculate due date");
            }
           
            Calendar cal = Calendar.getInstance();
            cal.setTime(baseDate != null ? baseDate : new Date());
           
            if(useWorkingDays())
            {
            int nv = Integer.valueOf(Integer.valueOf(value));
            nv = getWeekOffset(cal.getTime(),nv);
            cal.add(Calendar.DAY_OF_YEAR, nv);
           
            dueDate = cal.getTime();
             
            }
            else
            {
                cal.add("min".equals(unit) ? Calendar.MINUTE : Calendar.DAY_OF_YEAR, Integer.valueOf(value));
                cal.set(Calendar.HOUR, 0);
                cal.set(Calendar.SECOND, 0);
                if (!"min".equals(unit)) {
                    cal.set(Calendar.MINUTE, 0);
                }
                dueDate = cal.getTime();
            }
        }

        for (String tn : taskNames)
        {
            String attrKey = "deadline_" + tn;
            ProcessDeadline pid = null;
            for (ProcessInstanceAttribute attr : processInstance.getProcessAttributes()) {
                if (attr.getKey() == null) {
                    logger.info("Attribute key is null! Process instance: " + processInstance.getInternalId());
                }
                if (attrKey.equals(attr.getKey())) {
                    pid = (ProcessDeadline) attr;
                    break;
                }
            }
            if (pid == null) {
                pid = new ProcessDeadline();
                pid.setKey("deadline_" + tn);
                pid.setProcessInstance(processInstance);
                processInstance.getProcessAttributes().add(pid);
            }
            pid.setProfileName(profileName);
            pid.setNotifyUsersWithLogin(notifyUsersWithLogin);
            pid.setNotifyUsersWithRole(notifyUsersWithRole);
            pid.setSkipAssignee("true".equalsIgnoreCase(skipAssignee));
            pid.setTemplateName(templateName);
            pid.setTaskName(tn);
            pid.setAlreadyNotified(false);
            pid.setDueDate(dueDate);
        }

        ctx.getProcessInstanceDAO().saveProcessInstance(processInstance);

        return STATUS_OK;
    }
View Full Code Here

TOP

Related Classes of pl.net.bluesoft.rnd.processtool.ProcessToolContext

Copyright © 2018 www.massapicom. 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.