aws-cfn-stacker 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +10 -0
- data/.rspec +2 -0
- data/Gemfile +53 -0
- data/README.rdoc +28 -0
- data/Rakefile +22 -1
- data/app/assets/images/.keep +0 -0
- data/app/assets/javascripts/application.js +16 -0
- data/app/assets/javascripts/pizza_service.js.coffee +3 -0
- data/app/assets/javascripts/version.js.coffee +3 -0
- data/app/assets/stylesheets/application.css +15 -0
- data/app/assets/stylesheets/pizza_service.css.scss +3 -0
- data/app/assets/stylesheets/version.css.scss +3 -0
- data/app/controllers/application_controller.rb +5 -0
- data/app/controllers/concerns/.keep +0 -0
- data/app/controllers/pizza_service_controller.rb +2 -0
- data/app/controllers/version_controller.rb +32 -0
- data/app/helpers/application_helper.rb +2 -0
- data/app/helpers/pizza_service_helper.rb +2 -0
- data/app/helpers/version_helper.rb +74 -0
- data/app/mailers/.keep +0 -0
- data/app/models/.keep +0 -0
- data/app/models/concerns/.keep +0 -0
- data/app/views/layouts/application.html.erb +14 -0
- data/app/views/version/index.html.erb +2 -0
- data/app/views/version/versioninfo.html.erb +3 -0
- data/aws-cfn-stacker.gemspec +15 -7
- data/aws-cfn-stacker.iml +127 -28
- data/bin/cfn-stacker +12 -21
- data/bin/stacker +16 -0
- data/config.ru +4 -0
- data/config/application.rb +23 -0
- data/config/boot.rb +4 -0
- data/config/database.yml +25 -0
- data/config/environment.rb +5 -0
- data/config/environments/development.rb +37 -0
- data/config/environments/production.rb +78 -0
- data/config/environments/test.rb +39 -0
- data/config/initializers/assets.rb +8 -0
- data/config/initializers/backtrace_silencers.rb +7 -0
- data/config/initializers/cookies_serializer.rb +3 -0
- data/config/initializers/filter_parameter_logging.rb +4 -0
- data/config/initializers/inflections.rb +16 -0
- data/config/initializers/mime_types.rb +4 -0
- data/config/initializers/session_store.rb +3 -0
- data/config/initializers/wrap_parameters.rb +14 -0
- data/config/locales/en.yml +23 -0
- data/config/routes.rb +60 -0
- data/config/secrets.yml +22 -0
- data/db/development.sqlite3 +0 -0
- data/db/seeds.rb +7 -0
- data/db/test.sqlite3 +0 -0
- data/lib/assets/.keep +0 -0
- data/lib/aws/cfn/stacker.rb +5 -6
- data/lib/aws/cfn/stacker/base.rb +198 -1
- data/lib/aws/cfn/stacker/commands/list_params.rb +5 -0
- data/lib/aws/cfn/stacker/mixins/convert_to_class_name.rb +44 -0
- data/lib/aws/cfn/stacker/mixins/main.rb +28 -29
- data/lib/aws/cfn/stacker/mixins/options.rb +74 -43
- data/lib/aws/cfn/stacker/mixins/prerequisites.rb +4 -4
- data/lib/aws/cfn/stacker/subcommand_loader.rb +30 -0
- data/lib/aws/cfn/stacker/version.rb +2 -1
- data/lib/tasks/.keep +0 -0
- data/log/.keep +0 -0
- data/public/404.html +67 -0
- data/public/422.html +67 -0
- data/public/500.html +66 -0
- data/public/favicon.ico +0 -0
- data/public/robots.txt +5 -0
- data/spec/controllers/pizza_service_controller_spec.rb +5 -0
- data/spec/helpers/pizza_service_helper_spec.rb +15 -0
- data/spec/rails_helper.rb +51 -0
- data/spec/spec_helper.rb +85 -0
- data/ui/build.xml +172 -0
- data/ui/lib/gwt-dev-2.6.1.jar +0 -0
- data/ui/lib/gwt-user-2.6.1.jar +0 -0
- data/ui/lib/gxt-3.1.1.jar +0 -0
- data/ui/lib/gxt-chart-3.1.1.jar +0 -0
- data/ui/lib/gxt-theme-neptune-3.1.1.jar +0 -0
- data/ui/lib/jackson-annotations-2.3.2.jar +0 -0
- data/ui/lib/jackson-core-2.3.2.jar +0 -0
- data/ui/lib/jackson-databind-2.3.2.jar +0 -0
- data/ui/lib/jsr311-api-1.1.1-sources.jar +0 -0
- data/ui/lib/jsr311-api-1.1.1.jar +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/api/ApiBase.java +20 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/api/model/OrderConfirmation.java +55 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/api/model/Pizza.java +47 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/api/model/PizzaOrder.java +74 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/api/model/Topping.java +42 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/api/service/GreetingService.java +12 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/api/service/GreetingServiceAsync.java +11 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/api/service/JSONBindingService.java +61 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/api/service/JSONRPCPizzaService.java +11 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/api/service/MethodService.java +51 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/api/service/PizzaService.java +49 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/Desktop.gwt.xml +29 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/layout/CascadeDesktopLayout.java +61 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/layout/CenterDesktopLayout.java +59 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/layout/DesktopLayout.java +40 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/layout/DesktopLayoutType.java +15 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/layout/LimitedDesktopLayout.java +54 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/layout/TileDesktopLayout.java +83 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/container/DesktopLayout.css +22 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/container/DesktopLayoutDefaultAppearance.java +75 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/container/desktop.jpg +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/ShortcutCell.css +7 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/ShortcutCellDefaultAppearance.java +35 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/ShortcutTableFrame.css +37 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/ShortcutTableFrameResources.java +104 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/background.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/backgroundOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/backgroundPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/bottomBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/bottomLeftBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/bottomLeftOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/bottomLeftPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/bottomOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/bottomPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/bottomRightBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/bottomRightOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/bottomRightPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/leftBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/leftOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/leftPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/rightBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/rightOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/rightPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/topBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/topLeftBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/topLeftOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/topLeftPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/topOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/topPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/topRightBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/topRightOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/shortcut/topRightPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/StartButtonCell.css +22 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/StartButtonCellDefaultAppearance.java +48 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/StartButtonTableFrame.css +171 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/StartButtonTableFrameResources.java +105 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/background.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/backgroundOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/backgroundPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/bottomBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/bottomLeftBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/bottomLeftOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/bottomLeftPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/bottomOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/bottomPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/bottomRightBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/bottomRightOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/bottomRightPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/leftBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/leftOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/leftPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/rightBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/rightOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/rightPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/startButtonIcon.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/topBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/topLeftBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/topLeftOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/topLeftPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/topOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/topPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/topRightBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/topRightOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startbutton/topRightPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startmenu/StartHeadingMenuItem.css +11 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startmenu/StartHeadingMenuItemAppearance.java +44 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startmenu/StartItem.css +17 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startmenu/StartMainMenu.css +12 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startmenu/StartMainMenu.html +3 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startmenu/StartMainMenuAppearance.java +70 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startmenu/StartMenu.css +29 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startmenu/StartMenu.html +11 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startmenu/StartMenuDefaultAppearance.java +96 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startmenu/StartToolMenu.css +12 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startmenu/StartToolMenu.html +3 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startmenu/StartToolMenuAppearance.java +60 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startmenu/StartToolMenuItem.css +10 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startmenu/StartToolMenuItemAppearance.java +45 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/startmenu/itemOver.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/TaskButtonCell.css +15 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/TaskButtonCellDefaultAppearance.java +36 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/TaskButtonTableFrame.css +171 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/TaskButtonTableFrameResources.java +105 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/background.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/backgroundOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/backgroundPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/bottomBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/bottomLeftBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/bottomLeftOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/bottomLeftPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/bottomOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/bottomPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/bottomRightBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/bottomRightOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/bottomRightPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/leftBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/leftOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/leftPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/rightBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/rightOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/rightPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/topBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/topLeftBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/topLeftOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/topLeftPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/topOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/topPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/topRightBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/topRightOverBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/theme/base/taskbutton/topRightPressedBorder.gif +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/widget/AutoVerticalLayoutContainer.java +19 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/widget/Desktop.java +483 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/widget/DesktopLayoutContainer.java +227 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/widget/EnumComboBox.java +1 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/widget/ScaleOnResizeSupport.java +156 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/widget/Shortcut.java +38 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/widget/ShortcutCell.java +59 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/widget/StartButton.java +75 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/widget/StartButtonCell.java +59 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/widget/StartHeadingMenuItem.java +62 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/widget/StartMainMenu.java +68 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/widget/StartMainMenuItem.java +60 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/widget/StartMenu.java +260 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/widget/StartToolMenu.java +68 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/widget/StartToolMenuItem.java +71 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/widget/TaskBar.java +192 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/widget/TaskButton.java +64 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/widget/TaskButtonCell.java +59 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktop/client/widget/WindowManager.java +226 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/DesktopApp.gwt.xml +27 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/DesktopApp.java +304 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/DesktopAppPresenter.java +232 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/DesktopAppPresenterImpl.java +436 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/DesktopAppView.java +33 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/DesktopAppViewImpl.java +263 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/DesktopBus.java +297 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/FileBasedMiniAppPresenter.java +21 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/FileBasedMiniAppPresenterImpl.java +257 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/FileBasedMiniAppView.java +22 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/LoginModel.java +73 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/LoginPresenter.java +30 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/LoginPresenterImpl.java +85 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/LoginView.java +62 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/LoginViewImpl.java +232 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/Presenter.java +26 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/ProfileFactory.java +31 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/ProfileModel.java +69 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/ProfilePresenter.java +44 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/ProfilePresenterImpl.java +78 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/ProfileView.java +51 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/ProfileViewImpl.java +220 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/browser/BrowserPresenter.java +22 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/browser/BrowserPresenterImpl.java +41 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/browser/BrowserView.java +14 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/browser/BrowserViewImpl.java +90 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/event/AddFileModelEvent.java +41 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/event/AddStackModelEvent.java +41 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/event/CloseFileModelEvent.java +48 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/event/CreateFileModelEvent.java +49 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/event/LoginEvent.java +46 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/event/LogoutEvent.java +34 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/event/OpenFileModelEvent.java +48 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/event/OpenStackModelEvent.java +48 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/event/RemoveFileModelEvent.java +41 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/event/RemoveStackModelEvent.java +41 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/event/SelectFileModelEvent.java +41 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/event/SelectStackModelEvent.java +41 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/event/UpdateFileModelEvent.java +42 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/event/UpdateProfileEvent.java +53 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/event/UpdateStackModelEvent.java +42 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/FileManagerGridInlineEditing.java +73 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/FileManagerIconProvider.java +41 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/FileManagerMenu.java +266 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/FileManagerPresenter.java +40 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/FileManagerPresenterImpl.java +158 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/FileManagerSizeCell.java +47 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/FileManagerToolBar.java +273 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/FileManagerTreeGrid.java +49 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/FileManagerView.java +29 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/FileManagerViewImpl.java +379 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/images/Images.java +60 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/images/arrow_in.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/images/arrow_out.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/images/bin_closed.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/images/bullet_go.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/images/cross.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/images/disk.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/images/folder.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/images/folder_add.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/images/page_white.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/images/page_white_add.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/images/script.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/images/script_add.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/images/table.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/images/table_add.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/images/textfield_rename.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/images/world.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/filemanager/images/world_add.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/images/DesktopImages.java +40 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/images/application_cascade.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/images/application_tile_horizontal.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/images/door_in.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/images/door_out.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/images/folder.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/images/folder_shortcut.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/images/grid.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/images/stack.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/images/stack_shortcut.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/images/table.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/images/user.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/images/user_edit.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/interpreter/InterpreterPresenter.java +16 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/interpreter/InterpreterPresenterImpl.java +150 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/interpreter/InterpreterView.java +16 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/interpreter/InterpreterViewImpl.java +243 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/persistence/AutoBeanToString.java +17 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/persistence/BackingStore.java +20 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/persistence/FileModel.java +47 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/persistence/FileModelFactory.java +19 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/persistence/FileModelProperties.java +32 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/persistence/FileSystem.java +350 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/persistence/MemoryBackingStore.java +45 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/persistence/StackModel.java +48 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/persistence/StackModelFactory.java +19 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/persistence/StackModelProperties.java +32 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/persistence/StackPile.java +350 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/persistence/StorageBackingStore.java +61 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/persistence/StorageProvider.java +71 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/service/LoginServiceProvider.java +1 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/service/LoginServiceRequest.java +1 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/service/ProfileServiceProvider.java +1 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/service/ProfileServiceRequest.java +1 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/servicebus/ServiceBus.java +1 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/servicebus/ServiceProvider.java +13 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/servicebus/ServiceRequest.java +13 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/ChartValueProvider.java +47 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/ColumnProvider.java +19 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/Evaluator.java +547 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/Row.java +21 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/RowValueProvider.java +33 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/SpreadsheetChartListStoreAdapter.java +236 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/SpreadsheetChartPresenter.java +21 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/SpreadsheetChartPresenterImpl.java +74 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/SpreadsheetChartView.java +18 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/SpreadsheetChartViewImpl.java +284 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/SpreadsheetMenu.java +133 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/SpreadsheetPresenter.java +40 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/SpreadsheetPresenterImpl.java +194 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/SpreadsheetToolBar.java +189 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/SpreadsheetUtilities.java +55 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/SpreadsheetView.java +28 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/SpreadsheetViewImpl.java +420 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/Table.java +23 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/TableCategory.java +19 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/TableFactory.java +21 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/TableValueProvider.java +14 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/Worksheet.java +353 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/images/Images.java +46 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/images/arrow_down.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/images/arrow_left.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/images/arrow_right.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/images/arrow_up.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/images/chart_bar.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/images/chart_line.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/images/chart_pie.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/images/table_column_delete.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/spreadsheet/images/table_row_delete.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/stackmanager/StackManagerGridInlineEditing.java +73 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/stackmanager/StackManagerIconProvider.java +32 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/stackmanager/StackManagerMenu.java +233 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/stackmanager/StackManagerPresenter.java +40 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/stackmanager/StackManagerPresenterImpl.java +155 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/stackmanager/StackManagerSizeCell.java +47 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/stackmanager/StackManagerToolBar.java +234 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/stackmanager/StackManagerTreeGrid.java +49 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/stackmanager/StackManagerView.java +29 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/stackmanager/StackManagerViewImpl.java +379 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/stackmanager/images/Images.java +45 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/stackmanager/images/arrow_in.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/stackmanager/images/arrow_out.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/stackmanager/images/bin_closed.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/stackmanager/images/bullet_go.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/stackmanager/images/folder.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/stackmanager/images/folder_add.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/stackmanager/images/stack.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/stackmanager/images/stack_add.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/stackmanager/images/textfield_rename.png +0 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/utility/Prompt.java +23 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/utility/PromptImpl.java +72 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/utility/Utility.java +41 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/wordprocessor/WordProcessorPresenter.java +14 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/wordprocessor/WordProcessorPresenterImpl.java +43 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/wordprocessor/WordProcessorView.java +14 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/desktopapp/client/wordprocessor/WordProcessorViewImpl.java +107 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/Messages.gwt.xml +15 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages.java +19 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages.properties +8 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessagesApi.java +34 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages_ca.properties +109 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages_cs.properties +106 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages_da.properties +106 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages_de.properties +107 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages_el_GR.properties +106 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages_es.properties +110 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages_fr.properties +134 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages_hu.properties +134 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages_it.properties +107 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages_ja.properties +190 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages_nl.properties +190 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages_no.properties +106 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages_pl.properties +166 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages_pt.properties +106 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages_pt_BR.properties +116 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages_pt_PT.properties +106 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages_ru.properties +106 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages_sl.properties +152 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages_tr.properties +186 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages_ua.properties +106 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/messages/client/DesktopMessages_zh.properties +106 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/server/GreetingServiceImpl.java +47 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/server/JsonpServlet.java +50 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/server/PizzaServlet.java +131 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/server/TestServlet.java +162 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/shared/FieldVerifier.java +42 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/ui/UI.gwt.xml +77 -0
- data/ui/src/com/dldinternet/aws/cfn/stacker/ui/UI.java +180 -0
- data/ui/war/.htaccess +10 -0
- data/ui/war/UI.css +34 -0
- data/ui/war/UI.html +86 -0
- data/ui/war/WEB-INF/web.xml +91 -0
- data/ui/war/images/large-loading.gif +0 -0
- data/vendor/assets/javascripts/.keep +0 -0
- data/vendor/assets/stylesheets/.keep +0 -0
- metadata +532 -31
@@ -0,0 +1,232 @@
|
|
1
|
+
/**
|
2
|
+
* Sencha GXT 3.1.1 - Sencha for GWT
|
3
|
+
* Copyright(c) 2007-2014, Sencha, Inc.
|
4
|
+
* licensing@sencha.com
|
5
|
+
*
|
6
|
+
* http://www.sencha.com/products/gxt/license/
|
7
|
+
*/
|
8
|
+
package com.dldinternet.aws.cfn.stacker.desktopapp.client;
|
9
|
+
|
10
|
+
import com.dldinternet.aws.cfn.stacker.desktopapp.client.persistence.StackPile;
|
11
|
+
import com.google.gwt.user.client.ui.HasWidgets;
|
12
|
+
import com.dldinternet.aws.cfn.stacker.desktopapp.client.persistence.FileSystem;
|
13
|
+
|
14
|
+
/**
|
15
|
+
* Presents the desktop application to the user. Creates a desktop application
|
16
|
+
* view that interacts with the user. Provides data for the view and handles
|
17
|
+
* events from the view.
|
18
|
+
* <p/>
|
19
|
+
* There is an implied order of invocation:
|
20
|
+
* <p/>
|
21
|
+
* <table border="1">
|
22
|
+
* <tr>
|
23
|
+
* <th>Any State</th>
|
24
|
+
* <th>Storage State</th>
|
25
|
+
* <th>Login State</th>
|
26
|
+
* <th>Profile State</th></th>
|
27
|
+
* <tr>
|
28
|
+
* <td>clearLocalStorage</td>
|
29
|
+
* <td></td>
|
30
|
+
* <td></td>
|
31
|
+
* <td></td>
|
32
|
+
* </tr>
|
33
|
+
* <tr>
|
34
|
+
* <td>isLocalStorageSupported</td>
|
35
|
+
* <td></td>
|
36
|
+
* <td></td>
|
37
|
+
* <td></td>
|
38
|
+
* </tr>
|
39
|
+
* <tr>
|
40
|
+
* <td></td>
|
41
|
+
* <td>getCurrentUser</td>
|
42
|
+
* <td></td>
|
43
|
+
* <td></td>
|
44
|
+
* </tr>
|
45
|
+
* <tr>
|
46
|
+
* <td></td>
|
47
|
+
* <td>isLoggedIn</td>
|
48
|
+
* <td></td>
|
49
|
+
* <td></td>
|
50
|
+
* </tr>
|
51
|
+
* <tr>
|
52
|
+
* <td></td>
|
53
|
+
* <td>onLogin</td>
|
54
|
+
* <td></td>
|
55
|
+
* <td></td>
|
56
|
+
* </tr>
|
57
|
+
* <tr>
|
58
|
+
* <td></td>
|
59
|
+
* <td></td>
|
60
|
+
* <td>getFileSystem</td>
|
61
|
+
* <td></td>
|
62
|
+
* </tr>
|
63
|
+
* <tr>
|
64
|
+
* <td></td>
|
65
|
+
* <td></td>
|
66
|
+
* <td>getProfile</td>
|
67
|
+
* <td></td>
|
68
|
+
* </tr>
|
69
|
+
* <tr>
|
70
|
+
* <td></td>
|
71
|
+
* <td></td>
|
72
|
+
* <td>go</td>
|
73
|
+
* <td></td>
|
74
|
+
* </tr>
|
75
|
+
* <tr>
|
76
|
+
* <td></td>
|
77
|
+
* <td></td>
|
78
|
+
* <td>onOpenFileManager</td>
|
79
|
+
* <td></td>
|
80
|
+
* </tr>
|
81
|
+
* <tr>
|
82
|
+
* <td></td>
|
83
|
+
* <td></td>
|
84
|
+
* <td>onOpenProfile</td>
|
85
|
+
* <td></td>
|
86
|
+
* </tr>
|
87
|
+
* <tr>
|
88
|
+
* <td></td>
|
89
|
+
* <td></td>
|
90
|
+
* <td></td>
|
91
|
+
* <td>onUpdateProfile</td>
|
92
|
+
* </tr>
|
93
|
+
* <tr>
|
94
|
+
* <td></td>
|
95
|
+
* <td></td>
|
96
|
+
* <td>onLogout</td>
|
97
|
+
* <td></td>
|
98
|
+
* </tr>
|
99
|
+
* </table>
|
100
|
+
* <p/>
|
101
|
+
* To prevent applications from accidentally using in-memory storage storage on
|
102
|
+
* browsers that don't support persistent local storage, callers must invoke
|
103
|
+
* {@link #isLocalStorageSupported()} prior to any method that uses local
|
104
|
+
* storage. Failure to do so will result in a {@link IllegalStateException}.
|
105
|
+
* <p/>
|
106
|
+
* Some methods require a currently logged in user. Failure to successfully
|
107
|
+
* invoke {@link #onLogin(LoginModel)} prior to invoking these methods will
|
108
|
+
* result in a {@link IllegalArgumentException}.
|
109
|
+
* <p/>
|
110
|
+
* Note: method names beginning with {@code on} are generally invoked by the
|
111
|
+
* view in response to a user generated event.
|
112
|
+
*/
|
113
|
+
public interface DesktopAppPresenter {
|
114
|
+
|
115
|
+
/**
|
116
|
+
* The outcome of a user login attempt.
|
117
|
+
*/
|
118
|
+
public enum LoginStatus {
|
119
|
+
SUCCESS, INVALID_NAME_OR_PASSWORD, DUPLICATE_USER_NAME,
|
120
|
+
}
|
121
|
+
|
122
|
+
/**
|
123
|
+
* The outcome of a profile update operation.
|
124
|
+
*/
|
125
|
+
public enum ProfileStatus {
|
126
|
+
SUCCESS, NO_CURRENT_USER
|
127
|
+
}
|
128
|
+
|
129
|
+
/**
|
130
|
+
* Clears local storage for the application. Generally this is the storage
|
131
|
+
* associated with the domain of the URL.
|
132
|
+
*/
|
133
|
+
void clearLocalStorage();
|
134
|
+
|
135
|
+
/**
|
136
|
+
* Gets the currently logged-in user or null if no user is logged in.
|
137
|
+
*
|
138
|
+
* @return the current user or null if no user is logged in
|
139
|
+
*/
|
140
|
+
String getCurrentUser();
|
141
|
+
|
142
|
+
/**
|
143
|
+
* Gets the file system for the current user.
|
144
|
+
*
|
145
|
+
* @return the file system for the current user
|
146
|
+
*/
|
147
|
+
FileSystem getFileSystem();
|
148
|
+
|
149
|
+
/**
|
150
|
+
* Gets the file system for the current user.
|
151
|
+
*
|
152
|
+
* @return the file system for the current user
|
153
|
+
*/
|
154
|
+
StackPile getStackPile();
|
155
|
+
|
156
|
+
/**
|
157
|
+
* Gets the current values of the profile settings for the current user.
|
158
|
+
*
|
159
|
+
* @return the profile for the current user
|
160
|
+
*/
|
161
|
+
ProfileModel getProfile();
|
162
|
+
|
163
|
+
/**
|
164
|
+
* Creates a desktop application view and connects it to the user interface.
|
165
|
+
*
|
166
|
+
* @param hasWidgets the user interface
|
167
|
+
*/
|
168
|
+
void go(HasWidgets hasWidgets);
|
169
|
+
|
170
|
+
/**
|
171
|
+
* Returns true if the browser supports local storage and it is configured for
|
172
|
+
* use with this domain. This method must be invoked prior to using HTML5
|
173
|
+
* Local Storage to prevent the caller from accidentally using in-memory
|
174
|
+
* temporary storage on browsers that don't support persistent local storage.
|
175
|
+
*
|
176
|
+
* @return true if persistent local storage is supported, false if subsequent
|
177
|
+
* storage access will use in-memory storage that will be freed if the
|
178
|
+
* browser is refreshed or closed.
|
179
|
+
*/
|
180
|
+
boolean isLocalStorageSupported();
|
181
|
+
|
182
|
+
/**
|
183
|
+
* Returns true if a user is currently logged in or is still logged in from a
|
184
|
+
* previous session.
|
185
|
+
*
|
186
|
+
* @return true if a user is currently logged in
|
187
|
+
*/
|
188
|
+
boolean isLoggedIn();
|
189
|
+
|
190
|
+
/**
|
191
|
+
* Attempts to log the user into the application, validating the user name and
|
192
|
+
* password, or attempting to create the user if requested.
|
193
|
+
*
|
194
|
+
* @param loginModel the data representing the login request
|
195
|
+
* @return {@link LoginStatus#SUCCESS} if the user is successfully logged in.
|
196
|
+
* See {@link DesktopAppPresenter.LoginStatus} for other possible
|
197
|
+
* outcomes.
|
198
|
+
*/
|
199
|
+
LoginStatus onLogin(LoginModel loginModel);
|
200
|
+
|
201
|
+
/**
|
202
|
+
* Logs the user out of the system and refreshes the current page, returning
|
203
|
+
* the page to the initial state, ready for a new login.
|
204
|
+
*/
|
205
|
+
void onLogout();
|
206
|
+
|
207
|
+
/**
|
208
|
+
* Opens a file manager.
|
209
|
+
*/
|
210
|
+
void onOpenFileManager();
|
211
|
+
|
212
|
+
/**
|
213
|
+
* Opens a stack manager.
|
214
|
+
*/
|
215
|
+
void onOpenStackManager();
|
216
|
+
|
217
|
+
/**
|
218
|
+
* Opens the current user's profile so the user can view or update the
|
219
|
+
* settings.
|
220
|
+
*/
|
221
|
+
void onOpenProfile();
|
222
|
+
|
223
|
+
/**
|
224
|
+
* Updates the current user's profile.
|
225
|
+
*
|
226
|
+
* @param profileModel the update profile, or null to indicate the user has
|
227
|
+
* cancelled the update operation
|
228
|
+
* @return {@link ProfileStatus#SUCCESS} if the profile update was successful.
|
229
|
+
*/
|
230
|
+
DesktopAppPresenter.ProfileStatus onUpdateProfile(ProfileModel profileModel);
|
231
|
+
|
232
|
+
}
|
@@ -0,0 +1,436 @@
|
|
1
|
+
/**
|
2
|
+
* Sencha GXT 3.1.1 - Sencha for GWT
|
3
|
+
* Copyright(c) 2007-2014, Sencha, Inc.
|
4
|
+
* licensing@sencha.com
|
5
|
+
*
|
6
|
+
* http://www.sencha.com/products/gxt/license/
|
7
|
+
*/
|
8
|
+
package com.dldinternet.aws.cfn.stacker.desktopapp.client;
|
9
|
+
|
10
|
+
import com.dldinternet.aws.cfn.stacker.desktopapp.client.stackmanager.StackManagerPresenterImpl;
|
11
|
+
import com.google.gwt.core.client.GWT;
|
12
|
+
import com.google.gwt.storage.client.Storage;
|
13
|
+
import com.google.gwt.user.client.ui.HasWidgets;
|
14
|
+
import com.google.web.bindery.autobean.shared.AutoBean;
|
15
|
+
import com.google.web.bindery.autobean.shared.AutoBeanCodex;
|
16
|
+
import com.google.web.bindery.autobean.shared.AutoBeanUtils;
|
17
|
+
import com.sencha.gxt.core.shared.FastMap;
|
18
|
+
import com.sencha.gxt.data.shared.event.StoreAddEvent;
|
19
|
+
import com.sencha.gxt.data.shared.event.StoreAddEvent.StoreAddHandler;
|
20
|
+
import com.sencha.gxt.data.shared.event.StoreRemoveEvent;
|
21
|
+
import com.sencha.gxt.data.shared.event.StoreRemoveEvent.StoreRemoveHandler;
|
22
|
+
import com.sencha.gxt.data.shared.event.StoreUpdateEvent;
|
23
|
+
import com.sencha.gxt.data.shared.event.StoreUpdateEvent.StoreUpdateHandler;
|
24
|
+
import com.sencha.gxt.data.shared.event.TreeStoreRemoveEvent;
|
25
|
+
import com.dldinternet.aws.cfn.stacker.desktop.client.widget.Desktop;
|
26
|
+
import com.dldinternet.aws.cfn.stacker.desktopapp.client.browser.BrowserPresenterImpl;
|
27
|
+
import com.dldinternet.aws.cfn.stacker.desktopapp.client.event.*;
|
28
|
+
import com.dldinternet.aws.cfn.stacker.desktopapp.client.event.OpenFileModelEvent.OpenFileModelHandler;
|
29
|
+
import com.dldinternet.aws.cfn.stacker.desktopapp.client.filemanager.FileManagerPresenterImpl;
|
30
|
+
import com.dldinternet.aws.cfn.stacker.desktopapp.client.interpreter.InterpreterPresenterImpl;
|
31
|
+
import com.dldinternet.aws.cfn.stacker.desktopapp.client.persistence.*;
|
32
|
+
import com.dldinternet.aws.cfn.stacker.desktopapp.client.spreadsheet.SpreadsheetPresenterImpl;
|
33
|
+
import com.dldinternet.aws.cfn.stacker.desktopapp.client.wordprocessor.WordProcessorPresenterImpl;
|
34
|
+
import com.sencha.gxt.widget.core.client.info.Info;
|
35
|
+
|
36
|
+
import java.util.List;
|
37
|
+
|
38
|
+
/**
|
39
|
+
* Presents the desktop application to the user.
|
40
|
+
*
|
41
|
+
* @see DesktopAppPresenter
|
42
|
+
*/
|
43
|
+
public class DesktopAppPresenterImpl implements DesktopAppPresenter {
|
44
|
+
|
45
|
+
private static final String STORAGE_KEY_PREFIX = "com.dldinternet.aws.cfn.stacker.desktop.client.desktopapp";
|
46
|
+
private static final String STORAGE_KEY_PREFIX_SYSTEM = STORAGE_KEY_PREFIX + ".system";
|
47
|
+
private static final String STORAGE_KEY_PREFIX_USER = STORAGE_KEY_PREFIX + ".user";
|
48
|
+
|
49
|
+
private static final String CURRENT_USER_KEY = "currentUser";
|
50
|
+
private static final String PROFILE_KEY = "profile";
|
51
|
+
|
52
|
+
private DesktopBus desktopBus;
|
53
|
+
|
54
|
+
private FileSystem fileSystem;
|
55
|
+
private StackPile stackPile;
|
56
|
+
private StorageProvider storageProvider;
|
57
|
+
private ProfileFactory profileFactory;
|
58
|
+
private Boolean isLocalStorageSupported;
|
59
|
+
private FastMap<BackingStore> backingStoreCache = new FastMap<BackingStore>();
|
60
|
+
private OpenFileModelHandler openFileModelHandler;
|
61
|
+
private StoreAddHandler<FileModel> storeAddHandler;
|
62
|
+
private StoreUpdateHandler<FileModel> storeUpdateHandler;
|
63
|
+
private StoreRemoveHandler<FileModel> storeRemoveHandler;
|
64
|
+
|
65
|
+
private StoreAddHandler<StackModel> stackAddHandler;
|
66
|
+
private StoreUpdateHandler<StackModel> stackUpdateHandler;
|
67
|
+
private StoreRemoveHandler<StackModel> stackRemoveHandler;
|
68
|
+
|
69
|
+
private DesktopAppView desktopAppView;
|
70
|
+
private String currentUser;
|
71
|
+
|
72
|
+
/**
|
73
|
+
* Creates a desktop application presenter that communicates with the rest of
|
74
|
+
* the application using the specified desktop bus.
|
75
|
+
*
|
76
|
+
* @param desktopBus the application bus
|
77
|
+
*/
|
78
|
+
public DesktopAppPresenterImpl(DesktopBus desktopBus) {
|
79
|
+
this.desktopBus = desktopBus;
|
80
|
+
desktopBus.addOpenFileModelHandler(getOpenFileModelHandler());
|
81
|
+
}
|
82
|
+
|
83
|
+
@Override
|
84
|
+
public void clearLocalStorage() {
|
85
|
+
getStorageProvider().clearAll();
|
86
|
+
}
|
87
|
+
|
88
|
+
@Override
|
89
|
+
public String getCurrentUser() {
|
90
|
+
if (currentUser == null) {
|
91
|
+
currentUser = getSystemBackingStore().getItem(CURRENT_USER_KEY);
|
92
|
+
}
|
93
|
+
return currentUser;
|
94
|
+
}
|
95
|
+
|
96
|
+
@Override
|
97
|
+
public FileSystem getFileSystem() {
|
98
|
+
if (fileSystem == null) {
|
99
|
+
fileSystem = new FileSystem(getUserBackingStore(currentUser));
|
100
|
+
fileSystem.getTreeStore().addStoreAddHandler(getStoreAddHandler());
|
101
|
+
fileSystem.getTreeStore().addStoreUpdateHandler(getStoreUpdateHandler());
|
102
|
+
fileSystem.getTreeStore().addStoreRemoveHandler(getStoreRemoveHandler());
|
103
|
+
}
|
104
|
+
return fileSystem;
|
105
|
+
}
|
106
|
+
|
107
|
+
@Override
|
108
|
+
public StackPile getStackPile() {
|
109
|
+
if (stackPile == null) {
|
110
|
+
stackPile = new StackPile(getUserBackingStore(currentUser));
|
111
|
+
stackPile.getTreeStore().addStoreAddHandler(getStackAddHandler());
|
112
|
+
stackPile.getTreeStore().addStoreUpdateHandler(getStackUpdateHandler());
|
113
|
+
stackPile.getTreeStore().addStoreRemoveHandler(getStackRemoveHandler());
|
114
|
+
}
|
115
|
+
return stackPile;
|
116
|
+
}
|
117
|
+
|
118
|
+
@Override
|
119
|
+
public ProfileModel getProfile() {
|
120
|
+
ProfileModel profileModel = getProfile(currentUser);
|
121
|
+
return profileModel;
|
122
|
+
}
|
123
|
+
|
124
|
+
@Override
|
125
|
+
public void go(HasWidgets hasWidgets) {
|
126
|
+
hasWidgets.add(getDesktopAppView().asWidget());
|
127
|
+
getDesktopAppView().setDesktopLayoutType(getProfile().getDesktopLayoutType());
|
128
|
+
getDesktopAppView().setScaleOnResize(getProfile().isScaleOnResize());
|
129
|
+
}
|
130
|
+
|
131
|
+
@Override
|
132
|
+
public boolean isLocalStorageSupported() {
|
133
|
+
if (!isLocalStorageSupportChecked()) {
|
134
|
+
isLocalStorageSupported = Storage.isLocalStorageSupported();
|
135
|
+
}
|
136
|
+
return isLocalStorageSupported;
|
137
|
+
}
|
138
|
+
|
139
|
+
@Override
|
140
|
+
public boolean isLoggedIn() {
|
141
|
+
return getCurrentUser() != null;
|
142
|
+
}
|
143
|
+
|
144
|
+
@Override
|
145
|
+
public DesktopAppPresenter.LoginStatus onLogin(LoginModel loginModel) {
|
146
|
+
String userName = loginModel.getUserName();
|
147
|
+
String password = loginModel.getPassword();
|
148
|
+
boolean isNewUser = loginModel.isNewUser();
|
149
|
+
if (isExistingUser(userName)) {
|
150
|
+
if (isNewUser) {
|
151
|
+
return DesktopAppPresenter.LoginStatus.DUPLICATE_USER_NAME;
|
152
|
+
} else if (!validCredentials(userName, password)) {
|
153
|
+
return DesktopAppPresenter.LoginStatus.INVALID_NAME_OR_PASSWORD;
|
154
|
+
}
|
155
|
+
} else {
|
156
|
+
if (isNewUser) {
|
157
|
+
createNewUser(userName);
|
158
|
+
} else {
|
159
|
+
return DesktopAppPresenter.LoginStatus.INVALID_NAME_OR_PASSWORD;
|
160
|
+
}
|
161
|
+
}
|
162
|
+
setCurrentUser(userName);
|
163
|
+
getDesktopBus().fireLoginEvent(new LoginEvent(userName, isNewUser));
|
164
|
+
return DesktopAppPresenter.LoginStatus.SUCCESS;
|
165
|
+
}
|
166
|
+
|
167
|
+
@Override
|
168
|
+
public void onLogout() {
|
169
|
+
currentUser = null;
|
170
|
+
getSystemBackingStore().removeItem(CURRENT_USER_KEY);
|
171
|
+
getDesktopBus().fireLogoutEvent(new LogoutEvent());
|
172
|
+
}
|
173
|
+
|
174
|
+
@Override
|
175
|
+
public void onOpenFileManager() {
|
176
|
+
new FileManagerPresenterImpl(getFileSystem(), getDesktopBus()).go(getDesktopAppView());
|
177
|
+
}
|
178
|
+
|
179
|
+
@Override
|
180
|
+
public void onOpenStackManager() {
|
181
|
+
new StackManagerPresenterImpl(getStackPile(), getDesktopBus()).go(getDesktopAppView());
|
182
|
+
}
|
183
|
+
|
184
|
+
@Override
|
185
|
+
public void onOpenProfile() {
|
186
|
+
getDesktopBus().invokeProfileService();
|
187
|
+
}
|
188
|
+
|
189
|
+
@Override
|
190
|
+
public DesktopAppPresenter.ProfileStatus onUpdateProfile(ProfileModel profileModel) {
|
191
|
+
boolean isUpdate = profileModel != null;
|
192
|
+
if (isUpdate) {
|
193
|
+
setProfile(profileModel);
|
194
|
+
getDesktopAppView().setDesktopLayoutType(profileModel.getDesktopLayoutType());
|
195
|
+
getDesktopAppView().setScaleOnResize(profileModel.isScaleOnResize());
|
196
|
+
}
|
197
|
+
getDesktopBus().fireUpdateProfileEvent(new UpdateProfileEvent(profileModel, isUpdate));
|
198
|
+
return DesktopAppPresenter.ProfileStatus.SUCCESS;
|
199
|
+
}
|
200
|
+
|
201
|
+
protected boolean validCredentials(String userName, String password) {
|
202
|
+
return true;
|
203
|
+
}
|
204
|
+
|
205
|
+
private BackingStore createBackingStore(String storageKeyPrefix) {
|
206
|
+
BackingStore backingStore;
|
207
|
+
if (!isLocalStorageSupportChecked()) {
|
208
|
+
// Prevent unintentional use of MemoryBackingStore
|
209
|
+
throw new IllegalStateException("Must invoke isLocalStorageSupported before invoking getBackingStore");
|
210
|
+
}
|
211
|
+
if (!isLocalStorageSupported()) {
|
212
|
+
backingStore = new MemoryBackingStore(storageKeyPrefix);
|
213
|
+
} else {
|
214
|
+
backingStore = new StorageBackingStore(getStorageProvider().getStorage(), storageKeyPrefix);
|
215
|
+
}
|
216
|
+
return backingStore;
|
217
|
+
}
|
218
|
+
|
219
|
+
private void createNewUser(String userName) {
|
220
|
+
if (isExistingUser(userName)) {
|
221
|
+
throw new IllegalStateException("user " + userName + " already exists");
|
222
|
+
}
|
223
|
+
AutoBean<ProfileModel> profileAutoBean = getProfileAutoBeanFactory().profileModel();
|
224
|
+
ProfileModel profileModel = profileAutoBean.as();
|
225
|
+
initializeProfile(profileModel);
|
226
|
+
setProfile(profileModel, userName);
|
227
|
+
}
|
228
|
+
|
229
|
+
private BackingStore getBackingStore(String storeName) {
|
230
|
+
BackingStore backingStore = backingStoreCache.get(storeName);
|
231
|
+
if (backingStore == null) {
|
232
|
+
backingStore = createBackingStore(storeName);
|
233
|
+
backingStoreCache.put(storeName, backingStore);
|
234
|
+
}
|
235
|
+
return backingStore;
|
236
|
+
}
|
237
|
+
|
238
|
+
private DesktopAppView getDesktopAppView() {
|
239
|
+
if (desktopAppView == null) {
|
240
|
+
desktopAppView = new DesktopAppViewImpl(this);
|
241
|
+
}
|
242
|
+
return desktopAppView;
|
243
|
+
}
|
244
|
+
|
245
|
+
private DesktopBus getDesktopBus() {
|
246
|
+
return desktopBus;
|
247
|
+
}
|
248
|
+
|
249
|
+
private OpenFileModelHandler getOpenFileModelHandler() {
|
250
|
+
if (openFileModelHandler == null) {
|
251
|
+
openFileModelHandler = new OpenFileModelHandler() {
|
252
|
+
@Override
|
253
|
+
public void onOpenFileModel(OpenFileModelEvent openFileModelEvent) {
|
254
|
+
openFileModel(openFileModelEvent);
|
255
|
+
}
|
256
|
+
};
|
257
|
+
}
|
258
|
+
return openFileModelHandler;
|
259
|
+
}
|
260
|
+
|
261
|
+
private ProfileModel getProfile(String userName) {
|
262
|
+
String payload = getUserBackingStore(userName).getItem(PROFILE_KEY);
|
263
|
+
ProfileModel profileModel = AutoBeanCodex.decode(getProfileAutoBeanFactory(), ProfileModel.class, payload).as();
|
264
|
+
return profileModel;
|
265
|
+
}
|
266
|
+
|
267
|
+
private ProfileFactory getProfileAutoBeanFactory() {
|
268
|
+
if (profileFactory == null) {
|
269
|
+
profileFactory = GWT.create(ProfileFactory.class);
|
270
|
+
}
|
271
|
+
return profileFactory;
|
272
|
+
}
|
273
|
+
|
274
|
+
private StorageProvider getStorageProvider() {
|
275
|
+
if (storageProvider == null) {
|
276
|
+
storageProvider = new StorageProvider();
|
277
|
+
}
|
278
|
+
return storageProvider;
|
279
|
+
}
|
280
|
+
|
281
|
+
private StoreAddHandler<FileModel> getStoreAddHandler() {
|
282
|
+
if (storeAddHandler == null) {
|
283
|
+
storeAddHandler = new StoreAddHandler<FileModel>() {
|
284
|
+
@Override
|
285
|
+
public void onAdd(StoreAddEvent<FileModel> event) {
|
286
|
+
for (FileModel fileModel : event.getItems()) {
|
287
|
+
getDesktopBus().fireAddFileModelEvent(new AddFileModelEvent(fileModel));
|
288
|
+
}
|
289
|
+
}
|
290
|
+
};
|
291
|
+
}
|
292
|
+
return storeAddHandler;
|
293
|
+
}
|
294
|
+
|
295
|
+
private StoreRemoveHandler<FileModel> getStoreRemoveHandler() {
|
296
|
+
if (storeRemoveHandler == null) {
|
297
|
+
storeRemoveHandler = new StoreRemoveHandler<FileModel>() {
|
298
|
+
@Override
|
299
|
+
public void onRemove(StoreRemoveEvent<FileModel> event) {
|
300
|
+
getDesktopBus().fireRemoveFileModelEvent(new RemoveFileModelEvent(event.getItem()));
|
301
|
+
List<FileModel> children = ((TreeStoreRemoveEvent<FileModel>) event).getChildren();
|
302
|
+
for (FileModel child : children) {
|
303
|
+
getDesktopBus().fireRemoveFileModelEvent(new RemoveFileModelEvent(child));
|
304
|
+
}
|
305
|
+
}
|
306
|
+
};
|
307
|
+
}
|
308
|
+
return storeRemoveHandler;
|
309
|
+
}
|
310
|
+
|
311
|
+
private StoreUpdateHandler<FileModel> getStoreUpdateHandler() {
|
312
|
+
if (storeUpdateHandler == null) {
|
313
|
+
storeUpdateHandler = new StoreUpdateHandler<FileModel>() {
|
314
|
+
@Override
|
315
|
+
public void onUpdate(StoreUpdateEvent<FileModel> event) {
|
316
|
+
for (FileModel fileModel : event.getItems()) {
|
317
|
+
getDesktopBus().fireUpdateFileModelEvent(new UpdateFileModelEvent(fileModel));
|
318
|
+
}
|
319
|
+
}
|
320
|
+
};
|
321
|
+
}
|
322
|
+
return storeUpdateHandler;
|
323
|
+
}
|
324
|
+
|
325
|
+
private StoreAddHandler<StackModel> getStackAddHandler() {
|
326
|
+
if (stackAddHandler == null) {
|
327
|
+
stackAddHandler = new StoreAddHandler<StackModel>() {
|
328
|
+
@Override
|
329
|
+
public void onAdd(StoreAddEvent<StackModel> event) {
|
330
|
+
for (StackModel stackModel : event.getItems()) {
|
331
|
+
getDesktopBus().fireAddStackModelEvent(new AddStackModelEvent(stackModel));
|
332
|
+
}
|
333
|
+
}
|
334
|
+
};
|
335
|
+
}
|
336
|
+
return stackAddHandler;
|
337
|
+
}
|
338
|
+
|
339
|
+
private StoreRemoveHandler<StackModel> getStackRemoveHandler() {
|
340
|
+
if (stackRemoveHandler == null) {
|
341
|
+
stackRemoveHandler = new StoreRemoveHandler<StackModel>() {
|
342
|
+
@Override
|
343
|
+
public void onRemove(StoreRemoveEvent<StackModel> event) {
|
344
|
+
getDesktopBus().fireRemoveStackModelEvent(new RemoveStackModelEvent(event.getItem()));
|
345
|
+
List<StackModel> children = ((TreeStoreRemoveEvent<StackModel>) event).getChildren();
|
346
|
+
for (StackModel child : children) {
|
347
|
+
getDesktopBus().fireRemoveStackModelEvent(new RemoveStackModelEvent(child));
|
348
|
+
}
|
349
|
+
}
|
350
|
+
};
|
351
|
+
}
|
352
|
+
return stackRemoveHandler;
|
353
|
+
}
|
354
|
+
|
355
|
+
private StoreUpdateHandler<StackModel> getStackUpdateHandler() {
|
356
|
+
if (stackUpdateHandler == null) {
|
357
|
+
stackUpdateHandler = new StoreUpdateHandler<StackModel>() {
|
358
|
+
@Override
|
359
|
+
public void onUpdate(StoreUpdateEvent<StackModel> event) {
|
360
|
+
for (StackModel fileModel : event.getItems()) {
|
361
|
+
getDesktopBus().fireUpdateStackModelEvent(new UpdateStackModelEvent(fileModel));
|
362
|
+
}
|
363
|
+
}
|
364
|
+
};
|
365
|
+
}
|
366
|
+
return stackUpdateHandler;
|
367
|
+
}
|
368
|
+
|
369
|
+
private BackingStore getSystemBackingStore() {
|
370
|
+
return getBackingStore(STORAGE_KEY_PREFIX_SYSTEM);
|
371
|
+
}
|
372
|
+
|
373
|
+
private BackingStore getUserBackingStore(String userName) {
|
374
|
+
if (userName == null) {
|
375
|
+
throw new IllegalArgumentException("userName cannot be null");
|
376
|
+
}
|
377
|
+
return getBackingStore(STORAGE_KEY_PREFIX_USER + "." + userName);
|
378
|
+
}
|
379
|
+
|
380
|
+
private void initializeProfile(ProfileModel profileModel) {
|
381
|
+
profileModel.setDesktopLayoutType(Desktop.DEFAULT_DESKTOP_LAYOUT_TYPE);
|
382
|
+
}
|
383
|
+
|
384
|
+
private boolean isExistingUser(String userName) {
|
385
|
+
return getUserBackingStore(userName).getItem(PROFILE_KEY) != null;
|
386
|
+
}
|
387
|
+
|
388
|
+
private boolean isLocalStorageSupportChecked() {
|
389
|
+
return isLocalStorageSupported != null;
|
390
|
+
}
|
391
|
+
|
392
|
+
private void openFileModel(OpenFileModelEvent openFileModelEvent) {
|
393
|
+
Presenter presenter = null;
|
394
|
+
FileSystem fileSystem = openFileModelEvent.getFileSystem();
|
395
|
+
FileModel fileModel = openFileModelEvent.getFileModel();
|
396
|
+
switch (fileModel.getFileType()) {
|
397
|
+
case BOOKMARK:
|
398
|
+
presenter = new BrowserPresenterImpl(getDesktopBus(), fileSystem, fileModel);
|
399
|
+
break;
|
400
|
+
case DOCUMENT:
|
401
|
+
presenter = new WordProcessorPresenterImpl(getDesktopBus(), fileSystem, fileModel);
|
402
|
+
break;
|
403
|
+
case FOLDER:
|
404
|
+
// no action currently supported
|
405
|
+
break;
|
406
|
+
case PROGRAM:
|
407
|
+
presenter = new InterpreterPresenterImpl(getDesktopBus(), fileSystem, fileModel);
|
408
|
+
break;
|
409
|
+
case SPREADSHEET:
|
410
|
+
presenter = new SpreadsheetPresenterImpl(getDesktopBus(), fileSystem, fileModel);
|
411
|
+
break;
|
412
|
+
default:
|
413
|
+
Info.display("Desktop", "You opened " + fileModel.getName() + ", which is of type " + fileModel.getFileType()
|
414
|
+
+ " and currently not supported.");
|
415
|
+
break;
|
416
|
+
}
|
417
|
+
if (presenter != null) {
|
418
|
+
presenter.go(getDesktopAppView());
|
419
|
+
}
|
420
|
+
}
|
421
|
+
|
422
|
+
private void setCurrentUser(String currentUser) {
|
423
|
+
this.currentUser = currentUser;
|
424
|
+
getSystemBackingStore().setItem(CURRENT_USER_KEY, currentUser);
|
425
|
+
}
|
426
|
+
|
427
|
+
private void setProfile(ProfileModel profileModel) {
|
428
|
+
setProfile(profileModel, currentUser);
|
429
|
+
}
|
430
|
+
|
431
|
+
private void setProfile(ProfileModel profileModel, String userName) {
|
432
|
+
String payload = AutoBeanCodex.encode(AutoBeanUtils.getAutoBean(profileModel)).getPayload();
|
433
|
+
getUserBackingStore(userName).setItem(PROFILE_KEY, payload);
|
434
|
+
}
|
435
|
+
|
436
|
+
}
|