Package com.dotmarketing.portlets.workflows.ajax

Source Code of com.dotmarketing.portlets.workflows.ajax.WfActionClassAjax

package com.dotmarketing.portlets.workflows.ajax;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.dotmarketing.business.APILocator;
import com.dotmarketing.portlets.workflows.actionlet.WorkFlowActionlet;
import com.dotmarketing.portlets.workflows.business.WorkflowAPI;
import com.dotmarketing.portlets.workflows.model.MultiEmailParameter;
import com.dotmarketing.portlets.workflows.model.WorkflowAction;
import com.dotmarketing.portlets.workflows.model.WorkflowActionClass;
import com.dotmarketing.portlets.workflows.model.WorkflowActionClassParameter;
import com.dotmarketing.portlets.workflows.model.WorkflowActionletParameter;
import com.dotmarketing.util.Logger;
import com.liferay.portal.model.User;
import com.liferay.util.Validator;

public class WfActionClassAjax extends WfBaseAction {
   public void action(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{};
  public void reorder(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String actionClassId = request.getParameter("actionClassId");
    String o = request.getParameter("order");
    WorkflowAPI wapi = APILocator.getWorkflowAPI();

    try {
      int order = Integer.parseInt(o);
      WorkflowActionClass actionClass = wapi.findActionClass(actionClassId);
      wapi.reorderActionClass(actionClass, order);
    } catch (Exception e) {
     
      // dojo sends this Ajax method "reorder Actions" calls, which fail.  Not sure why
      //Logger.error(this.getClass(), e.getMessage(), e);
      //writeError(response, e.getMessage());
    }

  }

  public void delete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String actionClassId = request.getParameter("actionClassId");

    WorkflowAPI wapi = APILocator.getWorkflowAPI();

    try {

      WorkflowActionClass actionClass = wapi.findActionClass(actionClassId);
      wapi.deleteActionClass(actionClass);
    } catch (Exception e) {
      Logger.error(this.getClass(), e.getMessage(), e);
      writeError(response, e.getMessage());
    }

  }

  public void add(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    WorkflowAPI wapi = APILocator.getWorkflowAPI();

    String actionId = request.getParameter("actionId");
    String actionName = request.getParameter("actionletName");
    String clazz = request.getParameter("actionletClass");
    WorkflowActionClass wac = new WorkflowActionClass();

    try {
      WorkflowAction action = wapi.findAction(actionId, APILocator.getUserAPI().getSystemUser());
      List<WorkflowActionClass> classes = wapi.findActionClasses(action);
      if (classes != null) {
        wac.setOrder(classes.size());
      }
      wac.setClazz(clazz);
      wac.setName(actionName);
      wac.setActionId(actionId);
      wapi.saveActionClass(wac);

      response.getWriter().println(wac.getId() + ":" + wac.getName());
    } catch (Exception e) {
      Logger.error(this.getClass(), e.getMessage(), e);
      writeError(response, e.getMessage());
    }
  }

  public void save(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    WorkflowAPI wapi = APILocator.getWorkflowAPI();

    try {
      String actionClassId = request.getParameter("actionClassId");
      WorkflowActionClass wac = wapi.findActionClass(actionClassId);
      WorkFlowActionlet actionlet = wapi.findActionlet(wac.getClazz());
      List<WorkflowActionletParameter> params = actionlet.getParameters();
      Map<String, WorkflowActionClassParameter> enteredParams = wapi.findParamsForActionClass(wac);
      List<WorkflowActionClassParameter> newParams = new ArrayList<WorkflowActionClassParameter>();     
      String userIds = null;
      for (WorkflowActionletParameter expectedParam : params) {       
        WorkflowActionClassParameter enteredParam = enteredParams.get(expectedParam.getKey());
        if (enteredParam == null) {
          enteredParam = new WorkflowActionClassParameter();
        }
        enteredParam.setActionClassId(wac.getId());
        enteredParam.setKey(expectedParam.getKey());
        enteredParam.setValue(request.getParameter("acp-" + expectedParam.getKey()));
        newParams.add(enteredParam);
        userIds = enteredParam.getValue();
        //Validate userIds or emails
        String errors = expectedParam.hasError(userIds);
        if(errors != null){
          writeError(response, errors);
          return;
        }   
      }     
      wapi.saveWorkflowActionClassParameters(newParams);
      response.getWriter().println(wac.getId() + ":" + wac.getName());
    } catch (Exception e) {
      Logger.error(this.getClass(), e.getMessage(), e);
      writeError(response, e.getMessage());
    }
  }
}

TOP

Related Classes of com.dotmarketing.portlets.workflows.ajax.WfActionClassAjax

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.