svn commit: r190863 - in /ibatis/trunk/logo: ./ ibatis-logo.vsd ibatis.vsd
Author: cbegin Date: Wed Jun 15 20:38:53 2005 New Revision: 190863 URL: http://svn.apache.org/viewcvs?rev=190863&view=rev Log: Committed official ibatis logos in vector format for use for t-shirts and other swag. Added: ibatis/trunk/logo/ ibatis/trunk/logo/ibatis-logo.vsd (with props) ibatis/trunk/logo/ibatis.vsd (with props) Added: ibatis/trunk/logo/ibatis-logo.vsd URL: http://svn.apache.org/viewcvs/ibatis/trunk/logo/ibatis-logo.vsd?rev=190863&view=auto == Binary file - no diff available. Propchange: ibatis/trunk/logo/ibatis-logo.vsd -- svn:mime-type = application/octet-stream Added: ibatis/trunk/logo/ibatis.vsd URL: http://svn.apache.org/viewcvs/ibatis/trunk/logo/ibatis.vsd?rev=190863&view=auto == Binary file - no diff available. Propchange: ibatis/trunk/logo/ibatis.vsd -- svn:mime-type = application/octet-stream
svn commit: r190868 - /ibatis/trunk/logo/ibatis-classic.vsd
Author: cbegin Date: Wed Jun 15 21:15:24 2005 New Revision: 190868 URL: http://svn.apache.org/viewcvs?rev=190868&view=rev Log: Added classic logo Added: ibatis/trunk/logo/ibatis-classic.vsd (with props) Added: ibatis/trunk/logo/ibatis-classic.vsd URL: http://svn.apache.org/viewcvs/ibatis/trunk/logo/ibatis-classic.vsd?rev=190868&view=auto == Binary file - no diff available. Propchange: ibatis/trunk/logo/ibatis-classic.vsd -- svn:mime-type = application/octet-stream
svn commit: r201540 - /ibatis/trunk/site/pages/team.vm
Author: cbegin Date: Thu Jun 23 19:03:04 2005 New Revision: 201540 URL: http://svn.apache.org/viewcvs?rev=201540&view=rev Log: added new contributors Modified: ibatis/trunk/site/pages/team.vm Modified: ibatis/trunk/site/pages/team.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/team.vm?rev=201540&r1=201539&r2=201540&view=diff == --- ibatis/trunk/site/pages/team.vm (original) +++ ibatis/trunk/site/pages/team.vm Thu Jun 23 19:03:04 2005 @@ -18,11 +18,14 @@ Contributors - +The following people, although not yet committers, have made significant contributions in +the iBATIS community that makes everyone's experience easier and more fun. Kris Jenkins Nathan Maves Fabrizio Gianneschi + Sven Boden + Brice Ruth Thanks to...
svn commit: r201545 - /ibatis/trunk/site/pages/team.vm
Author: cbegin Date: Thu Jun 23 19:07:11 2005 New Revision: 201545 URL: http://svn.apache.org/viewcvs?rev=201545&view=rev Log: added new contributors Modified: ibatis/trunk/site/pages/team.vm Modified: ibatis/trunk/site/pages/team.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/team.vm?rev=201545&r1=201544&r2=201545&view=diff == --- ibatis/trunk/site/pages/team.vm (original) +++ ibatis/trunk/site/pages/team.vm Thu Jun 23 19:07:11 2005 @@ -18,7 +18,7 @@ Contributors -The following people, although not yet committers, have made significant contributions in +The following people, although not yet committers, make significant contributions in the iBATIS community that makes everyone's experience easier and more fun. Kris Jenkins
svn commit: r201714 - in /ibatis/trunk/java/mapper/mapper2: src/com/ibatis/sqlmap/engine/builder/xml/ src/com/ibatis/sqlmap/engine/mapping/result/ test/com/ibatis/sqlmap/ test/com/ibatis/sqlmap/maps/
Author: cbegin Date: Fri Jun 24 21:20:29 2005 New Revision: 201714 URL: http://svn.apache.org/viewcvs?rev=201714&view=rev Log: IBATIS-136 Fixed. Extended result maps now carry forward the groupBy attribute, and also allow it to be overridden. Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/BasicResultMap.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/RepeatingGroupMappingTest.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/RepeatingGroupMapping.xml Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java?rev=201714&r1=201713&r2=201714&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java Fri Jun 24 21:20:29 2005 @@ -343,6 +343,14 @@ for (int i = 0; i < resultMappings.length; i++) { vars.resultMappingList.add(resultMappings[i]); } + if (groupBy == null || groupBy.length() == 0) { +if (extendedResultMap.hasGroupBy()) { + Iterator i = extendedResultMap.groupByProps(); + while (i.hasNext()) { +vars.currentResultMap.addGroupByProperty((String) i.next()); + } +} + } } vars.errorCtx.setMoreInfo("Check the result mappings."); Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/BasicResultMap.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/BasicResultMap.java?rev=201714&r1=201713&r2=201714&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/BasicResultMap.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/BasicResultMap.java Fri Jun 24 21:20:29 2005 @@ -196,6 +196,14 @@ groupByProps.add(name); } + public boolean hasGroupBy() { +return groupByProps != null && groupByProps.size() > 0; + } + + public Iterator groupByProps() { +return groupByProps.iterator(); + } + public void addNestedResultMappings(ResultMapping mapping) { if (nestedResultMappings == null) { nestedResultMappings = new ArrayList(); Modified: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/RepeatingGroupMappingTest.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/RepeatingGroupMappingTest.java?rev=201714&r1=201713&r2=201714&view=diff == --- ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/RepeatingGroupMappingTest.java (original) +++ ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/RepeatingGroupMappingTest.java Fri Jun 24 21:20:29 2005 @@ -17,6 +17,11 @@ assertEquals (5, list.size()); } + public void testGroupByExtended() throws Exception { +List list = sqlMap.queryForList("getAllCategoriesExtended",null); +assertEquals (5, list.size()); + } + public void testNestedProperties() throws Exception { List list = sqlMap.queryForList("getFish",null); assertEquals (1, list.size()); Modified: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/RepeatingGroupMapping.xml URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/RepeatingGroupMapping.xml?rev=201714&r1=201713&r2=201714&view=diff == --- ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/RepeatingGroupMapping.xml (original) +++ ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/RepeatingGroupMapping.xml Fri Jun 24 21:20:29 2005 @@ -11,6 +11,10 @@ + + + + @@ -31,6 +35,20 @@ +select + c.catid, c.name as catname, c.descn as catdescn, + p.productid, p.category, p.name as prodname, + p.descn as proddescn, i.itemid, i.productid, + i.listprice, i.unitcost, i.supplier, i.status, + i.attr1, i.attr2, i.attr3, i.attr4, i.attr5, + v.itemid, v.qty +from category c, product p, item i, inventory v +where c.catid = p.category + and p.productid = i.productid + and i.itemid = v.itemid + + + select c.catid, c.name as catname, c.descn as catdescn, p.productid, p.category, p.name as prodname,
svn commit: r201717 - in /ibatis/trunk/java/mapper/mapper2: doc/release.txt src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java
Author: cbegin Date: Fri Jun 24 21:35:07 2005 New Revision: 201717 URL: http://svn.apache.org/viewcvs?rev=201717&view=rev Log: IBATIS-139 Nullified discriminator at end of result Map parsing to ensure that discriminator isn't applied to the wrong result maps. Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=201717&r1=201716&r2=201717&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original) +++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Fri Jun 24 21:35:07 2005 @@ -2,6 +2,13 @@ Build Number: @buildNum@ -- + 2.1.5 - June ??, 2004 +-- + + o Fixed IBATIS-136, groupBy not carried forward to extended result maps + o Fixed IBATIS-139, discriminator being applied to too many result maps + +-- 2.1.0 - May 16, 2004 -- Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java?rev=201717&r1=201716&r2=201717&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java Fri Jun 24 21:35:07 2005 @@ -288,7 +288,8 @@ vars.currentResultMap.setResultMappingList(vars.resultMappingList); vars.currentResultMap.setDiscriminator(vars.discriminator); - +vars.discriminator = null; + vars.client.getDelegate().addResultMap(vars.currentResultMap); vars.errorCtx.setMoreInfo(null);
svn commit: r201721 - in /ibatis/trunk/java/mapper/mapper2: doc/release.txt src/com/ibatis/common/jdbc/logging/PreparedStatementLogProxy.java src/com/ibatis/common/jdbc/logging/StatementLogProxy.java
Author: cbegin Date: Fri Jun 24 21:46:28 2005 New Revision: 201721 URL: http://svn.apache.org/viewcvs?rev=201721&view=rev Log: IBATIS-152 IBATIS-149 IBATIS-116 Null result sets now handled properly by JDBC logging classes Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/PreparedStatementLogProxy.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/StatementLogProxy.java Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=201721&r1=201720&r2=201721&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original) +++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Fri Jun 24 21:46:28 2005 @@ -5,8 +5,9 @@ 2.1.5 - June ??, 2004 -- - o Fixed IBATIS-136, groupBy not carried forward to extended result maps - o Fixed IBATIS-139, discriminator being applied to too many result maps + o Fixed IBATIS-136 groupBy not carried forward to extended result maps + o Fixed IBATIS-139 discriminator being applied to too many result maps (thanks Sven) + o Fixed IBATIS-152, 149, 116 null result sets now handled properly by JDBC logging classes -- 2.1.0 - May 16, 2004 Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/PreparedStatementLogProxy.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/PreparedStatementLogProxy.java?rev=201721&r1=201720&r2=201721&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/PreparedStatementLogProxy.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/PreparedStatementLogProxy.java Fri Jun 24 21:46:28 2005 @@ -52,7 +52,12 @@ clearColumnInfo(); if ("executeQuery".equals(method.getName())) { ResultSet rs = (ResultSet) method.invoke(statement, params); - return ResultSetLogProxy.newInstance(rs); + if ( rs != null ) { +return ResultSetLogProxy.newInstance(rs); + } + else { +return null; + } } else { return method.invoke(statement, params); } @@ -65,7 +70,12 @@ return method.invoke(statement, params); } else if ("getResultSet".equals(method.getName())) { ResultSet rs = (ResultSet) method.invoke(statement, params); -return ResultSetLogProxy.newInstance(rs); +if ( rs != null ) { + return ResultSetLogProxy.newInstance(rs); +} +else { + return null; +} } else { return method.invoke(statement, params); } Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/StatementLogProxy.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/StatementLogProxy.java?rev=201721&r1=201720&r2=201721&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/StatementLogProxy.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/StatementLogProxy.java Fri Jun 24 21:46:28 2005 @@ -47,13 +47,23 @@ } if ("executeQuery".equals(method.getName())) { ResultSet rs = (ResultSet) method.invoke(statement, params); - return ResultSetLogProxy.newInstance(rs); + if ( rs != null ) { +return ResultSetLogProxy.newInstance(rs); + } + else { +return null; + } } else { return method.invoke(statement, params); } } else if ("getResultSet".equals(method.getName())) { ResultSet rs = (ResultSet) method.invoke(statement, params); -return ResultSetLogProxy.newInstance(rs); +if ( rs != null ) { + return ResultSetLogProxy.newInstance(rs); +} +else { + return null; +} } else { return method.invoke(statement, params); }
svn commit: r201724 - /ibatis/trunk/java/mapper/mapper2/doc/release.txt
Author: cbegin Date: Fri Jun 24 21:51:45 2005 New Revision: 201724 URL: http://svn.apache.org/viewcvs?rev=201724&view=rev Log: Updated release notes for issues IBATIS 116, 136, 139, 149, 152, thanks to Sven Boden for his contributions. Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=201724&r1=201723&r2=201724&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original) +++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Fri Jun 24 21:51:45 2005 @@ -7,7 +7,8 @@ o Fixed IBATIS-136 groupBy not carried forward to extended result maps o Fixed IBATIS-139 discriminator being applied to too many result maps (thanks Sven) - o Fixed IBATIS-152, 149, 116 null result sets now handled properly by JDBC logging classes + o Fixed IBATIS-152, 149, 116 null result sets now handled properly by JDBC logging classes (thanks Sven) + o -- 2.1.0 - May 16, 2004
svn commit: r201725 - /ibatis/trunk/java/docs/iBATIS-SqlMaps-2.sxw
Author: cbegin Date: Fri Jun 24 21:58:45 2005 New Revision: 201725 URL: http://svn.apache.org/viewcvs?rev=201725&view=rev Log: IBATIS-13 fixed documentation of "DataSource" vs. "DBJndiContext" for JTA and JNDI datasource types Modified: ibatis/trunk/java/docs/iBATIS-SqlMaps-2.sxw Modified: ibatis/trunk/java/docs/iBATIS-SqlMaps-2.sxw URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/docs/iBATIS-SqlMaps-2.sxw?rev=201725&r1=201724&r2=201725&view=diff == Binary files - no diff available.
svn commit: r201726 - /ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/CacheStatementTest.java
Author: cbegin Date: Fri Jun 24 22:13:47 2005 New Revision: 201726 URL: http://svn.apache.org/viewcvs?rev=201726&view=rev Log: Added unit tests to verify correct operation of IBATIS-93 Modified: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/CacheStatementTest.java Modified: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/CacheStatementTest.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/CacheStatementTest.java?rev=201726&r1=201725&r2=201726&view=diff == --- ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/CacheStatementTest.java (original) +++ ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/CacheStatementTest.java Fri Jun 24 22:13:47 2005 @@ -48,23 +48,60 @@ public void testFlushDataCache() throws SQLException { List list = sqlMap.queryForList("getCachedAccountsViaResultMap", null); - int firstId = System.identityHashCode(list); - list = sqlMap.queryForList("getCachedAccountsViaResultMap", null); - int secondId = System.identityHashCode(list); - assertEquals(firstId, secondId); - sqlMap.flushDataCache(); - list = sqlMap.queryForList("getCachedAccountsViaResultMap", null); +int thirdId = System.identityHashCode(list); +assertTrue(firstId != thirdId); + } + public void testFlushDataCacheOnExecute() throws SQLException { +List list = sqlMap.queryForList("getCachedAccountsViaResultMap", null); +int firstId = System.identityHashCode(list); +list = sqlMap.queryForList("getCachedAccountsViaResultMap", null); +int secondId = System.identityHashCode(list); +assertEquals(firstId, secondId); +sqlMap.update("updateAccountViaInlineParameters", list.get(0)); +list = sqlMap.queryForList("getCachedAccountsViaResultMap", null); int thirdId = System.identityHashCode(list); +assertTrue(firstId != thirdId); + } + public void testFlushDataCacheOnExecuteInBatch() throws SQLException { +List list = sqlMap.queryForList("getCachedAccountsViaResultMap", null); +int firstId = System.identityHashCode(list); +list = sqlMap.queryForList("getCachedAccountsViaResultMap", null); +int secondId = System.identityHashCode(list); +assertEquals(firstId, secondId); +sqlMap.startBatch(); +sqlMap.update("updateAccountViaInlineParameters", list.get(0)); +sqlMap.executeBatch(); +list = sqlMap.queryForList("getCachedAccountsViaResultMap", null); +int thirdId = System.identityHashCode(list); assertTrue(firstId != thirdId); + } + public void testFlushDataCacheOnExecuteInBatchWithTx() throws SQLException { +List list = sqlMap.queryForList("getCachedAccountsViaResultMap", null); +int firstId = System.identityHashCode(list); +list = sqlMap.queryForList("getCachedAccountsViaResultMap", null); +int secondId = System.identityHashCode(list); +assertEquals(firstId, secondId); +try { + sqlMap.startTransaction(); + sqlMap.startBatch(); + sqlMap.update("updateAccountViaInlineParameters", list.get(0)); + sqlMap.executeBatch(); + sqlMap.commitTransaction(); +} finally { + sqlMap.endTransaction(); +} +list = sqlMap.queryForList("getCachedAccountsViaResultMap", null); +int thirdId = System.identityHashCode(list); +assertTrue(firstId != thirdId); } public void testMappedStatementQueryWithThreadedCache() throws SQLException {
svn commit: r201727 - in /ibatis/trunk/java/mapper/mapper2: doc/release.txt src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java
Author: cbegin Date: Fri Jun 24 22:26:32 2005 New Revision: 201727 URL: http://svn.apache.org/viewcvs?rev=201727&view=rev Log: IBATIS-146 IBATIS-130 Fixed consuming of extra result sets, and added pure TypeHandler support for parameters. Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=201727&r1=201726&r2=201727&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original) +++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Fri Jun 24 22:26:32 2005 @@ -8,8 +8,9 @@ o Fixed IBATIS-136 groupBy not carried forward to extended result maps o Fixed IBATIS-139 discriminator being applied to too many result maps (thanks Sven) o Fixed IBATIS-152, 149, 116 null result sets now handled properly by JDBC logging classes (thanks Sven) - o - + o Fixed IBATIS-146 consumes additional result sets before retrieving output params (JTDS fix) + o Fixed IBATIS-130 parameter maps don't allow for complete TypeHandler implementations + -- 2.1.0 - May 16, 2004 -- Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java?rev=201727&r1=201726&r2=201727&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java Fri Jun 24 22:26:32 2005 @@ -247,10 +247,16 @@ TypeHandler handler = null; if (callback != null) { - vars.errorCtx.setMoreInfo("Check the parameter mapping typeHandler attribute '" + callback + "' (must be a TypeHandlerCallback implementation)."); + vars.errorCtx.setMoreInfo("Check the parameter mapping typeHandler attribute '" + callback + "' (must be a TypeHandler or TypeHandlerCallback implementation)."); try { -TypeHandlerCallback typeHandlerCallback = (TypeHandlerCallback) Resources.classForName(callback).newInstance(); -handler = new CustomTypeHandler(typeHandlerCallback); +Object impl = Resources.classForName(callback).newInstance(); +if (impl instanceof TypeHandlerCallback) { + handler = new CustomTypeHandler((TypeHandlerCallback) impl); +} else if (impl instanceof TypeHandler) { + handler = (TypeHandler) impl; +} else { + throw new NestedRuntimeException ("The class '"+callback+"' is not a valid implementation of TypeHandler or TypeHandlerCallback"); +} } catch (Exception e) { throw new NestedRuntimeException("Error occurred during custom type handler configuration. Cause: " + e, e); } @@ -379,7 +385,7 @@ TypeHandler handler = null; if (callback != null) { - vars.errorCtx.setMoreInfo("Check the result mapping typeHandler attribute '" + callback + "' (must be a TypeHandlerCallback implementation)."); + vars.errorCtx.setMoreInfo("Check the result mapping typeHandler attribute '" + callback + "' (must be a TypeHandler or TypeHandlerCallback implementation)."); try { Object impl = Resources.classForName(callback).newInstance(); if (impl instanceof TypeHandlerCallback) { @@ -387,7 +393,7 @@ } else if (impl instanceof TypeHandler) { handler = (TypeHandler) impl; } else { - throw new NestedRuntimeException ("The class '' is not a valid implementation of TypeHandler or TypeHandlerCallback"); + throw new NestedRuntimeException ("The class '"+callback+"' is not a valid implementation of TypeHandler or TypeHandlerCallback"); } } catch (Exception e) { throw new NestedRuntimeException("Error occurred during custom type handler configuration. Cause: " + e, e); Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.
svn commit: r201729 - in /ibatis/trunk/java/mapper/mapper2: doc/ src/com/ibatis/common/jdbc/ src/com/ibatis/common/jdbc/logging/ src/com/ibatis/common/logging/ src/com/ibatis/common/util/ src/com/ibatis/dao/engine/transaction/jdbc/ src/com/ibatis/dao/e...
Author: cbegin Date: Sat Jun 25 00:00:11 2005 New Revision: 201729 URL: http://svn.apache.org/viewcvs?rev=201729&view=rev Log: Removed dependency on Commons Logging, will autodetect and use Commons Logging, Log4J, JDK 1.4 or no logging Added: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/ Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/SimpleDataSource.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/ConnectionLogProxy.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/PreparedStatementLogProxy.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/ResultSetLogProxy.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/StatementLogProxy.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/util/Stopwatch.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/dao/engine/transaction/jdbc/JdbcDaoTransaction.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/dao/engine/transaction/jta/JtaDaoTransaction.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapSessionImpl.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/transaction/external/ExternalTransaction.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/transaction/jdbc/JdbcTransaction.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/transaction/jta/JtaTransaction.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/transaction/user/UserProvidedTransaction.java Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=201729&r1=201728&r2=201729&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original) +++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Sat Jun 25 00:00:11 2005 @@ -10,6 +10,7 @@ o Fixed IBATIS-152, 149, 116 null result sets now handled properly by JDBC logging classes (thanks Sven) o Fixed IBATIS-146 consumes additional result sets before retrieving output params (JTDS fix) o Fixed IBATIS-130 parameter maps don't allow for complete TypeHandler implementations + o Removed dependency on Commons Logging, will autodetect and use Commons Logging, Log4J, JDK 1.4 or no logging -- 2.1.0 - May 16, 2004 Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/SimpleDataSource.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/SimpleDataSource.java?rev=201729&r1=201728&r2=201729&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/SimpleDataSource.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/SimpleDataSource.java Sat Jun 25 00:00:11 2005 @@ -18,8 +18,8 @@ import com.ibatis.common.beans.ClassInfo; import com.ibatis.common.exception.NestedRuntimeException; import com.ibatis.common.resources.Resources; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import com.ibatis.common.logging.LogFactory; +import com.ibatis.common.logging.Log; import javax.sql.DataSource; import java.io.PrintWriter; Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/ConnectionLogProxy.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/ConnectionLogProxy.java?rev=201729&r1=201728&r2=201729&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/ConnectionLogProxy.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/ConnectionLogProxy.java Sat Jun 25 00:00:11 2005 @@ -16,8 +16,8 @@ package com.ibatis.common.jdbc.logging; import com.ibatis.common.beans.ClassInfo; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import com.ibatis.common.logging.Log; +import com.ibatis.common.logging.LogFactory; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/PreparedStatementLogProxy.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/PreparedStatementLogProxy.java?rev=201729&r1=201728&r2=201729&view=diff == --- ibatis/tru
svn commit: r201731 - in /ibatis/trunk/java/mapper/mapper2: doc/ src/com/ibatis/common/logging/ src/com/ibatis/common/logging/jakarta/ src/com/ibatis/common/logging/jdk14/ src/com/ibatis/common/logging/log4j/ src/com/ibatis/common/logging/nologging/ sr...
Author: cbegin Date: Sat Jun 25 00:18:49 2005 New Revision: 201731 URL: http://svn.apache.org/viewcvs?rev=201731&view=rev Log: Removed dependency on Commons Logging, will autodetect and use Commons Logging, Log4J, JDK 1.4 or no logging (missed non-versioned files last commit) AND Improved entity resolvers to be smarter, checks both system and public IDs, and both ibatis.com and apache.org Added: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/Log.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/LogFactory.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/jakarta/ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/jdk14/ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/log4j/ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/nologging/ Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt ibatis/trunk/java/mapper/mapper2/src/com/ibatis/dao/engine/builder/xml/DaoClasspathEntityResolver.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapClasspathEntityResolver.java Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=201731&r1=201730&r2=201731&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original) +++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Sat Jun 25 00:18:49 2005 @@ -11,7 +11,8 @@ o Fixed IBATIS-146 consumes additional result sets before retrieving output params (JTDS fix) o Fixed IBATIS-130 parameter maps don't allow for complete TypeHandler implementations o Removed dependency on Commons Logging, will autodetect and use Commons Logging, Log4J, JDK 1.4 or no logging - + o Improved entity resolvers to be smarter, checks both system and public IDs, and both ibatis.com and apache.org + -- 2.1.0 - May 16, 2004 -- Added: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/Log.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/Log.java?rev=201731&view=auto == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/Log.java (added) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/Log.java Sat Jun 25 00:18:49 2005 @@ -0,0 +1,13 @@ +package com.ibatis.common.logging; + +public interface Log { + + boolean isDebugEnabled(); + + void error(String s, Exception e); + + public void debug(String s); + + public void warn(String s); + +} Added: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/LogFactory.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/LogFactory.java?rev=201731&view=auto == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/LogFactory.java (added) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/LogFactory.java Sat Jun 25 00:18:49 2005 @@ -0,0 +1,35 @@ +package com.ibatis.common.logging; + +import java.lang.reflect.Constructor; + +public class LogFactory { + + private static Constructor logConstructor; + + static { +tryImplementation("org.apache.commons.logging.LogFactory", "com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl"); +tryImplementation("org.apache.log4j.Logger", "com.ibatis.common.logging.log4j.Log4jImpl"); +tryImplementation("java.util.logging.Logger", "com.ibatis.common.logging.jdk14.Jdk14LoggingImpl"); +tryImplementation("java.lang.Object", "com.ibatis.common.logging.nologging.NoLoggingImpl"); + } + + private static void tryImplementation(String testClassName, String implClassName) { +if (logConstructor == null) { + try { +Class.forName(testClassName); +Class implClass = Class.forName(implClassName); +logConstructor = implClass.getConstructor(new Class[]{Class.class}); + } catch (Throwable t) { + } +} + } + + public static Log getLog(Class aClass) { +try { + return (Log)logConstructor.newInstance(new Object[]{aClass}); +} catch (Throwable t) { + throw new RuntimeException("Error creating logger for class " + aClass + ". Cause: " + t, t); +} + } + +} Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/dao/engine/builder/xml/DaoClasspathEntityResolver.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/dao/engine/builder/xml/DaoClasspathEntityResolver.java?rev=201731&r1=201730&r2=201731&view=diff =
svn commit: r201732 - in /ibatis/trunk/java/mapper/mapper2/build: build.properties version.properties
Author: cbegin Date: Sat Jun 25 00:36:54 2005 New Revision: 201732 URL: http://svn.apache.org/viewcvs?rev=201732&view=rev Log: version file updates Modified: ibatis/trunk/java/mapper/mapper2/build/build.properties ibatis/trunk/java/mapper/mapper2/build/version.properties Modified: ibatis/trunk/java/mapper/mapper2/build/build.properties URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/build/build.properties?rev=201732&r1=201731&r2=201732&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/build.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/build.properties Sat Jun 25 00:36:54 2005 @@ -31,6 +31,6 @@ reports.coverage=./reports/coverage deploy.path=./exploded -deploy.prefix=iBATIS_DBL-2.1.0. +deploy.prefix=iBATIS_DBL-2.1.5. deploy.ext=.zip deploy.files=./deploy Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=201732&r1=201731&r2=201732&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/version.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/version.properties Sat Jun 25 00:36:54 2005 @@ -1,5 +1,5 @@ #Build version info -#Wed Jun 08 00:55:06 MDT 2005 -version=2.1.1b -buildDate=2005/06/08 00\:55 -buildNum=569 +#Sat Jun 25 01:31:54 MDT 2005 +version=2.1.5 +buildDate=2005/06/25 01\:31 +buildNum=571
svn commit: r201733 - in /ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging: jakarta/JakartaCommonsLoggingImpl.java jdk14/Jdk14LoggingImpl.java log4j/Log4jImpl.java nologging/NoLoggingImpl.java
Author: cbegin Date: Sat Jun 25 00:38:17 2005 New Revision: 201733 URL: http://svn.apache.org/viewcvs?rev=201733&view=rev Log: more missing files? Must be too late at night for this. :-( Added: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/jakarta/JakartaCommonsLoggingImpl.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/jdk14/Jdk14LoggingImpl.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/log4j/Log4jImpl.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/nologging/NoLoggingImpl.java Added: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/jakarta/JakartaCommonsLoggingImpl.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/jakarta/JakartaCommonsLoggingImpl.java?rev=201733&view=auto == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/jakarta/JakartaCommonsLoggingImpl.java (added) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/jakarta/JakartaCommonsLoggingImpl.java Sat Jun 25 00:38:17 2005 @@ -0,0 +1,30 @@ +package com.ibatis.common.logging.jakarta; + +import org.apache.commons.logging.LogFactory; +import org.apache.commons.logging.Log; + +public class JakartaCommonsLoggingImpl implements com.ibatis.common.logging.Log { + + private Log log; + + public JakartaCommonsLoggingImpl(Class clazz) { +log = LogFactory.getLog(clazz); + } + + public boolean isDebugEnabled() { +return log.isDebugEnabled(); + } + + public void error(String s, Exception e) { +log.error(s,e); + } + + public void debug(String s) { +log.debug(s); + } + + public void warn(String s) { +log.warn(s); + } + +} Added: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/jdk14/Jdk14LoggingImpl.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/jdk14/Jdk14LoggingImpl.java?rev=201733&view=auto == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/jdk14/Jdk14LoggingImpl.java (added) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/jdk14/Jdk14LoggingImpl.java Sat Jun 25 00:38:17 2005 @@ -0,0 +1,31 @@ +package com.ibatis.common.logging.jdk14; + +import java.util.logging.Logger; +import java.util.logging.Level; + +public class Jdk14LoggingImpl implements com.ibatis.common.logging.Log { + +private Logger log; + +public Jdk14LoggingImpl(Class clazz) { + log = Logger.getLogger(clazz.toString()); +} + +public boolean isDebugEnabled() { + return log.isLoggable(Level.FINE); +} + +public void error(String s, Exception e) { + log.log(Level.SEVERE, s, e); +} + +public void debug(String s) { + log.log(Level.FINE, s); +} + +public void warn(String s) { + log.log(Level.WARNING, s); +} + + + } Added: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/log4j/Log4jImpl.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/log4j/Log4jImpl.java?rev=201733&view=auto == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/log4j/Log4jImpl.java (added) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/log4j/Log4jImpl.java Sat Jun 25 00:38:17 2005 @@ -0,0 +1,30 @@ +package com.ibatis.common.logging.log4j; + +import org.apache.log4j.Logger; + +public class Log4jImpl implements com.ibatis.common.logging.Log { + + private Logger log; + + public Log4jImpl(Class clazz) { + log = Logger.getLogger(clazz); + } + + public boolean isDebugEnabled() { +return log.isDebugEnabled(); + } + + public void error(String s, Exception e) { +log.error(s, e); + } + + public void debug(String s) { +log.debug(s); + } + + public void warn(String s) { +log.warn(s); + } + + +} Added: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/nologging/NoLoggingImpl.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/nologging/NoLoggingImpl.java?rev=201733&view=auto == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/nologging/NoLoggingImpl.java (added) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/logging/nologging/NoLoggingImpl.java Sat Jun 25 00:38:17 2005 @@ -0,0 +1,23 @@ +package com.ibatis.common.logging.nologging; + +import com.ibatis.common.logging.Log; + +public class NoLoggingImpl implements Log { + + public NoLoggingImpl(Class clazz) { + } + + public boolean isDebugEnabled() { +return false; + } + + public void error(String s, Exception e
svn commit: r209404 - /ibatis/trunk/java/mapper/mapper2/doc/release.txt
Author: cbegin Date: Tue Jul 5 20:30:35 2005 New Revision: 209404 URL: http://svn.apache.org/viewcvs?rev=209404&view=rev Log: 2004 -> 2005 Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=209404&r1=209403&r2=209404&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original) +++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Tue Jul 5 20:30:35 2005 @@ -2,7 +2,7 @@ Build Number: @buildNum@ -- - 2.1.5 - June ??, 2004 + 2.1.5 - July 5, 2005 -- o Fixed IBATIS-136 groupBy not carried forward to extended result maps @@ -10,11 +10,12 @@ o Fixed IBATIS-152, 149, 116 null result sets now handled properly by JDBC logging classes (thanks Sven) o Fixed IBATIS-146 consumes additional result sets before retrieving output params (JTDS fix) o Fixed IBATIS-130 parameter maps don't allow for complete TypeHandler implementations + o Fixed IBATIS-148 parameter maps don't allow for complete TypeHandler implementations o Removed dependency on Commons Logging, will autodetect and use Commons Logging, Log4J, JDK 1.4 or no logging o Improved entity resolvers to be smarter, checks both system and public IDs, and both ibatis.com and apache.org -- - 2.1.0 - May 16, 2004 + 2.1.0 - May 16, 2005 -- o Added and tags for class inheritance support @@ -34,7 +35,7 @@ o Changed SQL executor to always call .execute instead of .executeQuery and .executeUpdate -- - 2.0.9B - Feb 20, 2004 + 2.0.9B - Feb 20, 2005 -- o Rebuilt on Feb 20th to fix incomplete ZIP file
svn commit: r219441 - in /ibatis/trunk/java/mapper/mapper2: build/version.properties devlib/commons-logging-1-0-3.jar doc/release.txt lib/ src/com/ibatis/sqlmap/client/SqlMapClient.java test/com/ibatis/sqlmap/BindingTest.java
Author: cbegin Date: Sun Jul 17 19:35:27 2005 New Revision: 219441 URL: http://svn.apache.org/viewcvs?rev=219441&view=rev Log: moved commons logging to devlib (no longer required), hid getMapper method Added: ibatis/trunk/java/mapper/mapper2/devlib/commons-logging-1-0-3.jar (with props) Removed: ibatis/trunk/java/mapper/mapper2/lib/ Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties ibatis/trunk/java/mapper/mapper2/doc/release.txt ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/client/SqlMapClient.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/BindingTest.java Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=219441&r1=219440&r2=219441&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/version.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/version.properties Sun Jul 17 19:35:27 2005 @@ -1,5 +1,5 @@ #Build version info -#Sat Jun 25 01:31:54 MDT 2005 +#Sun Jul 17 20:13:45 MDT 2005 version=2.1.5 -buildDate=2005/06/25 01\:31 -buildNum=571 +buildDate=2005/07/17 20\:13 +buildNum=579 Added: ibatis/trunk/java/mapper/mapper2/devlib/commons-logging-1-0-3.jar URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/devlib/commons-logging-1-0-3.jar?rev=219441&view=auto == Binary file - no diff available. Propchange: ibatis/trunk/java/mapper/mapper2/devlib/commons-logging-1-0-3.jar -- svn:mime-type = application/octet-stream Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=219441&r1=219440&r2=219441&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original) +++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Sun Jul 17 19:35:27 2005 @@ -2,7 +2,7 @@ Build Number: @buildNum@ -- - 2.1.5 - July 5, 2005 + 2.1.5 - July 17, 2005 -- o Fixed IBATIS-136 groupBy not carried forward to extended result maps Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/client/SqlMapClient.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/client/SqlMapClient.java?rev=219441&r1=219440&r2=219441&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/client/SqlMapClient.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/client/SqlMapClient.java Sun Jul 17 19:35:27 2005 @@ -226,6 +226,6 @@ * @return An instance of iface that can be used to call mapped statements directly in a typesafe * manner. */ - public Object getMapper (Class iface); + //public Object getMapper (Class iface); } Modified: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/BindingTest.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/BindingTest.java?rev=219441&r1=219440&r2=219441&view=diff == --- ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/BindingTest.java (original) +++ ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/BindingTest.java Sun Jul 17 19:35:27 2005 @@ -7,17 +7,23 @@ import java.util.Map; import com.ibatis.common.util.PaginatedList; +import com.ibatis.sqlmap.engine.impl.SqlMapClientImpl; public class BindingTest extends BaseSqlMapTest { + protected void setUp() throws Exception { initSqlMap("com/ibatis/sqlmap/maps/SqlMapConfig.xml", null); initScript("scripts/docs-init.sql"); } + private Object getMapper(Class c) { +return ((SqlMapClientImpl)sqlMap).getMapper(c); + } + public void testSelectListStatement () throws Exception { -DocumentMapper dm = (DocumentMapper) sqlMap.getMapper(DocumentMapper.class); +DocumentMapper dm = (DocumentMapper) getMapper(DocumentMapper.class); List list = dm.getDocuments(); assertNotNull(list); @@ -26,7 +32,7 @@ public void testSelectSubListStatement () throws Exception { -DocumentMapper dm = (DocumentMapper) sqlMap.getMapper(DocumentMapper.class); +DocumentMapper dm = (DocumentMapper) getMapper(DocumentMapper.class); List list = dm.getDocuments(null, 2, 2); @@ -36,7 +42,7 @@ public void testSelectPaginatedListStatement () throws Exception { -DocumentMapper dm = (DocumentMapper) sqlMap.getMapper(DocumentMapper.clas
svn commit: r219445 - in /ibatis/trunk/java/mapper/mapper2: build/lib/ build/version.properties doc/jar-dependencies.txt
Author: cbegin Date: Sun Jul 17 19:52:22 2005 New Revision: 219445 URL: http://svn.apache.org/viewcvs?rev=219445&view=rev Log: updated jar-dependencies.txt Added: ibatis/trunk/java/mapper/mapper2/build/lib/ Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties ibatis/trunk/java/mapper/mapper2/doc/jar-dependencies.txt Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=219445&r1=219444&r2=219445&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/version.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/version.properties Sun Jul 17 19:52:22 2005 @@ -1,5 +1,5 @@ #Build version info -#Sun Jul 17 20:13:45 MDT 2005 +#Sun Jul 17 20:38:52 MDT 2005 version=2.1.5 -buildDate=2005/07/17 20\:13 -buildNum=579 +buildDate=2005/07/17 20\:38 +buildNum=581 Modified: ibatis/trunk/java/mapper/mapper2/doc/jar-dependencies.txt URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/doc/jar-dependencies.txt?rev=219445&r1=219444&r2=219445&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/jar-dependencies.txt (original) +++ ibatis/trunk/java/mapper/mapper2/doc/jar-dependencies.txt Sun Jul 17 19:52:22 2005 @@ -1,9 +1,7 @@ JAR File Dependencies - -iBATIS 2.0 has very few dependencies. If you're running JDK 1.4, then -the only real dependency is on the Jakarta Commons Logging framework included in -the /lib directory. +iBATIS 2.0 has no dependencies, as long as you're running JDK 1.4. * If you're running less than JDK 1.4 and if your app server also doesn't already supply the following, then you may need these: @@ -29,8 +27,9 @@ OSCache 2.0.1 (http://www.opensymphony.com/oscache/) - * If you want to use advanced logging you'll need: + * If you want to use advanced logging you'll need one or both of the following: + Commons Logging(http://jakarta.apache.org/commons/) Log4J 1.2.8(http://logging.apache.org/log4j/docs/) * If you want to use legacy (1.x) DAO framework or SQL Map APIs you'll need:
svn commit: r219446 - in /ibatis/trunk/java/mapper/mapper2/lib: ./ empty.txt
Author: cbegin Date: Sun Jul 17 19:57:12 2005 New Revision: 219446 URL: http://svn.apache.org/viewcvs?rev=219446&view=rev Log: updated jar-dependencies.txt Added: ibatis/trunk/java/mapper/mapper2/lib/ ibatis/trunk/java/mapper/mapper2/lib/empty.txt Added: ibatis/trunk/java/mapper/mapper2/lib/empty.txt URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/lib/empty.txt?rev=219446&view=auto == --- ibatis/trunk/java/mapper/mapper2/lib/empty.txt (added) +++ ibatis/trunk/java/mapper/mapper2/lib/empty.txt Sun Jul 17 19:57:12 2005 @@ -0,0 +1,3 @@ +iBATIS no longer _requires_ any 3rd party JARS. All 3rd party dependencies are completely optional. + +See jar-dependencies.txt included with this distribution for information about 3rd party dependencies. \ No newline at end of file
svn commit: r219447 - /ibatis/trunk/java/mapper/mapper2/build/version.properties
Author: cbegin Date: Sun Jul 17 20:01:40 2005 New Revision: 219447 URL: http://svn.apache.org/viewcvs?rev=219447&view=rev Log: build version Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=219447&r1=219446&r2=219447&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/version.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/version.properties Sun Jul 17 20:01:40 2005 @@ -1,5 +1,5 @@ #Build version info -#Sun Jul 17 20:38:52 MDT 2005 +#Sun Jul 17 20:58:12 MDT 2005 version=2.1.5 -buildDate=2005/07/17 20\:38 -buildNum=581 +buildDate=2005/07/17 20\:58 +buildNum=582
svn commit: r219451 - in /ibatis/trunk: java/mapper/mapper2/build/version.properties site/pages/archive.vm site/pages/downloads.vm site/pages/events.vm site/pages/index.vm site/pages/newsbyte.vm
Author: cbegin Date: Sun Jul 17 20:57:58 2005 New Revision: 219451 URL: http://svn.apache.org/viewcvs?rev=219451&view=rev Log: much needed update to the website Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties ibatis/trunk/site/pages/archive.vm ibatis/trunk/site/pages/downloads.vm ibatis/trunk/site/pages/events.vm ibatis/trunk/site/pages/index.vm ibatis/trunk/site/pages/newsbyte.vm Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=219451&r1=219450&r2=219451&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/version.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/version.properties Sun Jul 17 20:57:58 2005 @@ -1,5 +1,5 @@ #Build version info -#Sun Jul 17 20:58:12 MDT 2005 +#Sun Jul 17 21:31:13 MDT 2005 version=2.1.5 -buildDate=2005/07/17 20\:58 -buildNum=582 +buildDate=2005/07/17 21\:31 +buildNum=583 Modified: ibatis/trunk/site/pages/archive.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/archive.vm?rev=219451&r1=219450&r2=219451&view=diff == --- ibatis/trunk/site/pages/archive.vm (original) +++ ibatis/trunk/site/pages/archive.vm Sun Jul 17 20:57:58 2005 @@ -6,7 +6,123 @@ News Archive - + +June 1: .NET DataMapper 1.2 and DataAccess 1.6 Alpha! + +Yes, after 5 long and productive months, the new Alpha releases of the +DataMapper and DataAccess frameworks are ready! We also have updated +documentation and the latest source available for download. + +Here's a list of just some of the changes for the +DataMapper framework: + + + A new DomSqlMapBuilder configuration API (accepts + Stream, Uri, FileInfo, and XmlDocument). + + Greatly improved logging and exception + handling! + + New Custom Type Handler support for parameters and + results! + + Class inheritance mappings using + <discriminator> and + <submap> elements. + + Automatic SqlMap.config document validation with an updated + schema. + + Optional Data Map (SqlMap) document validation using a new + <setting validateSqlMap="true"/> element. + + Added Support for multiple "properties.config" files. + + Improved Oracle and PostgreSQL support! + + Updated the use of Castle.DynamicProxy to v1.1.0. + + And bug fixes too! + + +On the DataAccess side, the framework has seen these +updates: + + + New <daoSessionHandler> configuration syntax + (prior syntax is still supported). + + A new DomDaoManagerBuilder configuration API. + + Support for multiple "properties.config" files. + + The ability to define property "keys" and "values" in your + dao.config file. + + +Download the iBATIS.NET DataMapper 1.2 +and DataAccess 1.6 Alphas now! + +May 22: .NET DataMapper 1.1 and DataAccess 1.5 General +Availability! + +Some of the new features for the DataMapper framework +include: + + + A new CLR "type" attribute for parameterMaps and + resultMaps. + + New "extends" attribute for parameterMaps, + resultMaps, and statements. + + Support for Distributed Transactions using a + TransactionScope object in IBatisNet.Common. + + Added support for embedded resources for your + properties file and SqlMaps. + + +Some of the new features for the DataAccess framework +include: + + + New NHibernate support. + + Support for Distributed Transactions using a + TransactionScope object in IBatisNet.Common. + + The use of Castle.DynamicProxy v1.0.3. + + +These releases include updated documentation for both the DataMapper +and DataAccess frameworks. Download +iBATIS.NET DataMapper 1.1 and DataAccess 1.5 + +May 16: iBATIS for Java 2.1.0 Released! + +This release includes some cool new features like <discriminator> +and <subMap> tags for better support of class inheritance. There's +an example of how to use these new tags http://svn.apache.org/repos/asf/incubator/ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/Documents.xml"; target="_new">here. +Normally 2.x minor releases are feature releases, but a number of bug +fixes and improvements have made their way into 2.1.0 as well. Download 2.1.0 + +May 9: New Website + +Welcome to our new website. It's now more focused on the Apache iBATIS +tools like Data Mapper and Data Access Objects, and the example Pet Store +applications. If there's something missing that you found
svn commit: r239985 - in /ibatis/trunk/site: pages/events.vm pages/index.vm template/ruby.gif
Author: cbegin Date: Wed Aug 24 20:29:50 2005 New Revision: 239985 URL: http://svn.apache.org/viewcvs?rev=239985&view=rev Log: (empty) Added: ibatis/trunk/site/template/ruby.gif (with props) Modified: ibatis/trunk/site/pages/events.vm ibatis/trunk/site/pages/index.vm Modified: ibatis/trunk/site/pages/events.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/events.vm?rev=239985&r1=239984&r2=239985&view=diff == --- ibatis/trunk/site/pages/events.vm (original) +++ ibatis/trunk/site/pages/events.vm Wed Aug 24 20:29:50 2005 @@ -8,13 +8,7 @@ December 10, 2005 - San Diego, California, USA ApacheCon US 2005 -We're not confirmed for it, but you should go anyway! ;-) -Visit the http://apachecon.com/2005/US/"; target="_new">ApacheCon homepage for more information. - - -Sept 30, 2005 - Calgary, Alberta, Canada -Western Canada Java Software Symposium - + Clinton will discuss Dealing with Enterprise Database Challenges In Object Oriented Applications. This presentation will focus on database challenges that object oriented developers often face in an enterprise environment. Object Relational Mapping (ORM) tools are not ideal for all databases, and @@ -22,6 +16,13 @@ to achieve similar advantages as provided by an ORM tool, but without some of the complications that can arise from an object relational mapping approach. The iBATIS Data Mapping framework is a popular alternative to ORM tools, while being a complementary addition to any architecture. +Visit the http://apachecon.com/2005/US/"; target="_new">ApacheCon homepage for more information. + + +November 11th, 2005 - Denver, Colorado, USA +Rocky Mountain Software Symposium + +Not confirmed yet, but yes, you should go anyway! Visit the http://www.nofluffjuststuff.com/"; target="_new">No Fluff Just Stuff homepage for more information. @@ -36,6 +37,19 @@ alternative to ORM tools, while being a complementary addition to any architecture. Visit the http://javainaction.techtarget.com/"; target="_new">Java In Action homepage for more information. + +Sept 30, 2005 - Calgary, Alberta, Canada +Western Canada Java Software Symposium + +Unfortunately I can't attend this conference as I had planned. But you should go anyway! ;-) Super high concentration of talent. +Visit the http://www.nofluffjuststuff.com/"; target="_new">No Fluff Just Stuff homepage for more information. + + +Sept 8, 2005 - Detroit, Minnesota, USA +Western Canada Java Software Symposium +Antony Joseph will be presenting 'Java persistence using iBATIS' at the Detroit +Java User Group meeting. The meeting is free and open to the public. +See http://www.detroitjug.org"; target="_new"> http://www.detroitjug.org for more details. June 23, 2005 - Milan SUN Microsystems Java Conference Modified: ibatis/trunk/site/pages/index.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/index.vm?rev=239985&r1=239984&r2=239985&view=diff == --- ibatis/trunk/site/pages/index.vm (original) +++ ibatis/trunk/site/pages/index.vm Wed Aug 24 20:29:50 2005 @@ -30,6 +30,28 @@ News + iBATIS for Ruby + (August 25, 2005) It's official. iBATIS is no longer a simple tool or framework. It is a genuine + approach to integrating object oriented applications and relational databases. We could have said that + when the .NET version was released, but now we MUST say it. We're very excited to be merging with a + project headed up by Jon Tirsen, a friend of mine and a fellow ThoughtWorker. He's ported and innovated + iBATIS for the Ruby language, which we're all very excited about. In the next few weeks we'll be + integrating iBATIS for Ruby into our infrastructure, and of course, Jon will become one of our valuable + team members. + + Developers, Developers, Developers... + (August 24, 2005) What a crazy month. Everyone has been so busy over the summer! But despite + our schedules, we've made some amazing progress. First and foremost, let's introduce our new + committers. The following people have been voted in as committers and are currently in the process + of getting access to the iBATIS resources. + + +Sven Boden +Nathan Maves +Jeff Butler +Brice Ruth + + iBATIS for Java 2.1.5 Released (July 17, 2005) We've released a maintenance release, with a few bonuses as well. The most notable changes are: 1) iBATIS no longer depends on commons logging, and 2) the entity resolvers Added: ibatis/trunk/site/template/ruby.gif URL: http://svn.apache.org/viewcvs/ibatis/trunk
svn commit: r264698 - /ibatis/trunk/site/pages/team.vm
Author: cbegin Date: Mon Aug 29 21:15:14 2005 New Revision: 264698 URL: http://svn.apache.org/viewcvs?rev=264698&view=rev Log: Updated team page and fixed spring link Modified: ibatis/trunk/site/pages/team.vm Modified: ibatis/trunk/site/pages/team.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/team.vm?rev=264698&r1=264697&r2=264698&view=diff == --- ibatis/trunk/site/pages/team.vm (original) +++ ibatis/trunk/site/pages/team.vm Mon Aug 29 21:15:14 2005 @@ -15,6 +15,10 @@ Larry Meadors Roberto Rabe Ron Grabowski + Sven Boden + Brice Ruth + Jeff Butler + Nathan Maves Contributors @@ -22,16 +26,13 @@ the iBATIS community that makes everyone's experience easier and more fun. Kris Jenkins - Nathan Maves Fabrizio Gianneschi - Sven Boden - Brice Ruth Thanks to... - The Spring Team - For integration, improvements and involvement over the years. - http://www.spring.org + The Spring Team - For integration, improvements and involvement over the years. - http://www.springframework.org The Hibernate Team - For being good neighbours in a complex problem space. - http://www.hibernate.org All of the authors of the articles, feedback and shared experiences that appear on our wiki
svn commit: r290047 - /ibatis/trunk/site/pages/events.vm
Author: cbegin Date: Sun Sep 18 19:52:09 2005 New Revision: 290047 URL: http://svn.apache.org/viewcvs?rev=290047&view=rev Log: updated events Modified: ibatis/trunk/site/pages/events.vm Modified: ibatis/trunk/site/pages/events.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/events.vm?rev=290047&r1=290046&r2=290047&view=diff == --- ibatis/trunk/site/pages/events.vm (original) +++ ibatis/trunk/site/pages/events.vm Sun Sep 18 19:52:09 2005 @@ -8,7 +8,6 @@ December 10, 2005 - San Diego, California, USA ApacheCon US 2005 - Clinton will discuss Dealing with Enterprise Database Challenges In Object Oriented Applications. This presentation will focus on database challenges that object oriented developers often face in an enterprise environment. Object Relational Mapping (ORM) tools are not ideal for all databases, and @@ -22,7 +21,13 @@ November 11th, 2005 - Denver, Colorado, USA Rocky Mountain Software Symposium -Not confirmed yet, but yes, you should go anyway! +Clinton will discuss Dealing with Enterprise Database Challenges In Object Oriented Applications. +This presentation will focus on database challenges that object oriented developers often face in an +enterprise environment. Object Relational Mapping (ORM) tools are not ideal for all databases, and +therefore alternatives must be sought. In this discussion, we'll focus on using the iBATIS Data Mapper +to achieve similar advantages as provided by an ORM tool, but without some of the complications that +can arise from an object relational mapping approach. The iBATIS Data Mapping framework is a popular +alternative to ORM tools, while being a complementary addition to any architecture. Visit the http://www.nofluffjuststuff.com/"; target="_new">No Fluff Just Stuff homepage for more information. @@ -41,15 +46,18 @@ Sept 30, 2005 - Calgary, Alberta, Canada Western Canada Java Software Symposium -Unfortunately I can't attend this conference as I had planned. But you should go anyway! ;-) Super high concentration of talent. +Unfortunately I can't attend this conference as I had planned. But you should go anyway! ;-) Super high concentration +of talent. I will be at the Denver show though. Visit the http://www.nofluffjuststuff.com/"; target="_new">No Fluff Just Stuff homepage for more information. Sept 8, 2005 - Detroit, Minnesota, USA -Western Canada Java Software Symposium +Detroit Java User Group + Antony Joseph will be presenting 'Java persistence using iBATIS' at the Detroit -Java User Group meeting. The meeting is free and open to the public. +Java User Group meeting. The meeting is free and open to the public. See http://www.detroitjug.org"; target="_new"> http://www.detroitjug.org for more details. + June 23, 2005 - Milan SUN Microsystems Java Conference
svn commit: r293192 - /ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java
Author: cbegin Date: Sun Oct 2 17:53:23 2005 New Revision: 293192 URL: http://svn.apache.org/viewcvs?rev=293192&view=rev Log: Fixed IBATIS-198 Call "getDataSource()" of SqlMapClientImpl will cause application to hang Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java?rev=293192&r1=293191&r2=293192&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java Sun Oct 2 17:53:23 2005 @@ -146,7 +146,7 @@ } public DataSource getDataSource() { -return getLocalSqlMapSession().getDataSource(); +return delegate.getDataSource(); } public MappedStatement getMappedStatement(String id) {
svn commit: r293195 - in /ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type: BlobTypeHandlerCallback.java ClobTypeHandlerCallback.java
Author: cbegin Date: Sun Oct 2 18:06:19 2005 New Revision: 293195 URL: http://svn.apache.org/viewcvs?rev=293195&view=rev Log: Fixed IBATIS-191 operation(insert and update) Oracle's(OCI) CLOB and BLOB fail, CLOB will close tomcat, BLOB will miss any DATA Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/BlobTypeHandlerCallback.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/ClobTypeHandlerCallback.java Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/BlobTypeHandlerCallback.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/BlobTypeHandlerCallback.java?rev=293195&r1=293194&r2=293195&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/BlobTypeHandlerCallback.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/BlobTypeHandlerCallback.java Sun Oct 2 18:06:19 2005 @@ -21,6 +21,7 @@ import java.sql.Blob; import java.sql.SQLException; +import java.io.ByteArrayInputStream; public class BlobTypeHandlerCallback implements TypeHandlerCallback { @@ -28,7 +29,7 @@ Blob blob = getter.getBlob(); byte[] returnValue = null; if (null != blob) { - returnValue = blob.getBytes(1, (int) blob.length()); + returnValue = blob.getBytes(0, (int) blob.length()); } else { returnValue = null; } @@ -39,7 +40,8 @@ throws SQLException { if (null != parameter) { byte[] bytes = (byte[]) parameter; - setter.setBytes(bytes); + ByteArrayInputStream bis=new ByteArrayInputStream(bytes); + setter.setBinaryStream(bis,(int)(bytes.length)); } } Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/ClobTypeHandlerCallback.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/ClobTypeHandlerCallback.java?rev=293195&r1=293194&r2=293195&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/ClobTypeHandlerCallback.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/ClobTypeHandlerCallback.java Sun Oct 2 18:06:19 2005 @@ -42,7 +42,6 @@ } else { setter.setString(null); } -setter.setString((String) parameter); } public Object valueOf(String s) {
svn commit: r293198 - in /ibatis/trunk/java/mapper/mapper2: build/version.properties src/com/ibatis/sqlmap/engine/builder/xml/SqlMapConfigParser.java test/com/ibatis/sqlmap/maps/SqlMapConfig.properties test/com/ibatis/sqlmap/maps/SqlMapConfig.xml
Author: cbegin Date: Sun Oct 2 18:24:44 2005 New Revision: 293198 URL: http://svn.apache.org/viewcvs?rev=293198&view=rev Log: Fixed IBATIS 196 can't use dynamic replace data-source-type over IBATIS ver 2.0.9 library Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapConfigParser.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/SqlMapConfig.properties ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/SqlMapConfig.xml Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=293198&r1=293197&r2=293198&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/version.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/version.properties Sun Oct 2 18:24:44 2005 @@ -1,5 +1,5 @@ #Build version info -#Sun Jul 17 21:31:13 MDT 2005 +#Sun Oct 02 19:06:43 MDT 2005 version=2.1.5 -buildDate=2005/07/17 21\:31 -buildNum=583 +buildDate=2005/10/02 19\:06 +buildNum=584 Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapConfigParser.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapConfigParser.java?rev=293198&r1=293197&r2=293198&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapConfigParser.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapConfigParser.java Sun Oct 2 18:24:44 2005 @@ -289,7 +289,7 @@ public void process(Node node) throws Exception { vars.errorCtx.setActivity("configuring the data source"); -Properties attributes = NodeletUtils.parseAttributes(node); +Properties attributes = NodeletUtils.parseAttributes(node, vars.properties); String type = attributes.getProperty("type"); type = vars.typeHandlerFactory.resolveAlias(type); Modified: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/SqlMapConfig.properties URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/SqlMapConfig.properties?rev=293198&r1=293197&r2=293198&view=diff == --- ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/SqlMapConfig.properties (original) +++ ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/SqlMapConfig.properties Sun Oct 2 18:24:44 2005 @@ -4,4 +4,4 @@ password= SqlMapPath=com/ibatis/sqlmap/maps - +dataSourceType=SIMPLE Modified: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/SqlMapConfig.xml URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/SqlMapConfig.xml?rev=293198&r1=293197&r2=293198&view=diff == --- ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/SqlMapConfig.xml (original) +++ ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/SqlMapConfig.xml Sun Oct 2 18:24:44 2005 @@ -27,7 +27,7 @@ - +
svn commit: r293201 - /ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java
Author: cbegin Date: Sun Oct 2 18:43:20 2005 New Revision: 293201 URL: http://svn.apache.org/viewcvs?rev=293201&view=rev Log: Fixed IBATIS-173 Incorrect resultset retrieve when calling stored procedure Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java?rev=293201&r1=293200&r2=293201&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java Sun Oct 2 18:43:20 2005 @@ -41,7 +41,7 @@ * Constant to let us know not to skip anything */ public static final int NO_SKIPPED_RESULTS = 0; - + /** * Constant to let us know to include all records */ @@ -53,14 +53,14 @@ /** * Execute an update - * + * * @param request - the request scope * @param conn - the database connection * @param sql - the sql statement to execute * @param parameters - the parameters for the sql statement - * + * * @return - the number of records changed - * + * * @throws SQLException - if the update fails */ public int executeUpdate(RequestScope request, Connection conn, String sql, Object[] parameters) @@ -93,12 +93,12 @@ /** * Adds a statement to a batch - * + * * @param request - the request scope * @param conn - the database connection * @param sql - the sql statement * @param parameters - the parameters for the statement - * + * * @throws SQLException - if the statement fails */ public void addBatch(RequestScope request, Connection conn, String sql, Object[] parameters) @@ -113,11 +113,11 @@ /** * Execute a batch of statements - * + * * @param session - the session scope - * + * * @return - the number of rows impacted by the batch - * + * * @throws SQLException - if a statement fails */ public int executeBatch(SessionScope session) @@ -136,7 +136,7 @@ /** * Long form of the method to execute a query - * + * * @param request - the request scope * @param conn - the database connection * @param sql - the SQL statement to execute @@ -144,7 +144,7 @@ * @param skipResults - the number of results to skip * @param maxResults - the maximum number of results to return * @param callback - the row handler for the query - * + * * @throws SQLException - if the query fails */ public void executeQuery(RequestScope request, Connection conn, String sql, Object[] parameters, @@ -178,7 +178,7 @@ errorContext.setMoreInfo("Check the statement (query failed)."); ps.execute(); - rs = ps.getResultSet(); + rs = getFirstResultSet(ps); errorContext.setMoreInfo("Check the results (failed to retrieve results)."); handleResults(request, rs, skipResults, maxResults, callback); @@ -198,14 +198,14 @@ /** * Execute a stored procedure that updates data - * + * * @param request - the request scope * @param conn - the database connection * @param sql - the SQL to call the procedure * @param parameters - the parameters for the procedure - * + * * @return - the rows impacted by the procedure - * + * * @throws SQLException - if the procedure fails */ public int executeUpdateProcedure(RequestScope request, Connection conn, String sql, Object[] parameters) @@ -247,7 +247,7 @@ /** * Execute a stored procedure - * + * * @param request - the request scope * @param conn - the database connection * @param sql - the sql to call the procedure @@ -255,7 +255,7 @@ * @param skipResults - the number of results to skip * @param maxResults - the maximum number of results to return * @param callback - a row handler for processing the results - * + * * @throws SQLException - if the procedure fails */ public void executeQueryProcedure(RequestScope request, Connection conn, String sql, Object[] parameters, @@ -285,7 +285,7 @@ errorContext.setMoreInfo("Check the statement (update procedure failed)."); cs.execute(); - rs = cs.getResultSet(); + rs = getFirstResultSet(cs); errorContext.setMoreInfo("Check the results (failed to retrieve results)."); handleResults(request, rs, skipResults, maxResults, callback); @@ -306,9 +306,29 @@ } + private ResultSet getFirstResultSet(Statement stmt) throws SQLException { +ResultSet rs = null; +boolean hasMoreResults = true; +while (hasMoreResults) { + rs = stmt
svn commit: r293202 - /ibatis/trunk/java/mapper/mapper2/build/lib/
Author: cbegin Date: Sun Oct 2 18:46:49 2005 New Revision: 293202 URL: http://svn.apache.org/viewcvs?rev=293202&view=rev Log: (empty) Removed: ibatis/trunk/java/mapper/mapper2/build/lib/
svn commit: r293204 - in /ibatis/trunk/java/mapper/mapper2/src/com/ibatis: dao/engine/builder/xml/DaoClasspathEntityResolver.java sqlmap/engine/builder/xml/SqlMapClasspathEntityResolver.java
Author: cbegin Date: Sun Oct 2 19:03:18 2005 New Revision: 293204 URL: http://svn.apache.org/viewcvs?rev=293204&view=rev Log: Fixed IBATIS-185 SqlMapClasspathEntityResolver - Offline public ID resolution value ignored Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/dao/engine/builder/xml/DaoClasspathEntityResolver.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapClasspathEntityResolver.java Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/dao/engine/builder/xml/DaoClasspathEntityResolver.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/dao/engine/builder/xml/DaoClasspathEntityResolver.java?rev=293204&r1=293203&r2=293204&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/dao/engine/builder/xml/DaoClasspathEntityResolver.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/dao/engine/builder/xml/DaoClasspathEntityResolver.java Sun Oct 2 19:03:18 2005 @@ -53,20 +53,28 @@ try { String path = (String) doctypeMap.get(publicId); - path = (String) doctypeMap.get(systemId); - if (path != null) { -InputStream in = null; -try { - in = Resources.getResourceAsStream(path); - source = new InputSource(in); -} catch (IOException e) { - // ignore, null is ok -} + source = getInputSource(path, source); + if (source == null) { +path = (String) doctypeMap.get(systemId); +source = getInputSource(path, source); } } catch (Exception e) { throw new SAXException(e.toString()); } +return source; + } + + private InputSource getInputSource(String path, InputSource source) { +if (path != null) { + InputStream in = null; + try { +in = Resources.getResourceAsStream(path); +source = new InputSource(in); + } catch (IOException e) { +// ignore, null is ok + } +} return source; } Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapClasspathEntityResolver.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapClasspathEntityResolver.java?rev=293204&r1=293203&r2=293204&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapClasspathEntityResolver.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapClasspathEntityResolver.java Sun Oct 2 19:03:18 2005 @@ -60,18 +60,26 @@ InputSource source = null; try { String path = (String) doctypeMap.get(publicId); - path = (String) doctypeMap.get(systemId); - if (path != null) { -InputStream in = null; -try { - in = Resources.getResourceAsStream(path); - source = new InputSource(in); -} catch (IOException e) { - // ignore, null is ok -} + source = getInputSource(path, source); + if (source == null) { +path = (String) doctypeMap.get(systemId); +source = getInputSource(path, source); } } catch (Exception e) { throw new SAXException(e.toString()); +} +return source; + } + + private InputSource getInputSource(String path, InputSource source) { +if (path != null) { + InputStream in = null; + try { +in = Resources.getResourceAsStream(path); +source = new InputSource(in); + } catch (IOException e) { +// ignore, null is ok + } } return source; }
svn commit: r293208 - /ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/ResultSetLogProxy.java
Author: cbegin Date: Sun Oct 2 19:17:49 2005 New Revision: 293208 URL: http://svn.apache.org/viewcvs?rev=293208&view=rev Log: Fixed IBATIS-175 ResultSetLogProxy doesn't log the result properly Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/ResultSetLogProxy.java Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/ResultSetLogProxy.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/ResultSetLogProxy.java?rev=293208&r1=293207&r2=293208&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/ResultSetLogProxy.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/logging/ResultSetLogProxy.java Sun Oct 2 19:17:49 2005 @@ -52,7 +52,7 @@ // } else { //setColumn(params[0], rs.getObject(((Integer) params[0]).intValue())); } - } else if ("next".equals(method.getName())) { + } else if ("next".equals(method.getName()) || "close".equals(method.getName())) { String s = getValueString(); if (!"[]".equals(s)) { if (first) {
svn commit: r293211 - /ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/AutoResultMap.java
Author: cbegin Date: Sun Oct 2 19:29:28 2005 New Revision: 293211 URL: http://svn.apache.org/viewcvs?rev=293211&view=rev Log: Fixed IBATIS-172 implicit mapping fails on nested column aliases Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/AutoResultMap.java Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/AutoResultMap.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/AutoResultMap.java?rev=293211&r1=293210&r2=293211&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/AutoResultMap.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/AutoResultMap.java Sun Oct 2 19:29:28 2005 @@ -16,6 +16,8 @@ package com.ibatis.sqlmap.engine.mapping.result; import com.ibatis.common.beans.ClassInfo; +import com.ibatis.common.beans.Probe; +import com.ibatis.common.beans.ProbeFactory; import com.ibatis.common.exception.NestedRuntimeException; import com.ibatis.sqlmap.client.SqlMapException; import com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate; @@ -83,17 +85,26 @@ String columnName = rsmd.getColumnLabel(i + 1); String upperColumnName = columnName.toUpperCase(); String matchedProp = (String) propertyMap.get(upperColumnName); -if (matchedProp != null) { +Class type = null; +if (matchedProp == null) { + Probe p = ProbeFactory.getProbe(this.getResultClass()); + try { +type = p.getPropertyTypeForSetter(this.getResultClass(), columnName); + } catch (Exception e) { +//TODO - add logging to this class? + } +} else { + type = classInfo.getSetterType(matchedProp); +} +if (type != null || matchedProp != null) { BasicResultMapping resultMapping = new BasicResultMapping(); - resultMapping.setPropertyName(matchedProp); + resultMapping.setPropertyName((matchedProp != null ? matchedProp : columnName)); resultMapping.setColumnName(columnName); resultMapping.setColumnIndex(i + 1); - Class type = classInfo.getSetterType(matchedProp); - resultMapping.setTypeHandler(getDelegate().getTypeHandlerFactory().getTypeHandler(type)); + resultMapping.setTypeHandler(getDelegate().getTypeHandlerFactory().getTypeHandler(type)); //map SQL to JDBC type resultMappingList.add(resultMapping); } } - setResultMappingList(resultMappingList); } catch (SQLException e) {
svn commit: r293216 - /ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-2.dtd
Author: cbegin Date: Sun Oct 2 19:38:23 2005 New Revision: 293216 URL: http://svn.apache.org/viewcvs?rev=293216&view=rev Log: fixed IBATIS-195 Sqlmap DTD: include tag not permitted in selectKey element Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-2.dtd Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-2.dtd URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-2.dtd?rev=293216&r1=293215&r2=293216&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-2.dtd (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-2.dtd Sun Oct 2 19:38:23 2005 @@ -147,7 +147,7 @@ parameterClass CDATA #IMPLIED > - +
svn commit: r293518 - /ibatis/trunk/java/mapper/mapper2/doc/to-do.txt
Author: cbegin Date: Mon Oct 3 21:10:33 2005 New Revision: 293518 URL: http://svn.apache.org/viewcvs?rev=293518&view=rev Log: moved to-do to wiki Removed: ibatis/trunk/java/mapper/mapper2/doc/to-do.txt
svn commit: r293519 - in /ibatis/trunk/java/mapper/mapper2/build: build.xml version.properties
Author: cbegin Date: Mon Oct 3 21:12:53 2005 New Revision: 293519 URL: http://svn.apache.org/viewcvs?rev=293519&view=rev Log: reorganized deployment directory structure Modified: ibatis/trunk/java/mapper/mapper2/build/build.xml ibatis/trunk/java/mapper/mapper2/build/version.properties Modified: ibatis/trunk/java/mapper/mapper2/build/build.xml URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/build/build.xml?rev=293519&r1=293518&r2=293519&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/build.xml (original) +++ ibatis/trunk/java/mapper/mapper2/build/build.xml Mon Oct 3 21:12:53 2005 @@ -70,6 +70,9 @@ + + + @@ -223,7 +226,7 @@ - + @@ -243,7 +246,7 @@ - + @@ -263,7 +266,7 @@ - + @@ -304,7 +307,7 @@ - + @@ -315,10 +318,10 @@ - + - + Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=293519&r1=293518&r2=293519&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/version.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/version.properties Mon Oct 3 21:12:53 2005 @@ -1,5 +1,5 @@ #Build version info -#Sun Oct 02 19:06:43 MDT 2005 -version=2.1.5 -buildDate=2005/10/02 19\:06 -buildNum=584 +#Mon Oct 03 21:57:43 MDT 2005 +version=2.2.0 +buildDate=2005/10/03 21\:57 +buildNum=586
svn commit: r307446 - /ibatis/trunk/site/pages/newsbyte.vm
Author: cbegin Date: Sun Oct 9 08:47:01 2005 New Revision: 307446 URL: http://svn.apache.org/viewcvs?rev=307446&view=rev Log: updated newsbyte Modified: ibatis/trunk/site/pages/newsbyte.vm Modified: ibatis/trunk/site/pages/newsbyte.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/newsbyte.vm?rev=307446&r1=307445&r2=307446&view=diff == --- ibatis/trunk/site/pages/newsbyte.vm (original) +++ ibatis/trunk/site/pages/newsbyte.vm Sun Oct 9 08:47:01 2005 @@ -1,3 +1,3 @@ -Upcoming iBATIS Event: September 30th, 2005Western Canada Java Software Symposium +Upcoming iBATIS Event: November 11th, 2005 - Denver, Colorado, USARocky Mountain Software Symposium
svn commit: r312667 - in /ibatis/trunk/site: pages/newsbyte.vm template/ac2005us_banner_468x60.jpg
Author: cbegin Date: Mon Oct 10 08:28:29 2005 New Revision: 312667 URL: http://svn.apache.org/viewcvs?rev=312667&view=rev Log: added apachecon banner to newsbyte.vm Added: ibatis/trunk/site/template/ac2005us_banner_468x60.jpg (with props) Modified: ibatis/trunk/site/pages/newsbyte.vm Modified: ibatis/trunk/site/pages/newsbyte.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/newsbyte.vm?rev=312667&r1=312666&r2=312667&view=diff == --- ibatis/trunk/site/pages/newsbyte.vm (original) +++ ibatis/trunk/site/pages/newsbyte.vm Mon Oct 10 08:28:29 2005 @@ -1,3 +1,3 @@ -Upcoming iBATIS Event: November 11th, 2005 - Denver, Colorado, USARocky Mountain Software Symposium +http://www.apachecon.com";> Added: ibatis/trunk/site/template/ac2005us_banner_468x60.jpg URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/template/ac2005us_banner_468x60.jpg?rev=312667&view=auto == Binary file - no diff available. Propchange: ibatis/trunk/site/template/ac2005us_banner_468x60.jpg -- svn:mime-type = application/octet-stream
svn commit: r312734 - /ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/BlobTypeHandlerCallback.java
Author: cbegin Date: Mon Oct 10 13:35:50 2005 New Revision: 312734 URL: http://svn.apache.org/viewcvs?rev=312734&view=rev Log: (empty) Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/BlobTypeHandlerCallback.java Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/BlobTypeHandlerCallback.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/BlobTypeHandlerCallback.java?rev=312734&r1=312733&r2=312734&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/BlobTypeHandlerCallback.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/BlobTypeHandlerCallback.java Mon Oct 10 13:35:50 2005 @@ -29,7 +29,7 @@ Blob blob = getter.getBlob(); byte[] returnValue = null; if (null != blob) { - returnValue = blob.getBytes(0, (int) blob.length()); + returnValue = blob.getBytes(1, (int) blob.length()); } else { returnValue = null; }
svn commit: r331030 - /ibatis/trunk/site/pages/newsbyte.vm
Author: cbegin Date: Sat Nov 5 12:14:32 2005 New Revision: 331030 URL: http://svn.apache.org/viewcvs?rev=331030&view=rev Log: apachecon newsbyte Modified: ibatis/trunk/site/pages/newsbyte.vm Modified: ibatis/trunk/site/pages/newsbyte.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/newsbyte.vm?rev=331030&r1=331029&r2=331030&view=diff == --- ibatis/trunk/site/pages/newsbyte.vm (original) +++ ibatis/trunk/site/pages/newsbyte.vm Sat Nov 5 12:14:32 2005 @@ -1,3 +1,3 @@ -http://www.apachecon.com";> +http://www.apachecon.com";>
svn commit: r331088 - in /ibatis/trunk/java: jpetstore/jpetstore4/src/org/apache/struts/beanaction/ jpetstore/jpetstore4/src/org/apache/struts/beanaction/httpmap/ mapper/mapper2/ mapper/mapper2/build/
Author: cbegin Date: Sat Nov 5 22:46:31 2005 New Revision: 331088 URL: http://svn.apache.org/viewcvs?rev=331088&view=rev Log: Updated BeanAction library in JP4, incremented ibatis version Removed: ibatis/trunk/java/mapper/mapper2/FREEZEMARKER Modified: ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/ActionContext.java ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/ActionInterceptor.java ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/ActionInvoker.java ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/BaseBean.java ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/BeanAction.java ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/BeanActionException.java ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/DefaultActionInterceptor.java ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/httpmap/ApplicationMap.java ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/httpmap/BaseHttpMap.java ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/httpmap/CookieMap.java ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/httpmap/ParameterMap.java ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/httpmap/RequestMap.java ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/httpmap/SessionMap.java ibatis/trunk/java/mapper/mapper2/build/build.properties Modified: ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/ActionContext.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/ActionContext.java?rev=331088&r1=331087&r2=331088&view=diff == --- ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/ActionContext.java (original) +++ ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/ActionContext.java Sat Nov 5 22:46:31 2005 @@ -9,30 +9,41 @@ /** * The ActionContext class gives simplified, thread-safe access to + * * the request and response, as well as form parameters, request + * * attributes, session attributes, application attributes. Much + * * of this can be accopmplished without using the Struts or even + * * the Servlet API, therefore isolating your application from + * * presentation framework details. * + * + * * This class also provides facilities for simpler message and error + * * message handling. Although not as powerful as that provided by + * * Struts, it is great for simple applications that don't require + * * internationalization or the flexibility of resource bundles. * + * + * * Note: A more complete error and message handling API will be implemented. * + * + * * Date: Mar 9, 2004 9:57:39 PM * * @author Clinton Begin */ public class ActionContext { - private static final ThreadLocal localContext = new ThreadLocal(); - private HttpServletRequest request; private HttpServletResponse response; - private Map cookieMap; private Map parameterMap; private Map requestMap; @@ -110,3 +121,4 @@ return ctx; } } + Modified: ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/ActionInterceptor.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/ActionInterceptor.java?rev=331088&r1=331087&r2=331088&view=diff == --- ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/ActionInterceptor.java (original) +++ ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/ActionInterceptor.java Sat Nov 5 22:46:31 2005 @@ -1,7 +1,6 @@ package org.apache.struts.beanaction; public interface ActionInterceptor { - - String intercept (ActionInvoker invoker); - + String intercept(ActionInvoker invoker); } + Modified: ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/ActionInvoker.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/ActionInvoker.java?rev=331088&r1=331087&r2=331088&view=diff == --- ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/ActionInvoker.java (original) +++ ibatis/trunk/java/jpetstore/jpetstore4/src/org/apache/struts/beanaction/ActionInvoker.java Sat Nov 5 22:46:31 2005 @@ -3,7 +3,6 @@ import java.lang.reflect.Method; public class ActionInvoker { - private Method method; private BaseBean bean; @@ -12,12 +11,12 @@ thi
svn commit: r331089 - in /ibatis/trunk/java/mapper/mapper2: build/version.properties doc/release.txt doc/road-map.txt doc/wish-list.txt
Author: cbegin Date: Sat Nov 5 23:00:59 2005 New Revision: 331089 URL: http://svn.apache.org/viewcvs?rev=331089&view=rev Log: Build 2.1.6 Removed: ibatis/trunk/java/mapper/mapper2/doc/road-map.txt Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties ibatis/trunk/java/mapper/mapper2/doc/release.txt ibatis/trunk/java/mapper/mapper2/doc/wish-list.txt Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=331089&r1=331088&r2=331089&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/version.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/version.properties Sat Nov 5 23:00:59 2005 @@ -1,5 +1,5 @@ #Build version info -#Mon Oct 03 21:57:43 MDT 2005 -version=2.2.0 -buildDate=2005/10/03 21\:57 -buildNum=586 +#Sat Nov 05 23:58:55 MST 2005 +version=2.1.6 +buildDate=2005/11/05 23\:58 +buildNum=589 Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=331089&r1=331088&r2=331089&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original) +++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Sat Nov 5 23:00:59 2005 @@ -2,6 +2,25 @@ Build Number: @buildNum@ -- + 2.1.6 - Nov 5, 2005 +-- + + o Fixed IBATIS-198 Call "getDataSource()" of SqlMapClientImpl will cause application to hang + o Fixed IBATIS-179 Binaries on webpage use old Hibernate + o Fixed IBATIS-174 CacheModel does not support caching null results + o Fixed IBATIS-197 Call "getDataSource()" of SqlMapClientImpl will cause application to hang + o Fixed IBATIS-131 Fix use of list[]-notation in propertyattributes of dynamic tags + o Fixed IBATIS-173 Incorrect resultset retrieve when calling stored procedure + o Fixed IBATIS-194 No resultSet found when executing SQL Server stored procedure. + o Fixed IBATIS-196 can't use dynamic replace data-source-type over IBATIS ver 2.0.9 library + o Fixed IBATIS-191 operation(insert and update) Oracle's(OCI) CLOB and BLOB fail, CLOB will close tomcat, BLOB will miss any DATA + o Fixed IBATIS-193 Hidden jar dependicity for iBatis DBL 2.1.5 + o Fixed IBATIS-175 ResultSetLogProxy doesn't log the result properly + o Fixed IBATIS-195 Sqlmap DTD: include tag not permitted in selectKey element + o Fixed IBATIS-172 implicit mapping fails on nested column aliases + o Fixed IBATIS-185 SqlMapClasspathEntityResolver - Offline public ID resolution value ignored + +-- 2.1.5 - July 17, 2005 -- Modified: ibatis/trunk/java/mapper/mapper2/doc/wish-list.txt URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/doc/wish-list.txt?rev=331089&r1=331088&r2=331089&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/wish-list.txt (original) +++ ibatis/trunk/java/mapper/mapper2/doc/wish-list.txt Sat Nov 5 23:00:59 2005 @@ -10,6 +10,18 @@ - Optional results/exclusions (i.e. don't require all results) - Automap remaining columns, ignore missing columns - DAO lazy initialization option (quiet failure?) + - tag for CRUD methods (as per iBATIS.NET) + - Improved Dynamic SQL syntax/flexibility + - Pluggable SQL Scripting languages + Flexibility + - Constructor based results (not fields at this time) + - Field based results + - Improved configuration API and logging + - Flush cache at specific time (e.g. 22:30) + - Cache dependency on other cache (flush-on-dependant) + Database Support + - Save point support + - Add true autocommit support (mostly for SYBASE procs) Database Support - Trim whitespace from CHAR data Tools
svn commit: r331090 - /ibatis/tags/java_release_2.1.6-589/
Author: cbegin Date: Sat Nov 5 23:02:39 2005 New Revision: 331090 URL: http://svn.apache.org/viewcvs?rev=331090&view=rev Log: Created 2.1.6 release tag Added: ibatis/tags/java_release_2.1.6-589/ - copied from r331089, ibatis/trunk/
svn commit: r331091 - in /ibatis/trunk/site/pages: downloads.vm index.vm
Author: cbegin Date: Sat Nov 5 23:36:33 2005 New Revision: 331091 URL: http://svn.apache.org/viewcvs?rev=331091&view=rev Log: site updates for 2.1.6 Modified: ibatis/trunk/site/pages/downloads.vm ibatis/trunk/site/pages/index.vm Modified: ibatis/trunk/site/pages/downloads.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/downloads.vm?rev=331091&r1=331090&r2=331091&view=diff == --- ibatis/trunk/site/pages/downloads.vm (original) +++ ibatis/trunk/site/pages/downloads.vm Sat Nov 5 23:36:33 2005 @@ -7,44 +7,62 @@ iBATIS for Java +Releases - http://prdownloads.sourceforge.net/ibatisdb/iBATIS_DBL-2.1.5.582.zip?download";>Stable Binaries and Source (2.1.5 build 582) - http://prdownloads.sourceforge.net/ibatisjpetstore/iBATIS_JPetStore-4.0.5.zip?download";>JPetStore Example Application + http://cvs.apache.org/builds/ibatis/alpha/iBATIS_DBL-2.1.6.589.zip";>iBATIS Java 2.1.6 w/Binaries and Source (Apache Alpha) + http://prdownloads.sourceforge.net/ibatisdb/iBATIS_DBL-2.1.5.582.zip?download";>iBATIS Java 2.1.5 w/Binaries and Source (Apache General Availability) http://sourceforge.net/project/showfiles.php?group_id=61326";>Old Releases (at SourceForge) - + +Examples + + http://prdownloads.sourceforge.net/ibatisjpetstore/iBATIS_JPetStore-4.0.5.zip?download";>JPetStore Example Application + + +Documentation + + English + + http://prdownloads.sourceforge.net/ibatisnet/DevGuide.pdf?download";>Generic Developer Guide + http://prdownloads.sourceforge.net/ibatisdb/iBATIS-SqlMaps-2.pdf?download";>SQL Maps for Java, Developer Guide + http://prdownloads.sourceforge.net/ibatisdb/iBATIS-SqlMaps-2-Tutorial.pdf?download";>SQL Maps for Java, Tutorial + http://prdownloads.sourceforge.net/ibatisdb/iBATIS-DAO-2.pdf?download";>DAO for Java, Developer Guide + + + Chinese + + http://prdownloads.sourceforge.net/ibatisdb/iBATIS-SqlMaps-2_cn.pdf?download";>SQL Maps for Java, Developer Guide + http://prdownloads.sourceforge.net/ibatisdb/iBATIS-SqlMaps-2-Tutorial_cn.pdf?download";>SQL Maps for Java, Tutorial + + + + iBATIS.NET -General Availability +Releases - http://prdownloads.sourceforge.net/ibatisnet/DataMapper-bin-1.2.1.zip?download";>DataMapper 1.2.1 General Availability - http://prdownloads.sourceforge.net/ibatisnet/DataAccess-bin-1.6.1.zip?download";>DataAccess 1.6.1 General Availability + http://prdownloads.sourceforge.net/ibatisnet/DataMapper-bin-1.2.1.zip?download";>DataMapper 1.2.1 (Apache General Availability) + http://prdownloads.sourceforge.net/ibatisnet/DataAccess-bin-1.6.1.zip?download";>DataAccess 1.6.1 (Apache General Availability) http://prdownloads.sourceforge.net/ibatisnet/iBATIS-src-SVN-179390.zip?download";>Source Revision 179390 - http://prdownloads.sourceforge.net/ibatisnet/Tutorial-1.2.1.zip?download";>Tutorial 1.2.1 Docs and Source - http://prdownloads.sourceforge.net/ibatisnet/NPetshop-1.0.0.RC1.zip?download";>NPetShop Example Application http://sourceforge.net/project/showfiles.php?group_id=109704";>Old Releases (at SourceForge) +Examples + + http://prdownloads.sourceforge.net/ibatisnet/Tutorial-1.2.1.zip?download";>Tutorial 1.2.1 Docs and Source + http://prdownloads.sourceforge.net/ibatisnet/NPetshop-1.0.0.RC1.zip?download";>NPetShop Example Application + -Documentation +Documentation - English + English http://prdownloads.sourceforge.net/ibatisnet/DevGuide.pdf?download";>Generic Developer Guide - http://prdownloads.sourceforge.net/ibatisdb/iBATIS-SqlMaps-2.pdf?download";>SQL Maps for Java, Developer Guide - http://prdownloads.sourceforge.net/ibatisdb/iBATIS-SqlMaps-2-Tutorial.pdf?download";>SQL Maps for Java, Tutorial - http://prdownloads.sourceforge.net/ibatisdb/iBATIS-DAO-2.pdf?download";>DAO for Java, Developer Guide http://prdownloads.sourceforge.net/ibatisnet/Tutorial-1.2.1.zip?download";>Tutorial 1.2.1 for .NET Docs and Source http://prdownloads.sourceforge.net/ibatisnet/DataMapper-doc-1.2.1.zip?download";>DataMapper 1.2.1 for .NET, Docs Bundle (CHM, PDF, and SDK Help) http://prdownloads.sourceforge.net/ibatisnet/DataAccess-doc-1.6.1.zip?download";>DataAccess 1.6.1 for .NET, Docs Bundle (CHM, PDF, and SDK Help) http://ibatisnet.sourceforge.net/docs/en/sdkhelp/web/";>DataMapper 1.2.1 and DataAccess 1.6.1 Online SDK Help -
svn commit: r331092 - in /ibatis/trunk/site/pages: archive.vm index.vm
Author: cbegin Date: Sat Nov 5 23:51:28 2005 New Revision: 331092 URL: http://svn.apache.org/viewcvs?rev=331092&view=rev Log: moved some old news to the archive Modified: ibatis/trunk/site/pages/archive.vm ibatis/trunk/site/pages/index.vm Modified: ibatis/trunk/site/pages/archive.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/archive.vm?rev=331092&r1=331091&r2=331092&view=diff == --- ibatis/trunk/site/pages/archive.vm (original) +++ ibatis/trunk/site/pages/archive.vm Sat Nov 5 23:51:28 2005 @@ -7,6 +7,52 @@ News Archive + iBATIS for Ruby + (August 25, 2005) It's official. iBATIS is no longer a simple tool or framework. It is a genuine + approach to integrating object oriented applications and relational databases. We could have said that + when the .NET version was released, but now we MUST say it. We're very excited to be merging with a + project headed up by Jon Tirsen, a friend of mine and a fellow ThoughtWorker. He's ported and innovated + iBATIS for the Ruby language, which we're all very excited about. In the next few weeks we'll be + integrating iBATIS for Ruby into our infrastructure, and of course, Jon will become one of our valuable + team members. + + Developers, Developers, Developers... + (August 24, 2005) What a crazy month. Everyone has been so busy over the summer! But despite + our schedules, we've made some amazing progress. First and foremost, let's introduce our new + committers. The following people have been voted in as committers and are currently in the process + of getting access to the iBATIS resources. + + + Sven Boden + Nathan Maves + Jeff Butler + Brice Ruth + + + iBATIS for Java 2.1.5 Released + (July 17, 2005) We've released a maintenance release, with a few bonuses as well. The most + notable changes are: 1) iBATIS no longer depends on commons logging, and 2) the entity resolvers + are now smarter so that they should resolve DTDs without the network as long as you have + a correct XML DOCTYPE header. In addition to that, we've fixed a bunch of bugs including: + + + Fixed IBATIS-136 groupBy not carried forward to extended result maps + Fixed IBATIS-139 discriminator being applied to too many result maps (thanks Sven) + Fixed IBATIS-152, 149, 116 null result sets now handled properly by JDBC logging classes (thanks Sven) + Fixed IBATIS-146 consumes additional result sets before retrieving output params (JTDS fix) + Fixed IBATIS-130 parameter maps don't allow for complete TypeHandler implementations + Fixed IBATIS-148 fixed dynamic SQL in iterates + + Get iBATIS 2.1.5 from the Downloads page. + Note: This will be the last build deployed by SourceForge. + Future builds will be deployed using Apache infrastructure. + + + .NET DataMapper 1.2.1 and DataAccess 1.6.1 General Availability! + (June 29, 2005) The votes are in and both distributions are now tagged as GA! + Download iBATIS.NET DataMapper 1.2.1 + and DataAccess 1.6.1! + .NET DataMapper 1.2.1 and DataAccess 1.6.1 Beta! (June 10, 2005) Just a few updates for the binary distributions and documentation: Modified: ibatis/trunk/site/pages/index.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/index.vm?rev=331092&r1=331091&r2=331092&view=diff == --- ibatis/trunk/site/pages/index.vm (original) +++ ibatis/trunk/site/pages/index.vm Sat Nov 5 23:51:28 2005 @@ -38,51 +38,5 @@ Get iBATIS 2.1.6 from the Downloads page. - iBATIS for Ruby - (August 25, 2005) It's official. iBATIS is no longer a simple tool or framework. It is a genuine - approach to integrating object oriented applications and relational databases. We could have said that - when the .NET version was released, but now we MUST say it. We're very excited to be merging with a - project headed up by Jon Tirsen, a friend of mine and a fellow ThoughtWorker. He's ported and innovated - iBATIS for the Ruby language, which we're all very excited about. In the next few weeks we'll be - integrating iBATIS for Ruby into our infrastructure, and of course, Jon will become one of our valuable - team members. - - Developers, Developers, Developers... - (August 24, 2005) What a crazy month. Everyone has been so busy over the summer! But despite - our schedules, we've made some amazing progress. First and foremost, let's introduce our new - committers. The following people have been voted in as committers and are currently in the pr
svn commit: r331117 - in /ibatis/trunk/java/mapper/mapper2: build/ src/com/ibatis/sqlmap/engine/builder/xml/ test/com/ibatis/sqlmap/builder/ test/com/ibatis/sqlmap/builder/xml/
Author: cbegin Date: Sun Nov 6 09:12:21 2005 New Revision: 331117 URL: http://svn.apache.org/viewcvs?rev=331117&view=rev Log: Added entity resolver test and included new PUBLIC ID for ibatis.apache.org Added: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/builder/ ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/builder/xml/ ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/builder/xml/SqlMapClasspathEntityResolverTest.java Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapClasspathEntityResolver.java Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=331117&r1=331116&r2=331117&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/version.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/version.properties Sun Nov 6 09:12:21 2005 @@ -1,5 +1,5 @@ #Build version info -#Sat Nov 05 23:58:55 MST 2005 +#Sun Nov 06 09:57:40 MST 2005 version=2.1.6 -buildDate=2005/11/05 23\:58 -buildNum=589 +buildDate=2005/11/06 09\:57 +buildNum=590 Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapClasspathEntityResolver.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapClasspathEntityResolver.java?rev=331117&r1=331116&r2=331117&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapClasspathEntityResolver.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapClasspathEntityResolver.java Sun Nov 6 09:12:21 2005 @@ -20,11 +20,10 @@ import org.xml.sax.InputSource; import org.xml.sax.SAXException; -import java.io.InputStream; import java.io.IOException; -import java.util.Map; +import java.io.InputStream; import java.util.HashMap; -import java.util.Collections; +import java.util.Map; /** * Offline entity resolver for the iBATIS DTDs @@ -40,10 +39,12 @@ doctypeMap.put("http://www.ibatis.com/dtd/sql-map-config-2.dtd";, SQL_MAP_CONFIG_DTD); doctypeMap.put("http://ibatis.apache.org/dtd/sql-map-config-2.dtd";, SQL_MAP_CONFIG_DTD); doctypeMap.put("-//iBATIS.com//DTD SQL Map Config 2.0//EN", SQL_MAP_CONFIG_DTD); +doctypeMap.put("-//ibatis.apache.org//DTD SQL Map Config 2.0//EN", SQL_MAP_CONFIG_DTD); doctypeMap.put("http://www.ibatis.com/dtd/sql-map-2.dtd";, SQL_MAP_DTD); doctypeMap.put("http://ibatis.apache.org/dtd/sql-map-2.dtd";, SQL_MAP_DTD); doctypeMap.put("-//iBATIS.com//DTD SQL Map 2.0//EN", SQL_MAP_DTD); +doctypeMap.put("-//ibatis.apache.org//DTD SQL Map 2.0//EN", SQL_MAP_DTD); } Added: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/builder/xml/SqlMapClasspathEntityResolverTest.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/builder/xml/SqlMapClasspathEntityResolverTest.java?rev=331117&view=auto == --- ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/builder/xml/SqlMapClasspathEntityResolverTest.java (added) +++ ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/builder/xml/SqlMapClasspathEntityResolverTest.java Sun Nov 6 09:12:21 2005 @@ -0,0 +1,78 @@ +package com.ibatis.sqlmap.builder.xml; + +import junit.framework.TestCase; +import com.ibatis.sqlmap.engine.builder.xml.SqlMapClasspathEntityResolver; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + +public class SqlMapClasspathEntityResolverTest extends TestCase { + + // ibatis.com + + public void testComConfigSystemId() { +String id = "http://www.ibatis.com/dtd/sql-map-config-2.dtd";; +assertSystemIdCanBeResolved(id); + } + + public void testComConfigPublicId() { +String id = "-//iBATIS.com//DTD SQL Map Config 2.0//EN"; +assertPublicIdCanBeResolved(id); + } + + public void testComMapSystemId() { +String id = "http://www.ibatis.com/dtd/sql-map-2.dtd";; +assertSystemIdCanBeResolved(id); + } + + public void testComMapPublicId() { +String id = "-//iBATIS.com//DTD SQL Map 2.0//EN"; +assertPublicIdCanBeResolved(id); + } + + // ibatis.apache.org + + public void testOrgConfigSystemId() { +String id = "http://ibatis.apache.org/dtd/sql-map-config-2.dtd";; +assertSystemIdCanBeResolved(id); + } + + public void testOrgConfigPublicId() { +String id = "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"; +asser
svn commit: r331131 - in /ibatis/trunk/java/mapper/mapper2: build/ src/com/ibatis/common/jdbc/ src/com/ibatis/sqlmap/engine/builder/xml/ test/com/ibatis/dao/ test/com/ibatis/sqlmap/ test/com/ibatis/sq
Author: cbegin Date: Sun Nov 6 10:30:30 2005 New Revision: 331131 URL: http://svn.apache.org/viewcvs?rev=331131&view=rev Log: Improved scriptrunner design, removed deprication. Added case ignorance to entity resolver Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/ScriptRunner.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapClasspathEntityResolver.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/dao/BaseDaoTest.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/BaseSqlMapTest.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/builder/xml/SqlMapClasspathEntityResolverTest.java ibatis/trunk/java/mapper/mapper2/test/compatibility/scriptrunner/ScriptRunnerCompat.java Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=331131&r1=331130&r2=331131&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/version.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/version.properties Sun Nov 6 10:30:30 2005 @@ -1,5 +1,5 @@ #Build version info -#Sun Nov 06 09:57:40 MST 2005 +#Sun Nov 06 11:16:16 MST 2005 version=2.1.6 -buildDate=2005/11/06 09\:57 -buildNum=590 +buildDate=2005/11/06 11\:16 +buildNum=591 Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/ScriptRunner.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/ScriptRunner.java?rev=331131&r1=331130&r2=331131&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/ScriptRunner.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/jdbc/ScriptRunner.java Sun Nov 6 10:30:30 2005 @@ -16,98 +16,50 @@ package com.ibatis.common.jdbc; import com.ibatis.common.resources.Resources; +import com.ibatis.common.exception.NestedRuntimeException; import java.io.IOException; import java.io.LineNumberReader; import java.io.PrintWriter; import java.io.Reader; import java.sql.*; -import java.util.Map; /** * Tool to run database scripts - * @deprecated There are better tools available for running scripts. This - * class has become out of scope for iBATIS. */ public class ScriptRunner { //private static final Log log = LogFactory.getLog(ScriptRunner.class); + private Connection connection; private String driver; private String url; private String username; private String password; + private boolean stopOnError; private boolean autoCommit; + private PrintWriter logWriter = new PrintWriter(System.out); private PrintWriter errorLogWriter = new PrintWriter(System.err); /** * Default constructor */ - public ScriptRunner() { -stopOnError = false; -autoCommit = false; - } - - /** - * Constructor to allow passing in a Map with configuration data - * - * @param props - the configuration properties - */ - public ScriptRunner(Map props) { -setDriver((String) props.get("driver")); -setUrl((String) props.get("url")); -setUsername((String) props.get("username")); -setPassword((String) props.get("password")); -setStopOnError("true".equals(props.get("stopOnError"))); -setAutoCommit("true".equals(props.get("autoCommit"))); - } - - /** - * Getter for stopOnError property - * - * @return The value of the stopOnError property - */ - public boolean isStopOnError() { -return stopOnError; - } - - /** - * Setter for stopOnError property - * - * @param stopOnError - the new value of the stopOnError property - */ - public void setStopOnError(boolean stopOnError) { + public ScriptRunner(Connection connection, boolean autoCommit, boolean stopOnError) { +this.connection = connection; +this.autoCommit = autoCommit; this.stopOnError = stopOnError; } - /** - * Getter for autoCommit property - * - * @return The value of the autoCommit property - */ - public boolean isAutoCommit() { -return autoCommit; - } - - /** - * Setter for autoCommit property - * - * @param autoCommit - the new value of the autoCommit property - */ - public void setAutoCommit(boolean autoCommit) { + public ScriptRunner(String driver, String url, String username, String password, boolean autoCommit, boolean stopOnError) { +this.driver = driver; +this.url = url; +this.username = username; +this.password = password; this.autoCommit = autoCommit; - } - - /** - * Getter for logWriter property - * - * @return The value of the logWriter property - */ - public Print
svn commit: r332219 - /ibatis/trunk/site/pages/index.vm
Author: cbegin Date: Wed Nov 9 20:07:30 2005 New Revision: 332219 URL: http://svn.apache.org/viewcvs?rev=332219&view=rev Log: added deprecation warnings for JDK 1.4, ibatis 1.x, and dtds at ibatis.com Modified: ibatis/trunk/site/pages/index.vm Modified: ibatis/trunk/site/pages/index.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/index.vm?rev=332219&r1=332218&r2=332219&view=diff == --- ibatis/trunk/site/pages/index.vm (original) +++ ibatis/trunk/site/pages/index.vm Wed Nov 9 20:07:30 2005 @@ -1,42 +1,89 @@ - -iBATIS News - - - - - -What is iBATIS? + + iBATIS News + -The + + + + + What is iBATIS? + + The iBATIS Data Mapper framework makes it easier to use a database with Java and .NET applications. iBATIS couples objects with stored procedures or SQL statements using a XML descriptor. Simplicity is the biggest advantage of the iBATIS Data Mapper over object relational mapping tools. -To use the iBATIS Data Mapper, you rely on + To use the iBATIS Data Mapper, you rely on your own objects, XML, and SQL. There is little to learn that you don't already know. With the iBATIS Data Mapper, you have the full power of both SQL and stored procedures at your fingertips. -Are you interested but want to know what others have said? Well, first see the various -http://opensource.atlassian.com/confluence/oss/display/IBATIS/Articles+and+other+coverage+of+iBATIS"; target="_new">articles and books + Are you interested but want to know what others have said? Well, first see the various +http://opensource.atlassian.com/confluence/oss/display/IBATIS/Articles+and+other+coverage+of+iBATIS"; + target="_new">articles and books that have covered iBATIS and read some of our -http://opensource.atlassian.com/confluence/oss/display/IBATIS/Feedback+and+Experiences"; target="_new">user feedback. +http://opensource.atlassian.com/confluence/oss/display/IBATIS/Feedback+and+Experiences"; target="_new">user + feedback. Then, learn how to simple it is to use the iBATIS Data Mapper by reading our -http://prdownloads.sourceforge.net/ibatisdb/iBATIS-SqlMaps-2-Tutorial.pdf?download";>Java Tutorial or http://opensource.atlassian.com/confluence/oss/display/IBATIS/Quick+Start+Guide"; target="_new">.NET Quick Start Guide! - - - -News +http://prdownloads.sourceforge.net/ibatisdb/iBATIS-SqlMaps-2-Tutorial.pdf?download";>Java Tutorial or http://opensource.atlassian.com/confluence/oss/display/IBATIS/Quick+Start+Guide"; target="_new">.NET Quick +Start Guide! + + + +News + +JDK 1.4 Required as of 2.2.0, iBATIS 1.x Compat Libs Removed, DTDs moved to Apache, + +(Nov 8, 2005) All software systems that last any length of time tend to suffer from compatibility + baggage. iBATIS is no different. iBATIS has remaind 99% backward compatible for 3.5 years now. + Unfortunately the baggage necessary to continue that way is impeding our ability to move the framework + forward. So it's time to pay the piper and upgrade. Here's the plan: + + + JDK 1.4 will be required as of version 2.2.0. We will continue to support + the 2.1.6 codebase for critical releases only. No major features will be added to 2.1.6. Version + 2.2.0 will be the next version released, leaving us some room for official maintenance releases + for the 2.1.6 branch if necessary. We estimate that about 13% of our users are still using JDK 1.3. + iBATIS 1.x Compatibility libraries will be removed as of version 2.2.0. Since iBATIS version 2.0 was +released, it has included a backward compatibility library that allowed iBATIS 1.x applications to run on the +2.0 framework. We estimate that 3% of iBATIS users are using iBATIS 1.x, which is not enough to continue + supporting the compatibility library. Of course it will still be available from Subversion. + All DTDs will be moved to ibatis.apache.org as of December 30th, 2005. These DTDs will no longer be +available from iBATIS.com. Instead you must change your doctype declarations to point to the new location at + ibatis.apache.org. The new doctypes are as follows: + + + <!DOCTYPE sqlMapConfig + PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" + "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">; + + + <!DOCTYPE sqlMap + PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" + "http://ibatis.apache.org/dtd/sql-map-2.dtd">; + + + <!DOCTYPE dao + PUBLIC "-//ibatis.apache.org//DTD DAO Configuration 2.0//EN" + "http://ibatis.apache.org/dtd/dao-2.dtd">; + + +iBATIS Java 2.1.6 - Maintenance Releas
svn commit: r354337 [6/9] - in /ibatis/trunk/java/jpetstore/jpetstore5: ./ build/ devlib/ doc/ lib/ src/ src/com/ src/com/ibatis/ src/com/ibatis/jpetstore/ src/com/ibatis/jpetstore/domain/ src/com/iba
Added: ibatis/trunk/java/jpetstore/jpetstore5/web/WEB-INF/tld/struts-logic.tld URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/jpetstore/jpetstore5/web/WEB-INF/tld/struts-logic.tld?rev=354337&view=auto == --- ibatis/trunk/java/jpetstore/jpetstore5/web/WEB-INF/tld/struts-logic.tld (added) +++ ibatis/trunk/java/jpetstore/jpetstore5/web/WEB-INF/tld/struts-logic.tld Mon Dec 5 22:39:31 2005 @@ -0,0 +1,648 @@ + + + +http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd";> + + 1.2 + 1.1 + logic + http://struts.apache.org/tags-logic + +empty +org.apache.struts.taglib.logic.EmptyTag +JSP + + name + false + true + + + property + false + true + + + scope + false + true + + + +equal +org.apache.struts.taglib.logic.EqualTag +JSP + + cookie + false + true + + + header + false + true + + + name + false + true + + + parameter + false + true + + + property + false + true + + + scope + false + true + + + value + true + true + + + +forward +org.apache.struts.taglib.logic.ForwardTag +empty + + name + true + true + + + +greaterEqual +org.apache.struts.taglib.logic.GreaterEqualTag +JSP + + cookie + false + true + + + header + false + true + + + name + false + true + + + parameter + false + true + + + property + false + true + + + scope + false + true + + + value + true + true + + + +greaterThan +org.apache.struts.taglib.logic.GreaterThanTag +JSP + + cookie + false + true + + + header + false + true + + + name + false + true + + + parameter + false + true + + + property + false + true + + + scope + false + true + + + value + true + true + + + +iterate +org.apache.struts.taglib.logic.IterateTag +org.apache.struts.taglib.logic.IterateTei +JSP + + collection + false + true + + + id + true + false + + + indexId + false + false + + + length + false + true + + + name + false + true + + + offset + false + true + + + property + false + true + + + scope + false + true + + + type + false + true + + + +lessEqual +org.apache.struts.taglib.logic.LessEqualTag +JSP + + cookie + false + true + + + header + false + true + + + name + false + true + + + parameter + false + true + + + property + false + true + + + scope + false + true + + + value + true + true + + + +lessThan +org.apache.struts.taglib.logic.LessThanTag +JSP + + cookie + false + true + + + header + false + true + + + name + false + true + + + parameter + false + true + + + property + false + true + + + scope + false + true + + + value + true + true + + + +match +org.apache.struts.taglib.logic.MatchTag +JSP + + cookie + false + true + + + header + false + true + + + location + false + true + + + name + false + true + + + parameter + false + true + + + property + false + true + + + scope + false + true + + + value + true + true + + + +messagesNotPresent +org.apache.struts.taglib.logic.MessagesNotPresentTag +JSP + + name + false + true + + + property + false + true + + + message + false + true + + + +messagesPresent +org.apache.struts.taglib.logic.MessagesPresentTag +JSP + + name + false + true + + + property + false + true + + + message + false + true + + + +notEmpty +org.apache.struts.taglib.logic.NotEmptyTag +JSP + + name + false + true + + + property + false + true + + + scope + false + true + + + +notEqual +org.apache.strut
svn commit: r354337 [9/9] - in /ibatis/trunk/java/jpetstore/jpetstore5: ./ build/ devlib/ doc/ lib/ src/ src/com/ src/com/ibatis/ src/com/ibatis/jpetstore/ src/com/ibatis/jpetstore/domain/ src/com/iba
Added: ibatis/trunk/java/jpetstore/jpetstore5/web/images/dog6.gif URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/jpetstore/jpetstore5/web/images/dog6.gif?rev=354337&view=auto == Binary file - no diff available. Propchange: ibatis/trunk/java/jpetstore/jpetstore5/web/images/dog6.gif -- svn:mime-type = application/octet-stream Added: ibatis/trunk/java/jpetstore/jpetstore5/web/images/dogs.gif URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/jpetstore/jpetstore5/web/images/dogs.gif?rev=354337&view=auto == Binary file - no diff available. Propchange: ibatis/trunk/java/jpetstore/jpetstore5/web/images/dogs.gif -- svn:mime-type = application/octet-stream Added: ibatis/trunk/java/jpetstore/jpetstore5/web/images/dogs_icon.gif URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/jpetstore/jpetstore5/web/images/dogs_icon.gif?rev=354337&view=auto == Binary file - no diff available. Propchange: ibatis/trunk/java/jpetstore/jpetstore5/web/images/dogs_icon.gif -- svn:mime-type = application/octet-stream Added: ibatis/trunk/java/jpetstore/jpetstore5/web/images/fish.gif URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/jpetstore/jpetstore5/web/images/fish.gif?rev=354337&view=auto == Binary file - no diff available. Propchange: ibatis/trunk/java/jpetstore/jpetstore5/web/images/fish.gif -- svn:mime-type = application/octet-stream Added: ibatis/trunk/java/jpetstore/jpetstore5/web/images/fish1.gif URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/jpetstore/jpetstore5/web/images/fish1.gif?rev=354337&view=auto == Binary file - no diff available. Propchange: ibatis/trunk/java/jpetstore/jpetstore5/web/images/fish1.gif -- svn:mime-type = application/octet-stream Added: ibatis/trunk/java/jpetstore/jpetstore5/web/images/fish2.gif URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/jpetstore/jpetstore5/web/images/fish2.gif?rev=354337&view=auto == Binary file - no diff available. Propchange: ibatis/trunk/java/jpetstore/jpetstore5/web/images/fish2.gif -- svn:mime-type = application/octet-stream Added: ibatis/trunk/java/jpetstore/jpetstore5/web/images/fish3.gif URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/jpetstore/jpetstore5/web/images/fish3.gif?rev=354337&view=auto == Binary file - no diff available. Propchange: ibatis/trunk/java/jpetstore/jpetstore5/web/images/fish3.gif -- svn:mime-type = application/octet-stream Added: ibatis/trunk/java/jpetstore/jpetstore5/web/images/fish4.gif URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/jpetstore/jpetstore5/web/images/fish4.gif?rev=354337&view=auto == Binary file - no diff available. Propchange: ibatis/trunk/java/jpetstore/jpetstore5/web/images/fish4.gif -- svn:mime-type = application/octet-stream Added: ibatis/trunk/java/jpetstore/jpetstore5/web/images/fish_icon.gif URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/jpetstore/jpetstore5/web/images/fish_icon.gif?rev=354337&view=auto == Binary file - no diff available. Propchange: ibatis/trunk/java/jpetstore/jpetstore5/web/images/fish_icon.gif -- svn:mime-type = application/octet-stream Added: ibatis/trunk/java/jpetstore/jpetstore5/web/images/lizard1.gif URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/jpetstore/jpetstore5/web/images/lizard1.gif?rev=354337&view=auto == Binary file - no diff available. Propchange: ibatis/trunk/java/jpetstore/jpetstore5/web/images/lizard1.gif -- svn:mime-type = application/octet-stream Added: ibatis/trunk/java/jpetstore/jpe
svn commit: r354339 - /ibatis/trunk/java/jpetstore/jpetstore5/build/
Author: cbegin Date: Mon Dec 5 22:46:04 2005 New Revision: 354339 URL: http://svn.apache.org/viewcvs?rev=354339&view=rev Log: (empty) Modified: ibatis/trunk/java/jpetstore/jpetstore5/build/ (props changed) Propchange: ibatis/trunk/java/jpetstore/jpetstore5/build/ -- --- svn:ignore (added) +++ svn:ignore Mon Dec 5 22:46:04 2005 @@ -0,0 +1,5 @@ +work +reports +wars +webapp +coverage.ec
svn commit: r355875 - in /ibatis/trunk/java/jpetstore/jpetstore5: src/com/ibatis/jpetstore/presentation/OrderBean.java test/com/ibatis/jpetstore/presentation/OrderBeanTest.java
Author: cbegin Date: Sat Dec 10 18:39:59 2005 New Revision: 355875 URL: http://svn.apache.org/viewcvs?rev=355875&view=rev Log: removed accountbean dependency from OrderBean.java Modified: ibatis/trunk/java/jpetstore/jpetstore5/src/com/ibatis/jpetstore/presentation/OrderBean.java ibatis/trunk/java/jpetstore/jpetstore5/test/com/ibatis/jpetstore/presentation/OrderBeanTest.java Modified: ibatis/trunk/java/jpetstore/jpetstore5/src/com/ibatis/jpetstore/presentation/OrderBean.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/jpetstore/jpetstore5/src/com/ibatis/jpetstore/presentation/OrderBean.java?rev=355875&r1=355874&r2=355875&view=diff == --- ibatis/trunk/java/jpetstore/jpetstore5/src/com/ibatis/jpetstore/presentation/OrderBean.java (original) +++ ibatis/trunk/java/jpetstore/jpetstore5/src/com/ibatis/jpetstore/presentation/OrderBean.java Sat Dec 10 18:39:59 2005 @@ -2,7 +2,6 @@ import com.ibatis.common.util.PaginatedList; import com.ibatis.jpetstore.domain.Order; -import com.ibatis.jpetstore.service.AccountService; import com.ibatis.jpetstore.service.OrderService; import org.apache.struts.beanaction.ActionContext; @@ -15,7 +14,6 @@ private static final List CARD_TYPE_LIST; - private AccountService accountService; private OrderService orderService; private Order order; @@ -34,14 +32,13 @@ } public OrderBean() { -this(new AccountService(), new OrderService()); +this(new OrderService()); } - public OrderBean(AccountService accountService, OrderService orderService) { + public OrderBean(OrderService orderService) { order = new Order(); shippingAddressRequired = false; confirmed = false; -this.accountService = accountService; this.orderService = orderService; } Modified: ibatis/trunk/java/jpetstore/jpetstore5/test/com/ibatis/jpetstore/presentation/OrderBeanTest.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/jpetstore/jpetstore5/test/com/ibatis/jpetstore/presentation/OrderBeanTest.java?rev=355875&r1=355874&r2=355875&view=diff == --- ibatis/trunk/java/jpetstore/jpetstore5/test/com/ibatis/jpetstore/presentation/OrderBeanTest.java (original) +++ ibatis/trunk/java/jpetstore/jpetstore5/test/com/ibatis/jpetstore/presentation/OrderBeanTest.java Sat Dec 10 18:39:59 2005 @@ -17,15 +17,13 @@ public class OrderBeanTest extends MockObjectTestCase { public void testShouldGetCardTypes() { -Mock accountServiceMock = mock(AccountService.class); Mock orderServiceMock = mock(OrderService.class); -OrderBean bean = new OrderBean((AccountService)accountServiceMock.proxy(), (OrderService)orderServiceMock.proxy()); +OrderBean bean = new OrderBean((OrderService)orderServiceMock.proxy()); List cardList = bean.getCreditCardTypes(); assertEquals(3, cardList.size()); } public void testListListOrdersByUsername() { -Mock accountServiceMock = mock(AccountService.class); Mock orderServiceMock = mock(OrderService.class); PaginatedArrayList orderList = new PaginatedArrayList(5); orderList.add(new Order()); @@ -39,13 +37,12 @@ AccountBean accountBean = new AccountBean(); accountBean.setUsername("not null"); sessionMap.put("accountBean", accountBean); -OrderBean bean = new OrderBean((AccountService)accountServiceMock.proxy(), (OrderService)orderServiceMock.proxy()); +OrderBean bean = new OrderBean((OrderService)orderServiceMock.proxy()); assertEquals(AbstractBean.SUCCESS, bean.listOrders()); assertEquals(3, bean.getOrderList().size()); } public void testShouldSwitchOrderListPagesBackAndForth() { -Mock accountServiceMock = mock(AccountService.class); Mock orderServiceMock = mock(OrderService.class); PaginatedArrayList orderList = new PaginatedArrayList(2); orderList.add(new Order()); @@ -59,7 +56,7 @@ AccountBean accountBean = new AccountBean(); accountBean.setUsername("not null"); sessionMap.put("accountBean", accountBean); -OrderBean bean = new OrderBean((AccountService)accountServiceMock.proxy(), (OrderService)orderServiceMock.proxy()); +OrderBean bean = new OrderBean((OrderService)orderServiceMock.proxy()); bean.listOrders(); bean.setPageDirection("next"); bean.switchOrderPage(); @@ -70,18 +67,16 @@ } public void testShouldResetShippingAddressRequirement() { -Mock accountServiceMock = mock(AccountService.class); Mock orderServiceMock = mock(OrderService.class); -OrderBean bean = new OrderBean((AccountService)accountServiceMock.proxy(), (OrderService)orderServiceMock.proxy()); +OrderBean bean = new OrderBean((OrderService)orderServiceMock.proxy()); bean.setShippingAddressRequired(true); bean.rese
svn commit: r355903 - in /ibatis/trunk/site/pages: downloads.vm index.vm
Author: cbegin Date: Sat Dec 10 20:42:17 2005 New Revision: 355903 URL: http://svn.apache.org/viewcvs?rev=355903&view=rev Log: announced jp5 Modified: ibatis/trunk/site/pages/downloads.vm ibatis/trunk/site/pages/index.vm Modified: ibatis/trunk/site/pages/downloads.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/downloads.vm?rev=355903&r1=355902&r2=355903&view=diff == --- ibatis/trunk/site/pages/downloads.vm (original) +++ ibatis/trunk/site/pages/downloads.vm Sat Dec 10 20:42:17 2005 @@ -16,7 +16,7 @@ Examples - http://prdownloads.sourceforge.net/ibatisjpetstore/iBATIS_JPetStore-4.0.5.zip?download";>JPetStore Example Application + http://cvs.apache.org/builds/ibatis/alpha/JPetStore-5.0.zip";>JPetStore 5.0 Example Application (Apache Alpha) Documentation Modified: ibatis/trunk/site/pages/index.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/index.vm?rev=355903&r1=355902&r2=355903&view=diff == --- ibatis/trunk/site/pages/index.vm (original) +++ ibatis/trunk/site/pages/index.vm Sat Dec 10 20:42:17 2005 @@ -38,8 +38,28 @@ News +Have a look at JPetStore 5.0 +(Dec 8, 2005) JPetStore 5.0 is now available. This release focuses on cleaning up some of the mess created by + JPetStore's heritage as a testbed for performance and comparisons to other implementations including LOC benchmarks, + which are a horrible thing. Significant changes and additions include: + + + One step deploy! JPetStore is now easier to deploy, and assuming you already have Tomcat and a JDK +installed, it's literally one step. Drop the WAR file into Tomcat's webapps folder, and you're good to go. +JPetStore now includes HSQLDB and, with the default configuration, will deploy an in-memory database for +the duration of your run. Of course, all of the other databases such as Oracle and MS SQL Server are +still supported as well. + 93% Unit test coverage. It's about time, as it was quite embarassing not having adequate unit + tests for JPetStore for all of this time. All layers are covered fairly well, including the actions + services and data access objects. + XHTML/CSS web pages. No more 1990's style web development practices. JPetStore now features web pages +based on XHTML and CSS. That said, I (Clinton) am not much of an artist, so it still is no marvel of +visual style. However, I think it does look quite a bit better. + Upgraded dependencies. All of the 3rd party dependencies have been upgraded to their latest versions. + +Get JPetStore 5.0 from the Downloads page. -JDK 1.4 Required as of 2.2.0, iBATIS 1.x Compat Libs Removed, DTDs moved to Apache, +As of 2.2.0 -- JDK 1.4 Required, iBATIS 1.x Compat Libs Removed, DTDs moved to Apache, (Nov 8, 2005) All software systems that last any length of time tend to suffer from compatibility baggage. iBATIS is no different. iBATIS has remaind 99% backward compatible for 3.5 years now.
svn commit: r357467 - /ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ComplexBeanProbe.java
Author: cbegin Date: Sun Dec 18 07:13:06 2005 New Revision: 357467 URL: http://svn.apache.org/viewcvs?rev=357467&view=rev Log: Fixed getwriteablepropertynames Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ComplexBeanProbe.java Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ComplexBeanProbe.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ComplexBeanProbe.java?rev=357467&r1=357466&r2=357467&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ComplexBeanProbe.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ComplexBeanProbe.java Sun Dec 18 07:13:06 2005 @@ -54,7 +54,7 @@ * @return The properties */ public String[] getWriteablePropertyNames(Object object) { -return ClassInfo.getInstance(object.getClass()).getReadablePropertyNames(); +return ClassInfo.getInstance(object.getClass()).getWriteablePropertyNames(); } /**
svn commit: r357468 - /ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/transaction/TransactionManager.java
Author: cbegin Date: Sun Dec 18 07:14:54 2005 New Revision: 357468 URL: http://svn.apache.org/viewcvs?rev=357468&view=rev Log: fixed IBATIS-228 Exception is thrown by TransactionManager when multiple commits are issued against a started Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/transaction/TransactionManager.java Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/transaction/TransactionManager.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/transaction/TransactionManager.java?rev=357468&r1=357467&r2=357468&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/transaction/TransactionManager.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/transaction/TransactionManager.java Sun Dec 18 07:14:54 2005 @@ -76,7 +76,7 @@ "A user provided connection is currently being used by this session. " + "You must call the commit() method of the Connection directly. " + "The calling .setUserConnection (null) will clear the user provided transaction."); -} else if (state != TransactionState.STATE_STARTED) { +} else if (state != TransactionState.STATE_STARTED && state != TransactionState.STATE_COMMITTED ) { throw new TransactionException("TransactionManager could not commit. No transaction is started."); } if (session.isCommitRequired() || forceCommit) { @@ -137,5 +137,4 @@ this.forceCommit = forceCommit; } -} - +} \ No newline at end of file
svn commit: r357469 - in /ibatis/trunk/java/mapper/mapper2: build/build.xml test/com/ibatis/sqlmap/OracleProcTest.java
Author: cbegin Date: Sun Dec 18 07:15:32 2005 New Revision: 357469 URL: http://svn.apache.org/viewcvs?rev=357469&view=rev Log: Removed OracleProcTest, as nobody ever runs it. (unit tests that are never run are useless) Removed: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/OracleProcTest.java Modified: ibatis/trunk/java/mapper/mapper2/build/build.xml Modified: ibatis/trunk/java/mapper/mapper2/build/build.xml URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/build/build.xml?rev=357469&r1=357468&r2=357469&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/build.xml (original) +++ ibatis/trunk/java/mapper/mapper2/build/build.xml Sun Dec 18 07:15:32 2005 @@ -168,7 +168,6 @@ - @@ -183,7 +182,6 @@ -
svn commit: r357470 - /ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/BasicResultMap.java
Author: cbegin Date: Sun Dec 18 07:20:43 2005 New Revision: 357470 URL: http://svn.apache.org/viewcvs?rev=357470&view=rev Log: Fixed IBATIS-213 SELECT statement returns unexpected result when 'groupBy' and 'nullValue' are specified in Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/BasicResultMap.java Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/BasicResultMap.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/BasicResultMap.java?rev=357470&r1=357469&r2=357470&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/BasicResultMap.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/BasicResultMap.java Sun Dec 18 07:20:43 2005 @@ -235,6 +235,9 @@ if (discriminator != null) { BasicResultMapping mapping = (BasicResultMapping)discriminator.getResultMapping(); Object value = getPrimitiveResultMappingValue(rs, mapping); + if (value == null) { +value = doNullMapping(value, mapping); + } subMap = discriminator.getSubMap(String.valueOf(value)); if (subMap == null) { subMap = this; @@ -307,10 +310,16 @@ Class type = p.getPropertyTypeForSetter(resultClass, mapping.getPropertyName()); columnValues[i] = getNestedSelectMappingValue(request, rs, mapping, type); } +foundData = foundData || columnValues[i] != null; } else if (mapping.getNestedResultMapName() == null) { columnValues[i] = getPrimitiveResultMappingValue(rs, mapping); +if (columnValues[i] == null) { + columnValues[i] = doNullMapping(columnValues[i], mapping); +} +else { + foundData = true; +} } - foundData = foundData || columnValues[i] != null; } request.setRowDataFound(foundData); @@ -551,15 +560,26 @@ } else { value = typeHandler.getResult(rs, columnName); } - if (value == null && nullValue != null) { -value = typeHandler.valueOf(nullValue); - } } else { throw new SqlMapException("No type handler could be found to map the property '" + mapping.getPropertyName() + "' to the column '" + mapping.getColumnName() + "'. One or both of the types, or the combination of types is not supported."); } return value; } - -} - + protected Object doNullMapping(Object value, BasicResultMapping mapping) throws SqlMapException { + if ( value == null ) { + TypeHandler typeHandler = mapping.getTypeHandler(); +if (typeHandler != null) { +String nullValue = mapping.getNullValue(); +if ( nullValue != null ) + value = typeHandler.valueOf(nullValue); +return value; + } else { +throw new SqlMapException("No type handler could be found to map the property '" + mapping.getPropertyName() + "' to the column '" + mapping.getColumnName() + "'. One or both of the types, or the combination of types is not supported."); + } + } + else { +return value; + } + } +} \ No newline at end of file
svn commit: r357471 - /ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/AutoResultMap.java
Author: cbegin Date: Sun Dec 18 07:24:49 2005 New Revision: 357471 URL: http://svn.apache.org/viewcvs?rev=357471&view=rev Log: Fixed IBATIS-218 'i' character in property names, with Turkish locale Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/AutoResultMap.java Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/AutoResultMap.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/AutoResultMap.java?rev=357471&r1=357470&r2=357471&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/AutoResultMap.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/AutoResultMap.java Sun Dec 18 07:24:49 2005 @@ -76,14 +76,14 @@ Map propertyMap = new HashMap(); for (int i = 0; i < propertyNames.length; i++) { -propertyMap.put(propertyNames[i].toUpperCase(), propertyNames[i]); + propertyMap.put(propertyNames[i].toUpperCase(java.util.Locale.ENGLISH), propertyNames[i]); } List resultMappingList = new ArrayList(); ResultSetMetaData rsmd = rs.getMetaData(); for (int i = 0, n = rsmd.getColumnCount(); i < n; i++) { String columnName = rsmd.getColumnLabel(i + 1); -String upperColumnName = columnName.toUpperCase(); +String upperColumnName = columnName.toUpperCase(java.util.Locale.ENGLISH); String matchedProp = (String) propertyMap.get(upperColumnName); Class type = null; if (matchedProp == null) {
svn commit: r357472 - /ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java
Author: cbegin Date: Sun Dec 18 07:34:03 2005 New Revision: 357472 URL: http://svn.apache.org/viewcvs?rev=357472&view=rev Log: Fixed IBATIS-220 Null Pointer in SqlExecutor.handleResults where ResultSet is null. Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java?rev=357472&r1=357471&r2=357472&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java Sun Dec 18 07:34:03 2005 @@ -180,8 +180,10 @@ ps.execute(); rs = getFirstResultSet(ps); - errorContext.setMoreInfo("Check the results (failed to retrieve results)."); - handleResults(request, rs, skipResults, maxResults, callback); + if (rs != null) { +errorContext.setMoreInfo("Check the results (failed to retrieve results)."); +handleResults(request, rs, skipResults, maxResults, callback); + } // clear out remaining results while (ps.getMoreResults()); @@ -287,8 +289,10 @@ cs.execute(); rs = getFirstResultSet(cs); - errorContext.setMoreInfo("Check the results (failed to retrieve results)."); - handleResults(request, rs, skipResults, maxResults, callback); + if (rs != null) { +errorContext.setMoreInfo("Check the results (failed to retrieve results)."); +handleResults(request, rs, skipResults, maxResults, callback); + } // consume additional results while (cs.getMoreResults());
svn commit: r357473 - /ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/BasicResultMap.java
Author: cbegin Date: Sun Dec 18 07:42:03 2005 New Revision: 357473 URL: http://svn.apache.org/viewcvs?rev=357473&view=rev Log: Fixed IBATIS-221 Can't store a List in a Map Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/BasicResultMap.java Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/BasicResultMap.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/BasicResultMap.java?rev=357473&r1=357472&r2=357473&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/BasicResultMap.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/BasicResultMap.java Sun Dec 18 07:42:03 2005 @@ -298,7 +298,11 @@ if (resultClass == null) { throw new SqlMapException("The result class was null when trying to get results for ResultMap named " + getId() + "."); } else if (Map.class.isAssignableFrom(resultClass)) { - columnValues[i] = getNestedSelectMappingValue(request, rs, mapping, Object.class); + Class javaType = mapping.getJavaType(); + if (javaType == null) { +javaType = Object.class; + } + columnValues[i] = getNestedSelectMappingValue(request, rs, mapping, javaType); } else if (DomTypeMarker.class.isAssignableFrom(resultClass)) { Class javaType = mapping.getJavaType(); if (javaType == null) { @@ -559,6 +563,9 @@ value = typeHandler.getResult(rs, columnIndex); } else { value = typeHandler.getResult(rs, columnName); + } + if (value == null && nullValue != null) { +value = typeHandler.valueOf(nullValue); } } else { throw new SqlMapException("No type handler could be found to map the property '" + mapping.getPropertyName() + "' to the column '" + mapping.getColumnName() + "'. One or both of the types, or the combination of types is not supported.");
svn commit: r370868 - in /ibatis/trunk/site: pages/events.vm pages/newsbyte.vm setenv.bat
Author: cbegin Date: Fri Jan 20 09:29:05 2006 New Revision: 370868 URL: http://svn.apache.org/viewcvs?rev=370868&view=rev Log: updated events calendar, removed old newsbyte Modified: ibatis/trunk/site/pages/events.vm ibatis/trunk/site/pages/newsbyte.vm ibatis/trunk/site/setenv.bat Modified: ibatis/trunk/site/pages/events.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/events.vm?rev=370868&r1=370867&r2=370868&view=diff == --- ibatis/trunk/site/pages/events.vm (original) +++ ibatis/trunk/site/pages/events.vm Fri Jan 20 09:29:05 2006 @@ -5,6 +5,22 @@ + +March 23rd, 2006 - Las Vegas, Nevada, USA +The Server Side Java Symposium + + A wise man once said: "PowerPoint is the worst thing ever to happen to + public speaking." So, in this session, Clinton will use only a Java + IDE and real-world examples to demonstrate how iBATIS is used to create + an effective persistence layer for your application. He will risk life + and limb (or at least his reputation) coding before an audience, to build + the back end of a simple Java application using a Test Driven approach. + No code snippets here, the persistence layer will be coded from scratch -- + with no safety net! Clinton will also be presenting the + http://javasymposium.techtarget.com/html/det_descriptions.htm#CBeginAgile"; target="_new">Bottom 10 Reasons Agile Teams Fail. + Visit the http://javasymposium.techtarget.com/"; target="_new">The Server Side Java Symposium homepage for more information. + + December 10, 2005 - San Diego, California, USA ApacheCon US 2005 Modified: ibatis/trunk/site/pages/newsbyte.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/newsbyte.vm?rev=370868&r1=370867&r2=370868&view=diff == --- ibatis/trunk/site/pages/newsbyte.vm (original) +++ ibatis/trunk/site/pages/newsbyte.vm Fri Jan 20 09:29:05 2006 @@ -1,3 +1,3 @@ -http://www.apachecon.com";> + Modified: ibatis/trunk/site/setenv.bat URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/setenv.bat?rev=370868&r1=370867&r2=370868&view=diff == --- ibatis/trunk/site/setenv.bat (original) +++ ibatis/trunk/site/setenv.bat Fri Jan 20 09:29:05 2006 @@ -3,3 +3,5 @@ set BUILD_CP=%BUILD_CP%;%JAVA_HOME%\lib\tools.jar; set BUILD_CP=%BUILD_CP%;lib\ant-1.5.1.jar + +echo %BUILD_CP% \ No newline at end of file
svn commit: r371170 - in /ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine: cache/CacheModel.java mapping/statement/CachingStatement.java
Author: cbegin Date: Sat Jan 21 18:31:59 2006 New Revision: 371170 URL: http://svn.apache.org/viewcvs?rev=371170&view=rev Log: Fixed IBATIS-223 Thread deadlock due to CacheModel.flush() (Sven's fix) Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/cache/CacheModel.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/statement/CachingStatement.java Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/cache/CacheModel.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/cache/CacheModel.java?rev=371170&r1=371169&r2=371170&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/cache/CacheModel.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/cache/CacheModel.java Sat Jan 21 18:31:59 2006 @@ -24,17 +24,14 @@ import java.util.*; /** - * + * Wrapper for Caches. */ public class CacheModel implements ExecuteListener { - - private static final Map lockMap = new HashMap(); /** * This is used to represent null objects that are returned from the cache so * that they can be cached, too. */ public static final Object NULL_OBJECT = new Object(); - private final Object STATS_LOCK = new Object(); private int requests = 0; private int hits = 0; @@ -237,12 +234,9 @@ * Clears the cache */ public void flush() { -lastFlush = System.currentTimeMillis(); -// use the controller's key -CacheKey key = new CacheKey(); -key.update(controller); -synchronized (getLock(key)) { + synchronized (this) { controller.flush(this); + lastFlush = System.currentTimeMillis(); } } @@ -255,39 +249,32 @@ * @return The cached object (or null) */ public Object getObject(CacheKey key) { + Object value = null; synchronized (this) { if (flushInterval != NO_FLUSH_INTERVAL && System.currentTimeMillis() - lastFlush > flushInterval) { flush(); } -} -Object value = null; -synchronized (getLock(key)) { value = controller.getObject(this, key); -} - -if (serialize && !readOnly && (value != NULL_OBJECT && value != null)) { - try { -ByteArrayInputStream bis = new ByteArrayInputStream((byte[]) value); -ObjectInputStream ois = new ObjectInputStream(bis); -value = ois.readObject(); -ois.close(); - } catch (Exception e) { -throw new NestedRuntimeException("Error caching serializable object. Be sure you're not attempting to use " + -"a serialized cache for an object that may be taking advantage of lazy loading. Cause: " + e, e); + if (serialize && !readOnly && + (value != NULL_OBJECT && value != null)) { +try { + ByteArrayInputStream bis = new ByteArrayInputStream((byte[]) value); + ObjectInputStream ois = new ObjectInputStream(bis); + value = ois.readObject(); + ois.close(); +} catch (Exception e) { + throw new NestedRuntimeException("Error caching serializable object. Be sure you're not attempting to use " + + "a serialized cache for an object that may be taking advantage of lazy loading. Cause: " + e, e); +} } -} - -synchronized (STATS_LOCK) { requests++; if (value != null) { hits++; } } - return value; - } /** @@ -297,39 +284,21 @@ * @param value The object to be cached */ public void putObject(CacheKey key, Object value) { -if (null == value) value = NULL_OBJECT; -if (serialize && !readOnly && value != NULL_OBJECT) { - try { -ByteArrayOutputStream bos = new ByteArrayOutputStream(); -ObjectOutputStream oos = new ObjectOutputStream(bos); -oos.writeObject(value); -oos.flush(); -oos.close(); -value = bos.toByteArray(); - } catch (IOException e) { -throw new NestedRuntimeException("Error caching serializable object. Cause: " + e, e); + if (null == value) value = NULL_OBJECT; + synchronized ( this ) { + if (serialize && !readOnly && value != NULL_OBJECT) { +try { + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + ObjectOutputStream oos = new ObjectOutputStream(bos); + oos.writeObject(value); + oos.flush(); + oos.close(); + value = bos.toByteArray(); +} catch (IOException e) { + throw new NestedRuntimeException("Error caching serializable object. Cause: " + e, e); +} } -
svn commit: r371173 - in /ibatis/trunk/java/mapper/mapper2: src/com/ibatis/sqlmap/engine/mapper/ src/com/ibatis/sqlmap/engine/mapper/metadata/ test/com/ibatis/sqlmap/mapper/
Author: cbegin Date: Sat Jan 21 19:13:39 2006 New Revision: 371173 URL: http://svn.apache.org/viewcvs?rev=371173&view=rev Log: Implemented stats based name matcher for use with auto crud ops generation Added: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/Canonicalizer.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/Match.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/MatchCalculator.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/NameMatcher.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/metadata/ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/metadata/Column.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/metadata/Database.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/metadata/DatabaseFactory.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/metadata/Table.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/mapper/ ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/mapper/CanonicalizerTest.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/mapper/DatabaseMetadataTest.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/mapper/MatchCalculatorTest.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/mapper/NameMatcherTest.java Added: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/Canonicalizer.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/Canonicalizer.java?rev=371173&view=auto == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/Canonicalizer.java (added) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/Canonicalizer.java Sat Jan 21 19:13:39 2006 @@ -0,0 +1,177 @@ +package com.ibatis.sqlmap.engine.mapper; + +import java.util.StringTokenizer; +import java.util.Map; +import java.util.HashMap; +import java.util.Iterator; + +public class Canonicalizer { + + public Map buildCanonicalMap(String[] originals) { +return buildCanonicalMap(originals, null); + } + public Map buildCanonicalMap(String[] originals, String parentName) { +Map map = new HashMap(); +for (int i=0; i < originals.length; i++) { + map.put(originals[i], originals[i]); +} +upperCase(map); +removeUnderscores(map); +removePKFK(map); +removePrefixes(map); +removeSuffixes(map); +removePluralization(map); +removeParentName(map, parentName); +return map; + } + + private void removeParentName(Map map, String parentName) { +if (parentName != null) { + parentName = parentName.toUpperCase(); + Iterator i = map.keySet().iterator(); + while (i.hasNext()) { +String original = (String) i.next(); +String canonical = (String) map.get(original); +if (canonical.startsWith(parentName)) { + map.put(original, canonical.substring(parentName.length())); +} +if (canonical.endsWith(parentName)) { + map.put(original, canonical.substring(0, canonical.length() - parentName.length())); +} + } +} + } + + private void upperCase(Map map) { +Iterator i = map.keySet().iterator(); +while (i.hasNext()) { + String original = (String) i.next(); + String canonical = (String) map.get(original); + map.put(original, canonical.toUpperCase()); +} + } + + private void removePKFK(Map map) { +Iterator i = map.keySet().iterator(); +while (i.hasNext()) { + String original = (String) i.next(); + String canonical = (String) map.get(original); + if (canonical.startsWith("PK")) { +map.put(original, canonical.substring(2)); + } else if (canonical.startsWith("FK")) { +map.put(original, canonical.substring(2)); + } + if (canonical.endsWith("PK")) { +map.put(original, canonical.substring(0, canonical.length() - 2)); + } else if (canonical.endsWith("FK")) { +map.put(original, canonical.substring(0, canonical.length() - 2)); + } +} + } + + private void removePrefixes(Map map) { +int prefix = findPrefixLength(map); + +if (prefix > 1) { + Iterator i = map.keySet().iterator(); + while (i.hasNext()) { +String original = (String) i.next(); +String canonical = (String) map.get(original); +map.put(original, canonical.substring(prefix)); + } +} + } + + private void removeSuffixes(Map map) { +int suffix = findSuffixLength(map); + +if (suffix > 1) { + Iterator i = map.keySet().iterator(); + while (
svn commit: r371177 - in /ibatis/trunk/java/mapper/mapper2: build/build.properties build/version.properties doc/release.txt doc/wish-list.txt
Author: cbegin Date: Sat Jan 21 20:25:07 2006 New Revision: 371177 URL: http://svn.apache.org/viewcvs?rev=371177&view=rev Log: 2.1.7 release Removed: ibatis/trunk/java/mapper/mapper2/doc/wish-list.txt Modified: ibatis/trunk/java/mapper/mapper2/build/build.properties ibatis/trunk/java/mapper/mapper2/build/version.properties ibatis/trunk/java/mapper/mapper2/doc/release.txt Modified: ibatis/trunk/java/mapper/mapper2/build/build.properties URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/build/build.properties?rev=371177&r1=371176&r2=371177&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/build.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/build.properties Sat Jan 21 20:25:07 2006 @@ -31,6 +31,6 @@ reports.coverage=./reports/coverage deploy.path=./exploded -deploy.prefix=iBATIS_DBL-2.1.6. +deploy.prefix=iBATIS_DBL-2.1.7. deploy.ext=.zip deploy.files=./deploy Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=371177&r1=371176&r2=371177&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/version.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/version.properties Sat Jan 21 20:25:07 2006 @@ -1,5 +1,5 @@ #Build version info -#Sun Nov 06 11:16:16 MST 2005 -version=2.1.6 -buildDate=2005/11/06 11\:16 -buildNum=591 +#Sat Jan 21 21:08:44 MST 2006 +version=2.1.7 +buildDate=2006/01/21 21\:08 +buildNum=597 Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=371177&r1=371176&r2=371177&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original) +++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Sat Jan 21 20:25:07 2006 @@ -2,6 +2,19 @@ Build Number: @buildNum@ -- + 2.1.7 - Jan 21, 2006 +-- + + o Fixed IBATIS-218 'i' character in property names, with Turkish locale + o Fixed IBATIS-219 NoClassDefFoundError: oracle/toplink/sessions/UnitOfWork + o Fixed IBATIS-228 Exception is thrown by TransactionManager when multiple commits are issued against a started transaction. + o Fixed IBATIS-229 Method getWriteablePropertyNames in com.ibatis.common.beans.ComplexBeanProbe gets the readable property names + o Fixed IBATIS-220 Null Pointer in SqlExecutor.handleResults where ResultSet is null. + o Fixed IBATIS-213 SELECT statement returns unexpected result when 'groupBy' and 'nullValue' are specified in resultMaps. + o Fixed IBATIS-221 Can't store a List in a Map + o Fixed IBATIS-223 Thread deadlock due to CacheModel.flush() + +-- 2.1.6 - Nov 5, 2005 --
svn commit: r371181 - in /ibatis/trunk/site: pages/archive.vm pages/dao.vm pages/datamapper.vm pages/index.vm pages/petstore.vm template/ac2005us_banner_468x60.jpg template/jp4.gif template/menu.vm
Author: cbegin Date: Sat Jan 21 20:39:37 2006 New Revision: 371181 URL: http://svn.apache.org/viewcvs?rev=371181&view=rev Log: (empty) Removed: ibatis/trunk/site/template/ac2005us_banner_468x60.jpg Modified: ibatis/trunk/site/pages/archive.vm ibatis/trunk/site/pages/dao.vm ibatis/trunk/site/pages/datamapper.vm ibatis/trunk/site/pages/index.vm ibatis/trunk/site/pages/petstore.vm ibatis/trunk/site/template/jp4.gif ibatis/trunk/site/template/menu.vm Modified: ibatis/trunk/site/pages/archive.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/archive.vm?rev=371181&r1=371180&r2=371181&view=diff == --- ibatis/trunk/site/pages/archive.vm (original) +++ ibatis/trunk/site/pages/archive.vm Sat Jan 21 20:39:37 2006 @@ -7,6 +7,17 @@ News Archive + iBATIS Java 2.1.6 - Maintenance Release + (Nov 5, 2005) Just released a maintenance release to take care of the summer bug list. This puts us + in a good spot to start planning for 2.2.0, where we're currently discussing some changes to the current + version support levels, which will enable us to add a bunch of new features. If you aren't on the dev or + Java mailing list, then join up to discuss! For now, enjoy the cleanliness of version 2.1.6. + + + Get iBATIS 2.1.6 from the Downloads page. + + + iBATIS for Ruby (August 25, 2005) It's official. iBATIS is no longer a simple tool or framework. It is a genuine approach to integrating object oriented applications and relational databases. We could have said that Modified: ibatis/trunk/site/pages/dao.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/dao.vm?rev=371181&r1=371180&r2=371181&view=diff == --- ibatis/trunk/site/pages/dao.vm (original) +++ ibatis/trunk/site/pages/dao.vm Sat Jan 21 20:39:37 2006 @@ -20,8 +20,6 @@ includes the SQL Maps Framework. Although packaged together, the DAO Framework is completely independent and can be used without SQL Maps. .NET users can download the DataAccess framework seperately from the DataMapper framework. -Download the iBATIS Data Access Objects framework and documentation! - Modified: ibatis/trunk/site/pages/datamapper.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/datamapper.vm?rev=371181&r1=371180&r2=371181&view=diff == --- ibatis/trunk/site/pages/datamapper.vm (original) +++ ibatis/trunk/site/pages/datamapper.vm Sat Jan 21 20:39:37 2006 @@ -18,8 +18,6 @@ nearly any database to any object model and is very tolerant of legacy designs, or even bad designs. This is all achieved without special database tables, peer objects or code generation. -Download the iBATIS Data Mapper framework and documentation! - Modified: ibatis/trunk/site/pages/index.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/index.vm?rev=371181&r1=371180&r2=371181&view=diff == --- ibatis/trunk/site/pages/index.vm (original) +++ ibatis/trunk/site/pages/index.vm Sat Jan 21 20:39:37 2006 @@ -39,22 +39,37 @@ News + +iBATIS Java 2.1.7 - Maintenance Release - Last 1.3 Compatible Release! + +(Jan 21, 2006) Well, as we said back in November, iBATIS will require JDK 1.4 as of the 2.2.0 release. + We expect that this 2.1.7 release will be the last JDK 1.3 compatible release that we make, unless a serious + stability or security flaw is found, in which case we'll deploy a fix from a branch of the source. This release + contains a number of minor bug fixes, an enhanced entity resolver. 2.2.0 will be an interesting release with + some new features that we've been looking forward to. + + + +Get iBATIS 2.1.7 from the Downloads page. + + + iBATIS.NET DataMapper V1.3 Beta and DataAccess V1.7 Beta - (Dec 15, 2005) The iBATIS.NET team is pleased to announce that the Beta distributions of the DataMapper V1.3 and DataAccess V1.7 frameworks are ready! - Although this is primarily for bug fixes and documentation updates, there are some important changes: + (Dec 15, 2005) The iBATIS.NET team is pleased to announce that the Beta distributions of the DataMapper V1.3 and DataAccess V1.7 frameworks are ready! + Although this is primarily for bug fixes and documentation updates, there are some important changes: Enabling Intellisense in Visual Studio 2003 for configuration and mapping files -Updates to configuration and mapping schemas -Now uses Castle.DynamicProxy V1.1.5.0 -Added assembly signatures -Provides custom logger support -Removes the use of Xml serialization for loading conf
svn commit: r371182 - in /ibatis/trunk/site/pages: dotnetdownloads.vm downloads.vm javadownloads.vm
Author: cbegin Date: Sat Jan 21 20:40:18 2006 New Revision: 371182 URL: http://svn.apache.org/viewcvs?rev=371182&view=rev Log: (empty) Added: ibatis/trunk/site/pages/dotnetdownloads.vm ibatis/trunk/site/pages/javadownloads.vm Removed: ibatis/trunk/site/pages/downloads.vm Added: ibatis/trunk/site/pages/dotnetdownloads.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/dotnetdownloads.vm?rev=371182&view=auto == --- ibatis/trunk/site/pages/dotnetdownloads.vm (added) +++ ibatis/trunk/site/pages/dotnetdownloads.vm Sat Jan 21 20:40:18 2006 @@ -0,0 +1,51 @@ + + +iBATIS Downloads + + + + +iBATIS.NET Downloads + +Releases + + http://cvs.apache.org/dist/ibatis/ibatis.net/beta/IBatisNet.DataMapper-bin-1.3.0.zip";>DataMapper 1.3 [http://cvs.apache.org/dist/ibatis/ibatis.net/beta/IBatisNet.DataMapper-bin-1.3.0.md5";>MD5] (Apache Beta) + http://cvs.apache.org/dist/ibatis/ibatis.net/beta/IBatisNet.DataAccess-bin-1.7.0.zip";>DataAccess 1.7 [http://cvs.apache.org/dist/ibatis/ibatis.net/beta/IBatisNet.DataAccess-bin-1.7.0.md5";>MD5] (Apache Beta) + http://cvs.apache.org/dist/ibatis/ibatis.net/beta/Source.zip";>Source Revision 356824 [http://cvs.apache.org/dist/ibatis/ibatis.net/beta/Source.md5";>MD5] + + + + http://prdownloads.sourceforge.net/ibatisnet/DataMapper-bin-1.2.1.zip?download";>DataMapper 1.2.1 (Apache General Availability) + http://prdownloads.sourceforge.net/ibatisnet/DataAccess-bin-1.6.1.zip?download";>DataAccess 1.6.1 (Apache General Availability) + http://prdownloads.sourceforge.net/ibatisnet/iBATIS-src-SVN-179390.zip?download";>Source Revision 179390 + http://sourceforge.net/project/showfiles.php?group_id=109704";>Old Releases (at SourceForge) + + + + Examples + + http://prdownloads.sourceforge.net/ibatisnet/Tutorial-1.2.1.zip?download";>DataMapper Tutorial 1.2.1 Docs and Source + http://prdownloads.sourceforge.net/ibatisnet/NPetshop-1.0.0.RC1.zip?download";>NPetShop Example Application + + +Documentation + + + +English + + http://cvs.apache.org/dist/ibatis/ibatis.net/beta/Doc-DataMapper-1.3.0.zip";>DataMapper 1.3 Beta Docs [http://cvs.apache.org/dist/ibatis/ibatis.net/beta/Doc-DataMapper-1.3.0.md5";>MD5] (CHM, PDF, and SDK Help) + http://cvs.apache.org/dist/ibatis/ibatis.net/beta/Doc-DataAccess-1.7.0.zip";>DataAccess 1.7 Beta Docs [http://cvs.apache.org/dist/ibatis/ibatis.net/beta/Doc-DataAccess-1.7.0.md5";>MD5] (CHM, PDF, and SDK Help) + + + http://prdownloads.sourceforge.net/ibatisnet/Tutorial-1.2.1.zip?download";>DataMapper Tutorial 1.2.1 Docs and Source + http://prdownloads.sourceforge.net/ibatisnet/DataMapper-doc-1.2.1.zip?download";>DataMapper 1.2.1 Docs (CHM, PDF, and SDK Help) + http://prdownloads.sourceforge.net/ibatisnet/DataAccess-doc-1.6.1.zip?download";>DataAccess 1.6.1 Docs (CHM, PDF, and SDK Help) + http://ibatisnet.sourceforge.net/docs/en/sdkhelp/web/";>DataMapper 1.2.1 and DataAccess 1.6.1 Online SDK Help + + + + + + + Added: ibatis/trunk/site/pages/javadownloads.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/javadownloads.vm?rev=371182&view=auto == --- ibatis/trunk/site/pages/javadownloads.vm (added) +++ ibatis/trunk/site/pages/javadownloads.vm Sat Jan 21 20:40:18 2006 @@ -0,0 +1,42 @@ + + +iBATIS Downloads + + + + +iBATIS for Java Downloads + +Releases + + http://cvs.apache.org/dist/ibatis/beta/iBATIS_DBL-2.1.7.597.zip";>iBATIS Java 2.1.7 w/Binaries and Source (Jan 21, 2006 - Beta) + http://prdownloads.sourceforge.net/ibatisdb/iBATIS_DBL-2.1.5.582.zip?download";>iBATIS Java 2.1.5 w/Binaries and Source (Jul 17, 2005 - General Availability) + http://sourceforge.net/project/showfiles.php?group_id=61326";>Old Releases (at SourceForge) + + +Examples + + http://cvs.apache.org/dist/ibatis/beta/JPetStore-5.0.zip";>JPetStore 5.0 Example Application (Apache Alpha) + + +Documentation + + English + + http://prdownloads.sourceforge.net/ibatisnet/DevGuide.pdf?download";>Generic Developer Guide + http://prdownloads.sourceforge.net/ibatisdb/iBATIS-SqlMaps-2.pdf?download";>SQL Maps for Java, Developer Guide + http://prdownloads.sourceforge.net/ibatisdb/iBATIS-SqlMaps-2-Tutorial.pdf?download";>SQL Maps for Java, Tutorial + http://prdownloads.sourceforge.net/ibatisdb/iBATIS-DAO-2.pdf?download";>DAO for Java, Developer Guide + + +
svn commit: r371183 - in /ibatis/trunk/site: pages/petstore.vm template/jp4.gif
Author: cbegin Date: Sat Jan 21 20:45:28 2006 New Revision: 371183 URL: http://svn.apache.org/viewcvs?rev=371183&view=rev Log: (empty) Modified: ibatis/trunk/site/pages/petstore.vm ibatis/trunk/site/template/jp4.gif Modified: ibatis/trunk/site/pages/petstore.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/petstore.vm?rev=371183&r1=371182&r2=371183&view=diff == --- ibatis/trunk/site/pages/petstore.vm (original) +++ ibatis/trunk/site/pages/petstore.vm Sat Jan 21 20:45:28 2006 @@ -9,53 +9,12 @@ iBATIS PetStore -The official example application for iBATIS SQL Maps 2.0 and DAO 2.0 +The official example application for iBATIS Data Mapper and DAO frameworks -JPetStore is a fully functional web application based on iBATIS open source persistence layer products, including the -SQL Maps 2.0 and Data Access Objects 2.0 frameworks. JPetStore is an excellent example of how these frameworks can be -implemented in a typical J2EE web application. +PetStore is a fully functional web application based on iBATIS open source persistence layer products, including the +SQL Maps and Data Access Objects frameworks. JPetStore is an excellent example of how the iBATIS frameworks can be +implemented in a typical J2EE and .NET web application. -Features - - - SQL Maps 2.0 - Data Access Objects 2.0 - POJO Service Layer - POJO Domain Classes - Struts MVC (Experimental BeanAction approach) - JSP Presentation Layer - - -Qualities - - - 100% freeware and open source tools and frameworks - Uses well known patterns and best practices - Highly productive programming model - Minimal Dependencies - No stored procedures - No generated code - - -A New Beginning (and a work in progress) - -JPetStore 4.0 marks a new start for JPetStore. Now that all of the pet store comparisons and benchmarks are behind -it (hopefully), the focus of JPetStore 4 will be realigned. JPetStore 4 will now exclusively be a good example of -application best practices and good design principles. But it's not there yet. A lot of old scars remain from its -past as a tool for comparison to other platforms. These scars will slowly be erased. Here's the plan: - - - Reimplement the presentation layer to one of the following: Struts 1.1, JSF or possibly Tapestry - - Currently JP4 uses an experimental Struts implementation --see BeanAction Javadocs for more - - Replace the database schema with a better one. The current database is (and has always been) a nightmare of poor database design practices. - Consider middle tier frameworks with AOP and/or IoC features. I'm totally behind the simplification of J2EE, and I think AOP and IoC are the paths that will lead us to achieving that goal. - - -NPetShop -The Pet Store application has also been written for .NET and shares much of the same qualities as its Java brother. However, -because it was written entirely outside of the context of competition, it doesn't share as many of the battle scars! :-) Modified: ibatis/trunk/site/template/jp4.gif URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/template/jp4.gif?rev=371183&r1=371182&r2=371183&view=diff == Binary files - no diff available.
svn commit: r371184 - /ibatis/tags/java_release_2.1.7-597/
Author: cbegin Date: Sat Jan 21 20:47:19 2006 New Revision: 371184 URL: http://svn.apache.org/viewcvs?rev=371184&view=rev Log: Copied remotely Added: ibatis/tags/java_release_2.1.7-597/ - copied from r371183, ibatis/trunk/
svn commit: r371208 - in /ibatis/trunk/java/mapper/mapper2: build/build.properties build/build.xml build/version.properties doc/jar-dependencies.txt doc/release.txt test/com/ibatis/sqlmap/DynamicPrepe
Author: cbegin Date: Sat Jan 21 21:42:15 2006 New Revision: 371208 URL: http://svn.apache.org/viewcvs?rev=371208&view=rev Log: (empty) Added: ibatis/trunk/java/mapper/mapper2/test/testdomain/MyBean.java Modified: ibatis/trunk/java/mapper/mapper2/build/build.properties ibatis/trunk/java/mapper/mapper2/build/build.xml ibatis/trunk/java/mapper/mapper2/build/version.properties ibatis/trunk/java/mapper/mapper2/doc/jar-dependencies.txt ibatis/trunk/java/mapper/mapper2/doc/release.txt ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/DynamicPrependTest.java Modified: ibatis/trunk/java/mapper/mapper2/build/build.properties URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/build/build.properties?rev=371208&r1=371207&r2=371208&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/build.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/build.properties Sat Jan 21 21:42:15 2006 @@ -3,7 +3,6 @@ # src.rt=../src -src.compat=../compatibility src.dev=../devsrc src.test=../test Modified: ibatis/trunk/java/mapper/mapper2/build/build.xml URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/build/build.xml?rev=371208&r1=371207&r2=371208&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/build.xml (original) +++ ibatis/trunk/java/mapper/mapper2/build/build.xml Sat Jan 21 21:42:15 2006 @@ -4,7 +4,6 @@ - @@ -44,11 +43,6 @@ - - - - - @@ -99,14 +93,10 @@ - - - - @@ -170,7 +160,6 @@ - @@ -199,14 +188,7 @@ - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - @@ -324,7 +284,7 @@ - + @@ -342,16 +302,5 @@ - - Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=371208&r1=371207&r2=371208&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/version.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/version.properties Sat Jan 21 21:42:15 2006 @@ -1,5 +1,5 @@ #Build version info -#Sat Jan 21 21:08:44 MST 2006 +#Sat Jan 21 22:36:29 MST 2006 version=2.1.7 -buildDate=2006/01/21 21\:08 -buildNum=597 +buildDate=2006/01/21 22\:36 +buildNum=600 Modified: ibatis/trunk/java/mapper/mapper2/doc/jar-dependencies.txt URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/doc/jar-dependencies.txt?rev=371208&r1=371207&r2=371208&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/jar-dependencies.txt (original) +++ ibatis/trunk/java/mapper/mapper2/doc/jar-dependencies.txt Sat Jan 21 21:42:15 2006 @@ -1,16 +1,9 @@ JAR File Dependencies - -iBATIS 2.0 has no dependencies, as long as you're running JDK 1.4. +iBATIS 2.0 requires JDK 1.4 - * If you're running less than JDK 1.4 and if your app server also -doesn't already supply the following, then you may need these: - - JDBC 2.0 Extensions(http://java.sun.com/products/jdbc/download.html) - JTA 1.0.1a (http://java.sun.com/products/jta/) - Xerces 2.4.0 (http://xml.apache.org/xerces2-j/) - -All remaining libraries and JAR files are completely optional. Here's +All other libraries and JAR files are completely optional. Here's a summary of those libraries and when you need to use them. The versions listed here are simply the version tested. Higher versions may or may not work. @@ -31,10 +24,6 @@ Commons Logging(http://jakarta.apache.org/commons/) Log4J 1.2.8(http://logging.apache.org/log4j/docs/) - - * If you want to use legacy (1.x) DAO framework or SQL Map APIs you'll need: - - iBATIS DAO 1.3.1 (http://sourceforge.net/projects/ibatisdb/) That's it! Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=371208&r1=371207&r2=371208&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/r
svn commit: r371209 - /ibatis/trunk/java/mapper/mapper2/test/compatibility/
Author: cbegin Date: Sat Jan 21 21:43:19 2006 New Revision: 371209 URL: http://svn.apache.org/viewcvs?rev=371209&view=rev Log: Removed iBATIS 1.x compatibility libraries. Removed: ibatis/trunk/java/mapper/mapper2/test/compatibility/
svn commit: r371210 - /ibatis/trunk/java/mapper/mapper2/compatibility/
Author: cbegin Date: Sat Jan 21 21:43:47 2006 New Revision: 371210 URL: http://svn.apache.org/viewcvs?rev=371210&view=rev Log: Removed iBATIS 1.x compatibility libraries. Removed: ibatis/trunk/java/mapper/mapper2/compatibility/
svn commit: r371211 - /ibatis/trunk/java/mapper/mapper2/src/com/ibatis/dao/client/template/JtaDaoTemplate.java
Author: cbegin Date: Sat Jan 21 21:46:57 2006 New Revision: 371211 URL: http://svn.apache.org/viewcvs?rev=371211&view=rev Log: Deleted deprecated JtaDaoTemplate Removed: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/dao/client/template/JtaDaoTemplate.java
svn commit: r371212 - /ibatis/trunk/java/mapper/mapper2/doc/release.txt
Author: cbegin Date: Sat Jan 21 21:47:24 2006 New Revision: 371212 URL: http://svn.apache.org/viewcvs?rev=371212&view=rev Log: Deleted deprecated JtaDaoTemplate Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=371212&r1=371211&r2=371212&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original) +++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Sat Jan 21 21:47:24 2006 @@ -6,6 +6,7 @@ -- o Removed iBATIS 1.x compatibility libraries, they are no longer supported. + o Removed deprectated JtaDaoTemplate -- 2.1.7 - Jan 21, 2006
svn commit: r372039 - in /ibatis/trunk/java/mapper/mapper2: src/com/ibatis/sqlmap/engine/mapper/ src/com/ibatis/sqlmap/engine/mapper/matcher/ src/com/ibatis/sqlmap/engine/mapper/metadata/ test/com/iba
Author: cbegin Date: Tue Jan 24 14:47:31 2006 New Revision: 372039 URL: http://svn.apache.org/viewcvs?rev=372039&view=rev Log: added primary key support to database metadata Added: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/ClassMapper.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/matcher/ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/matcher/Canonicalizer.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/matcher/Match.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/matcher/MatchCalculator.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/matcher/NameMatcher.java Removed: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/Canonicalizer.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/Match.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/MatchCalculator.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/NameMatcher.java Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/metadata/DatabaseFactory.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/metadata/Table.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/mapper/CanonicalizerTest.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/mapper/DatabaseMetadataTest.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/mapper/MatchCalculatorTest.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/mapper/NameMatcherTest.java Added: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/ClassMapper.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/ClassMapper.java?rev=372039&view=auto == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/ClassMapper.java (added) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/ClassMapper.java Tue Jan 24 14:47:31 2006 @@ -0,0 +1,7 @@ +package com.ibatis.sqlmap.engine.mapper; + +public class ClassMapper { + + + +} Added: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/matcher/Canonicalizer.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/matcher/Canonicalizer.java?rev=372039&view=auto == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/matcher/Canonicalizer.java (added) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapper/matcher/Canonicalizer.java Tue Jan 24 14:47:31 2006 @@ -0,0 +1,177 @@ +package com.ibatis.sqlmap.engine.mapper.matcher; + +import java.util.StringTokenizer; +import java.util.Map; +import java.util.HashMap; +import java.util.Iterator; + +public class Canonicalizer { + + public Map buildCanonicalMap(String[] originals) { +return buildCanonicalMap(originals, null); + } + public Map buildCanonicalMap(String[] originals, String parentName) { +Map map = new HashMap(); +for (int i=0; i < originals.length; i++) { + map.put(originals[i], originals[i]); +} +upperCase(map); +removeUnderscores(map); +removePKFK(map); +removePrefixes(map); +removeSuffixes(map); +removePluralization(map); +removeParentName(map, parentName); +return map; + } + + private void removeParentName(Map map, String parentName) { +if (parentName != null) { + parentName = parentName.toUpperCase(); + Iterator i = map.keySet().iterator(); + while (i.hasNext()) { +String original = (String) i.next(); +String canonical = (String) map.get(original); +if (canonical.startsWith(parentName)) { + map.put(original, canonical.substring(parentName.length())); +} +if (canonical.endsWith(parentName)) { + map.put(original, canonical.substring(0, canonical.length() - parentName.length())); +} + } +} + } + + private void upperCase(Map map) { +Iterator i = map.keySet().iterator(); +while (i.hasNext()) { + String original = (String) i.next(); + String canonical = (String) map.get(original); + map.put(original, canonical.toUpperCase()); +} + } + + private void removePKFK(Map map) { +Iterator i = map.keySet().iterator(); +while (i.hasNext()) { + String original = (String) i.next(); + String canonical = (String) map.get(original); + if (canonical.startsWith("PK")) { +map.put(original, canonical.substring(2)); + } else if (canonical.startsWith("FK")) { +map.put(original, canonical.substring(2)); +
svn commit: r372417 - in /ibatis/trunk/java/mapper/mapper2/src/com/ibatis: common/beans/ClassInfo.java sqlmap/engine/builder/xml/SqlMapConfigParser.java sqlmap/engine/builder/xml/sql-map-config-2.dtd
Author: cbegin Date: Wed Jan 25 19:15:57 2006 New Revision: 372417 URL: http://svn.apache.org/viewcvs?rev=372417&view=rev Log: added setting to enable/disable ClassInfo caching. Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ClassInfo.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapConfigParser.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-config-2.dtd Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ClassInfo.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ClassInfo.java?rev=372417&r1=372416&r2=372417&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ClassInfo.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ClassInfo.java Wed Jan 25 19:15:57 2006 @@ -28,6 +28,7 @@ */ public class ClassInfo { + private static boolean cacheEnabled = true; private static final String[] EMPTY_STRING_ARRAY = new String[0]; private static final Set SIMPLE_TYPE_SET = new HashSet(); private static final Map CLASS_INFO_MAP = Collections.synchronizedMap(new HashMap()); @@ -259,14 +260,22 @@ * @return The method cache for the class */ public static ClassInfo getInstance(Class clazz) { -synchronized (clazz) { - ClassInfo cache = (ClassInfo) CLASS_INFO_MAP.get(clazz); - if (cache == null) { -cache = new ClassInfo(clazz); -CLASS_INFO_MAP.put(clazz, cache); +if (cacheEnabled) { + synchronized (clazz) { +ClassInfo cache = (ClassInfo) CLASS_INFO_MAP.get(clazz); +if (cache == null) { + cache = new ClassInfo(clazz); + CLASS_INFO_MAP.put(clazz, cache); +} +return cache; } - return cache; +} else { + return new ClassInfo(clazz); } + } + + public static void setCacheEnabled(boolean cacheEnabled) { +ClassInfo.cacheEnabled = cacheEnabled; } /** Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapConfigParser.java URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapConfigParser.java?rev=372417&r1=372416&r2=372417&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapConfigParser.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapConfigParser.java Wed Jan 25 19:15:57 2006 @@ -5,6 +5,7 @@ import com.ibatis.common.xml.NodeletParser; import com.ibatis.common.xml.NodeletUtils; import com.ibatis.common.exception.NestedRuntimeException; +import com.ibatis.common.beans.ClassInfo; import com.ibatis.sqlmap.client.SqlMapClient; import com.ibatis.sqlmap.client.SqlMapException; import com.ibatis.sqlmap.client.extensions.TypeHandlerCallback; @@ -145,6 +146,10 @@ vars.errorCtx.setActivity("loading settings properties"); Properties attributes = NodeletUtils.parseAttributes(node, vars.properties); + +String classInfoCacheEnabledAttr = attributes.getProperty("classInfoCacheEnabled"); +boolean classInfoCacheEnabled = (classInfoCacheEnabledAttr == null || "true".equals(classInfoCacheEnabledAttr)); +ClassInfo.setCacheEnabled(classInfoCacheEnabled); String lazyLoadingEnabledAttr = attributes.getProperty("lazyLoadingEnabled"); boolean lazyLoadingEnabled = (lazyLoadingEnabledAttr == null || "true".equals(lazyLoadingEnabledAttr)); Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-config-2.dtd URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-config-2.dtd?rev=372417&r1=372416&r2=372417&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-config-2.dtd (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-config-2.dtd Wed Jan 25 19:15:57 2006 @@ -29,6 +29,7 @@
svn commit: r375754 - /ibatis/trunk/site/pages/javadownloads.vm
Author: cbegin Date: Tue Feb 7 14:31:50 2006 New Revision: 375754 URL: http://svn.apache.org/viewcvs?rev=375754&view=rev Log: Moved all downloads to Apache Modified: ibatis/trunk/site/pages/javadownloads.vm Modified: ibatis/trunk/site/pages/javadownloads.vm URL: http://svn.apache.org/viewcvs/ibatis/trunk/site/pages/javadownloads.vm?rev=375754&r1=375753&r2=375754&view=diff == --- ibatis/trunk/site/pages/javadownloads.vm (original) +++ ibatis/trunk/site/pages/javadownloads.vm Tue Feb 7 14:31:50 2006 @@ -7,32 +7,49 @@ iBATIS for Java Downloads -Releases +Current Release - http://cvs.apache.org/dist/ibatis/beta/iBATIS_DBL-2.1.7.597.zip";>iBATIS Java 2.1.7 w/Binaries and Source (Jan 21, 2006 - Beta) - http://prdownloads.sourceforge.net/ibatisdb/iBATIS_DBL-2.1.5.582.zip?download";>iBATIS Java 2.1.5 w/Binaries and Source (Jul 17, 2005 - General Availability) - http://sourceforge.net/project/showfiles.php?group_id=61326";>Old Releases (at SourceForge) + http://cvs.apache.org/dist/ibatis/ibatis.java/builds/iBATIS_DBL-2.1.7.597.zip";>iBATIS Java 2.1.7 w/Binaries and Source (Jan 21, 2006) + + +Release Archive + + http://cvs.apache.org/dist/ibatis/ibatis.java/builds/";>Past Releases at Apache (2.1.5+) + http://sourceforge.net/project/showfiles.php?group_id=61326";>Past Releases at SourceForge (1.0 - 2.1.5) Examples - http://cvs.apache.org/dist/ibatis/beta/JPetStore-5.0.zip";>JPetStore 5.0 Example Application (Apache Alpha) + http://cvs.apache.org/dist/ibatis/ibatis.java/builds/JPetStore-5.0.zip";>JPetStore 5.0 Example Application Documentation - English + http://svn.apache.org/repos/asf/ibatis/trunk/java/docs/";>Latest OpenOffice Documents in Subversion + + + English PDF + + http://cvs.apache.org/dist/ibatis/ibatis.java/docs/iBATIS-SqlMaps-2.pdf";>SQL Maps for Java, Developer Guide + http://cvs.apache.org/dist/ibatis/ibatis.java/docs/iBATIS-SqlMaps-2-Tutorial.pdf";>SQL Maps for Java, Tutorial + http://cvs.apache.org/dist/ibatis/ibatis.java/docs/iBATIS-DAO-2.pdf";>DAO for Java, Developer Guide + + + Chinese PDF + + http://cvs.apache.org/dist/ibatis/ibatis.java/docs/iBATIS-SqlMaps-2_cn.pdf";>SQL Maps for Java, Developer Guide + http://cvs.apache.org/dist/ibatis/ibatis.java/docs/iBATIS-SqlMaps-2-Tutorial_cn.pdf";>SQL Maps for Java, Tutorial + + + Korean PDF - http://prdownloads.sourceforge.net/ibatisnet/DevGuide.pdf?download";>Generic Developer Guide - http://prdownloads.sourceforge.net/ibatisdb/iBATIS-SqlMaps-2.pdf?download";>SQL Maps for Java, Developer Guide - http://prdownloads.sourceforge.net/ibatisdb/iBATIS-SqlMaps-2-Tutorial.pdf?download";>SQL Maps for Java, Tutorial - http://prdownloads.sourceforge.net/ibatisdb/iBATIS-DAO-2.pdf?download";>DAO for Java, Developer Guide + http://cvs.apache.org/dist/ibatis/ibatis.java/docs/iBATIS-SqlMaps-2_ko.pdf";>SQL Maps for Java, Developer Guide + http://cvs.apache.org/dist/ibatis/ibatis.java/docs/iBATIS-SqlMaps-2-Tutorial_ko.pdf";>SQL Maps for Java, Tutorial - Chinese + Italian PDF - http://prdownloads.sourceforge.net/ibatisdb/iBATIS-SqlMaps-2_cn.pdf?download";>SQL Maps for Java, Developer Guide - http://prdownloads.sourceforge.net/ibatisdb/iBATIS-SqlMaps-2-Tutorial_cn.pdf?download";>SQL Maps for Java, Tutorial + http://cvs.apache.org/dist/ibatis/ibatis.java/docs/iBATIS-SqlMaps-2-Tutorial-it.pdf";>SQL Maps for Java, Tutorial
svn commit: r387574 - /ibatis/trunk/java/jpetstore/jpetstore5/src/com/ibatis/jpetstore/persistence/sqlmapdao/sql/Category.xml
Author: cbegin Date: Tue Mar 21 08:25:42 2006 New Revision: 387574 URL: http://svn.apache.org/viewcvs?rev=387574&view=rev Log: Removed unused resultMap Modified: ibatis/trunk/java/jpetstore/jpetstore5/src/com/ibatis/jpetstore/persistence/sqlmapdao/sql/Category.xml Modified: ibatis/trunk/java/jpetstore/jpetstore5/src/com/ibatis/jpetstore/persistence/sqlmapdao/sql/Category.xml URL: http://svn.apache.org/viewcvs/ibatis/trunk/java/jpetstore/jpetstore5/src/com/ibatis/jpetstore/persistence/sqlmapdao/sql/Category.xml?rev=387574&r1=387573&r2=387574&view=diff == --- ibatis/trunk/java/jpetstore/jpetstore5/src/com/ibatis/jpetstore/persistence/sqlmapdao/sql/Category.xml (original) +++ ibatis/trunk/java/jpetstore/jpetstore5/src/com/ibatis/jpetstore/persistence/sqlmapdao/sql/Category.xml Tue Mar 21 08:25:42 2006 @@ -12,12 +12,6 @@ - - - - - - SELECT CATID AS categoryId,
svn commit: r408124 - /ibatis/trunk/rb/
Author: cbegin Date: Sat May 20 20:43:47 2006 New Revision: 408124 URL: http://svn.apache.org/viewvc?rev=408124&view=rev Log: For Ruby version of iBATIS. Added: ibatis/trunk/rb/
svn commit: r408126 - /ibatis/trunk/rb/docs/
Author: cbegin Date: Sat May 20 20:48:22 2006 New Revision: 408126 URL: http://svn.apache.org/viewvc?rev=408126&view=rev Log: For user documentation Added: ibatis/trunk/rb/docs/
svn commit: r408127 - in /ibatis/trunk/rb/rbatis: ./ generators/ generators/rbatis/ generators/rbatis/templates/ lib/ lib/rbatis/ test/
Author: cbegin Date: Sat May 20 20:52:53 2006 New Revision: 408127 URL: http://svn.apache.org/viewvc?rev=408127&view=rev Log: First import of iBATIS for Ruby (rBatis) Added: ibatis/trunk/rb/rbatis/ ibatis/trunk/rb/rbatis/generators/ ibatis/trunk/rb/rbatis/generators/rbatis/ ibatis/trunk/rb/rbatis/generators/rbatis/USAGE ibatis/trunk/rb/rbatis/generators/rbatis/rbatis_generator.rb ibatis/trunk/rb/rbatis/generators/rbatis/templates/ ibatis/trunk/rb/rbatis/generators/rbatis/templates/model.rb ibatis/trunk/rb/rbatis/generators/rbatis/templates/unit_test.rb ibatis/trunk/rb/rbatis/init.rb ibatis/trunk/rb/rbatis/lib/ ibatis/trunk/rb/rbatis/lib/rbatis/ ibatis/trunk/rb/rbatis/lib/rbatis.rb ibatis/trunk/rb/rbatis/lib/rbatis/rails_integration.rb ibatis/trunk/rb/rbatis/lib/rbatis/sanitizer.rb ibatis/trunk/rb/rbatis/test/ ibatis/trunk/rb/rbatis/test/rbatis_test.rb Added: ibatis/trunk/rb/rbatis/generators/rbatis/USAGE URL: http://svn.apache.org/viewvc/ibatis/trunk/rb/rbatis/generators/rbatis/USAGE?rev=408127&view=auto == --- ibatis/trunk/rb/rbatis/generators/rbatis/USAGE (added) +++ ibatis/trunk/rb/rbatis/generators/rbatis/USAGE Sat May 20 20:52:53 2006 @@ -0,0 +1,8 @@ +Description: +Generates a RBatis::Base stub. + +Examples: +./script/generate rbatis order +will generate: + /app/models/order.rb + /test/unit/order.rb Added: ibatis/trunk/rb/rbatis/generators/rbatis/rbatis_generator.rb URL: http://svn.apache.org/viewvc/ibatis/trunk/rb/rbatis/generators/rbatis/rbatis_generator.rb?rev=408127&view=auto == --- ibatis/trunk/rb/rbatis/generators/rbatis/rbatis_generator.rb (added) +++ ibatis/trunk/rb/rbatis/generators/rbatis/rbatis_generator.rb Sat May 20 20:52:53 2006 @@ -0,0 +1,16 @@ +class RbatisGenerator < Rails::Generator::NamedBase + def manifest +record do |m| + # Check for class naming collisions. + m.class_collisions class_path, class_name, "#{class_name}Test" + + # Model, test, and fixture directories. + m.directory File.join('app/models', class_path) + m.directory File.join('test/unit', class_path) + + # Model class, unit test, and fixtures. + m.template 'model.rb', File.join('app/models', class_path, "#{file_name}.rb") + m.template 'unit_test.rb', File.join('test/unit', class_path, "#{file_name}_test.rb") +end + end +end Added: ibatis/trunk/rb/rbatis/generators/rbatis/templates/model.rb URL: http://svn.apache.org/viewvc/ibatis/trunk/rb/rbatis/generators/rbatis/templates/model.rb?rev=408127&view=auto == --- ibatis/trunk/rb/rbatis/generators/rbatis/templates/model.rb (added) +++ ibatis/trunk/rb/rbatis/generators/rbatis/templates/model.rb Sat May 20 20:52:53 2006 @@ -0,0 +1,2 @@ +class <%= class_name %> < RBatis::Base +end Added: ibatis/trunk/rb/rbatis/generators/rbatis/templates/unit_test.rb URL: http://svn.apache.org/viewvc/ibatis/trunk/rb/rbatis/generators/rbatis/templates/unit_test.rb?rev=408127&view=auto == --- ibatis/trunk/rb/rbatis/generators/rbatis/templates/unit_test.rb (added) +++ ibatis/trunk/rb/rbatis/generators/rbatis/templates/unit_test.rb Sat May 20 20:52:53 2006 @@ -0,0 +1,10 @@ +require File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../test_helper' + +class <%= class_name %>Test < Test::Unit::TestCase + fixtures :<%= table_name %> + + # Replace this with your real tests. + def test_truth +assert true + end +end Added: ibatis/trunk/rb/rbatis/init.rb URL: http://svn.apache.org/viewvc/ibatis/trunk/rb/rbatis/init.rb?rev=408127&view=auto == --- ibatis/trunk/rb/rbatis/init.rb (added) +++ ibatis/trunk/rb/rbatis/init.rb Sat May 20 20:52:53 2006 @@ -0,0 +1,2 @@ +require 'rbatis' +require 'rbatis/rails_integration' Added: ibatis/trunk/rb/rbatis/lib/rbatis.rb URL: http://svn.apache.org/viewvc/ibatis/trunk/rb/rbatis/lib/rbatis.rb?rev=408127&view=auto == --- ibatis/trunk/rb/rbatis/lib/rbatis.rb (added) +++ ibatis/trunk/rb/rbatis/lib/rbatis.rb Sat May 20 20:52:53 2006 @@ -0,0 +1,327 @@ +require 'rbatis/sanitizer' + +def Fixnum.from_database(record, column) + record[column].to_i +end + +def String.from_database(record, column) + record[column].to_s +end + +def Time.from_database(record, column) + Time.parse(record[column]) +end + +module RBatis + class Boo
svn commit: r408128 - in /ibatis/trunk/rb/rpetstore: ./ app/ app/controllers/ app/helpers/ app/models/ app/views/ app/views/account/ app/views/cart/ app/views/layouts/ app/views/login/ app/views/order
Author: cbegin Date: Sat May 20 21:01:27 2006 New Revision: 408128 URL: http://svn.apache.org/viewvc?rev=408128&view=rev Log: (empty) [This commit notification would consist of 87 parts, which exceeds the limit of 50 ones, so it was shortened to the summary.]
svn commit: r411431 - in /ibatis/trunk/java/mapper/mapper2: build/ src/com/ibatis/sqlmap/engine/builder/xml/ src/com/ibatis/sqlmap/engine/execution/ src/com/ibatis/sqlmap/engine/mapping/parameter/ src
Author: cbegin Date: Sat Jun 3 06:29:45 2006 New Revision: 411431 URL: http://svn.apache.org/viewvc?rev=411431&view=rev Log: Applied Sven's cursor support patch from the wiki (file name modsrc_new.zip) Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-2.dtd ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/parameter/BasicParameterMapping.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/TypeHandlerFactory.java Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=411431&r1=411430&r2=411431&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/version.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/version.properties Sat Jun 3 06:29:45 2006 @@ -1,5 +1,5 @@ #Build version info -#Fri Mar 03 23:28:40 MST 2006 +#Fri Jun 02 23:47:35 MDT 2006 version=2.1.7 -buildDate=2006/03/03 23\:28 -buildNum=602 +buildDate=2006/06/02 23\:47 +buildNum=603 Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java?rev=411431&r1=411430&r2=411431&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlMapParser.java Sat Jun 3 06:29:45 2006 @@ -26,8 +26,8 @@ public class SqlMapParser extends BaseParser { - private static final Log log = LogFactory.getLog(SqlMapParser.class); - + private static final Log log = LogFactory.getLog(SqlMapParser.class); + protected final NodeletParser parser = new NodeletParser(); public SqlMapParser(Variables vars) { @@ -246,12 +246,14 @@ String jdbcType = childAttributes.getProperty("jdbcType"); String type = childAttributes.getProperty("typeName"); String javaType = childAttributes.getProperty("javaType"); +String resultMap = childAttributes.getProperty("resultMap"); String nullValue = childAttributes.getProperty("nullValue"); String mode = childAttributes.getProperty("mode"); String callback = childAttributes.getProperty("typeHandler"); callback = vars.typeHandlerFactory.resolveAlias(callback); javaType = vars.typeHandlerFactory.resolveAlias(javaType); +resultMap = applyNamespace( resultMap ); vars.errorCtx.setObjectId(propertyName + " mapping of the " + vars.currentParameterMap.getId() + " parameter map"); @@ -279,6 +281,7 @@ mapping.setPropertyName(propertyName); mapping.setJdbcTypeName(jdbcType); mapping.setTypeName(type); +mapping.setResultMapName( resultMap ); mapping.setNullValue(nullValue); if (mode != null && mode.length() > 0) { mapping.setMode(mode); @@ -305,7 +308,7 @@ vars.currentResultMap.setDiscriminator(vars.discriminator); vars.discriminator = null; - + vars.client.getDelegate().addResultMap(vars.currentResultMap); vars.errorCtx.setMoreInfo(null); Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-2.dtd URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-2.dtd?rev=411431&r1=411430&r2=411431&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-2.dtd (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/sql-map-2.dtd Sat Jun 3 06:29:45 2006 @@ -36,6 +36,7 @@ nullValue CDATA #IMPLIED mode (IN | OUT | INOUT) #IMPLIED typeHandler CDATA #IMPLIED +resultMap CDATA #IMPLIED > http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java?rev=411431&r1=411430&r2=411431&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java (original) +++ ibatis/trunk/java/mapper/mapper2
svn commit: r411437 - in /ibatis/trunk/java/mapper/mapper2/build: setenv.bat version.properties
Author: cbegin Date: Sat Jun 3 07:01:14 2006 New Revision: 411437 URL: http://svn.apache.org/viewvc?rev=411437&view=rev Log: Build script tweak. Modified: ibatis/trunk/java/mapper/mapper2/build/setenv.bat ibatis/trunk/java/mapper/mapper2/build/version.properties Modified: ibatis/trunk/java/mapper/mapper2/build/setenv.bat URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/build/setenv.bat?rev=411437&r1=411436&r2=411437&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/setenv.bat (original) +++ ibatis/trunk/java/mapper/mapper2/build/setenv.bat Sat Jun 3 07:01:14 2006 @@ -1,3 +1,4 @@ +echo Using %JAVA_HOME% set BUILD_CP=%CLASSPATH% set BUILD_CP=%BUILD_CP%;%JAVA_HOME%\lib\tools.jar; Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=411437&r1=411436&r2=411437&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/version.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/version.properties Sat Jun 3 07:01:14 2006 @@ -1,5 +1,5 @@ #Build version info -#Fri Jun 02 23:47:35 MDT 2006 +#Sat Jun 03 07:58:56 MDT 2006 version=2.1.7 -buildDate=2006/06/02 23\:47 -buildNum=603 +buildDate=2006/06/03 07\:58 +buildNum=608
svn commit: r411917 - in /ibatis/trunk/java/mapper/mapper2: build/version.properties devlib/serializer.jar devlib/xalan.jar doc/release.txt src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java
Author: cbegin Date: Mon Jun 5 14:10:41 2006 New Revision: 411917 URL: http://svn.apache.org/viewvc?rev=411917&view=rev Log: 1) Fix for iBATIS-269: check for multiple result set support 2) Added xalan JAR files so that build works with JDK 1.5 (need to update Ant etc.) 3) Updated release.txt with most recent releases. Added: ibatis/trunk/java/mapper/mapper2/devlib/serializer.jar (with props) ibatis/trunk/java/mapper/mapper2/devlib/xalan.jar (with props) Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties ibatis/trunk/java/mapper/mapper2/doc/release.txt ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=411917&r1=411916&r2=411917&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/version.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/version.properties Mon Jun 5 14:10:41 2006 @@ -1,5 +1,5 @@ #Build version info -#Sat Jun 03 07:58:56 MDT 2006 +#Mon Jun 05 15:03:40 MDT 2006 version=2.1.7 -buildDate=2006/06/03 07\:58 -buildNum=608 +buildDate=2006/06/05 15\:03 +buildNum=612 Added: ibatis/trunk/java/mapper/mapper2/devlib/serializer.jar URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/devlib/serializer.jar?rev=411917&view=auto == Binary file - no diff available. Propchange: ibatis/trunk/java/mapper/mapper2/devlib/serializer.jar -- svn:mime-type = application/octet-stream Added: ibatis/trunk/java/mapper/mapper2/devlib/xalan.jar URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/devlib/xalan.jar?rev=411917&view=auto == Binary file - no diff available. Propchange: ibatis/trunk/java/mapper/mapper2/devlib/xalan.jar -- svn:mime-type = application/octet-stream Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=411917&r1=411916&r2=411917&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original) +++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Mon Jun 5 14:10:41 2006 @@ -7,9 +7,28 @@ o Removed iBATIS 1.x compatibility libraries, they are no longer supported. o Removed deprectated JtaDaoTemplate + o Removed custom nested transactions (JDBC 1.4 now required) + o Added support for ResultSet OUT params from stored procs (e.g. Oracle Ref Cursor) o Fixed IBATIS-281 Nested iterate tags are broken o Fixed IBATIS-293 Certain dynamic tags do not work within an iterate (, , etc.) - + o Fixed IBATIS-250: SELECT statement returns unexpected result when 'groupBy' and 'nullValue' are specified in resultMaps. + o Fixed IBATIS-258: invalid DOCTYPE. Changed the DOCTYPE to the ibatis.apache.org + o Fixed JIRA IBATIS-249: "Race conditions in Throttle lead to thread blockage popping items from ThrottledPools under stress" + o Fixed IBATIS-260: "Hash conflict with groupBy resultMaps" + o Fixed IBATIS-263 to allow type aliases to be case insensitive. + o Fixed IBATIS-167: "Improvements in SimpleDataSource" + o Fixed IBATIS-109: "Make PaginatedList work with IBM's broken JDBC driver" + o Fixed IBATIS-230: "Warn when 2 ids of a tag are the identical" + o Fixed IBATIS-210/224 that will allow the use of enums in Java 1.5 while still being backward compatible with 1.4 + o Fixed IBATIS-204 "Cache layer does no logging of puts, gets, flushes", now it can at debug logging level. + o Fixed IBATIS-275, add comments only to indicate flushDataCache(string) always uses namespace. + o Fixed IBATIS-127, "PropertyAccessPlan should put more context information when throwing an exception". Fix changes the error message to include the property causing the exception. + o Fixed IBATIS-281 and IBATIS-293 Nested Iterate Tags + o Added IBATIS-205 Change selected access modifiers from private to protected + o Fixed IBATIS-166 and IBATIS-271 Add overloads for common SqlMapClient methods without parameterObject parameter + o Fixed IBATIS-128 - log an error if there are overloaded setter methods + o Added IBATIS-22 - specify statement timeouts using the JDBC driver support + o Fixed IBATIS-269 Added check for multiple result set support -- 2.1.7 - Jan 21, 2006 Modified: ibatis/trunk/java/mapper/mapp
svn commit: r411921 - /ibatis/trunk/java/mapper/mapper2/doc/release.txt
Author: cbegin Date: Mon Jun 5 14:18:22 2006 New Revision: 411921 URL: http://svn.apache.org/viewvc?rev=411921&view=rev Log: Updated release.txt Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=411921&r1=411920&r2=411921&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original) +++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Mon Jun 5 14:18:22 2006 @@ -29,6 +29,7 @@ o Fixed IBATIS-128 - log an error if there are overloaded setter methods o Added IBATIS-22 - specify statement timeouts using the JDBC driver support o Fixed IBATIS-269 Added check for multiple result set support + o FIXED IBATIS-293 Fix use of list[]-notation in propertyattributes of dynamic tags -- 2.1.7 - Jan 21, 2006
svn commit: r411923 - in /ibatis/trunk/java/mapper/mapper2: build/version.properties src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java
Author: cbegin Date: Mon Jun 5 14:31:12 2006 New Revision: 411923 URL: http://svn.apache.org/viewvc?rev=411923&view=rev Log: Fixed iBATIS-286: Close session upon null user connection Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=411923&r1=411922&r2=411923&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/version.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/version.properties Mon Jun 5 14:31:12 2006 @@ -1,5 +1,5 @@ #Build version info -#Mon Jun 05 15:03:40 MDT 2006 +#Mon Jun 05 15:28:34 MDT 2006 version=2.1.7 -buildDate=2006/06/05 15\:03 -buildNum=612 +buildDate=2006/06/05 15\:28 +buildNum=613 Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java?rev=411923&r1=411922&r2=411923&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java Mon Jun 5 14:31:12 2006 @@ -159,8 +159,14 @@ } public void setUserConnection(Connection connection) throws SQLException { + try { getLocalSqlMapSession().setUserConnection(connection); + } finally { +if (connection == null) { + getLocalSqlMapSession().close(); +} } +} /** * TODO Deprecated
svn commit: r411924 - /ibatis/trunk/java/mapper/mapper2/doc/release.txt
Author: cbegin Date: Mon Jun 5 14:32:18 2006 New Revision: 411924 URL: http://svn.apache.org/viewvc?rev=411924&view=rev Log: Updated release.txt Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=411924&r1=411923&r2=411924&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original) +++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Mon Jun 5 14:32:18 2006 @@ -29,7 +29,8 @@ o Fixed IBATIS-128 - log an error if there are overloaded setter methods o Added IBATIS-22 - specify statement timeouts using the JDBC driver support o Fixed IBATIS-269 Added check for multiple result set support - o FIXED IBATIS-293 Fix use of list[]-notation in propertyattributes of dynamic tags + o FIXED IBATIS-293 Fix use of list[]-notation in propertyattributes of dynamic tags + o Fixed IBATIS-286: close session upon null user connection -- 2.1.7 - Jan 21, 2006
svn commit: r414382 - /ibatis/trunk/java/mapper/mapper2/build/
Author: cbegin Date: Wed Jun 14 13:42:14 2006 New Revision: 414382 URL: http://svn.apache.org/viewvc?rev=414382&view=rev Log: (empty) Modified: ibatis/trunk/java/mapper/mapper2/build/ (props changed) Propchange: ibatis/trunk/java/mapper/mapper2/build/ -- --- svn:ignore (original) +++ svn:ignore Wed Jun 14 13:42:14 2006 @@ -1,4 +1,3 @@ - *.ser *.zip deploy @@ -8,3 +7,4 @@ work exploded coverage.ec +ibderby
svn commit: r414383 - /ibatis/trunk/java/mapper/mapper2/build/
Author: cbegin Date: Wed Jun 14 13:43:09 2006 New Revision: 414383 URL: http://svn.apache.org/viewvc?rev=414383&view=rev Log: added derby log to ignore list (my last commit added the derby build dir to the ignore list -- sorry for the missing comment) Modified: ibatis/trunk/java/mapper/mapper2/build/ (props changed) Propchange: ibatis/trunk/java/mapper/mapper2/build/ -- --- svn:ignore (original) +++ svn:ignore Wed Jun 14 13:43:09 2006 @@ -8,3 +8,4 @@ exploded coverage.ec ibderby +derby.log
svn commit: r424891 - /ibatis/trunk/site/template/menu.vm
Author: cbegin Date: Sun Jul 23 20:30:04 2006 New Revision: 424891 URL: http://svn.apache.org/viewvc?rev=424891&view=rev Log: (empty) Modified: ibatis/trunk/site/template/menu.vm Modified: ibatis/trunk/site/template/menu.vm URL: http://svn.apache.org/viewvc/ibatis/trunk/site/template/menu.vm?rev=424891&r1=424890&r2=424891&view=diff == --- ibatis/trunk/site/template/menu.vm (original) +++ ibatis/trunk/site/template/menu.vm Sun Jul 23 20:30:04 2006 @@ -13,6 +13,8 @@ Downloads and Documentation for Java for .NET + for Ruby/Rails + Resources How To Get Help
svn commit: r426872 - in /ibatis/trunk/site: pages/ template/
Author: cbegin Date: Sun Jul 30 00:37:12 2006 New Revision: 426872 URL: http://svn.apache.org/viewvc?rev=426872&view=rev Log: 1) Bit of a site redesign. 2) Simplified menu 3) Updated news (Ruby, confs, dtds etc.) 4) Consolidated a the mapper/dao/petstore useless pages into a single "overview" 5) Added what should hopefully be helpful links for finding the Java, .NET and Ruby resources. Added: ibatis/trunk/site/pages/overview.vm ibatis/trunk/site/template/arrow.gif (with props) Removed: ibatis/trunk/site/pages/dao.vm ibatis/trunk/site/pages/datamapper.vm ibatis/trunk/site/pages/petstore.vm Modified: ibatis/trunk/site/pages/archive.vm ibatis/trunk/site/pages/events.vm ibatis/trunk/site/pages/index.vm ibatis/trunk/site/pages/newsbyte.vm ibatis/trunk/site/pages/team.vm ibatis/trunk/site/template/default.css ibatis/trunk/site/template/default.vm ibatis/trunk/site/template/menu.vm Modified: ibatis/trunk/site/pages/archive.vm URL: http://svn.apache.org/viewvc/ibatis/trunk/site/pages/archive.vm?rev=426872&r1=426871&r2=426872&view=diff == --- ibatis/trunk/site/pages/archive.vm (original) +++ ibatis/trunk/site/pages/archive.vm Sun Jul 30 00:37:12 2006 @@ -7,6 +7,128 @@ News Archive + iBATIS.NET DataMapper 1.5.1 and DataAccess 1.8.1 Beta! +(Jul 27, 2006) This release is primarily a bug fix for new constructor tag. + +Thanks again for your comments and suggestions. Enjoy! + +See the change log for more details. Downloads will be available from http://ibatis.apache.org/dotnetdownloads.cgi";>http://ibatis.apache.org/dotnetdownloads.cgi.. + + +iBATIS.NET DataMapper 1.5 and DataAccess 1.8 Beta! +(Jul 5, 2006) The iBATIS.NET team is pleased to announce that the BETA releases of the DataMapper 1.5 and DataAccess 1.8 frameworks are ready! + +This release is primarily a bug fix and documentation enhancement release. However, the first public binaries for .NET 2.0 have also been included: + + +Binaries for .NET 1.1 and .NET 2.0 with SDK docs +Updated documentation +Recent source distribution +.NET 2.0 Tutorial + +Thanks again for your comments and suggestions. Enjoy! + +See the change log for more details. Downloads will be available from http://ibatis.apache.org/dotnetdownloads.cgi";>http://ibatis.apache.org/dotnetdownloads.cgi.. + + +iBATIS.NET DataMapper 1.3 and DataAccess 1.7 General Availability! +(Jun 12, 2006) The votes are in and both distributions are now tagged as GA! +Download iBATIS.NET DataMapper 1.3 and DataAccess 1.7! + +iBATIS Java 2.1.7 - Maintenance Release - Last 1.3 Compatible Release! + +(Jan 21, 2006) Well, as we said back in November, iBATIS will require JDK 1.4 as of the 2.2.0 release. + We expect that this 2.1.7 release will be the last JDK 1.3 compatible release that we make, unless a serious + stability or security flaw is found, in which case we'll deploy a fix from a branch of the source. This release + contains a number of minor bug fixes, an enhanced entity resolver. 2.2.0 will be an interesting release with + some new features that we've been looking forward to. + + + +Get iBATIS 2.1.7 from the Downloads page. + + + + iBATIS.NET DataMapper V1.3 Beta and DataAccess V1.7 Beta + (Dec 15, 2005) The iBATIS.NET team is pleased to announce that the Beta distributions of the DataMapper V1.3 and DataAccess V1.7 frameworks are ready! + Although this is primarily for bug fixes and documentation updates, there are some important changes: + +Enabling Intellisense in Visual Studio 2003 for configuration and mapping files +Updates to configuration and mapping schemas +Now uses Castle.DynamicProxy V1.1.5.0 +Added assembly signatures +Provides custom logger support +Removes the use of Xml serialization for loading configuration files + + + Please see the change log for more details. Thanks once again for your comments and suggestions. Enjoy! + + Get the DataMapper V1.3 Beta and DataAccess V1.7 Beta from the Downloads page. + +New Tools Section +(Dec 10, 2005) We have added a tools section to the site. The first tool is Abator - a code generator + for iBATIS (Java only). Abator generates SqlMaps, Java domain classes, and Java DAO classes. + + Check out the Tools Section. + +Have a look at JPetStore 5.0 +(Dec 8, 2005) JPetStore 5.0 is now available. This release focuses on cleaning up some of the mess created by + JPetStore's heritage as a testbed for performance and comparisons to other implementations including LOC benchmarks, + which are a horrible thing. Significant changes and additions include: + + + One step deploy! JPetStore is now easier to deploy, and assuming you already have Tomcat and a JDK +installed, it's literally one step. Drop the WAR file into Tomcat's webapps folder, and
svn commit: r427440 - /ibatis/trunk/site/template/default.css
Author: cbegin Date: Mon Jul 31 21:19:26 2006 New Revision: 427440 URL: http://svn.apache.org/viewvc?rev=427440&view=rev Log: Reverted colors to blue/green/red Modified: ibatis/trunk/site/template/default.css Modified: ibatis/trunk/site/template/default.css URL: http://svn.apache.org/viewvc/ibatis/trunk/site/template/default.css?rev=427440&r1=427439&r2=427440&view=diff == --- ibatis/trunk/site/template/default.css (original) +++ ibatis/trunk/site/template/default.css Mon Jul 31 21:19:26 2006 @@ -104,16 +104,16 @@ text-align: center; color: #ff; font-weight: bold; - background-color: #FF851A; + background-color: #4343c8; } th.java:hover { - background-color: #CC; + background-color: #8787ff; } th.java>a, th.java>a:link, th.java>a:visited, th.java>a:hover { color: #ff; } th.java>a:hover { - background-color: #CC; + background-color: #8787ff; } th.cs { @@ -127,16 +127,16 @@ text-align: center; color: #ff; font-weight: bold; - background-color: #FFF957; + background-color: #43c843; } th.cs:hover { - background-color: #CC; + background-color: #87ff87; } th.cs>a, th.cs>a:link, th.cs>a:visited, th.cs>a:hover { color: #ff; } th.cs>a:hover { - background-color: #CC; + background-color: #87ff87; } th.rb { @@ -150,16 +150,16 @@ text-align: center; color: #ff; font-weight: bold; - background-color: #57B0FF; + background-color: #c84343; } th.rb:hover { - background-color: #CC; + background-color: #ff8787; } th.rb>a, th.rb>a:link, th.rb>a:visited, th.rb>a:hover { color: #ff; } th.rb>a:hover { - background-color: #CC; + background-color: #ff8787; } #Content>li {
svn commit: r431155 - in /ibatis/trunk/java/mapper/mapper2: build/ doc/ src/com/ibatis/sqlmap/engine/builder/xml/ src/com/ibatis/sqlmap/engine/execution/ src/com/ibatis/sqlmap/engine/mapping/result/ s
Author: cbegin Date: Sun Aug 13 02:08:28 2006 New Revision: 431155 URL: http://svn.apache.org/viewvc?rev=431155&view=rev Log: Multiple ResultSet support complete. Modified: ibatis/trunk/java/mapper/mapper2/build/build.xml ibatis/trunk/java/mapper/mapper2/build/version.properties ibatis/trunk/java/mapper/mapper2/doc/release.txt ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlStatementParser.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/execution/SqlExecutor.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/ResultMap.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/statement/BaseStatement.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/statement/CachingStatement.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/statement/DefaultRowHandler.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/statement/MappedStatement.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/statement/RowHandlerCallback.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/DerbyProc.xml ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/proc/DerbyProcs.java Modified: ibatis/trunk/java/mapper/mapper2/build/build.xml URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/build/build.xml?rev=431155&r1=431154&r2=431155&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/build.xml (original) +++ ibatis/trunk/java/mapper/mapper2/build/build.xml Sun Aug 13 02:08:28 2006 @@ -26,6 +26,7 @@ + Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=431155&r1=431154&r2=431155&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/version.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/version.properties Sun Aug 13 02:08:28 2006 @@ -1,5 +1,5 @@ #Build version info -#Wed Aug 02 15:24:03 CDT 2006 +#Sun Aug 13 02:50:18 MDT 2006 version=2.1.7 -buildDate=2006/08/02 15\:24 -buildNum=618 +buildDate=2006/08/13 02\:50 +buildNum=624 Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=431155&r1=431154&r2=431155&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original) +++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Sun Aug 13 02:08:28 2006 @@ -9,6 +9,7 @@ o Removed deprectated JtaDaoTemplate o Removed custom nested transactions (JDBC 1.4 now required) o Added support for ResultSet OUT params from stored procs (e.g. Oracle Ref Cursor) + o Added support for Multiple ResultSets mapped to corresponding ResultMaps or ResultClasses. o Fixed IBATIS-224 - isNotNull node causes typehandler mappings in statement to fail o Fixed IBATIS-249 - Race conditions in Throttle lead to thread blockage popping items from ThrottledPools under stress Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlStatementParser.java URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlStatementParser.java?rev=431155&r1=431154&r2=431155&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlStatementParser.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/builder/xml/SqlStatementParser.java Sun Aug 13 02:08:28 2006 @@ -1,17 +1,7 @@ package com.ibatis.sqlmap.engine.builder.xml; -import java.sql.ResultSet; -import java.util.Arrays; -import java.util.List; -import java.util.Properties; - -import org.w3c.dom.CharacterData; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - import com.ibatis.common.beans.Probe; import com.ibatis.common.beans.ProbeFactory; - import com.ibatis.common.resources.Resources; import com.ibatis.common.xml.NodeletUtils; import com.ibatis.sqlmap.client.SqlMapException; @@ -24,18 +14,16 @@ import com.ibatis.sqlmap.engine.mapping.sql.Sql; import com.ibatis.sqlmap.engine.mapping.sql.SqlText; import com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql; -import com.ibatis.sqlmap.engine.mapping.sql.dynamic.elements.DynamicParent; -import com.ibatis.sqlmap.engine.mapping.sql.dynamic.elements.IterateTagHandler; -import com.ibatis.sqlmap
svn commit: r431134 - in /ibatis/trunk/java/mapper/mapper2: devbin/ devlib/ test/com/ibatis/sqlmap/ test/com/ibatis/sqlmap/maps/ test/com/ibatis/sqlmap/proc/ test/scripts/
Author: cbegin Date: Sat Aug 12 19:07:58 2006 New Revision: 431134 URL: http://svn.apache.org/viewvc?rev=431134&view=rev Log: Removed Derby in favour of HSQLDB Removed: ibatis/trunk/java/mapper/mapper2/devbin/ ibatis/trunk/java/mapper/mapper2/devlib/derby.jar ibatis/trunk/java/mapper/mapper2/devlib/derbytools.jar ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/DerbyProc.xml ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/DerbySqlMapConfig.properties ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/DerbySqlMapConfig.xml ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/proc/ ibatis/trunk/java/mapper/mapper2/test/scripts/derby-proc-init.sql
svn commit: r431141 - in /ibatis/trunk/java/mapper/mapper2: devlib/ test/com/ibatis/sqlmap/ test/com/ibatis/sqlmap/maps/ test/com/ibatis/sqlmap/proc/ test/scripts/
Author: cbegin Date: Sat Aug 12 20:43:37 2006 New Revision: 431141 URL: http://svn.apache.org/viewvc?rev=431141&view=rev Log: Put Derby back after re-reading Brandon's email from 3 months ago. :-) Love source control. Added: ibatis/trunk/java/mapper/mapper2/devlib/derby.jar - copied unchanged from r431133, ibatis/trunk/java/mapper/mapper2/devlib/derby.jar ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java - copied, changed from r431133, ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/DerbyProc.xml - copied unchanged from r431133, ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/DerbyProc.xml ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/DerbySqlMapConfig.properties - copied unchanged from r431133, ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/DerbySqlMapConfig.properties ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/DerbySqlMapConfig.xml - copied unchanged from r431133, ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/DerbySqlMapConfig.xml ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/proc/ - copied from r431133, ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/proc/ ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/proc/DerbyProcs.java - copied unchanged from r431133, ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/proc/DerbyProcs.java ibatis/trunk/java/mapper/mapper2/test/scripts/derby-proc-init.sql - copied unchanged from r431133, ibatis/trunk/java/mapper/mapper2/test/scripts/derby-proc-init.sql Copied: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java (from r431133, ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java) URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java?p2=ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java&p1=ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java&r1=431133&r2=431141&rev=431141&view=diff == --- ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java (original) +++ ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java Sat Aug 12 20:43:37 2006 @@ -1,11 +1,10 @@ package com.ibatis.sqlmap; +import com.ibatis.common.resources.Resources; + import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map; - -import com.ibatis.common.resources.Resources; public class MultiResultSetTest extends BaseSqlMapTest {
svn commit: r431142 - in /ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap: MultiResultSetTest.java proc/DerbyProcs.java
Author: cbegin Date: Sat Aug 12 21:03:44 2006 New Revision: 431142 URL: http://svn.apache.org/viewvc?rev=431142&view=rev Log: Cosmetic test changes Modified: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/proc/DerbyProcs.java Modified: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java?rev=431142&r1=431141&r2=431142&view=diff == --- ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java (original) +++ ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java Sat Aug 12 21:03:44 2006 @@ -27,7 +27,7 @@ * This test should return 2 lists of 2 accounts each * */ - public void test01() { + public void testShouldRetrieveTwoSetsOfTwoAccountsFromMultipleResultSets() { Map persons = new HashMap(); persons.put("accountId1",new Integer(1)); @@ -38,8 +38,9 @@ try { List results = sqlMap.queryForList("getMultiListsRm", persons); - assertFalse(results.isEmpty()); - // need assertion to check for list in list with 2 accounts each + + assertEquals(2,results.size()); + } catch (Exception e) { fail(e.getMessage()); } Modified: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/proc/DerbyProcs.java URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/proc/DerbyProcs.java?rev=431142&r1=431141&r2=431142&view=diff == --- ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/proc/DerbyProcs.java (original) +++ ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/proc/DerbyProcs.java Sat Aug 12 21:03:44 2006 @@ -7,30 +7,17 @@ import java.sql.SQLException; public class DerbyProcs { + public static void selectRows(int p1, int p2, int p3, int p4, ResultSet[] rs1, ResultSet[] rs2) throws SQLException { +Connection conn = DriverManager.getConnection("jdbc:default:connection"); +PreparedStatement ps1 = conn.prepareStatement("select * from account where acc_id in (?,?)"); +ps1.setInt(1, p1); +ps1.setInt(2, p2); +rs1[0] = ps1.executeQuery(); +PreparedStatement ps2 = conn.prepareStatement("select * from account where acc_id in (?,?)"); +ps2.setInt(1, p3); +ps2.setInt(2, p4); +rs1[0] = ps2.executeQuery(); +conn.close(); + } -public static void selectRows( - int p1, int p2, - int p3, int p4, - ResultSet[] rs1, - ResultSet[] rs2) -throws SQLException { - - System.out.println("IN THE PROC " + p1 + " " + p2 + " " + p3 + " " + p4); - Connection conn = DriverManager.getConnection("jdbc:default:connection"); - - PreparedStatement ps1 = conn.prepareStatement("select * from account where acc_id in (?,?)"); - ps1.setInt(1, p1); - ps1.setInt(2, p2); - - rs1[0] = ps1.executeQuery(); - - PreparedStatement ps2 = conn.prepareStatement("select * from account where acc_id in (?,?)"); - ps2.setInt(1, p3); - ps2.setInt(2, p4); - - rs1[0] = ps2.executeQuery(); - - conn.close(); -} - }
svn commit: r431144 - /ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java
Author: cbegin Date: Sat Aug 12 21:12:37 2006 New Revision: 431144 URL: http://svn.apache.org/viewvc?rev=431144&view=rev Log: more cosmetic changes to test Modified: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java Modified: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java?rev=431144&r1=431143&r2=431144&view=diff == --- ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java (original) +++ ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/MultiResultSetTest.java Sat Aug 12 21:12:37 2006 @@ -6,46 +6,34 @@ import java.util.List; import java.util.Map; - public class MultiResultSetTest extends BaseSqlMapTest { // SETUP & TEARDOWN protected void setUp() throws Exception { - -initSqlMap( -"com/ibatis/sqlmap/maps/DerbySqlMapConfig.xml", -Resources.getResourceAsProperties( -"com/ibatis/sqlmap/maps/DerbySqlMapConfig.properties")); - +initSqlMap("com/ibatis/sqlmap/maps/DerbySqlMapConfig.xml", Resources.getResourceAsProperties("com/ibatis/sqlmap/maps/DerbySqlMapConfig.properties")); initScript("scripts/account-init.sql"); initScript("scripts/derby-proc-init.sql"); - + } - + /** * This test should return 2 lists of 2 accounts each - * */ public void testShouldRetrieveTwoSetsOfTwoAccountsFromMultipleResultSets() { - Map persons = new HashMap(); -persons.put("accountId1",new Integer(1)); -persons.put("accountId2",new Integer(2)); -persons.put("accountId3",new Integer(3)); -persons.put("accountId4",new Integer(4)); - +persons.put("accountId1", new Integer(1)); +persons.put("accountId2", new Integer(2)); +persons.put("accountId3", new Integer(3)); +persons.put("accountId4", new Integer(4)); try { - List results = - sqlMap.queryForList("getMultiListsRm", persons); - - assertEquals(2,results.size()); + List results = sqlMap.queryForList("getMultiListsRm", persons); + assertEquals(2, results.size()); } catch (Exception e) { fail(e.getMessage()); } } - - + }
svn commit: r431297 - in /ibatis/trunk/java/mapper/mapper2: build/ doc/ src/com/ibatis/sqlmap/engine/mapping/sql/dynamic/elements/ src/com/ibatis/sqlmap/engine/type/
Author: cbegin Date: Sun Aug 13 22:48:51 2006 New Revision: 431297 URL: http://svn.apache.org/viewvc?rev=431297&view=rev Log: Fixed IBATIS-325 SimpleDateFormat thread safety issue. Added: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/SimpleDateFormatter.java Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties ibatis/trunk/java/mapper/mapper2/doc/release.txt ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/sql/dynamic/elements/ConditionalTagHandler.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/DateOnlyTypeHandler.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/DateTypeHandler.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/SqlDateTypeHandler.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/SqlTimeTypeHandler.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/SqlTimestampTypeHandler.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/type/TimeOnlyTypeHandler.java Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=431297&r1=431296&r2=431297&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/version.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/version.properties Sun Aug 13 22:48:51 2006 @@ -1,5 +1,5 @@ #Build version info -#Sun Aug 13 02:50:18 MDT 2006 +#Sun Aug 13 23:45:30 MDT 2006 version=2.1.7 -buildDate=2006/08/13 02\:50 -buildNum=624 +buildDate=2006/08/13 23\:45 +buildNum=626 Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=431297&r1=431296&r2=431297&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original) +++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Sun Aug 13 22:48:51 2006 @@ -11,6 +11,7 @@ o Added support for ResultSet OUT params from stored procs (e.g. Oracle Ref Cursor) o Added support for Multiple ResultSets mapped to corresponding ResultMaps or ResultClasses. + o Fixed IBATIS-325 - DateTypeHandler uses static SimpleDateFormat instance. Not thread-safe. o Fixed IBATIS-224 - isNotNull node causes typehandler mappings in statement to fail o Fixed IBATIS-249 - Race conditions in Throttle lead to thread blockage popping items from ThrottledPools under stress o Fixed IBATIS-250 - CLONE -SELECT statement returns unexpected result when 'groupBy' and 'nullValue' are specified in resultMaps. Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/sql/dynamic/elements/ConditionalTagHandler.java URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/sql/dynamic/elements/ConditionalTagHandler.java?rev=431297&r1=431296&r2=431297&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/sql/dynamic/elements/ConditionalTagHandler.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/sql/dynamic/elements/ConditionalTagHandler.java Sun Aug 13 22:48:51 2006 @@ -17,13 +17,10 @@ import com.ibatis.common.beans.Probe; import com.ibatis.common.beans.ProbeFactory; - +import com.ibatis.sqlmap.engine.type.SimpleDateFormatter; import java.math.BigDecimal; import java.math.BigInteger; -import java.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; import java.util.Date; public abstract class ConditionalTagHandler extends BaseTagHandler { @@ -32,7 +29,6 @@ public static final long NOT_COMPARABLE = Long.MIN_VALUE; private static final String DATE_MASK = "/MM/dd hh:mm:ss"; - private static final DateFormat DATE_FORMAT = new SimpleDateFormat(DATE_MASK); private static final String START_INDEX = "["; @@ -137,11 +133,7 @@ } else if (type == Boolean.class || type == boolean.class) { return Boolean.valueOf(value); } else if (type == Date.class) { - try { -return DATE_FORMAT.parse(value); - } catch (ParseException e) { -throw new RuntimeException("Error parsing date. Cause: " + e, e); - } + return SimpleDateFormatter.format(DATE_MASK, value); } else if (type == BigInteger.class) { return new BigInteger(value); } else if (type == BigDecimal.class) { @@ -158,7 +150,6 @@ * * @param ctx * @param tag - * @return */ protected String getResolvedProperty(SqlTagContext ctx, SqlTag tag) { String prop =
svn commit: r431298 - in /ibatis/trunk/java/mapper/mapper2: build/version.properties src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java src/com/ibatis/sqlmap/engine/impl/SqlMapExecutorDelegate.ja
Author: cbegin Date: Sun Aug 13 23:10:08 2006 New Revision: 431298 URL: http://svn.apache.org/viewvc?rev=431298&view=rev Log: Fixed IBATIS-320 When every method call openSession() return same object . Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapExecutorDelegate.java Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=431298&r1=431297&r2=431298&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/version.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/version.properties Sun Aug 13 23:10:08 2006 @@ -1,5 +1,5 @@ #Build version info -#Sun Aug 13 23:45:30 MDT 2006 +#Mon Aug 14 00:07:17 MDT 2006 version=2.1.7 -buildDate=2006/08/13 23\:45 -buildNum=626 +buildDate=2006/08/14 00\:07 +buildNum=627 Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java?rev=431298&r1=431297&r2=431298&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapClientImpl.java Sun Aug 13 23:10:08 2006 @@ -214,14 +214,14 @@ } public SqlMapSession openSession() { -SqlMapSessionImpl sqlMapSession = getLocalSqlMapSession(); +SqlMapSessionImpl sqlMapSession = new SqlMapSessionImpl(this); sqlMapSession.open(); return sqlMapSession; } public SqlMapSession openSession(Connection conn) { try { - SqlMapSessionImpl sqlMapSession = getLocalSqlMapSession(); + SqlMapSessionImpl sqlMapSession = new SqlMapSessionImpl(this); sqlMapSession.open(); sqlMapSession.setUserConnection(conn); return sqlMapSession; Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapExecutorDelegate.java URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapExecutorDelegate.java?rev=431298&r1=431297&r2=431298&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapExecutorDelegate.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/impl/SqlMapExecutorDelegate.java Sun Aug 13 23:10:08 2006 @@ -838,7 +838,7 @@ session.setTransactionState(TransactionState.STATE_USER_PROVIDED); } else { session.setTransaction(null); - pushSession(session); + session.reset(); // used to be pushSession, which is probably incorrect. } } /**
svn commit: r431299 - /ibatis/trunk/java/mapper/mapper2/doc/release.txt
Author: cbegin Date: Sun Aug 13 23:12:55 2006 New Revision: 431299 URL: http://svn.apache.org/viewvc?rev=431299&view=rev Log: Updated release.txt with IBATIS-320 Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=431299&r1=431298&r2=431299&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original) +++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Sun Aug 13 23:12:55 2006 @@ -11,6 +11,7 @@ o Added support for ResultSet OUT params from stored procs (e.g. Oracle Ref Cursor) o Added support for Multiple ResultSets mapped to corresponding ResultMaps or ResultClasses. + o Fixed IBATIS-320 - openSession() returns same object o Fixed IBATIS-325 - DateTypeHandler uses static SimpleDateFormat instance. Not thread-safe. o Fixed IBATIS-224 - isNotNull node causes typehandler mappings in statement to fail o Fixed IBATIS-249 - Race conditions in Throttle lead to thread blockage popping items from ThrottledPools under stress
svn commit: r431306 - in /ibatis/trunk/java/mapper/mapper2: build/ doc/ src/com/ibatis/common/beans/ test/com/ibatis/sqlmap/ test/com/ibatis/sqlmap/maps/ test/testdomain/
Author: cbegin Date: Mon Aug 14 00:45:08 2006 New Revision: 431306 URL: http://svn.apache.org/viewvc?rev=431306&view=rev Log: Added support for private properties. Added: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/PrivateMethodAccessTest.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/PrivateBook.xml ibatis/trunk/java/mapper/mapper2/test/testdomain/PrivateBook.java Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties ibatis/trunk/java/mapper/mapper2/doc/release.txt ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ClassInfo.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/NestedIterateTest.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/ResultObjectFactoryTest.java ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/SqlMapConfig.xml Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=431306&r1=431305&r2=431306&view=diff == --- ibatis/trunk/java/mapper/mapper2/build/version.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/version.properties Mon Aug 14 00:45:08 2006 @@ -1,5 +1,5 @@ #Build version info -#Mon Aug 14 00:07:17 MDT 2006 +#Mon Aug 14 01:41:36 MDT 2006 version=2.1.7 -buildDate=2006/08/14 00\:07 -buildNum=627 +buildDate=2006/08/14 01\:41 +buildNum=628 Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=431306&r1=431305&r2=431306&view=diff == --- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original) +++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Mon Aug 14 00:45:08 2006 @@ -10,6 +10,7 @@ o Removed custom nested transactions (JDBC 1.4 now required) o Added support for ResultSet OUT params from stored procs (e.g. Oracle Ref Cursor) o Added support for Multiple ResultSets mapped to corresponding ResultMaps or ResultClasses. + o Added support for private properties. o Fixed IBATIS-320 - openSession() returns same object o Fixed IBATIS-325 - DateTypeHandler uses static SimpleDateFormat instance. Not thread-safe. Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ClassInfo.java URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ClassInfo.java?rev=431306&r1=431305&r2=431306&view=diff == --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ClassInfo.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ClassInfo.java Mon Aug 14 00:45:08 2006 @@ -15,16 +15,17 @@ */ package com.ibatis.common.beans; +import com.ibatis.common.logging.Log; +import com.ibatis.common.logging.LogFactory; + import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.UndeclaredThrowableException; +import java.lang.reflect.ReflectPermission; import java.math.BigDecimal; import java.math.BigInteger; import java.util.*; -import com.ibatis.common.logging.Log; -import com.ibatis.common.logging.LogFactory; - /** * This class represents a cached set of class definition information that * allows for easy mapping between property names and getter/setter methods. @@ -84,7 +85,7 @@ } private void addMethods(Class cls) { -Method[] methods = cls.getMethods(); +Method[] methods = getAllMethodsForClass(cls); for (int i = 0; i < methods.length; i++) { String name = methods[i].getName(); if (name.startsWith("set") && name.length() > 3) { @@ -112,6 +113,51 @@ } } name = null; +} + } + + private Method[] getAllMethodsForClass(Class cls) { +Set uniqueMethodNames = new HashSet(); +List allMethods = new ArrayList(); +Class currentClass = cls; +while (currentClass != null) { + addMethods(currentClass, uniqueMethodNames, allMethods); + Class[] interfaces = currentClass.getInterfaces(); + for (int i=0; ihttp://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/NestedIterateTest.java?rev=431306&r1=431305&r2=431306&view=diff == --- ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/NestedIterateTest.java (original) +++ ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/NestedIterateTest.java Mon Aug 14 00:45:08 2006 @@ -1,10 +1,10 @@ package com.ibatis.sqlmap; -import java.util.List; - import testdomain.NestedIterateParameterObject; import testdomain.Person; +import java.util.List; + publi