001    package railo.runtime.functions.orm;
002    
003    
004    import railo.runtime.Component;
005    import railo.runtime.PageContext;
006    import railo.runtime.exp.PageException;
007    import railo.runtime.orm.ORMSession;
008    import railo.runtime.orm.ORMUtil;
009    import railo.runtime.type.Collection.Key;
010    import railo.runtime.type.Struct;
011    
012    public class EntityNew {
013    
014            public static Object call(PageContext pc, String name) throws PageException {
015                    return call(pc, name, null);
016            }
017            
018            public static Object call(PageContext pc, String name,Struct properties) throws PageException {
019                    ORMSession session=ORMUtil.getSession(pc);
020                    if(properties==null)return session.create(pc,name);
021                    
022                    Component entity = session.create(pc,name);
023                    Key[] keys = properties.keys();
024                    for(int i=0;i<keys.length;i++){
025                            entity.call(pc, "set"+keys[i], new Object[]{properties.get(keys[i])});
026                    }
027                    return entity;
028            }
029    }