Skip to content

Commit 1c9b00b

Browse files
committed
[skip ci] refactoring
1 parent 8efbc24 commit 1c9b00b

File tree

8 files changed

+96
-96
lines changed

8 files changed

+96
-96
lines changed

services/static-webserver/client/source/class/osparc/dashboard/NewPlusMenu.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ qx.Class.define("osparc.dashboard.NewPlusMenu", {
315315

316316
const key = newStudyData["expectedKey"];
317317
// Include deprecated versions, they should all be updatable to a non deprecated version
318-
const versions = osparc.service.Utils.getVersions(key, false);
318+
const versions = osparc.store.Services.getVersions(key, false);
319319
if (versions.length && newStudyData) {
320320
// scale to latest compatible
321321
const latestVersion = versions[0];

services/static-webserver/client/source/class/osparc/dashboard/ResourceDetails.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ qx.Class.define("osparc.dashboard.ResourceDetails", {
265265
hBox.add(versionsBox);
266266

267267

268-
osparc.store.Services.getVersions(this.__resourceData["key"], this.__resourceData["version"])
268+
osparc.store.Services.getVersions2(this.__resourceData["key"], this.__resourceData["version"])
269269
.then(versions => {
270270
let selectedItem = null;
271271

services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -954,7 +954,7 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
954954
if ("expectedKey" in newStudyData) {
955955
const key = newStudyData["expectedKey"];
956956
// Include deprecated versions, they should all be updatable to a non deprecated version
957-
const versions = osparc.service.Utils.getVersions(key, false);
957+
const versions = osparc.store.Services.getVersions(key, false);
958958
if (versions.length && newStudyData) {
959959
// scale to latest compatible
960960
const latestVersion = versions[0];

services/static-webserver/client/source/class/osparc/desktop/WorkbenchView.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1015,7 +1015,7 @@ qx.Class.define("osparc.desktop.WorkbenchView", {
10151015

10161016
// HEADER
10171017
const nodeMetadata = node.getMetaData();
1018-
const version = osparc.service.Utils.getVersionDisplay(nodeMetadata["key"], nodeMetadata["version"]);
1018+
const version = osparc.store.Services.getVersionDisplay(nodeMetadata["key"], nodeMetadata["version"]);
10191019
const header = new qx.ui.basic.Label(`${nodeMetadata["name"]} ${version}`).set({
10201020
paddingLeft: 5
10211021
});

services/static-webserver/client/source/class/osparc/info/ServiceUtils.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ qx.Class.define("osparc.info.ServiceUtils", {
6464
},
6565

6666
createVersionDisplay: function(key, version) {
67-
const versionDisplay = osparc.service.Utils.getVersionDisplay(key, version);
67+
const versionDisplay = osparc.store.Services.getVersionDisplay(key, version);
6868
const label = new qx.ui.basic.Label(versionDisplay);
6969
osparc.utils.Utils.setIdToWidget(label, "serviceVersion");
7070
return label;

services/static-webserver/client/source/class/osparc/service/Utils.js

Lines changed: 1 addition & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -130,74 +130,15 @@ qx.Class.define("osparc.service.Utils", {
130130
return services;
131131
},
132132

133-
getVersions: function(key, filterDeprecated = true) {
134-
const services = osparc.store.Services.servicesCached;
135-
let versions = [];
136-
if (key in services) {
137-
const serviceVersions = services[key];
138-
versions = versions.concat(Object.keys(serviceVersions));
139-
if (filterDeprecated) {
140-
versions = versions.filter(version => {
141-
if (services[key][version]["retired"]) {
142-
return false;
143-
}
144-
return true;
145-
});
146-
}
147-
versions.sort(osparc.utils.Utils.compareVersionNumbers);
148-
}
149-
return versions.reverse();
150-
},
151-
152-
getLatestCompatible: function(key, version) {
153-
const services = osparc.store.Services.servicesCached;
154-
if (key in services && version in services[key]) {
155-
const serviceMD = services[key][version];
156-
if (serviceMD["compatibility"] && serviceMD["compatibility"]["canUpdateTo"]) {
157-
const canUpdateTo = serviceMD["compatibility"]["canUpdateTo"];
158-
return {
159-
key: "key" in canUpdateTo ? canUpdateTo["key"] : key, // key is optional
160-
version: canUpdateTo["version"]
161-
}
162-
}
163-
// the provided key/version itself is the latest compatible
164-
return {
165-
key,
166-
version
167-
}
168-
}
169-
return null;
170-
},
171-
172-
getVersionDisplay: function(key, version) {
173-
const services = osparc.store.Services.servicesCached;
174-
if (key in services && version in services[key]) {
175-
return this.extractVersionDisplay(services[key][version]);
176-
}
177-
return null;
178-
},
179-
180133
extractVersionDisplay: function(metadata) {
181134
if (metadata) {
182135
return metadata["versionDisplay"] ? metadata["versionDisplay"] : metadata["version"];
183136
}
184137
return "";
185138
},
186139

187-
getReleasedDate: function(key, version) {
188-
const services = osparc.store.Services.servicesCached;
189-
if (
190-
key in services &&
191-
version in services[key] &&
192-
"released" in services[key][version]
193-
) {
194-
return services[key][version]["released"];
195-
}
196-
return null;
197-
},
198-
199140
versionToListItem: function(key, version) {
200-
const versionDisplay = this.getVersionDisplay(key, version);
141+
const versionDisplay = osparc.store.Services.getVersionDisplay(key, version);
201142
const listItem = new qx.ui.form.ListItem(versionDisplay);
202143
osparc.utils.Utils.setIdToWidget(listItem, "serviceVersionItem_" + versionDisplay);
203144
listItem.version = version;

services/static-webserver/client/source/class/osparc/store/Services.js

Lines changed: 89 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ qx.Class.define("osparc.store.Services", {
1919
type: "static",
2020

2121
statics: {
22-
servicesCached: {},
22+
__servicesCached: {},
2323

2424
getServicesLatest: function(useCache = true) {
2525
return new Promise(resolve => {
26-
if (useCache && Object.keys(this.servicesCached)) {
26+
if (useCache && Object.keys(this.__servicesCached)) {
2727
// return latest only
2828
const latest = this.__getLatestCached();
2929
resolve(latest);
@@ -56,7 +56,7 @@ qx.Class.define("osparc.store.Services", {
5656
},
5757

5858
getLatest: function(key) {
59-
const services = this.servicesCached;
59+
const services = this.__servicesCached;
6060
if (key in services) {
6161
const versions = this.getVersions(key, true);
6262
if (versions.length) {
@@ -66,10 +66,50 @@ qx.Class.define("osparc.store.Services", {
6666
return null;
6767
},
6868

69+
getLatestCompatible: function(key, version) {
70+
const services = this.__servicesCached;
71+
if (key in services && version in services[key]) {
72+
const serviceMD = services[key][version];
73+
if (serviceMD["compatibility"] && serviceMD["compatibility"]["canUpdateTo"]) {
74+
const canUpdateTo = serviceMD["compatibility"]["canUpdateTo"];
75+
return {
76+
key: "key" in canUpdateTo ? canUpdateTo["key"] : key, // key is optional
77+
version: canUpdateTo["version"]
78+
}
79+
}
80+
// the provided key/version itself is the latest compatible
81+
return {
82+
key,
83+
version
84+
}
85+
}
86+
return null;
87+
},
88+
89+
getVersionDisplay: function(key, version) {
90+
const services = this.__servicesCached;
91+
if (key in services && version in services[key]) {
92+
return this.extractVersionDisplay(services[key][version]);
93+
}
94+
return null;
95+
},
96+
97+
getReleasedDate: function(key, version) {
98+
const services = this.__servicesCached;
99+
if (
100+
key in services &&
101+
version in services[key] &&
102+
"released" in services[key][version]
103+
) {
104+
return services[key][version]["released"];
105+
}
106+
return null;
107+
},
108+
69109
getService: function(key, version, useCache = true) {
70110
return new Promise(resolve => {
71111
if (useCache && this.__isInCache(key, version)) {
72-
resolve(this.servicesCached[key][version]);
112+
resolve(this.__servicesCached[key][version]);
73113
return;
74114
}
75115

@@ -89,16 +129,16 @@ qx.Class.define("osparc.store.Services", {
89129
},
90130

91131
__getVersionsFromCache: function(key, version, filterDeprecated = true) {
92-
if (this.servicesCached[key][version]["history"]) {
93-
const versions = this.servicesCached[key][version]["history"]
132+
if (this.__servicesCached[key][version]["history"]) {
133+
const versions = this.__servicesCached[key][version]["history"]
94134
.filter(entry => !filterDeprecated || entry["retired"] === null)
95135
.map(entry => entry["version"]);
96136
return versions;
97137
}
98138
return [];
99139
},
100140

101-
getVersions: function(key, version, filterDeprecated = true) {
141+
getVersions2: function(key, version, filterDeprecated = true) {
102142
return new Promise(resolve => {
103143
if (this.__isInCache(key, version)) {
104144
const versions = this.__getVersionsFromCache(key, version, filterDeprecated);
@@ -113,6 +153,25 @@ qx.Class.define("osparc.store.Services", {
113153
});
114154
},
115155

156+
getVersions: function(key, filterDeprecated = true) {
157+
const services = this.__servicesCached;
158+
let versions = [];
159+
if (key in services) {
160+
const serviceVersions = services[key];
161+
versions = versions.concat(Object.keys(serviceVersions));
162+
if (filterDeprecated) {
163+
versions = versions.filter(version => {
164+
if (services[key][version]["retired"]) {
165+
return false;
166+
}
167+
return true;
168+
});
169+
}
170+
versions.sort(osparc.utils.Utils.compareVersionNumbers);
171+
}
172+
return versions.reverse();
173+
},
174+
116175
getServicesLatestList: function(excludeFrontend = true, excludeDeprecated = true) {
117176
return new Promise(resolve => {
118177
const servicesList = [];
@@ -128,11 +187,11 @@ qx.Class.define("osparc.store.Services", {
128187
}
129188
if (excludeDeprecated && serviceLatest["retired"]) {
130189
// first check if a previous version of this service isn't retired
131-
let versions = Object.keys(this.servicesCached[key]);
190+
let versions = Object.keys(this.__servicesCached[key]);
132191
versions = versions.sort(osparc.utils.Utils.compareVersionNumbers).reverse();
133192
for (let j=0; j<versions.length; j++) {
134193
const version = versions[j];
135-
if (!this.servicesCached[key][version]["retired"]) {
194+
if (!this.__servicesCached[key][version]["retired"]) {
136195
// one older non retired version found
137196
serviceLatest = await this.getService(key, version);
138197
break;
@@ -157,9 +216,9 @@ qx.Class.define("osparc.store.Services", {
157216
return new Promise(resolve => {
158217
if (
159218
this.__isInCache(key, version) &&
160-
"resources" in this.servicesCached[key][version]
219+
"resources" in this.__servicesCached[key][version]
161220
) {
162-
resolve(this.servicesCached[key][version]["resources"]);
221+
resolve(this.__servicesCached[key][version]["resources"]);
163222
return;
164223
}
165224

@@ -168,15 +227,15 @@ qx.Class.define("osparc.store.Services", {
168227
};
169228
osparc.data.Resources.get("serviceResources", params)
170229
.then(resources => {
171-
this.servicesCached[key][version]["resources"] = resources;
230+
this.__servicesCached[key][version]["resources"] = resources;
172231
resolve(resources);
173232
});
174233
});
175234
},
176235

177236
getMetadata: function(key, version) {
178237
if (this.__isInCache(key, version)) {
179-
return this.servicesCached[key][version];
238+
return this.__servicesCached[key][version];
180239
}
181240
return null;
182241
},
@@ -192,13 +251,13 @@ qx.Class.define("osparc.store.Services", {
192251
};
193252
return osparc.data.Resources.fetch("servicesV2", "patch", params)
194253
.then(() => {
195-
this.servicesCached[key][version][fieldKey] = value;
254+
this.__servicesCached[key][version][fieldKey] = value;
196255
serviceData[fieldKey] = value;
197256
});
198257
},
199258

200259
getInaccessibleServices: function(workbench) {
201-
const allServices = this.servicesCached;
260+
const allServices = this.__servicesCached;
202261
const unaccessibleServices = [];
203262
const wbServices = new Set(this.extractUniqueServices(workbench));
204263
wbServices.forEach(srv => {
@@ -229,22 +288,22 @@ qx.Class.define("osparc.store.Services", {
229288
__addToCache: function(service) {
230289
const key = service.key;
231290
const version = service.version;
232-
if (!(key in this.servicesCached)) {
233-
this.servicesCached[key] = {};
291+
if (!(key in this.__servicesCached)) {
292+
this.__servicesCached[key] = {};
234293
}
235-
this.servicesCached[key][version] = service;
294+
this.__servicesCached[key][version] = service;
236295

237296
if ("history" in service) {
238-
this.servicesCached[key][version]["cached"] = true;
297+
this.__servicesCached[key][version]["cached"] = true;
239298
service["history"].forEach(historyEntry => {
240299
const hVersion = historyEntry.version;
241-
if (!(hVersion in this.servicesCached[key])) {
242-
this.servicesCached[key][hVersion] = {};
243-
this.servicesCached[key][hVersion]["cached"] = false;
300+
if (!(hVersion in this.__servicesCached[key])) {
301+
this.__servicesCached[key][hVersion] = {};
302+
this.__servicesCached[key][hVersion]["cached"] = false;
244303
}
245304
// merge history data into current metadata
246-
this.servicesCached[key][hVersion] = {
247-
...this.servicesCached[key][hVersion],
305+
this.__servicesCached[key][hVersion] = {
306+
...this.__servicesCached[key][hVersion],
248307
...historyEntry
249308
};
250309
});
@@ -253,18 +312,18 @@ qx.Class.define("osparc.store.Services", {
253312

254313
__isInCache: function(key, version) {
255314
return (
256-
key in this.servicesCached &&
257-
version in this.servicesCached[key] &&
258-
this.servicesCached[key][version]["cached"]
315+
key in this.__servicesCached &&
316+
version in this.__servicesCached[key] &&
317+
this.__servicesCached[key][version]["cached"]
259318
);
260319
},
261320

262321
__getLatestCached: function() {
263322
const latestServices = {};
264-
for (const key in this.servicesCached) {
265-
let versions = Object.keys(this.servicesCached[key]);
323+
for (const key in this.__servicesCached) {
324+
let versions = Object.keys(this.__servicesCached[key]);
266325
versions = versions.sort(osparc.utils.Utils.compareVersionNumbers).reverse();
267-
const latest = this.servicesCached[key][versions[0]];
326+
const latest = this.__servicesCached[key][versions[0]];
268327
latestServices[key] = osparc.utils.Utils.deepCloneObject(latest);
269328
}
270329
return latestServices;

services/static-webserver/client/source/class/osparc/workbench/ServiceCatalog.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ qx.Class.define("osparc.workbench.ServiceCatalog", {
247247
const latest = new qx.ui.form.ListItem(this.self().LATEST);
248248
latest.version = this.self().LATEST;
249249
selectBox.add(latest);
250-
osparc.store.Services.getVersions(key, version)
250+
osparc.store.Services.getVersions2(key, version)
251251
.then(versions => {
252252
versions.forEach(vrsn => {
253253
const listItem = osparc.service.Utils.versionToListItem(key, vrsn);

0 commit comments

Comments
 (0)