On 06.Apr.2002 -- 07:04 PM, Sharat Koya wrote: > ----- Original Message ----- > From: "Christian Haul" <[EMAIL PROTECTED]> > > > On 05.Apr.2002 -- 10:59 PM, Sharat Koya wrote: > > > mercurySun = <eclipse-data:get-planet-data data="sundist" > name="Mercury"/>; > > > -------------- > > > mercurySun = > > > if (_esql_connection != null) > > > {_esql_connections.push(_esql_connection); > > > > > > } > > > _esql_connection = new EsqlConnectionCocoon2(); > > > try { > > > try { > > > _esql_connection.datasource = (DataSourceComponent) > > > _esql_selector.select(String.valueOf( "" + (database) )); > > > _esql_connection.connection = > > > _esql_connection.datasource.getConnection(); > > > } catch (Exception _esql_exception_N10170) { > > > getLogger().error("Could not get the > > > datasource",_esql_exception_N10170); > > > throw new RuntimeException("Could not get the datasource > > > "+_esql_exception_N10170); > > > } > > > > > > > Sharat, > > your logicsheet seems to expand <eclipse-data:get-planet-data/> to more > that > > a simple <esql:get-XXX/>. You should create a tag that does all the > connection > > setup and nest the <eclips-data:get-planet-data/> inside. > > The function <eclipse-data:get-planet-data data="sundist" name="Mercury"/> > expands as follows: > connect to the database using esql and return the value as a double.
Yep, this translates to the code above. Don't forget that in the end, *all* logicsheets are translated to java. Somewhere the connection has to be obtained. Obviously, you can't do that in the middle of an assignment. > All the function does is return the value from the database without any > surronding tags. > > Since I first posted this message I changed the function so that instead of > assigning mercurySun (java double variable) as follows: > mercurySun = <eclipse-data:get-planet-data data="sundist" name="Mercury"/>; > > I now have: > <eclipse-data:get-planet-data data="sundist" name="Mercury" > variable="mercurySun"/> > where the function in the logicsheet assigns assigns the value. This works > fine, I'm still not that advanced in using Cocoon and so cannot workout why > I can't assign the value in the calling XSP file rather than the logicsheet. see above. > If you can it would be aprreciated. It is a bit annoying to do the above but > it has shortend my code by quite a considerable amount compared to entering > a multitude of esql commands and logic. you could <eclipse-data:connect> <xsp:logic> mercurySun = <eclipse-data:get-planet-data ...../>; ..... </xsp:logic> </eclipse-data:connect> with <eclipse-date:connect/> translating to <esql:connect><esql:execute-query><esql:query>... HTH Chris. -- C h r i s t i a n H a u l [EMAIL PROTECTED] fingerprint: 99B0 1D9D 7919 644A 4837 7D73 FEF9 6856 335A 9E08 --------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faqs.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>