Package pl.net.bluesoft.rnd.processtool.bpm

Examples of pl.net.bluesoft.rnd.processtool.bpm.ProcessToolBpmSession


                ProcessToolContext.Util.setThreadProcessToolContext(processToolContext);
                try {
                    boolean skipJbpm = false;
                    InputStream is = bpmStream;
                    ProcessToolBpmSession session = processToolContext.getProcessToolSessionFactory().createSession(
                            new UserData("admin", "admin@aperteworkflow.org", "Admin"), Arrays.asList("ADMIN"));
                    if (cfg.getPermissions() != null) {
                        for (ProcessDefinitionPermission p : cfg.getPermissions()) {
                            if (!Strings.hasText(p.getPrivilegeName())) {
                                p.setPrivilegeName(PRIVILEGE_INCLUDE);
                            }
                            if (!Strings.hasText(p.getRoleName())) {
                                p.setRoleName(PATTERN_MATCH_ALL);
                            }
                        }
                    }
                    byte[] oldDefinition = session.getProcessLatestDefinition(cfg.getBpmDefinitionKey(), cfg.getProcessName());
                    if (oldDefinition != null) {
                        byte[] newDefinition = loadBytesFromStream(is);
                        is = new ByteArrayInputStream(newDefinition);
                        if (Arrays.equals(newDefinition, oldDefinition)) {
                            logger.log(Level.WARNING, "bpm definition for " + cfg.getProcessName() +
                                    " is the same as in BPM, therefore not updating BPM process definition");
                            skipJbpm = true;
                        }
                    }

                    if (!skipJbpm) {
                        String deploymentId = session.deployProcessDefinition(cfg.getProcessName(), is, imageStream);
                        logger.log(Level.INFO, "deployed new BPM Engine definition with id: " + deploymentId);
                    }

                    ProcessDefinitionDAO processDefinitionDAO = processToolContext.getProcessDefinitionDAO();
                    processDefinitionDAO.updateOrCreateProcessDefinitionConfig(cfg);
View Full Code Here


                ProcessToolContext.Util.setThreadProcessToolContext(processToolContext);
                try {
                    boolean skipBpm = false;
                    InputStream is = bpmStream;
                    ProcessToolBpmSession session = processToolContext.getProcessToolSessionFactory().createSession(
                            new UserData("admin", "admin@aperteworkflow.org", "Admin"), Arrays.asList("ADMIN"));
                    byte[] oldDefinition = session.getProcessLatestDefinition(cfg.getBpmDefinitionKey(), cfg.getProcessName());
                    if (oldDefinition != null) {
                        byte[] newDefinition = IOUtils.slurp(is);
                        is = new ByteArrayInputStream(newDefinition);
                        if (Arrays.equals(newDefinition, oldDefinition)) {
                            logger.log(Level.WARNING, "bpm definition for " + cfg.getProcessName() +
                                    " is the same as in BPM, therefore not updating BPM process definition");
                            skipBpm = true;
                        }
                    }

                    if (!skipBpm) {
                        String deploymentId = session.deployProcessDefinition(cfg.getProcessName(), is, imageStream);
                        logger.log(Level.INFO, "deployed new BPM Engine definition with id: " + deploymentId);
                    }

                    ProcessDefinitionDAO processDefinitionDAO = processToolContext.getProcessDefinitionDAO();
                    processDefinitionDAO.updateOrCreateProcessDefinitionConfig(cfg);
View Full Code Here

                            if (request instanceof ResourceRequest) {
                                ResourceRequest rr = (ResourceRequest) request;
                                ResourceResponse resp = (ResourceResponse) response;
                                if (rr.getParameter("instanceId") != null) { //special handling
                                    logger.info("Image request");
                                    ProcessToolBpmSession session = ctx.getProcessToolSessionFactory()
                                            .createSession(new UserData("admin", "admin@aperteworkflow.org", "Admin admin"),
                                                    new ArrayList<String>());
                                    byte[] bytes = session.getProcessMapImage(
                                            session.getProcessData(rr.getParameter("instanceId"), ctx));
                                    if (bytes != null) {
                                        resp.setContentType("image/png");
                                        resp.getPortletOutputStream().write(bytes);
                                    }
                                    return;
                                } else if (rr.getParameter("svg") != null) { //to use svg inside of a window
                                    logger.info("SVG request");

                                    ProcessToolBpmSession session = ctx.getProcessToolSessionFactory()
                                            .createSession(new UserData("admin", "admin@aperteworkflow.org", "Admin admin"),
                                                    new ArrayList<String>());
                                    ProcessInstance pi = session.getProcessData(rr.getParameter("svg"), ctx);
                                    List<GraphElement> processHistory = session.getProcessHistory(pi);
//                                    final StringBuffer svg = new StringBuffer("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n");
                                    final StringBuffer svg = new StringBuffer("<html><body style=\"margin:0; padding:0\">\n\n");
                                   
                                    final byte[] png = session.getProcessMapImage(pi);
                                    if (png != null) {
                                        BufferedImage read;
                                        try {
                                            read = ImageIO.read(new ByteArrayInputStream(png));
                                            ResourceURL resourceURL = resp.createResourceURL();
View Full Code Here

            }
        }
    }

    public void execute(EmailCheckerConfiguration cfg) throws Exception {
        ProcessToolBpmSession toolBpmSession = context.getProcessToolSessionFactory().createSession(
                new UserData(cfg.getAutomaticUser(), cfg.getAutomaticUser(), cfg.getAutomaticUser()),
                new HashSet());

        ByteArrayInputStream bis = new ByteArrayInputStream(cfg.getMailSessionProperties().getBytes());
        final Properties cfgProperties = new Properties();
View Full Code Here

            }
        }
    }

    private void execute(FilesCheckerConfiguration cfg) throws Exception {
        ProcessToolBpmSession toolBpmSession = context.getProcessToolSessionFactory().createSession(
                new UserData(cfg.getAutomaticUser(), cfg.getAutomaticUser(), cfg.getAutomaticUser()),
                new HashSet());


        File file = new File(cfg.getFilesProperties());
View Full Code Here

      }

      @Override
      public Component render(Map<String,?> viewData)
      {
        ProcessToolBpmSession bpmSession = (ProcessToolBpmSession)viewData.get("bpmSession");
        BpmTask task = (BpmTask)viewData.get("task");
        pane.attachProcessDataPane(task,bpmSession);
        ActivityMainPane.this.pdvc = pane;
        return pane;
      }
View Full Code Here

  public void internalRefreshData()
  {
    taskList.removeAllComponents();

    ProcessToolContext ctx = ProcessToolContext.Util.getThreadProcessToolContext();
    final ProcessToolBpmSession bpmSession = activityMainPane.getBpmSession();
    UserData user = bpmSession.getUser(ctx);

    buildMainTasksViews(ctx,bpmSession,user);

    final List<ProcessQueue> userAvailableQueues = buildUserQueues(ctx,bpmSession);

    List<UserData> substitutedUsers =
        ProcessToolContext.Util.getThreadProcessToolContext().getUserSubstitutionDAO().getSubstitutedUsers(user,DateUtil.truncHours(new Date()));
   
    if(!substitutedUsers.isEmpty())
    {
      Map<UserData,ProcessToolBpmSession> substitutedUserToSession = from(substitutedUsers).mapTo(new F<UserData,ProcessToolBpmSession>()
      {
        @Override
        public ProcessToolBpmSession invoke(UserData substitutedUser)
        {
          return bpmSession.createSession(substitutedUser,substitutedUser.getRoleNames(),ProcessToolContext.Util.getThreadProcessToolContext());
        }
      });

      substitutionsPanel = new Panel(getMessage("activity.substitutions"));
      substitutionsPanel.setStyleName(ChameleonTheme.PANEL_LIGHT);
View Full Code Here

    container.addContainerProperty("enabled",Boolean.class,Boolean.TRUE);
    container.addContainerProperty("debugId",String.class,null);
   
    for(UserData substitutedUser: substitutedUsers)
    {
      ProcessToolBpmSession bpmSessionForSubstituted = substitutedUserToSession.get(substitutedUser);
      UserData liferaySubstitutedUser = ctx.getUserDataDAO().loadUserByLogin(substitutedUser.getLogin());
      liferaySubstitutedUser.getRoleNames().addAll(substitutedUser.getRoleNames());

      ProcessInstanceFilter substAssignedTasks = filterFactory.createOtherUserTaskForSubstitutedUser(liferaySubstitutedUser);
View Full Code Here

    @Override
  public void refreshData() {
    filterList.removeAllComponents();
    ProcessToolContext processToolContextFromThread = ProcessToolContext.Util.getThreadProcessToolContext();

    final ProcessToolBpmSession bpmSession = activityMainPane.getBpmSession();
    final UserData user = bpmSession.getUser(processToolContextFromThread);

    final ProcessInstanceFilterDAO processInstanceFilterDAO = processToolContextFromThread.getProcessInstanceFilterDAO();
    List<ProcessInstanceFilter> filters = processInstanceFilterDAO.findAllByUserData(user);

    for (final ProcessInstanceFilter filter : filters)
    {
      Button taskName = new Button(filter.getName());     
      List<BpmTask> tasks = bpmSession.findFilteredTasks(filter, processToolContextFromThread);
      taskName.setCaption(taskName.getCaption() + " (" + tasks.size() + ")");
     
      if(tasks.isEmpty())
        taskName.addStyleName("v-disabled");
     
View Full Code Here

                registry.withProcessToolContext(new ProcessToolContextCallback() {
                    @Override
                    public void withContext(ProcessToolContext ctx) {
                        ProcessToolContext.Util.setThreadProcessToolContext(ctx);
                        try {
                            ProcessToolBpmSession bpmSession = ctx.getProcessToolSessionFactory().createAutoSession();
                            Session session = ctx.getHibernateSession();
                            List<ProcessInstance> instances = loadProcessesWithDeadlines(session);
                            for (ProcessInstance pi : instances) {
                                if (bpmSession.isProcessRunning(pi.getInternalId(), ctx)) {
                                    Set<ProcessDeadline> deadlines = pi.findAttributesByClass(ProcessDeadline.class);
                                    Collection<BpmTask> tasks = bpmSession.findProcessTasks(pi, ctx);
                                    for (ProcessDeadline pd : deadlines) {
                                        for (BpmTask task : tasks) {
                                            if (task.getTaskName().equals(pd.getTaskName()) && task.getAssignee() != null) {
                                                scheduleDeadline(pi.getInternalId(), pd);
                                            }
View Full Code Here

TOP

Related Classes of pl.net.bluesoft.rnd.processtool.bpm.ProcessToolBpmSession

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.