2:my original thoughts were based on looking at gef and i took this incorrectly as a lesson on how undo should be done to me the gef method seems more understandable than what comes with swing but all the same if it is in swing i say i need to learn how to use that rather than expect other swing coders to learn something of our own devising i must say though that the gef method of using a command pattern to undo seems more immediately apparent to me than swing which has a long way to go before sinking in to my brain it makes more sense to me that actions can be undone as opposed to components can undo themselves i think my understanding of the swing undo has some way to go original message from markus klink smtp mark gmx net sent 01 july 2003 06 13 to de argouml tigris org subject re argouml dev undo bob you might look at something like the gef framework in cmd java for implementing an not swing based implementation of undo redo markus bob irishlife ie wrote okay i agree with that although i m still not sure whether that s argo s duty or the duty of the ide module implementor however i am very keen to see argo implemented within ide s and so if we can promote argo to some ide module writer by giving them an easier api then that might make this a reality sooner rather than later i d personally like to see a net beans plugin but i ve had no time to look at how to achieve this i ve always stuck with net beans as its use is enforced at work and i don t want to move between ide s when i go home i ll hope for some feedback from jurrien on eclipse hopefully they have something in place already for translating to swing all i ve tried to achieve as far as ide s is concerned is to try and make things less dependant on project browser as i presume that ide s will want to position our components according to their standards regards bob original message from lach thierry smtp thie bbdodetroit com sent 30 june 2003 15 46 to de argouml tigris org subject re argouml dev undo i m not saying that we shouldn t use swing as the implementation i m suggesting that however you develop the undo that you put an api in front of it that is not swing based original message from bob irishlife ie mailto bob irishlife ie sent monday june 30 2003 10 48 am to de argouml tigris org subject re argouml dev undo isn t there some kind of bridge between swt and swing though i think we are going outside our scope to develop core argo around what might wrap it we use swing and all we can do is stick as closely as possible to those standards so that others will know what to expect rather than have to learn some new mechanism we have devised although we should structure the components of argo in such a way as they can be wrapped more easily have jurrien s changes been implemented maybe jurrien can add some thoughts how is the eclipse plug in looking at the moment can this plug in translate between calls from eclipse to undo and pass these to the swing undo routines bob original message from lach thierry smtp thie bbdodetroit com sent 30 june 2003 15 26 to de argouml tigris org subject re argouml dev undo sorry but eclipse manages to do its own thing it doesn t use swing it uses swt original message from bob irishlife ie mailto bob irishlife ie sent monday june 30 2003 9 54 am to de argouml tigris org subject re argouml dev undo i think i jumped the gun in thinking too far about how to implement our own undo mechanism i wasn t aware of the capabilities of swing undo and have a long learning curve to start thinking about implementing it myself certainly if we implement undo to swing standards i think we should expect this to be good enough for any other package that treats argo as a module given that something else like net beans or eclipse would own the undo queue for the moment i think we document our requirements of undo redo if the swing undo package will allow us to achieve this then i don t think we should look elsewhere if something like net beans or eclipse use a non standard undo mechanism then i think it s up to that ide or ide module to bridge the gap original message from lach thierry smtp thie bbdodetroit com sent 30 june 2003 14 36 to de argouml tigris org subject re argouml dev undo bob i d suggest that you investigate how eclipse and net beans accomplish undo if you haven t already done so and at least loosely model your approach in a way that might be compatible to both since there are long standing issues requesting argouml work in both of those id es a similarity in the mechanism might be very useful in that transition original message from bob tarling mailto bobt hotmail com sent saturday june 28 2003 9 55 am to de argouml tigris org subject argouml dev undo i m making use of quite time on argo to finish off my toolbar project so i can implement this into argo i m also putting some thoughts into an undo project as once again i m hoping to use this in argo i ll start a discussion here my original thoughts were to store a copy of the action in a queue with that action having a record of what it did and being able to undo itself hence my issue 1909 if actions were copied cloned then they couldn t strictly be called singletons however i ve rethought this recently to using a memento this means actions can stay as singletons so i m now rethinking issue 1909 the basics of my undoable design is an undoable interface which will enforce implementation of make memento do and undo an abstract command memento which has a constructor taking an undoable interface and storing its instance as the variable undoable an undo method which calls undoable undo this a do method which calls undoable do a command memento list which has the following methods can undo returns true if there is anything in the list below the current pointer can do returns true if there is anything in the list above the current pointer undo call undo of the current memento and move the pointer back do move the pointer forward and calls do of that memento add command memento memento removes any mementos above the current pointer and then adds the given memento to the list empty empty the list called by actions that can t be undone such as save and load a description of how to use this in action delete from diagram would be there will be an inner class extending command memento and adding any required state data the action peformed method will call make memento returning a command memento then call do to actually perform the action if do returns true then action performed calls a command list singleton to add the memento to the list the make memento method should construct the inner class and set any instance variables on the memento to record the current state of the fig the do method would contain the code normally in action performed it would normally return true but may return false if the action is not valid for some reason the undo command memento memento method will use the instance variables stored in memento to restore the diagram back as it was before the fig was removed recreating the fig and placing it in the state is was originally find a cheaper internet access deal choose one to suit you http www msn co uk internetaccess this is a confidential communication and is intended only for the addressee indicated in the message or duly authorised to be responsible for the delivery of the message to such person you are specifically prohibited from copying this message or delivering the same or any part thereof to any other person whomsoever or howsoever unless you receive written authorisation from us to do if you are anyone other than the intended addressee or person duly authorised and responsible for the delivery of this message to the intended addressee you should destroy this message and notify us immediately please note that we accept no responsibility whatsoever in the event that this message or any other email message or any part thereof becomes known or is communicated to anyone other than the intended recipient or other person authorised in writing by us to receive it howsoever arising and disclaim all liability for any losses or damage which may be sustained by any person as a result thereof this is a confidential communication and is intended only for the addressee indicated in the message or duly authorised to be responsible for the delivery of the message to such person you are specifically prohibited from copying this message or delivering the same or any part thereof to any other person whomsoev netbeans netbeans projectbrowser netbeans netbeans netbeans ides makememento commandmemento commandmementolist canundo cando commandmemento actiondeletefromdiagram commandmemento actionpeformed makememento commandmemento actionperformed commandlist makememento actionperformed commandmemento 6:attributes methods could be shown or hidden on a per diagram basis and this configuration could be saved in the file ok the second part persistence was discussed if this is solved it mould make sense to do the first part it can be easily done a few changes in fig class fig interface most work will be providing appropriate contex menus because now the attributes operations are separate fig texts and handling a mixture of displayed undisplayed attrs opers graphically is easy now thomas gmx die kommunikationsplattform im internet http www gmx net figclass figinterface figtexts 80:ehhh bob tarling is busy doing things with the menubar too better to mail him about it before comitting i think br jaap original message from markus klink mk baba9 com to de argouml tigris org sent thursday october 10 2002 11 38 am subject argouml dev refactor projectbrowser hi i just refactored project browser java org argouml ui in my local version to take out the construction of the menubar i plced this in a separate package org argouml ui menubar are there any objections against this additionally i made some change in application main and project browser to allow to have the native look and feel if the option dforce nativelaf true is given upon startup this actually brings already some nice results for aquao on mac os x but the other platforms look more or less ugly due to org argouml swingext splitter relying on the metal theme jasonsxxx theme java if i do not hear anything by today i will commit my changes later markus projectbrowser projectbrowser metaltheme jasonsxxxtheme 92:1 thomas n wrote hi marian btw steffen wrote this code however i ll try to help documentation attached to an model element is stored in an tagged value attached to the model element according to steffen the tag name documentation is used in reverse engineering while javadoc is used by his documentation manager fact is that we have a mix of javadoc and documentation tags and to avoid doc loss steffen handles both in case of the documentation manager get docs o method the idea is to change all documentation tags into javadoc tags by adding a new javadoc tag with the value of the found documentation tag and then remove the documentation tag your patch suggestion not to remove would lead to double doc entries your observation that this fixes the problem is a hint that there might be places where only documentation tags are understood not javadoc tags in cg my personal opinion first decide to use only one tag name i suggest documentation because it is java independent then do a savvy file search to unify all doc tags watch if the below bug disappears for cg decide do generate from a doc tag either a javadoc in case the model element is a class interface attribute or operation or a comment thomas i think i found the reason why the documentation is vanishing from the documentation tab the tagged value will be renamed to javadoc and the original documentation is removed here class documentation manager else if documentation equals tv get tag set docs o tv get value m model element o remove tagged value tv if i remove the last line the entry in the documentation tab will no longer disappear please check this and put it as temporary solution into the next release thanks marian 22 02 2002 18 40 22 marian heddesheimer news rent a tutor com wrote i just found that the information in the documentation field on the documentation tab is not stored it will vanish if you leave the tab and it don t show up in the tagged values i found a workaround but i m not sure if this is a solution i just renamed documentation to docu in this line in src new org argouml uml ui tab documentation java add caption documentation 0 1 1 uml text area doc new uml text area this new uml tagged text property docu doc set line wrap true doc set wrap style word true add field doc 0 1 1 marian documentationmanager documentationmanager getdocs documentationmanager gettag setdocs getvalue mmodelelement removetaggedvalue srcnew tabdocumentation addcaption umltextarea doc umltextarea umltaggedtextproperty doc setlinewrap doc setwrapstyleword addfield doc 135:when adding newly written files the copyright year should be 2002 we don t need to clame copyright for when that file did not exist linus original message from kat tigris org mailto kat tigris org sent den 12 oktober 2002 12 08 to cv argouml tigris org subject argouml cvs cvs update argouml src new org argouml uml ui foundation core user kataka date 02 10 12 03 07 57 added argouml src new org argouml uml ui foundation core prop panel relationship java log added proppanelrelationship to give users as much information as possible if the lookup mechanisme for proppanels fails if the correct proppanel is not there for instance file changes directory argouml src new org argouml uml ui foundation core file added prop panel relationship java url http argouml tigris org source browse argouml src new org argoum l uml ui foundation core prop panel relationship java rev 1 1 conten t type text x cvsweb markup added lines 47 copyright c 1996 99 the regents of the university of california all rights reserved permission to use copy modify and distribute this software and its documentation without fee and without a written agreement is hereby granted provided that the above copyright notice and this paragraph appear in all copies this software program and documentation are copyrighted by the regents of the university of california the software program and documentation are supplied as is without any accompanying services from the regents the regents does not warrant that the operation of the program will be uninterrupted or error free the end user understands that the program was developed for research purposes and is advised not to rely exclusively on the program for any reason in no event shall the university of california be liable to any party for direct indirect special incidental or consequential damages including lost profits arising out of the use of this software and its documentation even if the university of california has been advised of the possibility of such damage the university of california specifically disclaims any warranties including but not limited to the implied warranties of merchantability and fitness for a particular purpose the software provided hereunder is on an as is basis and the university of california has no obligations to provide maintenance support updates enhancements or modifications header package org argouml uml ui foundation core import javax swing image icon import org argouml swingext orientation import org argouml util config loader added this class to give as much information to the user as possible if the lookup mechanisme for proppanels fails since oct 12 2002 author jaap xs4all nl public class prop panel relationship extends prop panel model element constructor for prop panel relationship public prop panel relationship super relationship null config loader get tab props orientation srcnew srcnew proppanelrelationship srcnew proppanelrelationship srcnew proppanelrelationship imageicon configloader proppanelrelationship proppanelmodelelement proppanelrelationship proppanelrelationship configloader gettabpropsorientation 165:hi i m sorry to bother you again but i try to do my own cmd create node but when i call get namespace it returns null i don t understand that because the correct namespace is selected in the prop panel i need to set the parent model element and i don t know how to obtain it i also try the get namespace method from my factory in the build methods but it s the same have you any idea of what it happens laetitia on tue 31 aug 2004 07 22 pm bob tarling wrote again i m not a module developer or a developer of any plug in code so hopefully someone will correct me if i m steering you in the wrong direction it looks as if our cmd create node uses reflection to call our own uml factory this obviously doesn t know about your class you could extend cmd create node as a new class of your own and over ride the make node method to call a factory of your own then use your own cmd create node class for your own model elements bob on tue 31 aug 2004 12 02 35 1000 laetitia duby laet ee usyd edu au wrote hello the cmd create poly edge class call the connect method of my factory which constructs the link with the build element method that i created but the cmd create node doesn t call any of my factory methods so my nodes are not created in my model and i wonder if my problem could come from that how can i call the build method for my nodes when they are constructed from the toolbar laetitia on mon 30 aug 2004 01 12 pm laetitia duby wrote hi actually i already did a factory which use the method initialize of the abstract uml model factory class to add a listener to each model elements maybe i have to redefine one in my factory thanks laetitia on fri 27 aug 2004 10 11 pm ute wappler wrote hi laetitia duby schrieb for my model elements i register them to the uml model event pump with the code that steffen zschaler proposed in january but when i change the name of an element in the property panel that i created i have to click on the name area of the figure in the editor diagram in order to have it visible i don t know what i need to add in my code to make visible any changes of the model element as i comprehend the problem seems to be that the figure representing your model element does not get the event that the model element has changed i think you do not setup the event listeners for the newly created model element try the following i think it should work if you extended a uml class diagram add a call to add listeners to model element after each creation of a new model element this should look like the following m element name impl result new m element name impl org argouml model uml uml factory get factory add listeners to model elem ent result but instead of replacing each creation of a model element you should use a factory class which contains all create methods of your model elements within these create methods you create the model element and setup the event listeners for the newly created model element like shown above see http argouml tigris org documentation defaulthtml cookbook ch05 htm l mo de l factories i hope it is the right solution and i could help ute laetitia duby school of electrical and information engineering bldg j03 room 127 laetitia duby school of electrical and information engineering bldg j03 room 127 cmdcreatenode getnamespace proppanel modelelement getnamespace cmdcreatenode umlfactory cmdcreatenode makenode cmdcreatenode cmdcreatepolyedge cmdcreatenode abstractumlmodelfactory umlmodeleventpump umlclassdiagram addlistenerstomodelelement umlfactory getfactory addlistenerstomodelelem lfactories 197:i ve added a button row on the bottom of the class property panel in the new src cvs branch as a preview currently set enabled false d basically the button row will contain the most frequently used commands within that context for example the class property panel has buttons for new class add operation add attribute add association and delete each property panel would have a slightly different list newsrc setenabled 306:very true andreas if i look into my crystal ball i see at some point you got an error in your build one of the errors was in a class referenced by init panels later you corrected the error and the build completed what actually happens is that ant does some basic dependency checking it makes sure that tab props java is not more recent than tab props class but it doesn t check any other classes contained in tab props java and since tab props class had been compiled successfully it never recompiled tab props java to recompile init classes later there are some additional tasks in ant 1 4 perhaps 1 3 also but why not go all the way that can be used to ensure this does not happen this is a rather common issue i myself wind up having to do a build clean at least once a week because of this original message from andreas rueckert to de argouml tigris org sent 11 22 01 3 34 am subject re argouml dev exception 2 3 hi on don 22 nov 2001 spyros oikonomopoulos wrote hi i get the following exception i have made this question yesterday but the subject was wrong i guess snip java java lang no class def found error org argouml uml ui init panels later java at org argouml uml ui tab props init panels tab props java 115 java at org argouml uml ui tab props init tab props java 88 java at org argouml uml ui tab props init tab props java 97 java at java lang class new instance0 native method java at java lang class new instance class java 237 init panels later is a additional class in tab props it seems that at least some versions of ant tend to forget some classes if there s more than one class in a file could you try a ant clean followed by a rebuild tia andreas initpanelslater tabprops tabprops doesn t tabprops tabprops tabprops initclasseslater noclassdeffounderror initpanelslater tabprops initpanels tabprops tabprops tabprops tabprops tabprops newinstance0 newinstance initpanelslater tabprops 337:i have seen this myself a couple of times my guess is that it is a problem with the way the java compiler works init panel later is a class that is a local class in a bigger class it is not compiled since the original class has compiled successfully it cannot be found since it is not compiled my guess is that this can happen when i start a compilation that is for some reason aborted out of memory when i then restart the compilation one of the classes in the same file is compiled the other is not try the following remove the file c argouml build classes org argouml application main class rerun build run this will make the file main java be compiled and because of that the init panels later class will be created for all you java gurus out there how is this supposed to be solved in the general case do we need to forbid having several classes in the same file can we reorganize the order of the classes in the file so that this won t happen will the enabling of the dependency check in ant that i think we are in desperate need of solve this linus dear sir madam i am trying to devlop the argouml project to fit my phd research purposes i am using the ant1 3 to build argouml when i do build run argouml stops at the entry screen etc when i searched the mailing list i found that another person called spyros had encountered the same problem in 2001 i ve appened his e mail to the end of my e mail i ve read the responeses given to him but the last one suggested that he check the c argouml src new org agouml uml ui tab props java then i found no further responeses i ve checked that file i found the following statement org argouml application main add post load action new init panels later panels this orientation then what thanks best regards mai fadel spyros e mail in the mailing list i have managed to built the project but when i try to run it i get the following java making multi editor pane java making details pane java making wiz description java java lang no class def found error org argouml uml ui init panels later java at org argouml uml ui tab props init panels tab props java 115 java at org argouml uml ui tab props init tab props java 88 java at org argouml uml ui tab props init tab props java 97 java at java lang class new instance0 native method java at java lang class new instance class java 237 java at org argouml util config loader load tabs config loader java 75 java at org argouml ui details pane init details pane java 78 java at org argouml ui project browser init project browser java 132 java at org argouml application main main main java 379 and execution stops somewhere in the entry screen am i missing an update here get a bigger mailbox choose a size that fits your needs initpanellater outofmemory initpanelslater srcnew tabprops addpostloadaction initpanelslater panels multieditorpane detailspane wizdescription noclassdeffounderror initpanelslater tabprops initpanels tabprops tabprops tabprops tabprops tabprops newinstance0 newinstance configloader loadtabs configloader detailspane detailspane projectbrowser projectbrowser 590:hi phil the exception i recently reported is raised in your code uml initial value combo box java line 171 and i found that it has nothing to do with my fig class changes it happens only for attributes when i directly edit it no matter what i do in fig class java the method text edited is called which calls parser display singleton parse attribute fig or formerly parser display singleton parse attribute compartment in both cases the exception raises after it exception occurred during event dispatching java lang null pointer exception at org argouml uml ui uml initial value combo box update uml initial value combo box java 171 at org argouml uml ui uml initial value combo box property set uml initial value combo box java 159 at org argouml uml ui uml change dispatch dispatch uml change dispatch java 167 at org argouml uml ui uml change dispatch dispatch uml change dispatch java 157 at org argouml uml ui uml change dispatch dispatch uml change dispatch java 157 at org argouml uml ui uml change dispatch run uml change dispatch java 127 at javax swing system event queue utilities process runnable event system event queue utilities java 366 at javax swing system event queue utilities access 0 system event queue utilities java 362 at javax swing system event queue utilities runnable target process event system event queue utilities java 403 at java awt component dispatch event impl component java 2394 at java awt component dispatch event component java 2307 at java awt event queue dispatch event event queue java 287 at java awt event dispatch thread pump one event event dispatch thread java 103 at java awt event dispatch thread pump events event dispatch thread java 92 at java awt event dispatch thread run event dispatch thread java 83 could you have a look thomas p s i hope you are happy now with fig class fig interface gmx die kommunikationsplattform im internet http www gmx net umlinitialvaluecombobox figclass figclass textedited parserdisplay parseattributefig parserdisplay parseattributecompartment nullpointerexception umlinitialvaluecombobox umlinitialvaluecombobox umlinitialvaluecombobox propertyset umlinitialvaluecombobox umlchangedispatch umlchangedispatch umlchangedispatch umlchangedispatch umlchangedispatch umlchangedispatch umlchangedispatch umlchangedispatch systemeventqueueutilities processrunnableevent systemeventqueueutilities systemeventqueueutilities systemeventqueueutilities systemeventqueueutilities runnabletarget processevent systemeventqueueutilities dispatcheventimpl dispatchevent eventqueue dispatchevent eventqueue eventdispatchthread pumponeevent eventdispatchthread eventdispatchthread pumpevents eventdispatchthread eventdispatchthread eventdispatchthread figclass figinterface 736:on 6 22 06 tom morris tfmo gmail com wrote i ll also have to open a defect for a translator java patch as long as the locales are statically loaded this is definitely broken please file a bug report there s no reason argouml should know what languages it s been translated into it should even be possible to add languages after a release has been completed i definitely agree the code is also tagged with a similar todo this is really ugly but i don t know of a clean way to recognize every available locale from the bundles consider also that argo could be only partially translated for a language anyway even reading the files from a property would be an improvement regards andrea 1116:2006 2 27 michiel van der wulp mv tigris org hi jose maybe i did not follow your explanation too well but you have to distinct between a time event and a change event time event e g after 2s the part between the is entered in argouml on the properties panel of the time event in the first field of the when the 2nd field is to indicate the language java c imho all this seems to work well change event e g when it s 9 o clock the part between the can only be entered directly on the diagram the properties panel of a change event currently still lacks a field to enter this expression this is a bug which i do not find back in our issues database so i created 4011 http argouml tigris org issues show bug cgi id 4011 in both cases entering the text on the diagram by double clicking on the transition somewhere in the middle the right spot is sometimes difficult to find is working fine sorry my fault i thought a when kind of event was also considered a time event not a change event thanks a lot best regards jose timeevent changeevent timeevent timeevent changeevent changeevent showbug 1244:i aggree with you that people don t help in branches but being developer is a lonely road sometimes can you tell me where you need help the reason why i am against commiting this code like you do now is because that when you decide that you made an error or whatever and stop implementing it we have a lot of dead code i don t say that you in particular will do that but i have seen too much dead code in argo allready kind regards jaap original message from markus klink mark gmx net to de argouml tigris org sent friday may 30 2003 11 20 am subject re argouml dev package model subsystem sorry won t do when i put it in a branch it essentially means by experience no one will help me and i need a lot of help but don t worry as long as noone has the ability to create the figs nothing can go wrong which couldn t go wrong anyway all other changes are uml compliance changs which have more or less nothing to do with the changes e g making the proppanel of a package acknowledge that it is a generalizable element making the proppanel of a subsystem have some attributes a proppanel noone can access when they do not have the means to create the element etc pp let s be a bit realistic here everyone in the current branch is risking his life as soon as they click on the sequence diagram button with the changes i implemented so far no one risks anything unless they go to the code and decide doing so i am just taking a more pragramatic approach here for the branch to be able to be merged in to main would take such a long time that it is certain to create more problems than solve them markus jaap branderhorst wrote then the only thing that you can do place it in a branch sorry markus but that s how it needs to be done then kind regards jaap original message from markus klink mark gmx net to de argouml tigris org sent friday may 30 2003 10 14 am subject re argouml dev package model subsystem i say it loud and clear i cannot prevent that things will break hence the feature is there but not for the public e g the fig for a submodel has pretty complex display options loading an old model will certainly not work when the new fig is in place current figs are placeholders i cannot implement proper ones until i understand better what they must display i cannot work otherwise e g i need to be able to communicate with anders and you over changes we cannot do that when things are in my repository markus jaap branderhorst wrote markus please not in this way if you want to commit a new feature and it s great that you do that btw do it in stable commits if you think your code can break don t commit it or in a branch the risk we run here is that at one moment there is some feature that isn t correct and that we have dead code all over the place i don t say that this is an example of that i don t think so but we absolutely need to prevent that kind regards jaap original message from markus klink mark gmx net to de argouml tigris org sent friday may 30 2003 8 29 am subject re argouml dev package model subsystem ok i commited the changes however not in a branch as long as the icons for placing models and subsystem are not activated i do not see any danger in getting corrupted models note however that for people you want to experiment with these modelelements things might break anytime we are at a very preliminary stage of implementation so do not use the feature on live projects to enable look at uml classdiagram java org argouml uml diagram static structure ui and comment the method get package actions as follows remove the comment marks to enable models and subsystems private object get package actions subsystem model enabled object actions actionpackage actionmodel actionsubsystem subsystem model disabled object actions actionpackage return actions markus jaap branderhorst wrote the public cheers at markus i am happy with the fact that you start to implement this new feature it would be best if you do it in a branch however i know how hard that can be it s even harder if you don t have much time at the moment and the branch will exist for several weeks months if the last is the case i wouldn t start a branch but check your code in with testcases and extend it very gradualy since it is a new feature writing testcases is probably not difficult and adds a lot of value and safety kind regards jaap original message from markus klink mark gmx net to de argouml tigris org sent thursday may 29 2003 2 23 pm subject argouml dev package model subsystem i have some code together which allows adding models and subsystems to class diagrams it would be a start code for that which is far from feature complete but when the according actions are disabled from the toolbar there would not be any risk that they compromise the functionality of argouml what the changes do is do allow subsystems and models to be added to a class diagram features subsystems and models have there correct uml icon for the explorer models and subsystems implement the property panels for packages subsystems are also classifiers which can define things i have not fully understood how subsystems relate e g to collaborations the prop panel does not take that into they are classifiers as models and subsystems are essentially namespaces the code generator does not take them into account a new strategy needs to be devised for that elementimports are not supported i seem to understand what it is but i currently have difficulties visualising a good ui way of maintaining them i really would like to check in the code m aybe with the help of anders w tell we can work out a list of priorities how they can be implemented feature or almost feature complete any coments objections markus p s please don t make me open a branch to unsubscribe e mail dev argouml tigris org for additional commands e mail dev argouml tigris org umlclassdiagram staticstructure getpackageactions getpackageactions actionpackage actionmodel actionsubsystem actionpackage maybe 1268:great jaap what i would like to do is reshuffle a bit and add a new class project member type this is a class that is registered in the project manager for all types of projectmembers when reading a project the project consults the registered project member type and determines which is suitable to use for reading writing a lot of the algorithms becomes a lot more extendable with this extensionmechanism what im after is that i want to add new types of files my own custom into the project by a simple mechanism for example i want to add build scripts such as ant build xml in order to be able to do automated tranformations such as jmi api generations have a look at http www andromda org for some interesting reading anders jaap branderhorst wrote hi anders maybe it should be me i refactored project and project manager out some time ago it was a lot worse there was no project manager and much functionality was hidden in the project browser we cannot give you a code freeze i don t remember if you have commiter rights but if you haven t i am more then willing to commit and merge your changes if you have commiter rights make a branch that allways works unless you are on a slow connection like markus one thing the xmi parsing is very important to the functioning of argouml it s the load functionality you are touching there if you refactor it please surround every silabel with j unit tests i know that that part needs refactoring and i support you fully in that but if that part breaks and it comes into a development or even worse a stable release we do have a problem kind regards and off to reading something about mdr jaap original message from anders w tell open toolsmiths se to de argouml tigris org sent sunday june 22 2003 10 51 am subject re argouml dev re owner of project project member greetings linus ive been looking at the project files and see a need for refactoring for example the project manager does xmi parsing that a specialized member should do and the projectxx is very tricky to extend who should i correspond with if i want to do some refactorig and obtain a code freeze during that time anders linus tolke wrote hello anders we have not yet come around to appoint persons responsible for different parts of the code this is depending on the definition of components and the definition of components is still a work in progress linus original message from anders w tell mailto open toolsmiths se sent den 22 juni 2003 07 51 to de argouml tigris org cc linus tolke subject owner of project project member who is the current owner of project related code cheers anders projectmembertype projectmanager projectmembertype projectmanager projectmanager projectbrowser junit projectmember projectmember 1335:hi tom et al tom morris wrote the idiom project manager get manager get current project get active diagram yes it is bad since we usually want the diagram associated with the active window and we can use gef to follow globals cur editor get layer manager get active layer get diagram to get this we can break the dependency on the project manager so the argouml application has a singleton globals that keeps track of the current editor and hence the current diagram hmmm we can as well ask the current diagram what the current project is then before i deprecate project get active diagram entirely though i want to make sure that no one has a need for it say we ve got projects a b and c open with windows for diagrams a1 b3 and b4 if diagram a1 is active do we ever need to know that b3 was the last diagram in project b that was touched i don t think so and i d like to get rid of project get active diagram so people aren t tempted to use it anyone have a good reason to keep it one reason may be when you close the application i e all projects at once and select save all then we would need to know the last selected diagram per project btw we now do save the last selected diagram project b will need to be saved with diagram b3 selected and suppose we have a multi user multi project version of argouml so that one user is working on the current diagram in project a and the other user is working on the current diagram of project b so we may need a current diagram per project per user we may need to keep the project get active diagram but should get rid of project manager get manager get current project should we not deprecate this now the idiom globals cur editor get layer manager get active layer is not so bad since the cur editor represents the application or user sitting behind his computer on a related note the constructors for four fig edges are using this idiom to set their owning gef layer which seems hugely backwards to me anyone know why this is being done in the constructor instead of by the pgml parser the comments seem to imply that it s only required because of some special condition during load the four figs are fig association fig association end fig dependency and fig generalization see issue 3494 unfinished because of architecture uncertainty btw if you ever find yourself tempted to type project manager get manager get current project please don t you should be able to figure out the right project from some other piece of context that you have fully agreed in general i think we need more ownership and less dependency on a singleton that keeps track on a current something michiel projectmanager getmanager getcurrentproject getactivediagram cureditor getlayermanager getactivelayer getdiagram projectmanager getactivediagram getactivediagram getactivediagram projectmanager getmanager getcurrentproject cureditor getlayermanager getactivelayer cureditor figedges figassociation figassociationend figdependency figgeneralization projectmanager getmanager getcurrentproject 1343:a uml profile provides a set of stereotypes tagged values and constraints that can be applied to a uml model the concept of a uml profile is intrinsic to uml itself to completely write a uml model supporting java code it would be necessary to have some type of java profile containing stereotypes tagged values and constraints that describe the java environment notations are simply a convenience for users of argouml and can simply be considered a display variant java code could be designed and implemented without ever using java notation eventually profile java should disappear in favor of true uml profile support but until that point profile java is what initializes many of the picklists try to keep the distinction between the uml model and the tool presentation notations are the presentation to the user profiles provide the extensions in the model while the two appear to be related they are completely independent original message from jaap branderhorst mailto jaap xs4all nl sent tuesday july 30 2002 8 05 am to de argouml tigris org subject re argouml dev profile java ok but lets kill this provile java if a user select java or uml he still keeps using profile java i think that s not correct kind regards jaap actually not imho this class rather is the class that implements an early attempt at uml profiles formalized in uml 1 4 providing a java flavor to the modelling this class again imho will probably disappear when we implement uml 1 4 in favor of a true implementation of jsr 0026 http jcp org jsr detail 26 jsp original message from jaap branderhorst mailto jaap xs4all nl sent tuesday july 30 2002 2 35 am to de argouml tigris org subject argouml dev profile java hi anybody heard of the class profile java it defines a lot of our standard model and how we view things in the proppanels furthermore it loads default xmi i think this class and the notations should be put together kind regards jaap profilejava should profilejava profilejava provilejava profilejava profilejava profilejava 1405:i didn t implement the hash code i don t know what s the function of it jaap original message from gz zha pst ifi lmu de to de argouml tigris org sent saturday november 06 2004 8 01 pm subject re argouml dev strange null pointer exception hello my colleague hubert baumeister solved this problem there was a bug in org argouml uml diagram ui tab diagram argoj graph argoj graph defines a function hash code of its own the hash code is used by java awt repaint manager unfortunately the hash code of argoj graph is dependent of the state of the respective object and sometimes don t ask me when exactly the state of an argoj graph object changes after it has been put into an internal hash table of repaint manager and its hash code changes correspondingly therefore when repaint manager tries to find that argoj graph object by calling get it only gets a null object anybody has contact to jaap the author of argoj graph this bug should be fixed as soon as possible cheers gz hashcode nullpointerexception tabdiagram argojgraph argojgraph hashcode repaintmanager argojgraph argojgraph repaintmanager repaintmanager argojgraph argojgraph 1450:do an ant clean or just remove the build directory and try again please might have something to do with the actions refactoring and visibility issues toby markus klink wrote hi all despite a clean build latest cvs updates and update of gef i am currently not able to build i guess some of the restructuring of the org argouml ui package is incomplete i get mostly these errors extract javac error action add top level package singleton is either a misplaced package name or a non existent entity an expression name is expected in this context javac javac javac 247 j menu item cut item edit add action cut singleton javac javac error action cut singleton is either a misplaced package name or a non existent entity an expression name is expected in this context javac javac javac 250 j menu item copy item edit add action copy singleton javac javac error action copy singleton is either a misplaced package name or a non existent entity an expression name is expected in this context javac all errors have something do to with this singleton can someone fix this please or put me on the right track markus toby gmx net i seek you 12164930 vsys www informatik uni hamburg de baier actionaddtoplevelpackage jmenuitem cutitem actioncut actioncut jmenuitem copyitem actioncopy actioncopy 1518:i had been fighting with the same thing for awhile and also came up with the solution which michiel presented i would guess it is somewhere in the toolbar code markus on dienstag aug 17 2004 at 13 52 europe berlin bob tarling wrote michiel mailed me directly i m sure he won t mind it going here i haven t yet looked to see if he solved this initially i wasn t much help i did see the same problem when i tried what he did it isn t obvious why as yet i must investigate further snip if i do the following in uml activity diagram protected object get uml actions object actions action state action transition null action start pseudo state action final pseudo state action junction pseudo state action fork pseudo state action join pseudo state null action call state action object flow state action subactivity state null actioncomment actioncommentlink return actions then i get the following exception when an activity diagram is created java lang null pointer exception at java awt rectangle set bounds unknown source at javax swing repaint manager collect dirty components unknown source at javax swing repaint manager paint dirty regions unknown source at javax swing system event queue utilities component work request run unknown source at java awt event invocation event dispatch unknown source at java awt event queue dispatch event unknown source at java awt event dispatch thread pump one event for hierarchy unknown source at java awt event dispatch thread pump events for hierarchy unknown source at java awt event dispatch thread pump events unknown source at java awt event dispatch thread pump events unknown source at java awt event dispatch thread run unknown source but when i do the following then the excetion does not occur protected object get uml actions object actions action state action transition null action start pseudo state action final pseudo state action junction pseudo state action fork pseudo state action join pseudo state actionnewswimlane null action call state uncomment these action object flow state action subactivity state get extended actions null actioncomment actioncommentlink return actions private object get extended actions object actions action call state action object flow state action subactivity state return actions do you have any idea where this exception comes from and why it does not appear in the latter way snip umlactivitydiagram getumlactions actionstate actiontransition actionstartpseudostate actionfinalpseudostate actionjunctionpseudostate actionforkpseudostate actionjoinpseudostate actioncallstate actionobjectflowstate actionsubactivitystate actioncomment actioncommentlink nullpointerexception setbounds repaintmanager collectdirtycomponents repaintmanager paintdirtyregions systemeventqueueutilities componentworkrequest invocationevent eventqueue dispatchevent eventdispatchthread pumponeeventforhierarchy eventdispatchthread pumpeventsforhierarchy eventdispatchthread pumpevents eventdispatchthread pumpevents eventdispatchthread getumlactions actionstate actiontransition actionstartpseudostate actionfinalpseudostate actionjunctionpseudostate actionforkpseudostate actionjoinpseudostate actionnewswimlane actioncallstate actionobjectflowstate actionsubactivitystate getextendedactions actioncomment actioncommentlink getextendedactions actioncallstate actionobjectflowstate actionsubactivitystate 1577:hi andreas oh sorry i forgot that one for some reason your java version is confused by access to the variable shadowsize the best is to use a getter method there but i don t know if fig node model element provides one if you don t fix it now i ll fix in the next days thomas hi i still get a lot of errors in the current cvs sources compile echo compiling the sources javac compiling 275 source files to usr local argo src09 11 02 02 argouml build classes javac usr local argo src09 11 02 02 argouml src new org argouml uml diagram static structure ui fig package java 83 variable shadowsize in class org argou ml uml diagram ui fig node model element not accessible from local class org argouml uml diagram static structure ui fig package 1 javac g fill rect body getx shadowsize body gety body get height body get width shadowsize shadowsize javac javac usr local argo src09 11 02 02 argouml src new org argouml uml diagram static structure ui fig package java 83 variable shadowsize in class org argou ml uml diagram ui fig node model element not accessible from local class org argouml uml diagram static structure ui fig package 1 javac g fill rect body getx shadowsize body gety body get height body get width shadowsize shadowsize javac javac usr local argo src09 11 02 02 argouml src new org argouml uml diagram static structure ui fig package java 83 variable shadowsize in class org argou ml uml diagram ui fig node model element not accessible from local class org argouml uml diagram static structure ui fig package 1 javac g fill rect body getx shadowsize body gety body get height body get width shadowsize shadowsize javac javac usr local argo src09 11 02 02 argouml src new org argouml uml diagram static structure ui fig package java 84 variable shadowsize in class org argou ml uml diagram ui fig node model element not accessible from local class org argouml uml diagram static structure ui fig package 1 javac g fill rect body getx body get width body gety shadowsize shadowsize body get height javac javac usr local argo src09 11 02 02 argouml src new org argouml uml diagram static structure ui fig package java 84 variable shadowsize in class org argou ml uml diagram ui fig node model element not accessible from local class org argouml uml diagram static structure ui fig package 1 javac g fill rect body getx body get width body gety shadowsize shadowsize body get height javac javac usr local argo src09 11 02 02 argouml src new org argouml uml diagram static structure ui fig package java 85 variable name in class org argouml uml diagram ui fig node model element not accessible from local class org argouml uml diagram static structure ui fig package 1 javac if name get height shadowsize javac javac usr local argo src09 11 02 02 argouml src new org argouml uml diagram static structure ui fig package java 85 variable shadowsize in class org argou ml uml diagram ui fig node model element not accessible from local class org argouml uml diagram static structure ui fig package 1 javac if name get height shadowsize javac javac usr local argo src09 11 02 02 argouml src new org argouml uml diagram static structure ui fig package java 86 variable name in class org argouml uml diagram ui fig node model element not accessible from local class org argouml uml diagram static structure ui fig package 1 javac g fill rect name getx name get width name gety shadowsize shadowsize name get height shadowsize javac javac usr local argo src09 11 02 02 argouml src new org argouml uml diagram static structure ui fig package java 86 variable name in class org argouml uml diagram ui fig node model element not accessible from local class org argouml uml diagram static structure ui fig package 1 javac g fill rect name getx name get width name gety shadowsize shadowsize name get height shadowsize javac javac usr local argo src09 11 02 02 argouml src new org argouml uml diagram static structure ui fig package java 86 variable name in class org argouml uml diagram ui fig node model element not accessible from local class org argouml uml diagram static structure ui fig package 1 javac g fill rect name getx name get width name gety shadowsize shadowsize name get height shadowsize javac javac usr local argo src09 11 02 02 argouml src new org argouml uml diagram static structure ui fig package java 86 variable shadowsize in class org argou ml uml diagram ui fig node model element not accessible from local class org argouml uml diagram static structure ui fig package 1 javac g fill rect name getx name get width name gety shadowsize shadowsize name get height shadowsize javac javac usr local argo src09 11 02 02 argouml src new org argouml uml diagram static structure ui fig package java 86 variable shadowsize in class org argou ml uml diagram ui fig node model element not accessible from local class org argouml uml diagram static structure ui fig package 1 javac g fill rect name getx name get width name gety shadowsize shadowsize name get height shadowsize javac javac usr local argo src09 11 02 02 argouml src new org argouml uml diagram static structure ui fig package java 86 variable name in class org argouml uml diagram ui fig node model element not accessible from local class org argouml uml diagram static structure ui fig package 1 javac g fill rect name getx name get width name gety shadowsize shadowsize name get height shadowsize javac javac usr local argo src09 11 02 02 argouml src new org argouml uml diagram static structure ui fig package java 86 variable shadowsize in class org argou ml uml diagram ui fig node model element not accessible from local class org argouml uml diagram static structure ui fig package 1 javac g fill rect name getx name get width name gety shadowsize shadowsize name get height shadowsize javac javac note 2 files use or override a deprecated api recompile with deprecation for details javac 14 errors 1 warning build failed i know that i can fix them by using the get shadow size and get name methods but i wonder if i m the only one with these problems ciao andreas gmx die kommunikationsplattform im internet http www gmx net shadowsize fignodemodelelement src09110202 src09110202 srcnew staticstructure figpackage shadowsize fignodemodelelement staticstructure figpackage fillrect body shadowsize body body getheight body getwidth shadowsize shadowsize src09110202 srcnew staticstructure figpackage shadowsize fignodemodelelement staticstructure figpackage fillrect body shadowsize body body getheight body getwidth shadowsize shadowsize src09110202 srcnew staticstructure figpackage shadowsize fignodemodelelement staticstructure figpackage fillrect body shadowsize body body getheight body getwidth shadowsize shadowsize src09110202 srcnew staticstructure figpackage shadowsize fignodemodelelement staticstructure figpackage fillrect body body getwidth body shadowsize shadowsize body getheight src09110202 srcnew staticstructure figpackage shadowsize fignodemodelelement staticstructure figpackage fillrect body body getwidth body shadowsize shadowsize body getheight src09110202 srcnew staticstructure figpackage name fignodemodelelement staticstructure figpackage name getheight shadowsize src09110202 srcnew staticstructure figpackage shadowsize fignodemodelelement staticstructure figpackage name getheight shadowsize src09110202 srcnew staticstructure figpackage name fignodemodelelement staticstructure figpackage fillrect name name getwidth name shadowsize shadowsize name getheight shadowsize src09110202 srcnew staticstructure figpackage name fignodemodelelement staticstructure figpackage fillrect name name getwidth name shadowsize shadowsize name getheight shadowsize src09110202 srcnew staticstructure figpackage name fignodemodelelement staticstructure figpackage fillrect name name getwidth name shadowsize shadowsize name getheight shadowsize src09110202 srcnew staticstructure figpackage shadowsize fignodemodelelement staticstructure figpackage fillrect name name getwidth name shadowsize shadowsize name getheight shadowsize src09110202 srcnew staticstructure figpackage shadowsize fignodemodelelement staticstructure figpackage fillrect name name getwidth name shadowsize shadowsize name getheight shadowsize src09110202 srcnew staticstructure figpackage name fignodemodelelement staticstructure figpackage fillrect name name getwidth name shadowsize shadowsize name getheight shadowsize src09110202 srcnew staticstructure figpackage shadowsize fignodemodelelement staticstructure figpackage fillrect name name getwidth name shadowsize shadowsize name getheight shadowsize getshadowsize getname 1607:hi to be able to solve issue 4994 which is holding back the 0 26 release i need some explanation about how the profiles work some of it i may be able to find out by reading the code but any help is welcome 1 the profile manager impl keeps track of 2 lists of profiles default profiles and profiles what is the difference when are they filled and emptied 2 the profile configuration is a project member are profile configurations reused between projects or how come that the profiles are not reloaded when loading a new project regards michiel profilemanagerimpl defaultprofiles profileconfiguration projectmember profileconfigurations 1855:hi bob there will be more features that will not be undoable not only re these will be less than the undoable actions so i propose to implement it in a way that generically for all undoable actions there will be some defined behaviour offering to save is one way but i d prefer a dialog box that says that this will be undoable and that gives the following three buttons proceed save proceed abort thomas urspr ngliche nachricht von bob tarling bob gmail com an de argouml tigris org betreff re argouml dev should reverse engineering be undoable datum tue 28 jun 2005 18 28 52 0100 fine by me probably a wise thing to do anyway on 6 28 05 michiel van der wulp mv tigris org wrote hi bob if undo is disabled during re then it would be best to force the user to save before performing the re michiel original message from bob tarling bob gmail com to de argouml tigris org sent tuesday june 28 2005 1 43 pm subject argouml dev should reverse engineering be undoable i think not as its such a large single operation that is likely to blow the undo stack it may be worth having off on method of undo manager for performance reasons turning it off clears the stack and make add memento calls be ignored until it is turned back on bob no virus found in this incoming message checked by avg anti virus version 7 0 323 virus database 267 8 2 29 release date 27 06 2005 no virus found in this outgoing message checked by avg anti virus version 7 0 323 virus database 267 8 2 29 release date 27 06 2005 weitersagen gmx dsl flatrates mit tempo garantie ab 4 99 euro monat http www gmx net de go dsl undomanager addmemento 1883:dear i just commited some new features to the cognitive system i hope i commited everything that is required if there are problems drop me a mail and i fix it most of the changes evolve around preliminary support for better implementation of to do items which had been manually created by the designer if you select a couple of modelelements in a diagram and select new to do item in the todopane this selection will constitute the offenders for your particular todoitem unfortunately they do not survive a load save cycle yet your new todo item will also have a new icon note with actor cum designer which bob has contributed i am still facing some problems regarding deleted offenders they remain offenders in the todolist offender perspective but i think it is wrong to remove a todoitem which has all offenders in trash maybe i should write a critic for todoitems anyway i hope you can give me some feedback ideas as to what to implement on my own todo list i have better support for what is implemented now load save as well as being able to edit my own todoitems after i created them markus todoitems todo 1912:hi on fre 28 dez 2001 carfield yim wrote check my latest mail on the performance issues it mentions some of the classes like diagram java layer diagram java thx i guess that the class i want to find is classdiagram layouter thx a lot if you want to work on layout you should contact markus klink he s also working on it other than the performance problem you have mentioned in your past post i also curious about why the code of difference uml diagram don t have a common interface and or abstracted super class is it any important problem of doing this difference diagram should have some comon methods like add node or add edge that able to figure out a common interface methods like add node or add edge of difference uml diagram should have common logic that able to put in an abstract class isn t this is a better approach to organize the code currectly i only able to figure out how the layout part of class diagram and sequence diagram as they exist class have name layout the layouter just handles the automated layout after a import of java sources other than that it s not used at all the diagrams have commons super classes like diagram java uml diagram java iirc but there s no well defined interface that led to some essential functions that are missing like the delete method of a diagram so you could remove a diagram from your project thierry lach mentioned some time ago that he was working on similar stuff when he defined the interface for pluggable diagram types am i miss any important thing in reading the codes not really it s just grown code ciao andreas layerdiagram classdiagramlayouter addnode addedge addnode addedge umldiagram 1987:i see 2 kinds of errors the method clear model extent is undefined for the type i don t know about the other problem but this one was caused by an accidental commit of incomplete work on my part it s been backed out now my apologies to everyone on a related note as we tidy up for the developer release we seem to have a failing test unless it s been repaired since the last automated build the failing test is testuml structural feature type combo box model and it started failing three days ago 2006 03 16 23 55 23 build tom clearmodelextent testumlstructuralfeaturetypecomboboxmodel 2024:i thought i d remove this but it implemeting a method declared in tab target what s the deal i was hoping i could get rid of the variable shouldbeenabled but the above is making that tricky bob tabtarget shouldbeenabled