| |
MasterDetailVariant.mlg
variable vBaseServicePackage = common;
package generated;
bean MasterBean
{
String id;
String artist;
String album;
}
bean DetailBean
{
String master_id;
int trackno;
String title;
}
wrapbean Album
{
String artist;
String album;
List<String> trackList;
}
package generated;
service MasterDetailVariantService
{
implementation List<MasterBean> getMasterList()
<<
select id, artist, album
from t_master
>>
implementation List<DetailBean> getDetailList(String masterId)
<<
select master_id, trackno, title
from t_detail
where master_id=?
>>
List<Album> getAlbumList()
{{
List<Album> albumList= new ArrayList<Album>();
for ( MasterBean m : getMasterList() )
{
Album a=new Album();
// set master details
a.setArtist(m.getArtist());
a.setAlbum(m.getAlbum());
// set the detail details
List<String> tList=new ArrayList<String>();
for (DetailBean d : getDetailList( m.getId() ) )
{
tList.add( d.getTitle() ) ;
}
a.setTrackList(tList);
albumList.add(a);
}
return albumList;
}}
}
|