1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-20 10:50:08 +03:00

Feature #3748: Index resource names in opennebula/action

This commit is contained in:
Carlos Martín 2015-06-18 13:29:11 +02:00
parent f231418c4a
commit ff395e113d
16 changed files with 101 additions and 7 deletions

View File

@ -6,6 +6,8 @@ define(function(require) {
var listWaiting = {};
var listCallbacks = {};
var nameIndex = {};
var CACHE_EXPIRE = 60000; //ms
var _clearCache = function(cache_name) {
@ -161,6 +163,9 @@ define(function(require) {
list = OpenNebulaHelper.pool(resource, response);
}
nameIndex[cache_name] = OpenNebulaHelper.pool_name_processing(
resource+"_POOL", resource, response);
listCache[cache_name] = {
timestamp : new Date().getTime(),
data : list
@ -345,8 +350,22 @@ define(function(require) {
});
},
"getName": function(id, cache_name){
if(nameIndex[cache_name] != undefined){
var name = nameIndex[cache_name][id];
if (name != undefined){
return name;
}
// TODO: if name is not found, perform a .list or .show to at least
// get it ready for the next call?
}
return ""+id;
},
"clear_cache": _clearCache
}
};
return Action;
});

View File

@ -54,6 +54,9 @@ define(function(require) {
"rename" : function(params) {
var action_obj = params.data.extra_param;
OpenNebulaAction.simple_action(params, RESOURCE, "rename", action_obj);
},
"getName": function(id){
return OpenNebulaAction.getName(id, RESOURCE);
}
}

View File

@ -50,6 +50,9 @@ define(function(require) {
},
"disable": function(params) {
OpenNebulaAction.simple_action(params, RESOURCE, "disable");
},
"getName": function(id){
return OpenNebulaAction.getName(id, RESOURCE);
}
}

View File

@ -61,8 +61,11 @@ define(function(require) {
"del_admin" : function(params) {
var action_obj = params.data.extra_param;
OpenNebulaAction.simple_action(params, RESOURCE, "del_admin", action_obj);
},
"getName": function(id){
return OpenNebulaAction.getName(id, RESOURCE);
}
}
};
return Group;
})
});

View File

@ -91,6 +91,39 @@ define(function(require) {
p_pool[res[resource_name]['ID']] = res;
return (p_pool);
}
},
"pool_name_processing": function(pool_name, resource_name, response) {
var pool;
if (typeof(pool_name) == "undefined") {
return Error('Incorrect Pool');
}
var p_pool = {};
if (response[pool_name]) {
pool = response[pool_name][resource_name];
} else {
pool = null;
}
if (pool == null) {
return p_pool;
} else if (pool.length) {
for (i = 0; i < pool.length; i++) {
var res = pool[i];
p_pool[res['ID']] = res['NAME'];
}
return (p_pool);
} else {
var res = pool;
p_pool[res['ID']] = res['NAME'];
return (p_pool);
}
}

View File

@ -70,6 +70,9 @@ define(function(require) {
"rename" : function(params) {
var action_obj = params.data.extra_param;
OpenNebulaAction.simple_action(params, RESOURCE, "rename", action_obj);
},
"getName": function(id){
return OpenNebulaAction.getName(id, RESOURCE);
}
}

View File

@ -83,6 +83,9 @@ define(function(require) {
"rename" : function(params) {
var action_obj = params.data.extra_param;
OpenNebulaAction.simple_action(params, RESOURCE, "rename", action_obj);
},
"getName": function(id){
return OpenNebulaAction.getName(id, RESOURCE);
}
}

View File

@ -70,6 +70,9 @@ define(function(require) {
"rename" : function(params) {
var action_obj = params.data.extra_param;
OpenNebulaAction.simple_action(params, RESOURCE, "rename", action_obj);
},
"getName": function(id){
return OpenNebulaAction.getName(id, RESOURCE);
}
}

View File

@ -43,6 +43,9 @@ define(function(require) {
"rename" : function(params) {
var action_obj = params.data.extra_param;
OpenNebulaAction.simple_action(params, RESOURCE, "rename", action_obj);
},
"getName": function(id){
return OpenNebulaAction.getName(id, RESOURCE);
}
}

View File

@ -56,6 +56,9 @@ define(function(require) {
Locale.tr("COOLDOWN")
][state_int]
return state ? state : state_int;
},
"getName": function(id){
return OpenNebulaAction.getName(id, CACHE_NAME);
}
}

View File

@ -46,6 +46,9 @@ define(function(require) {
params.cache_name = CACHE_NAME;
var action_obj = params.data.extra_param;
OpenNebulaAction.simple_action(params, RESOURCE, "chmod", action_obj, PATH);
},
"getName": function(id){
return OpenNebulaAction.getName(id, CACHE_NAME);
}
}

View File

@ -52,6 +52,9 @@ define(function(require) {
"rename" : function(params) {
var action_obj = params.data.extra_param;
OpenNebulaAction.simple_action(params, RESOURCE, "rename", action_obj);
},
"getName": function(id){
return OpenNebulaAction.getName(id, RESOURCE);
}
}

View File

@ -77,8 +77,11 @@ define(function(require) {
"delgroup" : function(params) {
var action_obj = {"group_id": params.data.extra_param};
OpenNebulaAction.simple_action(params, RESOURCE, "delgroup", action_obj);
},
"getName": function(id){
return OpenNebulaAction.getName(id, RESOURCE);
}
}
};
return User;
})
});

View File

@ -72,6 +72,9 @@ define(function(require) {
"del_vnet" : function(params) {
var action_obj = params.data.extra_param;
OpenNebulaAction.simple_action(params, RESOURCE, "del_vnet", action_obj);
},
"getName": function(id){
return OpenNebulaAction.getName(id, RESOURCE);
}
}

View File

@ -475,6 +475,9 @@ define(function(require) {
"isNICAttachSupported": isNICAttachSupported,
"isVNCSupported": isVNCSupported,
"isSPICESupported": isSPICESupported,
"getName": function(id){
return OpenNebulaAction.getName(id, RESOURCE);
}
}
function retrieveLastHistoryRecord(element) {

View File

@ -27,8 +27,11 @@ define(function(require) {
"rename" : function(params) {
var action_obj = params.data.extra_param;
OpenNebulaAction.simple_action(params, RESOURCE, "rename", action_obj);
},
"getName": function(id){
return OpenNebulaAction.getName(id, RESOURCE);
}
}
};
return Zone;
})
});