As an ArgoUML contributor I'm going to blog my activities here, so that they may draw interest by other developers or help other developers when doing tasks similar to what I've done. AND(!) the grand vision that makes an Argonaut what he is, TO THRIVE IN THE BIG DANGEROUS WORLD, TAKING THE Argo TO A GOOD SHORE ;-))

Saturday, June 28, 2008

ArgoUML 0.26 enters alpha

Recently ArgoUML 0.26.alpha1 was released. This is another step forward to a much anticipated ArgoUML 0.26. It contains some new things and one of these is the profile subsystem, to which I made a modest contribution.

I'm now working in priority 2 issues of the profile subsystem, which block the stable release. I'm also working in documenting this subsystem, first in the cookbook and then I'll do updates to the user manual. I hope I can still give a bit of of attention to the C++ module...

So, here is a list of things I would like to try to fix before 0.26:

  1. issue #4994: Editing loaded profile should be prevented

    ExplorerPopup.isRelatedToProfiles(Project, Object) is used to detect if a element is related to the profiles configured in the current project. In the same package is the support for drag-n-drop, class DnDExplorerTree, which method isValidDrag(TreePath destinationPath, Transferable tf) contains the validation of valid and invalid drags. We may make impossible for profile model elements to be dragged by checking if the Transferable contents contain profile model elements. On the other hand, this would make it impossible to add a profile contained model element to a diagram and this would limit the usefulness of the profiles. FigNodeModelElement is the base class of many of the model element figures in the diagrams. Here the are two things needed: disable the menus that can modify the model element and disable the editability of the model element in-place. Such as the editing of names.

  2. issue #5017: profile model elements are absent from diagrams on reload
  3. issue #4991: Profiles subsystem missing in the cookbook
  4. issue #4992 – this is the one related to the update of the user manual for inclusion of the profile related functionality
  5. issue #3771: Add tag definitions for tags used by the cpp generator – for this it is only needed to update the user manual to reflect the usage of the UML profile for C++ instead of the previous way of copying into the model the model elements of the included profile.
  6. issue #27 of argouml-cpp: anarres-cpp: dependencies caused ArgoUML loading failure – I thought I had fixed this, but, in 0.26.alpha1 there is still the following warning:
     2008-06-27 19:17:48,526 ERROR: Unable to find required class while
          loading org.anarres.cpp.Main$Option - may indicate an obsolete
          extension module or an unresolved dependency (ModuleLoader2.java:719) 
    java.lang.NoClassDefFoundError: gnu/getopt/LongOpt at 
    java.lang.ClassLoader.defineClass1(Native Method) at 
    java.lang.ClassLoader.defineClass(Unknown Source) at 
    java.security.SecureClassLoader.defineClass(Unknown Source) at 
    java.net.URLClassLoader.defineClass(Unknown Source) at 
    java.net.URLClassLoader.access$000(Unknown Source) at 
    java.net.URLClassLoader$1.run(Unknown Source) at 
    java.security.AccessController.doPrivileged(Native Method) at 
    java.net.URLClassLoader.findClass(Unknown Source) at 
    java.lang.ClassLoader.loadClass(Unknown Source) at 
    sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at 
    java.lang.ClassLoader.loadClass(Unknown Source) at 
    java.lang.ClassLoader.loadClass(Unknown Source) at 
    org.argouml.moduleloader.ModuleLoader2.addClass(ModuleLoader2.java:714) at 
    org.argouml.moduleloader.ModuleLoader2.processEntry(ModuleLoader2.java:680) at 
    org.argouml.moduleloader.ModuleLoader2.processJarFile(ModuleLoader2.java:614) at 
    org.argouml.moduleloader.ModuleLoader2.huntModulesFromNamedDirectory(ModuleLoader2.java:554) at 
    org.argouml.moduleloader.ModuleLoader2.huntForModulesFromExtensionDir(ModuleLoader2.java:512) at 
    org.argouml.moduleloader.ModuleLoader2.huntForModules(ModuleLoader2.java:435) at 
    org.argouml.moduleloader.ModuleLoader2.doInternal(ModuleLoader2.java:311) at 
    org.argouml.moduleloader.ModuleLoader2.doLoad(ModuleLoader2.java:164) at 
    org.argouml.moduleloader.InitModuleLoader.init(InitModuleLoader.java:55) at 
    org.argouml.application.SubsystemUtility.initSubsystem(SubsystemUtility.java:49) at
    org.argouml.application.Main.initializeSubsystems(Main.java:430) at 
    org.argouml.application.Main.main(Main.java:169) Caused by: 
    java.lang.ClassNotFoundException: gnu.getopt.LongOpt at 
    java.net.URLClassLoader$1.run(Unknown Source) at 
    java.security.AccessController.doPrivileged(Native Method) at 
    java.net.URLClassLoader.findClass(Unknown Source) at 
    java.lang.ClassLoader.loadClass(Unknown Source) at 
    sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at 
    java.lang.ClassLoader.loadClass(Unknown Source) at 
    java.lang.ClassLoader.loadClassInternal(Unknown Source) ... 24 more 2008-06-27 
    19:17:48,546 ERROR: Failed to find any loadable ArgoUML modules in      jar 
    X:\ArgoUML\0.26.ALPHA_1\ext\anarres-cpp-no-dependencies-1.2.3.jar     (ModuleLoader2.java:627)
  7. There is a problem in JCPP from anarres that it doesn't close the files when the contained CppReader is told to close itself. This is causing 5 tests in argouml-cpp to fail with an error, when the tearDown() is trying to delete the files.
  8. There are some more argouml-cpp issues I would like to solve, but, this is a fair cry...

No comments:

Reader Shared items

Followers