You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2018/11/02 11:06:25 UTC

[1/2] brooklyn-ui git commit: Allow to configure the blueprint loading methods

Repository: brooklyn-ui
Updated Branches:
  refs/heads/master a0cddab17 -> 777332a23


Allow to configure the blueprint loading methods


Project: http://git-wip-us.apache.org/repos/asf/brooklyn-ui/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-ui/commit/c4367b2d
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-ui/tree/c4367b2d
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-ui/diff/c4367b2d

Branch: refs/heads/master
Commit: c4367b2d51505947e9e3d4f6cbb777678f28dce5
Parents: a0cddab
Author: Sylvain Ferot <sy...@usharesoft.com>
Authored: Wed Oct 24 12:04:29 2018 +0200
Committer: Sylvain Ferot <sy...@usharesoft.com>
Committed: Wed Oct 31 15:32:47 2018 +0100

----------------------------------------------------------------------
 .../providers/blueprint-loader-api.js           | 37 ++++++++++
 .../providers/blueprint-loader-api.provider.js  | 71 ++++++++++++++++++++
 ui-modules/blueprint-composer/app/index.js      |  9 +--
 .../app/views/main/main.controller.js           | 20 +-----
 4 files changed, 115 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/c4367b2d/ui-modules/blueprint-composer/app/components/providers/blueprint-loader-api.js
----------------------------------------------------------------------
diff --git a/ui-modules/blueprint-composer/app/components/providers/blueprint-loader-api.js b/ui-modules/blueprint-composer/app/components/providers/blueprint-loader-api.js
new file mode 100644
index 0000000..0f9206e
--- /dev/null
+++ b/ui-modules/blueprint-composer/app/components/providers/blueprint-loader-api.js
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+export class BlueprintLoaderApi {
+    constructor($q, paletteApi) {
+        this.$q = $q;
+        this.paletteApi = paletteApi;
+    }
+
+    loadBlueprint($stateParams) {
+        // no-op
+        return Promise.resolve();
+    }
+
+    loadYaml($stateParams) {
+        // no-op
+        return undefined;
+    }
+}
+
+window.BlueprintLoaderApi = BlueprintLoaderApi;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/c4367b2d/ui-modules/blueprint-composer/app/components/providers/blueprint-loader-api.provider.js
----------------------------------------------------------------------
diff --git a/ui-modules/blueprint-composer/app/components/providers/blueprint-loader-api.provider.js b/ui-modules/blueprint-composer/app/components/providers/blueprint-loader-api.provider.js
new file mode 100644
index 0000000..e511486
--- /dev/null
+++ b/ui-modules/blueprint-composer/app/components/providers/blueprint-loader-api.provider.js
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+import angular from 'angular';
+import {BlueprintLoaderApi} from './blueprint-loader-api';
+
+const MODULE_NAME = 'brooklyn.composer.api.blueprint-loader';
+
+angular.module(MODULE_NAME, [])
+    .provider('blueprintLoaderApi', blueprintLoaderApi);
+
+export default MODULE_NAME;
+
+export function blueprintLoaderApi() {
+    let implementation = BlueprintLoaderApiProvider;
+
+    return {
+        implementation: function (impl) {
+            if (!(impl.prototype === BlueprintLoaderApi.prototype)) {
+                throw new Error(`Expected an implementation extending ${BlueprintLoaderApi} but got ${impl}`);
+            }
+            implementation = impl;
+        },
+        $get: ['$stateParams', '$q', 'paletteApi', function ($stateParams, $q, paletteApi) {
+            return new implementation($stateParams, $q, paletteApi);
+        }]
+    }
+}
+
+class BlueprintLoaderApiProvider extends BlueprintLoaderApi {
+    constructor($q, paletteApi) {
+        super($q, paletteApi);
+    }
+
+    loadBlueprint($stateParams) {
+        let deferred = this.$q.defer();
+        if (!($stateParams.bundleSymbolicName && $stateParams.bundleVersion && $stateParams.typeSymbolicName && $stateParams.typeVersion)) {
+            deferred.resolve(null);
+        } else if ($stateParams.bundleSymbolicName && $stateParams.bundleVersion && $stateParams.typeSymbolicName && $stateParams.typeVersion) {
+            this.$q.all([
+                this.paletteApi.getBundle($stateParams.bundleSymbolicName, $stateParams.bundleVersion),
+                this.paletteApi.getBundleType($stateParams.bundleSymbolicName, $stateParams.bundleVersion, $stateParams.typeSymbolicName, $stateParams.typeVersion),
+                this.paletteApi.getTypeVersions($stateParams.typeSymbolicName)
+            ]).then(responses => {
+                deferred.resolve({bundle: responses[0], type: responses[1], versions: responses[2].map(item => item.version)});
+            }).catch(response => deferred.reject(response.error.message));
+        } else {
+            deferred.reject('Both bundle and type information must be supplied');
+        }
+        return deferred.promise;
+    }
+
+    loadYaml($stateParams) {
+        return $stateParams.yaml;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/c4367b2d/ui-modules/blueprint-composer/app/index.js
----------------------------------------------------------------------
diff --git a/ui-modules/blueprint-composer/app/index.js b/ui-modules/blueprint-composer/app/index.js
index 199d8c5..7dc3720 100755
--- a/ui-modules/blueprint-composer/app/index.js
+++ b/ui-modules/blueprint-composer/app/index.js
@@ -40,6 +40,7 @@ import brSpecEditor from './components/spec-editor/spec-editor.directive';
 import brooklynCatalogSaver from './components/catalog-saver/catalog-saver.directive';
 import paletteApiProvider from "./components/providers/palette-api.provider";
 import paletteServiceProvider from "./components/providers/palette-service.provider";
+import blueprintLoaderApiProvider from "./components/providers/blueprint-loader-api.provider";
 
 import brooklynApi from "brooklyn-ui-utils/brooklyn.api/brooklyn.api";
 import {designerDirective} from "./components/designer/designer.directive";
@@ -75,10 +76,10 @@ import bottomSheet from "brooklyn-ui-utils/bottom-sheet/bottom-sheet";
 import stackViewer from 'angular-java-stack-viewer';
 import {EntityFamily} from "./components/util/model/entity.model";
 
-angular.module('app', [ngAnimate, ngResource, ngCookies, ngClipboard, uiRouter, 'ui.router.state.events', brCore,
-    brServerStatus, brAutoFocus, brIconGenerator, brInterstitialSpinner, brooklynModuleLinks, brooklynUserManagement,
-    brYamlEditor, brUtils, brSpecEditor, brooklynCatalogSaver, brooklynApi, bottomSheet, stackViewer, brDragndrop,
-    customActionDirective, customConfigSuggestionDropdown, paletteApiProvider, paletteServiceProvider])
+angular.module('app', [ngAnimate, ngResource, ngCookies, ngClipboard, uiRouter, 'ui.router.state.events', brCore, 
+        brServerStatus, brAutoFocus, brIconGenerator, brInterstitialSpinner, brooklynModuleLinks, brooklynUserManagement, 
+        brYamlEditor, brUtils, brSpecEditor, brooklynCatalogSaver, brooklynApi, bottomSheet, stackViewer, brDragndrop, 
+        customActionDirective, customConfigSuggestionDropdown, paletteApiProvider, paletteServiceProvider, blueprintLoaderApiProvider])
     .directive('designer', ['$log', '$state', '$q', 'iconGenerator', 'catalogApi', 'blueprintService', 'brSnackbar', 'paletteDragAndDropService', designerDirective])
     .directive('onError', onErrorDirective)
     .directive('catalogSelector', catalogSelectorDirective)

http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/c4367b2d/ui-modules/blueprint-composer/app/views/main/main.controller.js
----------------------------------------------------------------------
diff --git a/ui-modules/blueprint-composer/app/views/main/main.controller.js b/ui-modules/blueprint-composer/app/views/main/main.controller.js
index da932ff..d4204f8 100644
--- a/ui-modules/blueprint-composer/app/views/main/main.controller.js
+++ b/ui-modules/blueprint-composer/app/views/main/main.controller.js
@@ -251,23 +251,7 @@ export const mainState = {
     controller: ['$scope', '$element', '$log', '$state', '$stateParams', 'brBrandInfo', 'blueprintService', 'actionService', 'catalogApi', 'applicationApi', 'brSnackbar', 'brBottomSheet', 'edit', 'yaml', 'composerOverrides', MainController],
     controllerAs: 'vm',
     resolve: {
-        edit: ['$stateParams', '$q', 'paletteApi', ($stateParams, $q, paletteApi) => {
-            let deferred = $q.defer();
-            if (!($stateParams.bundleSymbolicName && $stateParams.bundleVersion && $stateParams.typeSymbolicName && $stateParams.typeVersion)) {
-                deferred.resolve(null);
-            } else if ($stateParams.bundleSymbolicName && $stateParams.bundleVersion && $stateParams.typeSymbolicName && $stateParams.typeVersion) {
-                $q.all([
-                    paletteApi.getBundle($stateParams.bundleSymbolicName, $stateParams.bundleVersion),
-                    paletteApi.getBundleType($stateParams.bundleSymbolicName, $stateParams.bundleVersion, $stateParams.typeSymbolicName, $stateParams.typeVersion),
-                    paletteApi.getTypeVersions($stateParams.typeSymbolicName)
-                ]).then(responses => {
-                    deferred.resolve({bundle: responses[0], type: responses[1], versions: responses[2].map(item => item.version)});
-                }).catch(response => deferred.reject(response.error.message));
-            } else {
-                deferred.reject('Both bundle and type information must be supplied');
-            }
-            return deferred.promise;
-        }],
-        yaml: ['$stateParams', $stateParams => $stateParams.yaml]
+        edit: ['$stateParams', 'blueprintLoaderApi', ($stateParams, blueprintLoaderApi) => blueprintLoaderApi.loadBlueprint($stateParams)],
+        yaml: ['$stateParams', 'blueprintLoaderApi', ($stateParams, blueprintLoaderApi) => blueprintLoaderApi.loadYaml($stateParams)]
     }
 };


[2/2] brooklyn-ui git commit: This closes #95

Posted by he...@apache.org.
This closes #95


Project: http://git-wip-us.apache.org/repos/asf/brooklyn-ui/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-ui/commit/777332a2
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-ui/tree/777332a2
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-ui/diff/777332a2

Branch: refs/heads/master
Commit: 777332a23878450cb8e12a27f35250b559e4d8c0
Parents: a0cddab c4367b2
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Fri Nov 2 11:06:13 2018 +0000
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Fri Nov 2 11:06:13 2018 +0000

----------------------------------------------------------------------
 .../providers/blueprint-loader-api.js           | 37 ++++++++++
 .../providers/blueprint-loader-api.provider.js  | 71 ++++++++++++++++++++
 ui-modules/blueprint-composer/app/index.js      |  9 +--
 .../app/views/main/main.controller.js           | 20 +-----
 4 files changed, 115 insertions(+), 22 deletions(-)
----------------------------------------------------------------------