[ 
http://issues.apache.org/jira/browse/IBATISNET-158?page=comments#action_12414174
 ] 

Chris Potter commented on IBATISNET-158:
----------------------------------------

Hi Gilles:

I'm a bit confused by both your comment and your fix.  We're currently using 
version 1.3 which doesn't support the generic signatures of the QueryForList, 
etc., methods.  It is also important to note we're using the 
ExecuteQueryForRowDelegate method extensively.  In DataMapper 1.3, while it is 
true I can call  QueryForList using the signature that takes any IList 
implementation, the same type of signature doesn't exist for the 
ExecuteQueryForRowDelegate call.  This was my motivation for proposing this 
change.  You stated you corrected the issue in 1.5, however, it appears to me 
you only handle my proposed change in the event the type name provided in 
listClass begins with "System.Nullable".  In my case the typename begins with 
"System.Collections".  Am I missing something?  Also, is it possible to get the 
change I proposed into the 1.3 code base?

Thanks,
Chris

> TypeAssemblyInfo.SplitTypeAndAssemblyNames
> ------------------------------------------
>
>          Key: IBATISNET-158
>          URL: http://issues.apache.org/jira/browse/IBATISNET-158
>      Project: iBatis for .NET
>         Type: Improvement

>   Components: DataMapper
>     Versions: DataMapper 1.3
>     Reporter: Chris Potter
>     Assignee: Gilles Bayon
>      Fix For: DataMapper 1.5

>
> Hi All:
>  
> I'd like to propose a change to the TypeAssemblyInfo internal class within 
> TypeResolver.cs.  Please see the proposed code change below.
>  
> private void SplitTypeAndAssemblyNames (string originalTypeName) 
>                   {
>                         int typeAssemblyIndex
>                               // Original Code = originalTypeName.IndexOf (
>                               = originalTypeName.LastIndexOf (
>                               TypeAssemblyInfo.TypeAssemblySeparator);
>                         if (typeAssemblyIndex < 0)
>                         {
>                               unresolvedTypeName = originalTypeName;
>                         } 
>                         else
>                         {
>                               unresolvedTypeName = originalTypeName.Substring 
> (
>                                     0, typeAssemblyIndex).Trim ();
>                               unresolvedAssemblyName = 
> originalTypeName.Substring (
>                                     typeAssemblyIndex + 1).Trim ();
>                         }
>                   }
>  
> Changing the call from IndexOf to LastIndexOf allows me to define a .Net 2.0 
> generic in the listClass attribute of a statement definition.  You can see an 
> example below.  This syntax is impropertly parsed for a comma without this 
> proposed change.
>  
> <select id="LoadCodesByCategory" 
> parameterMap="CodeData.CodeDataByCategoryParams" resultMap="LoadStateCode" 
> listClass="System.Collections.Generic.List`1[[NFS.Data.Core.DataObjects.Impl.StateCode,
>  NFS.Data.Impl]], mscorlib">
>  

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to