ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From francesco77 <f.bona...@reply.it>
Subject Re: JUnit Test with IBatis
Date Fri, 20 Apr 2007 12:44:37 GMT

Dear Marc,

ops....what a stupid error. Thanks a lot.
Now the creation of the DAO is correct but I have another error which is:

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get
JDBC Connection; nested exception is java.sql.SQLException: File
input/output error: java.io.IOException: The filename, directory name, or
volume label syntax is incorrect
Caused by: java.sql.SQLException: File input/output error:
java.io.IOException: The filename, directory name, or volume label syntax is
incorrect
	at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
	at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
	at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
	at org.hsqldb.jdbcDriver.connect(Unknown Source)
	at java.sql.DriverManager.getConnection(DriverManager.java:512)
	at java.sql.DriverManager.getConnection(DriverManager.java:140)
	at
org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:291)
	at
org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:277)
	at
org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:259)
	at
org.springframework.jdbc.datasource.SingleConnectionDataSource.initConnection(SingleConnectionDataSource.java:243)
	at
org.springframework.jdbc.datasource.SingleConnectionDataSource.getConnection(SingleConnectionDataSource.java:186)
	at
org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
	at
org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
	at
org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:182)
	at
org.springframework.orm.ibatis.SqlMapClientTemplate.queryForObject(SqlMapClientTemplate.java:241)
	at
com.fiat.mida.model.dashboard.dao.SearchRefuseDao.getCountStatistics(SearchRefuseDao.java:139)
	at
com.fiat.mida.controller.dashboard.AbstractTest.testProva(AbstractTest.java:66)
	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:324)
	at junit.framework.TestCase.runTest(TestCase.java:154)
	at junit.framework.TestCase.runBare(TestCase.java:127)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:118)
	at junit.framework.TestSuite.runTest(TestSuite.java:208)
	at junit.framework.TestSuite.run(TestSuite.java:203)
	at
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
	at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

I don't know if this error is caused by an incorrect test-sql-map-config.xml
or if I forget to set this configuration file somewhere.

Have you some idea about this error ? 

Thanks a lot for the help

Francesco



marc.heimann wrote:
> 
> Wild guess here, but m_dao is never initialized so I assume a 
> NullPointerException when you try to set the m_dao-Datasource.
> 
> Cheers
> Marc Heimann
> Software Engineer
> 
> Prolifics Deutschland GmbH
> Notkestr. 3, D-22607 Hamburg
> phone +49 (0)40 890 667-70
> fax    +49 (0)40 890 667-99
> marc.heimann@prolifics.de
> SOA... Building the Future into Your Business
> Handelsregister: Hamburg, HRB 89903
> Geschäftsführer: Ulrich Frotscher
> 
> 
> francesco77 <f.bonavia@reply.it> wrote on 20.04.2007 13:30:22:
> 
>> 
>> Hi to All,
>> 
>> I'd like to write a TestCase using JUnit to test my DAO.
>> This DAO works correctly using the WEB Application, but I'd like write a
>> "standalone" test case for the DAO.
>> 
>> So I write this java class :
>> 
>> *****************************************************************
>> 
>> package com.fiat.mida.controller.dashboard;
>> 
>> import java.io.IOException;
>> import java.io.Reader;
>> import java.util.Map;
>> 
>> import org.springframework.jdbc.CannotGetJdbcConnectionException;
>> import org.springframework.jdbc.datasource.DriverManagerDataSource;
>> import org.springframework.jdbc.datasource.SingleConnectionDataSource;
>> 
>> import com.fiat.mida.model.dashboard.SearchBean;
>> 
>> import junit.framework.TestCase;
>> 
>> import com.fiat.mida.model.dashboard.dao.SearchRefuseDao;
>> import com.fiat.mida.model.dashboard.logic.*;
>> import com.ibatis.common.resources.Resources;
>> import com.ibatis.sqlmap.client.SqlMapClient;
>> import com.ibatis.sqlmap.client.SqlMapClientBuilder;
>> 
>> public class AbstractTest extends TestCase{
>> 
>>    private SearchRefuseService service;
>>    private SearchBean bean;
>>    private String resource =
>> "com/fiat/mida/controller/dashboard/test-sql-map-config.xml";
>> 
>>    private Reader reader ;
>> 
>>                 protected DriverManagerDataSource m_dataSource; 
>>    protected SqlMapClient m_sqlMapClient;
>>    private SearchRefuseDao m_dao;
>> 
>>    protected void setUp() {
>> 
>>       try {
>>          reader = Resources.getResourceAsReader(resource);
>>          m_dataSource = new SingleConnectionDataSource();
>>          m_dataSource.setDriverClassName("org.hsqldb.jdbcDriver");
>>       System.out.println("driver OK!! ");
>>          m_dataSource.setUrl("jdbc:hsqldb:svuni000.replynet.prv:
>> 1522:AHZ7O01S");
>>          m_dataSource.setUsername("AHZ7OP1000");
>>          m_dataSource.setPassword("AHZ7OP1000");
>>       System.out.println("data source created");
>>          m_sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);
>>       System.out.println("sql map created");
>>          m_dao.setDataSource(m_dataSource);
>>       System.out.println("Setted data source on DAO");
>>          m_dao.setSqlMapClient(m_sqlMapClient);
>>       System.out.println("Setted sql map on DAO"); 
>>       } catch (CannotGetJdbcConnectionException e) {
>>          System.out.println("no jdbc connection");
>>          e.printStackTrace();
>>       } catch (IOException e) {
>>          System.out.println("IO Exception");
>>          e.printStackTrace();
>>       }
>>    }
>> 
>> 
>>    public void tearDown() {
>> 
>>    }
>> 
>>    public void testProva(){
>> 
>>       bean = new SearchBean();
>>       bean.setFonte("ACDEK100");
>>       Integer dimStat = service.findCountStatisticGroup(bean);
>>       assertEquals(584, dimStat.intValue());
>>    }
>> 
>> }
>> 
>> ***********************************************************************
>> 
>> The test-sql-map-config.xml file is:
>> 
>> ************************************************************************
>> 
>> <?xml version="1.0" encoding="UTF-8" ?>
>> 
>> <!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config
>> 2.0//EN"
>>     "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
>> 
>> <!--
>     List of all iBatis SQL maps grouped by package name.
> -->
>> <sqlMapConfig>
>> 
>>     <settings useStatementNamespaces="true" />
>> 
>>     <sqlMap 
> resource="com/fiat/mida/model/dashboard/dao/SearchRefuse.xml" />
>> 
>> </sqlMapConfig>
>> 
>> ************************************************************************
>> 
>> And the SearchRefuseDao class is:
>> 
>> 
> **************************************************************************
>> 
>> package com.fiat.mida.model.dashboard.dao;
>> 
>> import java.util.HashMap;
>> import java.util.List;
>> import java.util.Map;
>> 
>> import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
>> 
>> import com.fiat.mida.model.dashboard.SearchBean;
>> 
>> public class SearchRefuseDao extends SqlMapClientDaoSupport {
>> 
>>    /** Map for a single thread to hold query parameters. */
>>    private static ThreadLocal messageKeyOfThread = new ThreadLocal() {
>>       protected Object initialValue() {
>>          return new HashMap(3);
>>       }
>>    };
>> 
>>    /**
>>     * conta il numero di statistiche degli scarti che soddisfano i 
> criteri di
>>     * ricerca. Serve per la paginazione
>>     * 
>>     * @param bean:
>>     *            parametri di ricerca
>>     * @return: il numero di record di statistiche
>>     */
>>    public Integer getCountStatistics(SearchBean bean) {
>>       Map messageKey = (Map) messageKeyOfThread.get();
>>       messageKey.put("sourceCode", bean.getFonte());
>>       messageKey.put("dataAcq", bean.getDati());
>>       return (Integer) getSqlMapClientTemplate().queryForObject(
>>             "SearchRefuse.getCountStatisticGroup", messageKey);
>> 
>>    }
>> 
>> }
>> 
>> ************************************************************
>> 
>> When I run this TestCase I have this output:
>> 
>> Apr 20, 2007 1:27:41 PM
>> org.springframework.jdbc.datasource.DriverManagerDataSource
>> setDriverClassName
>> INFO: Loaded JDBC driver: org.hsqldb.jdbcDriver
>> driver OK!! 
>> data source created
>> sql map created
>> 
>> And I don't know why my test stop at that point.
>> 
>> Someone could help me ? 
>> 
>> Thanks a lot for any suggestion,
>> 
>> Have a good day,
>> Francesco
>> 
>> 
>> -- 
>> View this message in context: http://www.nabble.com/JUnit-Test-with-
>> IBatis-tf3615809.html#a10098759
>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>> 
> 
>  
> 

-- 
View this message in context: http://www.nabble.com/JUnit-Test-with-IBatis-tf3615809.html#a10101307
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


Mime
View raw message