tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Harish Krishnaswamy <hkrishnasw...@comcast.net>
Subject Re: HiveMind feedback/questions
Date Tue, 09 Sep 2003 05:25:58 GMT
Just found out that eclipse extension-points, although majority of the 
time are used to extend behavior like Hivemind services, can be used for 
configuration data also just like the Hivemind extension-point. Your 
earlier idea would have been in perfect accordance with eclipse:).

-Harish

Harish Krishnaswamy wrote:

>
>
> Howard M. Lewis Ship wrote:
>
>> -- 
>> Howard M. Lewis Ship
>> Creator, Tapestry: Java Web Components
>> http://jakarta.apache.org/tapestry
>> http://jakarta.apache.org/commons/sandbox/hivemind/
>> http://javatapestry.blogspot.com
>>
>>  
>>
>>> -----Original Message-----
>>> From: Harish Krishnaswamy [mailto:hkrishnaswamy@comcast.net] Sent: 
>>> Monday, September 08, 2003 4:20 PM
>>> To: Tapestry development
>>> Subject: HiveMind feedback/questions
>>>
>>>
>>> I put the Adder example together with a LoggingInterceptor in three 
>>> modules and its pretty slick. Although the free form schema gets my 
>>> head spinning ;). I think it'll take a little bit to get adjusted to 
>>> living without constraints! I like the fact that it can support both 
>>> IoC and SoC, nice! And the documentation is great.
>>>
>>> I have a few questions:
>>> 1. What is rationale behind the names <service...> and 
>>> <extension-point...>? That would probably clarify my confusion with 
>>> the names.   
>>
>>
>> The naming is a bit tricky.  I eventually ended up with 
>> <extension-point> and <extension> because
>> that part of HiveMind is very close to Eclipse's plugin model; I 
>> decided that rather than have
>> competing names, I'd use the Eclipse names.
>>
>> To some degree, I wish I had gone with an earlier idea that I 
>> discarded (can't remember why) where
>> an extension point could be either a configuration extension point, a 
>> service extension point, or
>> both.  
>>
> I had the same thought, but then I thought you might have 
> differentiated them because of the special service contributions 
> (create-instance, ...). The other way would have definitely been much 
> more simpler. Also, I had all along thought that the Hivemind service 
> was analogous to the eclipse extension-point because they both provide 
> behavioral extensions, while Hivemind extensions as such only provide 
> objects that have to be manipulated by a service or something, am I at 
> a loss here?
>
>>
>>  
>>
>>> It got me a little confused initially, <service-extension-point...> 
>>> and <config-extension-point...> is more intuitive to me.
>>> 2. How to debug deferred services when dynamic proxies are used?
>>>   
>>
>>
>> Place your breakpoints inside your service implementation class.  
>> Proxies and interceptors shouldn't
>> need to be debugged.  In some cases, there's a method in an abstract 
>> class you can place breakpoints
>> in.
>>
> I was actually trying to trace the call-chain from RegistryBuilder and 
> couldn't proceed after I hit the proxy but I guess I can switch the 
> service to Singleton for this purpose, right? I shall try this tomorrow.
>
>>
>>
>> 3. In the BuilderFactory which service extension point  
>>
>>> id gets stored in the point-id-property?   
>>
>>
>> If you use the BuilderFactory to construct service "foo.bar.Baz", 
>> then the point-id-property is used
>> to specify the property, of type String, to be set to "foo.bar.Baz".  
>> Constructing and configuring
>> the core service implementation using the BuilderFactory is entirely 
>> seperate from the interceptor
>> stack.
>>
>>
>> For example, if I use a  
>>
>>> LoggingInterceptor like...
>>>  <extend-service service-id="hivemind.examples.Adder">
>>>    <interceptor service-id="hivemind.LoggingInterceptor" order="10"/>
>>>  </extend-service>
>>>   
>>
>>
>> Here, the property will be set to "hivemind.examples.Adder", 
>> regardless of what interceptor(s) are
>> contributed in.
>>
>> -- 
>> Howard M. Lewis Ship
>> Creator, Tapestry: Java Web Components
>> http://jakarta.apache.org/tapestry
>> http://jakarta.apache.org/commons/sandbox/hivemind/
>> http://javatapestry.blogspot.com
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
>>
>>
>>  
>>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org


Mime
View raw message