Sei sulla pagina 1di 19

27/04/13

Reporting with Eclipse BIRT and Java Objects (POJO's) - Tutorial

47

Freetutorial,donateto support

ReportingwithEclipseBIRTandJavaObjects (POJO's)Tutorial
LarsVogelHendrikStill

Version1.2 Copyright20082011LarsVogel 26.06.2011


RevisionHistory

Training Books
07.03.2008 07.03.200926.06.2011 HendrikStill,LarsVogel Lars Vogel CreatedArticle bugfixesandenhancements

byLarsVogel

Revision0.10.2 Revision0.31.2

EclipseBirt ThistutorialdescribeshowtouseEclipseBIRTforreportingonsimpleJavaObjects(POJO's).The tutorialexplainsalsohowtodeploytheresultingBIRTreportintoawebcontainer(Tomcat)andhowto useitinanEclipseRCPapplication.Eclipse3.7(Indigo)isusedforthistutorial.

TableofContents
1.EclipseBIRT 1.1.Overview 1.2.Example 2.Installation 3.CreateProjectandREport 4.Javaclasses 5.DatasourceandDataset 5.1.CreateDataSource 5.2.TheDataset 5.3.JavaScript 6.Displaythedatainatable 6.1.Overview 6.2.Createatable 7.Chart 7.1.CreateaChart 8.DeployinginTomcat 8.1.Overview 8.2.InstallBIRTinTomcat 8.3.InstallyourBIRTreportsinTomcat 9.DeployinginEclipseRCPapplication 9.1.BIRTdeployingtoanRCPApplication 10.Thankyou 11.QuestionsandDiscussion 12.LinksandLiterature 12.1.SourceCode 12.2.EclipseBIRTresources

www.vogella.com/articles/EclipseBIRT/article.html

1/19

27/04/13

Reporting with Eclipse BIRT and Java Objects (POJO's) - Tutorial


12.3.vogellaResources

1.EclipseBIRT
1.1.Overview
EclipseBIRTallowsthecreationofreportsbasedondatafromdifferentdatasources.Datasources definewherethedataisstored. BIRTprovidesforexamplethefollowingdatasources: Databases(viaJDBC) TextFiles(cvs,XML) WebServices(viaWSDLFiles) ScriptingDatasources YouuseinBIRT"Datasets"todefinesqueriesondatasource.Thesedatasetscanbeusedinareport. InaJavaprogramitisoftenconvenienttouseJavaobjectsasadatasourceforreports.Thisarticlewill focusontheusageofplainoldJavaobjects(POJO)asdatasourcesforBIRTreports.

1.2.Example
Inthistutorialwewillbuildareportwhichwillshowusinformationaboutthestockmarket.Wegetthe informationfromaJavaObject.Thedatawillbedisplayedinachartandinatablewithdetailed information.Theresultshouldlooklikethis:

2.Installation
UsetheEclipseUpdateManagertoinstall"BusinessIntelligence,ReportingandCharting">BIRT Framework.

3.CreateProjectandREport
CreateanewJavaProjectwiththename"de.vogella.birt.stocks".

www.vogella.com/articles/EclipseBIRT/article.html

2/19

27/04/13

Reporting with Eclipse BIRT and Java Objects (POJO's) - Tutorial

Createanewreport"stock_report.rptdesign"viaFile>New>Other>BusinessIntelligenceand Reporting>Report.

www.vogella.com/articles/EclipseBIRT/article.html

3/19

27/04/13

Reporting with Eclipse BIRT and Java Objects (POJO's) - Tutorial

Thenewreportisdisplayedinthe"ReportDesign"perspective.Deleteeverythingintheexamplereport exceptthereportheader.Theresultshouldlooklikethefollowing.

4.Javaclasses
Thereportwilldisplaystockdata.TodemonstrateBIRTweuseaMockobjectforprovidingthedata. Createpackage"de.vogella.birt.stocks.model"andthenthefollowingclass.Thisclasswillrepresent thedomainmodel.
p a c k a g ed e . v o g e l l a . b i r t . s t o c k s . m o d e l ; i m p o r tj a v a . u t i l . D a t e ; / * * *D o m a i nm o d e lf o rs t o c kd a t a *@ a u t h o rL a r sV o g e l * /

www.vogella.com/articles/EclipseBIRT/article.html

4/19

27/04/13

Reporting with Eclipse BIRT and Java Objects (POJO's) - Tutorial


p u b l i cc l a s sS t o c k D a t a{ p r i v a t eD a t ed a t e ; p r i v a t ed o u b l eo p e n ; p r i v a t ed o u b l eh i g h ; p r i v a t ed o u b l el o w ; p r i v a t ed o u b l ec l o s e ; p r i v a t el o n gv o l u m e ; p u b l i cd o u b l eg e t C l o s e ( ){ r e t u r nc l o s e ; } p u b l i cv o i ds e t C l o s e ( d o u b l ec l o s e ){ t h i s . c l o s e=c l o s e ; } p u b l i cD a t eg e t D a t e ( ){ r e t u r nd a t e ; } p u b l i cv o i ds e t D a t e ( D a t ed a t e ){ t h i s . d a t e=d a t e ; } p u b l i cd o u b l eg e t H i g h ( ){ r e t u r nh i g h ; } p u b l i cv o i ds e t H i g h ( d o u b l eh i g h ){ t h i s . h i g h=h i g h ; } p u b l i cd o u b l eg e t L o w ( ){ r e t u r nl o w ; } p u b l i cv o i ds e t L o w ( d o u b l el o w ){ t h i s . l o w=l o w ; } p u b l i cd o u b l eg e t O p e n ( ){ r e t u r no p e n ; } p u b l i cv o i ds e t O p e n ( d o u b l eo p e n ){ t h i s . o p e n=o p e n ; } p u b l i cl o n gg e t V o l u m e ( ){ r e t u r nv o l u m e ; } p u b l i cv o i ds e t V o l u m e ( l o n gv o l u m e ){ t h i s . v o l u m e=v o l u m e ; } }

Createthepackage"de.vogella.birt.stocks.daomock"andthenthefollowingclass"StockDaoMock". Thiswillonlymock/fakethedataandnotreallygetitfromtheInternet.AswewanttolearnBIRThere thisshouldbefine.


p a c k a g ed e . v o g e l l a . b i r t . s t o c k s . d a o m o c k ; i m p o r tj a v a . u t i l . A r r a y L i s t ; i m p o r tj a v a . u t i l . C a l e n d a r ; i m p o r tj a v a . u t i l . L i s t ; i m p o r td e . v o g e l l a . b i r t . s t o c k s . m o d e l . S t o c k D a t a ; p u b l i cc l a s sS t o c k D a o M o c k{ p u b l i cL i s t < S t o c k D a t a >g e t S t o c k V a l u e s ( S t r i n gc o m p a n y ){ / /I g n o r et h ec o m p a n ya n da l w a y sr e t u r nt h ed a t a / /Ar e a li m p l e m e n t a t i o nw o u l do fc o u r s eu s et h ec o m p a n ys t r i n g L i s t < S t o c k D a t a >h i s t o r y=n e wA r r a y L i s t < S t o c k D a t a > ( ) ; / /W ef a k et h ev a l u e s ,w ew i l lr e t u r nf a k ev a l u ef o r0 1 . 0 1 . 2 0 0 9/ /3 1 . 0 1 . 2 0 0 9 d o u b l eb e g i n=2 . 5 ; f o r( i n ti=1 ;i< =3 1 ;i + + ){ C a l e n d a rd a y=C a l e n d a r . g e t I n s t a n c e ( ) ; d a y . s e t ( C a l e n d a r . H O U R ,0 ) ; d a y . s e t ( C a l e n d a r . M I N U T E ,0 ) ;

www.vogella.com/articles/EclipseBIRT/article.html

5/19

27/04/13

Reporting with Eclipse BIRT and Java Objects (POJO's) - Tutorial


d a y . s e t ( C a l e n d a r . S E C O N D ,0 ) ; d a y . s e t ( C a l e n d a r . M I L L I S E C O N D ,0 ) ; d a y . s e t ( C a l e n d a r . Y E A R ,2 0 0 9 ) ; d a y . s e t ( C a l e n d a r . M O N T H ,0 ) ; d a y . s e t ( C a l e n d a r . D A Y _ O F _ M O N T H ,i ) ; S t o c k D a t ad a t a=n e wS t o c k D a t a ( ) ; d a t a . s e t O p e n ( b e g i n ) ; d o u b l ec l o s e=M a t h . r o u n d ( b e g i n+M a t h . r a n d o m ( )*b e g i n*0 . 1 ) ; d a t a . s e t C l o s e ( c l o s e ) ; d a t a . s e t L o w ( M a t h . r o u n d ( M a t h . m i n ( b e g i n ,b e g i n-M a t h . r a n d o m ( )*b e g i n*0 . 1 ) ) ) ; d a t a . s e t H i g h ( M a t h . r o u n d ( M a t h . m a x ( b e g i n ,c l o s e )+M a t h . r a n d o m ( )*2 ) ) ; d a t a . s e t V o l u m e ( 1 0 0 0+( i n t )( M a t h . r a n d o m ( )*5 0 0 ) ) ; b e g i n=c l o s e ; d a t a . s e t D a t e ( d a y . g e t T i m e ( ) ) ; h i s t o r y . a d d ( d a t a ) ; } r e t u r nh i s t o r y ; } }

5.DatasourceandDataset
TouseJavaObjects(POJO's)asdatasourceinEclipseBIRTyouhavetomapthefieldsofyourJava classestoJavaScript.ThisJavaScriptisusedinyourreportandwillaccesstheJavaObject.

5.1.CreateDataSource
Thedatasourceconnectsyourdatawithyourreport.BIRTprovidesdifferenttypesofdatasources,we usethe"ScriptedDataSource".Gobacktoyourstocks_report,usethe"ReportDesign"perspective andselectthe"DataExplorer"View.

Youhavetoselectyourreporttodisplaythecontentofthedatasourceview. Createanewdatasource,named"srcStocks"inyourreport.

5.2.TheDataset

www.vogella.com/articles/EclipseBIRT/article.html

6/19

27/04/13

Reporting with Eclipse BIRT and Java Objects (POJO's) - Tutorial

ThedatasetdefinesthemappingforthedatasourcedataandtheBIRTdata.Createanewdataset named"dataSetSocks".

Pressnextanddefinethecolumnsforyourreport.

5.3.JavaScript
NowwehavetowritetheJavaScriptforourdataset.Selectthedatasetandchoose"open"asscript. Theopenscriptiscalledbeforethefirstaccesstothedataset.WeusethistoloadourListwiththestock objects.ToaccessaJavaclassyouonlyhavetousethefollowingsyntax:Packages.myJavaClass wheremyJavaClassisthefullqualifiedJavaclassname.

Incaseyoudonotseethescriptpleasenodethattheeditorforthereporthasseveraltab. Oneofitislabeled"source".

www.vogella.com/articles/EclipseBIRT/article.html

7/19

27/04/13

Reporting with Eclipse BIRT and Java Objects (POJO's) - Tutorial

c o u n t=0 ; / /C r e a t ei n s t a n c eo f / /t h eG e t S t o c k H i s t o r yc l a s s g s h=n e wP a c k a g e s . d e . v o g e l l a . b i r t . s t o c k s . d a o m o c k . S t o c k D a o M o c k ( ) ; / / L o a dt h eL i s t s t o c k=g s h . g e t S t o c k V a l u e s ( " J a v a " ) ;

Placethefollowingcodinginthefetchscript.
i f ( c o u n t<s t o c k . s i z e ( ) ) { r o w [ " c o l u m n D a t e " ]=s t o c k . g e t ( c o u n t ) . g e t D a t e ( ) ; r o w [ " c o l u m n O p e n " ]=s t o c k . g e t ( c o u n t ) . g e t O p e n ( ) ; r o w [ " c o l u m n H i g h " ]=s t o c k . g e t ( c o u n t ) . g e t H i g h ( ) ; r o w [ " c o l u m n L o w " ]=s t o c k . g e t ( c o u n t ) . g e t L o w ( ) ; r o w [ " c o l u m n C l o s e " ]=s t o c k . g e t ( c o u n t ) . g e t C l o s e ( ) ; r o w [ " c o l u m n V o l u m e " ]=s t o c k . g e t ( c o u n t ) . g e t V o l u m e ( ) ; c o u n t + + ; r e t u r nt r u e ; } r e t u r nf a l s e ;

CheckifyourScriptworksbydoubleclickingonthedataset>PreviewResult.

6.Displaythedatainatable
6.1.Overview
Wewillnowdisplaythedatainatable.

6.2.Createatable
Switchfrom"DataExplorer"tothe"Palette".Selectthetab"Layout".

www.vogella.com/articles/EclipseBIRT/article.html

8/19

27/04/13

Reporting with Eclipse BIRT and Java Objects (POJO's) - Tutorial

Draganddropthetableelementonthereport.

Definethefollowingsettingsforthetable.

Changebacktothe"DataExplorer".Anddraganddropthedatasetcolumnsintothe"Detailsrow"of thetable.

www.vogella.com/articles/EclipseBIRT/article.html

9/19

27/04/13

Reporting with Eclipse BIRT and Java Objects (POJO's) - Tutorial

Theresultshouldlooklikethefollowing.

Done.Youcanseeapreviewofthereportifyouclickonthe"Review"Tab.Theresultshouldlooklike thefollowing:

7.Chart
7.1.CreateaChart
SwitchbacktothePalette,selectachartanddraganddropitonyourreport. ChoosetheLineChartwiththestandardsettings.

www.vogella.com/articles/EclipseBIRT/article.html

10/19

27/04/13

Reporting with Eclipse BIRT and Java Objects (POJO's) - Tutorial

PressNextandselectyourdataset.

www.vogella.com/articles/EclipseBIRT/article.html

11/19

27/04/13

Reporting with Eclipse BIRT and Java Objects (POJO's) - Tutorial

Atthenextstepwehavetoassignthecolumnstotheaxis.Weassignthedatetothexaxisandthe openvaluetotheyaxisviadraganddrop.

Define5seriesintotal.AssignthecolumnstotheseseriesbydraggingthecolumntotheSumsign.

www.vogella.com/articles/EclipseBIRT/article.html

12/19

27/04/13

Reporting with Eclipse BIRT and Java Objects (POJO's) - Tutorial

Currentlythexaxisshowsfirstthenewestdate.Reversethexaxisbyyouhavetosortthedata ascending.Pressthehighlightedbutton.

Gotothenexttabandgivetitlestoyourcolumns.Hidethelastone.

www.vogella.com/articles/EclipseBIRT/article.html

13/19

27/04/13

Reporting with Eclipse BIRT and Java Objects (POJO's) - Tutorial

Thedisplayofthedatesusealongformat,wewouldliketochangethis.Performthefollowingand choose"short"asdatetypeofthexaxis

Changethedisplayofthelinesviathefollowing.

Pressfinishtoincludeyourchartintoyourreport.

8.DeployinginTomcat
8.1.Overview

www.vogella.com/articles/EclipseBIRT/article.html

14/19

27/04/13

Reporting with Eclipse BIRT and Java Objects (POJO's) - Tutorial

ThefollowingexplainshowtouseBIRTreportsinTomcat.Ingeneralyouhaveto: InstalltheBIRTwebviewerinTomcat ExportyourBIRTprojectintoa.jarfile Movethe.jarfiletothebirtinstalldirectory/WEBINF/libdirectory Movethereportdesignfileintotherootdirectoryofbirtintomcat RestartTomcat

8.2.InstallBIRTinTomcat
WewilluseastandaloneTomcat6.0whichweassumeisalreadyinstalled.SeeApacheTomcat Tutorialfordetails. Youneedthe"DeploymentcomponentsofBIRT"http://download.eclipse.org/birt/downloads/. Copythebirt.warofthisdownloadintotheTomcatwebappsfolder.

Currentlyyouhavetoinstallorg.eclipse.commons.loggingseparatelyintoTomcat. Downloadthislibfromhttp://commons.apache.org/logging/andputthejarsintothelib folderofTomcat. TheBirtexampleshouldbeavailableunderhttp://localhost:8080/birt/.Ifyouseesomethinglikethis, yourTomcatanyourWebViewershouldworkcorrect.

8.3.InstallyourBIRTreportsinTomcat
Torunyourownreportsyouhavetocopythe.rptdesignfileintherootofthebirtfolderinTomcat.To makeyourJavaclassesavailableexportyourprojectintoajarfile.

www.vogella.com/articles/EclipseBIRT/article.html

15/19

27/04/13

Reporting with Eclipse BIRT and Java Objects (POJO's) - Tutorial

vogella.com

Tutorials

Training

Services

Publications

Connect

BACKTOTOP

AfterthatthejarfilehastobecopiedtotheTomcatwebapps/birt/WEBINF/lib/directory.Restartthe Tomcatandnavigatetoyourreport.

www.vogella.com/articles/EclipseBIRT/article.html

16/19

27/04/13

Reporting with Eclipse BIRT and Java Objects (POJO's) - Tutorial

Yourreportshouldbefoundunderhttp://localhost:8080/birt/frameset?__report=stock_report.rptdesign

IfyouwanttoexportyourreporttoPDFyoualsoneedthelibraryiTextfrom( http://prdownloads.sourceforge.net/itext/itext1.3.jar).CopytheiText.jarin"/birt viewer/WEBINF/platform/plugins/com.lowagie.itext/lib".NowrestarttheTomcat.

9.DeployinginEclipseRCPapplication
9.1.BIRTdeployingtoanRCPApplication
WecanusetheBirtvieweralsoinalocalRCPApplication,itisn'tmorethananbrowserviewwhich showsaHTMLPagegeneratedbyanintegratedWebserver. ThefollowingassumesthatyouarealreadyfamiliarwithEclipseRCPdevelopment.SeeEclipseRCP Tutorialincaseyouneedanintroduction. Convert"de.vogella.birt.stocks"toapluginproject,viarightclick>Configure>"Converttoplugin project". Createannewpluginproject"de.vogella.birt.stocks.rcp".Selectthetemplate"RCPApplicationwitha view". Addthefollowingpluginsasdependendiesto"de.vogella.birt.stocks.rcp".
M a n i f e s t V e r s i o n :1 . 0 B u n d l e M a n i f e s t V e r s i o n :2 B u n d l e N a m e :R c p B u n d l e S y m b o l i c N a m e :d e . v o g e l l a . b i r t . s t o c k s . r c p ;s i n g l e t o n : = t r u e B u n d l e V e r s i o n :1 . 0 . 0 . q u a l i f i e r B u n d l e A c t i v a t o r :d e . v o g e l l a . b i r t . s t o c k s . r c p . A c t i v a t o r

www.vogella.com/articles/EclipseBIRT/article.html

17/19

27/04/13

Reporting with Eclipse BIRT and Java Objects (POJO's) - Tutorial


R e q u i r e B u n d l e :o r g . e c l i p s e . u i , o r g . e c l i p s e . c o r e . r u n t i m e , o r g . e c l i p s e . b i r t . r e p o r t . v i e w e r , o r g . e c l i p s e . b i r t . r e p o r t . e n g i n e . e m i t t e r . h t m l , d e . v o g e l l a . b i r t . s t o c k s , o r g . e c l i p s e . b i r t , o r g . e c l i p s e . b i r t . c h a r t . u i , o r g . e c l i p s e . b i r t . c h a r t . d e v i c e . e x t e n s i o n , o r g . e c l i p s e . b i r t . c h a r t . d e v i c e . p d f , o r g . e c l i p s e . b i r t . c h a r t . d e v i c e . s v g , o r g . e c l i p s e . b i r t . c h a r t . d e v i c e . s w t , o r g . e c l i p s e . b i r t . c h a r t . e n g i n e . e x t e n s i o n , o r g . e c l i p s e . b i r t . c h a r t . r e p o r t i t e m , o r g . e c l i p s e . b i r t . c h a r t . r e p o r t i t e m . u i , o r g . e c l i p s e . b i r t . c h a r t . u i . e x t e n s i o n , o r g . e c l i p s e . b i r t . c o r e . s c r i p t . f u n c t i o n , o r g . e c l i p s e . b i r t . r e p o r t . e n g i n e . s c r i p t . j a v a s c r i p t B u n d l e A c t i v a t i o n P o l i c y :l a z y B u n d l e R e q u i r e d E x e c u t i o n E n v i r o n m e n t :J a v a S E 1 . 6

Copyyourreportto"stock_report_rcp.rptdesign"intothisnewproject.Openthisreportandchangethe "open"JavaScripttothefollowing.
c o u n t=0 ; / * *l o a da n di n i td a t ar e a d e r *i m p o r tP l a t f o r mf r o mo r g . e c l i p s e . c o r e . r u n t i m e * / i m p o r t P a c k a g e ( P a c k a g e s . o r g . e c l i p s e . c o r e . r u n t i m e ) ; / *l o a db u n d l ew i t hP O J O sa n dd a t al o a d i n gc l a s s* / m y B u n d l e=P l a t f o r m . g e t B u n d l e ( " d e . v o g e l l a . b i r t . s t o c k s " ) ; / *l o a dd a t ar e a d e rc l a s s* / r e a d e r C l a s s=m y B u n d l e . l o a d C l a s s ( " d e . v o g e l l a . b i r t . s t o c k s . d a o m o c k . S t o c k D a o M o c k " ) ; / *c r e a t en e wi n s t a n c eo fD a t a R e a d e r* / r e a d e r I n s t a n c e=r e a d e r C l a s s . n e w I n s t a n c e ( ) ;

/ *r e a dd a t a* / s t o c k=r e a d e r I n s t a n c e . g e t S t o c k V a l u e s ( " J a v a " ) ;

UsethiscodeasView.java.
p a c k a g ed e . v o g e l l a . b i r t . s t o c k s . r c p ; i m p o r tj a v a . i o . I O E x c e p t i o n ; i m p o r tj a v a . n e t . M a l f o r m e d U R L E x c e p t i o n ; i m p o r tj a v a . n e t . U R L ; i m p o r to r g . e c l i p s e . b i r t . r e p o r t . v i e w e r . u t i l i t i e s . W e b V i e w e r ; i m p o r to r g . e c l i p s e . c o r e . r u n t i m e . F i l e L o c a t o r ; i m p o r to r g . e c l i p s e . c o r e . r u n t i m e . P a t h ; i m p o r to r g . e c l i p s e . c o r e . r u n t i m e . P l a t f o r m ; i m p o r to r g . e c l i p s e . s w t . S W T ; i m p o r to r g . e c l i p s e . s w t . b r o w s e r . B r o w s e r ; i m p o r to r g . e c l i p s e . s w t . w i d g e t s . C o m p o s i t e ; i m p o r to r g . e c l i p s e . u i . p a r t . V i e w P a r t ; i m p o r to r g . o s g i . f r a m e w o r k . B u n d l e ; p u b l i cc l a s sV i e we x t e n d sV i e w P a r t{ p u b l i cs t a t i cf i n a lS t r i n gI D=" d e . v o g e l l a . b i r t . s t o c k s . r c p . v i e w " ; p u b l i cv o i dc r e a t e P a r t C o n t r o l ( C o m p o s i t ep a r e n t ){ S t r i n gp a t h=" " ; t r y{ B u n d l eb u n d l e=P l a t f o r m . g e t B u n d l e ( " d e . v o g e l l a . b i r t . s t o c k s . r c p " ) ; U R Lu r l=F i l e L o c a t o r . f i n d ( b u n d l e ,n e wP a t h ( " s t o c k _ r e p o r t _ r c p . r p t d e s i g n " ) ,n u l l ) ; p a t h=F i l e L o c a t o r . t o F i l e U R L ( u r l ) . g e t P a t h ( ) ; }c a t c h( M a l f o r m e d U R L E x c e p t i o nm e ){ S y s t e m . o u t . p r i n t l n ( " F e h l e rb e iU R L"+m e . g e t S t a c k T r a c e ( ) ) ; }c a t c h( I O E x c e p t i o ne ){ e . p r i n t S t a c k T r a c e ( ) ; } B r o w s e rb r o w s e r=n e wB r o w s e r ( p a r e n t ,S W T . N O N E ) ; / /U s et h ef i l e n a m eo fy o u rr e p o r t W e b V i e w e r . d i s p l a y ( p a t h ,W e b V i e w e r . H T M L ,b r o w s e r ," f r a m e s e t " ) ; }

www.vogella.com/articles/EclipseBIRT/article.html

18/19

27/04/13

Reporting with Eclipse BIRT and Java Objects (POJO's) - Tutorial


/ * * *P a s s i n gt h ef o c u sr e q u e s tt ot h ev i e w e r ' sc o n t r o l . * / p u b l i cv o i ds e t F o c u s ( ){ } }

10.Thankyou
Pleasehelpmetosupportthisarticle:

11.QuestionsandDiscussion
Beforepostingquestions,pleaseseethevogellaFAQ.Ifyouhavequestionsorfindanerrorinthis articlepleaseusethewww.vogella.comGoogleGroup.Ihavecreatedashortlisthowtocreate goodquestionswhichmightalsohelpyou.

12.LinksandLiterature
12.1.SourceCode
SourceCodeofExamples

12.2.EclipseBIRTresources
http://wiki.eclipse.org/index.php/BIRT_Project EclipseBIRTWiki

12.3.vogellaResources
vogellaTrainingAndroidandEclipseTrainingfromthevogellateam AndroidTutorialIntroductiontoAndroidProgramming GWTTutorialPrograminJavaandcompiletoJavaScriptandHTML EclipseRCPTutorialCreatenativeapplicationsinJava JUnitTutorialTestyourapplication GitTutorialPuteverythingyouhaveunderdistributedversioncontrolsystem

www.vogella.com/articles/EclipseBIRT/article.html

19/19

Potrebbero piacerti anche