1 19 20 package org.efs.openreports.actions.admin; 21 22 import java.util.*; 23 24 import com.opensymphony.xwork.ActionSupport; 25 26 import org.apache.log4j.Logger; 27 import org.efs.openreports.objects.*; 28 import org.efs.openreports.providers.*; 29 30 public class EditReportParameterMapAction 31 extends ActionSupport 32 implements ReportProviderAware, ParameterProviderAware 33 { 34 protected static Logger log = 35 Logger.getLogger(EditReportParameterMapAction.class); 36 37 private int id; 38 private int reportParameterId; 39 40 private int sortOrder; 41 private int step; 42 private boolean required; 43 44 private String submitAdd; 45 private String submitUpdate; 46 private String submitDelete; 47 48 private String command; 49 50 private Report report; 51 52 private ReportProvider reportProvider; 53 private ParameterProvider parameterProvider; 54 55 public String execute() 56 { 57 try 58 { 59 report = reportProvider.getReport(new Integer (id)); 60 61 if (submitAdd != null) 62 { 63 ReportParameter param = 64 parameterProvider.getReportParameter( 65 new Integer (reportParameterId)); 66 67 ReportParameterMap rpMap = new ReportParameterMap(); 68 rpMap.setReport(report); 69 rpMap.setReportParameter(param); 70 rpMap.setRequired(param.isRequired()); 71 rpMap.setSortOrder(0); 72 rpMap.setStep(0); 73 74 report.getParameters().add(rpMap); 75 76 reportProvider.updateReport(report); 77 } 78 79 if (submitUpdate != null) 80 { 81 ReportParameterMap rpMap = 82 report.getReportParameterMap( 83 new Integer (reportParameterId)); 84 85 rpMap.setRequired(required); 86 rpMap.setSortOrder(sortOrder); 87 rpMap.setStep(step); 88 89 reportProvider.updateReport(report); 90 } 91 92 if (submitDelete != null) 93 { 94 ReportParameterMap rpMap = 95 report.getReportParameterMap( 96 new Integer (reportParameterId)); 97 98 report.getParameters().remove(rpMap); 99 100 reportProvider.updateReport(report); 101 } 102 103 return INPUT; 104 } 105 catch (Exception e) 106 { 107 e.printStackTrace(); 108 addActionError(e.toString()); 109 return INPUT; 110 } 111 } 112 113 public int getId() 114 { 115 return id; 116 } 117 118 public void setId(int id) 119 { 120 this.id = id; 121 } 122 123 public List getReportParameters() 124 { 125 try 126 { 127 return parameterProvider.getAvailableParameters(report); 128 } 129 catch (Exception e) 130 { 131 addActionError(e.toString()); 132 return null; 133 } 134 } 135 136 public List getParametersInReport() 137 { 138 List list = report.getParameters(); 139 Collections.sort(list); 140 141 return list; 142 } 143 144 public void setReportProvider(ReportProvider reportProvider) 145 { 146 this.reportProvider = reportProvider; 147 } 148 149 public void setParameterProvider(ParameterProvider parameterProvider) 150 { 151 this.parameterProvider = parameterProvider; 152 } 153 154 public Report getReport() 155 { 156 return report; 157 } 158 159 public void setReport(Report report) 160 { 161 this.report = report; 162 } 163 164 public int getReportParameterId() 165 { 166 return reportParameterId; 167 } 168 169 public void setReportParameterId(int reportParameterId) 170 { 171 this.reportParameterId = reportParameterId; 172 } 173 174 public String getCommand() 175 { 176 return command; 177 } 178 179 public void setCommand(String command) 180 { 181 this.command = command; 182 } 183 184 public String getSubmitAdd() 185 { 186 return submitAdd; 187 } 188 189 public void setSubmitAdd(String submitAdd) 190 { 191 this.submitAdd = submitAdd; 192 } 193 194 public String getSubmitUpdate() 195 { 196 return submitUpdate; 197 } 198 199 public void setSubmitUpdate(String submitUpdate) 200 { 201 this.submitUpdate = submitUpdate; 202 } 203 204 public String getSubmitDelete() 205 { 206 return submitDelete; 207 } 208 209 public void setSubmitDelete(String submitDelete) 210 { 211 this.submitDelete = submitDelete; 212 } 213 214 public boolean isRequired() 215 { 216 return required; 217 } 218 219 public void setRequired(boolean required) 220 { 221 this.required = required; 222 } 223 224 public int getSortOrder() 225 { 226 return sortOrder; 227 } 228 229 public void setSortOrder(int sortOrder) 230 { 231 this.sortOrder = sortOrder; 232 } 233 234 public int getStep() 235 { 236 return step; 237 } 238 239 public void setStep(int step) 240 { 241 this.step = step; 242 } 243 244 } | Popular Tags |