Skip to content

Commit d56de24

Browse files
committed
enh: mappings expand <namespace> parameter
1 parent 82994ee commit d56de24

File tree

3 files changed

+7
-2
lines changed

3 files changed

+7
-2
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
### Added
1111
- Expanded Baseline Export to include custom HL7, X12, ASTM schemas and Lookup Tables (#693)
12+
- Mapping configuration expands \<namespace\> parameter to support namespace-specific mappings (#710)
1213
- Settings page includes a test of the connection to the remote (#746)
1314

1415
### Fixed

cls/SourceControl/Git/Utils.cls

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2425,10 +2425,12 @@ ClassMethod Name(InternalName As %String, ByRef MappingExists As %Boolean) As %S
24252425

24262426
ClassMethod ExpandMappingParameters(MapDirectory, Settings As SourceControl.Git.Settings = {##class(SourceControl.Git.Settings).%New()})
24272427
{
2428-
return $replace(MapDirectory,"<env>", $zconvert($select(
2428+
set expandedDir = $replace(MapDirectory,"<env>", $zconvert($select(
24292429
Settings.environmentName = "": "DEVELOPMENT",
24302430
1: Settings.environmentName)
24312431
,"l"))
2432+
set expandedDir = $replace(expandedDir,"<namespace>", $zconvert($namespace,"l"))
2433+
return expandedDir
24322434
}
24332435

24342436
/// Implementation copied from %Library.RoutineMgr, but with results cached in a PPG.

test/UnitTest/SourceControl/Git/NameTest.cls

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,16 +64,18 @@ Method TestMixedFoldering()
6464
do $$$AssertEquals(##class(Utils).Name("TestPackage.Hello.World.mac"),"rtn/TestPackage/Hello/World.mac")
6565
}
6666

67-
Method TestEnvExpansion()
67+
Method TestParamExpansion()
6868
{
6969
try {
7070
set $$$SourceMapping("ESD","*") = "config/<env>/"
7171
set $$$SourceMapping("ESD","*","NoFolders") = 1
72+
set $$$SourceMapping("CLS","*") = "<namespace>/cls/"
7273
set settings = ##class(SourceControl.Git.Settings).%New()
7374
set oldEnvName = settings.environmentName
7475
set settings.environmentName = "TEST"
7576
$$$ThrowOnError(settings.%Save())
7677
do $$$AssertEquals(##class(SourceControl.Git.Utils).Name("Ens.Config.DefaultSettings.esd"),"config/test/Ens.Config.DefaultSettings.esd")
78+
do $$$AssertEquals(##class(SourceControl.Git.Utils).Name("test.class.cls"),$zconvert($namespace,"l")_"/cls/test/class.cls")
7779
} catch err {
7880
do $$$AssertStatusOK(err.AsStatus())
7981
}

0 commit comments

Comments
 (0)