aboutsummaryrefslogtreecommitdiffstats
path: root/workflow-designer-ui/src/main/frontend/tools
diff options
context:
space:
mode:
Diffstat (limited to 'workflow-designer-ui/src/main/frontend/tools')
-rw-r--r--workflow-designer-ui/src/main/frontend/tools/ModuleRedirectPlugin.js44
-rw-r--r--workflow-designer-ui/src/main/frontend/tools/devConfig.defaults.json27
-rw-r--r--workflow-designer-ui/src/main/frontend/tools/getDevConfig.js25
-rw-r--r--workflow-designer-ui/src/main/frontend/tools/mocks/mock.js209
-rw-r--r--workflow-designer-ui/src/main/frontend/tools/proxy-server.js44
5 files changed, 349 insertions, 0 deletions
diff --git a/workflow-designer-ui/src/main/frontend/tools/ModuleRedirectPlugin.js b/workflow-designer-ui/src/main/frontend/tools/ModuleRedirectPlugin.js
new file mode 100644
index 00000000..37eb5c3b
--- /dev/null
+++ b/workflow-designer-ui/src/main/frontend/tools/ModuleRedirectPlugin.js
@@ -0,0 +1,44 @@
+/*
+* Copyright © 2018 European Support Limited
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+ * http://www.apache.org/licenses/LICENSE-2.0
+*
+ * Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+function ModuleRedirectPlugin (options) {
+ options = options || {};
+ this.intercept = options.intercept;
+ this.redirect = options.redirect;
+ this.ignore = options.ignore;
+}
+
+ModuleRedirectPlugin.prototype.apply = function (resolver) {
+ resolver.plugin('described-resolve', (request, callback) => {
+ if (!request.request.match(this.intercept) ||
+ request.request.match(this.ignore)
+ ) {
+ return callback();
+ }
+ var newRequest = {
+ ...request,
+ request: request.request.replace(this.intercept, this.redirect)
+ };
+ resolver.doResolve(
+ 'resolve',
+ newRequest,
+ `Resolved request '${request.request}' to '${newRequest.request}'.`,
+ callback
+ );
+ });
+}
+
+module.exports = ModuleRedirectPlugin;
diff --git a/workflow-designer-ui/src/main/frontend/tools/devConfig.defaults.json b/workflow-designer-ui/src/main/frontend/tools/devConfig.defaults.json
new file mode 100644
index 00000000..9fa77d49
--- /dev/null
+++ b/workflow-designer-ui/src/main/frontend/tools/devConfig.defaults.json
@@ -0,0 +1,27 @@
+{
+ "port": 9000,
+ "proxyTarget": null,
+ "proxyConfig": {
+ "cookies": null,
+ "cookiesReplaceRules": [],
+ "urlReplaceRules": [],
+ "jsReplaceRules": [],
+ "appContextPath": null,
+ "login": null,
+ "redirectionPath": null,
+ "onboardingProxy": {
+ "rewrite": null,
+ "proxy": []
+ },
+ "catalogProxy": {
+ "rewrite": null,
+ "proxy": []
+ },
+ "websocketProxy": {
+ "proxy": []
+ },
+ "bundles": {
+ "bundle": ["src/index.js"]
+ }
+ }
+}
diff --git a/workflow-designer-ui/src/main/frontend/tools/getDevConfig.js b/workflow-designer-ui/src/main/frontend/tools/getDevConfig.js
new file mode 100644
index 00000000..49aa9158
--- /dev/null
+++ b/workflow-designer-ui/src/main/frontend/tools/getDevConfig.js
@@ -0,0 +1,25 @@
+/*
+* Copyright © 2018 European Support Limited
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+ * http://www.apache.org/licenses/LICENSE-2.0
+*
+ * Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+module.exports = function () {
+ let localDevConfig = {};
+ try {
+ localDevConfig = require('./devConfig');
+ } catch (e) {}
+ const devConfig = Object.assign({}, require('./devConfig.defaults'), localDevConfig);
+ let devPort = process.env.PORT || devConfig.port;
+ devConfig.port = devPort;
+ return devConfig;
+}(); \ No newline at end of file
diff --git a/workflow-designer-ui/src/main/frontend/tools/mocks/mock.js b/workflow-designer-ui/src/main/frontend/tools/mocks/mock.js
new file mode 100644
index 00000000..8366f400
--- /dev/null
+++ b/workflow-designer-ui/src/main/frontend/tools/mocks/mock.js
@@ -0,0 +1,209 @@
+/*
+* Copyright © 2018 European Support Limited
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+ * http://www.apache.org/licenses/LICENSE-2.0
+*
+ * Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+const proxy = {
+ 'POST /workflows': {
+ id: '755eab7752374a2380544065b59b082d',
+ name: 'Workflow one',
+ description: 'description description 1'
+ },
+ 'POST /workflows/:id/versions': {
+ baseId: null,
+ creationTime: '2018-07-11T14:30:42.954Z',
+ description: 'description',
+ id: '7b5f6b086613470985082df2c0f6c713',
+ modificationTime: '2018-07-11T14:30:42.954Z',
+ name: 'version 1',
+ status: 'Certified'
+ },
+ 'GET /wf/workflows': {
+ total: 2,
+ limit: 100,
+ offset: 0,
+ results: [
+ {
+ id: '755eab7752374a2380544065b59b082d',
+ name: 'Workflow one',
+ description: 'description description 1',
+ category: null
+ },
+ {
+ id: 'ef8159204dac4c10a85b29ec30b4bd56',
+ name: 'Workflow two',
+ description: 'description description 2',
+ category: null
+ }
+ ]
+ },
+ 'GET /wf/workflow/category': [
+ {
+ name: 'Network Connectivity',
+ normalizedName: 'network connectivity',
+ uniqueId: 'resourceNewCategory.network connectivity',
+ icons: null,
+ subcategories: [
+ {
+ name: 'Virtual Links',
+ normalizedName: 'virtual links',
+ uniqueId:
+ 'resourceNewCategory.network connectivity.virtual links',
+ icons: ['vl'],
+ groupings: null,
+ version: null,
+ ownerId: null,
+ empty: false,
+ type: null
+ },
+ {
+ name: 'Connection Points',
+ normalizedName: 'connection points',
+ uniqueId:
+ 'resourceNewCategory.network connectivity.connection points',
+ icons: ['cp'],
+ groupings: null,
+ version: null,
+ ownerId: null,
+ empty: false,
+ type: null
+ }
+ ],
+ version: null,
+ ownerId: null,
+ empty: false,
+ type: null
+ },
+ {
+ name: 'Generic',
+ normalizedName: 'generic',
+ uniqueId: 'resourceNewCategory.generic',
+ icons: null,
+ subcategories: [
+ {
+ name: 'Infrastructure',
+ normalizedName: 'infrastructure',
+ uniqueId: 'resourceNewCategory.generic.infrastructure',
+ icons: ['connector'],
+ groupings: null,
+ version: null,
+ ownerId: null,
+ empty: false,
+ type: null
+ },
+ {
+ name: 'Network Elements',
+ normalizedName: 'network elements',
+ uniqueId: 'resourceNewCategory.generic.network elements',
+ icons: ['network', 'connector'],
+ groupings: null,
+ version: null,
+ ownerId: null,
+ empty: false,
+ type: null
+ },
+ {
+ name: 'Database',
+ normalizedName: 'database',
+ uniqueId: 'resourceNewCategory.generic.database',
+ icons: ['database'],
+ groupings: null,
+ version: null,
+ ownerId: null,
+ empty: false,
+ type: null
+ },
+ {
+ name: 'Abstract',
+ normalizedName: 'abstract',
+ uniqueId: 'resourceNewCategory.generic.abstract',
+ icons: ['objectStorage', 'compute'],
+ groupings: null,
+ version: null,
+ ownerId: null,
+ empty: false,
+ type: null
+ },
+ {
+ name: 'Rules',
+ normalizedName: 'rules',
+ uniqueId: 'resourceNewCategory.generic.rules',
+ icons: ['networkrules', 'securityrules'],
+ groupings: null,
+ version: null,
+ ownerId: null,
+ empty: false,
+ type: null
+ }
+ ],
+ version: null,
+ ownerId: null,
+ empty: false,
+ type: null
+ }
+ ],
+ 'GET /wf/workflows/:id/versions/:versionId': {
+ id: '7b5f6b086613470985082df2c0f6c713',
+ major: 0,
+ minor: 0,
+ name: '1.0',
+ description:
+ 'Initial version, bug fix for previous version that fixed an exception when the port was occupied',
+ baseId: null,
+ creationTime: '2018-07-04T08:24:50.777+0000',
+ modificationTime: '2018-07-04T11:06:29.559+0000',
+ status: 'Draft',
+ state: {
+ synchronizationState: 'UpToDate',
+ dirty: false
+ },
+ additionalInfo: null,
+ final: false
+ },
+ 'GET /wf/workflows/:id': {
+ id: '755eab7752374a2380544065b59b082d',
+ name: 'Workflow1',
+ description: 'workflow description',
+ creationTime: '2018-07-04T08:24:50.777+0000'
+ },
+ 'GET /wf/workflow/:id/getVersions': {
+ listCount: 2,
+ versionList: [
+ {
+ id: '7b5f6b086613470985082df2c0f6c713',
+ baseId: null,
+ name: '1.0',
+ description:
+ 'Initial version, bug fix for previous version that fixed an exception when the port was occupied',
+ status: 'Certified',
+ creationTime: '2018-07-11T09:08:46.892Z',
+ modificationTime: '2018-07-11T09:08:46.892Z',
+ archivedStatus: 'ACTIVE'
+ },
+ {
+ id: '7b5f6b086613470985082df2c0f6c666',
+ baseId: '7b5f6b086613470985082df2c0f6c713',
+ name: '2.0',
+ description:
+ 'Test version, bug fix for previous version that fixed an exception when the port was occupied',
+ status: 'Certified',
+ creationTime: '2018-07-09T09:08:46.892Z',
+ modificationTime: '2018-07-09T09:08:46.892Z',
+ archivedStatus: 'ACTIVE'
+ }
+ ]
+ }
+};
+
+module.exports = proxy;
diff --git a/workflow-designer-ui/src/main/frontend/tools/proxy-server.js b/workflow-designer-ui/src/main/frontend/tools/proxy-server.js
new file mode 100644
index 00000000..3193fb16
--- /dev/null
+++ b/workflow-designer-ui/src/main/frontend/tools/proxy-server.js
@@ -0,0 +1,44 @@
+/*
+* Copyright © 2018 European Support Limited
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+ * http://www.apache.org/licenses/LICENSE-2.0
+*
+ * Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+'use strict';
+
+const proxy = require('http-proxy-middleware');
+const devConfig = require('./getDevConfig');
+
+module.exports = function(server) {
+ let proxyConfigDefaults = {
+ changeOrigin: true,
+ secure: false,
+ onProxyRes: (proxyRes, req, res) => {
+ let setCookie = proxyRes.headers['set-cookie'];
+ if (setCookie) {
+ setCookie[0] = setCookie[0].replace('USER_ID', 'cs0008');
+ }
+ },
+ };
+
+ let middlewares = [];
+
+ middlewares.push(
+ proxy(
+ ['/wf'],
+ Object.assign({}, proxyConfigDefaults, {
+ target: devConfig.proxyTarget,
+ }),
+ ),
+ );
+ server.use(middlewares);
+};