Jonathan Riddell | 2 Nov 2006 15:33
Favicon

Re: Umbrello !

On Mon, Oct 30, 2006 at 01:12:24PM +0000, hassan kouch wrote:
> We are a group of students from Toulouse University in France. We are 
> planning to work on the Umbrello project with Mr. Kevin Ottens 
> (ervin <at> kde.org), as our supervisor.

Salut, I'm very pleased to have you on board, especially since I hear
you're taking the extra risk of working on the KDE 4 version.

> That being said, we would like to propose that our group works on the 
> following project features:
>           - Performance of the software.
>           - UML 2.0 support.
>           - SQL code generator (import and export).
>           - Undo/Redo feature.
>           - Automatic graphical objects page-layout.

All sound great.  It might be a good idea to document your plans for
each of these changes. For example I'm not sure what needs to be done
for UML 2 support, but it would be great to find out and have it
done.  

We already have undo/redo of course but it's very primitive and
memory intensive (just saving the whole diagram to memory with each
change), would be great to have a proper framework for this specified
and implemented.  

Automatic graphical objects page-layout can be done
with graphviz, we already have code for that but it links directly to
graphviz which is not GPL compatible so we can't use it, changing it
to export to Graphviz's Dot file format and import again would be the
(Continue reading)

Kleag | 2 Nov 2006 20:00
X-Face
Picon
Favicon

Re: Umbrello !

Hello,

>           - Performance of the software.
>           - UML 2.0 support.
>           - SQL code generator (import and export).
>           - Undo/Redo feature.
>           - Automatic graphical objects page-layout.
You already have a huge list of todos, but if you want still some more, I 
could propose you to work on the documentation generators. It is mainly 
unfinished: it should generate doc for all parts of the model with a better 
plan. Also, the destination of the generated doc should be configurable. Etc.

I'm French, so if you would like to talk about that directly, don't hesitate 
to contact me directly.

Best regards,

Kleag

>
> We would appreciate any thoughts or suggestions you may have regarding the
> above. In the meantime, and should you have any questions or comments
> please do not hesitate to contact us at anytime.
>
> Thank you in advance for your attention.
>
> Respectfully yours,
>
> Caroline BOURDEU DÂ’AGUERRE
> Hassan KOUCH
(Continue reading)

Achim Spangler | 2 Nov 2006 22:35
Picon

Bugfix for strange SEGFAULT in UMLClassifier::checkOperationSignature()

Hi,
I discovered a strange problem with creation of overloaded member functions 
(i.e. same name but different attributes).

While a small project didn't cause a problem, my big project caused always a 
SEGFAULT, when I tried to insert a function to a class, which has already a 
function with same name but different signature.

I detected, that somehow the stack got corrupted in 
UMLClassifier::checkOperationSignature(), so that the SEGFAULT has been 
caused at very surprising points - for example the stack view in kdbg showed 
me the line 

int pCount = testParams->count();

as the last executed line before the SEGFAULT. The pointer testParams is NOT 
NULL at this point, and the list is also not broken, as the function 
testParams->isEmpty() does NOT cause any segfault.

I changed the parameter comparing loop to NOT use "count()" - just by 
iterating with first() and next().

THIS version does NOT cause any SEGFAULT - even with my big project - I really 
do not know why.

Please merge the attached patch, as it should be even a little more 
efficient - it is at least not having a lower quality.

Bye,
Achim
(Continue reading)

Oliver Kellogg | 3 Nov 2006 11:04
Picon
Gravatar

branches/KDE/3.5/kdesdk/umbrello/umbrello

SVN commit 601431 by okellogg:

CCBUG:135606 - Print a debug message and backtrace on constructing a duplicate stereotype.

 M  +5 -0      stereotype.cpp  

--- branches/KDE/3.5/kdesdk/umbrello/umbrello/stereotype.cpp #601430:601431
 <at>  <at>  -21,6 +21,11  <at>  <at> 
 UMLStereotype::UMLStereotype(const QString &name, Uml::IDType id /* = Uml::id_None */)
         : UMLObject( name, id ) {
     m_BaseType = Uml::ot_Stereotype;
+    UMLStereotype * existing = UMLApp::app()->getDocument()->findStereotype(name);
+    if (existing) {
+        kdError() << "UMLStereotype constructor: " << name << " already exists" << endl;
+        kdBacktrace(25);
+    }
     m_refCount = 0;
 }

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
Oliver Kellogg | 3 Nov 2006 11:07
Picon
Gravatar

branches/KDE/3.5/kdesdk/umbrello/umbrello

SVN commit 601434 by okellogg:

UMLOperation::getParmList(): Return list by value.
http://www.geeksoc.org/~jr/umbrello/uml-devel/9816.html
Achim, could you try again?  If it still crashes then I will apply your patch.

 M  +10 -15    classifier.cpp  
 M  +2 -2      classifier.h  
 M  +2 -2      codegenerator.cpp  
 M  +7 -7      codegenerators/adawriter.cpp  
 M  +5 -5      codegenerators/aswriter.cpp  
 M  +5 -5      codegenerators/cppheadercodeoperation.cpp  
 M  +6 -6      codegenerators/cppsourcecodeoperation.cpp  
 M  +4 -4      codegenerators/cppwriter.cpp  
 M  +4 -4      codegenerators/idlwriter.cpp  
 M  +5 -5      codegenerators/javacodeoperation.cpp  
 M  +3 -3      codegenerators/javawriter.cpp  
 M  +5 -6      codegenerators/jswriter.cpp  
 M  +4 -4      codegenerators/pascalwriter.cpp  
 M  +8 -9      codegenerators/perlwriter.cpp  
 M  +5 -6      codegenerators/php5writer.cpp  
 M  +5 -6      codegenerators/phpwriter.cpp  
 M  +4 -5      codegenerators/pythonwriter.cpp  
 M  +7 -7      codegenerators/rubycodeoperation.cpp  
 M  +4 -5      codegenerators/rubywriter.cpp  
 M  +4 -4      codegenerators/tclwriter.cpp  
 M  +3 -3      dialogs/umloperationdialog.cpp  
 M  +3 -2      operation.cpp  
 M  +6 -3      operation.h  
 M  +2 -2      umllistview.cpp  
(Continue reading)

Oliver Kellogg | 3 Nov 2006 11:08
Picon
Gravatar

[Bug 135606] Umbrello saves too much copies at xmi

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

http://bugs.kde.org/show_bug.cgi?id=135606         

------- Additional Comments From okellogg users sourceforge net  2006-11-03 11:08 -------
SVN commit 601431 by okellogg:

CCBUG:135606 - Print a debug message and backtrace on constructing a duplicate stereotype.

 M  +5 -0      stereotype.cpp  

--- branches/KDE/3.5/kdesdk/umbrello/umbrello/stereotype.cpp #601430:601431
  <at>  -21,6 +21,11   <at> 
 UMLStereotype::UMLStereotype(const QString &name, Uml::IDType id /* = Uml::id_None */)
         : UMLObject( name, id ) {
     m_BaseType = Uml::ot_Stereotype;
+    UMLStereotype * existing = UMLApp::app()->getDocument()->findStereotype(name);
+    if (existing) {
+        kdError() << "UMLStereotype constructor: " << name << " already exists" << endl;
+        kdBacktrace(25);
+    }
     m_refCount = 0;
 }

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
(Continue reading)

Achim Spangler | 3 Nov 2006 12:15
Picon

Segfault on XMI close when a class uses a template

Hi,
you can very easily cause umbrello (fresh from SVN) to segfault.

Just load the attached XMI - or create on your own with:
+ add class
+ add a class template to the new class
+ save -> close -> reload
+ try now to close the reloaded XMI - it will segfault
  in the function: UMLPackage::removeAllObjects()
  at UMLPackage *pkg = dynamic_cast<UMLPackage*>(o);
  while "o" is pointing to the template tag
  --> something is causing to segfault the dynamic_cast<>
      execution when it tries to cast UMLTemplate
      to UMLPackage
      ( when executed in kdbg:
        even after SEGFAULT the local variables report a
        _nearly_ valid data set for the "o" object
       - the "name" attribute is disturbed, but the 
         rest seems OK )
  ==> this looks like the UMLTemplate would be destroyed twice
      as it might have been stored at two places during load of
      the XMI

I discovered for my project, that I had several identical 
<UML:TemplateParameter> tags - looks like we need some unique check during 
load - like with stereotype.

Bye,
Achim
(Continue reading)

Achim Spangler | 3 Nov 2006 13:20
Picon

Re: branches/KDE/3.5/kdesdk/umbrello/umbrello

Hi Oliver,

Am Freitag, 3. November 2006 11:07 schrieb Oliver Kellogg:
> UMLOperation::getParmList(): Return list by value.
> http://www.geeksoc.org/~jr/umbrello/uml-devel/9816.html
> Achim, could you try again?  If it still crashes then I will apply your
> patch.
YES - this was obviously the real reason for the bug.
But - why not integrate my change nevertheless?
Navigating with first(), next() and immediate return NULL when different 
parameter type detected should be a little faster.

Bye,
Achim
>
>
>  M  +10 -15    classifier.cpp
>  M  +2 -2      classifier.h
>  M  +2 -2      codegenerator.cpp
>  M  +7 -7      codegenerators/adawriter.cpp
>  M  +5 -5      codegenerators/aswriter.cpp
>  M  +5 -5      codegenerators/cppheadercodeoperation.cpp
>  M  +6 -6      codegenerators/cppsourcecodeoperation.cpp
>  M  +4 -4      codegenerators/cppwriter.cpp
>  M  +4 -4      codegenerators/idlwriter.cpp
>  M  +5 -5      codegenerators/javacodeoperation.cpp
>  M  +3 -3      codegenerators/javawriter.cpp
>  M  +5 -6      codegenerators/jswriter.cpp
>  M  +4 -4      codegenerators/pascalwriter.cpp
>  M  +8 -9      codegenerators/perlwriter.cpp
(Continue reading)

Oliver Kellogg | 3 Nov 2006 14:40
Picon
Gravatar

branches/KDE/3.5/kdesdk/umbrello

SVN commit 601508 by okellogg:

load(): We forgot to exclude ot_Template from the UMLPackage::addObject().
http://www.geeksoc.org/~jr/umbrello/uml-devel/9816.html

 M  +4 -0      ChangeLog  
 M  +2 -2      umbrello/umlobject.cpp  

--- branches/KDE/3.5/kdesdk/umbrello/ChangeLog #601507:601508
 <at>  <at>  -1,5 +1,9  <at>  <at> 
 Version 1.5.52

+* Fixed segfault in UMLClassifier::checkOperationSignature()
+  (http://www.geeksoc.org/~jr/umbrello/uml-devel/9816.html)
+* Fixed segfault on XMI close when a class uses a template
+  (http://www.geeksoc.org/~jr/umbrello/uml-devel/9818.html)
 * Bugs/wishes from http://bugs.kde.org:
 * Shift + Left and Shift+Right causes SIGSEGV (136288)

--- branches/KDE/3.5/kdesdk/umbrello/umbrello/umlobject.cpp #601507:601508
 <at>  <at>  -727,11 +727,11  <at>  <at> 
         }
     }

-    // Operations, attributes, enum literals, stereotypes, associations,
+    // Operations, attributes, enum literals, templates, stereotypes, associations,
     // and association role objects get added and signaled elsewhere.
     if (m_BaseType != Uml::ot_Operation && m_BaseType != Uml::ot_Attribute &&
             m_BaseType != Uml::ot_EnumLiteral && m_BaseType != Uml::ot_EntityAttribute &&
-            m_BaseType != Uml::ot_Stereotype &&
(Continue reading)

Achim Spangler | 3 Nov 2006 15:17
Picon

Re: branches/KDE/3.5/kdesdk/umbrello

Thanks Oliver,
your very quick fix solved also the SEGFAULT with my bigger project.

Bye,
Achim
Am Freitag, 3. November 2006 14:40 schrieb Oliver Kellogg:
> SVN commit 601508 by okellogg:
>
> load(): We forgot to exclude ot_Template from the UMLPackage::addObject().
> http://www.geeksoc.org/~jr/umbrello/uml-devel/9816.html
>
>
>  M  +4 -0      ChangeLog
>  M  +2 -2      umbrello/umlobject.cpp
>
>
> --- branches/KDE/3.5/kdesdk/umbrello/ChangeLog #601507:601508
>  <at>  <at>  -1,5 +1,9  <at>  <at> 
>  Version 1.5.52
>
> +* Fixed segfault in UMLClassifier::checkOperationSignature()
> +  (http://www.geeksoc.org/~jr/umbrello/uml-devel/9816.html)
> +* Fixed segfault on XMI close when a class uses a template
> +  (http://www.geeksoc.org/~jr/umbrello/uml-devel/9818.html)
>  * Bugs/wishes from http://bugs.kde.org:
>  * Shift + Left and Shift+Right causes SIGSEGV (136288)
>
> --- branches/KDE/3.5/kdesdk/umbrello/umbrello/umlobject.cpp #601507:601508
>  <at>  <at>  -727,11 +727,11  <at>  <at> 
>          }
(Continue reading)


Gmane