what should return unwritable Javascript RDF Datasources for composite-datasources ?
vaab <[email protected]> Fri, 13 May 2005 10:23:35 +0200
| Newsgroups | gmane.comp.mozilla.devel.rdf |
|---|---|
| Organization | Another Netscape Collabra Server User |
| Message-ID | <[email protected]> |
I have done a new Datasource that implements the common interface of datasource (GetTarget, Assert, ...). All the function are implemented. I use this datasource without problems in composite datasources with other built-in datasource. I wanted to do a second datasource in javascript, but this one is not writable (as some built-in datasources). But when Assert in a composite datasource, my datasource comes first and I don't know what to return (exception ? error code ?) to reject properly the assertion and let the composite datasource try with other datasource contained... I'm afraid I'm not so clear... Hopin somebody will understand. Vaab PS: I've tryed with throwing arbitrary exception, but this do not work, I've outputed the return value of built-in datasources, and they return "null" whether they have or have not accepted the assertion. PS2: I've found references of casting NS_RDF_ASSERTION_REJECTED. There are no Components.results.NS_RDF_ASSERTION_REJECTED and I've found that it should be : --- Found in LDAP module for firefox const NS_ERROR_RDF_BASE = 0x804f0000; // XXX is this right? const NS_RDF_ASSERTION_REJECTED = NS_ERROR_RDF_BASE + 3; --- But casting this with a 'throw', or return it doesn't work as expected. --- Quote from "Modifying RDF Datasource" Datasources may not accept the change. For instance, when a datasource is not writeable or you attempt to add invalid data, the datasource will reject the change. In native code, you can detect this as the datasource will return an NS_RDF_ASSERTION_REJECTED status code. This status code in not an error however. --- Any hints ?