Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
05fd8a9
Merging resources object across multiple feature packages
biswajit-mandal Jul 18, 2014
0aac88d
Added support for specifying multiple resources for each feature in m…
knagakiran Jul 18, 2014
4d4a528
Missed merging resources in some places
biswajit-mandal Jul 18, 2014
d74aa8c
Fixed the issue that view is not loaded correctly when we change the …
knagakiran Jul 21, 2014
0be1812
Merge pull request #2 from nagakiran/featuredev
manojgn Jul 29, 2014
5fead77
Fixed the issue Bug #1338520,where alerts popup dont show any alerts,…
vishnuvv Jul 23, 2014
dfd53da
Merge pull request #3 from vishnuvv/AlertsFix_NagaFeatureDev
knagakiran Jul 29, 2014
4f08ce2
While drilling down on overlapped tooltip, Currently processDrillDown…
knagakiran Jul 30, 2014
d2e91f6
Merge pull request #4 from nagakiran/featureDev_fixDrilldownOnTooltip
manojgn Jul 30, 2014
66f2211
Fixed issue that feature screens are not loaded on clicking feature menu
knagakiran Jul 24, 2014
dc8aebd
Fixes bug#1349401:With longer user names, config tab is not available in
knagakiran Aug 1, 2014
251fac6
Merge pull request #6 from nagakiran/featuredev_firefoxIssue
manojgn Aug 4, 2014
95f09f4
Merge pull request #7 from nagakiran/featuredev_layoutIssue
manojgn Aug 4, 2014
f0629da
Fix for Bug:1354280 - UI changes to incorporate process name changes
manojgn Aug 8, 2014
49664f7
Fix for Bug 1351211: Update process_state_list to process_info
manojgn Aug 4, 2014
9863ff4
Merge pull request #8 from manojgn/feature-dev
knagakiran Aug 8, 2014
4ea606f
Fix for Bug: 1328085- Added the detail expansion to all summary pages…
manojgn Aug 11, 2014
582cd74
Merge pull request #10 from manojgn/feature-dev
knagakiran Aug 11, 2014
82622f5
Fix for Bug : 1328085
manojgn Jul 23, 2014
9561aaa
Merge pull request #5 from manojgn/feature-dev-bugFix
knagakiran Aug 12, 2014
38a2437
1)Merged the update charts functionality in initscatterchart function
vishnuvv Jun 30, 2014
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
141 changes: 131 additions & 10 deletions src/serverroot/utils/common.utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ var commonUtils = module.exports,
dir = require('node-dir'),
xml2js = require('xml2js'),
js2xml = require('data2xml')(),
pd = require('pretty-data').pd,
contrailPath = '/contrail';
if (!module.parent) {
logutils.logger.warn(util.format(
Expand Down Expand Up @@ -1378,6 +1379,117 @@ function getAllJsons (menuDir, callback)
});
}

function createEmptyResourceObj ()
{
var obj = {};
obj['resources'] = [];
obj['resources'][0] = {};
obj['resources'][0]['resource'] = [];
return obj;
}

function mergeResourceObjs (obj1, obj2)
{
if (null == obj2['resources']) {
return obj1;
}
if (null == obj1['resources']) {
obj1 = createEmptyResourceObj();
}
obj1['resources'][0]['resource'] =
obj1['resources'][0]['resource'].concat(obj2['resources'][0]['resource']);
return obj1;
}

function mergeMenuItems (obj1, obj2)
{
var found = false;
if (obj1['label'][0] == obj2['label'][0]) {
obj1 = mergeResourceObjs(obj1, obj2);
found = true;
var itemObj1 = obj1['items'][0]['item'];
var itemObj2 = obj2['items'][0]['item'];
var itemObj1Len = itemObj1.length;
var itemObj2Len = itemObj2.length;

for (var i = 0; i < itemObj2Len; i++) {
for (var j = 0; j < itemObj1Len; j++) {
if (itemObj1[j]['label'][0] == itemObj2[i]['label'][0]) {
itemObj1[j] = mergeResourceObjs(itemObj1[j], itemObj2[i]);
break;
}
}
if (j == itemObj1Len) {
/* Not found so push it */
itemObj1.push(itemObj2[i]);
}
}
}
return {obj: obj1, found: found};
}

function createResourceObject (obj)
{
if ((null != obj['js']) || (null != obj['view']) ||
(null != obj['class']) || (null != obj['rootDir']) ||
(null != obj['css'])) {// || (null != obj['access'])) {
obj['resources'] = [];
obj['resources'][0] = {};
obj['resources'][0]['resource'] = [];
obj['resources'][0]['resource'][0] = {};
if (null != obj['rootDir']) {
obj['resources'][0]['resource'][0]['rootDir'] = obj['rootDir'];
delete obj['rootDir'];
}
if (null != obj['js']) {
obj['resources'][0]['resource'][0]['js'] = obj['js'];
delete obj['js'];
}
if (null != obj['view']) {
obj['resources'][0]['resource'][0]['view'] = obj['view'];
delete obj['view'];
}
if (null != obj['css']) {
obj['resources'][0]['resource'][0]['css'] = obj['css'];
delete obj['css'];
}
if (null != obj['class']) {
obj['resources'][0]['resource'][0]['class'] = obj['class'];
delete obj['class'];
}
/*
if (null != obj['access']) {
obj['resources'][0]['resource'][0]['access'] = obj['access'];
delete obj['access'];
}
*/
}
return obj;
}

function checkAndCreateResourceObject (obj, isDeep)
{
if (null != obj['resources']) {
return obj;
}
obj = createResourceObject(obj);
if (true == isDeep) {
if ((null != obj['items']) && (null != obj['items'][0]['item'])) {
var cnt = obj['items'][0]['item'].length;
for (var i = 0; i < cnt; i++) {
obj['items'][0]['item'][i] =
createResourceObject(obj['items'][0]['item'][i]);
}
}
}
return obj;
}

function convertResourceObject (object)
{
var obj = object['items'][0]['item'];
}

function mergeMenuObjects (menuObj1, menuObj2)
{
var found = false;
Expand All @@ -1387,8 +1499,13 @@ function mergeMenuObjects (menuObj1, menuObj2)
var itms1Len = itms1.length;
var itms2Len = itms2.length;
for (var k = 0; k < itms2Len; k++) {
found = false;
for (var l = 0; l < itms1Len; l++) {
itms1[l] = checkAndCreateResourceObject(itms1[l], false);
itms2[k] = checkAndCreateResourceObject(itms2[k], false);
if (itms1[l]['label'][0] == itms2[k]['label'][0]) {
itms1[l] = mergeResourceObjs(itms1[l], itms2[k]);
found = true;
if ((null == itms2[k]['items']) ||
(null == itms2[k]['items'][0]) ||
(null == itms2[k]['items'][0]['item'])) {
Expand All @@ -1400,28 +1517,32 @@ function mergeMenuObjects (menuObj1, menuObj2)
itms1[l]['items'] = [];
itms1[l]['items'][0] = {};
itms1[l]['items'][0] = itms2[k]['items'][0];
continue;
}
var items1 = itms1[l]['items'][0]['item'];
var items2 = itms2[k]['items'][0]['item'];

var items1Len = items1.length;
var items2Len = items2.length;
for (var i = 0; i < items2Len; i++) {
for (var j = 0; j < items1Len; j++) {
if (items1[j]['label'][0] == items2[i]['label'][0]) {
items1[j]['items'][0]['item'] =
items1[j]['items'][0]['item'].concat(items2[j]['items'][0]['item']);
found = true;
break;
}
items1[j] = checkAndCreateResourceObject(items1[j],
true);
items2[i] = checkAndCreateResourceObject(items2[i], true);
var newObj = mergeMenuItems(items1[j], items2[i]);
items1[j] = newObj['obj'];
objFound = newObj['found'];
break;
}
if (j == items1Len) {
if (false == objFound) {
items1.push(items2[i]);
}
}
break;
}
if (l == itms1Len) {
itms1.push(itms2[k]);
}
}
if (found == false) {
itms1.push(itms2[k]);
}
}
return menuObj1;
Expand Down
Loading