<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: OSGi, Dynamics and Eclipse</title>
	<atom:link href="http://eclipsesource.com/blogs/2009/07/23/osgi-dynamics-and-eclipse/feed/" rel="self" type="application/rss+xml" />
	<link>http://eclipsesource.com/blogs/2009/07/23/osgi-dynamics-and-eclipse/</link>
	<description>Eclipse Equinox OSGi</description>
	<lastBuildDate>Wed, 16 May 2012 08:22:45 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Ralf Ebert</title>
		<link>http://eclipsesource.com/blogs/2009/07/23/osgi-dynamics-and-eclipse/comment-page-1/#comment-3245</link>
		<dc:creator>Ralf Ebert</dc:creator>
		<pubDate>Thu, 17 Dec 2009 14:15:36 +0000</pubDate>
		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=2148#comment-3245</guid>
		<description>Chris, are you aware of any plans to add such a &quot;Dynamic-Aware&quot; manifest header? Seems like a reasonable addition and would certainly reward people that are sticking to the rules regarding OSGi&#039;s dynamic nature.</description>
		<content:encoded><![CDATA[<p>Chris, are you aware of any plans to add such a &#8220;Dynamic-Aware&#8221; manifest header? Seems like a reasonable addition and would certainly reward people that are sticking to the rules regarding OSGi&#8217;s dynamic nature.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Philipp Kursawe</title>
		<link>http://eclipsesource.com/blogs/2009/07/23/osgi-dynamics-and-eclipse/comment-page-1/#comment-2391</link>
		<dc:creator>Philipp Kursawe</dc:creator>
		<pubDate>Fri, 24 Jul 2009 05:51:21 +0000</pubDate>
		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=2148#comment-2391</guid>
		<description>That StringVariablePresentationManager  screams for a refactoring patch then.
Regarding extension I wonder what the best approach should be: Save the extensions in an internal state (a map like in your second example). Or query the available extensions on demand. Especially when they just provide key-value pairs I see no reason to duplicate that functionality and memory in a own state variable. I think the extension registry is optimized for performance already, so string lookups into the IConfigurationElement should be fairly quick?
The LTK refactoring participants are also not dynamic aware, btw.
I have written myself an ExtensionPoint class which allows to quickly visit all available extensions and filter them and then work with them. Also I have my own ExtensionRegistry base class that is essentially a tracker as you show in your second sample, and it calls (via reflection) methods on the subclass to actually handle incoming and going extensions like this (for your second sample):

@Required({&quot;id&quot;, &quot;label&quot;)}
protected void addKeyword(IConfigurationElement) {
}

As you can see, my ExtensionRegistry class also verifies that the extension has the required attributes. Which could be extended to add specific constraints to the attributes, such as a regex or type constraint and range constraints.

Overall programming dynamic aware is not that difficult at all. It just take a little more extra effort but the gain is great.</description>
		<content:encoded><![CDATA[<p>That StringVariablePresentationManager  screams for a refactoring patch then.<br />
Regarding extension I wonder what the best approach should be: Save the extensions in an internal state (a map like in your second example). Or query the available extensions on demand. Especially when they just provide key-value pairs I see no reason to duplicate that functionality and memory in a own state variable. I think the extension registry is optimized for performance already, so string lookups into the IConfigurationElement should be fairly quick?<br />
The LTK refactoring participants are also not dynamic aware, btw.<br />
I have written myself an ExtensionPoint class which allows to quickly visit all available extensions and filter them and then work with them. Also I have my own ExtensionRegistry base class that is essentially a tracker as you show in your second sample, and it calls (via reflection) methods on the subclass to actually handle incoming and going extensions like this (for your second sample):</p>
<p>@Required({&#8220;id&#8221;, &#8220;label&#8221;)}<br />
protected void addKeyword(IConfigurationElement) {<br />
}</p>
<p>As you can see, my ExtensionRegistry class also verifies that the extension has the required attributes. Which could be extended to add specific constraints to the attributes, such as a regex or type constraint and range constraints.</p>
<p>Overall programming dynamic aware is not that difficult at all. It just take a little more extra effort but the gain is great.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: A.Sokolowski</title>
		<link>http://eclipsesource.com/blogs/2009/07/23/osgi-dynamics-and-eclipse/comment-page-1/#comment-2390</link>
		<dc:creator>A.Sokolowski</dc:creator>
		<pubDate>Fri, 24 Jul 2009 05:17:15 +0000</pubDate>
		<guid isPermaLink="false">http://eclipsesource.com/blogs/?p=2148#comment-2390</guid>
		<description>Now, this is the explanation! At least I understand the reasons for the dialog, and will not complain about it any more :)
But still, the massage could say more clearly, or rather say the same thing in the way, that makes an user to feel more comfortable, something like that: &quot;If you are not sure what to select, just restart Eclipse&quot;.</description>
		<content:encoded><![CDATA[<p>Now, this is the explanation! At least I understand the reasons for the dialog, and will not complain about it any more <img src='http://eclipsesource.com/blogs/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
But still, the massage could say more clearly, or rather say the same thing in the way, that makes an user to feel more comfortable, something like that: &#8220;If you are not sure what to select, just restart Eclipse&#8221;.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

