Package com.itedge.solutionmanager.web.taskhandler.impl.customer

Source Code of com.itedge.solutionmanager.web.taskhandler.impl.customer.EditCustomerTaskDataHandler

package com.itedge.solutionmanager.web.taskhandler.impl.customer;

import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;

import com.itedge.solutionmanager.domain.impl.Customer;
import com.itedge.infrastructure.service.process.IProcessService;
import com.itedge.infrastructure.service.task.ITaskService;
import com.itedge.infrastructure.service.taskdata.ITaskDataEntityService;
import com.itedge.infrastructure.stereotype.WebHandler;
import com.itedge.solutionmanager.taskdata.impl.customer.EditCustomerTaskData;
import com.itedge.solutionmanager.web.convert.ISOFormattingConversionServiceBean;
import com.itedge.infrastructure.web.taskhandler.TaskHandlerException;
import com.itedge.infrastructure.web.taskhandler.impl.AbstractTaskDataHandler;

@WebHandler
public class EditCustomerTaskDataHandler extends AbstractTaskDataHandler<EditCustomerTaskData, Customer> {

    private ITaskDataEntityService<EditCustomerTaskData> editCustomerTaskDataService;

    @Autowired
    protected EditCustomerTaskDataHandler(ISOFormattingConversionServiceBean conversionService,
        IProcessService<Customer> customerProcessService,
        ITaskDataEntityService<EditCustomerTaskData> editCustomerTaskDataService,
        ITaskService<EditCustomerTaskData, Customer> editCustomerTaskService,
      MessageSource messageSource) {
    super(conversionService, customerProcessService, editCustomerTaskDataService,
        editCustomerTaskService, messageSource);
    this.editCustomerTaskDataService = editCustomerTaskDataService;
  }

  @Override
  protected Class<EditCustomerTaskData> getTaskDataClass() {
    return EditCustomerTaskData.class;
  }
   
  @Override
  public Map<String,Object> loadTaskData(String taskId, Customer linkedCustomer, Boolean forHistory) {
      EditCustomerTaskData taskData = editCustomerTaskDataService.findEntityByProcessTaskId(taskId);;
      if (taskData == null) {
          taskData = new EditCustomerTaskData();
          //set old values
          Customer customer = linkedCustomer != null ? linkedCustomer : new Customer();
          rememberEditTaskOldData(taskData, customer);
      }
      taskData.setTaskId(taskId);
      Map<String,Object> data = new HashMap<String,Object>();
      data.put("taskData", taskData);
      return data; 
  }
 
  @Override
  public EditCustomerTaskData bindTaskData(HttpServletRequest request, Customer linkedCustomer)
      throws TaskHandlerException {
    EditCustomerTaskData taskData = super.bindTaskData(request, linkedCustomer);
    rememberEditTaskOldData(taskData, linkedCustomer);
    return taskData;
  }
 
  private void rememberEditTaskOldData(EditCustomerTaskData taskData, Customer customer) {
      // remember old values
      taskData.setOldDescription(customer.getDescription());
      taskData.setOldName(customer.getName());
      taskData.setOldIco(customer.getIco());
      taskData.setOldDic(customer.getDic());
      taskData.setOldIcdph(customer.getIcdph());
  }
 
}
TOP

Related Classes of com.itedge.solutionmanager.web.taskhandler.impl.customer.EditCustomerTaskDataHandler

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.