Oh duh. haha. sorry. Read it quick. Should have taken a few more seconds.

Follow the second temp file suggestion for now. It is not a terribly
difficult way to solve this at all. Please put a feature request in
for this. I'm not sure we will add this feature. But, at least get it
in the que so that we can discuss it.

Brandon

On 5/24/05, Rob Butler <[EMAIL PROTECTED]> wrote:
> Because, as I said below, SqlMapClientBuilder requires
> the SqlMapConfig file.  So if I use StringReader to
> pass in the SqlMapConfig file, that works fine.  But
> the SqlMapConfig file must then reference the SqlMap
> file, and this file must be loaded either as a
> resource from the classpath, or as a URL.  Since this
> file doesn't actually exist on disk, or in the
> classpath loading as a resource isn't going to work.
> 
> So that leaves URL as the last hope.  Java supports
> http, ftp, and file protocols by default.  Since the
> file isn't on disk, file isn't going to help.  I don't
> want to embed an http or ftp server in my app just to
> load a dynamicly generated segment of xml from memory,
> so http and ftp are out too.
> 
> URL could still work if I implement my own protocol
> and add that to the one's the JVM can use, something
> like mem://fake-file-name.  Java supports this, but it
> seems a bit extreme that I need to create an entirely
> new protocol to load some dynamically generated XML
> from memory into iBatis doesn't it?
> 
> So while I could implement something to do what I need
> all in memory, or could use temp files as someone
> suggested, the best way to do it in my opinion is add
> the capability to iBatis and not have to work around
> this unnecessary limitation.
> 
> Seeing as I need this capability, and someone else has
> resorted to using temp files to accomplish the same
> thing, it sounds like it would be a useful feature to
> have.
> 
> Thanks for the suggestions though.
> Rob
> 
> 
> --- Brandon Goodin <[EMAIL PROTECTED]> wrote:
> > SqlMapClientBuilder takes a reader. If you have a
> > String in memory
> > then why couldn't you use a StringReader?
> >
> > Brandon
> >
> > On 5/23/05, Rob Butler <[EMAIL PROTECTED]> wrote:
> > > Hello,
> > >
> > > I am building an application that will need to
> > > dynamically build an SQL statement at run time,
> > and
> > > then populate the statement's fields from a map.
> > > Sounds perfect for iBatis, right.  That's what I
> > > thought, but I don't think iBatis does quite what
> > I
> > > need.  Normally iBatis can dynamically change it's
> > SQL
> > > but you need to know things like the number, name
> > &
> > > type of columns in advance when the SqlMap is
> > created.
> > >
> > > Unfortunately in my application, the SQL statement
> > > that is built at runtime is completely dynamic.
> > The
> > > name of the columns, their data types and the
> > number
> > > of columns will only be known at run time.  So
> > what I
> > > would like to do is dynamically instantiate an
> > > SqlMapClient from a String, which contains the
> > SqlMap
> > > that is dynamically generated at run time.  Then
> > let
> > > iBatis do the work of converting the map's values
> > into
> > > the correct data types and populating the SQL's
> > field
> > > values.  It would be nice if the table name could
> > be
> > > passed as a property instead of in the map of
> > data.
> > >
> > > This looks like it would be possible with the
> > > SqlMapClientBuilder, but I don't think that is
> > going
> > > to work.  The problem is it wants to read an
> > > SqlMapConfig, which then of course points to an
> > SqlMap
> > > file.  However, the SqlMap file obviously won't
> > exist
> > > anywhere but as a string in ram, and it's not
> > possible
> > > (as far as I know) to directly load an SqlMap
> > using
> > > SqlMapClientBuilder, nor is it possible to load a
> > > single "file" (string in ram) that is a combined
> > > SqlMapConfig & SqlMap.
> > >
> > > I could probably cobble something together using
> > the
> > > internal non-user exposed classes within iBatis,
> > but
> > > then if those classes change from one release to
> > the
> > > next I would have to make the appropriate changes
> > to
> > > my code, and I would prefer to use something that
> > is
> > > part of iBatis.
> > >
> > > So, I would like to request a feature to make
> > > dynamically building the SqlMap at runtime
> > possible.
> > > I suppose this could be done by developing a class
> > > like SqlMapClientBuilder that accepted a String,
> > and
> > > didn't need an SqlMapConfig, just a SqlMap XML.
> > > Alternately, a fixed API could be exposed to users
> > to
> > > manually construct a SqlClientMap.
> > >
> > > Thoughts?  Is there a better approach that works
> > now?
> > > Did I miss something obvious?
> > >
> > > Thanks, and iBatis rocks!
> > > Rob
> > >
> > >
> > >
> > > __________________________________
> > > Do you Yahoo!?
> > > Yahoo! Small Business - Try our new Resources site
> > > http://smallbusiness.yahoo.com/resources/
> > >
> >
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>

Reply via email to