Robbie,

  sorry for the slow response,  some comments below ...

On 7/14/06, Robbie J Minshall <[EMAIL PROTECTED]> wrote:

These comments are with regard to comments on the
AccessingDataObjectsUsingXPath sample.  There are also some general
questions about the roles of the end user of the DataObjects vrs DAS
implementations regarding ChangeSummary logging.

DATA GRAPH CREATION
Yes there are three creation scenarios brought up here . . .
# 1. Creation of a DataObject representing a DataGraph
# 2. Creation of a DataObject
# 3. Use of SDOUtil to create a DataGraph

My current view is to keep this sample as close to the spec example as
possible without being overly confusing.  With this in mind I think it
best if the sample just use a DataObject and provide comments explaining
the confusion in the spec regarding #1.


+1 for that

 Then the sample should reference
a codeSnipet example which goes over #1 and #3.  The alternatives seem to
either vary too much from the specification example which this sample is
supposed to mirror or become overly confusing.  I mostly feel this way
because the point of this particular sample was to demonstrate how to use
xpath (though as you mention it is non standard xpath )  with SDO not the
creation of DataGraphs.   . . . thoughts ?


ok, so as I understand it the meaning of "codeSnippet" example here is that
you have 3 kinds of examples, 1) mirroring as close as possible the examples
in the 2.0.1 spec beginning at page 123; 2) code snippets harvested from all
over the spec and 3) code samples from various publications,  and the #1 and
#3 variant of the xpath sample would be hived off to the code snippet set,
with suitable comments to indicate the tricky issues.  If so, then +1 for
that too.

With regard to the stages at which the samples are encountered this is
somewhat hard to control but I can certainly add some comments into the
javadoc explaining that this sample delves into a somewhat murky area of
the 2.0.1 specification.

LACK OF A DAS
> but we don't have a DAS here
I would disagree here.  A DAS is simply something that is tasked with
creating DataObjects and/or defining the Types of those DataObjects.  This
is pretty much the extent which the SDO specification defines what a DAS
is, or the state which a DataObject will be in upon creation.   In this
sample the XMLHelper is in fact providing a DAS implementation.

WHETHER OR NOT TO ENABLE LOGGING IN THE SAMPLE
It is not a big deal to enable logging though I think that there is some
confusion here about what roles should invoke the begin/endLogging methods
on ChangeSummary.  If we put it in this sample users will think that they
are responsible for setting the state of logging where at least the RDB
DAS feels like it is their responsibility not the users.  Are the users
responsible for enabling and disabling ChangeSummary logging or is that to
be up to the specific DAS implementations in use ?   Perhaps the SDO
specification should define what state it expects the ChangeSummary
logging to be in for created DataObjects in order to avoid inconsistencies
between DAS implementations.


ok, if you consider the XML helper to be a DAS, as you say there are no
guidelines on behaviour for DASs,  and I would guess a DAS designer would
want to turn change logging on or off by default according to whether the
data source lends itself to selective updating, so I think that this makes
it natural for the XMLHelper to return graphs with Change Logging switched
off

In general the end user of DataObjects should not have to be aware of what
DAS created, or what DAS is going to persist the DataObject in order to
determine the APIs to be used.


My guess is that sometimes a user will be aware of the DAS and sometimes
not. Whatever the case the user can have expectations set by the specific
environment they are working in; so if its close to the DAS, then the DAS
sets the policy,  if the DAS is abstracted away, then the abstracted
environment sets the policy (which maywell  be that change logging is always
on),  but I don't think we can envisage enough commanality between all DASs,
exisiting or future, to take a stab at specifying the logging state for
every DAS.

Robbie




--
Best Regards
Kelvin

Reply via email to