ClassChange.st
branchjv
changeset 3435 d15ba356cc58
parent 3422 9e7c2aec7846
child 3838 474d8ec95b33
--- a/ClassChange.st	Sun Feb 02 14:26:36 2014 +0000
+++ b/ClassChange.st	Tue Feb 04 21:01:56 2014 +0100
@@ -51,7 +51,7 @@
         owningClassName <String|nil> .. class name of the owning class if any
         nameSpaceName <String|nil> .... namespace name of the change or nil, if
                                         class is in no namespace.
-        nameSpaceOverride <String|nil>  enforced namespace in which the class will 
+        nameSpaceOverride <NameSpace|nil>  enforced namespace in which the class will 
                                         should be installed.
 "
 ! !
@@ -263,8 +263,8 @@
 
 fullClassName
     "Returns fully qualified class name, i.e., including namespace in which the
-     class should be installed (i.e., the override namespace if any rather than
-     original namespace)"
+     class should be installed (i.e., the override namespace (if any) rather than
+     original namespace (of any))"
 
     |ns|
 
@@ -277,7 +277,7 @@
 
     ^ ns , '::' , self className
 
-    "Modified (comment): / 12-06-2013 / 11:35:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (comment): / 04-02-2014 / 19:29:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 localClassName
@@ -330,7 +330,7 @@
 
 "/  JV: I commented following It is not clear to how it is supposed to
 "/      work. If anybody wants this back, he/she should first write
-"/      a testcase to demonstare how it should work.
+"/      a testcase to demonstrate how it should work.
 
 "/    (idx := className indexOf:$.) ~~ 0 ifTrue:[
 "/        "/ in a namespace
@@ -344,7 +344,7 @@
 
     "Modified: / 03-08-2006 / 02:04:03 / cg"
     "Modified: / 11-06-2013 / 15:03:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified (comment): / 12-06-2013 / 11:33:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (comment): / 04-02-2014 / 17:54:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 nameSpaceName: aString
@@ -354,20 +354,25 @@
 !
 
 nameSpaceOverride
-    "Return namespace enforced by the caller"
+    "Return namespace enforced by the caller.
+
+    NOTE: This code used to use `Class nameSpaceQuerySignal` to
+    allow enforcing namespace by query. This made the code more
+    complicated and was used only by Tools::ChangeSetBrowser2 so
+    it was removed. 
+
+    To apply change in particular namespace, use nameSpaceOverride:.
+    You may use applyWithNameSpaceOverride: for your convenience.
+    "
 
     |ns|
 
     ns := nameSpaceOverride.
-    (ns isNil and:[Class nameSpaceQuerySignal isHandled]) ifTrue:[
-        ns := Class nameSpaceQuerySignal query.
-    ].
     ns isNil ifTrue:[^ nil].
     ^ ns name
 
     "Created: / 07-09-2011 / 20:45:43 / cg"
-    "Modified: / 11-06-2013 / 16:07:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified (comment): / 12-06-2013 / 11:31:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (comment): / 04-02-2014 / 18:33:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 nameSpaceOverride:aNamespaceOrString
@@ -439,6 +444,19 @@
 "/    ].
 
     "Modified: / 29-01-2011 / 12:28:03 / cg"
+!
+
+applyWithNameSpaceOverride: nameSpaceOrNameSpaceName
+    "Apply the change, overriding a namespace to given one"
+
+    | savedNameSpaceOverride |
+
+    savedNameSpaceOverride := nameSpaceOverride.
+    nameSpaceOverride := nameSpaceOrNameSpaceName.
+    self apply.
+    nameSpaceOverride := savedNameSpaceOverride
+
+    "Created: / 04-02-2014 / 18:24:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !ClassChange methodsFor:'printing & storing'!