// // Session.java // Project ERMovies // // Created by max on Thu Feb 27 2003 // package er.examples.movies; import com.webobjects.appserver.WOComponent; import com.webobjects.directtoweb.D2W; import com.webobjects.directtoweb.EditPageInterface; import com.webobjects.directtoweb.ListPageInterface; import com.webobjects.directtoweb.QueryPageInterface; import com.webobjects.eoaccess.EODatabaseDataSource; import com.webobjects.eocontrol.EODataSource; import com.webobjects.eocontrol.EOEditingContext; import com.webobjects.eocontrol.EOEnterpriseObject; import com.webobjects.foundation.NSArray; import er.extensions.appserver.ERXSession; import er.extensions.appserver.navigation.ERXNavigationManager; import er.extensions.eof.ERXEC; import er.extensions.eof.ERXEOControlUtilities; public class Session extends ERXSession { public WOComponent newMovieWithPageConfiguration(String pageConfig) { EOEditingContext ec = ERXEC.newEditingContext(); EOEnterpriseObject movie = ERXEOControlUtilities.createAndInsertObject(ec, "Movie"); EditPageInterface epi = (EditPageInterface)D2W.factory().pageForConfigurationNamed(pageConfig, this); epi.setObject(movie); epi.setNextPage(context().page()); return (WOComponent)epi; } public WOComponent newMovieTabInspectPage() { return newMovieWithPageConfiguration("EditTabMovie"); } public WOComponent newMovieWizardPage() { return newMovieWithPageConfiguration("EditWizardMovie"); } public WOComponent findAMovie() { return (WOComponent)(QueryPageInterface)D2W.factory().pageForConfigurationNamed("SearchMovie", this); } public WOComponent findAnActor() { QueryPageInterface qpi = (QueryPageInterface)D2W.factory().pageForConfigurationNamed("FindTalent", this); return (WOComponent)qpi; } public WOComponent listAllMovies() { ListPageInterface lpi = (ListPageInterface)D2W.factory().pageForConfigurationNamed("ListAllMovies", this); EODataSource ds = new EODatabaseDataSource(ERXEC.newEditingContext(), "Movie"); lpi.setDataSource(ds); return (WOComponent)lpi; } public WOComponent homePage() { // Reset the nav state when going home ERXNavigationManager.manager().navigationStateForSession(this).setState(NSArray.EmptyArray); return D2W.factory().defaultPage(this); } }