1 21 package com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.client; 22 23 import java.util.ArrayList ; 24 import java.util.Iterator ; 25 import java.util.List ; 26 27 import com.jaspersoft.jasperserver.api.common.domain.ValidationResult; 28 import com.jaspersoft.jasperserver.api.metadata.common.domain.FileResource; 29 import com.jaspersoft.jasperserver.api.metadata.common.domain.InputControl; 30 import com.jaspersoft.jasperserver.api.metadata.common.domain.ResourceReference; 31 import com.jaspersoft.jasperserver.api.metadata.common.domain.client.ResourceImpl; 32 import com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.ReportDataSource; 33 import com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.ReportUnit; 34 35 36 40 public class ReportUnitImpl extends ResourceImpl implements ReportUnit 41 { 42 43 private ResourceReference dataSource = null; 44 private ResourceReference query = null; 45 private List inputControls; 46 private ResourceReference mainReport = null; 47 private List resources; 48 private String inputControlRenderingView; 49 private String reportRenderingView; 50 51 public ReportUnitImpl() 52 { 53 resources = new ArrayList (); 54 inputControls = new ArrayList (); 55 } 56 57 58 public ResourceReference getDataSource() 59 { 60 return dataSource; 61 } 62 63 66 public void setDataSource(ResourceReference dataSource) 67 { 68 this.dataSource = dataSource; 69 } 70 71 72 public void setDataSource(ReportDataSource dataSource) { 73 setDataSource(new ResourceReference(dataSource)); 74 } 75 76 77 public void setDataSourceReference(String referenceURI) { 78 setDataSource(new ResourceReference(referenceURI)); 79 } 80 81 82 85 public ResourceReference getQuery() 86 { 87 return query; 88 } 89 90 93 public void setQuery(ResourceReference query) 94 { 95 this.query = query; 96 } 97 98 101 public List getInputControls() 102 { 103 return inputControls; 104 } 105 106 109 public ResourceReference getMainReport() 110 { 111 return mainReport; 112 } 113 114 115 public InputControl getInputControl(String name) { 116 InputControl inputControl = null; 117 if (inputControls != null && !inputControls.isEmpty()) { 118 for (Iterator iter = inputControls.iterator(); iter.hasNext();) { 119 ResourceReference ref = (ResourceReference) iter.next(); 120 if (ref.isLocal()) { 121 InputControl ic = (InputControl) ref.getLocalResource(); 122 if (ic.getName().equals(name)) { 123 inputControl = ic; 124 break; 125 } 126 } 127 } 128 } 129 return inputControl; 130 } 131 132 133 136 public void setMainReport(ResourceReference mainReport) 137 { 138 this.mainReport = mainReport; 139 } 140 141 142 public void setMainReport(FileResource report) { 143 setMainReport(new ResourceReference(report)); 144 } 145 146 147 public void setMainReportReference(String referenceURI) { 148 setMainReport(new ResourceReference(referenceURI)); 149 } 150 151 public List getResources() 152 { 153 return resources; 154 } 155 156 public FileResource getResource(String name) { 157 FileResource resource = null; 158 if (resources != null && !resources.isEmpty()) { 159 for (Iterator iter = resources.iterator(); iter.hasNext();) { 160 FileResource res = (FileResource) iter.next(); 161 if (res.getName().equals(name)) { 162 resource = res; 163 break; 164 } 165 } 166 } 167 return resource; 168 } 169 170 public void setResources(List resources) 171 { 172 this.resources = resources; 173 } 174 175 176 179 public String getInputControlRenderingView() { 180 return inputControlRenderingView; 181 } 182 183 184 187 public String getReportRenderingView() { 188 return reportRenderingView; 189 } 190 191 192 195 public void setInputControlRenderingView(String viewName) { 196 this.inputControlRenderingView = viewName; 197 } 198 199 200 203 public void setReportRenderingView(String viewName) { 204 this.reportRenderingView = viewName; 205 } 206 207 208 public void addResource(ResourceReference resourceReference) { 209 resources.add(resourceReference); 210 } 211 212 public void addResourceReference(String referenceURI) { 213 addResource(new ResourceReference(referenceURI)); 214 } 215 216 public void addResource(FileResource resource) { 217 addResource(new ResourceReference(resource)); 218 } 219 220 public ResourceReference removeResource(int index) { 221 return (ResourceReference) resources.remove(index); 222 } 223 224 public FileResource removeResourceLocal(String name) { 225 FileResource removed = null; 226 for (Iterator it = resources.iterator(); it.hasNext();) { 227 ResourceReference resourceRef = (ResourceReference) it.next(); 228 if (resourceRef.isLocal()) { 229 FileResource resource = (FileResource) resourceRef.getLocalResource(); 230 if (resource.getName().equals(name)) { 231 it.remove(); 232 removed = resource; 233 break; 234 } 235 } 236 } 237 return removed; 238 } 239 240 public boolean removeResourceReference(String referenceURI) { 241 boolean removed = false; 242 for (Iterator it = resources.iterator(); it.hasNext();) { 243 ResourceReference resourceRef = (ResourceReference) it.next(); 244 if (!resourceRef.isLocal() && resourceRef.getReferenceURI().equals(referenceURI)) { 245 it.remove(); 246 removed = true; 247 break; 248 } 249 } 250 return removed; 251 } 252 253 public ValidationResult validate() { 254 return null; 255 } 256 257 public void addInputControl(ResourceReference inputControlReference) { 258 inputControls.add(inputControlReference); 259 } 260 261 public void addInputControlReference(String referenceURI) { 262 addInputControl(new ResourceReference(referenceURI)); 263 } 264 265 public void setInputControls(List inputControls) 266 { 267 this.inputControls = inputControls; 268 } 269 270 public void addInputControl(InputControl inputControl) { 271 addInputControl(new ResourceReference(inputControl)); 272 } 273 274 public ResourceReference removeInputControl(int index) { 275 return (ResourceReference) inputControls.remove(index); 276 } 277 278 public InputControl removeInputControlLocal(String name) { 279 InputControl removed = null; 280 for (Iterator it = inputControls.iterator(); it.hasNext();) { 281 ResourceReference ref = (ResourceReference) it.next(); 282 if (ref.isLocal()) { 283 InputControl inputCtrl = (InputControl) ref.getLocalResource(); 284 if (inputCtrl.getName().equals(name)) { 285 it.remove(); 286 removed = inputCtrl; 287 break; 288 } 289 } 290 } 291 return removed; 292 } 293 294 public boolean removeInputControlReference(String referenceURI) { 295 boolean removed = false; 296 for (Iterator it = inputControls.iterator(); it.hasNext();) { 297 ResourceReference ref = (ResourceReference) it.next(); 298 if (!ref.isLocal() && ref.getReferenceURI().equals(referenceURI)) { 299 it.remove(); 300 removed = true; 301 break; 302 } 303 } 304 return removed; 305 } 306 307 public FileResource getResourceLocal(String name) { 308 FileResource resource = null; 309 if (resources != null && !resources.isEmpty()) { 310 for (Iterator iter = resources.iterator(); iter.hasNext();) { 311 ResourceReference resourceRef = (ResourceReference) iter.next(); 312 if (resourceRef.isLocal()) { 313 FileResource res = (FileResource) resourceRef.getLocalResource(); 314 if (res.getName().equals(name)) { 315 resource = res; 316 break; 317 } 318 } 319 } 320 } 321 return resource; 322 } 323 324 protected Class getImplementingItf() { 325 return ReportUnit.class; 326 } 327 328 } 329 | Popular Tags |