package fi.otavanopisto.pyramus.views.system; import java.io.InputStreamReader; import fi.internetix.smvc.SmvcRuntimeException; import fi.internetix.smvc.controllers.PageRequestContext; import fi.otavanopisto.pyramus.I18N.Messages; import fi.otavanopisto.pyramus.framework.PyramusFormViewController; import fi.otavanopisto.pyramus.framework.UserRole; import fi.otavanopisto.pyramus.util.dataimport.scripting.ScriptedImporter; public class ImportScriptedDataViewController extends PyramusFormViewController { @Override public void processForm(PageRequestContext requestContext) { if ("SUCCESS".equals(requestContext.getString("status"))) { requestContext.getRequest().setAttribute("statusMessage", Messages.getInstance().getText(requestContext.getRequest().getLocale(), "system.importscripteddata.successMessage")); } requestContext.setIncludeJSP("/templates/system/importscripteddata.jsp"); } @Override public void processSend(PageRequestContext requestContext) { ScriptedImporter dataImporter = new ScriptedImporter(); try { dataImporter.importDataFromReader(requestContext.getLoggedUserId(), new InputStreamReader(requestContext.getFile("file").getInputStream(), "UTF-8")); } catch (Exception e) { throw new SmvcRuntimeException(e); } requestContext.setRedirectURL(requestContext.getRequest().getContextPath() + "/system/importscripteddata.page?status=SUCCESS"); } public UserRole[] getAllowedRoles() { return new UserRole[] { UserRole.ADMINISTRATOR }; } }