Package com.vst.webapp.action

Source Code of com.vst.webapp.action.DefectVarityFormController

package com.vst.webapp.action;

import com.vst.model.DefectVarity;
import com.vst.model.Parameter;
import com.vst.service.DefectVarityManager;
import com.vst.service.MaterialManager;
import com.vst.service.ParameterManager;
import org.apache.commons.lang.StringUtils;
import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;

public class DefectVarityFormController extends BaseFormController {
    private DefectVarityManager defectVarityManager = null;
    private ParameterManager parameterManager = null;
    private MaterialManager materialManager = null;

    public void setMaterialManager(MaterialManager materialManager) {
        this.materialManager = materialManager;
    }

    public void setParameterManager(ParameterManager parameterManager) {
        this.parameterManager = parameterManager;
    }

    public void setDefectVarityManager(DefectVarityManager defectVarityManager) {
        this.defectVarityManager = defectVarityManager;
    }

    public DefectVarityFormController() {
        setCommandName("defectVarity");
        setCommandClass(DefectVarity.class);
    }

    protected Object formBackingObject(HttpServletRequest request)
            throws Exception {
        request.setAttribute("parameterList", parameterManager.getParameters(null));
        request.setAttribute("materialList", materialManager.getMaterials(null));

        if (!isFormSubmission(request)) {
            String varityId = request.getParameter("varityId");
            DefectVarity defectVarity = null;

            if (!StringUtils.isEmpty(varityId)) {
                defectVarity = defectVarityManager.getDefectVarity(varityId);
                defectVarityManager.evict(defectVarity);
            } else {
                defectVarity = new DefectVarity();
            }
            if (request.getParameter("edited") != null) {
                request.setAttribute("addition", "?edited=1");
                defectVarity.setEdited(true);
            }
            defectVarity.setDocLocation(request.getParameter("docLocation"));

            return defectVarity;
        }
        return super.formBackingObject(request);
    }

    public ModelAndView onSubmit(HttpServletRequest request,
                                 HttpServletResponse response, Object command,
                                 BindException errors)
            throws Exception {
        if (log.isDebugEnabled()) {
            log.debug("entering 'onSubmit' method...");
        }

        DefectVarity defectVarity = (DefectVarity) command;
        boolean isNew = (defectVarity.getVarityId() == null);
        Locale locale = request.getLocale();

        if (request.getParameter("delete") != null) {
            defectVarityManager.removeDefectVarity(defectVarity.getVarityId().toString());

            saveMessage(request, getText("defectVarity.deleted", locale));
        } else {
            List defectParameters = new ArrayList();
            List defectParametersFromForm = defectVarity.getParameters();
            for (int i = 0; i < defectParametersFromForm.size(); i++) {
                Parameter parameter = (Parameter) defectParametersFromForm.get(i);
                defectVarityManager.evict(parameter);

                defectParameters.add(parameterManager.getParameter(parameter.getParameterId().toString()));
            }
            defectVarity.setParameters(defectParameters);


            Integer materialId = defectVarity.getMaterial().getMaterialId();
            if (!materialId.equals(new Integer(-1))) {
                defectVarity.setMaterial(materialManager.getMaterial(materialId.toString()));
            }

            defectVarityManager.saveDefectVarity(defectVarity);

            String key = (isNew) ? "defectVarity.added" : "defectVarity.updated";
            saveMessage(request, getText(key, locale));
            if (defectVarity.isEdited()) {
                return new ModelAndView("redirect:updating.html?id=" + defectVarity.getVarityId() + "&fieldId=" + request.getParameter("fieldId"));
            }
        }

        return new ModelAndView("redirect:" + defectVarity.getDocLocation());
    }


    public ModelAndView processFormSubmission(HttpServletRequest request, HttpServletResponse response, Object command, BindException errors) throws Exception {
        DefectVarity defectVarity = (DefectVarity) command;
        if (request.getParameter("addParameter") != null) {
            defectVarity.getParameters().add(new Parameter());
            return new ModelAndView("defectVarityForm", "defectVarity", defectVarity);
        }
        if (request.getParameter("deleteParameter") != null) {
            defectVarity.getParameters().remove(defectVarity.getParameterNumber());
            return new ModelAndView("defectVarityForm", "defectVarity", defectVarity);
        }

        return super.processFormSubmission(request, response, command, errors);
    }
}
TOP

Related Classes of com.vst.webapp.action.DefectVarityFormController

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.