-function Slices() {
- this.listAll = function() { return opencloud_data["slices"] }
- this.__str__ = function() { return '["listAll"]'; }
+function OpenCloudModel(name) {
+ this.all = function() { return opencloud_data[name]; };
+
+ this.match = function(filterDict,obj) {
+ for (var k in filterDict) {
+ if (obj[k] == filterDict[k]) {
+ return true;
+ }
+ }
+ return false;
+ };
+
+ this.filter = function(filterDict) {
+ result = []
+ all_objs = this.all()
+ for (var k in all_objs) {
+ obj = all_objs[k];
+ if (this.match(filterDict, obj)) {
+ result.push(obj);
+ }
+ }
+ return result;
+ };
+
+ this.get = function(filterDict) {
+ return this.filter(filterDict)[0];
+ };
+
+ this.__str__ = function() { return '["all", "filter", "get"]' };