<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">

<channel>
	<title>Planet NetBeans</title>
	<link>http://www.planetnetbeans.org/</link>
	<language>en</language>
	<description>Planet NetBeans - http://www.planetnetbeans.org/</description>

<item>
	<title>NetBeans DZone: From Tabs to TabuLESS for the NetBeans Platform using JavaFX and CSS!</title>
	<guid isPermaLink="false">http://netbeans.dzone.com/143641 at http://netbeans.dzone.com</guid>
	<link>http://feeds.dzone.com/~r/zones/netbeans/~3/lp-ZXBc_IJY/tabs-tabuless-netbeans</link>
	<description>This article will demonstrate several tricks to visually enhance a NetBeans Platform app with JavaFX controls embedded.  It will build upon previous tutorials that demonstrate complete replacements for the default NetBeans Swing components using JavaFX.  Code examples will feature NetBeans Platform, JavaFX and CSS.

      Preview Text: 
    
            
                    This...&#60;img src=&#34;http://feeds.feedburner.com/~r/zones/netbeans/~4/lp-ZXBc_IJY&#34; height=&#34;1&#34; width=&#34;1&#34; /&#62;</description>
	<pubDate>Wed, 19 Jun 2013 15:24:57 +0000</pubDate>
</item>
<item>
	<title>NetBeans DZone: Dynamically Updating NetBeans Platform Explorer Trees With Expansion Icons</title>
	<guid isPermaLink="false">http://netbeans.dzone.com/143589 at http://netbeans.dzone.com</guid>
	<link>http://feeds.dzone.com/~r/zones/netbeans/~3/EJr5_8dNViU/nb-dynamic-icons-for-explorer-trees</link>
	<description>The purpose of this article is to expand on Geertjan's blog entries about explorer trees and expansion icons. The first article found at https://blogs.oracle.com/geertjan/entry/no_expansion_key_when_no  works well for static trees. When a node is constructed, it determines whether or not the underlying data object or bean has children. If there are no children, it becomes a leaf node. If...&#60;img src=&#34;http://feeds.feedburner.com/~r/zones/netbeans/~4/EJr5_8dNViU&#34; height=&#34;1&#34; width=&#34;1&#34; /&#62;</description>
	<pubDate>Wed, 19 Jun 2013 06:56:15 +0000</pubDate>
</item>
<item>
	<title>Geertjan's Blog: Integrating ZIP Features in a NetBeans Platform Application</title>
	<guid isPermaLink="false">https://blogs.oracle.com/geertjan/entry/integrating_zip_features_in_a</guid>
	<link>https://blogs.oracle.com/geertjan/entry/integrating_zip_features_in_a</link>
	<description>&#60;p&#62;Let's say your requirement is that you need to open a ZIP file into an application, modify its content, and then ZIP it all up again.&#60;/p&#62; 
  &#60;p&#62;And you're using the NetBeans Platform. Here's the general approach to take:&#60;br /&#62;&#60;/p&#62; 
  &#60;ol&#62; 
    &#60;li&#62;&#60;b&#62;Learn from Similar Code. &#60;/b&#62;The very first thing to do is to ask yourself: &#34;Does NetBeans IDE or &#60;a href=&#34;http://platform.netbeans.org/screenshots.html&#34;&#62;any other NetBeans Platform application&#60;/a&#62; do something similar?&#34; The answer in this case is Yes because NetBeans IDE has &#34;File | Import Project | From ZIP&#34;. So you can look in the NetBeans source code and get some nice code relating to java.util.zip.ZipInputStream, while FileUtil.copy is also great to use.&#60;br /&#62;&#60;br /&#62;&#60;/li&#62; 
    &#60;li&#62;&#60;b&#62;Create a NetBeans Platform Application.&#60;/b&#62; When you create the application, go to the &#34;ide&#34; cluster in the Project Properties dialog of the application and include the &#34;Image&#34; module, as well as the &#34;XML Text Editor&#34; module, together with all the related modules (simply click the Resolve button) and then you'll have some cool editors immediately available when you open the content of the ZIP file in the application. Also include &#34;User Utilities&#34; so that you have &#34;File | Open File&#34; in your application.&#60;br /&#62;&#60;br /&#62;&#60;/li&#62; 
    &#60;li&#62;&#60;b&#62;Use CentralLookup. &#60;/b&#62;We're going to end up creating a Node hierarchy, i.e., we'll be using classes such as Node, ChildFactory, BeanTreeView, and ExplorerManager. These integrate very well with the Lookup concept. That is, when objects of interest (e.g., a folder that contains the newly unzipped ZIP file) are registered in the Lookup, you will create new Nodes in the Node hierarchy. &#60;br /&#62;&#60;br /&#62;But which Lookup to use? Lookup.getDefault? No. That gives you access to META-INF/services, which is the standard Java 6 extension mechanism. Utilities.actionsGlobalContext? No. That gives you access to the currently selected object. We don't care about selection in this scenario. Whenever a ZIP file is unzipped into a new folder, we need to add that folder to some kind of observable list, i.e., Lookup, to which our Node hierarchy is listening. Therefore, copy CentralLookup into your application and use that. &#60;a href=&#34;https://blogs.oracle.com/geertjan/entry/central_lookup&#34;&#62;Here it is.&#60;/a&#62;&#60;br /&#62;&#60;br /&#62;&#60;/li&#62; 
    &#60;li&#62;&#60;b&#62;Recognize ZIP Files.&#60;/b&#62; Create a new MIME type (i.e., &#60;a href=&#34;https://platform.netbeans.org/tutorials/nbm-filetype.html&#34;&#62;use the New File Type wizard&#60;/a&#62;) to recognize files with a ZIP extension as &#34;application/x-zip&#34;, remove all the editor related code in the DataObject (because you don't want to open the ZIP file into an editor, instead, you want to open the files &#60;i&#62;within&#60;/i&#62; the ZIP file into an editor), and implement Openable. &#60;br /&#62;&#60;br /&#62;When the OpenAction is invoked, which happens automatically when you try to open a file via &#34;File | Open File&#34; (or from the Favorites window), your implementation of Openable will be called. In that Openable implementation, unzip the ZIP file into a new folder and then register that folder as a FileObject in the CentralLookup.&#60;br /&#62;&#60;br /&#62;&#60;/li&#62; 
    &#60;li&#62;&#60;b&#62;Create a Node Hierarchy. &#60;/b&#62;Create a TopComponent in &#34;explorer&#34; mode. Create a ChildFactory that implements LookupListener, listening to CentralLookup for new FileObjects. When a new FileObject is present, wrap it in a FilterNode and refresh the Node hierarchy.&#60;br /&#62;&#60;br /&#62;&#60;/li&#62; 
    &#60;li&#62;&#60;b&#62;Listen for Changes in the Folder. &#60;/b&#62;Use FileObject.addRecursiveListener() to listen for additions/deletions/changes in the folder. That gives you a way to mark the Node hierarchy as being &#34;dirty&#34;, in some way, e.g., publish a Savable into the Lookup of the TopComponent or the Node and then the Save action will become enabled to save the Node hierarchy back into a ZIP file. And how to implement that? Well, look at the source code for &#34;File | Export Project | To ZIP&#34; in the NetBeans sources. &#60;br /&#62;&#60;/li&#62; 
  &#60;/ol&#62; 
  &#60;p&#62;I've completed the first 5 steps above (and everything in step 6 is done, too, i.e., the Savable is added to the Node Lookup when appropriate and, when invoked, an &#34;Export to ZIP&#34; dialog is shown, which works as one might expect) and checked in the sources here:&#60;/p&#62; 
  &#60;p&#62;&#60;a href=&#34;https://java.net/projects/nb-api-samples/sources/api-samples/show/versions/7.3/misc/OpenZIP&#34;&#62;https://java.net/projects/nb-api-samples/sources/api-samples/show/versions/7.3/misc/OpenZIP&#60;/a&#62; &#60;br /&#62;&#60;/p&#62; 
  &#60;p&#62; &#60;/p&#62; 
  &#60;p&#62;Here's what the result looks like after opening a ZIP file, via &#34;File | Open File&#34;, e.g., the images that you see will open into the NetBeans image editor automatically when they are double-clicked, because FilterNode is used to wrap the unzipped folder and its children:&#60;br /&#62;&#60;/p&#62; 
  &#60;p&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/unzipped-feature-731.png&#34; /&#62;&#60;br /&#62;&#60;/p&#62; 
  &#60;p&#62;Just for fun, I made the feature modular, i.e., the infrastructure for recognizing and parsing ZIP files is in one module, the explorer view is in another module, and a Utils module is included to provide the CentralLookup, which is the communication mechanism between the two modules:&#60;/p&#62; 
  &#60;p&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/unzip-feature2.png&#34; /&#62;&#60;/p&#62; 
  &#60;p&#62;Above you see everything I did to make this work, not very much when you consider the amount of features provided at the end, e.g., an application frame, window system, modular infrastructure, plugin system, menubar, toolbar, image editor, XML editor, ZIP file recognition, ZIP file parsing, rendering of ZIP file content in a Swing JTree (via ExplorerManager and BeanTreeView):&#60;/p&#62; 
  &#60;p&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/unzipped-feature-731-2.png&#34; /&#62;&#60;/p&#62; 
  &#60;p&#62; &#60;/p&#62; 
  &#60;p&#62;Finally, note that what you see above in the &#34;ZIP Window&#34; are not actually ZIP files. They're FilterNodes on top of folders created from ZIP files, with the display name of the FilterNode (and all its content, i.e., its children) derived from the original node, which is the folder created from unzipping the ZIP file. &#60;/p&#62;</description>
	<pubDate>Tue, 18 Jun 2013 07:02:51 +0000</pubDate>
</item>
<item>
	<title>Adam Bien: JavaEE ...And The Bloat Is Gone (Session at InfoShare Conference)</title>
	<guid isPermaLink="false">http://www.adam-bien.com/roller/abien/entry/javaee_and_the_bloat_is</guid>
	<link>http://www.adam-bien.com/roller/abien/entry/javaee_and_the_bloat_is</link>
	<description>&#60;p&#62;
Session video: &#34;JavaEE ...And The Bloat Is Gone at InfoShare&#34; in Gdansk. This time no live coding, just slides :-)
&#60;/p&#62;
&#60;p&#62;

&#60;/p&#62;
&#60;p&#62;
&#60;small&#62;
See you at &#60;a href=&#34;http://airhacks.com&#34; target=&#34;_blank&#34;&#62;Java EE Workshops at MUC Airport&#60;/a&#62;, contents of the video are also covered at the &#60;a href=&#34;http://workshops.adam-bien.com/javaee-architectures.htm&#34; target=&#34;_blank&#34;&#62;Architecture Day&#60;/a&#62;!
&#60;/small&#62;
&#60;/p&#62;
&#60;p&#62;
See also other screencasts at: &#60;a href=&#34;http://tv.adam-bien.com&#34; target=&#34;_blank&#34;&#62;http://tv.adam-bien.com&#60;/a&#62; or subscribe to&#60;a href=&#34;http://www.youtube.com/user/bienadam&#34; target=&#34;_blank&#34;&#62; http://www.youtube.com/user/bienadam&#60;/a&#62;.
&#60;/p&#62;
	&#60;br /&#62;
    &#60;a href=&#34;http://workshops.adam-bien.com&#34;&#62;Real World Java EE Workshops [Airport Munich]&gt;&#60;/a&#62;
	&#60;p&#62;&#60;/p&#62;</description>
	<pubDate>Tue, 18 Jun 2013 05:51:52 +0000</pubDate>
</item>
<item>
	<title>Geertjan's Blog: Porting Wandora to the NetBeans Platform (Part 2)</title>
	<guid isPermaLink="false">https://blogs.oracle.com/geertjan/entry/porting_wandora_to_the_netbeans1</guid>
	<link>https://blogs.oracle.com/geertjan/entry/porting_wandora_to_the_netbeans1</link>
	<description>&#60;p&#62;A first step in porting an application, especially one you don't really know, is to run the application in the NetBeans debugger and then take a GUI snapshot of it. That lets you relate the GUI elements in the application to their source code, very easily, as shown below for Wandora:&#60;/p&#62; 
  &#60;p&#62;&#60;a href=&#34;https://blogs.oracle.com/geertjan/resource/wandora-snapshot.jpg&#34;&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/wandora-snapshot.png&#34; /&#62;&#60;/a&#62; &#60;/p&#62;
&#60;p&#62;It's kind of similar to the Chrome integration for HTML5 applications! There, you can click in the browser and then see where items are defined in the IDE. In the above screenshot, you're actually doing something very similar, but then for Java desktop applications, whether in Swing or JavaFX.&#60;/p&#62;</description>
	<pubDate>Mon, 17 Jun 2013 20:30:57 +0000</pubDate>
</item>
<item>
	<title>NetBeans DZone: NetBeans Weekly News (Issue #592 - June 17, 2013 )</title>
	<guid isPermaLink="false">http://netbeans.dzone.com/143363 at http://netbeans.dzone.com</guid>
	<link>http://feeds.dzone.com/~r/zones/netbeans/~3/zctlG-vr_2c/netbeans-weekly-news-issue-592</link>
	<description>Project News
Just Released: NetBeans IDE 7.3.1 with Java EE 7 Support!

NetBeans IDE 7.3.1 is an update to NetBeans IDE 7.3 and offers full support for Java EE 7 development and contains integ
      Preview Text: 
    
            
                    New releases: NetBeans IDE 7.3.1, Java EE 7 and GlassFish 4.0. Register for Virtual Java Developer Days. A plugin for POV-Ray syntax,...&#60;img src=&#34;http://feeds.feedburner.com/~r/zones/netbeans/~4/zctlG-vr_2c&#34; height=&#34;1&#34; width=&#34;1&#34; /&#62;</description>
	<pubDate>Mon, 17 Jun 2013 15:37:40 +0000</pubDate>
</item>
<item>
	<title>Geertjan's Blog: Porting Wandora to the NetBeans Platform (Part 1)</title>
	<guid isPermaLink="false">https://blogs.oracle.com/geertjan/entry/porting_wandora_to_the_netbeans</guid>
	<link>https://blogs.oracle.com/geertjan/entry/porting_wandora_to_the_netbeans</link>
	<description>&#60;p&#62;&#60;a href=&#34;http://www.wandora.org/&#34;&#62;Wandora&#60;/a&#62; is a general purpose information extraction, management and publishing application based on Topic Maps and Java. Wandora has a graphical user interface, layered and merging information model, multiple visualization models, huge collection of information extraction, import and export options, embedded HTTP server with several output modules and open plug-in architecture. &#60;/p&#62; 
  &#60;p&#62;Here it is: &#60;/p&#62; 
  &#60;p&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/wandora-large.png&#34; /&#62;&#60;/p&#62; 
  &#60;p&#62;The sources are in a handy NetBeans project:&#60;/p&#62; 
  &#60;p&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/wandora-src.png&#34; /&#62; &#60;/p&#62; 
  &#60;p&#62;Interestingly, attempts have been made to port Wandora to the NetBeans Platform, for very good reasons:&#60;/p&#62; 
  &#60;p&#62;&#60;a href=&#34;http://www.wandora.org/forum/viewtopic.php?f=11&#38;amp;t=50&#34;&#62;http://www.wandora.org/forum/viewtopic.php?f=11&#38;amp;t=50&#60;/a&#62;&#60;/p&#62;
  &#60;p&#62;But success has been elusive: &#60;/p&#62; 
  &#60;p&#62;&#60;a href=&#34;http://www.wandora.net/wandora/forum/viewtopic.php?f=11&#38;amp;t=95&#34;&#62;http://www.wandora.net/wandora/forum/viewtopic.php?f=11&#38;amp;t=95&#60;/a&#62;&#60;/p&#62; 
  &#60;p&#62;The application is clearly large and understandably a massive undertaking to port it. But I'm going to try it nonetheless and report on my progress here. &#60;/p&#62;</description>
	<pubDate>Sun, 16 Jun 2013 19:58:01 +0000</pubDate>
</item>
<item>
	<title>Geertjan's Blog: Sublime Text Look &#38; Feel for NetBeans IDE</title>
	<guid isPermaLink="false">https://blogs.oracle.com/geertjan/entry/sublime_text_look_feel_for</guid>
	<link>https://blogs.oracle.com/geertjan/entry/sublime_text_look_feel_for</link>
	<description>&#60;p&#62;The highest ranked NetBeans theme on the truly brilliant &#60;a href=&#34;http://netbeansthemes.com/rank/&#34;&#62;NetBeans Themes site&#60;/a&#62; replicates &#60;a href=&#34;http://www.sublimetext.com/&#34;&#62;Sublime Text&#60;/a&#62; and looks really great. Click to enlarge the screenshot below to see it in context in NetBeans IDE 7.3.1:&#60;/p&#62; 
  &#60;p&#62;&#60;a href=&#34;https://blogs.oracle.com/geertjan/resource/netbeans-731-sublime.gif&#34;&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/netbeans-731-sublime.png&#34; style=&#34;border: 1px solid black;&#34; /&#62;&#60;/a&#62; &#60;/p&#62; 
  &#60;p&#62;I have no idea who is behind that NetBeans Themes site, but it's an amazing contribution to the NetBeans community. Just &#60;a href=&#34;http://netbeansthemes.com/&#34;&#62;take a look at the themes on the site&#60;/a&#62;, choose one, download its ZIP file, go to Tools | Options in the IDE, click Import and then browse to the ZIP you downloaded. You can also upload your own themes to the site, i.e., configure NetBeans IDE the way you want it to be, export the settings by clicking Export in Tools | Options, click Upload Yours on the site and you're done. Wonderfully simple and a wonderful site!&#60;/p&#62; 
  &#60;p&#62;&#60;b&#62;&#60;font color=&#34;red&#34;&#62;In other news. &#60;/font&#62;&#60;/b&#62;My internet discovery of the day is &#60;a href=&#34;http://comediansincarsgettingcoffee.com/&#34;&#62;Comedians In Cars Getting Coffee&#60;/a&#62;! Excellent.&#60;/p&#62;</description>
	<pubDate>Sat, 15 Jun 2013 07:00:00 +0000</pubDate>
</item>
<item>
	<title>Adam Bien: MVP, IoC, DI and WYSIWG &#38;#8230;with JavaFX--A Free Article</title>
	<guid isPermaLink="false">http://www.adam-bien.com/roller/abien/entry/mvp_ioc_di_and_wysiwg</guid>
	<link>http://www.adam-bien.com/roller/abien/entry/mvp_ioc_di_and_wysiwg</link>
	<description>&#60;p&#62;
The JavaMagazine article: &#60;a href=&#34;http://www.oraclejavamagazine-digital.com/javamagazine/20130506/?pg=75&#38;amp;pm=1&#38;amp;u1=friend&#34; target=&#34;_blank&#34;&#62;Integrating JavaFX Scene Builder 
Into Enterprise Applications&#60;/a&#62; discusses a pragmatic integration of JavaFX Scene Builder into the &#34;Enterprise Application Workflow&#34;. DI is used to integrate backend services and composition of visually created views.
&#60;/p&#62;
&#60;p&#62;
See also:
&#60;/p&#62;&#60;ol&#62;
&#60;li&#62;&#60;a href=&#34;http://afterburner.adam-bien.com&#34; target=&#34;_blank&#34;&#62;http://afterburner.adam-bien.com&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://github.com/AdamBien/airhacks-control&#34; target=&#34;_blank&#34;&#62;https://github.com/AdamBien/airhacks-control&#60;/a&#62;&#60;/li&#62;
&#60;/ol&#62;
&#60;p&#62;&#60;/p&#62;
&#60;p&#62;
&#60;small&#62;
See you at &#60;a href=&#34;http://airhacks.com&#34; target=&#34;_blank&#34;&#62;Java EE Workshops at MUC Airport.&#60;/a&#62; The material from the article is going to be also covered at the &#60;a href=&#34;http://workshops.adam-bien.com/javaee-ui.htm&#34; target=&#34;_blank&#34;&#62;JavaEE UI&#60;/a&#62; day!
&#60;/small&#62;
&#60;/p&#62;
	&#60;br /&#62;
    &#60;a href=&#34;http://workshops.adam-bien.com&#34;&#62;Real World Java EE Workshops [Airport Munich]&gt;&#60;/a&#62;
	&#60;p&#62;&#60;/p&#62;</description>
	<pubDate>Fri, 14 Jun 2013 09:04:05 +0000</pubDate>
</item>
<item>
	<title>Geertjan's Blog: Ubuntu 13.04</title>
	<guid isPermaLink="false">https://blogs.oracle.com/geertjan/entry/ubuntu_13_04</guid>
	<link>https://blogs.oracle.com/geertjan/entry/ubuntu_13_04</link>
	<description>&#60;p&#62;I've been actively and naturally using Ubuntu since Ubuntu 7.04 &#34;Feisty Fawn&#34;, which means, of course, April 2007, &#60;a href=&#34;https://blogs.oracle.com/geertjan/entry/seven_nice_things_about_linux&#34;&#62;as described here&#60;/a&#62;. Now let's flash forward six years or so to yesterday. Yesterday I was on 12.04 &#34;Precise Pangolin&#34;, today on the latest version 13.04 &#34;Raring Ringtail&#34;, which means I skipped 12.10 &#34;Quantal Quetzal&#34;. In general, looking back in this blog over the years, I seem to have installed more &#34;04&#34; releases than &#34;10&#34; releases, which is interesting. I tend to skip one Ubuntu release per year, more or less. Not sure why, exactly. Part of it is that I'm too lazy to backup my data prior to an upgrade and can probably only handle the occasional frantic moments of despair (e.g., the sudden pause in the upgrade garbles that could either be an internal crash or the tiny technicians in my computer simply needing a coffee break) in the middle of upgrades on an annual basis.&#60;br /&#62;&#60;/p&#62; 
  &#60;p&#62;The process which I followed to get from 12.04 to 13.04 is completely illustrative of how software updates happen and is interesting from a NetBeans IDE point of view, too. Often, on Twitter and on mailing lists, at least 60% of NetBeans-related questions I see immediately cause a small fuse to blow in my mind while I think, almost out loud: &#34;Well, why don't you just go to the &#60;a href=&#34;http://wiki.netbeans.org/NetBeansUserFAQ&#34;&#62;NetBeans Wiki&#60;/a&#62; and you'll find the answer there, very easily.&#34; But, of course, that's not how we gather info nowadays, we simply go to Google even though we know that each and every software product has its own dedicated site with highly detailed information. Then, when we don't find the answer we're looking for (or we think we're looking for) within 30 seconds, we start yelling &#34;Help this product sucks&#34; on Twitter.&#60;br /&#62;&#60;/p&#62; 
  &#60;p&#62;And that's also why I can't explain exactly how I got from 12.04 to 13.04. I basically googled around and somewhere found a command line that I assumed would bring me directly to 13.04 but got me to 12.10. Then I went to the Update Manager, which (several hours later, zillions of new files later, while leaving everything else miraculously untouched) brought me to 13.04.&#60;/p&#62; 
  &#60;p&#62;The other interesting thing is why I wanted to move to 13.04 in the first place. I would have been perfectly happy to have stayed at 12.04 if it wasn't for the fact that the VPN Cisco AnyConnect Client doesn't (or at least not without various low level tweaks, from a variety of random unreliable and contradictory online searches) work on 12.04. It worked before that, but from 12.04 onwards, I couldn't VPN into internal company sites that I need to do my work and had to use a Windows laptop purely for that reason only. That's why I upgraded. However, many many hours later, when I was finally on 13.04, I had exactly the same problems as before! Then I moved to &#34;openconnect&#34;, which solved all my VPN problems immediately. But this aspect is interesting from a NetBeans point of view, where I often find myself thinking in response to some question or other: &#34;Come on, you're asking this question, and then it turns out you're on NetBeans IDE 6.9 while the latest release is NetBeans IDE 7.3! Never thought of upgrading, in all these years..?&#34; Etc. Then again, on the other hand, switching from one release of NetBeans IDE to another is a LOT simpler (takes a lot less time, is a lot less risky and a lot less irreversible) than switching from one version of Ubuntu to another.&#60;br /&#62;&#60;/p&#62; 
  &#60;p&#62;Finally, a missing piece in my software toolbox on Ubuntu was Cisco IP Communicator, a soft phone, which only has Windows and Mac distributions. I never had it (nor tried to have it) on Ubuntu before but thought I'd give it a try since it would be the final missing piece on my Ubuntu from my Windows world. And, lo and behold, it works perfectly (well, aside from the Audio bit at the beginning, but that's a known problem) on Ubuntu too, if you install it via Wine. (Maybe the biggest plus from the process of updating to Ubuntu 13.04 is the side effect that I now know a lot more about Wine, i.e., the &#34;.wine&#34; folder is a fascinating replication of a Windows operating system.)&#60;br /&#62;&#60;/p&#62; 
  &#60;p&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/cisco-ip-communicator.png&#34; /&#62; &#60;/p&#62; 
  &#60;p&#62;And now I'm on 13.04, the world isn't a very different place (not noticed anything new, so far, maybe performance improvements, but maybe mostly because I always assume each release of anything must have performance enhancements somehow). I used to have absolute nightmares setting up Wifi after an Ubuntu upgrade, but everything worked immediately out of the box. So far I don't have anything to mention in terms of differences, but certainly the smoothest upgrade (especially since I upgraded from 12.04 to 12.10 and then 13.04, all in the same set of hours) I have ever experienced. And good to know I'm on the latest release of Ubuntu again!&#60;br /&#62;&#60;/p&#62;</description>
	<pubDate>Fri, 14 Jun 2013 07:00:00 +0000</pubDate>
</item>
<item>
	<title>Adam Bien: Glassfish v4 Is Out (with JavaEE 7)</title>
	<guid isPermaLink="false">http://www.adam-bien.com/roller/abien/entry/glassfish_v4_is_out_with</guid>
	<link>http://www.adam-bien.com/roller/abien/entry/glassfish_v4_is_out_with</link>
	<description>&#60;p&#62;
Glassfish v4 (the &#60;a href=&#34;http://www.adam-bien.com/roller/abien/entry/glassfish_could_become_the_killer&#34; target=&#34;_blank&#34;&#62;&#34;Killer Appserver&#34;&#60;/a&#62;) is available for &#60;a href=&#34;https://glassfish.java.net/download.html&#34; target=&#34;_blank&#34;&#62;download&#60;/a&#62;
&#60;/p&#62;
&#60;p&#62;
The &#60;a href=&#34;http://glassfish.org&#34; target=&#34;_blank&#34;&#62;glassfish.org&#60;/a&#62; website was redesigned as well. It looks clean and fresh.
&#60;/p&#62;
&#60;p&#62;
I'm using Glassfish v4 for a while in daily development--it looks promising. Glassfish v4 also ships with &#60;a href=&#34;http://www.netbeans.org&#34; target=&#34;_blank&#34;&#62;NetBeans (JavaEE)&#60;/a&#62;. With &#60;a href=&#34;https://netbeans.org/downloads/&#34; target=&#34;_blank&#34;&#62;NetBeans&#60;/a&#62; and Glassfish you will get the most efficient JavaEE 7 environment to start (double click, wait 2 minutes) and to develop your applications (everything you need comes out-of-the-box--without any plugin hell).  
&#60;/p&#62;
&#60;p&#62;
&#60;small&#62;
See you at &#60;a href=&#34;http://airhacks.com&#34; target=&#34;_blank&#34;&#62;Java EE Workshops at MUC Airport--I will use Glassfish v4 for live hacking&#60;/a&#62;!
&#60;/small&#62;
&#60;/p&#62;
	&#60;br /&#62;
    &#60;a href=&#34;http://workshops.adam-bien.com&#34;&#62;Real World Java EE Workshops [Airport Munich]&gt;&#60;/a&#62;
	&#60;p&#62;&#60;/p&#62;</description>
	<pubDate>Thu, 13 Jun 2013 08:05:59 +0000</pubDate>
</item>
<item>
	<title>Geertjan's Blog: Ruby on Rails in NetBeans IDE 7.3.1</title>
	<guid isPermaLink="false">https://blogs.oracle.com/geertjan/entry/ruby_on_rails_in_netbeans</guid>
	<link>https://blogs.oracle.com/geertjan/entry/ruby_on_rails_in_netbeans</link>
	<description>&#60;p&#62;&#60;a href=&#34;http://www.theserverside.com/news/thread.tss?thread_id=76226&#34;&#62;NetBeans IDE 7.3.1 is released, hurray, etc.&#60;/a&#62; Now let's look at using Ruby on Rails in NetBeans IDE 7.3.1. &#60;/p&#62; 
  &#60;p&#62;Go here, to the NetBeans plugin for JRuby maintained by Tom Enebo and the JRuby community (since there really isn't anyone better in the world to be responsible for a tooling plugin than the community itself) and click the Download button:&#60;/p&#62; 
  &#60;p&#62;&#60;a href=&#34;http://plugins.netbeans.org/plugin/38549/ruby-and-rails&#34;&#62;http://plugins.netbeans.org/plugin/38549/ruby-and-rails&#60;/a&#62;&#60;/p&#62; 
  &#60;p&#62;Now you have a ZIP file. Unzip it. Go to Tools | Plugins in NetBeans IDE 7.3.1. Select all the NBMs from the unzipped file. Make very sure to change the &#34;Files of Type&#34; filter to &#34;All&#34;, so that you can include the JRuby JAR, which you must have, otherwise the NBMs will not be able to be installed. I.e., you can include the JAR, as shown below, which is in the ZIP file, but, again, make sure to change the filter from the default, so that not only NBM files are selectable.&#60;/p&#62; 
  &#60;p&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/jruby-731-1.png&#34; /&#62; &#60;/p&#62; 
  &#60;p&#62;When you click Install above, you'll see this dialog, just accept what it tells you:&#60;br /&#62;&#60;/p&#62; 
  &#60;p&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/jruby-731-2.png&#34; /&#62; &#60;/p&#62; 
  &#60;p&#62;Once the installation is complete, go to File | New Project and there you'll see the Depot Application, which is a nice sample to get you started:&#60;br /&#62;&#60;/p&#62; 
  &#60;p&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/jruby-731-3.png&#34; /&#62; &#60;/p&#62; 
  &#60;p&#62;Now you have a full-blown and very fast/smooth editor for your code (click to enlarge the image below):&#60;br /&#62;&#60;/p&#62; 
  &#60;p&#62;&#60;a href=&#34;https://blogs.oracle.com/geertjan/resource/jruby-731-4.jpg&#34;&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/jruby-731-4.png&#34; /&#62;&#60;/a&#62; &#60;/p&#62; 
  &#60;p&#62;You can configure a bunch of things in the Project Properties dialog, i.e., per project:&#60;br /&#62;&#60;/p&#62; 
  &#60;p&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/jruby-731-5.png&#34; /&#62; &#60;/p&#62; 
  &#60;p&#62;Also, there are IDE-wide configuration settings you can configure in Tools | Options:&#60;br /&#62;&#60;/p&#62; 
  &#60;p&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/jruby-731-6.png&#34; /&#62; &#60;/p&#62; 
  &#60;p&#62;And, aside from the sample shown above, there are various starting points for your own applications:&#60;br /&#62;&#60;/p&#62; 
  &#60;p&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/jruby-731-7.png&#34; /&#62;&#60;/p&#62; 
  &#60;p&#62;So dive in today, the water is good! &#60;br /&#62;&#60;/p&#62;</description>
	<pubDate>Thu, 13 Jun 2013 07:00:00 +0000</pubDate>
</item>
<item>
	<title>NetBeans DZone: NetBeans IDE 7.3.1 Now Available with Java EE 7 Support</title>
	<guid isPermaLink="false">http://netbeans.dzone.com/142931 at http://netbeans.dzone.com</guid>
	<link>http://feeds.dzone.com/~r/zones/netbeans/~3/PC4hfYruOkA/netbeans-ide-731-now-available-0</link>
	<description>NetBeans IDE 7.3.1 is an update to NetBeans IDE 7.3 and includes the following highlights:

      Preview Text: 
    
            
                    NetBeans IDE 7.3.1 is an update to NetBeans IDE 7.3 and features full support for Java EE 7 development.        
        

Legacy
      Sponsored: 
    
            
                    unsponsored&#60;img src=&#34;http://feeds.feedburner.com/~r/zones/netbeans/~4/PC4hfYruOkA&#34; height=&#34;1&#34; width=&#34;1&#34; /&#62;</description>
	<pubDate>Wed, 12 Jun 2013 17:40:32 +0000</pubDate>
</item>
<item>
	<title>Arun Gupta, Miles to go ...: Java EE 7 SDK and GlassFish Server Open Source Edition 4.0 Now Available</title>
	<guid isPermaLink="false">https://blogs.oracle.com/arungupta/entry/java_ee_7_sdk_and</guid>
	<link>https://blogs.oracle.com/arungupta/entry/java_ee_7_sdk_and</link>
	<description>&#60;br /&#62;
Java EE 7 (&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=342&#34;&#62;JSR 342&#60;/a&#62;)
is now final! &#60;br /&#62;
&#60;br /&#62;
I've delivered numerous talks on Java EE 7 and related technologies
all around the world for past several months. I'm loaded with
excitement to share that the Java EE 7 platform specification and
implementation is now in the records.&#60;br /&#62;
&#60;br /&#62;
The platform has three major themes:&#60;br /&#62;
&#60;br /&#62;
&#60;a href=&#34;https://blogs.oracle.com/arungupta/resource/javaee7-theme.png&#34;&#62;&#60;img src=&#34;https://blogs.oracle.com/arungupta/resource/javaee7-theme.png&#34; alt=&#34;&#34; height=&#34;293&#34; border=&#34;0&#34; width=&#34;600&#34; /&#62;&#60;/a&#62;&#60;br /&#62;
&#60;br /&#62;
&#60;ul&#62;
&#60;li&#62; Deliver HTML5 Dynamic Scalable Applications &#60;/li&#62;
&#60;ul&#62;
&#60;li&#62;Reduce response time with low latency data exchange using
WebSocket&#60;/li&#62;
&#60;li&#62;Simplify data parsing for portable applications with
standard JSON support&#60;/li&#62;
&#60;li&#62;Deliver asynchronous, scalable, high performance RESTful
Service &#60;/li&#62;
&#60;/ul&#62;
&#60;li&#62; Increase Developer Productivity&#60;/li&#62;
&#60;ul&#62;
&#60;li&#62;Simplify application architecture with a cohesive integrated
platform&#60;/li&#62;
&#60;li&#62; Increase efficiency with reduced boiler-plate code and
broader use of annotations&#60;/li&#62;
&#60;li&#62; Enhance application portability with standard RESTful web
service client support&#60;/li&#62;
&#60;/ul&#62;
&#60;li&#62;Meet the most demanding enterprise requirements&#60;/li&#62;
&#60;ul&#62;
&#60;li&#62; Break down batch jobs into manageable chunks for
uninterrupted OLTP performance&#60;/li&#62;
&#60;li&#62; Easily define multithreaded concurrent tasks for improved
scalability&#60;/li&#62;
&#60;li&#62; Deliver transactional applications with choice and
flexibility &#60;/li&#62;
&#60;/ul&#62;
&#60;/ul&#62;
This &#34;pancake&#34; diagram of the major components helps understand how
the components work with each other to provide a complete,
comprehensive, and integrated stack for building your enterprise and
web applications. The newly added components are highlighted in the
orange color:&#60;br /&#62;
&#60;br /&#62;
&#60;br /&#62;
&#60;a href=&#34;https://blogs.oracle.com/arungupta/resource/javaee7-pancake.png&#34;&#62;&#60;img src=&#34;https://blogs.oracle.com/arungupta/resource/javaee7-pancake.png&#34; alt=&#34;&#34; height=&#34;264&#34; border=&#34;0&#34; width=&#34;600&#34; /&#62;&#60;/a&#62;&#60;br /&#62;
&#60;br /&#62;
In this highly &#60;a href=&#34;https://blogs.oracle.com/arungupta/entry/transparency_and_community_participation_in&#34;&#62;transparent

and participatory&#60;/a&#62; effort, there were 14 active JSRs:&#60;br /&#62;
&#60;ul&#62;
&#60;li&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=342&#34;&#62;342&#60;/a&#62;: Java EE
7 Platform&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=338&#34;&#62;338&#60;/a&#62;: Java
API for RESTful Web Services 2.0&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=339&#34;&#62;339&#60;/a&#62;: Java
Persistence API 2.1&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=340&#34;&#62;340&#60;/a&#62;: Servlet
3.1&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=341&#34;&#62;341&#60;/a&#62;:
Expression Language 3.0&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=343&#34;&#62;343&#60;/a&#62;: Java
Message Service 2.0&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=344&#34;&#62;344&#60;/a&#62;:
JavaServer Faces 2.2&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=345&#34;&#62;345&#60;/a&#62;:
Enteprise JavaBeans 3.2&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=346&#34;&#62;346&#60;/a&#62;:
Contexts and Dependency Injection 1.1&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=349&#34;&#62;349&#60;/a&#62;: Bean
Validation 1.1&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;b&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=342&#34;&#62;352&#60;/a&#62;&#60;/b&#62;&#60;b&#62;:
Batch Applications for the Java Platform 1.0&#60;/b&#62;&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;b&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=353&#34;&#62;353&#60;/a&#62;&#60;/b&#62;&#60;b&#62;:
Java API for JSON Processing 1.0&#60;/b&#62;&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;b&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=356&#34;&#62;356&#60;/a&#62;&#60;/b&#62;&#60;b&#62;:
Java API for WebSocket 1.0&#60;/b&#62;&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;b&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=236&#34;&#62;236&#60;/a&#62;&#60;/b&#62;&#60;b&#62;:
Concurrency Utilities for Java EE 1.0&#60;/b&#62;&#60;br /&#62;
&#60;/li&#62;
&#60;/ul&#62;
&#60;p&#62;The newly added components are highlighted in bold. &#60;br /&#62;
&#60;/p&#62;
&#60;p&#62;And 9 Maintenance Release JSRs:&#60;br /&#62;
&#60;/p&#62;
&#60;ul&#62;
&#60;li&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=250&#34;&#62;250&#60;/a&#62;: Common
Annotations 1.2&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=322&#34;&#62;322&#60;/a&#62;:
Connector Architecture 1.7&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=907&#34;&#62;907&#60;/a&#62;: Java
Transaction API 1.2&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=196&#34;&#62;196&#60;/a&#62;: Java
Authentication Services for Provider Interface for Containers&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=115&#34;&#62;115&#60;/a&#62;: Java
Authorization for Contract for Containers&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=919&#34;&#62;919&#60;/a&#62;:
JavaMail 1.5&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=318&#34;&#62;318&#60;/a&#62;:
Interceptors 1.2&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=109&#34;&#62;109&#60;/a&#62;: Web
Services 1.4&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://jcp.org/en/jsr/detail?id=245&#34;&#62;245&#60;/a&#62;:
JavaServer Pages 2.3&#60;br /&#62;
&#60;/li&#62;
&#60;/ul&#62;
&#60;br /&#62;
Ready to get rolling ?&#60;br /&#62;
&#60;br /&#62;
&#60;table cellpadding=&#34;5&#34; width=&#34;100%&#34; border=&#34;0&#34; cellspacing=&#34;5&#34;&#62;
&#60;tbody&#62;
&#60;tr&#62;
&#60;td valign=&#34;top&#34;&#62;&#60;a href=&#34;https://blogs.oracle.com/arungupta/resource/javaee7-download-motorcycle.png&#34;&#62;&#60;img src=&#34;https://blogs.oracle.com/arungupta/resource/javaee7-download-motorcycle.png&#34; alt=&#34;&#34; height=&#34;409&#34; border=&#34;0&#34; width=&#34;400&#34; /&#62;&#60;/a&#62;&#60;/td&#62;
&#60;td valign=&#34;top&#34;&#62;
&#60;p&#62;Binaries&#60;br /&#62;
&#60;/p&#62;
&#60;ul&#62;
&#60;li&#62;&#60;a href=&#34;http://www.oracle.com/technetwork/java/javaee/downloads/index.html&#34;&#62;Java



EE 7 SDK&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://download.java.net/glassfish/4.0/release/glassfish-4.0.zip&#34;&#62;GlassFish



Server Open Source Edition 4.0&#60;/a&#62;&#60;/li&#62;
&#60;/ul&#62;
&#60;p&#62;Tools&#60;br /&#62;
&#60;/p&#62;
&#60;ul&#62;
&#60;li&#62;&#60;a href=&#34;https://netbeans.org/downloads/&#34;&#62;NetBeans
7.3.1&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://marketplace.eclipse.org/content/glassfish-tools-kepler#.UbeEGyt4Y1w&#34;&#62;GlassFish



Tools for Kepler&#60;/a&#62; (Technology Preview)&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://wikis.oracle.com/display/GlassFish/Java+EE+7+Maven+Coordinates&#34;&#62;Maven



Coordinates&#60;/a&#62;&#60;br /&#62;
&#60;/li&#62;
&#60;/ul&#62;
&#60;p&#62;Docs&#60;br /&#62;
&#60;/p&#62;
&#60;ul&#62;
&#60;li&#62;&#60;a href=&#34;http://www.oracle.com/technetwork/java/javaee/javaee7-whitepaper-1956203.pdf&#34;&#62;Java



EE 7 Whitepaper&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;Java EE 7 Tutorial (&#60;a href=&#34;http://docs.oracle.com/javaee/7/tutorial/doc/home.htm&#34;&#62;html&#60;/a&#62;
&#60;a href=&#34;http://docs.oracle.com/javaee/7/tutorial/doc/javaeetutorial7.pdf&#34;&#62;pdf&#60;/a&#62;)&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://docs.oracle.com/javaee/7/firstcup/doc/home.htm&#34;&#62;First



Cup Sample Application&#60;/a&#62;&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://glassfish.org/hol&#34;&#62;Java EE 7 Hands-on
Lab&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;Javadocs (&#60;a href=&#34;http://docs.oracle.com/javaee/7/api/&#34;&#62;online&#60;/a&#62;
&#60;a href=&#34;http://dlc.sun.com.edgesuite.net/glassfish/4.0/release/javaee-api-7.0-javadoc.jar&#34;&#62;download&#60;/a&#62;)&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://www.oracle.com/technetwork/java/javaee/tech/index.html&#34;&#62;Specifications&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://download.java.net/glassfish/4.0/release/glassfish-ose-4.0-docs-pdf.zip&#34;&#62;All-in-one



GlassFish Documentation Bundle&#60;/a&#62;&#60;/li&#62;
&#60;/ul&#62;
&#60;/td&#62;
&#60;/tr&#62;
&#60;/tbody&#62;
&#60;/table&#62;
&#60;br /&#62;
A &#60;a href=&#34;http://www.oracle.com/technetwork/articles/java/index-141532.html#ent&#34;&#62;few
articles&#60;/a&#62; have already been published on OTN:&#60;br /&#62;
&#60;ul&#62;
&#60;li&#62;&#60;a href=&#34;http://www.oracle.com/technetwork/articles/java/jms2messaging-1954190.html&#34;&#62;What's



new in JMS 2.0: Part 2&#60;/a&#62; (Jun 2013)&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://www.oracle.com/technetwork/articles/java/jms20-1947669.html&#34;&#62;What's



new in JMS 2.0: Part 1&#60;/a&#62; (May 2013)&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://www.oracle.com/technetwork/articles/java/jaxrs20-1929352.html&#34;&#62;Java



EE 7 and JAX-RS 2.0&#60;/a&#62; (Apr 2013)&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://www.oracle.com/technetwork/articles/java/jsr356-1937161.html&#34;&#62;JSR



356, Java API for WebSocket&#60;/a&#62; (Apr 2013)&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://java.net/projects/jms-spec/pages/JMS20MeansLessCode&#34;&#62;Ten



ways in which JMS 2.0 means writing less code&#60;/a&#62; (Apr 2013)&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://www.oracle.com/technetwork/articles/java/gupta-1911481.html&#34;&#62;Higher

Productivity and Embracing HTML5 with Java EE 7&#60;/a&#62; (Feb 2013)&#60;br /&#62;
&#60;/li&#62;
&#60;/ul&#62;
&#60;p&#62;And more are coming!&#60;br /&#62;
&#60;/p&#62;
&#60;p&#62;&#60;a href=&#34;https://blogs.oracle.com/arungupta/resource/javaee7-tag-cloud.jpg&#34;&#62;&#60;img src=&#34;https://blogs.oracle.com/arungupta/resource/javaee7-tag-cloud.jpg&#34; alt=&#34;&#34; height=&#34;401&#34; border=&#34;0&#34; width=&#34;600&#34; /&#62;&#60;/a&#62; &#60;/p&#62;
&#60;p&#62;&#60;a href=&#34;http://blogs.oracle.com/arungupta&#34;&#62;This blog&#60;/a&#62; has
also published several TOTD on Java EE 7:
&#60;/p&#62;
&#60;ul&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/arungupta/entry/websocket_client_and_server_endpoint&#34;&#62;TOTD
#212:
WebSocket Client and Server Endpoint&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/arungupta/entry/chunked_step_using_batch_applications&#34;&#62;TOTD#
211:
Chunked Step using Batch Applications&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/arungupta/entry/consuming_and_producing_json_using&#34;&#62;TOTD
#210:
Consuming and Producing JSON using JAX-RS Entity
Providers&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/arungupta/entry/create_managedexecutorservice_managedscheduledexecutorservice_managedthreadfactory_contextservice&#34;&#62;TOTD
#203:
Concurrency Managed Objects&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/arungupta/entry/resource_library_contracts_in_jsf2&#34;&#62;TOTD
#202:
Resource Library Contracts in JSF 2.2&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/arungupta/entry/java_ee_7_and_netbeans&#34;&#62;TOTD
#199:
Java EE 7 and NetBeans IDE&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/arungupta/entry/jsf_2_2_faces_flow&#34;&#62;TOTD
#198:
JSF 2.2 Faces Flow&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/arungupta/entry/default_datasource_in_java_ee&#34;&#62;TOTD
#196:
Default DataSource in Java EE 7&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/arungupta/entry/jax_rs_client_api_and&#34;&#62;TOTD
#194:
JAX-RS Client API and GlassFish 4&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/arungupta/entry/batch_applications_in_java_ee&#34;&#62;TOTD
#192:
Batch Applications in Java EE 7&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/arungupta/entry/simple_jms_2_0_sample&#34;&#62;TOTD
#191:
Simple JMS 2.0 Sample&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/arungupta/entry/collaborative_whiteboard_using_websocket_in&#34;&#62;TOTD
#189:
Collaborative Whiteboard using WebSocket in GlassFish 4&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/arungupta/entry/non_blocking_i_o_using&#34;&#62;TOTD
#188:
Non-blocking I/O using Servlet 3.1&#60;/a&#62;&#60;br /&#62;
&#60;/li&#62;
&#60;/ul&#62;
&#60;br /&#62;
&#60;table cellpadding=&#34;5&#34; width=&#34;100%&#34; border=&#34;0&#34; cellspacing=&#34;5&#34;&#62;
&#60;tbody&#62;
&#60;tr&#62;
&#60;td valign=&#34;top&#34;&#62;&#60;img src=&#34;https://blogs.oracle.com/javaspotlight/resource/podcast_logo.jpg&#34; alt=&#34;&#34; height=&#34;76&#34; width=&#34;69&#34; /&#62;&#60;/td&#62;
&#60;td valign=&#34;top&#34;&#62;All the JSRs have been covered in the &#60;a href=&#34;https://blogs.oracle.com/theaquarium/entry/fifteen_javaee_7_apis_featured&#34;&#62;Java
Spotlight podcast&#60;/a&#62;:&#60;/td&#62;
&#60;/tr&#62;
&#60;/tbody&#62;
&#60;/table&#62;
&#60;br /&#62;
&#60;ul&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/javaspotlight/entry/java_spotlight_episode_136_paul&#34;&#62;#136:
Paul Parkinson on JSR 907/JTA 1.2&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/javaspotlight/entry/java_spotlight_episode_135_marina&#34;&#62;#135:
Marina Vatkina on JSR 318/Interceptors 1.2&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/javaspotlight/entry/java_spotlight_episode_134_kin&#34;&#62;#134:
Kin-man Chung on JSR 341/Expresion Language 3.0&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/javaspotlight/entry/java_spotlight_episode_133_sivakumar&#34;&#62;#133:
Sivakumar Thyagarajan on JSR 322/Connectors 1.7&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/javaspotlight/entry/java_spotlight_episode_132_shin&#34;&#62;#132:
Shing-Wai Chan on JSR 340/Servlet 3.1&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/javaspotlight/entry/java_spotlight_episode_131_nigel&#34;&#62;#131:
Nigel Deaking on JSR 343/JMS 2.0&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/javaspotlight/entry/java_spotlight_episode_130_santiago&#34;&#62;#130:
Santiago Pericas-Geertsen on JSR 339/JAX-RS 2.0&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/javaspotlight/entry/java_spotlight_episode_129_anthony&#34;&#62;#129:
Anthony Lai on JSR 236/Concurrency Utilities for Java EE 1.0&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/javaspotlight/entry/java_spotlight_episode_126_jitendra&#34;&#62;#126:
Jitendra Kotamraju on JSR 353/JSON 1.0&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/javaspotlight/entry/java_spotlight_episode_124_chris&#34;&#62;#124:
Chris Vignola from JSR 352/Batch 1.0&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/javaspotlight/entry/java_spotlight_episode_119_emmanuel&#34;&#62;#119:
Emmanuel Bernard on JSR 349/Bean Validation 1.1&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/javaspotlight/entry/java_spotlight_episode_117_danny&#34;&#62;#117:
Danny Coward on JSR 356/WebSocket 1.0&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/javaspotlight/entry/java_spotlight_episode_115_ed&#34;&#62;#115:
Ed Burns on JSF 344/JSF 2.2&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/javaspotlight/entry/java_spotlight_episode_109_pete&#34;&#62;#109:
Pete Muir on JSR 346/CDI 1.1&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/javaspotlight/entry/java_spotlight_episode_91_marina&#34;&#62;#90:
Marina Vatkina on JSR 345/EJB 3.2&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/javaspotlight/entry/java_spotlight_episode_84_anil&#34;&#62;#84:
Anil Gaur on JSR 342/Java EE 7&#60;/a&#62;&#60;br /&#62;
&#60;/li&#62;
&#60;/ul&#62;
The latest issue of &#60;a href=&#34;http://www.oracle.com/technetwork/java/javamagazine/index.html&#34;&#62;Java

Magazine&#60;/a&#62; is also loaded with tons of Java EE 7 content:&#60;br /&#62;
&#60;br /&#62;
&#60;a href=&#34;http://www.oraclejavamagazine-digital.com/javamagazine_open/20130506&#34;&#62;&#60;img src=&#34;https://blogs.oracle.com/arungupta/resource/javaee7-java-magazine.png&#34; alt=&#34;&#34; height=&#34;459&#34; border=&#34;0&#34; width=&#34;600&#34; /&#62;&#60;/a&#62;&#60;br /&#62;
&#60;br /&#62;
Media coverage has started showing as well ...&#60;br /&#62;
&#60;ul&#62;
&#60;li&#62;&#60;a href=&#34;http://www.oracle.com/us/corporate/press/1957557&#34;&#62;Official
Oracle PR&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://jaxenter.com/talking-java-ee-7-with-anil-gaur-vice-president-of-software-development-at-oracle-47360.html&#34;&#62;JaxEnter.com&#60;/a&#62;&#60;/li&#62;
&#60;li&#62;&#60;a href=&#34;http://www.infoq.com/news/2013/06/anil-gaur-ee7&#34;&#62;InfoQ&#60;/a&#62;&#60;br /&#62;
&#60;/li&#62;
&#60;/ul&#62;
And you can track &#60;a href=&#34;https://blogs.oracle.com/theaquarium/entry/java_ee_7_glassfish_4&#34;&#62;lot
more here&#60;/a&#62;.&#60;br /&#62;
&#60;br /&#62;
You can hear the latest and greatest on Java EE 7 by watching
replays from the &#60;a href=&#34;http://bit.ly/JavaEE7Launch&#34;&#62;launch
webinar&#60;/a&#62;:&#60;br /&#62;
&#60;br /&#62;
&#60;a href=&#34;http://bit.ly/JavaEE7Launch&#34;&#62;&#60;img src=&#34;https://blogs.oracle.com/arungupta/resource/javaee7-watch-now-bns403x403.jpg&#34; alt=&#34;&#34; height=&#34;403&#34; border=&#34;0&#34; width=&#34;403&#34; /&#62;&#60;/a&#62;&#60;br /&#62;
&#60;br /&#62;
This webinar consists of:&#60;br /&#62;
&#60;ul&#62;
&#60;li&#62;Strategy Keynote&#60;br /&#62;
&#60;/li&#62;
&#60;li&#62;Technical Keynote&#60;/li&#62;
&#60;li&#62;16 Technical Breakouts with JSR Specification Leads&#60;/li&#62;
&#60;li&#62;Customer, partner, and community testimonials&#60;/li&#62;
&#60;li&#62;And much more&#60;br /&#62;
&#60;/li&#62;
&#60;/ul&#62;
Do you feel enabled and empowered to start building Java EE 7
applications ? &#60;br /&#62;
&#60;br /&#62;
Just download &#60;a href=&#34;http://oracle.com/javaee&#34;&#62;Java EE 7 SDK&#60;/a&#62;
that contains &#60;a href=&#34;http://download.java.net/glassfish/4.0/release/glassfish-4.0.zip&#34;&#62;GlassFish
Server Open Source Edition 4.0&#60;/a&#62;, tutorial, samples,
documentation and much more.&#60;br /&#62;
&#60;br /&#62;
Enjoy!&#60;br /&#62;
&#60;br /&#62;</description>
	<pubDate>Wed, 12 Jun 2013 16:26:30 +0000</pubDate>
</item>
<item>
	<title>Geertjan's Blog: Adding a Palette to a MultiViewElement</title>
	<guid isPermaLink="false">https://blogs.oracle.com/geertjan/entry/adding_a_palette_to_a1</guid>
	<link>https://blogs.oracle.com/geertjan/entry/adding_a_palette_to_a1</link>
	<description>&#60;p&#62;The question of the day comes from Michele Vigilante from Italy who wants to combine a Palette with a MultiViewElement.&#60;/p&#62; 
  &#60;p&#62;The two key references to solving this are the following:&#60;/p&#62; 
  &#60;ul&#62; 
    &#60;li&#62;&#60;a href=&#34;http://netbeans-org.1045718.n5.nabble.com/Adding-a-palette-to-MultiView-td3023439.html&#34;&#62;http://netbeans-org.1045718.n5.nabble.com/Adding-a-palette-to-MultiView-td3023439.html&#60;/a&#62; &#60;/li&#62; 
    &#60;li&#62;&#60;a href=&#34;https://blogs.oracle.com/geertjan/entry/simple_component_palette&#34;&#62;https://blogs.oracle.com/geertjan/entry/simple_component_palette&#60;/a&#62;&#60;br /&#62;&#60;/li&#62; 
  &#60;/ul&#62; 
  &#60;p&#62;Here's step by step how to put the pieces together, starting from the application described here:&#60;/p&#62; 
  &#60;p&#62;&#60;a href=&#34;https://blogs.oracle.com/geertjan/entry/how_to_create_a_satellite&#34;&#62;https://blogs.oracle.com/geertjan/entry/how_to_create_a_satellite&#60;/a&#62;&#60;/p&#62; 
  &#60;ol&#62; 
    &#60;li&#62;&#60;b&#62;Create a Node Hierarchy.&#60;/b&#62; Typically you already have a hierarchy of nodes, but for the sake of argument, here's the one I'll be using, as simple as it gets:

      
      
      
      
      
      &#60;pre&#62;&#60;font size=&#34;1&#34;&#62;Node nodeHierarchy = new AbstractNode(Children.create(new ChildFactory&#38;lt;String&gt;() {
    @Override
    protected boolean createKeys(List toPopulate) {
        for (int i = 0; i &#38;lt; 10; i++) {
            toPopulate.add(&#34;Category &#34; + i);
        }
        return true;
    }
    @Override
    protected Node createNodeForKey(String key) {
        AbstractNode an = new AbstractNode(Children.create(new ChildFactory&#38;lt;String&gt;() {
            @Override
            protected boolean createKeys(List&#38;lt;String&gt; toPopulate) {
                for (int i = 0; i &#38;lt; 10; i++) {
                    toPopulate.add(&#34;Item &#34; + i);
                }
                return true;
            }
            @Override
            protected Node createNodeForKey(final String key) {
                AbstractNode an = new AbstractNode(Children.LEAF, Lookups.singleton(key));
                an.setDisplayName(key);
                return an;
            }
        }, true));
        an.setDisplayName(key);
        return an;
    }
}, true));&#60;/font&#62;&#60;/pre&#62;&#60;font size=&#34;1&#34;&#62; &#60;/font&#62; 
    &#60;/li&#62;&#60;font size=&#34;1&#34;&#62; &#60;/font&#62; 
    &#60;li&#62;&#60;b&#62;Create a Palette from the Node Hierarchy.&#60;/b&#62; For the below, your module will need to depend on &#34;Common Palette&#34;, which it won't be able to do unless it has been set as part of the application. Also, make sure to add the Palette to the Lookup of the MultiViewElement, so that the Palette will open/close with the MultiViewElement, together with the Lookup that has already been defined for it, by adding the following to the end of the MultiViewElement constructor:

      
      
      
      
      
      &#60;pre&#62;&#60;font size=&#34;1&#34;&#62;InstanceContent ic = new InstanceContent();
Lookup dynamicLookup = new AbstractLookup(ic);
lookup = new ProxyLookup(dynamicLookup, getLookup());
ic.add(PaletteFactory.createPalette(nodeHierarchy, new PaletteActions() {
    @Override
    public Action[] getImportActions() {
        return null;
    }
    @Override
    public Action[] getCustomPaletteActions() {
        return null;
    }
    @Override
    public Action[] getCustomCategoryActions(Lookup category) {
        return null;
    }
    @Override
    public Action[] getCustomItemActions(Lookup item) {
        return null;
    }
    @Override
    public Action getPreferredAction(Lookup item) {
        return null;
    }
}));&#60;/font&#62;&#60;/pre&#62;&#60;font size=&#34;1&#34;&#62; &#60;/font&#62; 
    &#60;/li&#62;&#60;font size=&#34;1&#34;&#62; &#60;/font&#62; 
    &#60;li&#62;&#60;b&#62;Accept the Drop. &#60;/b&#62;Now, when the Visual tab opens, the user sees a Palette with items in it. Let's do something useful with the Palette, again in the MultiViewElement, somewhere in the constructor where the Scene is retrieved from the Lookup:

      
      
      
      
      
      &#60;pre&#62;&#60;font size=&#34;1&#34;&#62;scene.getActions().addAction(ActionFactory.createAcceptAction(new AcceptProvider() {
    @Override
    public ConnectorState isAcceptable(Widget widget, Point point, Transferable transferable) {
        return ConnectorState.ACCEPT;
    }
    @Override
    public void accept(Widget widget, Point point, Transferable transferable) {
        Node transferredNode = NodeTransfer.node(transferable, NodeTransfer.DND_COPY_OR_MOVE);
        String label = transferredNode.getLookup().lookup(String.class);
        if (label != null) {
            LabelWidget lw = new LabelWidget(scene, label);
            lw.setPreferredLocation(point);
            lkp.lookup(LayerWidget.class).addChild(lw);
            try {
                String existingContent = obj.getPrimaryFile().asText();
                String newContent = existingContent + &#34;\n&#34; + label;
                OutputStream os = obj.getPrimaryFile().getOutputStream();
                OutputStreamWriter writer = new OutputStreamWriter(os);
                writer.write(newContent);
                writer.flush();
                writer.close();
            } catch (FileAlreadyLockedException ex) {
                Exceptions.printStackTrace(ex);
            } catch (IOException ex) {
                Exceptions.printStackTrace(ex);
            }
        }
    }
}));&#60;/font&#62;&#60;/pre&#62;&#60;font size=&#34;1&#34;&#62; &#60;/font&#62; 
      &#60;p&#62;Now, when an item is dropped, if the Node has a String in its Lookup, a LabelWidget is added to the LayerWidget and the String is also added to the underlying file.&#60;/p&#62; 
    &#60;/li&#62; 
  &#60;/ol&#62; 
  &#60;p&#62;That's all you need to do to get started with a simple scenario that can be extended however you like.&#60;/p&#62; 
  &#60;p&#62;All the source code discussed above is integrated into the sample:&#60;/p&#62; 
  &#60;p&#62;&#60;a href=&#34;https://java.net/projects/nb-api-samples/sources/api-samples/show/versions/7.3/misc/ABCFileTypeNavigator&#34;&#62;https://java.net/projects/nb-api-samples/sources/api-samples/show/versions/7.3/misc/ABCFileTypeNavigator&#60;/a&#62;&#60;/p&#62; 
  &#60;p&#62;Are you trying out the code discussed in this blog entry and something doesn't work for you? Go to the location above and look at the source code and/or check it out from its repo.&#60;/p&#62;</description>
	<pubDate>Wed, 12 Jun 2013 14:33:06 +0000</pubDate>
</item>
<item>
	<title>Geertjan's Blog: JavaFX WebView &#38; JavaFX HTMLEditor: A Tale of Two Cities</title>
	<guid isPermaLink="false">https://blogs.oracle.com/geertjan/entry/webview_htmleditor_a_tale_of</guid>
	<link>https://blogs.oracle.com/geertjan/entry/webview_htmleditor_a_tale_of</link>
	<description>&#60;p&#62;
Tough times in the world of &#60;a href=&#34;https://java.net/projects/epubopentoolbox&#34;&#62;Fosfor, the EPUB Open Toolbox&#60;/a&#62;. Turns out that while the JavaFX WebView has perfect rendering but no editing capabilities, the JavaFX HTMLEditor has perfect editing capabilities but crap rendering.&#60;/p&#62; 
  &#60;p&#62;Exhibit one is right here, with the JavaFX HTMLEditor on the left and the JavaFX WebView on the right, rendering the same XHTML file:&#60;br /&#62;&#60;/p&#62; 
  &#60;p&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/wprocessor-nb-2.png&#34; /&#62; &#60;/p&#62; 
  &#60;p&#62;As can be seen, the images, CSS, and entities defined in the XHTML file above are perfectly rendered in WebView, but not at all in the HTMLEditor. It seems to me that the HTMLEditor is meant for rendering text only, nothing else.&#60;br /&#62;&#60;/p&#62; 
  &#60;p&#62;I then hacked my own HTMLEditor on top of the JavaFX HTMLEditor, which searches through all the text prior to rendering and uses the file protocol to locally locate images and CSS:&#60;/p&#62; 
  &#60;p&#62;&#60;a href=&#34;https://java.net/projects/epubopentoolbox/sources/epub/content/jepub-browser-external/src/main/java/com/eirik/jepub/browser/external/HTMLEditorControl.java&#34;&#62;https://java.net/projects/epubopentoolbox/sources/epub/content/jepub-browser-external/src/main/java/com/eirik/jepub/browser/external/HTMLEditorControl.java&#60;/a&#62;&#60;/p&#62; 
  &#60;p&#62;The result is as follows, i.e., I've fixed the images and CSS problem, but not the entities, yet:&#60;br /&#62;&#60;/p&#62; 
  &#60;p&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/wprocessor-nb-1.png&#34; /&#62; &#60;/p&#62; 
  &#60;p&#62;In short, I'm going to try and create a set of service providers for a &#34;fixHTMLEditorRendering&#34; service which will pre-process images, CSS, and HTML entities prior to them being rendered in the JavaFX HTMLEditor. Then, when saving the file back to EPUB, I'm going to have to reverse the process.&#60;/p&#62; 
  &#60;p&#62;Not ideal, but I think it's workable.&#60;/p&#62; 
  &#60;p&#62;Issue: &#60;a href=&#34;https://javafx-jira.kenai.com/browse/RT-30487&#34;&#62;https://javafx-jira.kenai.com/browse/RT-30487&#60;/a&#62;&#60;br /&#62;&#60;/p&#62;</description>
	<pubDate>Tue, 11 Jun 2013 17:39:22 +0000</pubDate>
</item>
<item>
	<title>open source. open mind.: Das Chuck Norris Experiment – Java ohne Jailbreak auf iPad und Android</title>
	<guid isPermaLink="false">http://11.125</guid>
	<link>http://jayskills.com/jayday2013/2013/06/11/das-chuck-norris-experiment-java-ohne-jailbreak-auf-ipad-und-android/</link>
	<description>&#60;p&#62;&#60;a href=&#34;http://jayskills.com/jayday2013/files/2013/06/chuck-norris-as-colt-in-the-way-of-the-dragon.jpg&#34;&#62;&#60;img src=&#34;http://jayskills.com/jayday2013/files/2013/06/chuck-norris-as-colt-in-the-way-of-the-dragon-e1370957960889-300x232.jpg&#34; title=&#34;chuck-norris-as-colt-in-the-way-of-the-dragon&#34; height=&#34;232&#34; width=&#34;300&#34; alt=&#34;&#34; class=&#34;alignleft size-medium wp-image-128&#34; /&#62;&#60;/a&#62;Chuck Norris kann Java auf dem iPad starten – ohne jailbreak!” Mal sehen was nötig ist um das ohne Roundhouse-Kick selbst nachzuvollziehen. Hier wird bck2brwsr vorgestellt, ein neues Open Source Projekt, das es ermöglicht Java direkt im Browser laufen zu lassen – ohne Java Plugin. Anders als bei GWT und ähnlichen Projekten wird der Quellcode nicht nach JavaScript kompiliert, sondern als ByteCode in einer JavaScript basierten JVM ausgeführt. Als Demo bauen wir eine Spiele-App, die auf Android und iOS genauso läuft wie auf dem Desktop. Und all das ist keine Zukunftsmusik, sondern bereits verfügbar und kann sofort eingesetzt werden…&#60;/p&#62;</description>
	<pubDate>Tue, 11 Jun 2013 13:37:09 +0000</pubDate>
</item>
<item>
	<title>NetBeans DZone: NetBeans Weekly News (Issue #591 - June 10, 2013 )</title>
	<guid isPermaLink="false">http://netbeans.dzone.com/142727 at http://netbeans.dzone.com</guid>
	<link>http://feeds.dzone.com/~r/zones/netbeans/~3/rJ_6i-o1MI8/netbeans-weekly-news-issue-591</link>
	<description>Project News
Register for Free Webinar on Java EE 7

 Developer productivity and application portability play a huge role in the success or failure of your business. Already the world’s #1 development platform, Java is now better than ever with the release of Java EE 7. On Wednesday June 12, Join Oracle and participants from throughout the Java community to learn how Java EE 7 can help...&#60;img src=&#34;http://feeds.feedburner.com/~r/zones/netbeans/~4/rJ_6i-o1MI8&#34; height=&#34;1&#34; width=&#34;1&#34; /&#62;</description>
	<pubDate>Tue, 11 Jun 2013 00:14:33 +0000</pubDate>
</item>
<item>
	<title>Geertjan's Blog: Tips for Teachers in NetBeans IDE</title>
	<guid isPermaLink="false">https://blogs.oracle.com/geertjan/entry/tips_for_teachers_in_netbeans</guid>
	<link>https://blogs.oracle.com/geertjan/entry/tips_for_teachers_in_netbeans</link>
	<description>&#60;p&#62;So you're using NetBeans IDE to teach programming to your class. What kind of features would be specifically relevant to you, during teaching?&#60;/p&#62; 
  &#60;p&#62; &#60;/p&#62; 
  &#60;ul&#62; 
    &#60;li&#62;&#60;b&#62;Increase/decrease font size. &#60;/b&#62;Hold down the Alt key and scroll the mouse up/down and you'll see the font size magically increase/decrease. Same thing in the Output window, to really show your class the errors of their ways.&#60;br /&#62;&#60;br /&#62;&#60;/li&#62; 
    &#60;li&#62;&#60;b&#62;Quickly switch between open editor documents. &#60;/b&#62;Ctrl-Tab, just like all/most other applications, just like when you switch between applications on your computer.&#60;br /&#62;&#60;br /&#62;&#60;/li&#62; 
    &#60;li&#62;&#60;b&#62;Maximize/minimize NetBeans IDE. &#60;/b&#62;Alt-Shift-Enter, this toggles between maximized/minimized mode of the entire window frame of the IDE.&#60;br /&#62;&#60;br /&#62;&#60;/li&#62; 
    &#60;li&#62;&#60;b&#62;Distraction-free mode.&#60;/b&#62; Wouldn't it be cool if you could remove all the windows around the editor, showing nothing other than the editor document? That's coming up in NetBeans IDE 7.4, &#60;a href=&#34;https://netbeans.org/bugzilla/show_bug.cgi?id=211136&#34;&#62;distraction-free mode&#60;/a&#62;, Ctrl-Shift-Enter, mentioned in &#60;a href=&#34;http://wiki.netbeans.org/NewAndNoteworthyNB74#Platform_2&#34;&#62;NetBeans IDE 7.4 New &#38;amp; Noteworthy&#60;/a&#62;, already available in daily builds (also via &#34;View | Show Only Editor&#34;).&#60;/li&#62; 
  &#60;/ul&#62; 
  &#60;div&#62;Now, you'll be able to increase the font size, remove everything from the screen except the editor document, maximize the editor document to cover the entire screen, and switch between multiple open documents. Excellent. Now all that's left for you to do is... teach.&#60;/div&#62; 
  &#60;p&#62; &#60;/p&#62;</description>
	<pubDate>Mon, 10 Jun 2013 17:18:42 +0000</pubDate>
</item>
<item>
	<title>NetBeans DZone: Hack OpenJDK with NetBeans IDE</title>
	<guid isPermaLink="false">http://netbeans.dzone.com/142655 at http://netbeans.dzone.com</guid>
	<link>http://feeds.dzone.com/~r/zones/netbeans/~3/RnWbp8iWi88/hack-openjdk-netbeans-ide</link>
	<description>Since recently, the OpenJDK repository contains a NetBeans project for all C/C++ parts of the OpenJDK, including Hotspot. 
That means that now NetBeans IDE can easily be used to review, hack, and develop OpenJDK. Simple howto is as follows:Legacy
      Sponsored: 
    
            
                    unsponsored&#60;img src=&#34;http://feeds.feedburner.com/~r/zones/netbeans/~4/RnWbp8iWi88&#34; height=&#34;1&#34; width=&#34;1&#34; /&#62;</description>
	<pubDate>Mon, 10 Jun 2013 07:03:20 +0000</pubDate>
</item>
<item>
	<title>NetBeans DZone: The Many Ways of Monitoring and Managing GlassFish</title>
	<guid isPermaLink="false">http://netbeans.dzone.com/142587 at http://netbeans.dzone.com</guid>
	<link>http://feeds.dzone.com/~r/zones/netbeans/~3/U5uaE18_yq8/many-ways-monitoring-and</link>
	<description>Robust facilities for management and monitoring is one of the most significant ways GlassFish shines as compared to most open source Java EE application servers. Indeed as a former independent consultant, I have personally seen multiple cases where customers chose GlassFish over other options for this very reason. Folks in operations are usually particularly pleasantly surprised to...&#60;img src=&#34;http://feeds.feedburner.com/~r/zones/netbeans/~4/U5uaE18_yq8&#34; height=&#34;1&#34; width=&#34;1&#34; /&#62;</description>
	<pubDate>Mon, 10 Jun 2013 05:53:23 +0000</pubDate>
</item>
<item>
	<title>NetBeans DZone: Perl on NetBeans IDE Beta 2</title>
	<guid isPermaLink="false">http://netbeans.dzone.com/142597 at http://netbeans.dzone.com</guid>
	<link>http://feeds.dzone.com/~r/zones/netbeans/~3/vyfmU_R73wQ/perl-netbeans-ide-beta-2</link>
	<description>&#34;Perl on NetBeans &#34; is intended for Perl programmers who want the intuitiveness of a great editor with the ease of being able to execute the program without having to do it through a command Interpreter. Also, it has the capability to inspect the austerity of your Perl programs, and format the same in accordance to the best practices and conventions.
      Preview Text: 
    
            
  ...&#60;img src=&#34;http://feeds.feedburner.com/~r/zones/netbeans/~4/vyfmU_R73wQ&#34; height=&#34;1&#34; width=&#34;1&#34; /&#62;</description>
	<pubDate>Mon, 10 Jun 2013 04:49:53 +0000</pubDate>
</item>
<item>
	<title>Adam Bien: JDD JavaEE Session: Future Is Now, But Is Not Evenly Distributed Yet</title>
	<guid isPermaLink="false">http://www.adam-bien.com/roller/abien/entry/jdd_javaee_session_future_is</guid>
	<link>http://www.adam-bien.com/roller/abien/entry/jdd_javaee_session_future_is</link>
	<description>A session about JavaEE, &#60;a href=&#34;http://12.jdd.org.pl/program/speakers/adam-bien&#34; target=&#34;_blank&#34;&#62;JDD Conference 2012&#60;/a&#62;
&#60;p&#62;

&#60;/p&#62;
&#60;p&#62;
See also other screencasts at: &#60;a href=&#34;http://tv.adam-bien.com&#34; target=&#34;_blank&#34;&#62;http://tv.adam-bien.com&#60;/a&#62; or subscribe to&#60;a href=&#34;http://www.youtube.com/user/bienadam&#34; target=&#34;_blank&#34;&#62; http://www.youtube.com/user/bienadam&#60;/a&#62;.
&#60;/p&#62;
&#60;p&#62;
&#60;small&#62;
Let's do it together at &#60;a href=&#34;http://airhacks.com&#34; target=&#34;_blank&#34;&#62;Java EE Workshops at MUC Airport&#60;/a&#62;:-).
&#60;/small&#62;
&#60;/p&#62;
	&#60;br /&#62;
    &#60;a href=&#34;http://workshops.adam-bien.com&#34;&#62;Real World Java EE Workshops [Airport Munich]&gt;&#60;/a&#62;
	&#60;p&#62;&#60;/p&#62;</description>
	<pubDate>Sun, 09 Jun 2013 08:54:02 +0000</pubDate>
</item>
<item>
	<title>Geertjan's Blog: Pharmacy Terminal Application on the NetBeans Platform</title>
	<guid isPermaLink="false">https://blogs.oracle.com/geertjan/entry/pharmacy_terminal_application_on_the</guid>
	<link>https://blogs.oracle.com/geertjan/entry/pharmacy_terminal_application_on_the</link>
	<description>&#60;p&#62;Speaking of terminal emulators, &#60;a href=&#34;https://blogs.oracle.com/geertjan/entry/interacting_with_the_native_terminal&#34;&#62;which I did yesterday&#60;/a&#62;, here's another terminal application on top of the NetBeans Platform, one that's been in production for several years, by and for &#60;a href=&#34;http://www.thriftywhite.com/&#34;&#62;Thrifty White Pharmacy&#60;/a&#62;. It is named JTerm. &#60;/p&#62; 
  &#60;p&#62;After Windows 7 came out, the company needed a Telnet/Terminal emulator that would replace the existing emulators that only worked up to Windows XP. Their main pharmacy application is written in COBOL and requires a Console/Terminal emulator to access it. &#60;/p&#62; 
  &#60;p&#62;Instead of the NetBeans Terminal library, which was used in the blog entry yesterday, the open source &#60;a href=&#34;http://javatelnet.org/space/start&#34;&#62;JTA - Telnet/SSH&#60;/a&#62; library is used in a wrapper library in JTerm. Here's a screenshot of JTerm:&#60;/p&#62; 
  &#60;p&#62;&#60;a href=&#34;https://blogs.oracle.com/geertjan/resource/JTermScreenShot.gif&#34;&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/JTermScreenShot1.png&#34; /&#62;&#60;/a&#62;&#60;/p&#62;&#60;a href=&#34;https://blogs.oracle.com/geertjan/resource/JTermScreenShot.gif&#34;&#62;&#60;/a&#62; 
  &#60;p&#62;JTerm allows the user to open a new session via an XML file to connect to any of the company's pharmacy servers across their WAN.
It has print functionality, with a wizard to allow users to create new XML session files.&#60;/p&#62;</description>
	<pubDate>Sun, 09 Jun 2013 07:00:18 +0000</pubDate>
</item>
<item>
	<title>Geertjan's Blog: Interacting with the Native Terminal</title>
	<guid isPermaLink="false">https://blogs.oracle.com/geertjan/entry/interacting_with_the_native_terminal</guid>
	<link>https://blogs.oracle.com/geertjan/entry/interacting_with_the_native_terminal</link>
	<description>&#60;p&#62;I've been looking into how to interact with the terminal in a NetBeans Platform application. The simplest approach &#60;a href=&#34;https://blogs.oracle.com/geertjan/entry/including_a_native_terminal_window&#34;&#62;is described here, from sometime ago&#60;/a&#62;, which gives you a native terminal embedded in your NetBeans Platform application, but does not let you interact with it, i.e., listen to key strokes. That may be fine for your purposes, in which case forget the rest of this blog entry.&#60;/p&#62; 
  &#60;p&#62;However, to get more control over the embedded native terminal, quite a bit more work needs to be done. The related NetBeans APIs are not public or stable yet, but if you're OK with implementation dependencies (i.e., that means you know upfront that incompatible changes could be included in these APIs in the future, since it is still under development), you can go some way to achieving this.&#60;/p&#62; 
  &#60;p&#62;&#60;a href=&#34;https://blogs.oracle.com/geertjan/resource/native-terminal-nb-app.jpg&#34;&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/native-terminal-nb-app.png&#34; /&#62;&#60;/a&#62; &#60;/p&#62; 
  &#60;p&#62;My aim was to create a NetBeans Platform application that shows a terminal window and nothing else. Secondly, my aim was to cause a new menu item to be created whenever the Enter key is pressed, with the text of the menu item being the characters typed by the user in the terminal. In other words, a terminal history feature.&#60;/p&#62; 
  &#60;p&#62;To achieve the above (and note that all the colors you see above come directly from the NetBeans Platform support described in the following, i.e., I didn't do anything to create the colors, which describe the various states of the folders and files), I needed to use (as stated above) implementation dependencies on three currently internal modules (because they are under development): Native Execution (org.netbeans.modules.dlight.nativeexecution), Terminal (org netbeans.modules.terminal), and Terminal Emulator (org netbeans.lib.terminalemulator). Note that aside from using these unstable APIs, I also do not know whether even in the current state of these APIs I am using them in the intended way or not.&#60;/p&#62; 
  &#60;p&#62;However, all that having been said, here's the TopComponent that you see above, which is in the &#34;editor&#34; mode, with the tab removed (as described elsewhere and referenced often, i.e., the &#34;Farewell to Weird Tabs&#34; blog entry):&#60;/p&#62; 
  &#60;pre&#62;&#60;font size=&#34;1&#34;&#62;import java.awt.BorderLayout;
import org.netbeans.modules.terminal.api.TerminalContainer;
import org.openide.windows.TopComponent;
import org.openide.windows.IOContainer;

public class TerminalTopComponent extends TopComponent {

    private final TerminalContainer tc;

    public TerminalTopComponent() {
        setLayout(new BorderLayout());
        tc = TerminalContainer.create(TerminalTopComponent.this, &#34;Local&#34;);
        add(tc, BorderLayout.CENTER);
    }

    public IOContainer getIOContainer() {
        return tc.ioContainer();
    }

    @Override
    protected void componentActivated() {
        super.componentActivated();
        tc.componentActivated();
    }

    @Override
    protected void componentDeactivated() {
        super.componentDeactivated();
        tc.componentDeactivated();
    }

}&#60;/font&#62;&#60;/pre&#62; 
  &#60;p&#62;I then have an Installer class that creates the TopComponent above, gets the IOContainer, uses the Native Execution module to get an Environment (otherwise, no typing is possible in the terminal), and opens the terminal:&#60;/p&#62; 
  &#60;pre&#62;&#60;font size=&#34;1&#34;&#62;TerminalTopComponent emulator = new TerminalTopComponent();

WindowManager.getDefault().findMode(&#34;editor&#34;).dockInto(emulator);

emulator.open();
emulator.requestActive();

IOContainer ioContainer = emulator.getIOContainer();

ExecutionEnvironment env = ExecutionEnvironmentFactory.getLocal();
if (env != null) {
    String homeDir = System.getProperty(&#34;user.home&#34;).toString();
    openTerminalImpl(ioContainer, &#34;tabtitle&#34;, env, homeDir, true);
}&#60;/font&#62;&#60;/pre&#62; 
  &#60;p&#62;The &#34;openTerminalImpl&#34; call above is a very lengthy piece of code, based on an even lengthier piece of code, which I found in the dlight modules somewhere. Included in there is an implementation of org.netbeans.lib.terminalemulator.TermInputListener, which lets me detect characters being typed in the terminal. &#60;/p&#62; 
  &#60;p&#62;Whenever the Enter key is pressed, a FileObject is written into a folder in the filesystem, to which the Terminal History menu is listening. When a new FileObject is found, a new menu item is created in the menu.&#60;/p&#62; 
  &#60;p&#62;It's all a bit rocky and probably mostly incorrect, but here it is, and note that it's operating system dependent, as well, and only used (not tested) so far on Ubuntu with NetBeans Platform 7.3:&#60;/p&#62; 
  &#60;p&#62;&#60;a href=&#34;https://java.net/projects/nb-api-samples/sources/api-samples/show/versions/7.3/misc/TerminalEmulator&#34;&#62;https://java.net/projects/nb-api-samples/sources/api-samples/show/versions/7.3/misc/TerminalEmulator&#60;/a&#62;&#60;/p&#62;</description>
	<pubDate>Sat, 08 Jun 2013 11:09:19 +0000</pubDate>
</item>
<item>
	<title>Adam Bien: JavaEE 7 Heals Crippled Jars And java.lang.ClassFormatError</title>
	<guid isPermaLink="false">http://www.adam-bien.com/roller/abien/entry/javaee_7_heals_crippled_jars</guid>
	<link>http://www.adam-bien.com/roller/abien/entry/javaee_7_heals_crippled_jars</link>
	<description>&#60;p&#62;
JavaEE 6 APIs in Maven central were only usable for compiling. Any attempt to load the classes from
&#60;/p&#62;
&#60;code&#62;
&#60;pre&#62;&#38;lt;dependency&gt;
    &#38;lt;groupId&gt;javax&#38;lt;/groupId&gt;
    &#38;lt;artifactId&gt;javaee-web-api&#38;lt;/artifactId&gt;
    &#38;lt;version&gt;6.0&#38;lt;/version&gt;
    &#38;lt;scope&gt;provided&#38;lt;/scope&gt;
&#38;lt;/dependency&gt;
&#60;/pre&#62;
&#60;/code&#62;

would result in:
&#60;pre&#62;&#60;code&#62;
java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/persistence/LockModeType
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
&#60;/code&#62;
&#60;/pre&#62;
&#60;p&#62;
The official Java EE 7 APIs do not have that problem any more:
&#60;/p&#62;&#60;pre&#62;&#60;code&#62;
   &#38;lt;dependency&gt;
            &#38;lt;groupId&gt;javax&#38;lt;/groupId&gt;
            &#38;lt;artifactId&gt;javaee-api&#38;lt;/artifactId&gt;
            &#38;lt;version&gt;7.0&#38;lt;/version&gt;
            &#38;lt;scope&gt;provided&#38;lt;/scope&gt;
        &#38;lt;/dependency&gt;
&#60;/code&#62;
&#60;/pre&#62;
&#60;p&#62;&#60;/p&#62;
If you are starting with JavaEE 7, just use the &#60;a href=&#34;http://www.adam-bien.com/roller/abien/entry/essential_maven_pom_for_javaee&#34; target=&#34;_blank&#34;&#62;Essential Java EE 7 POM&#60;/a&#62;
&#60;p&#62;
When I spotted the &#34;crippled&#34; dependency in JavaEE 6 projects, I always asked &#34;Do you write Unit Tests?&#34;. &#34;Yes&#34; answers were not honest. Now Java EE 7 killed my litmus tests :-)
&#60;/p&#62;
&#60;p&#62;
The whole example with workaround was checked into &#60;a href=&#34;http://kenai.com/projects/javaee-patterns&#34; target=&#34;_blank&#34;&#62;http://kenai.com/projects/javaee-patterns&#60;/a&#62; The name of the project is: &#60;code&#62;MavenUnitTestWithCrippledAPI&#60;/code&#62;. Just increase the dependency version to &#60;code&#62;7.0&#60;/code&#62; and the unit tests should pass without any workarounds needed.
&#60;/p&#62;
&#60;p&#62;
&#60;small&#62;
See you at &#60;a href=&#34;http://airhacks.com&#34; target=&#34;_blank&#34;&#62;Java EE Workshops at MUC Airport&#60;/a&#62;!
&#60;/small&#62;
&#60;/p&#62;
	&#60;br /&#62;
    &#60;a href=&#34;http://workshops.adam-bien.com&#34;&#62;Real World Java EE Workshops [Airport Munich]&gt;&#60;/a&#62;
	&#60;p&#62;&#60;/p&#62;</description>
	<pubDate>Fri, 07 Jun 2013 07:15:57 +0000</pubDate>
</item>
<item>
	<title>Geertjan's Blog: Czech Learner Corpus Software on the NetBeans Platform</title>
	<guid isPermaLink="false">https://blogs.oracle.com/geertjan/entry/czech_learner_corpus_software_on</guid>
	<link>https://blogs.oracle.com/geertjan/entry/czech_learner_corpus_software_on</link>
	<description>A learner corpus, also called interlanguage or L2 corpus, is a computerised textual database of language as produced by second language (L2) learners. Such a database is a powerful resource in research of second language acquisition. It can be used to optimise the L2 learning process, to assist authors of textbooks and dictionaries, and to tailor them to learners with a particular native language.


  &#60;p&#62;Czesl, a learner corpus tool for Czech, has been written in Java on top of the NetBeans Platform. The screenshot below shows the annotation of a sample sentence as displayed by the tool.&#60;/p&#62; 
  &#60;p&#62;&#60;a href=&#34;https://blogs.oracle.com/geertjan/resource/learner-corpus-nb.jpg&#34;&#62; &#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/learner-corpus-nb.png&#34; style=&#34;border: 1px solid black;&#34; /&#62;&#60;/a&#62; &#60;/p&#62;
  &#60;p&#62;More details (PDF): &#60;a href=&#34;https://www.aclweb.org/anthology/W/W10/W10-1802.pdf&#34;&#62;https://www.aclweb.org/anthology/W/W10/W10-1802.pdf&#60;/a&#62; &#60;/p&#62;</description>
	<pubDate>Fri, 07 Jun 2013 07:00:00 +0000</pubDate>
</item>
<item>
	<title>NetBeans DZone: NetBeans Weekly News (Issue #590 - June 3, 2013 )</title>
	<guid isPermaLink="false">http://netbeans.dzone.com/142439 at http://netbeans.dzone.com</guid>
	<link>http://feeds.dzone.com/~r/zones/netbeans/~3/pn-h86CXPZ4/netbeans-weekly-news-issue-590</link>
	<description>Project News
Contribute to the Java SE Platform as It's Being Developed!

 Download the latest preview updates of JDK 8, the next generation of the Java Development Kit. Kick the tires, give it a test drive and share your feedback.

PHP Static Code Analysis in NetBeans IDE

 Coming up in the next NetBeans IDE release, the ability to check the quality of your PHP code.Legacy
     ...&#60;img src=&#34;http://feeds.feedburner.com/~r/zones/netbeans/~4/pn-h86CXPZ4&#34; height=&#34;1&#34; width=&#34;1&#34; /&#62;</description>
	<pubDate>Fri, 07 Jun 2013 00:08:57 +0000</pubDate>
</item>
<item>
	<title>NetBeans Ruminations » NetBeans: The Ultimate NetBeans Platform Resource</title>
	<guid isPermaLink="false">http://www.pellissier.co.za/hermien/?p=743</guid>
	<link>http://www.pellissier.co.za/hermien/?p=743</link>
	<description>&#60;p&#62;Much has been written about the NetBeans Platform. But the ultimate resource still remains the source code of the Platform itself! I have used plenty of open source libraries over the years. And I have ventured into the source code numerous times. Quite often the experience is one that leaves one dazed and confused. But I have found that the NetBeans source code is well structured and easy to follow. So even on your very first adventure, you can gain much wisdom! &#60;img src=&#34;http://www.pellissier.co.za/hermien/wp-includes/images/smilies/icon_smile.gif&#34; alt=&#34;:)&#34; class=&#34;wp-smiley&#34; /&#62; &#60;/p&#62;
&#60;p&#62;Reading source code is like reading a Physics text book. You can try to keep all of that information in your head, or you can experience it in practice. So in most cases, the easy way to find an answer is to debug into the source instead of just perusing it.&#60;/p&#62;
&#60;p&#62;How to set up the source code to be able to debug into it, depends on what type of project you are working with. For Ant-based module projects, download the source code of the same version as the platform that you are building on, and configure the platform to use it in the NetBeans Platform Manager (Tools &gt; NetBeans Platforms). This gives you access to all of the source code in all of the modules.&#60;/p&#62;
&#60;p&#62;For Maven-based projects, you have to attach the source code for each of the dependencies. In project view, right-click on one of the NetBeans module dependencies and choose Download Sources.&#60;/p&#62;
&#60;p&#62;Now put a breakpoint somewhere in your own module to start from. So for example, if you wanted to explorer the behaviour of the TopComponent class, put a breakpoint into the constructor of a TopComponent subclass (created using the Window wizard). And step into for example the setName() method.&#60;/p&#62;
&#60;p&#62;Using this methodology, you can explore how the platform loads and uses things like nodes and actions and windows. That will provide you with much deeper insight into how these things work!&#60;/p&#62;
&#60;p&#62;Robert Bracko (robert [dot] bracko [at] vip [dot] hr) explored the behaviour of an old third party IDE module from the 6.9.1 days. He sent me the following points, describing his fascinating first adventure!&#60;/p&#62;
&#60;ol&#62;
&#60;li&#62;Downloaded NB 6.9.1 (Build Type: Release) from &#60;a href=&#34;https://netbeans.org/downloads/6.9.1/zip.html&#34; target=&#34;_blank&#34;&#62;https://netbeans.org/downloads/6.9.1/zip.html&#60;/a&#62;:
&#60;ol&#62;
&#60;li&#62;&#60;tt&#62;&#60;tt&#62;netbeans-6.9.1-201007282301-&#60;/tt&#62;&#60;/tt&#62;&#60;tt&#62;ml-javase.zip&#60;/tt&#62; (description: NetBeans 6.9.1 Java SE OS Independent Zip/English)&#60;br /&#62;
Extracted (not installed!) into directory &#60;tt&#62;&#60;tt&#62;netbeans-6.9.1-&#60;/tt&#62;&#60;/tt&#62;&#60;tt&#62;201007282301-ml-javase&#60;/tt&#62;&#60;/li&#62;
&#60;li&#62;&#60;tt&#62;&#60;tt&#62;netbeans-6.9.1-201007282301-&#60;/tt&#62;&#60;/tt&#62;&#60;tt&#62;src.zip&#60;/tt&#62;&#60;br /&#62;
Extracted into directory &#60;tt&#62;&#60;tt&#62;netbeans-6.9.1-&#60;/tt&#62;&#60;/tt&#62;&#60;tt&#62;201007282301-src&#60;/tt&#62;&#60;/li&#62;
&#60;/ol&#62;
&#60;/li&#62;
&#60;li&#62;Inside Development IDE (NB 7.3), added platform nb691 as new NB platform, based on directory &#60;tt&#62;&#60;tt&#62;netbeans-6.9.1-&#60;/tt&#62;&#60;/tt&#62;&#60;tt&#62;&#60;tt&#62;201007282301-ml-javase\&#60;/tt&#62;&#60;/tt&#62;&#60;tt&#62;netbeans&#60;/tt&#62;.&#60;br /&#62;
Sources linked for that platform, based on directory &#60;tt&#62;&#60;tt&#62;netbeans-6.9.1-&#60;/tt&#62;&#60;/tt&#62;&#60;tt&#62;201007282301-src&#60;/tt&#62;&#60;br /&#62;
So far so good :-)&#60;/li&#62;
&#60;li&#62;Project opened inside Development IDE: KoalaLayoutSupport. Project properties changed: NetBeans platform set to nb691&#60;br /&#62;
Attempt to build the project fails:&#60;br /&#62;
The following error occurred while executing this line:&#60;br /&#62;
X:\netbeans\netbeans-6.9.1-201007282301-ml-javase\netbeans\harness\testcoverage.xml:22: C:\Program Files\NetBeans 7.3\harness\testcoverage\cobertura does not exist.What is strange here is that error message refers to &#60;tt&#62;C:\Program Files\NetBeans 7.3&#60;/tt&#62; directory. Why does it look into NB 7.3 installation directory?&#60;br /&#62;
Next step was to investigate exactly what’s going on during build process. So I’ve selected project’s node Important Files &gt; Build Script and from the pop-up menu chose Debug Targer &gt; netbeans. I found out that file &#60;tt&#62;nbproject/build-impl.xml&#60;/tt&#62; refers to file &#60;tt&#62;&#60;tt&#62;nbproject/private/&#60;/tt&#62;&#60;/tt&#62;&#60;tt&#62;platform-private.properties&#60;/tt&#62; which further defines property &#60;tt&#62;user.properties.file&#60;/tt&#62; with value &#60;tt&#62;&#60;tt&#62;C:\\Documents and Settings\\Administrator\\&#60;/tt&#62;&#60;/tt&#62;&#60;tt&#62;&#60;tt&#62;Application Data\\NetBeans\\7.3\\build.&#60;/tt&#62;&#60;/tt&#62;&#60;tt&#62;properties&#60;/tt&#62;. Nothing wrong with that, right? Because at the same time debugger’s variables-window shows that property &#60;tt&#62;nbplatform.active&#60;/tt&#62; contains value &#60;tt&#62;nb691&#60;/tt&#62;, so the whole process of building should be (at least I think so) controlled by NB 6.9.1. platform.&#60;br /&#62;
But then one suspicious thing: &#60;tt&#62;build-impl.xml&#60;/tt&#62; tries to define the property &#60;tt&#62;harness.dir&#60;/tt&#62; with value &#60;tt&#62;&#60;tt&#62;nbplatform.${nbplatform.&#60;/tt&#62;&#60;/tt&#62;&#60;tt&#62;active}.harness.dir&#60;/tt&#62;. After having executed that line, debugger’s variables-window shows the value &#60;tt&#62;C:\Program Files\NetBeans 7.3/harness&#60;/tt&#62; for that variable! And that’s obviously wrong.&#60;br /&#62;
So the next step was to change harness dir for platform nb691. I have done that through NB Platform Manager: inside tab Harness, choosing “Harness supplied with Platform” instead of “Harness supplied with IDE”. And then the build passed OK! :-)&#60;/li&#62;
&#60;li&#62;Next thing, module debugging. Breakpoint set inside of module’s class works OK, also a breakpoint set inside of a class of NB 6.9.1 source. But… For the latter one, debugger’s variable window shows the error message “variable information not available, source compiled without -g option”. I know what it means but how to resolve it?….. For me it’s rather important to see how NB Form Editor source code interact with my module…&#60;/li&#62;
&#60;/ol&#62;
&#60;p&#62;Thanks for sharing, Robert! Some questions still remain unanswered in the steps above. Stay tuned for more about his next adventure!&#60;/p&#62;</description>
	<pubDate>Thu, 06 Jun 2013 22:57:33 +0000</pubDate>
</item>
<item>
	<title>Geertjan's Blog: NetBeans Platform in Croatia and Beyond!</title>
	<guid isPermaLink="false">https://blogs.oracle.com/geertjan/entry/netbeans_platform_in_croatia_and</guid>
	<link>https://blogs.oracle.com/geertjan/entry/netbeans_platform_in_croatia_and</link>
	<description>&#60;p&#62;I had a great time at &#60;a href=&#34;http://javacro.org/&#34;&#62;JavaCro&#60;/a&#62; over the last few days, held near Zagreb, Croatia. I was there last year too, when the conference was held for the first time. I renewed some contacts I made then, ate really a lot of meat (seems to be the main item of food in that part of the world), and met a lot of people for the first time.&#60;/p&#62; 
  &#60;p&#62;I did two presentations, one on &#60;a href=&#34;http://jaxenter.com/introducing-netbeans-ide-7-3-power-tools-for-html5-javascript-46945.html&#34;&#62;HTML5 tools in NetBeans IDE and HTML5 integration with Java EE&#60;/a&#62;. The other was an introduction and panel discussion about some of the cool applications being created on the NetBeans Platform in and around Croatia.&#60;/p&#62; 
  &#60;p&#62;Here's the whole panel, from Amphinicy, Gaea+, Croatian Telecom, and Belgrade University:

&#60;/p&#62; 
  &#60;p&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/javacro-2013-1.jpg&#34; style=&#34;border: 1px solid black;&#34; /&#62; &#60;/p&#62; 
  &#60;p&#62;Sadi from &#60;a href=&#34;http://amphinicy.com/&#34;&#62;Amphinicy&#60;/a&#62; talked about network satellite software created by him and his team, on the NetBeans Platform. Here's one of several applications that they have on the NetBeans Platform:&#60;/p&#62; 
  &#60;p&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/javacro-2013-2.png&#34; style=&#34;border: 1px solid black;&#34; /&#62; &#60;/p&#62; 
  &#60;p&#62;Marjan from &#60;a href=&#34;http://www.gaeaplus.eu/en/&#34;&#62;Gaea+&#60;/a&#62; in Slovenia talked about geolocation software created by him and his team, on the NetBeans Platform:&#60;/p&#62; 
  &#60;p&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/javacro-2013-3.png&#34; style=&#34;border: 1px solid black;&#34; /&#62; &#60;/p&#62; 
  &#60;p&#62;Boris from &#60;a href=&#34;http://en.wikipedia.org/wiki/T-Hrvatski_Telekom&#34;&#62;Croatian Telecom&#60;/a&#62; talked about an OpenMQ administration software created by him and his team, on the NetBeans Platform. He's used the real-time charts from VisualVM and is considering providing the application in the form of a plugin from VisualVM:&#60;/p&#62; 
  &#60;p&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/javacro-2013-4.png&#34; style=&#34;border: 1px solid black;&#34; /&#62; &#60;/p&#62; 
  &#60;p&#62;Zoran talked about the neural network software created by him and the &#60;a href=&#34;http://www.netbeans-serbia.org/&#34;&#62;NetBeans User Group Serbia&#60;/a&#62; at the University of Belgrade, on the NetBeans Platform:&#60;/p&#62; 
  &#60;p&#62;&#60;img src=&#34;https://blogs.oracle.com/geertjan/resource/javacro-2013-5.png&#34; style=&#34;border: 1px solid black;&#34; /&#62; &#60;/p&#62; 
  &#60;p&#62;There's clearly lots of cool and surprising stuff going on with the NetBeans Platform around the world. Several people at the conference indicated they'd like to create applications on the NetBeans Platform too, because of its modularity, loose coupling, and out-of-the-box components, so I'm looking forward to doing another session like the above at the next JavaCro, with different applications!&#60;/p&#62;</description>
	<pubDate>Thu, 06 Jun 2013 09:06:06 +0000</pubDate>
</item>

</channel>
</rss>
