On 17-Jan-09, at 16:14 , Mike Schrag wrote:

If you look inside the plist, you'll probably find one of them is explicitly setting the className field of the attribute ... Is one of these an old model?

They are models that I routinely edit, My last edit was about 1 week ago and it worked without problems. What triggered those explicit className field to appear ? As I said earlier. I updated Wonder last night and I assume the stricter checking is recent.

Some of the EO in those models have been around from a long time ago, so could have these field have been created by a very old eomodel editor and survived all these months/years, only to be discovered by the new stricter checks ?

I personally never did anything fancy that required to tinker with those. I'm just happy with the prototypes from Wonder/PostgreSQL. Should I manually clean all my plist with a text editor ?






here is my bug.plist and part.plist

_________________________________________________________________________________________
Bug.plist
{
    attributes = (
        {
            allowsNull = Y;
            columnName = "bugSeverity_id";
            name = "bugSeverity_id";
            prototypeName = id;
        },
        {
            allowsNull = Y;
            className = NSTimestamp;
            columnName = dateClosed;
            name = dateClosed;
            prototypeName = dateTime;
        },
        {
            allowsNull = Y;
            className = NSTimestamp;
            columnName = dateOpen;
            name = dateOpen;
            prototypeName = dateTime;
        },
        {
            allowsNull = Y;
            columnName = description;
            name = description;
            prototypeName = longText;
        },
        {allowsNull = N; name = id; prototypeName = id; },
        {
            allowsNull = Y;
            columnName = "lead_id";
            name = "lead_id";
            prototypeName = id;
        },
        {
            allowsNull = Y;
            columnName = number;
            name = number;
            prototypeName = intNumber;
        },
        {
            allowsNull = Y;
            columnName = "origin_id";
            name = "origin_id";
            prototypeName = id;
        },
        {
            allowsNull = Y;
            columnName = "part_id";
            name = "part_id";
            prototypeName = id;
        },
        {
            allowsNull = Y;
            columnName = title;
            name = title;
            prototypeName = varchar100;
        }
    );
    attributesUsedForLocking = (
        "bugSeverity_id",
        dateClosed,
        dateOpen,
        id,
        "lead_id",
        number,
        "origin_id",
        "part_id",
        title
    );
    className = "com.obzerv.eo.Bug";
    classProperties = (
        bugSeverity,
        dateClosed,
        dateOpen,
        description,
        lead,
        number,
        operations,
        origin,
        part,
        title
    );
    externalName = Bug;
    name = Bug;
    primaryKeyAttributes = (id);
    relationships = (
        {
            destination = BugSeverity;
            joinSemantic = EOInnerJoin;
joins = ({destinationAttribute = id; sourceAttribute = "bugSeverity_id"; });
            name = bugSeverity;
        },
        {
            destination = Contact;
            joinSemantic = EOInnerJoin;
joins = ({destinationAttribute = id; sourceAttribute = "lead_id"; });
            name = lead;
        },
        {
            destination = Operation;
            isToMany = Y;
            joinSemantic = EOInnerJoin;
joins = ({destinationAttribute = "bug_id"; sourceAttribute = id; });
            name = operations;
        },
        {
            destination = Contact;
            joinSemantic = EOInnerJoin;
joins = ({destinationAttribute = id; sourceAttribute = "origin_id"; });
            name = origin;
        },
        {
            destination = Part;
            joinSemantic = EOInnerJoin;
joins = ({destinationAttribute = id; sourceAttribute = "part_id"; });
            name = part;
        }
    );
}
_____________________________________________________________________________________________________________________
Part.plist
{
    attributes = (
        {
            allowsNull = Y;
            className = NSTimestamp;
            columnName = createdOn;
            name = createdOn;
            prototypeName = dateTime;
        },
        {
            allowsNull = N;
            className = "java.lang.Integer";
            name = id;
            prototypeName = id;
        },
        {
            allowsNull = Y;
            className = "java.lang.String";
            columnName = name;
            name = name;
            prototypeName = varchar100;
        },
        {
            allowsNull = Y;
            className = "java.lang.Integer";
            columnName = quantity;
            name = quantity;
            prototypeName = intNumber;
        },
        {
            allowsNull = Y;
            className = "java.lang.String";
            columnName = serialNumber;
            name = serialNumber;
            prototypeName = varchar50;
        },
        {
            allowsNull = Y;
            className = "java.lang.Integer";
            columnName = "spec_id";
            name = "spec_id";
            prototypeName = id;
        }
    );
attributesUsedForLocking = (createdOn, id, name, quantity, serialNumber, "spec_id");
    className = "com.obzerv.eo.Part";
    classProperties = (
        bugs,
        createdOn,
        manifestItems,
        name,
        operations,
        quantity,
        serialNumber,
        spec,
        transactions
    );
    externalName = Part;
    name = Part;
    primaryKeyAttributes = (id);
    relationships = (
        {
            deleteRule = EODeleteRuleCascade;
            destination = Bug;
            isToMany = Y;
            joinSemantic = EOInnerJoin;
joins = ({destinationAttribute = "part_id"; sourceAttribute = id; });
            name = bugs;
        },
        {
            destination = ManifestItem;
            isToMany = Y;
            joinSemantic = EOInnerJoin;
joins = ({destinationAttribute = "assembly_id"; sourceAttribute = id; });
            name = manifestItems;
        },
        {
            deleteRule = EODeleteRuleCascade;
            destination = Operation;
            isToMany = Y;
            joinSemantic = EOInnerJoin;
joins = ({destinationAttribute = "part_id"; sourceAttribute = id; });
            name = operations;
        },
        {
            destination = Spec;
            joinSemantic = EOInnerJoin;
joins = ({destinationAttribute = id; sourceAttribute = "spec_id"; });
            name = spec;
        },
        {
            deleteRule = EODeleteRuleCascade;
            destination = Transaction;
            isToMany = Y;
            joinSemantic = EOInnerJoin;
joins = ({destinationAttribute = "part_id"; sourceAttribute = id; });
            name = transactions;
        }
    );
}


Louis Demers eng.
www.obzerv.com


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to