[ http://issues.apache.org/jira/browse/IBATIS-37?page=history ]
Clinton Begin closed IBATIS-37:
-------------------------------
Resolution: Fixed
Fix Version: 2.0.9b
(was: 2.0.9)
Now <result> elements can have real TypeHandler impls as well. Fixed as
described
> Allow typeHandler class to implement TypeHandler interface
> ----------------------------------------------------------
>
> Key: IBATIS-37
> URL: http://issues.apache.org/jira/browse/IBATIS-37
> Project: iBatis for Java
> Type: Improvement
> Components: SQL Maps
> Versions: 2.0.8
> Reporter: Juergen Hoeller
> Assignee: Clinton Begin
> Fix For: 2.0.9b
>
> Hi Clinton and team,
> We plan to provide BLOB/CLOB type handlers for iBATIS SQL Maps 2 in Spring,
> delegating to Spring's LobHandler abstraction. I've checked out your new
> TypeHandler support, which looks like a nice hook for this.
> Spring's LobHandler expects to work on PreparedStatements and ResultSets. For
> this reason, the TypeHandlerCallback mechanism in SQL Maps cannot be used; we
> need to provide plain TypeHandler implementations. I've already implemented
> such TypeHandlers; there's no obstacle there.
> Unfortunately, the typeHandler attribute in XML SQL mapping files just
> accepts TypeHandlerCallback implementations as of iBATIS 2.0.8, throwing a
> nasty ClassCastException else.
> To make this more flexible, I suggest to load the specified class and check
> whether it is a TypeHandler or TypeHandlerCallback implementation. This
> should be straightforward to add to XmlSqlMapClientBuilder: just add a
> corresponding check to line 912/913.
> Object typeHandler = Resources.classForName(callback).newInstance();
> if (typeHandler instanceof TypeHandler) {
> handler = (TypeHandler) handler;
> }
> else if (typeHandler instanceof TypeHandlerCallback) {
> handler = new CustomTypeHandler((TypeHandlerCallback)
> typeHandlerCallback);
> }
> else {
> throw SqlMapException("Invalid type handler class: ...");
> }
> This should be pretty trivial to add and not cause any side effects, as far
> as I can see. It would be great if you could get this into iBATIS 2.0.9 (or
> whatever your next planned release is).
> Thanks in advance,
> Juergen
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira