db.pj.action.admin.ImportAction.java Source code

Java tutorial

Introduction

Here is the source code for db.pj.action.admin.ImportAction.java

Source

package db.pj.action.admin;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

import db.pj.dao.DaoFactory;
import db.pj.util.IDGenerator;
import db.pj.util.SessionConstants;
import db.pj.util.excel.ExcelUtil;

@SuppressWarnings("serial")
public class ImportAction extends ActionSupport {
    private File excel;
    private String excelFileName;
    private String excelContentType;
    private String type;

    public String execute() throws IOException {
        String realpath = ServletActionContext.getServletContext().getRealPath("/temp");
        if (excel == null)
            return SUCCESS;

        // upload file
        String saveName = IDGenerator.generateUUID() + excelFileName.substring(excelFileName.indexOf("."));
        File saveFile = new File(new File(realpath), saveName);
        if (!saveFile.getParentFile().exists())
            saveFile.getParentFile().mkdirs();
        FileUtils.copyFile(excel, saveFile);

        // import data
        List<String> result = new ArrayList<String>();
        if (type.equals("trad"))
            result = ExcelUtil.importAdministration(saveFile);
        else if (type.equals("staff"))
            result = ExcelUtil.importStaff(saveFile);
        else if (type.equals("licn"))
            result = ExcelUtil.importLicense(saveFile);
        else if (type.equals("pnlt"))
            result = ExcelUtil.importPenalty(saveFile);
        else
            result.add("");

        // delete temp file and add log
        saveFile.delete();
        DaoFactory.getLoggingDao().addLogging(SessionConstants.ADMIN_NAME, result.get(0));

        // return
        ActionContext actionContext = ActionContext.getContext();
        actionContext.put("exeTip", result);
        return SUCCESS;
    }

    public File getExcel() {
        return excel;
    }

    public void setExcel(File excel) {
        this.excel = excel;
    }

    public String getExcelFileName() {
        return excelFileName;
    }

    public void setExcelFileName(String excelFileName) {
        this.excelFileName = excelFileName;
    }

    public String getExcelContentType() {
        return excelContentType;
    }

    public void setExcelContentType(String excelContentType) {
        this.excelContentType = excelContentType;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

}