1 21 package com.jaspersoft.jasperserver.war.control; 22 23 import java.util.Map ; 24 import java.util.HashMap ; 25 26 import javax.servlet.http.HttpServletRequest ; 27 import javax.servlet.http.HttpServletResponse ; 28 29 import org.springframework.web.servlet.mvc.SimpleFormController; 30 import org.springframework.web.servlet.ModelAndView; 31 import org.springframework.validation.BindException; 32 import com.jaspersoft.jasperserver.api.metadata.common.service.RepositoryService; 33 import com.jaspersoft.jasperserver.api.metadata.common.domain.FileResource; 34 import com.jaspersoft.jasperserver.api.metadata.common.domain.DataType; 35 import com.jaspersoft.jasperserver.api.metadata.common.domain.Folder; 36 import com.jaspersoft.jasperserver.api.metadata.common.domain.client.FolderImpl; 37 import com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.ReportUnit; 38 import com.jaspersoft.jasperserver.api.metadata.view.domain.FilterCriteria; 39 import com.jaspersoft.jasperserver.api.metadata.view.domain.FilterElement; 40 import com.jaspersoft.jasperserver.api.common.domain.impl.ExecutionContextImpl; 41 import com.jaspersoft.jasperserver.war.common.JasperServerUtil; 42 import com.jaspersoft.jasperserver.war.common.JasperServerConstImpl; 43 44 48 public class DataTypeEditController extends SimpleFormController 49 { 50 51 private RepositoryService repository; 53 54 59 public RepositoryService getRepository() { 60 return repository; 61 } 62 63 68 public void setRepository(RepositoryService repository) { 69 this.repository = repository; 70 } 71 72 73 79 protected Object formBackingObject(HttpServletRequest request) { 80 String dataTypeUri = request.getParameter(JasperServerConstImpl.getDataTypeReqParam()); 81 DataType dataType = null; 82 83 if (dataTypeUri != null) { 84 ExecutionContextImpl executionContext = new ExecutionContextImpl(); 85 dataType = (DataType) repository.getResource(executionContext, dataTypeUri); 86 } 87 else { 88 dataType = (DataType) repository.newResource(null, DataType.class); 89 } 90 91 return dataType; 92 } 93 94 95 100 protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, 101 Object command, BindException errors) throws Exception { 102 103 DataType dataType = (DataType)command; 104 if(dataType == null) 105 throw new Exception (" Insufficient Data. Cannot continue SAVE. "); 106 107 String folderName = request.getParameter("newFolder"); 108 if (folderName != null && folderName.trim().length() > 0) { 109 Folder folder = new FolderImpl(); 110 folder.setParentFolder(dataType.getParentFolder()); 111 folder.setName(folderName); 112 folder.setLabel(folderName); 113 repository.saveFolder(null, folder); 114 dataType.setParentFolder(folder); 115 } 116 117 127 repository.saveResource(null, dataType); 128 129 return new ModelAndView("redirect:/datatypelist.html"); 130 } 131 132 133 protected Map referenceData(HttpServletRequest request) throws Exception 134 { 135 Map map = new HashMap (); 136 map.put("folders", repository.getAllFolders(null)); 137 return map; 138 } 139 140 } 141 | Popular Tags |