I use the commons-configuration-1.0-dev-3.jar which has a new method in org.apache.commons.configuration.ConfigurationFactory called setConfigurationURL(). This is used to get a Configuration object which you then use in Torque.init(configuration) in place of Torque.init(pathName). My code then looks like this:
ConfigurationFactory factory = new ConfigurationFactory(); URL configURL = this.getClass().getResource("/Torque.properties.xml"); // an xml file in my web-inf directory factory.setConfigurationURL(configURL); try { Configuration configuration = factory.getConfiguration(); Torque.init(configuration); } catch (Exception ex) { } Then the contents of Torque.properties.xml are: <?xml version="1.0" encoding="ISO-8859-1" ?> <configuration> <properties fileName="Torque.properties"/> </configuration> You may have some versioning issues by getting that newer commons-configuration jar so you may also need newer versions of other jars, like beanutils-1.6.1, collections-2.1, lang-2.0, etc. I have all these newer jars but don't remember if I needed them specifically because of the updated configuration jar. Roger -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 15, 2005 9:42 AM To: Apache Torque Users List Cc: Apache Torque Users List Subject: Re: Torque and jsp Torque.init() requires an absolute pathname. It's a bummer. I put the true pathname in another properties file so that I do not have to hard-code it in the program. This does mean, however, that I have to know the absolute path where, in my case, Tomcat is installed. Here is my initialisation code apiResources = ResourceBundle.getBundle("betapi"); if (!Torque.isInit()) { String configFile = apiResources.getString ("betapi.torqueconfig"); try { Torque.init(configFile); } catch (TorqueException e) { context.log(e,"Cannot initalise Torque: " + e.toString() ); e.printStackTrace(System.err); System.exit(1); } } and betapi.properties contains: betapi.torqueconfig= /users/rxm1676/workspace/pmfeditor/WEB-INF/classes/Torque.properties In cases where I build on one machine but run on another I have a little shell script that that runs on installation. It tracks down the appropriate line in betapi.properties and adjusts it so suit where the code is actually installed. |---------+----------------------------> | | "salwa idrissi" | | | <[EMAIL PROTECTED]| | | fr> | | | | | | | | | 15-Mar-2005 14:19| | | Please respond to| | | "Apache Torque | | | Users List" | | | <[EMAIL PROTECTED]| | | pache.org> | | | | |---------+----------------------------> >--------------------------------------------------------------------------- ----------------------------------------------| | | | | | | | To: "Apache Torque Users List" <torque-user@db.apache.org> | | | | cc: | | Subject: Re: Torque and jsp | >--------------------------------------------------------------------------- ----------------------------------------------| the problem is not confusing presentation and model but when i compile in jdev i have the exception "Could not open file Torque.properties"because i must put it in a specific directory in jdev that i don't know. this is the code: affichage.jsp: <table width="165" border="0" cellpadding="2" cellspacing="0" class ="textindex"> <% Iterator i; List listecr=(List)session.getAttribute("liste"); i = listecr.iterator(); while ( i.hasNext() ) { Ecriture monecriture = (Ecriture) i.next(); %> <tr> <td width="8" align="center"> <%= monecriture.getCodeetape()%> </td> </tr> <% } %> </table> actionaccueil.java public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { HttpSession session=request.getSession(); AddEcriture test=new AddEcriture(); test.afficher(); session.setAttribute("liste",test.getListecrs()); return mapping.findForward("success"); } } AddEcriture.java: package si.av; import java.util.*; import org.apache.torque.Torque; import org.apache.torque.util.Criteria; import si.av.om.*; public class AddEcriture { List listecrs; public List getListecrs() {return listecrs;} public void afficher() { try{ Torque.init("Torque.properties"); Criteria critaffichage=new Criteria(); critaffichage.addAscendingOrderByColumn(EcriturePeer.NSEQUENCE); listecrs=EcriturePeer.doSelect(critaffichage); } catch(Exception e){e.printStackTrace();} } } --------------------------------- Découvrez nos promotions exclusives "destination de la Tunisie, du Maroc, des Baléares et la Rép. Dominicaine sur Yahoo! Voyages. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]