Re: StackOverflowException when mutual reference exist

2007-07-10 Thread Mike Edwards

Huang,


Huang Kai wrote:

I mean that composite A has a component which uses composite B as
an implementation and that composite B has a component which uses
 composite A as an implementation .
I think this use case is fairly common, eg. [Employee] has a property refer to 
[Company] and [Company] has a property refer to it's [Employee]s. And when 
these two java components are in different composites, I'll have to define 
mutual referenced composite files above.



Aaargh - this is the case that I was worrying about.

OK - what you need to understand here is that using a composite to 
implement a component within a higher level composite is *NOT* a 
reference property.


Using something as an implementation is a STRUCTURAL relationship.  It 
means that the implementation is "part of" the containing composite. 
Now if you view it that way, then it does *NOT* make sense for a Company 
to be "built from" employees and then for the employees to be "built 
from" a company.  That is what your use case is like.


It's OK for a "Company" component to have a reference to an "Employee" 
component - but a reference is not the implementation of a component - 
it is a dependency that one component has on another.



Does that make sense?


Yours,  Mike.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: StackOverflowException when mutual reference exist

2007-07-09 Thread Huang Kai
I mean that composite A has a component which uses composite B as
an implementation and that composite B has a component which uses
 composite A as an implementation .
I think this use case is fairly common, eg. [Employee] has a property refer to 
[Company] and [Company] has a property refer to it's [Employee]s. And when 
these two java components are in different composites, I'll have to define 
mutual referenced composite files above.

- Original Message - 
From: "Mike Edwards" <[EMAIL PROTECTED]>
To: 
Sent: Monday, July 09, 2007 4:37 PM
Subject: Re: StackOverflowException when mutual reference exist


> Huang,
> 
> Can you clarify what you mean please?
> 
> What configuration of composites are you using?
> 
> Yours,  Mike.
> 
> Huang Kai wrote:
>> I'm in the case 2. 
>> :(
>> It's error-prone
>> 
>> - Original Message - 
>> From: "Simon Laws" <[EMAIL PROTECTED]>
>> To: 
>> Sent: Friday, July 06, 2007 11:11 PM
>> Subject: Re: StackOverflowException when mutual reference exist
>> 
>> 
>>> On 7/6/07, Mike Edwards <[EMAIL PROTECTED]> wrote:
>>>> Huang,
>>>>
>>>> I assume that by "reference" here, you mean a service reference?  If
>>>> that is so, it should work.
>>>>
>>>> If you mean that composite A has a component which uses composite B as
>>>> an implementation and that composite B has a component which uses
>>>> composite A as an implementation - then this IS an illegal cyclical
>>>> usage and should generate an error.
>>>>
>>>> Yours,  Mike.
>>>>
>>>> Huang Kai wrote:
>>>>> When CompositeA has reference to CompositeB while CompositeB also has
>>>> reference back to CompositeA, CompositeBuilderImpl.build(composite) seems
>>>> went into endless loop.
>>>>> I'm not very sure whether it's a bug or this kind of reference is
>>>> illegal?
>>>>
>>>> -
>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>
>>>> Mike
>>> For clarification. In the first case is the assumption that the application
>>> will ensure that messages do not pass round the loop forever.
>>>
>>> Simon
>>>
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>

Re: StackOverflowException when mutual reference exist

2007-07-09 Thread Mike Edwards

Huang,

Can you clarify what you mean please?

What configuration of composites are you using?

Yours,  Mike.

Huang Kai wrote:
I'm in the case 2. 
:(

It's error-prone

- Original Message - 
From: "Simon Laws" <[EMAIL PROTECTED]>

To: 
Sent: Friday, July 06, 2007 11:11 PM
Subject: Re: StackOverflowException when mutual reference exist



On 7/6/07, Mike Edwards <[EMAIL PROTECTED]> wrote:

Huang,

I assume that by "reference" here, you mean a service reference?  If
that is so, it should work.

If you mean that composite A has a component which uses composite B as
an implementation and that composite B has a component which uses
composite A as an implementation - then this IS an illegal cyclical
usage and should generate an error.

Yours,  Mike.

Huang Kai wrote:

When CompositeA has reference to CompositeB while CompositeB also has

reference back to CompositeA, CompositeBuilderImpl.build(composite) seems
went into endless loop.

I'm not very sure whether it's a bug or this kind of reference is

illegal?

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Mike

For clarification. In the first case is the assumption that the application
will ensure that messages do not pass round the loop forever.

Simon



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: StackOverflowException when mutual reference exist

2007-07-08 Thread Huang Kai
I'm in the case 2. 
:(
It's error-prone

- Original Message - 
From: "Simon Laws" <[EMAIL PROTECTED]>
To: 
Sent: Friday, July 06, 2007 11:11 PM
Subject: Re: StackOverflowException when mutual reference exist


> On 7/6/07, Mike Edwards <[EMAIL PROTECTED]> wrote:
>>
>> Huang,
>>
>> I assume that by "reference" here, you mean a service reference?  If
>> that is so, it should work.
>>
>> If you mean that composite A has a component which uses composite B as
>> an implementation and that composite B has a component which uses
>> composite A as an implementation - then this IS an illegal cyclical
>> usage and should generate an error.
>>
>> Yours,  Mike.
>>
>> Huang Kai wrote:
>> > When CompositeA has reference to CompositeB while CompositeB also has
>> reference back to CompositeA, CompositeBuilderImpl.build(composite) seems
>> went into endless loop.
>> > I'm not very sure whether it's a bug or this kind of reference is
>> illegal?
>>
>> -
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>> Mike
> 
> For clarification. In the first case is the assumption that the application
> will ensure that messages do not pass round the loop forever.
> 
> Simon
>

Re: StackOverflowException when mutual reference exist

2007-07-06 Thread Simon Laws

On 7/6/07, Mike Edwards <[EMAIL PROTECTED]> wrote:


Huang,

I assume that by "reference" here, you mean a service reference?  If
that is so, it should work.

If you mean that composite A has a component which uses composite B as
an implementation and that composite B has a component which uses
composite A as an implementation - then this IS an illegal cyclical
usage and should generate an error.

Yours,  Mike.

Huang Kai wrote:
> When CompositeA has reference to CompositeB while CompositeB also has
reference back to CompositeA, CompositeBuilderImpl.build(composite) seems
went into endless loop.
> I'm not very sure whether it's a bug or this kind of reference is
illegal?

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Mike


For clarification. In the first case is the assumption that the application
will ensure that messages do not pass round the loop forever.

Simon


Re: StackOverflowException when mutual reference exist

2007-07-06 Thread Mike Edwards

Huang,

I assume that by "reference" here, you mean a service reference?  If 
that is so, it should work.


If you mean that composite A has a component which uses composite B as 
an implementation and that composite B has a component which uses 
composite A as an implementation - then this IS an illegal cyclical 
usage and should generate an error.


Yours,  Mike.

Huang Kai wrote:

When CompositeA has reference to CompositeB while CompositeB also has reference 
back to CompositeA, CompositeBuilderImpl.build(composite) seems went into 
endless loop.
I'm not very sure whether it's a bug or this kind of reference is illegal?


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: StackOverflowException when mutual reference exist

2007-07-04 Thread Raymond Feng

Hi,

I think it's legal to have references from both A->B and B->A. Please create 
a JIRA to track this issue.


Thanks,
Raymond

- Original Message - 
From: "Huang Kai" <[EMAIL PROTECTED]>

To: 
Sent: Wednesday, July 04, 2007 10:48 PM
Subject: StackOverflowException when mutual reference exist


When CompositeA has reference to CompositeB while CompositeB also has 
reference back to CompositeA, CompositeBuilderImpl.build(composite) seems 
went into endless loop.
I'm not very sure whether it's a bug or this kind of reference is illegal? 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



StackOverflowException when mutual reference exist

2007-07-04 Thread Huang Kai
When CompositeA has reference to CompositeB while CompositeB also has reference 
back to CompositeA, CompositeBuilderImpl.build(composite) seems went into 
endless loop.
I'm not very sure whether it's a bug or this kind of reference is illegal?