Skip to content

Commit

Permalink
Change - For Issue #61 and #67
Browse files Browse the repository at this point in the history
  • Loading branch information
NileshGhodekar committed Jan 11, 2019
1 parent 401699a commit 024e762
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 5 deletions.
10 changes: 10 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
4 changes: 2 additions & 2 deletions src/VersionInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ internal static class VersionInfo
/// 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:
Expand All @@ -31,6 +31,6 @@ internal static class VersionInfo
/// 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";
}
}
15 changes: 12 additions & 3 deletions src/WorkflowActivityLibrary/Activities/GenerateUniqueValue.cs
Original file line number Diff line number Diff line change
Expand Up @@ -538,15 +538,24 @@ private void SetAttributesToReadForConflictResources()
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()));
}
Expand Down

0 comments on commit 024e762

Please sign in to comment.