Am 22.06.2012 um 18:50 schrieb Ramsey Gurley: > > On Jun 21, 2012, at 11:12 PM, Johann Werner wrote: > >> Hi list, >> >> working with the H2 plugin I got an interesting issue with prototypes. >> Looking at ERPrototypes there is an entity EOJDBCH2Prototypes so I assume >> that adding my own prototypes should have an entity named >> EOJDBCH2CustomPrototypes. Now I have tracked down that during access of a >> model the prototypes for this model are created after calling >> ERXEOAccessUtilities.guessPluginNameForConnectionDictionary(). >> >> The H2 plugin needs only the URL field in the connection dictionary (e.g. >> jdbc:h2:mem:myDB) so it will look up the class name that has been registered >> for the h2 prototcol. That class is ERH2PlugIn from which the "PlugIn" part >> is subtracted leaving "ERH2". That means that WO looks for a >> EOJDBCERH2Prototypes which of course doesn't exist falling back to >> EOJDBCPrototypes which gives wrong external data types. >> >> A solution would be to not only strip off a trailing "PlugIn" but also a >> leading "ER", this would affect the H2 and the Derby plugin. What makes me >> wonder is that apparently no one had this problem before. Changing the >> mentioned method would make WO look for a differently named prototype entity >> so it could break for some. Are there any objections against that >> modification? It seems that guessing a name "ERH2" instead of "H2" should be >> wrong. >> >> jw > > Smells bad. Parsing for magic strings is gross. Have you tried registering > the H2PlugIn class instead of the ERH2PlugIn class in the h2 principal class? > Seems like that should work.
That is from the Derby plugin that has the very same class structure: /** * 5.4 declares the same class name for the DerbyPlugIn. If your classpath isn't * exactly right, they'll win, so we pushed the real code into ERDerbyPlugIn and * we set a custom principal class that registers the ER variant that is * "guaranteed" to not have collisions as the plugin for the "derby" * subprotocol. * * @author hprange guided by mschrag */ So I think using H2PlugIn instead of ERH2PlugIn is not a good idea either. > Ramsey > > _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [email protected]
