Thanks for all your suggestions so far, but I think none is what can really help me. Let me explain a bit more.
Cleanup does not only mean delete the Product from the database but first I have to build an XML structure that contains the product data and related data from several to-one and to-many relationships. This XML is then sent to a remote application. Only when that application (not under my control) agrees I am allowed to finally remove that Product. - Having a clone of the Product entity without the restricting qualifier is therefore not such a good idea, as I need to maintain all the relationships from and to that entity. Nightmare! - Just removing the restricting qualifier is an option, but then there are dozens of locations throughout the app where products are fetched, some through D2WQueryPage, others explicitly for populating selection lists, yet others when generating XML data. Nightmare! - Having a second instance of the app with a property set to remove the restricting qualifier might be a way to go, but some cleanup related actions must be explicitly done by an interactive user. What instance should a user connect to? Depending on what he/she wants to do, it's the one where the cleanup works or not. So basically my question still is, how do I circumvent that restricting qualifier? Might there be a way to do this with a delegate somewhere down the EOF stack? At what point in processing is the final qualifier built? I could set a delegate and if needed remove the restriction from the generated SQL statement. But how and where would I do this? Never had to go that deep into advanced EOF land. Thanks for your help ---markus--- PS the IllegalArgumentException mentioned in my first posting was due to rawRows bringing back all the attribute names in upper case but the id attribute is in lower case. So this has been resolved, but even then I only get faults that are later on resolved against the database - again including the restricting qualifier. Even objectsWithPrimaryKey() uses the qualifier. On 10.04.2013, at 13:52, Markus Ruggiero <[email protected]> wrote: > Folks, > > I have an entity Product with an attribute isVisible. Throughout my > application I only work with products that are visible. So I have specified a > qualifier visible='Y' right in the model. This qualifier is automatically > AND-added to each and every query agains Product. Fine, I am happy with this. > > Now the customer needs an automatic cleanup function. This function must > fetch products that are not visible. Cleanup requires more than just deletion > from the database. I cannot do the cleanup with raw rows, I do need real EOs. > How can I override that model qualifier? When fetching raw rows I do get the > data but I was not able to convert the dictionaries to EOs. The ID attribute > is in the dictionary (which is the PK) but I get an IllegalArgumentException > telling me "does not contain primary key information for entity Product" > > This is the code I use (maybe there is a problem there) > > NSMutableArray<Product> products = new NSMutableArray<Product>(); > NSArray<NSDictionary<String, Object>> rawRows = EOUtilities.rawRowsForSQL( > ec, "ec2", "select * from PRODUCT where visible = 'N' ", null); > for (NSDictionary row : rawRows) { > Product prod = (Product) EOUtilities.objectFromRawRow( ec, > Product.ENTITY_NAME, row ); > products.addObject( prod ); > } > > Thanks for your help > ---markus--- > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Webobjects-dev mailing list ([email protected]) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/webobjects-dev/mailinglists%40kataputt.com > > This email sent to [email protected]
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [email protected]
