001    package railo.runtime.functions.orm;
002    
003    import railo.runtime.PageContext;
004    import railo.runtime.exp.PageException;
005    import railo.runtime.orm.ORMConfiguration;
006    import railo.runtime.orm.ORMSession;
007    import railo.runtime.orm.ORMUtil;
008    
009    public class ORMReload {
010            public static String call(PageContext pc) throws PageException {
011                    
012                    // flush and close session
013                    ORMSession session = ORMUtil.getSession(pc,false);
014                    if(session!=null) {// MUST do the same with all sesson using the same engine
015                            ORMConfiguration config = session.getEngine().getConfiguration(pc);
016                            if(config.autoManageSession()) {
017                                    session.flush(pc);
018                                    session.close(pc);
019                            }
020                    }
021                    pc.getApplicationContext().reinitORM(pc);
022                    ORMUtil.resetEngine(pc,true);
023                    return null;
024            }
025    }