2010/3/19 Fernando olivero <[email protected]>:
> Lukas, i have the following problem:
> model  := RBNamespace new.
> Then executing successive RenameRefactoring's using the same model yields an
> Error.
> 1. ClassA -> ClassA2 OK
> 2. ClassA2 -> ClassA3 OK
> 3. ClassA3 -> ClassA4  ERROR!
>
> I've tracked it down to this:
> Lukas, do you think i'm incorrectly using the namespace and refactoring's?

Yeah, probably you are using it incorrectly.

Just call #primtiveExecute on the refactoring if you only want to
apply it to the RBNamespace model.

> Are namespace supposed to be used once and later ditched?

RBNamespace provides a view on the system that can be manipulated
without touching the actual system. The class has a horrible name, it
should rather be called RBSmalltalkModel or something. After several
operations all the changes can then be applied in a single "atomic"
operation using:

     aNamespace changes execute

> My goal is to have a GauchoSystem which nows all the changes (with undos!)
> that have happened, that's why i'm using always the same namespace.

RBNamespace is a delta to the real system. You don't want to keep it
around for too long. You perform some operations on it, you commit
them to the image, and then you use a new instance. That's the basic
workflow.

The undoes are kept separate in RefactoryChangeManager.

Lukas

-- 
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to