I agree we don't need the same-DataFactory restriction.

There might be historical reason(s) for such implementation.
Without knowing the details, I don't see the restriction make sense from
modeling perspective.

A Type's Property's Type may come from a different DataFactory/scope,
and it may also be extended/inherited/XsiTyped by Types from a different
DataFactory/scope.

More importantly, for a Type having "any" element or anyAttribute, why do we
want to restrict values from any other DataFactory/scope?


On 12/6/06, Pete Robbins <[EMAIL PROTECTED]> wrote:

There is a restriction in the current implementation that forces all
DataObjects in a graph to belong to the same DataFactory. I'm not
convinced
we need this. Currently if you create a DataObject (do1) from a
DataFactory
(df1) and then set that as a property on DataObject (do2) that was created
from DataFactory (df2) the code:

  1. Iterates over all the types and properties of do1 recursively
  checking that the types are defined in df2
  2. Iterates through all the instance properties of do1 (recursively
  for props that are DOs) changing the DataFacory of each to df2
  3. burns the cpu out while doing this
  4. crashes as there are many bugs in this logic

While looking into a fix for this I think the easiest solution is to just
not have the restriction at all. The only check that is necessary is that
the Type of do1 matches the Type of the property being set on do2. do1
still
remembers that its DataFactory is df1.This "appears" to work but I'm sure
some corner cases may turn up that require fixing.

Am I missing something obvious here?

Cheers,

--
Pete




--

Yang ZHONG

Reply via email to