Source Code Cross Referenced for MergingReportVisitor.java in  » Report » pentaho-report » org » pentaho » reportdesigner » crm » report » reportexporter » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Report » pentaho report » org.pentaho.reportdesigner.crm.report.reportexporter 
Source Cross Referenced  Class Diagram Java Document (Java Doc) 


001:        /*
002:         * Copyright 2006-2007 Pentaho Corporation.  All rights reserved.
003:         * This software was developed by Pentaho Corporation and is provided under the terms
004:         * of the Mozilla Public License, Version 1.1, or any later version. You may not use
005:         * this file except in compliance with the license. If you need a copy of the license,
006:         * please go to http://www.mozilla.org/MPL/MPL-1.1.txt.
007:         *
008:         * Software distributed under the Mozilla Public License is distributed on an "AS IS"
009:         * basis, WITHOUT WARRANTY OF ANY KIND, either express or  implied. Please refer to
010:         * the license for the specific language governing your rights and limitations.
011:         *
012:         * Additional Contributor(s): Martin Schmid gridvision engineering GmbH
013:         */
014:        package org.pentaho.reportdesigner.crm.report.reportexporter;
015:
016:        import org.jetbrains.annotations.NotNull;
017:        import org.jetbrains.annotations.Nullable;
018:        import org.pentaho.reportdesigner.crm.report.datasetplugin.jdbc.JDBCDataSetReportElement;
019:        import org.pentaho.reportdesigner.crm.report.datasetplugin.multidataset.MultiDataSetReportElement;
020:        import org.pentaho.reportdesigner.crm.report.datasetplugin.properties.PropertiesDataSetReportElement;
021:        import org.pentaho.reportdesigner.crm.report.datasetplugin.properties.PropertyInfo;
022:        import org.pentaho.reportdesigner.crm.report.datasetplugin.staticfactory.StaticFactoryDataSetReportElement;
023:        import org.pentaho.reportdesigner.crm.report.model.AnchorFieldReportElement;
024:        import org.pentaho.reportdesigner.crm.report.model.BandReportElement;
025:        import org.pentaho.reportdesigner.crm.report.model.BandToplevelItemReportElement;
026:        import org.pentaho.reportdesigner.crm.report.model.BandToplevelPageReportElement;
027:        import org.pentaho.reportdesigner.crm.report.model.BandToplevelReportElement;
028:        import org.pentaho.reportdesigner.crm.report.model.ChartReportElement;
029:        import org.pentaho.reportdesigner.crm.report.model.DateFieldReportElement;
030:        import org.pentaho.reportdesigner.crm.report.model.DrawableFieldReportElement;
031:        import org.pentaho.reportdesigner.crm.report.model.EllipseReportElement;
032:        import org.pentaho.reportdesigner.crm.report.model.ImageFieldReportElement;
033:        import org.pentaho.reportdesigner.crm.report.model.ImageURLFieldReportElement;
034:        import org.pentaho.reportdesigner.crm.report.model.LabelReportElement;
035:        import org.pentaho.reportdesigner.crm.report.model.LineReportElement;
036:        import org.pentaho.reportdesigner.crm.report.model.MessageFieldReportElement;
037:        import org.pentaho.reportdesigner.crm.report.model.NumberFieldReportElement;
038:        import org.pentaho.reportdesigner.crm.report.model.RectangleReportElement;
039:        import org.pentaho.reportdesigner.crm.report.model.Report;
040:        import org.pentaho.reportdesigner.crm.report.model.ReportElement;
041:        import org.pentaho.reportdesigner.crm.report.model.ReportFunctionElement;
042:        import org.pentaho.reportdesigner.crm.report.model.ReportFunctionsElement;
043:        import org.pentaho.reportdesigner.crm.report.model.ReportGroup;
044:        import org.pentaho.reportdesigner.crm.report.model.ReportGroups;
045:        import org.pentaho.reportdesigner.crm.report.model.ResourceFieldReportElement;
046:        import org.pentaho.reportdesigner.crm.report.model.ResourceLabelReportElement;
047:        import org.pentaho.reportdesigner.crm.report.model.ResourceMessageReportElement;
048:        import org.pentaho.reportdesigner.crm.report.model.StaticImageReportElement;
049:        import org.pentaho.reportdesigner.crm.report.model.SubReportDataElement;
050:        import org.pentaho.reportdesigner.crm.report.model.SubReportElement;
051:        import org.pentaho.reportdesigner.crm.report.model.TextFieldReportElement;
052:        import org.pentaho.reportdesigner.crm.report.model.dataset.DataSetsReportElement;
053:
054:        import java.util.ArrayList;
055:        import java.util.TreeSet;
056:
057:        /**
058:         * User: Martin
059:         * Date: 24.02.2006
060:         * Time: 07:55:20
061:         */
062:        public class MergingReportVisitor extends ReportVisitor {
063:            @NotNull
064:            private Report oldReport;
065:
066:            public MergingReportVisitor(@NotNull
067:            Report oldReport) {
068:                //noinspection ConstantConditions
069:                if (oldReport == null) {
070:                    throw new IllegalArgumentException(
071:                            "oldReport must not be null");
072:                }
073:
074:                this .oldReport = oldReport;
075:            }
076:
077:            @Nullable
078:            public Object getCurrentContext() {
079:                return null;
080:            }
081:
082:            public void setCurrentContext(@Nullable
083:            Object context) {
084:            }
085:
086:            @NotNull
087:            public Object visit(@Nullable
088:            Object parent, @NotNull
089:            Report report) {
090:                return oldReport;
091:            }
092:
093:            @Nullable
094:            @SuppressWarnings({"ObjectEquality"})
095:            public Object visit(@Nullable
096:            Object parent, @NotNull
097:            BandToplevelReportElement bandToplevelReportElement)
098:                    throws ReportCreationException {
099:                if (bandToplevelReportElement.getParent() instanceof  ReportGroup) {
100:                    return null;//1. already added by visit(ReportGroups) or 2. can be ignored
101:                } else {
102:                    Report mergingReport = (Report) bandToplevelReportElement
103:                            .getParent();
104:
105:                    if (mergingReport != null) {
106:                        if (mergingReport.getReportHeaderBand() == bandToplevelReportElement) {
107:                            BandToplevelReportElement reportHeader = oldReport
108:                                    .getReportHeaderBand();
109:                            reportHeader
110:                                    .setPageBreakBefore(bandToplevelReportElement
111:                                            .isPageBreakBefore());
112:                            reportHeader
113:                                    .setPageBreakAfter(bandToplevelReportElement
114:                                            .isPageBreakAfter());
115:                            applySizes(reportHeader, bandToplevelReportElement);
116:                            return reportHeader;
117:                        } else if (mergingReport.getReportFooterBand() == bandToplevelReportElement) {
118:                            BandToplevelReportElement reportFooter = oldReport
119:                                    .getReportFooterBand();
120:                            reportFooter
121:                                    .setPageBreakBefore(bandToplevelReportElement
122:                                            .isPageBreakBefore());
123:                            reportFooter
124:                                    .setPageBreakAfter(bandToplevelReportElement
125:                                            .isPageBreakAfter());
126:                            applySizes(reportFooter, bandToplevelReportElement);
127:                            return reportFooter;
128:                        } else if (mergingReport.getPageHeaderBand() == bandToplevelReportElement) {
129:                            BandToplevelPageReportElement pageHeader = oldReport
130:                                    .getPageHeaderBand();
131:                            BandToplevelPageReportElement bandToplevelPageReportElement = (BandToplevelPageReportElement) bandToplevelReportElement;
132:                            pageHeader
133:                                    .setPageBreakBefore(bandToplevelReportElement
134:                                            .isPageBreakBefore());
135:                            pageHeader
136:                                    .setPageBreakAfter(bandToplevelReportElement
137:                                            .isPageBreakAfter());
138:                            pageHeader
139:                                    .setDisplayOnFirstPage(bandToplevelPageReportElement
140:                                            .isDisplayOnFirstPage());
141:                            pageHeader
142:                                    .setDisplayOnLastPage(bandToplevelPageReportElement
143:                                            .isDisplayOnLastPage());
144:                            applySizes(pageHeader, bandToplevelReportElement);
145:                            return pageHeader;
146:                        } else if (mergingReport.getPageFooterBand() == bandToplevelReportElement) {
147:                            BandToplevelPageReportElement pageFooter = oldReport
148:                                    .getPageFooterBand();
149:                            BandToplevelPageReportElement bandToplevelPageReportElement = (BandToplevelPageReportElement) bandToplevelReportElement;
150:                            pageFooter
151:                                    .setPageBreakBefore(bandToplevelPageReportElement
152:                                            .isPageBreakBefore());
153:                            pageFooter
154:                                    .setPageBreakAfter(bandToplevelPageReportElement
155:                                            .isPageBreakAfter());
156:                            pageFooter
157:                                    .setDisplayOnFirstPage(bandToplevelPageReportElement
158:                                            .isDisplayOnFirstPage());
159:                            pageFooter
160:                                    .setDisplayOnLastPage(bandToplevelPageReportElement
161:                                            .isDisplayOnLastPage());
162:                            applySizes(pageFooter, bandToplevelReportElement);
163:                            return pageFooter;
164:                        } else if (mergingReport.getItemBand() == bandToplevelReportElement) {
165:                            BandToplevelItemReportElement itemBand = oldReport
166:                                    .getItemBand();
167:                            itemBand
168:                                    .setPageBreakBefore(bandToplevelReportElement
169:                                            .isPageBreakBefore());
170:                            itemBand
171:                                    .setPageBreakAfter(bandToplevelReportElement
172:                                            .isPageBreakAfter());
173:                            applySizes(itemBand, bandToplevelReportElement);
174:                            if (mergingReport.getItemBand()
175:                                    .getRowBandingDefinition().isEnabled()) {
176:                                itemBand.setRowBandingDefinition(mergingReport
177:                                        .getItemBand()
178:                                        .getRowBandingDefinition());
179:                            }
180:                            return itemBand;
181:                        } else if (mergingReport.getWatermarkBand() == bandToplevelReportElement) {
182:                            BandToplevelReportElement watermark = oldReport
183:                                    .getWatermarkBand();
184:                            watermark
185:                                    .setPageBreakBefore(bandToplevelReportElement
186:                                            .isPageBreakBefore());
187:                            watermark
188:                                    .setPageBreakAfter(bandToplevelReportElement
189:                                            .isPageBreakAfter());
190:                            applySizes(watermark, bandToplevelReportElement);
191:                            return watermark;
192:                        } else if (mergingReport.getNoDataBand() == bandToplevelReportElement) {
193:                            BandToplevelReportElement noDataBand = oldReport
194:                                    .getNoDataBand();
195:                            noDataBand
196:                                    .setPageBreakBefore(bandToplevelReportElement
197:                                            .isPageBreakBefore());
198:                            noDataBand
199:                                    .setPageBreakAfter(bandToplevelReportElement
200:                                            .isPageBreakAfter());
201:                            applySizes(noDataBand, bandToplevelReportElement);
202:                            return noDataBand;
203:                        }
204:                    }
205:                }
206:                throw new RuntimeException("eeek!");
207:            }
208:
209:            private void applySizes(@NotNull
210:            ReportElement targetReportElement, @NotNull
211:            ReportElement sourceReportElement) {
212:                targetReportElement.setMinimumSize(sourceReportElement
213:                        .getMinimumSize());
214:                targetReportElement.setPreferredSize(sourceReportElement
215:                        .getPreferredSize());
216:                targetReportElement.setMaximumSize(sourceReportElement
217:                        .getMaximumSize());
218:            }
219:
220:            @Nullable
221:            public Object visit(@Nullable
222:            Object parent, @NotNull
223:            BandReportElement bandReportElement) throws ReportCreationException {
224:                if (parent instanceof  ReportElement) {
225:                    ReportElement parentReportElement = (ReportElement) parent;
226:                    parentReportElement.addChild(bandReportElement);
227:                }
228:                return null;
229:            }
230:
231:            @Nullable
232:            public Object visit(@Nullable
233:            Object parent, @NotNull
234:            DateFieldReportElement dateFieldReportElement)
235:                    throws ReportCreationException {
236:                if (parent instanceof  ReportElement) {
237:                    ReportElement parentReportElement = (ReportElement) parent;
238:                    parentReportElement.addChild(dateFieldReportElement);
239:                }
240:                return null;
241:            }
242:
243:            @Nullable
244:            public Object visit(@Nullable
245:            Object parent, @NotNull
246:            LabelReportElement labelReportElement)
247:                    throws ReportCreationException {
248:                if (parent instanceof  ReportElement) {
249:                    ReportElement parentReportElement = (ReportElement) parent;
250:                    parentReportElement.addChild(labelReportElement);
251:                }
252:                return null;
253:            }
254:
255:            @Nullable
256:            public Object visit(@Nullable
257:            Object parent, @NotNull
258:            MessageFieldReportElement messageFieldReportElement)
259:                    throws ReportCreationException {
260:                if (parent instanceof  ReportElement) {
261:                    ReportElement parentReportElement = (ReportElement) parent;
262:                    parentReportElement.addChild(messageFieldReportElement);
263:                }
264:                return null;
265:            }
266:
267:            @Nullable
268:            public Object visit(@Nullable
269:            Object parent, @NotNull
270:            NumberFieldReportElement numberFieldReportElement)
271:                    throws ReportCreationException {
272:                if (parent instanceof  ReportElement) {
273:                    ReportElement parentReportElement = (ReportElement) parent;
274:                    parentReportElement.addChild(numberFieldReportElement);
275:                }
276:                return null;
277:            }
278:
279:            @Nullable
280:            public Object visit(@Nullable
281:            Object parent, @NotNull
282:            ReportGroup reportGroup) throws ReportCreationException {
283:                if (parent instanceof  ReportElement) {
284:                    ReportElement parentReportElement = (ReportElement) parent;
285:                    parentReportElement.addChild(reportGroup);
286:                }
287:                return null;
288:            }
289:
290:            @Nullable
291:            public Object visit(@Nullable
292:            Object parent, @NotNull
293:            ResourceFieldReportElement resourceFieldReportElement)
294:                    throws ReportCreationException {
295:                if (parent instanceof  ReportElement) {
296:                    ReportElement parentReportElement = (ReportElement) parent;
297:                    parentReportElement.addChild(resourceFieldReportElement);
298:                }
299:                return null;
300:            }
301:
302:            @Nullable
303:            public Object visit(@Nullable
304:            Object parent, @NotNull
305:            ResourceLabelReportElement resourceLabelReportElement)
306:                    throws ReportCreationException {
307:                if (parent instanceof  ReportElement) {
308:                    ReportElement parentReportElement = (ReportElement) parent;
309:                    parentReportElement.addChild(resourceLabelReportElement);
310:                }
311:                return null;
312:            }
313:
314:            @Nullable
315:            public Object visit(@Nullable
316:            Object parent, @NotNull
317:            ChartReportElement chartReportElement)
318:                    throws ReportCreationException {
319:                if (parent instanceof  ReportElement) {
320:                    ReportElement parentReportElement = (ReportElement) parent;
321:                    parentReportElement.addChild(chartReportElement);
322:                }
323:                return null;
324:            }
325:
326:            @Nullable
327:            public Object visit(@Nullable
328:            Object parent, @NotNull
329:            ResourceMessageReportElement resourceMessageReportElement)
330:                    throws ReportCreationException {
331:                if (parent instanceof  ReportElement) {
332:                    ReportElement parentReportElement = (ReportElement) parent;
333:                    parentReportElement.addChild(resourceMessageReportElement);
334:                }
335:                return null;
336:            }
337:
338:            @Nullable
339:            public Object visit(@Nullable
340:            Object parent, @NotNull
341:            TextFieldReportElement textFieldReportElement)
342:                    throws ReportCreationException {
343:                if (parent instanceof  ReportElement) {
344:                    ReportElement parentReportElement = (ReportElement) parent;
345:                    parentReportElement.addChild(textFieldReportElement);
346:                }
347:                return null;
348:            }
349:
350:            @Nullable
351:            public Object visit(@Nullable
352:            Object parent, @NotNull
353:            ReportFunctionsElement reportFunctionsElement)
354:                    throws ReportCreationException {
355:                if (parent instanceof  Report) {
356:                    return oldReport.getReportFunctions();
357:                }
358:                return null;
359:            }
360:
361:            @Nullable
362:            public Object visit(@Nullable
363:            Object parent, @NotNull
364:            ReportFunctionElement reportFunctionElement)
365:                    throws ReportCreationException {
366:                if (parent instanceof  ReportElement) {
367:                    ReportElement parentReportElement = (ReportElement) parent;
368:                    parentReportElement.addChild(reportFunctionElement);
369:                }
370:                return null;
371:            }
372:
373:            @Nullable
374:            public Object visit(@Nullable
375:            Object parent, @NotNull
376:            ReportGroups reportGroups) throws ReportCreationException {
377:                if (parent instanceof  Report) {
378:                    if (oldReport.getReportGroups().getChildren().isEmpty()) {
379:                        oldReport.addChild(reportGroups);
380:                    }
381:                }
382:                return null;
383:            }
384:
385:            @Nullable
386:            public Object visit(@Nullable
387:            Object parent, @NotNull
388:            LineReportElement lineReportElement) throws ReportCreationException {
389:                if (parent instanceof  ReportElement) {
390:                    ReportElement parentReportElement = (ReportElement) parent;
391:                    parentReportElement.addChild(lineReportElement);
392:                }
393:                return null;
394:            }
395:
396:            @Nullable
397:            public Object visit(@Nullable
398:            Object parent, @NotNull
399:            StaticImageReportElement staticImageReportElement)
400:                    throws ReportCreationException {
401:                if (parent instanceof  ReportElement) {
402:                    ReportElement parentReportElement = (ReportElement) parent;
403:                    parentReportElement.addChild(staticImageReportElement);
404:                }
405:                return null;
406:            }
407:
408:            @Nullable
409:            public Object visit(@Nullable
410:            Object parent, @NotNull
411:            DataSetsReportElement dataSetsReportElement)
412:                    throws ReportCreationException {
413:                if (parent instanceof  Report) {
414:                    return oldReport.getDataSetsReportElement();
415:                }
416:                return null;
417:            }
418:
419:            @Nullable
420:            public Object visit(@Nullable
421:            Object parent, @NotNull
422:            JDBCDataSetReportElement jdbcDataSetReportElement) {
423:                if (parent instanceof  DataSetsReportElement) {
424:                    DataSetsReportElement dataSetsReportElement = (DataSetsReportElement) parent;
425:                    dataSetsReportElement.addChild(jdbcDataSetReportElement);
426:                }
427:                return null;
428:            }
429:
430:            @Nullable
431:            public Object visit(@Nullable
432:            Object parent, @NotNull
433:            StaticFactoryDataSetReportElement staticFactoryDataSetReportElement)
434:                    throws ReportCreationException {
435:                if (parent instanceof  DataSetsReportElement) {
436:                    DataSetsReportElement dataSetsReportElement = (DataSetsReportElement) parent;
437:                    dataSetsReportElement
438:                            .addChild(staticFactoryDataSetReportElement);
439:                }
440:                return null;
441:            }
442:
443:            @Nullable
444:            public Object visit(@Nullable
445:            Object parent, @NotNull
446:            MultiDataSetReportElement multiDataSetReportElement)
447:                    throws ReportCreationException {
448:                if (parent instanceof  DataSetsReportElement) {
449:                    DataSetsReportElement dataSetsReportElement = (DataSetsReportElement) parent;
450:                    dataSetsReportElement.addChild(multiDataSetReportElement);
451:                }
452:                return null;
453:            }
454:
455:            @Nullable
456:            public Object visit(@Nullable
457:            Object parent, @NotNull
458:            PropertiesDataSetReportElement propertiesDataSetReportElement)
459:                    throws ReportCreationException {
460:                if (parent instanceof  DataSetsReportElement) {
461:                    DataSetsReportElement dataSetsReportElement = (DataSetsReportElement) parent;
462:                    boolean mergedWithExisting = false;
463:                    ArrayList<ReportElement> children = dataSetsReportElement
464:                            .getChildren();
465:                    for (ReportElement reportElement : children) {
466:                        if (reportElement instanceof  PropertiesDataSetReportElement) {
467:                            PropertiesDataSetReportElement dataSetReportElement = (PropertiesDataSetReportElement) reportElement;
468:
469:                            TreeSet<PropertyInfo> properties = new TreeSet<PropertyInfo>();
470:                            properties.addAll(dataSetReportElement
471:                                    .getProperties());
472:                            properties.addAll(propertiesDataSetReportElement
473:                                    .getProperties());
474:
475:                            dataSetReportElement.setProperties(properties);
476:                            mergedWithExisting = true;
477:                        }
478:                    }
479:
480:                    if (!mergedWithExisting) {
481:                        dataSetsReportElement
482:                                .addChild(propertiesDataSetReportElement);
483:                    }
484:                }
485:                return null;
486:            }
487:
488:            @Nullable
489:            public Object visit(@Nullable
490:            Object parent, @NotNull
491:            RectangleReportElement rectangleReportElement)
492:                    throws ReportCreationException {
493:                if (parent instanceof  ReportElement) {
494:                    ReportElement parentReportElement = (ReportElement) parent;
495:                    parentReportElement.addChild(rectangleReportElement);
496:                }
497:                return null;
498:            }
499:
500:            @Nullable
501:            public Object visit(@Nullable
502:            Object parent, @NotNull
503:            EllipseReportElement ellipseReportElement)
504:                    throws ReportCreationException {
505:                if (parent instanceof  ReportElement) {
506:                    ReportElement parentReportElement = (ReportElement) parent;
507:                    parentReportElement.addChild(ellipseReportElement);
508:                }
509:                return null;
510:            }
511:
512:            @Nullable
513:            public Object visit(@Nullable
514:            Object parent, @NotNull
515:            ImageFieldReportElement imageFieldReportElement)
516:                    throws ReportCreationException {
517:                if (parent instanceof  ReportElement) {
518:                    ReportElement parentReportElement = (ReportElement) parent;
519:                    parentReportElement.addChild(imageFieldReportElement);
520:                }
521:                return null;
522:            }
523:
524:            @Nullable
525:            public Object visit(@Nullable
526:            Object parent, @NotNull
527:            ImageURLFieldReportElement imageURLFieldReportElement)
528:                    throws ReportCreationException {
529:                if (parent instanceof  ReportElement) {
530:                    ReportElement parentReportElement = (ReportElement) parent;
531:                    parentReportElement.addChild(imageURLFieldReportElement);
532:                }
533:                return null;
534:            }
535:
536:            @Nullable
537:            public Object visit(@Nullable
538:            Object parent, @NotNull
539:            AnchorFieldReportElement anchorFieldReportElement)
540:                    throws ReportCreationException {
541:                if (parent instanceof  ReportElement) {
542:                    ReportElement parentReportElement = (ReportElement) parent;
543:                    parentReportElement.addChild(anchorFieldReportElement);
544:                }
545:                return null;
546:            }
547:
548:            @Nullable
549:            public Object visit(@Nullable
550:            Object parent, @NotNull
551:            DrawableFieldReportElement drawableFieldReportElement)
552:                    throws ReportCreationException {
553:                if (parent instanceof  ReportElement) {
554:                    ReportElement parentReportElement = (ReportElement) parent;
555:                    parentReportElement.addChild(drawableFieldReportElement);
556:                }
557:                return null;
558:            }
559:
560:            @Nullable
561:            public Object visit(@Nullable
562:            Object parent, @NotNull
563:            SubReportElement subReportElement) throws ReportCreationException {
564:                if (parent instanceof  ReportElement) {
565:                    ReportElement parentReportElement = (ReportElement) parent;
566:                    parentReportElement.addChild(subReportElement);
567:                }
568:                return null;
569:            }
570:
571:            @Nullable
572:            public Object visit(@Nullable
573:            Object parent, @NotNull
574:            SubReportDataElement subReportDataElement)
575:                    throws ReportCreationException {
576:                return null;
577:            }
578:        }
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.