Spinning up Cayenne in a unit test.

Tony Giaccone <[email protected]>
Newsgroups gmane.comp.java.cayenne.user
Message-ID <CALQ75kH+uKS3rk4EOJgTPEWTamma675ndZLZ+e1ovTyu-meR=Q@mail.gmail.com>
So I have a project which is running in Bootique, but the data model is
used in several different apps. To facilitate this, we created a jar file
that includes the generated classes, and the code and the
cayenne-project.xml file in one jar file.  The result of this is tests run
for this jar, don't have access to the bootique runtime, as they are part
of a jar that's going to be included in other apps.

We're using an older version of Bootique and so the version of Cayenne is
4.0.B2

The cayenne project, only has a datamap there is no datanode defined in the
xml.

So I'm trying to spin up a cayenne runtime, using this code.

runtime = ServerRuntime.builder()
        .addConfig("cayenne-CohortManager.xml")
        .addModule(binder -> {
            ServerModule.contributeProperties(binder)
                    .put("cayenne.jdbc.driver", "org.h2.Driver")
                    .put("cayenne.jdbc.url", "jdbc:h2:mem:CohortDB");
        })
        .build();


The problem is that later, when I try to commit changes, I get this error:

org.apache.cayenne.CayenneRuntimeException: [v.4.0.B2 Sep 26 2017
10:05:06] No DataNode configured for DataMap 'datamap' and no default
DataNode set

I'm successfully able to run other tests, because they never do a
commitobjects.


Any suggestions on how to resolve my problem.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.