<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Chris Aniszczyk&#039;s (zx) diatribe &#187; equinox</title>
	<atom:link href="http://aniszczyk.org/tag/equinox/feed/" rel="self" type="application/rss+xml" />
	<link>http://aniszczyk.org</link>
	<description>work. life. open source. diatribes.</description>
	<lastBuildDate>Tue, 06 Jul 2010 13:25:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Free Chapter from the OSGi and Equinox Book</title>
		<link>http://aniszczyk.org/2010/03/04/free-chapter-from-the-osgi-and-equinox-book/</link>
		<comments>http://aniszczyk.org/2010/03/04/free-chapter-from-the-osgi-and-equinox-book/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 16:34:43 +0000</pubDate>
		<dc:creator>Chris Aniszczyk</dc:creator>
				<category><![CDATA[work]]></category>
		<category><![CDATA[equinox]]></category>
		<category><![CDATA[osgi]]></category>

		<guid isPermaLink="false">http://aniszczyk.org/?p=1781</guid>
		<description><![CDATA[How exciting to finally have the Equinox and OSGi book done (see the book review from DZone). In the Eclipse community, many people complain about the lack of documentation and reference material, well that should be less of a problem given the book and excellent Toast example. You can download the first chapter for free [...]]]></description>
			<content:encoded><![CDATA[<p>How exciting to finally have the <a href="http://equinoxosgi.org/">Equinox and OSGi</a> book done (see the <a href="http://java.dzone.com/reviews/osgi-and-equinox-creating?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+eclipsezone%2Ffrontpage+%28Eclipse+Zone%29">book review</a> from DZone). In the Eclipse community, many people complain about the lack of documentation and reference material, well that should be less of a problem given the book and excellent <a href="http://wiki.eclipse.org/Toast">Toast</a> example.</p>
<p>You can download the <a href="http://bit.ly/9MgA1N">first chapter for free</a> (and the 6th <a href="http://equinoxosgi.org/OSGi%20and%20Equinox%20-%20Ch06.pdf">chapter</a>).</p>
<p><a href="http://aniszczyk.org/wp-content/uploads/2010/03/equinoxosgibook.png"><img class="alignnone size-medium wp-image-1782" style="border: 1px solid black;" title="Equinox OSGi Book" src="http://aniszczyk.org/wp-content/uploads/2010/03/equinoxosgibook-292x300.png" alt="" width="292" height="300" /></a></p>
<p>I may be a bit biased (see the kind words about me in the Acknowledgments section of the book), but I believe this is the most comprehensive book on OSGi out there. The authors have many years of practical OSGi experience, from the days to when OSGi wasn&#8217;t cool yet (SMF) to when it became the basis of Eclipse. On top of that, I think the best thing that comes out of this book is the open sourced <a href="http://wiki.eclipse.org/Toast">Toast</a> example. Expect to see a lot us within the Eclipse community use this example when we talk about OSGi, Equinox and <a href="http://www.eclipse.org/eclipsert">EclipseRT</a>.</p>
<p>So what are you waiting for, go <a href="http://equinoxosgi.org/">buy the book</a> and learn about OSGi.</p>
]]></content:encoded>
			<wfw:commentRss>http://aniszczyk.org/2010/03/04/free-chapter-from-the-osgi-and-equinox-book/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>DS in the Eclipse SDK?</title>
		<link>http://aniszczyk.org/2009/01/26/ds-in-the-eclipse-sdk/</link>
		<comments>http://aniszczyk.org/2009/01/26/ds-in-the-eclipse-sdk/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 21:21:00 +0000</pubDate>
		<dc:creator>Chris Aniszczyk</dc:creator>
				<category><![CDATA[work]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[equinox]]></category>
		<category><![CDATA[osgi]]></category>

		<guid isPermaLink="false">http://aniszczyk.org/2009/01/26/ds-in-the-eclipse-sdk/</guid>
		<description><![CDATA[If you&#8217;re interested in the topic of having Equinox Declarative Services ship with the Eclipse SDK, check out this mail thread on eclipse-dev. There&#8217;s also a bug open you can follow. It would be great to hear from the greater Eclipse community about this topic.]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re interested in the topic of having Equinox Declarative Services ship with the Eclipse SDK, check out this <a href="http://dev.eclipse.org/mhonarc/lists/eclipse-dev/msg08498.html">mail thread</a> on eclipse-dev. There&#8217;s also a <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=253926">bug</a> open you can follow.</p>
<p>It would be great to hear from the greater Eclipse community about this topic.</p>
]]></content:encoded>
			<wfw:commentRss>http://aniszczyk.org/2009/01/26/ds-in-the-eclipse-sdk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Equinox and Foundation 1.1</title>
		<link>http://aniszczyk.org/2008/12/02/equinox-and-foundation-11/</link>
		<comments>http://aniszczyk.org/2008/12/02/equinox-and-foundation-11/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 16:32:00 +0000</pubDate>
		<dc:creator>Chris Aniszczyk</dc:creator>
				<category><![CDATA[work]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[equinox]]></category>
		<category><![CDATA[osgi]]></category>

		<guid isPermaLink="false">http://aniszczyk.org/2008/12/02/equinox-and-foundation-11/</guid>
		<description><![CDATA[For those that are curious, Equinox is planning a move to Foundation 1.1 in the 3.5 timeframe&#8230; if you have any problems with this, speak now or forever hold your peace For those who don&#8217;t like all this talk about tiny execution environments, check out BJ Hargrave&#8217;s EclipseCon submission about OSGi Framework 2.0&#8230; J2SE-1.5 at [...]]]></description>
			<content:encoded><![CDATA[<p>For those that are curious, <a href="http://www.eclipse.org/equinox">Equinox</a> is planning a move to <a href="http://java.sun.com/javame/reference/apis/jsr219/">Foundation 1.1</a> in the 3.5 timeframe&#8230; if you have any problems with this, <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=257109">speak now</a> or forever hold your peace <img src='http://aniszczyk.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>For those who don&#8217;t like all this talk about tiny execution environments, check out BJ Hargrave&#8217;s <a href="http://www.eclipsecon.org">EclipseCon</a> submission about <a href="https://www.eclipsecon.org/submissions/2009/view_talk.php?id=638">OSGi Framework 2.0</a>&#8230;  J2SE-1.5 at the framework level&#8230; sounds fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://aniszczyk.org/2008/12/02/equinox-and-foundation-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why SAP Chose Equinox</title>
		<link>http://aniszczyk.org/2008/11/19/why-sap-chose-equinox/</link>
		<comments>http://aniszczyk.org/2008/11/19/why-sap-chose-equinox/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 11:10:00 +0000</pubDate>
		<dc:creator>Chris Aniszczyk</dc:creator>
				<category><![CDATA[work]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[equinox]]></category>
		<category><![CDATA[osgi]]></category>
		<category><![CDATA[sap]]></category>

		<guid isPermaLink="false">http://aniszczyk.org/2008/11/19/why-sap-chose-equinox/</guid>
		<description><![CDATA[Ed Merks recently blogged about the Eclipse members meeting. My favorite take way from this meeting was that SAP chose OSGi (Equinox) as their application platform. On top of that, SAP is going to contribute to the Equinox project to make sure that it is &#8220;enterprise ready.&#8221; I was pretty sure Equinox was &#8220;enterprise ready&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Ed Merks recently <a href="http://ed-merks.blogspot.com/2008/11/eclipse-summit-europe-2008-members.html">blogged</a> about the Eclipse members meeting. My favorite take way from this meeting was that <a href="http://www.eclipse.org/org/foundation/membersminutes/20081117EuropeanMembersMeeting/The%20SAP%20Eclipse%20Story.pdf">SAP chose OSGi</a> (Equinox) as their application platform. On top of that, SAP is going to contribute to the Equinox project to make sure that it is &#8220;enterprise ready.&#8221;</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2017w9FY4Do/SSP075KATYI/AAAAAAAAA7Y/yn3nDLfbYZg/s1600-h/why_equinox.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 115px;" src="http://1.bp.blogspot.com/_2017w9FY4Do/SSP075KATYI/AAAAAAAAA7Y/yn3nDLfbYZg/s320/why_equinox.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5270325298745855362" /></a></p>
<p>I was pretty sure Equinox was &#8220;enterprise ready&#8221; already, but I learned that &#8220;enterprise ready&#8221; in SAP terms is meaning to support something like 50,000 bundles running&#8230; sounds like fun! It was also very encouraging to see SAP adopt open-source technology where it makes sense and even commit resources to the open-source projects that are important to them. The move from simply a consumer to a producer of open-source technology is a huge one. For large companies like SAP, this isn&#8217;t always easy due to corporate culture.</p>
<p>It was also interesting to see that SAP was very methodical in their choice of OSGi framework. During the members meeting, they showed their test results pitting the various frameworks against each other:</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2017w9FY4Do/SSP1Chf6iDI/AAAAAAAAA7g/9eIwzb9TBZo/s1600-h/equinox_benchmark.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 218px;" src="http://2.bp.blogspot.com/_2017w9FY4Do/SSP1Chf6iDI/AAAAAAAAA7g/9eIwzb9TBZo/s320/equinox_benchmark.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5270325412654385202" /></a></p>
<p>It&#8217;s cool to see Equinox come on top most of the time. I&#8217;m sure with SAP&#8217;s involvement in the future, Equinox will shine even more.</p>
]]></content:encoded>
			<wfw:commentRss>http://aniszczyk.org/2008/11/19/why-sap-chose-equinox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OSGi 4.2 Early Draft</title>
		<link>http://aniszczyk.org/2008/08/21/osgi-42-early-draft/</link>
		<comments>http://aniszczyk.org/2008/08/21/osgi-42-early-draft/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 22:45:00 +0000</pubDate>
		<dc:creator>Chris Aniszczyk</dc:creator>
				<category><![CDATA[work]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[equinox]]></category>
		<category><![CDATA[osgi]]></category>

		<guid isPermaLink="false">http://aniszczyk.org/2008/08/21/osgi-42-early-draft/</guid>
		<description><![CDATA[An early draft of the OSGi 4.2 spec is out. Learn about: Security Enhancements BundleTracker (kind of like ServiceTracker but for bundles!) Bundle-License header (finally, but something more to tool&#8230;) Service Registry Hooks A common CLI for OSGi! (finally!) Declarative Services Updates Transactions in OSGi Distributed OSGi (smells unnecessarily complicated but cool) Common Component Model [...]]]></description>
			<content:encoded><![CDATA[<p>An early draft of the OSGi 4.2 spec is <a href="http://www.osgi.org/Download/File?url=/download/osgi-4.2-early-draft.pdf">out</a>. Learn about:
<ul>
<li>Security Enhancements</li>
<li>BundleTracker (kind of like ServiceTracker but for bundles!)</li>
<li>Bundle-License header (finally, but something more to tool&#8230;)</li>
<li>Service Registry Hooks</li>
<li>A common CLI for OSGi! (finally!)</li>
<li>Declarative Services Updates</li>
<li>Transactions in OSGi</li>
<li>Distributed OSGi (smells unnecessarily complicated but cool)</li>
<li>Common Component Model (Spring-DM)</li>
</ul>
<p>It looks like there&#8217;s a lot of cool things going into 4.2&#8230; especially things like Distributed OSGi which can have a lot of downstream ramifications on people who use OSGi and want to use it in a distributed fashion.</p>
]]></content:encoded>
			<wfw:commentRss>http://aniszczyk.org/2008/08/21/osgi-42-early-draft/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Internal Extension Points</title>
		<link>http://aniszczyk.org/2008/03/28/internal-extension-points/</link>
		<comments>http://aniszczyk.org/2008/03/28/internal-extension-points/#comments</comments>
		<pubDate>Fri, 28 Mar 2008 16:56:00 +0000</pubDate>
		<dc:creator>Chris Aniszczyk</dc:creator>
				<category><![CDATA[work]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[equinox]]></category>
		<category><![CDATA[pde]]></category>

		<guid isPermaLink="false">http://aniszczyk.org/2008/03/28/internal-extension-points/</guid>
		<description><![CDATA[What do people think about internal extension points? Currently, there is no concept about &#8220;internal&#8221; extension points in Eclipse besides using the convention of having &#8220;internal&#8221; (ie., internalTweaklets) in the extension point name along with some terse documentation. I know there are also products that don&#8217;t ship extension point schemas (.exsd) to prevent their users [...]]]></description>
			<content:encoded><![CDATA[<p>What do people think about internal extension points? Currently, there is no concept about &#8220;internal&#8221; extension points in Eclipse besides using the convention of having &#8220;internal&#8221; (ie., <code>internalTweaklets</code>) in the extension point name along with some terse documentation. I know there are also products that don&#8217;t ship extension point schemas (.exsd) to prevent their users from extending schemas they don&#8217;t want. This is kind of funny because Eclipse is still aware of the extension point it just can&#8217;t help the user extend it&#8230; since there&#8217;s no schema&#8230; in essence&#8230; the extension point is being hidden&#8230; yet it is still there:</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_2017w9FY4Do/R-0DaOvc9OI/AAAAAAAAAdM/JQehvhPkWeU/s1600-h/i-ar-hiding.jpg"><img style="cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_2017w9FY4Do/R-0DaOvc9OI/AAAAAAAAAdM/JQehvhPkWeU/s320/i-ar-hiding.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5182802495341917410" /></a></p>
<p>I think we can do better than this and try to mimick the concept we have with internal packages and x-friends. For example, imagine an extension point you wanted to define to be used just but your plug-ins for now&#8230; it&#8217;s useful for you internally but not ready to open to the public yet. In PDE, we could allow you to define an extension point as internal and maybe give it some &#8220;friends&#8221; that wouldn&#8217;t be flagged as discouraged access to the extension point.</p>
<p>What does the community think? Is this something valuable for people?</p>
]]></content:encoded>
			<wfw:commentRss>http://aniszczyk.org/2008/03/28/internal-extension-points/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Prosyst Equinox Contribution</title>
		<link>http://aniszczyk.org/2008/03/10/prosyst-equinox-contribution/</link>
		<comments>http://aniszczyk.org/2008/03/10/prosyst-equinox-contribution/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 03:37:00 +0000</pubDate>
		<dc:creator>Chris Aniszczyk</dc:creator>
				<category><![CDATA[work]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[equinox]]></category>
		<category><![CDATA[osgi]]></category>
		<category><![CDATA[pde]]></category>

		<guid isPermaLink="false">http://aniszczyk.org/2008/03/10/prosyst-equinox-contribution/</guid>
		<description><![CDATA[Ian Skerrett must be doing a lot of marketeering today&#8230; I&#8217;ve been seeing a couple of press releases go through my inbox. Prosyst officially announced some of its recent graduated contributions to Equinox: Initial Provisioning (CVS) (note: not related to p2) IO Connector (CVS) Wire Admin (CVS) (note: nothing to do with wiring packages) Declarative [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ianskerrett.wordpress.com/">Ian Skerrett</a> must be doing a lot of marketeering today&#8230; I&#8217;ve been seeing a couple of press releases go through my inbox. Prosyst officially <a href="http://www.embedded-computing.com/news/db/?10727">announced</a> some of its recent graduated contributions to Equinox:
<ul>
<li>Initial Provisioning (<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.equinox.ip/">CVS</a>) (note: not related to p2)</li>
<li>IO Connector (<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.equinox.io/">CVS</a>)</li>
<li>Wire Admin (<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.equinox.wireadmin/">CVS</a>) (note: nothing to do with wiring packages)</li>
<li>Declarative Services (<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.equinox.ds/">CVS</a>)</li>
</ul>
<p>This is good news because the old Declarative Services implementation in Equinox sucked due to concurrency issues and Equinox didn&#8217;t have any of the other mentioned implementations. It&#8217;s good to see more services out there for people to take advantage of&#8230; especially when they are in the OSGi specifications.</p>
<p>With that said, anyone want to contribute Declarative Services tooling to <a href="http://www.eclipse.org/equinox">PDE</a>? New contributors don&#8217;t be scared&#8230; I have room for you in the <a href="http://www.eclipse.org/pde/incubator/">PDE Incubator</a> <img src='http://aniszczyk.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://aniszczyk.org/2008/03/10/prosyst-equinox-contribution/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Visualizing OSGi Services</title>
		<link>http://aniszczyk.org/2008/03/08/visualizing-osgi-services/</link>
		<comments>http://aniszczyk.org/2008/03/08/visualizing-osgi-services/#comments</comments>
		<pubDate>Sun, 09 Mar 2008 02:51:00 +0000</pubDate>
		<dc:creator>Chris Aniszczyk</dc:creator>
				<category><![CDATA[work]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[equinox]]></category>
		<category><![CDATA[osgi]]></category>

		<guid isPermaLink="false">http://aniszczyk.org/2008/03/08/visualizing-osgi-services/</guid>
		<description><![CDATA[In PDE, we&#8217;re working on adding OSGi Services information to the Plug-in Registry view&#8230; the question came up on how these things should be visualized. It turns out that creating icons for OSGi services is a painful task. This was our initial stab at it: Not so bad eh? Well, when talking to Equinox Framework [...]]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://www.eclipse.org/pde">PDE</a>, we&#8217;re working on <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=217738">adding</a> OSGi Services information to the Plug-in Registry view&#8230; the question came up on how these things should be visualized. It turns out that creating icons for OSGi services is a painful task. This was our initial stab at it:</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_2017w9FY4Do/R9LwF9UQEgI/AAAAAAAAAaA/af3JAJ6XqeQ/s1600-h/sample.png"><img style="cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_2017w9FY4Do/R9LwF9UQEgI/AAAAAAAAAaA/af3JAJ6XqeQ/s320/sample.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5175462906951635458" /></a></p>
<p>Not so bad eh? Well, when talking to Equinox Framework extradonaire, Tom Watson, he was a bit confused by the icons. He pointed me to a picture that Peter Kriens uses to describe OSGi services apparently:</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_2017w9FY4Do/R9LxE9UQEkI/AAAAAAAAAag/BDGSsiQFxfc/s1600-h/services1.jpg"><img style="cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_2017w9FY4Do/R9LxE9UQEkI/AAAAAAAAAag/BDGSsiQFxfc/s320/services1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5175463989283394114" /></a></p>
<p>That&#8217;s cute&#8230; I can see that Peter was trying to describe that only one bundle can register a specific service (pointy side of triangle) and multiple bundles can bind to it (flat side of the triangle). However, this doesn&#8217;t really help me in creating an icon that normal people would understand&#8230; also&#8230; why a triangle? So I tried to hack something up quickly in a budget paint program:</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_2017w9FY4Do/R9LwntUQEiI/AAAAAAAAAaQ/6Qt4rNxpH0o/s1600-h/services2.jpg"><img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_2017w9FY4Do/R9LwntUQEiI/AAAAAAAAAaQ/6Qt4rNxpH0o/s320/services2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5175463486772220450" /></a></p>
<p>Ok, I kept the triangle&#8230; hypothetically put an &#8216;S&#8217; on it to represent service&#8230; than I put arrows on the top and bottom of the triangle to represent &#8220;importing&#8221; and &#8220;exporting&#8221; services. Nope, I&#8217;m not satisfied with this crap either. Actually, when I think about it&#8230; visualizing services is as confusing as driving in <a href="http://en.wikipedia.org/wiki/Boston,_Massachusetts">Boston</a>: </p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_2017w9FY4Do/R9LwxNUQEjI/AAAAAAAAAaY/4OzM4cYucXI/s1600-h/boston.jpg"><img style="cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_2017w9FY4Do/R9LwxNUQEjI/AAAAAAAAAaY/4OzM4cYucXI/s320/boston.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5175463649980977714" /></a></p>
<p>How does everyone out there picture OSGi services in their heads?</p>
]]></content:encoded>
			<wfw:commentRss>http://aniszczyk.org/2008/03/08/visualizing-osgi-services/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>OSGi (Equinox) and Strict Mode</title>
		<link>http://aniszczyk.org/2008/03/06/osgi-equinox-and-strict-mode/</link>
		<comments>http://aniszczyk.org/2008/03/06/osgi-equinox-and-strict-mode/#comments</comments>
		<pubDate>Thu, 06 Mar 2008 23:01:00 +0000</pubDate>
		<dc:creator>Chris Aniszczyk</dc:creator>
				<category><![CDATA[work]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[equinox]]></category>
		<category><![CDATA[osgi]]></category>

		<guid isPermaLink="false">http://aniszczyk.org/2008/03/06/osgi-equinox-and-strict-mode/</guid>
		<description><![CDATA[Do you recall seeing all those access restriction warnings in your workspace because you&#8217;re using some internal API from another plug-in? Well, those can come back and bite you if your plug-in is running an in environment where osgi.resolverMode=strict is turned on. What is &#8216;strict mode&#8217; mean in this context? It basically means that Equinox&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Do you recall seeing all those access restriction warnings in your workspace because you&#8217;re using some internal API from another plug-in? Well, those can come back and bite you if your plug-in is running an in environment where osgi.resolverMode=strict is turned on. What is &#8216;strict mode&#8217; mean in this context? It basically means that Equinox&#8217;s resolver will throw ClassNotFoundException&#8217;s when it comes across a class that is in a package marked internal.</p>
<p>There was an issue recently where the <a href="http://wiki.eclipse.org/rcp">RCP</a> stack had trouble running in strict mode. There were a few naughty RCP-related extensions that were referencing internal classes in other RCP plug-ins. These extensions are frustratingly hard to find if there&#8217;s no tooling. For example, when launching the RCP &#8216;Hello World&#8217; example in strict mode, you come across this exception:</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_2017w9FY4Do/R9ANyoNfxCI/AAAAAAAAAZQ/1_ZD_F9_4q4/s1600-h/cnte.png"><img style="cursor: pointer;" src="http://bp3.blogger.com/_2017w9FY4Do/R9ANyoNfxCI/AAAAAAAAAZQ/1_ZD_F9_4q4/s320/cnte.png" alt="" id="BLOGGER_PHOTO_ID_5174651135287346210" border="0" /></a></p>
<p>You think to your self, well pffft, I can fix that, I&#8217;ll just x-friend that package to my plug-in and be done with:</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_2017w9FY4Do/R9AOWoNfxDI/AAAAAAAAAZY/PypxULQv36Y/s1600-h/manifest.png"><img style="cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_2017w9FY4Do/R9AOWoNfxDI/AAAAAAAAAZY/PypxULQv36Y/s320/manifest.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5174651753762636850" /></a></p>
<p>Then you go to launch the RCP &#8216;Hello World&#8217; example and you get this frustrating exception again:</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_2017w9FY4Do/R9AOpINfxEI/AAAAAAAAAZg/JU3hVckduf0/s1600-h/cfne2.png"><img style="cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_2017w9FY4Do/R9AOpINfxEI/AAAAAAAAAZg/JU3hVckduf0/s320/cfne2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5174652071590216770" /></a></p>
<p>This is when the game of finding the offenders doesn&#8217;t become fun anymore. Actually, the feeling is very similar to when that stupid dog was laughing at you in <a href="http://en.wikipedia.org/wiki/Duck_Hunt">Duck Hunt</a> because you couldn&#8217;t shoot all the ducks:</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_2017w9FY4Do/R9APioNfxFI/AAAAAAAAAZo/IwxYrPwK0Bg/s1600-h/DuckHunt.jpg"><img style="cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_2017w9FY4Do/R9APioNfxFI/AAAAAAAAAZo/IwxYrPwK0Bg/s320/DuckHunt.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5174653059432694866" /></a></p>
<p>However, never fear, PDE completed an <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=221319">enhancement</a> that will make it easier for you to find these offenders:</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_2017w9FY4Do/R9AP9INfxGI/AAAAAAAAAZw/sw9KoT2_83A/s1600-h/omgwarnings.png"><img style="cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_2017w9FY4Do/R9AP9INfxGI/AAAAAAAAAZw/sw9KoT2_83A/s320/omgwarnings.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5174653514699228258" /></a></p>
<p>The solution to this problem is to use x-friends or as a better best practice, don&#8217;t refer to internal classes outside your plug-in in your extensions as this is brittle.</p>
<p>Happy hunting.</p>
]]></content:encoded>
			<wfw:commentRss>http://aniszczyk.org/2008/03/06/osgi-equinox-and-strict-mode/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Pushing Pixels and I-Build Goodies</title>
		<link>http://aniszczyk.org/2008/02/26/pushing-pixels-and-i-build-goodies/</link>
		<comments>http://aniszczyk.org/2008/02/26/pushing-pixels-and-i-build-goodies/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 05:07:00 +0000</pubDate>
		<dc:creator>Chris Aniszczyk</dc:creator>
				<category><![CDATA[work]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[equinox]]></category>
		<category><![CDATA[osgi]]></category>
		<category><![CDATA[pde]]></category>

		<guid isPermaLink="false">http://aniszczyk.org/2008/02/26/pushing-pixels-and-i-build-goodies/</guid>
		<description><![CDATA[There&#8217;s been a lot of hustle and bustle for the latest Eclipse I-build. The p2 guys are pushing hard to get things in and the API Tools camp is making their debut. From the PDE UI camp, I was on an icon conquest today with improving icons in the schema editor: It&#8217;s funny that I [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s been a lot of hustle and bustle for the latest Eclipse I-build. The p2 guys are pushing hard to get things in and the API Tools camp is making their debut. From the <a href="http://www.eclipse.org/pde">PDE</a> UI camp, I was on an icon conquest today with improving icons in the schema editor:</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_2017w9FY4Do/R8TVEW4AR5I/AAAAAAAAAYo/5c2GDLEfP10/s1600-h/schemaicons.png"><img style="cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_2017w9FY4Do/R8TVEW4AR5I/AAAAAAAAAYo/5c2GDLEfP10/s320/schemaicons.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5171492542964844434" /></a></p>
<p>It&#8217;s funny that I agonize over things like icons when probably only a few people in the Eclipse community really care about pushing pixels. In the end, I lost my battle with overlays so another redesign of the schema editor icons will happen in the future to make them more overlay friendly:</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_2017w9FY4Do/R8TW824AR7I/AAAAAAAAAY4/56dhqYqhYM8/s1600-h/schemaicons2.png"><img style="cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_2017w9FY4Do/R8TW824AR7I/AAAAAAAAAY4/56dhqYqhYM8/s320/schemaicons2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5171494613139081138" /></a></p>
<p>I also had fun trying to come up with icons representing OSGi services but I&#8217;m going to save that rant for tomorrow.</p>
<p>Another item coming from PDE is a filterable launch configuration:</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_2017w9FY4Do/R8TZKG4AR8I/AAAAAAAAAZA/stKM0tPo8dE/s1600-h/filteredlconfig.png"><img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_2017w9FY4Do/R8TZKG4AR8I/AAAAAAAAAZA/stKM0tPo8dE/s320/filteredlconfig.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5171497039795603394" /></a></p>
<p>This is incredibly useful if you want to filter for a set of plug-ins and either enable or disable them. For example, say you wanted no org.apache* plug-ins in your launch config, simply filter for them and click &#8216;Deselect All&#8217; (it&#8217;s filter-sensitive now). No more going through and checking things individually! Everyone can thank <a href="http://blog.ianbull.com/">Ian Bull</a> for his persistence in getting this enhancement in.</p>
<p>The other thing I&#8217;m looking forward to in the upcoming I-build is <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=219393">improved colored label</a> support. Look for PDE to adopt this in things like the &#8216;Open Plug-in Artifact&#8217; dialog and other places that make sense. If you&#8217;re interested in test driving this functionality, look for a class called StyledCellLabelProvider in the 3.4M6 release.</p>
<p>Oh, and JDT Core released some <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=182537">crazy changes</a> to support external class folders. I plan on looking at this support in depth after my vacation to see if we can close an old outstanding issue in PDE.</p>
<p>That&#8217;s all that comes across my mind for now <img src='http://aniszczyk.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://aniszczyk.org/2008/02/26/pushing-pixels-and-i-build-goodies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
