db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel John Debrunner <...@debrunners.com>
Subject Re: Sharing messages
Date Wed, 31 Aug 2005 20:52:31 GMT
David W. Van Couvering wrote:

> Hi, all.  I am discovering that a lot of messages in the network client
> driver are very similar to messages generated by the embedded driver. 
> Things like "Invalid parameter value ''{0}'' for
> ResultSet.setFetchSize(int rows)." and "Negative or zero position
> argument ''{0}'' passed in a Blob or Clob method." just as examples.
> 
> The simple thing to do of course is to have separate messages for the
> network client.  But this would mean that these pretty much duplicated
> messages would require duplicated translations as well, adding
> unnecessary work to the translation effort.  The problem with sharing
> messages, however, is that the engine's messages.properties file is
> split up into multiple files; as I understand it, this is done in order
> to reduce bloat of the engine image -- only the minimum number of
> messages are loaded if an exception occurs, rather than all of them.  As
> a result I would need to copy the engine infrastructure that loads these
> multiple resource files into the client area.  More code duplication.
> 
> Any thoughts on this?  Barring any feedback, I will probably copy
> messages with their translations so at least I'm not compounding the
> work for message translation.

Adding indirection almost always solves every problem :-) Think about
sharing at the source level, not always at the consumer level.

You can have a single *source* for messages that is used to generate the
required files for client and engine rather than assuming you have to
share the engine's message.properties file. In fact the engine's
message.properties is a source of the messages, not the actual format as
compiled/shipped.

A single source could also be used to generate the list of messages for
the documentation, along with explainations, didn't we discuss this already?


Dan.




Mime
View raw message