Ok, I've got it. It's all clear.

The menu entry is actually created, I just missed to call validate on the
menu bar...

2012/1/27 Benjamin Gudehus <hasteb...@googlemail.com>

> I tried to add a feature test for the installation of the plugin to the
> menubar.
>
> private void initializeMenuItem(PlugInContext context) {
>     FeatureInstaller installer = new
> FeatureInstaller(context.getWorkbenchContext());
>     String[] menuPath = new String[] { MenuNames.TOOLS, MenuNames.TOOLS_QA
> };
>     installer.addMainMenuItem(this, menuPath, new JMenuItem(getName() +
> "..."),
>             createEnableCheck(context.getWorkbenchContext()));
> }
>
>
> It seems that this method does not create the tools menu if it's missing.
>
> I need to manually add the tools menu to the menubar:
>
> installer.menuBar().add(new JMenu(MenuNames.TOOLS));
>
>
> There is also the static method addMainMenu, but it doesn't add the tools
> menu, too:
>
> FeatureInstaller.addMainMenu(installer, new String[] {MenuNames.TOOLS},
>     MenuNames.TOOLS_QA, 0);
>
>
> I'll try to fix that.
>
> --Benjamin
>
>
> 2012/1/26 Benjamin Gudehus <hasteb...@googlemail.com>
>
>> I've pushed my refactorings to improve readability to the repository.
>>
>> For the future we could run a parser over the classes to extract the
>> language/translation strings for the language files:
>>
>> private String langName = "Delete Duplicate Geometries";
>> private String langDescription = "deletes features with similar geometry";
>>
>> --Benjamin
>>
>> 2012/1/25 Benjamin Gudehus <hasteb...@googlemail.com>
>>
>>> Here are some ideas/questions for refactoring of the class:
>>>
>>> 1. List configuration parameters prominently (Layer itemLayer, boolean
>>> deleteOnlySameAttributes)
>>> So it is easier to see what parameters could be tested or used.
>>> 2. List language strings prominently (String langDescription, String
>>> langDeleteOnlySameAttributes, ...)
>>> So it is easier to find the translation strings in the translation files.
>>> 3. Split contents of initialize() into two methods
>>> (initializeLanguageStrings, initializeMenuItem)
>>> [Neal Ford calls this "Composed Method" (
>>> http://www.ibm.com/developerworks/java/library/j-eaed4/index.html)]
>>> 4. Why is createEnableCheck static?
>>> 5. TaskMonitor is not used in delete(), delete() should return a
>>> FeatureCollection.
>>> 6. Extract attributesEqual logic into a new method areAttributesEqual().
>>> 7. Never use one letter (or two letter) variable names ;)
>>>
>>> 8. Is there a better way to use while (it.hasNext())?
>>> I always used "for (Feature feature in featureCollection)" in Groovy,
>>> but this is not that simple
>>> in Java :(
>>>
>>> I will make these changes to the classes and add some test cases to the
>>> testing class.
>>> Then I will commit my changes to trunk. (We really need to dump
>>> Subversion in some point of time and
>>> switch to Git or Mercurial!)
>>>
>>> --Benjamin
>>>
>>> 2012/1/15 Benjamin Gudehus <hasteb...@googlemail.com>
>>>
>>>> including 8 strict features =>  including 8 strict duplicates ;)
>>>>
>>>>
>>>> 2012/1/15 Benjamin Gudehus <hasteb...@googlemail.com>
>>>>
>>>>> 2012/1/15 Michaël Michaud <michael.mich...@free.fr>
>>>>>>
>>>>>>  It took me a while to make it work, because in the same time, I tried
>>>>>> to use Eclipse, then Netbeans that I've never really used for a big
>>>>>> project.
>>>>>> It was a horrible experience. How can Eclipse be so popular ? I'm
>>>>>> really wondering.
>>>>>>
>>>>>
>>>>> But JUnit also works for Netbeans, does it? I'm personally a fan of
>>>>> Eclipse, because
>>>>> of GroovyEclipse and Mylyn. Makes life so much easier.
>>>>>
>>>>>
>>>>>> Finally, I could optimize DeleteDuplicateItemsPlugIn and create a
>>>>>> unit-test.
>>>>>> For a 50 000 building layer, it takes about 1 s instead of 2 mn !
>>>>>>
>>>>>
>>>>> Wow, that's much. I looked at a diff for the changes and saw
>>>>> the IndexedFeatureCollection
>>>>> and the HashSet. I wonder if there is a webapplication to upload the
>>>>> diff and review/comment it online.
>>>>>
>>>>> Here is a small suggestion for an improvement to the test:
>>>>>
>>>>>         // when: "union by attribute is called"
>>>>>         ...
>>>>>
>>>>>         // Dataset has 41 features, including
>>>>>         // 8 strict duplicates -> 33 features after process
>>>>>         assertEquals(...)
>>>>>
>>>>> Could be changed to:
>>>>>
>>>>>         // when: "processed a dataset with 41 features, including 8
>>>>> strict features"
>>>>>         ...
>>>>>
>>>>>         // then: "results with 33 features"
>>>>>         assertEquals(...)
>>>>>
>>>>> For me the given-when-then comments are accually part of the code.
>>>>>
>>>>> Would also like to give a second try to IntelliJIDEA (there is a free
>>>>>> version which is user-friendly).
>>>>>>
>>>>>
>>>>> IntelliJ is an amazing IDE. I'm personally too stuck with Eclipse, but
>>>>> I regulary used
>>>>> the other products from Jetbrains that are based in IntelliJ (RubyMine
>>>>> and WebStorm).
>>>>>
>>>>> And it's good that Jetbrains open-sourced some parts of IntelliJ.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>
------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to