This commit is contained in:
NileshGhodekar 2019-01-11 07:25:16 +00:00
Родитель 401699abc2
Коммит 024e762bb3
3 изменённых файлов: 24 добавлений и 5 удалений

Просмотреть файл

@ -7,8 +7,17 @@ All notable changes to MIMWAL project will be documented in this file. The "Unre
* Support for multi-valued attributes in `[//Effective]` lookup in AuthZ workflows.
* Implement Approve Request Activity.
* Support for `[//Value]` lookups in Query definitions across rest of the activities.
------------
### Version 2.19.0111.0
#### Changed
* [Generate Unique Value Activity][GenerateUniqueValueActivity] now has the Conflict Filter search optimisation logic for the *starts-with* XPath function as documented in the [Wiki](https://github.com/Microsoft/MIMWAL/wiki/Generate-Unique-Value-Activity#conflict-filter) turned off by default.
To get the backward compatible behaviour, define the app setting GenerateUniqueValueActivity_OptimizeUniquenessKey = true in the FIMService app.config.
------------
### Version 2.18.1110.0
#### Changed
@ -278,3 +287,4 @@ All notable changes to MIMWAL project will be documented in this file. The "Unre
[WordFunction]: https://github.com/Microsoft/MIMWAL/wiki/Word-Function
[WrapXPathFilterFunction]: https://github.com/Microsoft/MIMWAL/wiki/WrapXPathFilter-Function
[MIMWalFunctionsTable]: https://github.com/Microsoft/MIMWAL/wiki/Functions-Table
[GenerateUniqueValueActivity]: https://github.com/Microsoft/MIMWAL/wiki/Generate-Unique-Value-Activity

Просмотреть файл

@ -22,7 +22,7 @@ namespace MicrosoftServices.IdentityManagement.WorkflowActivityLibrary
/// Build Number (MMDD)
/// Revision (if any on the same day)
/// </summary>
internal const string Version = "2.19.0110.0";
internal const string Version = "2.19.0111.0";
/// <summary>
/// File Version information for the assembly consists of the following four values:
@ -31,6 +31,6 @@ namespace MicrosoftServices.IdentityManagement.WorkflowActivityLibrary
/// Build Number (MMDD)
/// Revision (if any on the same day)
/// </summary>
internal const string FileVersion = "2.19.0110.0";
internal const string FileVersion = "2.19.0111.0";
}
}

Просмотреть файл

@ -538,15 +538,24 @@ namespace MicrosoftServices.IdentityManagement.WorkflowActivityLibrary.Activitie
while (startIndex != -1)
{
int endIndex = filter.IndexOf(endToken, startIndex, StringComparison.OrdinalIgnoreCase);
string s = filter.Substring(startIndex + startTokenLength + 1, endIndex - (startIndex + startTokenLength + 1)).Trim(new char[] { ' ', '(', ',' });
attributes.Add(s);
if (endIndex != -1)
{
string s = filter.Substring(startIndex + startTokenLength + 1, endIndex - (startIndex + startTokenLength + 1)).Trim(new char[] { ' ', '(', ',' });
attributes.Add(s);
}
else
{
// just increment - should never be here as now this function should not get called unless this.optimizeUniquenessKey is set true via app.cong. Issue #61
endIndex = startIndex + startTokenLength;
}
filter = filter.Substring(endIndex);
startIndex = filter.IndexOf(startToken, StringComparison.Ordinal);
}
if (attributes.Count > 0)
{
this.optimizeUniquenessKey = true;
////this.optimizeUniquenessKey = true; // Now this flag can only be set by app.config.
this.FindConflict.Attributes = attributes.ToArray();
Logger.Instance.WriteVerbose(EventIdentifier.GenerateUniqueValueSetAttributesToReadForConflictResources, "Filter: '{0}'. Attributes: '{1}'.", this.ConflictFilter, string.Join(";", attributes.ToArray()));
}