KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jaspersoft > jasperserver > war > control > DataTypeEditController


1 /*
2  * Copyright (C) 2006 JasperSoft http://www.jaspersoft.com
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed WITHOUT ANY WARRANTY; and without the
10  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11  * See the GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
15  * or write to:
16  *
17  * Free Software Foundation, Inc.,
18  * 59 Temple Place - Suite 330,
19  * Boston, MA USA 02111-1307
20  */

21 package com.jaspersoft.jasperserver.war.control;
22
23 import java.util.Map JavaDoc;
24 import java.util.HashMap JavaDoc;
25
26 import javax.servlet.http.HttpServletRequest JavaDoc;
27 import javax.servlet.http.HttpServletResponse JavaDoc;
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 /**
45  * @author Ionut Nedelcu (ionutned@users.sourceforge.net)
46  * @version $Id: DataTypeEditController.java 2995 2006-04-07 14:05:32Z tdanciu $
47  */

48 public class DataTypeEditController extends SimpleFormController
49 {
50
51     //variable to store repo-service
52
private RepositoryService repository;
53
54     /*
55      * method to get the reposervice object
56      * arguments: none
57      * returns: RepositoryService
58      */

59     public RepositoryService getRepository() {
60         return repository;
61     }
62
63     /*
64      * method to set the reposervice object
65      * arguments: RepositoryService
66      * returns: void
67      */

68     public void setRepository(RepositoryService repository) {
69         this.repository = repository;
70     }
71
72
73     /*
74     * overridden method for commandobject initialization
75     * during formView
76     * arguments: HttpServletRequest
77     * returns: Object
78     */

79     protected Object JavaDoc formBackingObject(HttpServletRequest JavaDoc request) {
80         String JavaDoc 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 /*
96          * overridden lifecycle method on form submission
97          * arguments: HttpServletRequest, HttpServletResponse, Object, BindException
98          * returns: ModelAndView
99          */

100     protected ModelAndView onSubmit(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response,
101                                     Object JavaDoc command, BindException errors) throws Exception JavaDoc {
102
103         DataType dataType = (DataType)command;
104         if(dataType == null)
105             throw new Exception JavaDoc(" Insufficient Data. Cannot continue SAVE. ");
106
107         String JavaDoc 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 // System.out.println("name = "+ dataType.getName());
118
// System.out.println("label = " + dataType.getLabel());
119
// System.out.println("description = " + dataType.getDescription());
120
// System.out.println("type = " + dataType.getType());
121
// System.out.println("regexp = " + dataType.getRegularExpr());
122
// System.out.println("minval = " + dataType.getMinValue());
123
// System.out.println("is strict min = " + dataType.isStrictMin());
124
// System.out.println("maxval = " + dataType.getMaxValue());
125
// System.out.println("is strict max = " + dataType.isStrictMax());
126

127         repository.saveResource(null, dataType);
128
129         return new ModelAndView("redirect:/datatypelist.html");
130     }
131
132
133     protected Map JavaDoc referenceData(HttpServletRequest JavaDoc request) throws Exception JavaDoc
134     {
135         Map JavaDoc map = new HashMap JavaDoc();
136         map.put("folders", repository.getAllFolders(null));
137         return map;
138     }
139
140 }
141
Popular Tags