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]

Reply via email to