<?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>CarbonRider &#187; Eclipse</title>
	<atom:link href="http://www.carbonrider.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.carbonrider.com</link>
	<description>You make a matrix, you define the limits.</description>
	<lastBuildDate>Thu, 19 Jan 2012 04:35:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>M2Eclipse, Maven, Eclipse and Managing Java Project with dependencies</title>
		<link>http://eclipse.carbonrider.com/2011/07/10/m2eclipse-maven-eclipse-and-managing-java-project-with-dependencies/</link>
		<comments>http://eclipse.carbonrider.com/2011/07/10/m2eclipse-maven-eclipse-and-managing-java-project-with-dependencies/#comments</comments>
		<pubDate>Sun, 10 Jul 2011 07:14:35 +0000</pubDate>
		<dc:creator>Carbon Rider</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Maven and Eclipse]]></category>
		<category><![CDATA[Maven dependencies]]></category>
		<category><![CDATA[Maven Eclipse plugin]]></category>
		<category><![CDATA[POM]]></category>
		<category><![CDATA[Sonatype maven plugin]]></category>
		<category><![CDATA[Sonatype plugin]]></category>

		<guid isPermaLink="false">http://www.carbonrider.com/?p=488</guid>
		<description><![CDATA[Using Version Control System (henceforth VCS) has now become an essential part of the development life-cycle. One cannot visualize life when it comes to managing project/product releases without having well established VCS. As per my experience (and since got chance to work with only VSS and SVN, I feel SVN is the better choice &#8211; [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Feclipse.carbonrider.com%2F2011%2F07%2F10%2Fm2eclipse-maven-eclipse-and-managing-java-project-with-dependencies%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Feclipse.carbonrider.com%2F2011%2F07%2F10%2Fm2eclipse-maven-eclipse-and-managing-java-project-with-dependencies%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Using Version Control System (henceforth VCS) has now become an essential part of the development life-cycle. One cannot visualize life when it comes to managing project/product releases without having well established VCS. As per my experience (and since got chance to work with only VSS and SVN, I feel SVN is the better choice &#8211; simple, easy and most important free!!!).<br />
<span id="more-488"></span><br />
Well but there is one problem with both the listed VCS, both of them work pretty well on Text based files and are not meant for storing non-textual files. In day to day development environment where developers write thousands lines of code, they also make use of already written libraries to reduce the development effort and use what is already tested &amp; proven. (In Java world the libraries are available in JAR file format). While libraries are in compiled format, using VCS for storing them doesn&#8217;t sound to be good idea. In fact when it comes to following mavenised structure of branches, tags and trunks, the decision to store JAR files becomes critical and SVN seems to be not a right choice to store them. Unnecessarily copying JAR files in tags and branches would simply end up increasing repository size. Hence using special repositories like Apache Archiva for JAR files along with Maven POM scripts seems to be right choice.</p>
<p>While one can handcode the POM script using any text-based editor, it would be good to use User Interface to manage the Scripts and locate the Maven artifacts like plugins, dependencies etc. Here comes the rescue from M2Eclipse (sonatype), which provides Eclipse plugins to manage POM scripts. Well if you think, it just provides a form based interface to manage scripts and does nothing, then you must have a look at the features provided by M2Eclipse plugins.</p>
<p>Most of the time, I see developers running here and there to find out the required libraries for the project to get compile and run. The reasons could be the libraries are not stored in VCS or they are not aware of which version should be used. The chaos and time spend in resolving such issues is pretty high and unnecessary. Maven addresses these issues with the help of POM scripts which can be versioned as per release and one can be assured of versions to be used in project. But Maven alone can&#8217;t help you to manage libraries when it comes to using POM scripts while developing application in IDE like Eclipse. It cannot add libraries to project on its own and define classpath. Surely you need a plug-in which can manage the project dependencies using Maven Scripts and also free you from configuring them in project. Fortunately there are plugins which can help you to accomplish the same. Add following URL to Eclipse update manager and install the Maven Plug-in http://m2eclipse.sonatype.org/sites/m2e/</p>
<p>It won&#8217;t be possible to explain all the features provided by this plug-in in this article, there are so many sections and configurations available that one can write a book for their explanation. Lets understand the important sections required to use this plug-in in Eclipse. Once the plug-in is installed, you should see &#8220;Maven&#8221; as one of the item in Eclipse &gt; Window &gt; Preferences window.</p>
<div id="attachment_495" class="wp-caption alignnone" style="width: 645px"><a href="http://www.carbonrider.com/wp-content/uploads/2011/07/eclipse_preferences.png"><img class="size-full wp-image-495" title="Eclipse Preferences for Maven" src="http://www.carbonrider.com/wp-content/uploads/2011/07/eclipse_preferences.png" alt="Eclipse Preferences for Maven" width="635" height="590" /></a><p class="wp-caption-text">Eclipse Preferences for Maven</p></div>
<p>The next step is to configure the Maven installation in Plug-in and it can be done in Preferences window using Maven &gt; Installations and click on Add button. Point to the directory location where you have unzipped/installed Maven (I am using Maven 3 along with Apache Archiva).</p>
<p>The last step is to configure the Maven settings file in Eclipse Plug-in, so that Plug-in can use the settings that you have customized in settings.xml rather than using predefined settings. This can be done using Maven &gt; User Settings and then select the settings.xml file. (In my case the file is available in Maven installation folder &gt; conf. It is recommended to use local repository server like Apache Archiva as after the Eclipse maven plug-in is configured, it starts to index the repository to tune the search operation. If one uses default settings, the plug-in will query repo1.maven.org everytime it starts and that will take too much of time).</p>
<p>Once above configuration is done, you should be able to use Maven Eclipse plugin for your project. Create a Project using Eclipse &gt; File &gt; New &gt; Project. Note that this project should not be associated with any builder and hence I have selected &#8220;Project&#8221; instead of &#8220;Java Project&#8221;, Maven plug-in will automatically configure the required nature and builders for this project. Next step is to right click on created project and select New &gt; Other option. Search for &#8220;Maven&#8221;, you should see following options.</p>
<div id="attachment_498" class="wp-caption alignnone" style="width: 535px"><a href="http://www.carbonrider.com/wp-content/uploads/2011/07/maven_options.png"><img class="size-full wp-image-498" title="Maven options" src="http://www.carbonrider.com/wp-content/uploads/2011/07/maven_options.png" alt="Maven options" width="525" height="500" /></a><p class="wp-caption-text">Maven options</p></div>
<p>Select &#8220;Maven POM File&#8221; and click &#8220;Next&#8221;. The dialog will ask to configure POM script with options like artifactId, groupId etc. Enter the required values and choose &#8220;Jar&#8221; as packaging option. A POM.xml file will be created in your project. Double click on the POM.xml file and Eclipse will now open &#8220;Maven POM Editor&#8221;. You will find many tabs below editor screen to configure various POM Script configurations. Go to &#8220;Plugins&#8221; section and in &#8220;Plugins&#8221; panel, click Add button. You should now see a dialog box. Enter &#8220;maven-compiler&#8221; and the dialog must list matching Maven Plugins to the entered text.</p>
<div id="attachment_499" class="wp-caption alignnone" style="width: 490px"><a href="http://www.carbonrider.com/wp-content/uploads/2011/07/maven_plugin_list.png"><img class="size-full wp-image-499" title="Maven Plug-ins" src="http://www.carbonrider.com/wp-content/uploads/2011/07/maven_plugin_list.png" alt="Maven Plug-ins" width="480" height="450" /></a><p class="wp-caption-text">Maven Plug-ins</p></div>
<p>Select &#8220;2.3.2 &#8211; maven-compiler-plugin&#8230;&#8221; from given options and click OK. Now go to pom.xml tab to open the script in XML text editor mode and add following configuration to maven-compiler-plugin.</p>
<pre class="brush:xml;">
<configuration>
	<source>1.6</source>
	<target>1.6</target>
</configuration>
</pre>
<p>This is required to indicate which Java Compiler you want to use, Maven will then configure the require JRE for your project. Now create following folders one below the other &#8220;src &gt; main &gt; java&#8221; and then right click on project, locate &#8220;Maven &gt; Enable Dependency Management&#8221;. Once this option is selected, you should now see that Maven will automatically configure</p>
<div id="attachment_497" class="wp-caption alignnone" style="width: 746px"><a href="http://www.carbonrider.com/wp-content/uploads/2011/07/maven_enable_dependency.png"><img class="size-full wp-image-497" title="Enable Dependency using Maven Plug-in" src="http://www.carbonrider.com/wp-content/uploads/2011/07/maven_enable_dependency.png" alt="Enable Dependency using Maven Plug-in" width="736" height="551" /></a><p class="wp-caption-text">Enable Dependency using Maven Plug-in</p></div>
<p>1. Source Folder<br />
2. JRE<br />
3. Change project icon to indicate it is Maven and Java Project.<br />
4. A library &#8220;Maven Dependencies&#8221;</p>
<p>Now I assume that you know basics of Maven, so go ahead and add dependencies and you should see that all those libraries are now available in &#8220;Maven Dependencies&#8221; library. You don&#8217;t have to explicitly add any JAR file for your project. (For e.g. In my POM.xml file I added &#8220;commons-logging&#8221; dependency and Maven plug-in has successfully imported the Jar in project.)</p>
<div id="attachment_496" class="wp-caption alignnone" style="width: 942px"><a href="http://www.carbonrider.com/wp-content/uploads/2011/07/imported_dependencies.png"><img class="size-full wp-image-496" title="Imported Dependency" src="http://www.carbonrider.com/wp-content/uploads/2011/07/imported_dependencies.png" alt="Imported Dependency" width="932" height="350" /></a><p class="wp-caption-text">Imported Dependency</p></div>
<p>Now you can test your project by creating Java files under the package &#8220;src/main/java&#8221;. You can also execute other Maven goals on project by simply right clicking on project and from Run As options choose required option (Maven build, Maven clean, Maven package etc.)</p>
<p>The definite advantage of this approach is that now developers doesn&#8217;t have to run for locating required JAR files, one just need project source and its related POM.xml file. The Maven plug-in will automatically configure the required setting to compile and run your project. But still there is one problem when you want to develop Web Project and run it in Eclipse WTP environment (Pre-configured servers like JBoss, Tomcat etc in Eclipse environment). The WTP will not be able to identify the projects created using above steps. Well sonatype has also thought about it and has created one more plug-in to solve this problem. I will provide the details about same in next article.</p>
]]></content:encoded>
			<wfw:commentRss>http://eclipse.carbonrider.com/2011/07/10/m2eclipse-maven-eclipse-and-managing-java-project-with-dependencies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Still confused what to use &#8211; Flex Or Silverlight Or AJAX &#8211; Check Eclipse RAP</title>
		<link>http://eclipse.carbonrider.com/2010/11/07/still-confused-what-to-use-flex-or-silverlight-or-ajax-check-eclipse-rap/</link>
		<comments>http://eclipse.carbonrider.com/2010/11/07/still-confused-what-to-use-flex-or-silverlight-or-ajax-check-eclipse-rap/#comments</comments>
		<pubDate>Sun, 07 Nov 2010 15:21:42 +0000</pubDate>
		<dc:creator>Carbon Rider</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[E4]]></category>
		<category><![CDATA[Eclipse 4]]></category>
		<category><![CDATA[Eclipse in Browser]]></category>
		<category><![CDATA[Eclipse RAP]]></category>
		<category><![CDATA[SWT in browser]]></category>

		<guid isPermaLink="false">http://www.carbonrider.com/?p=412</guid>
		<description><![CDATA[These days I am playing lot with Eclipse and its features. Be it building plugins, reading tuts &#038; experimenting or exploring new features, every time I visit one or the other site, I find so many useful &#038; hidden features of Eclipse. The more I try to dig into Eclipse, the bigger and deeper it [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Feclipse.carbonrider.com%2F2010%2F11%2F07%2Fstill-confused-what-to-use-flex-or-silverlight-or-ajax-check-eclipse-rap%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Feclipse.carbonrider.com%2F2010%2F11%2F07%2Fstill-confused-what-to-use-flex-or-silverlight-or-ajax-check-eclipse-rap%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>These days I am playing lot with Eclipse and its features. Be it building plugins, reading tuts &#038; experimenting or exploring new features, every time I visit one or the other site, I find so many useful &#038; hidden features of Eclipse. The more I try to dig into Eclipse, the bigger and deeper it gets and I wonder if there is an end.<br />
Had some time this weekend and thought of exploring Eclipse and luckily I came across an interesting feature of Eclipse &#8211; Rich AJAX Platform (RAP). Some may find that this feature is not new and it mostly resembles to what GWT already offers. I leave that discussion for may be yet another topic. <img src='http://www.carbonrider.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Lets just quickly check what Eclipse RAP has stored in it.<br />
<span id="more-412"></span></p>
<p><strong>You know only Java</strong><br />
If you are one of those (even if you are not) who know only Java, you will feel right at the home. Eclipse RAP development uses Java as its primary language for development. You don&#8217;t have to learn any other language while writing code in RAP.</p>
<p><strong>Eclipse Plug-in Developer</strong><br />
If you are Eclipse Plug-in developer, you are definitely at advantage. Eclipse RAP uses SWT and Eclipse Plug-in project to develop application.</p>
<p><strong>Write Once, Run in Flex/AJAX/JavaFX/Silverlight etc</strong><br />
Yes thats true. You dont have to write code for each technology mentioned above, just write code once in Java and using the Ports you can get the application runtime converted into Flex/AJAX/JavaFX/Silverlight etc. (Note not all of the ports are currently available but Eclipse 4 already supports ActionScript, sadly it is still in incubation stage.)</p>
<p><strong>Cost</strong><br />
If you are one of those who hate commercial licensed software and love what open source community offers, Eclipse should definitely be on top of your list. In near future version with full fledged ActionScript Port, Eclipse is going to be strong contender for Flex Development.</p>
<p>To my surprise, I found that there are already few organisations who are using it for their development and offering solutions using RAP. To experiment what RAP has stored in it, one does not have to necessarily download Eclipse 4 as this feature is available with Eclipse 3.6 (Helios) and Eclipse 3.7 (Indigo).  To know more about Eclipse RAP, <a href="http://www.eclipse.org/rap" target="_blank">click here.</a></p>
<p>Besides RAP, it is definitely worth checking Eclipse e4 version. Though it has been long time the e4 milestone releases has started, its new architecture, UI technology (XWT) etc are interesting. One can find entire list of e4 feature <a href="http://download.eclipse.org/e4/downloads/drops/R-0.9-200907291930/e4-news-all.html" target="_blank">here.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://eclipse.carbonrider.com/2010/11/07/still-confused-what-to-use-flex-or-silverlight-or-ajax-check-eclipse-rap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android Development – Eclipse Sneak Preview</title>
		<link>http://eclipse.carbonrider.com/2010/10/24/android-development-eclipse-sneak-preview/</link>
		<comments>http://eclipse.carbonrider.com/2010/10/24/android-development-eclipse-sneak-preview/#comments</comments>
		<pubDate>Sun, 24 Oct 2010 18:45:39 +0000</pubDate>
		<dc:creator>Carbon Rider</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Android Development]]></category>
		<category><![CDATA[Android SDK]]></category>
		<category><![CDATA[Mobile development with Eclipse]]></category>

		<guid isPermaLink="false">http://www.carbonrider.com/?p=396</guid>
		<description><![CDATA[Got some time to play with Eclipse and this time the experiment was with Android. Having heard a lot about this google&#8217;s OS and the way it is capturing mobile market, I was bit curious to find out the development tools and understand how quickly one can get into the development. Finally after spending few [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Feclipse.carbonrider.com%2F2010%2F10%2F24%2Fandroid-development-eclipse-sneak-preview%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Feclipse.carbonrider.com%2F2010%2F10%2F24%2Fandroid-development-eclipse-sneak-preview%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Got some time to play with Eclipse and this time the experiment was with Android. Having heard a lot about this google&#8217;s OS and the way it is capturing mobile market, I was bit curious to find out the development tools and understand how quickly one can get into the development. Finally after spending few hours with installation and getting first application running with Android simulator, I found somethings that I would like to share with you. Just to make it clear, this article is no attempt to compare Android Eclipse plugin with other plugins.<br />
To be frank, there was no clear intension of playing with Android, but I just stumbled upon <a href="http://www.javacodegeeks.com/2010/10/android-full-app-part-1-main-activity.html">Android full app part I</a> article and thought of giving it a try.<br />
<span id="more-396"></span><br />
1. Configuration and Installation<br />
The first step involved downloading Android SDK and configuring it with Eclipse SDK. The activity was less painful and without much efforts it got configured pretty easily.</p>
<p>2. Development Language<br />
I like one thing about above article, rather than getting into traditional example like Hello World, the article explains some of the basic concepts about Android SDK development using simple search application. Though the search actually does nothing but I felt it perfect example for those who don&#8217;t know anything about Android but having knowledge of Java and XML. Developers of these languages will find right at the home as the don&#8217;t have to learn any new language or syntax to start development with Android. The Android UI is developed using XML while the actual logic is handled using Java language. (Initially when I created Android project, I read the XML name as main.mxml and was bit shocked as why Android is using that extension. But no worry, It was my mistake &#8211; the file name was actually main.xml <img src='http://www.carbonrider.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>While XML is definitely better way to define UI and much easier than writing Java Code, there are few things that definitely need to be taken care. Most of the element properties (rather all of them) are placed in namespace other than the control itself. This is definitely annoying as the default prefix for this namespace was &#8220;android&#8221; and I soon found that my 25 lines of XML code has more than 30 words as &#8220;android&#8221;. All over the XML I could just see one word as &#8220;android&#8221; and nothing else. Though one can argue that it is possible to change the prefix to something shorter version as &#8220;a&#8221; and get rid off all those extra characters. But I would rather feel better If the namespace is completely removed or just used as root namespace. (Come on guys, make my code cleaner and dont force me to type in extra characters.)<br />
<img src="http://www.carbonrider.com/wp-content/uploads/2010/10/android_xml.png" border="0"/></p>
<p>3. Eclipse Plugin<br />
The Android SDK is not just plain Code editor, but it does come with UI designer. The designing editor contains decent list of controls to use. But there are definitely few things which need improvement in design editor.<br />
The control bar is divided into two parts &#8211; Layouts and Views. Android seems to consider common components as Views (quite confusing term for Eclipse plugin developer).<br />
Another notable point is that some of the items listed in Layouts tab also have prefix as View, adding more to confusion as what is the difference between View and Layout. Just to add to the list, RadioGroup is considered as Layout. (Don&#8217;t find any reason, as why it is hanging there. RadioGroup is used to define a logical group for Radio Buttons, what it has to do with Layout.)<br />
<img src="http://www.carbonrider.com/wp-content/uploads/2010/10/android_designview.png" border="0"/></p>
<p>While it is also quite evident that, there is no much effort spent on managing look and feel of the plugin &#8211; the Layout and Views bar can very well placed into other view. (Just check following Flex Builder screenshot &#8211; much better and cleaner)<br />
<img src="http://www.carbonrider.com/wp-content/uploads/2010/10/flex_controls.png" border="0"/></p>
<p>The components listed in control bar, also do not carry icons and are just prefixed with Starting letter. (For a moment I thought I am reading A B C D..). The designing editor seriously needs some improvement.</p>
<p>The A B C D is also quite evident in XML editor and really of no help there, I will be very happy if there are no icons at all and just plain text.<br />
<img src="http://www.carbonrider.com/wp-content/uploads/2010/10/android_xmlattributes.png" border="0" /></p>
<p>4. Android Emulator<br />
Aha, Finally it was time to test the tutorial application and see if it really works. The project was built in no time and after following tutorial steps to run the application, I found a new window popped up containing Android interface. For some time the emulator just continued to show only one word &#8220;android&#8221;, I was bit confused as whether something has went wrong with code or SDK and why my application interface is not coming up. But after noticing the console view (some may call it console tab) in eclipse, I found some activity was going on and I just waited for few minutes to see what is happening. Fortunately after some time the application screen just came and now I could test my application.<br />
<img src="http://www.carbonrider.com/wp-content/uploads/2010/10/android_emulator.png" border="0"/><br />
Though I liked the Emulator interface, it seriously needs some initial performance improvement and some kind of indication on emulator screen about the progress.</p>
]]></content:encoded>
			<wfw:commentRss>http://eclipse.carbonrider.com/2010/10/24/android-development-eclipse-sneak-preview/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Extending Flex Builder 3 &#8211; Building eclipse plugin</title>
		<link>http://eclipse.carbonrider.com/2010/05/02/extending-flex-builder-3-building-eclipse-plugin/</link>
		<comments>http://eclipse.carbonrider.com/2010/05/02/extending-flex-builder-3-building-eclipse-plugin/#comments</comments>
		<pubDate>Sun, 02 May 2010 12:06:28 +0000</pubDate>
		<dc:creator>Carbon Rider</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Eclipse plugin]]></category>
		<category><![CDATA[extend flex builder]]></category>
		<category><![CDATA[Flex Builder plugin]]></category>
		<category><![CDATA[Flex plugin]]></category>

		<guid isPermaLink="false">http://flex.carbonrider.com/?p=274</guid>
		<description><![CDATA[As mentioned in earlier post, I have been playing with FLEX builder and understand its extensibility APIs. After spending almost day crawling through various search engines and websites I couldn&#8217;t find a single site giving me details about how to work with MXML design editor APIs, I thought of giving up. But fortunately I could [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Feclipse.carbonrider.com%2F2010%2F05%2F02%2Fextending-flex-builder-3-building-eclipse-plugin%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Feclipse.carbonrider.com%2F2010%2F05%2F02%2Fextending-flex-builder-3-building-eclipse-plugin%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>As mentioned in earlier post, I have been playing with FLEX builder and understand its extensibility APIs. After spending almost day crawling through various search engines and websites I couldn&#8217;t find a single site giving me details about how to work with MXML design editor APIs, I thought of giving up. But fortunately I could able to figure out how things actually work in FLEX Builder, and then I thought of publishing some of the details through the blog.</p>
<p>The next few paragraphs will talk about various APIs and options available in FLEX builder which can be used by anyone to build their own plugin in Flex Builder. While the title of the post says that &#8220;Building eclipse plugin&#8221;, it surely doesn&#8217;t describe basic steps required to build eclipse plugin. To learn basics of building eclipse plugin, you should visit other sites like java2s and yeah offcourse eclipse itself has plethora of information on building plugin.</p>
<p>The aim of this article is to give details about the editor used to design Flex layouts. You must have used plugins which can generate AS code, ident XML code etc in Flex builder but there are very few plugins which actually work on design editor.<br />
Before writing any plugin code you need to make sure that you have the required environment set for plugin development. Though Eclipse comes with built in feature of plugin development, Flex builder doesn&#8217;t have built-in support for Java and plugin development project. So to get started with plugin development you need to first install plugin development and Java development feature into Flex builder. Keep it in mind that we need to build plugin inside Flex Builder, the simple reason behind this is to test your plugin code we will require sample workspace of Flex builder and that can be easily started through Flex builder. The installation of Java and Plugin development feature is only required if Flex Builder is installed as Standalone version. If you have installed Flex Builder in Eclipse you can skip this installation.</p>
<p>The next step is to add required Extensions and Jar files in plugin project. Make sure that you have added extensions listed in following image.</p>
<p><img src="http://www.carbonrider.com/wp-content/uploads/2010/05/flex_extensions.jpg" alt="Flex builder extensions" /></p>
<p>Apart from adding above extensions you will need 3 additional Jar files which contain useful APIs. The filenames are derived.jar, mxml.jar and mxmlmodel.jar. You need to search these files in Flex plugins. Now create a default &#8220;view&#8221; using Plugin wizard available in Eclipse.<br />
The wizard should create all the files required to build plugin.</p>
<p>Lets directly jump into java code and see how you can get the reference of MXML editor itself</p>
<pre class="brush: java;">
MXMLEditor a = (MXMLEditor)getSite().getPage().getActiveEditor();
</pre>
<p>Above statement will give you the reference of current MXML editor. You need to be bit careful while using this statement as user may not always work with MXML editor (There is action script editor or user may switch from one MXML file to another or may even switch from design view to source code). So you need to logically place this code to get reference of MXML editor.<br />
(Hint: Try to find out details about IPartListener.)</p>
<p>The editor object is pretty much useful to listen to the events raised in editor. An editor instance has a method called getMXMLModel which represents an MXML instance for the editor. You can use the IMXMLModel instance returned by getMXMLModel method to manipulate MXML code. The reference also provides a convenient method to listen to the user selection in design view.<br />
Just place below code after getting IMXMLModel reference</p>
<pre class="brush:java">
mm.getSelectionProvider().addSelectionChangedListener(new SelectionChangeListener())
</pre>
<p>Note that the SelectionChangeListener is custom class implementing an interface ISelectionChangedListener. A method &#8220;selectionChanged&#8221; will be invoked on the above instance whenever user select control in MXML design editor. The method has one argument of &#8220;SelectionChangedEvent&#8221; which can be used to get the reference of the component selected. I leave the part of getting reference of control using instance of &#8220;SelectionChangedEvent&#8221; to you.<br />
For demonstration, I have created a sample plugin which displays component selected in &#8220;Sample View&#8221;, check below images.<br />
<img src="http://www.carbonrider.com/wp-content/uploads/2010/05/flex_builder_c2.jpg" alt="Flex Builder - Button selected" /></p>
<p><img src="http://www.carbonrider.com/wp-content/uploads/2010/05/flex_builder_c1.jpg" alt="Flex Builder - checkbox selected" /></p>
<p>The story doesnt end here, I would be revealing more details about API &#8211; watch this space.</p>
]]></content:encoded>
			<wfw:commentRss>http://eclipse.carbonrider.com/2010/05/02/extending-flex-builder-3-building-eclipse-plugin/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flex Builder 3 &#8211; Plug-in Development</title>
		<link>http://eclipse.carbonrider.com/2010/04/07/flex-builder-3-plug-in-development/</link>
		<comments>http://eclipse.carbonrider.com/2010/04/07/flex-builder-3-plug-in-development/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 18:05:09 +0000</pubDate>
		<dc:creator>Carbon Rider</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[extend flex builder]]></category>
		<category><![CDATA[flex builder 3 plugin]]></category>
		<category><![CDATA[flex builder customization]]></category>
		<category><![CDATA[Flex Builder plugin]]></category>

		<guid isPermaLink="false">http://www.carbonrider.com/?p=250</guid>
		<description><![CDATA[One of the best feature (yes there are many more) of Eclipse is extensibility. While it has been a most preferred IDE, not just for the development in Java, but for other languages like PHP, XML, HTML etc. building plugin for eclipse is pretty easy. The readymade wizards and built-in plugin templates makes life easier [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Feclipse.carbonrider.com%2F2010%2F04%2F07%2Fflex-builder-3-plug-in-development%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Feclipse.carbonrider.com%2F2010%2F04%2F07%2Fflex-builder-3-plug-in-development%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>One of the best feature (yes there are many more) of Eclipse is extensibility. While it has been a most preferred IDE, not just for the development in Java, but for other languages like PHP, XML, HTML etc. building plugin for eclipse is pretty easy. The readymade wizards and built-in plugin templates makes life easier of developers. There are many other IDE built on top of eclipse and one amongst them &#8211; Flex Builder (or should I call it Flash Builder &#8211; version 4 has launched in market) is fantastic example of showing what eclipse is capable of.<br />
<span id="more-250"></span><br />
While Eclipse is being so developer friendly with extensions and plethora of information available on how to extend it further, I am somewhat disappointed with Flex Builder extension. Well there are few reasons behind this<br />
1. There is no enough information OR documentation available on internet on how to extend Flex Builder.<br />
2. Though Flex Builder help contains couple of pages documentation about its extensibility features, it doesn&#8217;t seems to be enough and informative for the developers.</p>
<p>I am in the process of extending Flex Builder and after spending few hours in understanding how different editors &#8211; MXML, AS work within Flex Builder, I could able to get some insight of Flex Builder.</p>
<p>It seems I would be spending few more days (or may be weeks) in finding some secrets of FlexBuilder. Keep watching this space and I would publish my research on Flex Builder.</p>
]]></content:encoded>
			<wfw:commentRss>http://eclipse.carbonrider.com/2010/04/07/flex-builder-3-plug-in-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse &#8211; Translation Plugin</title>
		<link>http://eclipse.carbonrider.com/2009/08/22/eclipse-translation-plugin/</link>
		<comments>http://eclipse.carbonrider.com/2009/08/22/eclipse-translation-plugin/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 13:45:09 +0000</pubDate>
		<dc:creator>Carbon Rider</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Eclipse plugin]]></category>
		<category><![CDATA[property translation]]></category>
		<category><![CDATA[text tranlsation]]></category>
		<category><![CDATA[translation plugin]]></category>

		<guid isPermaLink="false">http://www.carbonrider.com/?p=50</guid>
		<description><![CDATA[Translation Plugin To tell you frankly, this is dumb plugin which doesnt have any intelligence and purely dependent upon third party services to complete its job. I developed this plugin jus for project need and freeing some developer&#8217;s brain cells from remembering translation site name. Translation plugin acts as an agent between online translation service [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Feclipse.carbonrider.com%2F2009%2F08%2F22%2Feclipse-translation-plugin%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Feclipse.carbonrider.com%2F2009%2F08%2F22%2Feclipse-translation-plugin%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<h2>Translation Plugin</h2>
<p>To tell you frankly, this is dumb plugin which doesnt have any intelligence and purely dependent upon third party services to complete its job. I developed this plugin jus for project need and freeing some developer&#8217;s brain cells from remembering translation site name. <img src='http://www.carbonrider.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Translation plugin acts as an agent between online translation service such as Google and Babelfish.</p>
<div id="attachment_54" class="wp-caption alignnone" style="width: 276px"><img class="size-full wp-image-54" title="Translation View" src="http://www.carbonrider.com/wp-content/uploads/2009/08/translation.jpg" alt="Translation View" width="266" height="364" /><p class="wp-caption-text">Translation View</p></div>
<p><span id="more-50"></span></p>
<p><strong>Features</strong></p>
<ol>
<li>With this plugin you can translate text, property file.</li>
<li>You can select source &amp; destination language for your text.</li>
</ol>
<p><strong>Limitations</strong></p>
<p>It currently doesnot support UTF-16 languages due to limitations in displaying those languages.<br />
<span style="color: #ff0000;">This plugin works only with Eclipse 3.5 (Galileo)</span></p>
<p><strong>Download</strong></p>
<p>You can download this plugin <a title="Translation Plugin" href="http://www.carbonrider.com/downloads/eclipse/translation/com.text.translate_1.0.0.200908221828.jar">here</a>. Just copy the jar file in plugins folder. To locate this plugin go to Window -&gt;Show View -&gt; Other -&gt;Translation -&gt; Text Translator.</p>
<p><strong>So what other alternate plugins are available in market and why should I use this plugin</strong></p>
<p>This is not the first plugin for Eclipse which translates text from one language to another. There are various plugins which can do this job like</p>
<ol>
<li>code.google.com has one plugin which gets integrated with Eclipse and provides various options to translate text. (<a href="http://code.google.com/p/google-translate-eclipse-plugin/">http://code.google.com/p/google-translate-eclipse-plugin/</a>). But this plugin is tied up with Google translation service and hence you cannot compare translation results.</li>
<li>There is one more available from eobjectsoft (<a href="http://eobjectsoft.com/product/productTranslate.htm">http://eobjectsoft.com/product/productTranslate.htm</a>). Again this plugin is tied up with Google translation service.</li>
</ol>
<p>One common problem I found with these plugins is that, if you have to choose source language for your translation, there is no direct option available. You have to go to prefrences window and locate plugin section and change it. This sounds lil irritating, what if you have to frequently change source language, would you like to go through the pain of open, locate, update and press ok lifecycle and that to just specify one preference.</p>
<p><strong>Areas of Improvement</strong></p>
<ol>
<li>Yes this plugin is not complete, it doesnt support integration with context menu of Eclipse (one of the feature of above listed plugin.).</li>
<li>This plugin itself is not internationalized and current version is available only in English language.</li>
</ol>
<p>These features will be added soon.</p>
<p><strong>Precautions</strong></p>
<p>Dont completely depend upon the translation service as the results of translation may not be accurate and require professionals to verifty the trasnlated text.<br />
Also there is no out of box APIs provided by Babelfish for translation. This plugin uses screen scraping technique to parse the results produced by Babelfish and hence it takes more time than its competitor to produce results. Results produced by Google translation service converts string that contains characters like {0} to (0). So be careful and review your translated text after plugin completes its job. If you have any suggestions, please use below form to send your suggestions.</p>
<p>Till then, happy translating. <img src='http://www.carbonrider.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://eclipse.carbonrider.com/2009/08/22/eclipse-translation-plugin/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

