Re: Custom Configuration Question

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Mon Jan 16 2006 - 22:04:28 EST

  • Next message: Dov Rosenberg: "Re: Custom Configuration Question"

    On Jan 16, 2006, at 9:47 PM, Dov Rosenberg wrote:
    > Is there some type of delegate class we can register or some type
    > of event
    > notification we can react to so that we can set our parameters?

    DataSourceFactory interface itself can be viewed as such a delegate.
    Cayenne instantiates concrete implementation specified in the
    Modeler. It's up to you what this implementation does (e.g.
    internally it can further delegate to JNDIDataSourceFactory or
    DriverDataSourceFactory). This is very flexible - my own custom
    implementations ranged from reading local preferences to popping up
    Swing authentication dialog.

    Some more details - as you probably noticed, "DataSource Factory"
    dropdown in the Modeler allows you to type your own subclass in
    addition to the two choices. If you do so, a "Location Hint" field
    appears below - this is the String that will be passed to your custom
    factory in "getDataSource" method - your custom implementation is
    free to interpret it.

    > Question: For the DriverDataSourceFactory is there a way to provide
    > the
    > params such as driver class, URL, userid, passwd? It looks like
    > there is
    > some sort of XML file but I could not find the required format.

    Yes, there is an XML file created by the Modeler when you save your
    project. Here is a sample:

    <?xml version="1.0" encoding="utf-8"?>
    <driver project-version="1.1" class="org.postgresql.Driver">
            <url value="jdbc:postgresql://localhost:5432/db"/>
            <connectionPool min="1" max="4" />
            <login userName="user" password="pass"/>
    </driver>

    But for maximum flexibility I'd go with your own factory to stay
    independent from possible future Cayenne DTD changes.

    Andrus



    This archive was generated by hypermail 2.0.0 : Mon Jan 16 2006 - 22:04:30 EST