Hi John,
Actually a good idea for us to introduce a concept of ant-like dynamic
variable substitution in the future.
Now back down to Earth... The way to customize that now is via a
custom DataSourceFactory class:
http://cayenne.apache.org/doc/api/org/apache/cayenne/conf/DataSourceFactory.html
This interface can be implemented in your code to do whatever your app
needs to do. You should enter the full class name the custom
implementation under DataNode -> DataSource Factory in the Modeler and
then Cayenne will pick it up.
Andrus
On Jun 16, 2008, at 7:55 AM, John Armstrong wrote:
> Hello Cayenne people,
> First off, thank god for Cayenne. Its made my life a lot better and
> Hibernate is but a nightmare now. Thanks.
>
> Ok so my issue. I have a stand-alone app. In this app it uses the ant
> api to create a derby database in the users home directory. Some
> snippets:
>
> I config ant as :
> p.setProperty("dbFile", System.getProperty("user.home")
> + "/portfolioDB");
>
> And then my build.xml says:
> <database url="jdbc:derby:${dbFile}"
> driverClassName="org.apache.derby.jdbc.EmbeddedDriver" username=""
> password="" />
>
> This allows me to inject my ddl into the database on first run and
> have the database be localized to the user account across platforms.
>
> I need a way to inject this same ${dbFile} context into the
> *Node.driver file so that Cayenne accesses the database I just created
> and populated at first run.
>
> Currently mine says:
>
> <url value="jdbc:derby:/portfolioDB;create=true"/>
>
> Which obviously is not dynamic. It would be great if I could set it to
> <url value="jdbc:derby:${dbFile};create=true"/>
>
> Is this possible? I am imagining a way to set an environment variable
> or some sort of custom config class that sets this. This app is
> launched from a webstart so rewriting the config file is not a good
> answer for me unless I absolutely have to. That would obviously
> require a custom config class of some sort but is a level of
> complexity that feels unnecessary.
>
> Thanks, this is a bit into the internals for me and I lose my way
> quickly.
>
> John-
>
This archive was generated by hypermail 2.0.0 : Mon Jun 16 2008 - 03:41:19 EDT