GeoKnow/Jassa-Core

View on GitHub
lib/sparql/DiffUtils.js

Summary

Maintainability
A
0 mins
Test Coverage
//
//var DiffUtils = {
//    getState: function(isExpected, isActual) {
//        var result;
//
//        if(isExpected) {
//            if(isActual) {
//                result = 'covered';
//            } else {
//                result = 'uncovered';
//            }
//        } else {
//            if(isActual) {
//                result = 'excessive';
//            } else {
//                result = 'invalid';
//            }
//        }
//
//        return result;
//    },
//
//    /**
//     * This methods expects the following structure for both of the arguments:
//     * Map<Node, Map<Node, List<Node>>>
//     *
//     * @param expected
//     * @param actual
//     * @returns
//     */
//    createDiff: function(expected, actual) {
//
//
//        var result = DiffUtils.diffResource(expected, actual, function(expected, actual) {
//            var result = DiffUtils.diffResource(expected, actual, function(expected, actual) {
//                var result = DiffUtils.diffObjects(_.values(expected), _.values(actual));
//                return result;
//            });
//            return result;
//        });
//
//        return result;
//    },
//
//    /**
//     * Expects hashmaps as input
//     *
//     * @param expected
//     * @param actual
//     * @param fnProcessChildren
//     * @returns {Array}
//     */
//    diffResource: function(expected, actual, fnProcessChildren) {
//        var result = [];
//
//        // Get all subjects
//        var items =
//            _.chain(_.keys(expected))
//            .union(_.keys(actual))
//            .uniq()
//            .sort()
//            .value();
//
//        //console.log("[diffResource] items: ", items)
//
//        for(var i = 0; i < items.length; ++i) {
//            var item = items[i];
//
//            //console.log('[diffResource] item:', item);
//
//            var isExpected = item in expected;
//            var isActual = item in actual;
//
//            var state = DiffUtils.getState(isExpected, isActual);
//
//            var expectedChildren = item in expected ? expected[item] : {};
//            var actualChildren = item in actual ? actual[item] : {};
//
//            var children = fnProcessChildren(expectedChildren, actualChildren);
//
//            result.push({
//                item: item,
//                state: state,
//                children: children
//            });
//        }
//
//        return result;
//    },
//
//    diffObjects: function(expected, actual) {
//
//        var union = [];
//        union.push.apply(all, expected);
//        union.push.apply(all, actual);
//
////        var items = _.chain().union(expected, actual).uniq(false, rdfObjectToString).sortBy(rdfObjectToString).value();
//
//        var uniq = _.uniq(union, false, rdfObjectToString);
//        var items = _.sortBy(uniq, rdfObjectToString);
//        //console.log("items", items, expected, actual);
//
//
//        var result = [];
//
//        for(var i = 0; i < items.length; ++i) {
//            var item = items[i];
//
//            var isExpected = myIndexOf(expected, item) != -1;
//            var isActual = myIndexOf(actual, item) != -1;
//            //console.log("On item: ", item, isExpected, isActual);
//
//            var state = ns.getState(isExpected, isActual);
//
//            var resultItem = {
//                item: item,
//                state:state
//            };
//
//            result.push(resultItem);
//        }
//
//        return result;
//    },
//
//
//    /* Forget about the rest of the code - No more rendering in Js thanks to Angular
//    ns.renderResource = function(item) {
//        var str = item.item;
//        for(var key in predicatesURLs){
//            if(str.indexOf(key) !== -1){
//                str = str.replace(key, predicatesURLs[key]+":");
//                break;
//            }
//        }
//        var text = utils.escapeHTML(str);
//        var result = '<span class="' + item.state + '">' + text + '</span>';
//
//        return result;
//    }
//
//    ns.renderObject = function(item) {
//        var json = item.item;
//        var node = sparql.Node.fromJson(json);
//        var str = node.toString();
//        var text = utils.escapeHTML(str);
//        var result = '<span class="' + item.state + '">' + text + '</span>';
//
//        return result;
//    }
//
//    ns.renderDiff = function(subjects) {
//
//        var result = '';
//
//        // collapsible details
//        result += '<div class="accordion" id="resultAccordion'+widgetsCount+'">';
//        result += '<div class="accordion-group">';
//        result += '<div class="accordion-heading">';
//        //result += '<a class="accordion-toggle" data-toggle="collapse" data-parent="#resultAccordion'+widgetsCount+'" href="#collapseDetails'+widgetsCount+'">Show details</a>';
//        result += '</div>';
//        result += '<div id="collapseDetails'+widgetsCount+'" class="accordion-body">'; //collapse
//        result += '<div class="accordion-inner">';
//
//        // data rendering stuff
//        result += '<ul class="separated bullets-none">';
//
//        for(var i = 0; i < subjects.length; ++i) {
//            var subject = subjects[i];
//
//            result += '</li>';
////                result += '<tr>'
////                result += '<td>';
//            result += ns.renderResource(subject);
//            //result += '</td><td>';
//
//            var predicateStr = '<table class="separated-vertical" style="margin-left:15px; margin-bottom: 15px;">';
//
//            // TODO color
//            var predicates = subject.children;
//
//            for(var j = 0; j < predicates.length; ++j) {
//                var predicate = predicates[j];
//
//                predicateStr += '<tr>';
//                predicateStr += '<td style=" vertical-align: top;">' + ns.renderResource(predicate) + '</td>';
//
//                var objectStr = '<td><ul class="separated bullets-none">';
//
//                var objects = predicate.children;
//                for(var k = 0; k < objects.length; ++k) {
//                    var object = objects[k];
//
//                    var str = ns.renderObject(object);
//
//                    objectStr += '<li>' + str + '</li>';
//                }
//
//                objectStr += '</ul></td>';
//
//                predicateStr += objectStr;
//                predicateStr += '</tr>';
//            }
//
//            predicateStr += '</table>';
//
//            result += predicateStr;
//
//            //result += '</td>';
//            //result += '</tr>';
//            result += '</li>';
//
//        }
//
//        //result += "</table>"
//        result += '</ul>';
//
//        // close collapsible
//        result += '</div>';
//        result += '</div>';
//        result += '</div>';
//        result += '</div>';
//
//        // increase widget count
//        widgetsCount++;
//
//        return result;
//    }
//*/
//
//};
//
//module.exports = DiffUtils;
//