/*
 * Copyright
 *   2007 axYus - www.axyus.com
 *   2009 C.Marchand - christophe.marchand@axyus.com
 *
 * This file is part of XEMELIOS.
 *
 * XEMELIOS is free software; you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.
 *
 * XEMELIOS is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with XEMELIOS; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

package fr.gouv.finances.dgfip.xemelios.web.imports;

import fr.gouv.finances.dgfip.xemelios.auth.XemeliosUser;
import fr.gouv.finances.dgfip.xemelios.batch.imports.utils.ImportVOFull;
import fr.gouv.finances.dgfip.xemelios.batch.imports.utils.ImportVOPK;
import fr.gouv.finances.dgfip.xemelios.batch.imports.utils.ImportVOWrapper;
import fr.gouv.finances.dgfip.xemelios.data.impl.pool.PoolManager;
import fr.gouv.finances.dgfip.xemelios.web.AttributeHelper;
import fr.gouv.finances.dgfip.xemelios.web.utils.StdDispatchAction;
import java.sql.Connection;
import java.sql.SQLException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
 *
 * @author chm
 */
public class SaveImportDetailsAction extends StdDispatchAction {
    @Override
    protected ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
        XemeliosUser user = AttributeHelper.getUser(request.getSession());
        String importId = request.getParameter("importId");
        Connection con = null;
        try {
            con = PoolManager.getInstance().getConnection();
            ImportVOPK pk = new ImportVOPK(importId);
            ImportVOFull ip = ImportVOWrapper.getImportVOFullByPk(con, pk);

            String fileType=request.getParameter("fileType");
            if(fileType!=null && !fileType.equals("---") && fileType.length()>0) {
                ip.setFileType(fileType);
            }

            String collectiviteCode = request.getParameter("collectiviteCode");
            if(collectiviteCode!=null && collectiviteCode.length()>0 && !"---".equals(collectiviteCode))
                ip.setCollectivite(collectiviteCode);

            String collectiviteLib = request.getParameter(("collectiviteLib"));
            if(collectiviteLib!=null && collectiviteLib.length()>0 && !"---".equals(collectiviteCode))
                ip.setCollectiviteLib(collectiviteLib);

            String budgetCode = request.getParameter("budgetCode");
            if(budgetCode!=null && budgetCode.length()>0 && !"---".equals(budgetCode))
                ip.setBudget(budgetCode);

            String budgetLib = request.getParameter("budgetLib");
            if(budgetLib!=null && budgetLib.length()>0 && !"---".equals(budgetCode))
                ip.setBudgetLib(budgetLib);

            ip.setStatus(0);
            ip.determinateStatus();

            ImportVOWrapper.updateImportVO(con, ip);
        } catch(SQLException sqlEx) {
            sqlEx.printStackTrace();
        } finally {
            if(con!=null) {
                PoolManager.getInstance().releaseConnection(con);
            }
        }
        return mapping.findForward("success");
    }
}
