Hello (Ciao)

1] I think that the correct way to get the real path of your
"torque.properties" file should be something like:

Torque.init(data.getServletContext().getRealPath("/WEB-INF/conf/torque.prope
rties"));

2] You don't need to initialize Torque in your action: Turbine (and Torque's
Avalon Service from version 2.3) do that for you.

3] Your Torque config file contains errors: you declare that your default
database is "repubblica" and then you define a connection factory (ad its
relative properties) for the database "repubblicaturbine"

The right config should be:

torque.database.default = repubblicaturbine
torque.database.repubblicaturbine.adapter = derby
torque.dsfactory.repubblicaturbine.factory =
org.apache.torque.dsfactory.SharedPoolDataSourceFactory
torque.dsfactory.repubblicaturbine.connection.driver =
org.apache.derby.jdbc.EmbeddedDriver
torque.dsfactory.repubblicaturbine.connection.url = jdbc:derby:repubblica
torque.dsfactory.repubblicaturbine.connection.user = app
torque.dsfactory.repubblicaturbine.connection.password = app

I hope that would help.

Damiano

P.S. Mail me directly for italian discussion :)

-----Messaggio originale-----
Da: Valerio Schiavoni [mailto:[EMAIL PROTECTED]
Inviato: lunedì 13 febbraio 2006 15.58
A: turbine-user@jakarta.apache.org
Oggetto: Horrible Exception: org.apache.torque.TorqueException


Hello,
i'm starting to work with Turbine and I got this first problem.

i get this stacktrace:

Horrible Exception: org.apache.torque.TorqueException:
org.apache.commons.configuration.ConfigurationException: Cannot locate
configuration source torque.properties
        at org.apache.torque.TorqueInstance.init(TorqueInstance.java:382)
        at org.apache.torque.Torque.init(Torque.java:122)
        at
org.apache.turbine.app.repubblicaturbine.modules.actions.CreateArgomento.doP
erform(CreateArgomento.java:16)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at
org.apache.turbine.util.velocity.VelocityActionEvent.executeEvents(VelocityA
ctionEvent.java:135)
        at
org.apache.turbine.util.velocity.VelocityActionEvent.perform(VelocityActionE
vent.java:78)
        at
org.apache.turbine.modules.actions.VelocityAction.perform(VelocityAction.jav
a:72)
        at org.apache.turbine.modules.ActionLoader.exec(ActionLoader.java:99)
        at
org.apache.turbine.modules.pages.DefaultPage.doBuild(DefaultPage.java:113)
        at org.apache.turbine.modules.Page.build(Page.java:53)
        at org.apache.turbine.modules.PageLoader.exec(PageLoader.java:101)
        at org.apache.turbine.Turbine.doGet(Turbine.java:789)
        at org.apache.turbine.Turbine.doPost(Turbine.java:884)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:252)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:173)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:213)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:178)
        at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase
.java:432)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126
)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105
)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:107)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
        at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processC
onnection(Http11BaseProtocol.java:667)
        at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.jav
a:527)
        at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWo
rkerThread.java:80)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:684)
        at java.lang.Thread.run(Thread.java:595)
Caused by: org.apache.commons.configuration.ConfigurationException:
Cannot locate configuration source torque.properties
        at
org.apache.commons.configuration.AbstractFileConfiguration.load(AbstractFile
Configuration.java:183)
        at
org.apache.commons.configuration.AbstractFileConfiguration.load(AbstractFile
Configuration.java:166)
        at
org.apache.commons.configuration.AbstractFileConfiguration.<init>(AbstractFi
leConfiguration.java:117)
        at
org.apache.commons.configuration.PropertiesConfiguration.<init>(PropertiesCo
nfiguration.java:171)
        at org.apache.torque.TorqueInstance.init(TorqueInstance.java:375)
        ... 32 more



The excepton is arised from my (first) action, which is very simple:
public class CreateArgomento extends VelocityAction {

    @Override
    public void doPerform(RunData arg0, Context ctx) throws Exception {

        Torque.init("WEB-INF/conf/torque.properties");

        String nome = (String) ctx.get("nome");
        Argomento argomento = new Argomento();
        argomento.setNome(nome);
        argomento.save();
    }

}

Argomento is a class created previously by Torque.
So, first question is wheter I should initialize torque there.
I tried without issuing that command and I get :

Horrible Exception: java.lang.NullPointerException: There was no
DataSourceFactory configured for the connection repubblica


I double-checked torque.properties and I think relevant informations
are the followings:

torque.defaults.connection.driver =     org.apache.derby.jdbc.EmbeddedDriver
torque.defaults.connection.url =        jdbc:derby:repubblica
torque.defaults.connection.user =       app
torque.defaults.connection.password =   app

torque.dsfactory.repubblicaturbine.connection.driver =
        org.apache.derby.jdbc.EmbeddedDriver
torque.dsfactory.repubblicaturbine.connection.url =
jdbc:derby:repubblica
torque.dsfactory.repubblicaturbine.connection.user =            app
torque.dsfactory.repubblicaturbine.connection.password =        app
torque.database.default =               repubblica

torque.database.repubblicaturbine.adapter =     derby
torque.dsfactory.repubblicaturbine.factory =
        org.apache.torque.dsfactory.SharedPoolDataSourceFactory

I can provide more details in case it helps solving my problem.

thanks,
valerio
--
To Iterate is Human, to Recurse, Divine
James O. Coplien, Bell Labs
(how good is to be human indeed)


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to