Package org.internna.ossmoney.mvc

Source Code of org.internna.ossmoney.mvc.QIFController

package org.internna.ossmoney.mvc;

import java.util.List;
import java.util.Locale;
import java.util.TreeSet;
import java.io.ByteArrayInputStream;
import org.internna.ossmoney.model.qif.Message;
import org.internna.ossmoney.model.FinancialInstitution;
import org.internna.ossmoney.model.security.UserDetails;
import org.internna.ossmoney.services.QIFImporterService;
import org.springframework.ui.ModelMap;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.multipart.support.ByteArrayMultipartFileEditor;

@Controller
@RequestMapping("/financial/qif")
public class QIFController {

  @Autowired private QIFImporterService qifService;

    @InitBinder
    public void initBinder(WebDataBinder binder) {
        binder.registerCustomEditor(byte[].class, new ByteArrayMultipartFileEditor());
    }

    @RequestMapping
    public String index(ModelMap modelMap) {
      UserDetails user = UserDetails.findCurrentUser();
      modelMap.addAttribute("institutions", new TreeSet<FinancialInstitution>(user.getInstitutions()));
        return "qif/index";
    }

    @RequestMapping(value = "/import", method = RequestMethod.POST)
    public String upload(byte[] input, byte[] investment, String locale, long institution, ModelMap modelMap) {
      String[] splitted = locale.split("_");
      Locale currency = new Locale(splitted[0], splitted[1], "");
      FinancialInstitution financialInstitution = FinancialInstitution.findFinancialInstitution(institution);
      List<Message> messages = qifService.importQIF(currency, financialInstitution, new ByteArrayInputStream(input), investment != null && investment.length > 0 ? new ByteArrayInputStream(investment) : null);
      modelMap.addAttribute("messages", messages);
      return "qif/result";
    }

}
TOP

Related Classes of org.internna.ossmoney.mvc.QIFController

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.