Change logger to log

This commit is contained in:
harshilparmar
2021-02-06 15:56:05 +05:30
parent edd7bc7197
commit 7019a1149d
41 changed files with 366 additions and 376 deletions

View File

@@ -1,7 +1,7 @@
/**
* Decorates with functions required by mermaids dagre-wrapper.
*/
import { logger } from '../logger';
import { log } from '../logger';
import graphlib from 'graphlib';
export let clusterDb = {};
@@ -17,7 +17,7 @@ export const clear = () => {
const isDecendant = (id, ancenstorId) => {
// if (id === ancenstorId) return true;
logger.debug(
log.debug(
'In isDecendant',
ancenstorId,
' ',
@@ -31,17 +31,17 @@ const isDecendant = (id, ancenstorId) => {
};
const edgeInCluster = (edge, clusterId) => {
logger.info('Decendants of ', clusterId, ' is ', decendants[clusterId]);
logger.info('Edge is ', edge);
log.info('Decendants of ', clusterId, ' is ', decendants[clusterId]);
log.info('Edge is ', edge);
// Edges to/from the cluster is not in the cluster, they are in the parent
if (edge.v === clusterId) return false;
if (edge.w === clusterId) return false;
if (!decendants[clusterId]) {
logger.debug('Tilt, ', clusterId, ',not in decendants');
log.debug('Tilt, ', clusterId, ',not in decendants');
return false;
}
logger.info('Here ');
log.info('Here ');
if (decendants[clusterId].indexOf(edge.v) >= 0) return true;
if (isDecendant(edge.v, clusterId)) return true;
@@ -52,7 +52,7 @@ const edgeInCluster = (edge, clusterId) => {
};
const copy = (clusterId, graph, newGraph, rootId) => {
logger.warn(
log.warn(
'Copying children of ',
clusterId,
'root',
@@ -68,26 +68,26 @@ const copy = (clusterId, graph, newGraph, rootId) => {
nodes.push(clusterId);
}
logger.warn('Copying (nodes) clusterId', clusterId, 'nodes', nodes);
log.warn('Copying (nodes) clusterId', clusterId, 'nodes', nodes);
nodes.forEach(node => {
if (graph.children(node).length > 0) {
copy(node, graph, newGraph, rootId);
} else {
const data = graph.node(node);
logger.info('cp ', node, ' to ', rootId, ' with parent ', clusterId); //,node, data, ' parent is ', clusterId);
log.info('cp ', node, ' to ', rootId, ' with parent ', clusterId); //,node, data, ' parent is ', clusterId);
newGraph.setNode(node, data);
if (rootId !== graph.parent(node)) {
logger.warn('Setting parent', node, graph.parent(node));
log.warn('Setting parent', node, graph.parent(node));
newGraph.setParent(node, graph.parent(node));
}
if (clusterId !== rootId && node !== clusterId) {
logger.debug('Setting parent', node, clusterId);
log.debug('Setting parent', node, clusterId);
newGraph.setParent(node, clusterId);
} else {
logger.info('In copy ', clusterId, 'root', rootId, 'data', graph.node(clusterId), rootId);
logger.debug(
log.info('In copy ', clusterId, 'root', rootId, 'data', graph.node(clusterId), rootId);
log.debug(
'Not Setting parent for node=',
node,
'cluster!==rootId',
@@ -97,19 +97,19 @@ const copy = (clusterId, graph, newGraph, rootId) => {
);
}
const edges = graph.edges(node);
logger.debug('Copying Edges', edges);
log.debug('Copying Edges', edges);
edges.forEach(edge => {
logger.info('Edge', edge);
log.info('Edge', edge);
const data = graph.edge(edge.v, edge.w, edge.name);
logger.info('Edge data', data, rootId);
log.info('Edge data', data, rootId);
try {
// Do not copy edges in and out of the root cluster, they belong to the parent graph
if (edgeInCluster(edge, rootId)) {
logger.info('Copying as ', edge.v, edge.w, data, edge.name);
log.info('Copying as ', edge.v, edge.w, data, edge.name);
newGraph.setEdge(edge.v, edge.w, data, edge.name);
logger.info('newGraph edges ', newGraph.edges(), newGraph.edge(newGraph.edges()[0]));
log.info('newGraph edges ', newGraph.edges(), newGraph.edge(newGraph.edges()[0]));
} else {
logger.info(
log.info(
'Skipping copy of edge ',
edge.v,
'-->',
@@ -121,16 +121,16 @@ const copy = (clusterId, graph, newGraph, rootId) => {
);
}
} catch (e) {
logger.error(e);
log.error(e);
}
});
}
logger.debug('Removing node', node);
log.debug('Removing node', node);
graph.removeNode(node);
});
};
export const extractDecendants = (id, graph) => {
// logger.debug('Extracting ', id);
// log.debug('Extracting ', id);
const children = graph.children(id);
let res = [].concat(children);
@@ -149,14 +149,14 @@ export const extractDecendants = (id, graph) => {
*/
export const validate = graph => {
const edges = graph.edges();
logger.trace('Edges: ', edges);
log.trace('Edges: ', edges);
for (let i = 0; i < edges.length; i++) {
if (graph.children(edges[i].v).length > 0) {
logger.trace('The node ', edges[i].v, ' is part of and edge even though it has children');
log.trace('The node ', edges[i].v, ' is part of and edge even though it has children');
return false;
}
if (graph.children(edges[i].w).length > 0) {
logger.trace('The node ', edges[i].w, ' is part of and edge even though it has children');
log.trace('The node ', edges[i].w, ' is part of and edge even though it has children');
return false;
}
}
@@ -170,18 +170,18 @@ export const validate = graph => {
*/
export const findNonClusterChild = (id, graph) => {
// const node = graph.node(id);
logger.trace('Searching', id);
log.trace('Searching', id);
// const children = graph.children(id).reverse();
const children = graph.children(id); //.reverse();
logger.trace('Searching children of id ', id, children);
log.trace('Searching children of id ', id, children);
if (children.length < 1) {
logger.trace('This is a valid node', id);
log.trace('This is a valid node', id);
return id;
}
for (let i = 0; i < children.length; i++) {
const _id = findNonClusterChild(children[i], graph);
if (_id) {
logger.trace('Found replacement for', id, ' => ', _id);
log.trace('Found replacement for', id, ' => ', _id);
return _id;
}
}
@@ -205,17 +205,17 @@ const getAnchorId = id => {
export const adjustClustersAndEdges = (graph, depth) => {
if (!graph || depth > 10) {
logger.debug('Opting out, no graph ');
log.debug('Opting out, no graph ');
return;
} else {
logger.debug('Opting in, graph ');
log.debug('Opting in, graph ');
}
// Go through the nodes and for each cluster found, save a replacment node, this can be used when
// faking a link to a cluster
graph.nodes().forEach(function(id) {
const children = graph.children(id);
if (children.length > 0) {
logger.warn(
log.warn(
'Cluster identified',
id,
' Replacement id in edges: ',
@@ -231,9 +231,9 @@ export const adjustClustersAndEdges = (graph, depth) => {
const children = graph.children(id);
const edges = graph.edges();
if (children.length > 0) {
logger.debug('Cluster identified', id, decendants);
log.debug('Cluster identified', id, decendants);
edges.forEach(edge => {
// logger.debug('Edge, decendants: ', edge, decendants[id]);
// log.debug('Edge, decendants: ', edge, decendants[id]);
// Check if any edge leaves the cluster (not the actual cluster, thats a link from the box)
if (edge.v !== id && edge.w !== id) {
@@ -245,14 +245,14 @@ export const adjustClustersAndEdges = (graph, depth) => {
// d1 xor d2 - if either d1 is true and d2 is false or the other way around
if (d1 ^ d2) {
logger.warn('Edge: ', edge, ' leaves cluster ', id);
logger.warn('Decendants of XXX ', id, ': ', decendants[id]);
log.warn('Edge: ', edge, ' leaves cluster ', id);
log.warn('Decendants of XXX ', id, ': ', decendants[id]);
clusterDb[id].externalConnections = true;
}
}
});
} else {
logger.debug('Not a cluster ', id, decendants);
log.debug('Not a cluster ', id, decendants);
}
});
@@ -260,13 +260,13 @@ export const adjustClustersAndEdges = (graph, depth) => {
// in the cluster inorder to fake the edge
graph.edges().forEach(function(e) {
const edge = graph.edge(e);
logger.warn('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e));
logger.warn('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(graph.edge(e)));
log.warn('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e));
log.warn('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(graph.edge(e)));
let v = e.v;
let w = e.w;
// Check if link is either from or to a cluster
logger.warn(
log.warn(
'Fix XXX',
clusterDb,
'ids:',
@@ -278,20 +278,20 @@ export const adjustClustersAndEdges = (graph, depth) => {
clusterDb[e.w]
);
if (clusterDb[e.v] || clusterDb[e.w]) {
logger.warn('Fixing and trixing - removing XXX', e.v, e.w, e.name);
log.warn('Fixing and trixing - removing XXX', e.v, e.w, e.name);
v = getAnchorId(e.v);
w = getAnchorId(e.w);
graph.removeEdge(e.v, e.w, e.name);
if (v !== e.v) edge.fromCluster = e.v;
if (w !== e.w) edge.toCluster = e.w;
logger.warn('Fix Replacing with XXX', v, w, e.name);
log.warn('Fix Replacing with XXX', v, w, e.name);
graph.setEdge(v, w, edge, e.name);
}
});
logger.warn('Adjusted Graph', graphlib.json.write(graph));
log.warn('Adjusted Graph', graphlib.json.write(graph));
extractor(graph, 0);
logger.trace(clusterDb);
log.trace(clusterDb);
// Remove references to extracted cluster
// graph.edges().forEach(edge => {
@@ -302,9 +302,9 @@ export const adjustClustersAndEdges = (graph, depth) => {
};
export const extractor = (graph, depth) => {
logger.warn('extractor - ', depth, graphlib.json.write(graph), graph.children('D'));
log.warn('extractor - ', depth, graphlib.json.write(graph), graph.children('D'));
if (depth > 10) {
logger.error('Bailing out');
log.error('Bailing out');
return;
}
// For clusters without incoming and/or outgoing edges, create a new cluster-node
@@ -319,16 +319,16 @@ export const extractor = (graph, depth) => {
}
if (!hasChildren) {
logger.debug('Done, no node has children', graph.nodes());
log.debug('Done, no node has children', graph.nodes());
return;
}
// const clusters = Object.keys(clusterDb);
// clusters.forEach(clusterId => {
logger.debug('Nodes = ', nodes, depth);
log.debug('Nodes = ', nodes, depth);
for (let i = 0; i < nodes.length; i++) {
const node = nodes[i];
logger.debug(
log.debug(
'Extracting node',
node,
clusterDb,
@@ -343,7 +343,7 @@ export const extractor = (graph, depth) => {
// that it still is in the game
if (!clusterDb[node]) {
// Skip if the node is not a cluster
logger.debug('Not a cluster', node, depth);
log.debug('Not a cluster', node, depth);
// break;
} else if (
!clusterDb[node].externalConnections &&
@@ -351,7 +351,7 @@ export const extractor = (graph, depth) => {
graph.children(node) &&
graph.children(node).length > 0
) {
logger.warn(
log.warn(
'Cluster without external connections, without a parent and with children',
node,
depth
@@ -375,7 +375,7 @@ export const extractor = (graph, depth) => {
return {};
});
logger.warn('Old graph before copy', graphlib.json.write(graph));
log.warn('Old graph before copy', graphlib.json.write(graph));
copy(node, graph, clusterGraph, node);
graph.setNode(node, {
clusterNode: true,
@@ -384,10 +384,10 @@ export const extractor = (graph, depth) => {
labelText: clusterDb[node].labelText,
graph: clusterGraph
});
logger.warn('New graph after copy node: (', node, ')', graphlib.json.write(clusterGraph));
logger.debug('Old graph after copy', graphlib.json.write(graph));
log.warn('New graph after copy node: (', node, ')', graphlib.json.write(clusterGraph));
log.debug('Old graph after copy', graphlib.json.write(graph));
} else {
logger.warn(
log.warn(
'Cluster ** ',
node,
' **not meeting the criteria !externalConnections:',
@@ -399,16 +399,16 @@ export const extractor = (graph, depth) => {
graph.children('D'),
depth
);
logger.debug(clusterDb);
log.debug(clusterDb);
}
}
nodes = graph.nodes();
logger.warn('New list of nodes', nodes);
log.warn('New list of nodes', nodes);
for (let i = 0; i < nodes.length; i++) {
const node = nodes[i];
const data = graph.node(node);
logger.warn(' Now next level', node, data);
log.warn(' Now next level', node, data);
if (data.clusterNode) {
extractor(data.graph, depth + 1);
}