Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <Environment name="cnv">
- <Files>
- <File uri="http://x/xqy_load.addressbook.vendor.div13.xquery"/>
- <File uri="http:/x/pip_load.vendor.div13.pipeline"/>
- </Files>
- <Replacements>
- <Replacement match="ddtek:sql-insert(.*?)," replacement="ddtek:sql-insert("sqlserver_us09sqldev_1433:JDE_CNV.CNVDTA.F0101Z2","/>
- <Replacement match="<collection name=(.*?)url=(.*?)/>" replacement="<collection name="sqlserver_us09sqldev_1433" url="jdbc:xquery:sqlserver://us09sqldev:1433;schema=CNVDTA;table=F0101Z2;user=sa;password=x;xmlforest=true;DatabaseName=JDE_CNV;urltype=.xml"/>"/>
- <Replacement match="<xquery-collection name=(.*?)value=(.*?)/>" replacement="<xquery-collection name="sqlserver_us09sqldev_1433" value="jdbc:xquery:sqlserver://us09sqldev:1433;schema=CNVDTA;table=F0101Z2;user=sa;password=x;xmlforest=true;DatabaseName=JDE_CNV;urltype=.xml"/>"/>
- <Replacement match="<merged-xquery-collection name=(.*?)value=(.*?)/>" replacement="<merged-xquery-collection name="sqlserver_us09sqldev_1433" value="jdbc:xquery:sqlserver://us09sqldev:1433;schema=CNVDTA;table=F0101Z2;user=sa;password=x;xmlforest=true;DatabaseName=JDE_CNV;urltype=.xml"/>"/>
- </Replacements>
- </Environment>
- function getFromUri([String]$uri, [System.Text.Encoding]$encoding = [System.Text.Encoding]::UTF8)
- {
- Write-Host "`t`t=> GET ($encoding) $([System.IO.Path]::GetFileName($uri))";
- $webClient = new-object System.Net.WebClient;
- $webClient.Encoding = $encoding
- $webClient.UseDefaultCredentials = $true;
- return $webClient.DownloadString($uri);
- };
- function putToUri([String]$uri, [String]$data, [System.Text.Encoding]$encoding = [System.Text.Encoding]::UTF8)
- {
- Write-Host "`t`t=> PUT ($encoding) $([System.IO.Path]::GetFileName($uri))";
- $webClient = new-object System.Net.WebClient;
- $webClient.Encoding = $encoding;
- $webClient.UseDefaultCredentials = $true;
- return $webClient.UploadString($uri,"PUT",$data);
- };
- function executeRegex([String]$uri, [System.Xml.XmlElement]$node)
- {
- Write-Host "`t=> Executing replacement on $([System.IO.Path]::GetFileName($uri))";
- $file = getFromUri -uri $uri;
- $node.Replacement | foreach { $file = $file -replace $_.match, $_.replacement };
- putToUri -uri $uri -data $file;
- };
- # main entry
- function AriadneChangeEnvironment([string]$toEnvironment, [string]$adminXmlUri)
- {
- Write-Host "=> Changing Ariadne Environment => '$toEnvironment'";
- $adminXml = [xml](getFromUri -uri $adminXmlUri);
- $toEnvironmentXml = $adminXml.Administration.Environments.Environment | where { $_.name -eq $toEnvironment };
- $toEnvironmentXml.Files.File | foreach { executeRegex -uri $_.uri -node $toEnvironmentXml.Replacements };
- Write-Host "=> Finished.";
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement