Yes, since 2.0.2 is synched from Apache, it is already there:
http://mirrors.ibiblio.org/pub/mirrors/maven2/org/apache/cayenne/
cayenne-nodeps/2.0.2/
(1.2.2 requires assistance from Maven folks, so it is lagging behind)
Andrus
On Jan 22, 2007, at 11:39 PM, Alexander Lamb (dev) wrote:
Ok, I was with version 2.0.1-incubating (with Maven). Is 2.0.2
already available through Maven?
On Jan 22, 2007, at 12:01 PM, Andrus Adamchik wrote:
Actually you may want to upgrade to 2.0.2 - you may be affected by
this bug that was fixed in the last release:
https://issues.apache.org/cayenne/browse/CAY-712
Andrus
On Jan 21, 2007, at 11:10 PM, Alexander Lamb (dev) wrote:
Well, it might be me... having trouble with a class hierarchy. So
first I'll check that, then I'll be back with the
validateForInsert :-)
On Jan 21, 2007, at 6:49 PM, Alexander Lamb (dev) wrote:
Hello, me again!
Are you certain it is possible to handle fetches and creations
in validateForInsert like this for example:
public void validateForInsert(ValidationResult validationResult)
{
Scope scope = Scope.scopeWithShortNameInContext
(this.getShortName(),this.getDataContext());
if(scope == null)
{
RegistryScope registryScope = new RegistryScope();
this.getDataContext().registerNewObject(registryScope);
registryScope.setShortName(this.getShortName());
registryScope.setScopeClass("REGISTRY");
registryScope.setName(this.getLongName());
registryScope.setRegistry(this);
}
}
I get a wonderfull index out of bounds deep in the cayenne classes:
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:546)
at java.util.ArrayList.get(ArrayList.java:321)
at java.util.Collections$UnmodifiableList.get
(Collections.java:1155)
at
org.apache.cayenne.access.trans.SelectTranslator.appendQueryColumns
(SelectTranslator.java:400)
at
org.apache.cayenne.access.trans.SelectTranslator.buildResultColumns
(SelectTranslator.java:338)
at
org.apache.cayenne.access.trans.SelectTranslator.createSqlString
(SelectTranslator.java:113)
at
org.apache.cayenne.dba.mysql.MySQLSelectTranslator.createSqlString(
MySQLSelectTranslator.java:31)
at
org.apache.cayenne.access.trans.QueryAssembler.createStatement
(QueryAssembler.java:95)
at
org.apache.cayenne.access.jdbc.SelectAction.performAction
(SelectAction.java:71)
at org.apache.cayenne.access.DataNodeQueryAction.runQuery
(DataNodeQueryAction.java:59)
at org.apache.cayenne.access.DataNode.performQueries
(DataNode.java:273)
at
org.apache.cayenne.access.DataDomainQueryAction.runQuery
(DataDomainQueryAction.java:319)
at org.apache.cayenne.access.DataDomainQueryAction.access
$000(DataDomainQueryAction.java:60)
at org.apache.cayenne.access.DataDomainQueryAction
$1.transform(DataDomainQueryAction.java:291)
at org.apache.cayenne.access.DataDomain.runInTransaction
(DataDomain.java:820)
at
org.apache.cayenne.access.DataDomainQueryAction.runQueryInTransacti
on(DataDomainQueryAction.java:288)
at
org.apache.cayenne.access.DataDomainQueryAction.execute
(DataDomainQueryAction.java:109)
at org.apache.cayenne.access.DataDomain.onQuery
(DataDomain.java:730)
at
org.apache.cayenne.util.ObjectContextQueryAction.runQuery
(ObjectContextQueryAction.java:217)
at
org.apache.cayenne.access.DataContextQueryAction.execute
(DataContextQueryAction.java:54)
at org.apache.cayenne.access.DataContext.onQuery
(DataContext.java:1386)
at org.apache.cayenne.access.DataContext.performQuery
(DataContext.java:1375)
at ch.rodano.role.model.Scope.scopeWithShortNameInContext
(Scope.java:18)
at ch.rodano.role.model.Registry.validateForInsert
(Registry.java:39)
On Jan 17, 2007, at 8:53 AM, Andrus Adamchik wrote:
Hi Alex,
Yes you can do that. Validation routine is executed before
object changes are finalized, allowing arbitrary object
operations to be performed during the validation.
Andrus
On Jan 17, 2007, at 12:07 AM, Alexander Lamb (dev) wrote:
Hello list,
I am currently using Cayenne 2.0.
I read it was possible to modify objects during a
validateForInsert or validateForSave call (e.g. not the same
as old WebObjects).
What about creating a new object and inserting it in the
DataContext? Will it get saved at the same time?
My problem is the following:
I have an object which has a to-one relationship to another
object. That other object has to be created at the same time
as the first one. I would like to make it automatic so the
user of the library I am writing can simply create and insert
the first object and the second one will follow.
To understand why I am creating two objects related one-to-one
it is because I have an entity which can be related (to-one)
to either one of four other entities. I am doing this instead
of modeling things with a class hierarchy since cayenne
doesn't support multiple tables class hierarchies.
Thanks for any hints!
Alex