package org.oddjob.tools; import java.util.Properties; import org.oddjob.OddjobSessionFactory; import org.oddjob.arooa.ArooaConfiguration; import org.oddjob.arooa.ArooaParseException; import org.oddjob.arooa.ArooaSession; import org.oddjob.arooa.ArooaType; import org.oddjob.arooa.standard.StandardFragmentParser; import org.oddjob.arooa.xml.XMLConfiguration; public class FragmentHelper { private Properties properties; private ArooaSession session; public ArooaSession getSession() { return session; } public Object createComponentFromResource(String resource) throws ArooaParseException { return createFromResource(ArooaType.COMPONENT, resource); } public Object createValueFromResource(String resource) throws ArooaParseException { return createFromResource(ArooaType.VALUE, resource); } private Object createFromResource(ArooaType type, String resource) throws ArooaParseException { OddjobSessionFactory sessionFactory = new OddjobSessionFactory(); sessionFactory.setProperties(properties); session = sessionFactory.createSession(); StandardFragmentParser parser = new StandardFragmentParser(session); parser.setArooaType(type); ArooaConfiguration config = new XMLConfiguration(resource, getClass().getClassLoader()); parser.parse(config); return parser.getRoot(); } public Properties getProperties() { return properties; } public void setProperties(Properties properties) { this.properties = properties; } }