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:
parent
f231418c4a
commit
ff395e113d
@ -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;
|
||||
});
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -50,6 +50,9 @@ define(function(require) {
|
||||
},
|
||||
"disable": function(params) {
|
||||
OpenNebulaAction.simple_action(params, RESOURCE, "disable");
|
||||
},
|
||||
"getName": function(id){
|
||||
return OpenNebulaAction.getName(id, RESOURCE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
})
|
||||
});
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
})
|
||||
});
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -475,6 +475,9 @@ define(function(require) {
|
||||
"isNICAttachSupported": isNICAttachSupported,
|
||||
"isVNCSupported": isVNCSupported,
|
||||
"isSPICESupported": isSPICESupported,
|
||||
"getName": function(id){
|
||||
return OpenNebulaAction.getName(id, RESOURCE);
|
||||
}
|
||||
}
|
||||
|
||||
function retrieveLastHistoryRecord(element) {
|
||||
|
@ -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;
|
||||
})
|
||||
});
|
Loading…
x
Reference in New Issue
Block a user