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