Exemple #1
0
 private ConflictContext(ConflictContext context, Conflict subconflict)
 {
     r_conflicts = new List <Conflict>(context.r_conflicts)
     {
         subconflict
     };
 }
        public override Difference Resolve(
                    ConflictContext context,
                    OperationTypeConflictResolver operationTypeConflictResolver,
                    ValueConflictResolver valueConflictResolver)
        {
            foreach (var subconflict in new List<Conflict>(r_subconflicts)) // Iterate on a copy of the list to be able to modify the original list in the loop
            {
                var resolvedDifference = subconflict.Resolve(context.CreateSubcontext(this), operationTypeConflictResolver, valueConflictResolver);
                if (resolvedDifference != null)
                {
                    r_subconflicts.Remove(subconflict);
                    r_acceptedSubdifferences.Add(resolvedDifference);
                }
            }

            if (r_subconflicts.Count == 0)
            {
                return new NodeDifference(
                            this.Identifier,
                            r_operationOnParent,
                            r_acceptedSubdifferences);
            }
            else
            {
                return null;
            }
        }
        public override Difference Resolve(
            ConflictContext context,
            OperationTypeConflictResolver operationTypeConflictResolver,
            ValueConflictResolver valueConflictResolver)
        {
            foreach (var subconflict in new List <Conflict>(r_subconflicts)) // Iterate on a copy of the list to be able to modify the original list in the loop
            {
                var resolvedDifference = subconflict.Resolve(context.CreateSubcontext(this), operationTypeConflictResolver, valueConflictResolver);
                if (resolvedDifference != null)
                {
                    r_subconflicts.Remove(subconflict);
                    r_acceptedSubdifferences.Add(resolvedDifference);
                }
            }

            if (r_subconflicts.Count == 0)
            {
                return(new NodeDifference(
                           this.Identifier,
                           r_operationOnParent,
                           r_acceptedSubdifferences));
            }
            else
            {
                return(null);
            }
        }
 public override Difference Resolve(
             ConflictContext context,
             OperationTypeConflictResolver operationTypeConflictResolver,
             ValueConflictResolver valueConflictResolver)
 {
     var resolvedValue = valueConflictResolver(context.CreateSubcontext(this), r_newValueInSourceBranch, r_newValueInDestinationBranch);
     return resolvedValue == null
                 ? null
                 : new ValueDifference(this.Identifier, this.OperationOnParent, r_oldValue, resolvedValue);
 }
Exemple #5
0
        public override Difference Resolve(
            ConflictContext context,
            OperationTypeConflictResolver operationTypeConflictResolver,
            ValueConflictResolver valueConflictResolver)
        {
            var resolvedValue = valueConflictResolver(context.CreateSubcontext(this), r_newValueInSourceBranch, r_newValueInDestinationBranch);

            return(resolvedValue == null
                        ? null
                        : new ValueDifference(this.Identifier, this.OperationOnParent, r_oldValue, resolvedValue));
        }
 private ConflictContext(ConflictContext context, Conflict subconflict)
 {
     r_conflicts = new List<Conflict>(context.r_conflicts) {subconflict};
 }