1 21 package com.jaspersoft.jasperserver.war.control; 22 23 import javax.servlet.http.HttpServletRequest ; 24 25 import org.springframework.web.servlet.ModelAndView; 26 import org.springframework.web.servlet.mvc.SimpleFormController; 27 import org.springframework.web.servlet.view.RedirectView; 28 29 import com.jaspersoft.jasperserver.api.common.domain.impl.ExecutionContextImpl; 30 import com.jaspersoft.jasperserver.api.metadata.common.service.RepositoryService; 31 import com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.ReportUnit; 32 import com.jaspersoft.jasperserver.war.common.JasperServerConst; 33 34 38 public class ReportEditController extends SimpleFormController { 39 40 private RepositoryService repository; 41 42 public RepositoryService getRepository() { 43 return repository; 44 } 45 46 public void setRepository(RepositoryService repository) { 47 this.repository = repository; 48 } 49 50 protected Object formBackingObject(HttpServletRequest req) throws Exception { 51 String uri = req.getParameter(JasperServerConst.REPORT_REQUEST_PARAM); 52 if (uri == null) { 53 return null; 54 } 55 56 ExecutionContextImpl executionContext = new ExecutionContextImpl(); 57 ReportUnit reportUnit = (ReportUnit) repository.getResource(executionContext, uri); 58 if (reportUnit == null) { 59 throw new RuntimeException ("Report unit \"" + uri + "\" not found."); 60 } 61 return reportUnit; 62 } 63 64 protected ModelAndView onSubmit(Object bean) throws Exception { 65 ReportUnit reportUnit = (ReportUnit) bean; 66 repository.saveResource(null, reportUnit); 67 return new ModelAndView(new RedirectView("reportdtls.html?report=" + reportUnit.getURIString())); 68 } 69 70 } 71 | Popular Tags |