Bug 104522 - implement support for compound object keys in versioning
Summary: implement support for compound object keys in versioning
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Web Application Framework
Classification: Retired
Component: other   
(Show other bugs)
Version: nightly
Hardware: All Linux
medium
medium
Target Milestone: ---
Assignee: ccm-bugs-list
QA Contact: Jon Orris
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2003-09-16 17:51 UTC by Vadim Nasardinov
Modified: 2007-04-18 16:57 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2005-08-03 18:30:44 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

Description Vadim Nasardinov 2003-09-16 17:51:43 UTC
Versioning does not currently support the versioning of object types
with compound keys:

$ p4 print \
 //core-platform/dev/src/com/arsdigita/versioning/Adapter.java#6 |
 grep -v "edit change" | head -n 203 | tail -n 9

    private static Types getType(Property prop) {
        Assert.exists(prop, Property.class);
        DataType dataType = prop.getType();
        if ( dataType.isSimple() ) {
            return Types.getType((SimpleType) dataType);
        } else {
            throw new Error("not implemented for compound types yet");
        }
    }


In other words, if you have something like this

    object type UserGroupLink {
        Date[1..1] created = join ...

        object key (user, group);
    }

    association {
        UserGroupLink[0..n] groups = join ...

        User[1..1] user = join ...
    }

    association {
        UserGroupLink[0..n] users = join ...

        Group[1..1] group = join ...
    }

and you want to version instances of the UserGroupLink object type,
versioning will throw the error shown above.  This is because the
object key of the UserGroupLink is of type (User, Group). This is not
currently supported.  (Keys of the type (BigInteger, BigInteger) or
some such *are* supported.)

After talking to Rafi last night, I get the impression that Scott has
also run into the need to deal with compound types in much the same
way that versioning has to deal with them.  There may be other ways
for Scott to solve problems he ran into.  However, if we do end up
putting some sort of support for serialization of compound types into
publishing, any such work would probably have to be coordinated with
similar work on versioning.

See also
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=103242

Comment 1 Vadim Nasardinov 2005-08-03 18:30:44 UTC
stale


Note You need to log in before you can comment on or make changes to this bug.