Showing posts with label Plugins. Show all posts
Showing posts with label Plugins. Show all posts

Tuesday, October 20, 2009

Serial Version UID - Netbeans 6.8 M2

Providing a code template is a very simple affair in Netbeans. You can manually create the entry in the options dialog or write a plugin. The plugin affair is quite simple.

Steps:

  1. Create a new NB Module
  2. Expand the Tree as follows in the projects view
    1. -->Important files-->XML Layer-->-->Editors-->text-->x-java-->CodeTemplates-->Defaults
    2. Right click on the file named org-netbeans-modules-editor-java-codetemplates.xml.
    3. Click Edit
    4. append the following line near the end of the file (before the </codetemplates> tag)  
<codetemplate abbreviation="suid" descriptionId="Generate Serial version uid"><code><![CDATA[private static final long serialVersionUID = 1L; ]]></code></codetemplate>
    • Run the project, 
    • a new instance of netbeans will be started. 
    • Bring up the options dialog. 
    • Click on editor-->Code templates tab
    • Select Java as the language
    • Scroll down the list looking for suid
    Viola, code template ready.


    Another option is to use the code generator




    1. in the module create above right click on the module package and click new
    2. Optionally click other
    3. Select code generator in the Module development
    4. Provide a name
    5. in the mime type enter text/x-java
    6. Open the class that is generated and search for the getDisplayName method and replace the method content as return NbBundle.getMessage(SerialVersionUIDGenerator.class, "SerialVersionUIDGenerator.label");
    7. Now for the meat of the implementation. Search for the invoke method and add the following contents


            Caret caret = textComp.getCaret();
            int start = Math.min(caret.getDot(), caret.getMark());
            StringBuilder builder = new StringBuilder("private static final long serialVersionUID = 1L;");
            builder.append(System.getProperty("line.separator","\n"));
            Document doc = textComp.getDocument();
            try {
                doc.insertString(start, builder.toString(), null);
            } catch (BadLocationException ex) {
                Exceptions.printStackTrace(ex);
            }

    The plugin is available for download from Kenai or netbeans plugin portal

    Friday, August 29, 2008

    Netbeans6.1 Plugin - Export as archive version 1.02.1

    Read all about the Export as archive version 1.01.1.

    In this version I have provided a dialog to choose the archive name and the folder in which the archive has to be created. The rest is the same.

    I have a question from users
    1. Is the dialog neccessary
    2. If not all the time, would a check box "Don't show dialog again" suffice

    Do provide your comments.

    Netbeans6.1 Plugin - Use System Desktop

    This plugin taps into the potential of java.awt.Desktop and allows users to open/edit, view in browser and send by mail the selected node. the caveats are as follows.

    1. Behaviour is not guaranteed to be as expected. For example browse and open can do the same thing - open in the default editor. My testing has shown that only html and xml files open properly in browser.
    2. Mail - Selected file is not intriduced as an attachment since the mailto protocol does not support attachments.
    3. There are no options to set. What ever is set on the operating system will be used.
    4. When file association are not set; For example for manifest.mf file there might not be a file association. In these case you get an IOException which is shown to the user.
    5. Works with Netbeans 6.1 and JDK6 only
    6. Tested Platforms - Netbeans 6.1 and JDK6 Update 10 on Windows XP
    7. BIG NOTE: If an application is not associated with the given file. it does not bring up the "Open With" dialog

    Screen Shots




















    Note: This plugin is not supported for NB with Java 5
    if installed with Java 5, then you see an empty menu under Tools-->Desktop

    The plugin is now available from within the Plugin manager.

    Netbeans6.1 Plugin - Export as archive

    Netbeans has been a fascination for me. Ere it was Forte For Java which was then rechristened as sun java studio. Those were the days. Then Netbeans 5.0 happened. It was time to bid adieu to Java studio. In my current place of work, I am the source of frustration and amusement to many people since I am the only one to use Netbeans when the rest of the organisation is eclipse based. So you can see that friction is high because I am one against many in a debate on which is better - Netbeans or Eclipse. (see my previous post on why I find Netbeans as a better option). In one such debate came the notion of export as. Eclipse has many options for their Export As feature. But Netbeans does not. And so this plugin.

    You can download the plugin from the netbeans plugin portal Export as archive. It is not available in the Plugin-manager now pending verification.

    Supported Platform - Netbeans 6.1
    You can click the Download button on the banner to the left to get Netbeans.

    Plugin details -
    The source code is available at http://nb61plugineas.svn.sourceforge.net/viewvc/nb61plugineas/ExportAsArchive


    Now for the interesting parts.
    The action extends from CookieAction and Over-rides two methods of interest
    • performAction(Node[] activatedNodes)
    • enable(Node[] activatedNodes).
    first the enable method
    This ensures if for a selected node the export option should be enabled or not. I would have preferred along with that a visible option. But since that is not available will survive with it though. So the way I am enabling the option is checking with the DataObject. If the DataObject does not have a primary file, then don't enable other wise enable it.

    performAction method - delegates call to a simple private method.
    This method picks up the primary file from the DataObject, constructs an Ant Script. The idea of using an Ant Script was inspired by Geertjan's blog. Earlier I used a grossly inefficient way - traversing directories and adding them to a Zip stream.

    Steps to create such a Plugin
    1. Create a New Project - Choose Netbeans Module-->Module
    2. In the next screen fill up the entries but ensure that the Standalone radio button is selected.Tis marked in a red box.
    3. Finish the wizard.
    4. Click on the Project and Select New (Bring up the New File wizard)
    5. Select Conditionally Enabled radio button and DataObject from the dropdown/combo box
    6. In the next screen you can choose any combinations
    7. Complete the wizard steps.
    8. Provide implementation for the performAction method.
    Simple 8 steps.
    What to expect in future? For now I am thinking of two things. You can pour in your views.
    1. Multiple Selected nodes (With restrictions of course)
    2. Wizard like facility to choose destinations.

    Enjoy archiving your projects.