summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/test/resources/config/sample.yaml
blob: 12ab2c777fa0c11acf279367255d5017aabbd3aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
version: 1.0
released: 2012-11-30

# Connection parameters
connection:
    url: jdbc:mysql://localhost:3306/db
    poolSize: 5

# Protocols
protocols:
   - http
   - https

# Users
users:
    tom: passwd
    bob: passwd
ound-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
/*-
 * ============LICENSE_START=======================================================
 * SDC
 * ================================================================================
 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
 * ================================================================================
 * 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.
 * ============LICENSE_END=========================================================
 */
/// <reference path="../../references"/>

module Sdc.ViewModels {
    'use strict';

    interface IComponentViewerViewModelScope extends ng.IScope {
        component: Models.Components.Component;
        additionalInformations: Array<Models.AdditionalInformationModel>;
        activityLog: any;
        activityDateArray: Array<any>; //this is in order to sort the dates
        inputs: Array<any>;
        isLoading: boolean;
        templateUrl: string;
        currentTab:string;
        preVersion:string;
        sdcMenu:Models.IAppMenu;
        versionsList:Array<any>;
        close(): void;
        hasItems(obj:any): boolean;
        onVersionChanged(version:any) : void;
        moveToTab(tab:string):void;
        isSelected(tab:string):boolean;
        getActivityLog(uniqueId:string):void;
        parseAction(action:string):string;
    }

    export class ComponentViewerViewModel {

        static '$inject' = [
            '$scope',
            '$modalInstance',
            'component',
            'Sdc.Services.ActivityLogService',
            'sdcMenu',
            'ComponentFactory'
        ];

        constructor(private $scope:IComponentViewerViewModelScope,
                    private $modalInstance:ng.ui.bootstrap.IModalServiceInstance,
                    private component:Models.Components.Component,
                    private activityLogService:Services.ActivityLogService,
                    private sdcMenu:Models.IAppMenu,
                    private ComponentFactory: Utils.ComponentFactory) {
            this.initScope(component);
        }

        //creating objects for versions
        private initVersionObject:Function = ():void => {
            this.$scope.versionsList = [];
            for (let version in this.$scope.component.allVersions) {
                this.$scope.versionsList.push({
                    versionNumber: version,
                    versioning: this.versioning(version),
                    versionId: this.$scope.component.allVersions[version]
                });
            }

        };

        private versioning:Function = (versionNumber:string):string => {
            let version:Array<string> = versionNumber.split('.');
            return '00000000'.slice(version[0].length) + version[0] + '.' + '00000000'.slice(version[1].length) + version[1];
        };

        private showComponentInformationView:Function = ():void => {
            if (this.$scope.component.isResource()) {
                this.$scope.templateUrl = '/app/scripts/view-models/component-viewer/properties/resource-properties-view.html';
            } else if(this.$scope.component.isService()) {
                this.$scope.templateUrl = '/app/scripts/view-models/component-viewer/properties/service-properties-view.html';
            } else {
                this.$scope.templateUrl = '/app/scripts/view-models/component-viewer/properties/product-properties-view.html';
            }
        };

        private showActivityLogView:Function = ():void => {
            this.$scope.templateUrl = '/app/scripts/view-models/component-viewer/activity-log/activity-log-view.html';
        };

        private initComponent = (component:Models.Components.Component):void => {
            this.$scope.component = component;
            this.$scope.additionalInformations = component.getAdditionalInformation();
            this.initVersionObject();
            this.$scope.isLoading = false;
        };

        private initScope = (component:Models.Components.Component):void => {
            this.$scope.isLoading = false;
            this.initComponent(component);
            this.$scope.currentTab = 'PROPERTIES';
            this.$scope.preVersion = component.version;
            this.$scope.sdcMenu = this.sdcMenu;
            this.showComponentInformationView();
            //service inputs
            if (component.isService()) {
                let inputs:Array<any> = [];

                for (let group in component.componentInstancesProperties) {
                    if (component.componentInstancesProperties[group]) {
                        component.componentInstancesProperties[group].forEach((property:Models.PropertyModel):void => {
                            if (!property.value) {
                                property.value = property.defaultValue;
                            }
                            inputs.push({
                                name: property.name,
                                value: property.value,
                                type: property.type
                            });
                        });
                    }
                }
                this.$scope.inputs = inputs;
            }

            this.$scope.hasItems = (obj:any):boolean => {
                return Object.keys(obj).length > 0;
            };

            this.$scope.close = ():void => {
                this.$modalInstance.dismiss();
            };

            this.$scope.onVersionChanged = (version:any):void => {
                if (version.versionNumber != this.$scope.component.version) {
                    this.$scope.isLoading = true;
                    this.ComponentFactory.getComponentFromServer(this.component.componentType, version.versionId).then((component: Models.Components.Component):void => {
                        this.initComponent(component);
                    });
                    if (this.$scope.currentTab === 'ACTIVITY_LOG') {
                        this.$scope.getActivityLog(version.versionId);
                    }

                }
            };

            this.$scope.getActivityLog = (uniqueId:any):void => {

                let onError = (response) => {
                    this.$scope.isLoading = false;
                    console.info('onFaild', response);

                };
                let onSuccess = (response:Array<Models.Activity>) => {
                    this.$scope.activityLog = _.groupBy(response, function (activity:Models.Activity) {  //group by date only
                        let dateTime:Date = new Date(activity.TIMESTAMP.replace(" UTC", '').replace(" ", 'T'));
                      //  let date:Date = new Date(dateTime.getFullYear(), dateTime.getMonth(), dateTime.getDate());
                        return dateTime.getTime();
                    });
                    /*this is in order to sort the jsonObject by date*/
                    this.$scope.activityDateArray = Object.keys(this.$scope.activityLog);
                    this.$scope.activityDateArray.sort().reverse();
                    this.$scope.isLoading = false;
                };

                this.$scope.isLoading = true;
                if (this.$scope.component.isResource()) {
                    this.activityLogService.getActivityLogService('resources', uniqueId).then(onSuccess, onError);
                }
                if (this.$scope.component.isService()) {
                    this.activityLogService.getActivityLogService('services', uniqueId).then(onSuccess, onError);
                }

            };

            this.$scope.moveToTab = (tab:string):void => {
                if (tab === this.$scope.currentTab) {
                    return;
                } else if (tab === 'PROPERTIES') {
                    this.showComponentInformationView();
                    this.$scope.preVersion = this.$scope.component.version;
                } else if (tab === 'ACTIVITY_LOG') {
                    if (!this.$scope.activityLog || this.$scope.preVersion != this.$scope.component.version) {
                        this.$scope.activityLog = this.$scope.getActivityLog(this.$scope.component.uniqueId);
                    }
                    this.showActivityLogView();
                } else {
                    console.error("Tab " + tab + " not found!");
                    return;
                }
                this.$scope.currentTab = tab;
            };

            this.$scope.isSelected = (tab:string):boolean => {
                return tab === this.$scope.currentTab;
            };

            this.$scope.parseAction = (action:string) => {
                return action ? action.split(/(?=[A-Z])/).join(' ') : '';
            };

        }
    }
}