├── .gitignore
├── README.html
├── README.md
├── cordova
├── .cordova
│ └── config.json
├── .project
├── README.html
├── README.md
├── merges
│ └── .gitkeep
├── plugins
│ ├── .gitkeep
│ ├── org.apache.cordova.device
│ │ ├── .fetch.json
│ │ ├── .npmignore
│ │ ├── CONTRIBUTING.md
│ │ ├── LICENSE
│ │ ├── NOTICE
│ │ ├── README.md
│ │ ├── RELEASENOTES.md
│ │ ├── doc
│ │ │ ├── de
│ │ │ │ └── index.md
│ │ │ ├── es
│ │ │ │ └── index.md
│ │ │ ├── fr
│ │ │ │ └── index.md
│ │ │ ├── index.md
│ │ │ ├── it
│ │ │ │ └── index.md
│ │ │ ├── ja
│ │ │ │ └── index.md
│ │ │ ├── ko
│ │ │ │ └── index.md
│ │ │ ├── pl
│ │ │ │ └── index.md
│ │ │ ├── ru
│ │ │ │ └── index.md
│ │ │ └── zh
│ │ │ │ └── index.md
│ │ ├── package.json
│ │ ├── plugin.xml
│ │ ├── src
│ │ │ ├── android
│ │ │ │ └── Device.java
│ │ │ ├── blackberry10
│ │ │ │ └── index.js
│ │ │ ├── browser
│ │ │ │ └── DeviceProxy.js
│ │ │ ├── firefoxos
│ │ │ │ └── DeviceProxy.js
│ │ │ ├── ios
│ │ │ │ ├── CDVDevice.h
│ │ │ │ └── CDVDevice.m
│ │ │ ├── tizen
│ │ │ │ └── DeviceProxy.js
│ │ │ ├── ubuntu
│ │ │ │ ├── device.cpp
│ │ │ │ ├── device.h
│ │ │ │ └── device.js
│ │ │ ├── windows
│ │ │ │ └── DeviceProxy.js
│ │ │ ├── windows8
│ │ │ │ └── DeviceProxy.js
│ │ │ └── wp
│ │ │ │ └── Device.cs
│ │ ├── tests
│ │ │ ├── plugin.xml
│ │ │ └── tests.js
│ │ └── www
│ │ │ └── device.js
│ ├── org.apache.cordova.dialogs
│ │ ├── .fetch.json
│ │ ├── .npmignore
│ │ ├── CONTRIBUTING.md
│ │ ├── LICENSE
│ │ ├── NOTICE
│ │ ├── README.md
│ │ ├── RELEASENOTES.md
│ │ ├── doc
│ │ │ ├── de
│ │ │ │ └── index.md
│ │ │ ├── es
│ │ │ │ └── index.md
│ │ │ ├── fr
│ │ │ │ └── index.md
│ │ │ ├── index.md
│ │ │ ├── it
│ │ │ │ └── index.md
│ │ │ ├── ja
│ │ │ │ └── index.md
│ │ │ ├── ko
│ │ │ │ └── index.md
│ │ │ ├── pl
│ │ │ │ └── index.md
│ │ │ ├── ru
│ │ │ │ └── index.md
│ │ │ └── zh
│ │ │ │ └── index.md
│ │ ├── package.json
│ │ ├── plugin.xml
│ │ ├── src
│ │ │ ├── android
│ │ │ │ └── Notification.java
│ │ │ ├── blackberry10
│ │ │ │ └── index.js
│ │ │ ├── firefoxos
│ │ │ │ └── notification.js
│ │ │ ├── ios
│ │ │ │ ├── CDVNotification.bundle
│ │ │ │ │ └── beep.wav
│ │ │ │ ├── CDVNotification.h
│ │ │ │ └── CDVNotification.m
│ │ │ ├── ubuntu
│ │ │ │ ├── notification.cpp
│ │ │ │ ├── notification.h
│ │ │ │ └── notification.qml
│ │ │ ├── windows8
│ │ │ │ └── NotificationProxy.js
│ │ │ └── wp
│ │ │ │ ├── Notification.cs
│ │ │ │ ├── NotificationBox.xaml
│ │ │ │ ├── NotificationBox.xaml.cs
│ │ │ │ └── notification-beep.wav
│ │ ├── tests
│ │ │ ├── plugin.xml
│ │ │ └── tests.js
│ │ └── www
│ │ │ ├── android
│ │ │ └── notification.js
│ │ │ ├── blackberry10
│ │ │ ├── beep.js
│ │ │ └── notification-beep.wav
│ │ │ ├── firefoxos
│ │ │ ├── danger-press.png
│ │ │ ├── danger.png
│ │ │ ├── default.png
│ │ │ ├── gradient.png
│ │ │ ├── notification.css
│ │ │ ├── pattern.png
│ │ │ └── recommend.png
│ │ │ └── notification.js
│ └── org.apache.cordova.statusbar
│ │ ├── .fetch.json
│ │ ├── CONTRIBUTING.md
│ │ ├── LICENSE
│ │ ├── NOTICE
│ │ ├── README.md
│ │ ├── RELEASENOTES.md
│ │ ├── doc
│ │ ├── de
│ │ │ └── index.md
│ │ ├── es
│ │ │ └── index.md
│ │ ├── fr
│ │ │ └── index.md
│ │ ├── index.md
│ │ ├── it
│ │ │ └── index.md
│ │ ├── ja
│ │ │ └── index.md
│ │ ├── ko
│ │ │ └── index.md
│ │ ├── pl
│ │ │ └── index.md
│ │ ├── ru
│ │ │ └── index.md
│ │ └── zh
│ │ │ └── index.md
│ │ ├── package.json
│ │ ├── plugin.xml
│ │ ├── src
│ │ ├── android
│ │ │ └── StatusBar.java
│ │ ├── ios
│ │ │ ├── CDVStatusBar.h
│ │ │ └── CDVStatusBar.m
│ │ └── wp
│ │ │ └── StatusBar.cs
│ │ ├── tests
│ │ ├── plugin.xml
│ │ └── tests.js
│ │ └── www
│ │ └── statusbar.js
└── www
├── demo
├── .settings
│ └── .jsdtscope
├── README.html
├── README.md
├── admin_layer.fsh
├── patches
│ ├── admin_layer_functional.patch
│ └── admin_layer_graphics.patch
├── pom.xml
├── settings.xml
├── src
│ ├── main
│ │ ├── assembly
│ │ │ └── assembly.xml
│ │ ├── java
│ │ │ └── org
│ │ │ │ └── jboss
│ │ │ │ └── examples
│ │ │ │ └── ticketmonster
│ │ │ │ ├── model
│ │ │ │ ├── Address.java
│ │ │ │ ├── Booking.java
│ │ │ │ ├── Event.java
│ │ │ │ ├── EventCategory.java
│ │ │ │ ├── MediaItem.java
│ │ │ │ ├── MediaType.java
│ │ │ │ ├── Performance.java
│ │ │ │ ├── Seat.java
│ │ │ │ ├── SeatAllocationException.java
│ │ │ │ ├── Section.java
│ │ │ │ ├── SectionAllocation.java
│ │ │ │ ├── Show.java
│ │ │ │ ├── Ticket.java
│ │ │ │ ├── TicketCategory.java
│ │ │ │ ├── TicketPrice.java
│ │ │ │ └── Venue.java
│ │ │ │ ├── rest
│ │ │ │ ├── BaseEntityService.java
│ │ │ │ ├── BookingEndpoint.java
│ │ │ │ ├── BookingRequest.java
│ │ │ │ ├── BookingService.java
│ │ │ │ ├── BotState.java
│ │ │ │ ├── BotStatusService.java
│ │ │ │ ├── EventCategoryEndpoint.java
│ │ │ │ ├── EventEndpoint.java
│ │ │ │ ├── EventService.java
│ │ │ │ ├── JaxRsActivator.java
│ │ │ │ ├── MediaItemEndpoint.java
│ │ │ │ ├── MediaService.java
│ │ │ │ ├── MetricsService.java
│ │ │ │ ├── PerformanceEndpoint.java
│ │ │ │ ├── PerformanceMetric.java
│ │ │ │ ├── ReaderExceptionMapper.java
│ │ │ │ ├── RestServiceException.java
│ │ │ │ ├── SectionAllocationEndpoint.java
│ │ │ │ ├── SectionComparator.java
│ │ │ │ ├── SectionEndpoint.java
│ │ │ │ ├── ShowEndpoint.java
│ │ │ │ ├── ShowMetric.java
│ │ │ │ ├── ShowService.java
│ │ │ │ ├── TicketCategoryEndpoint.java
│ │ │ │ ├── TicketEndpoint.java
│ │ │ │ ├── TicketPriceEndpoint.java
│ │ │ │ ├── TicketRequest.java
│ │ │ │ ├── VenueEndpoint.java
│ │ │ │ ├── VenueService.java
│ │ │ │ └── dto
│ │ │ │ │ ├── AddressDTO.java
│ │ │ │ │ ├── BookingDTO.java
│ │ │ │ │ ├── EventCategoryDTO.java
│ │ │ │ │ ├── EventDTO.java
│ │ │ │ │ ├── MediaItemDTO.java
│ │ │ │ │ ├── NestedEventCategoryDTO.java
│ │ │ │ │ ├── NestedEventDTO.java
│ │ │ │ │ ├── NestedMediaItemDTO.java
│ │ │ │ │ ├── NestedPerformanceDTO.java
│ │ │ │ │ ├── NestedSectionDTO.java
│ │ │ │ │ ├── NestedShowDTO.java
│ │ │ │ │ ├── NestedTicketCategoryDTO.java
│ │ │ │ │ ├── NestedTicketDTO.java
│ │ │ │ │ ├── NestedTicketPriceDTO.java
│ │ │ │ │ ├── NestedVenueDTO.java
│ │ │ │ │ ├── PerformanceDTO.java
│ │ │ │ │ ├── SeatDTO.java
│ │ │ │ │ ├── SectionAllocationDTO.java
│ │ │ │ │ ├── SectionDTO.java
│ │ │ │ │ ├── ShowDTO.java
│ │ │ │ │ ├── TicketCategoryDTO.java
│ │ │ │ │ ├── TicketDTO.java
│ │ │ │ │ ├── TicketPriceDTO.java
│ │ │ │ │ └── VenueDTO.java
│ │ │ │ ├── service
│ │ │ │ ├── AllocatedSeats.java
│ │ │ │ ├── Bot.java
│ │ │ │ ├── BotService.java
│ │ │ │ ├── MediaManager.java
│ │ │ │ ├── MediaPath.java
│ │ │ │ └── SeatAllocationService.java
│ │ │ │ └── util
│ │ │ │ ├── Base64.java
│ │ │ │ ├── CircularBuffer.java
│ │ │ │ ├── ForwardingMap.java
│ │ │ │ ├── MultivaluedHashMap.java
│ │ │ │ ├── Reflections.java
│ │ │ │ ├── Resources.java
│ │ │ │ └── qualifier
│ │ │ │ ├── BotMessage.java
│ │ │ │ ├── Cancelled.java
│ │ │ │ └── Created.java
│ │ ├── resources-mysql-openshift
│ │ │ └── META-INF
│ │ │ │ └── persistence.xml
│ │ ├── resources-mysql
│ │ │ └── META-INF
│ │ │ │ └── persistence.xml
│ │ ├── resources-postgresql-openshift
│ │ │ └── META-INF
│ │ │ │ └── persistence.xml
│ │ ├── resources-postgresql
│ │ │ └── META-INF
│ │ │ │ └── persistence.xml
│ │ ├── resources
│ │ │ ├── META-INF
│ │ │ │ └── persistence.xml
│ │ │ ├── import.sql
│ │ │ ├── log4j.properties
│ │ │ └── not_available.jpg
│ │ └── webapp
│ │ │ ├── WEB-INF
│ │ │ ├── beans.xml
│ │ │ ├── jboss-deployment-structure.xml
│ │ │ ├── ticket-monster-ds.xml
│ │ │ └── web.xml
│ │ │ ├── admin
│ │ │ ├── app.html
│ │ │ ├── fonts
│ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ ├── glyphicons-halflings-regular.svg
│ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ └── glyphicons-halflings-regular.woff
│ │ │ ├── img
│ │ │ │ ├── forge-logo.png
│ │ │ │ ├── glyphicons-halflings-white.png
│ │ │ │ └── glyphicons-halflings.png
│ │ │ ├── index.html
│ │ │ ├── scripts
│ │ │ │ ├── app.js
│ │ │ │ ├── controllers
│ │ │ │ │ ├── editBookingController.js
│ │ │ │ │ ├── editEventCategoryController.js
│ │ │ │ │ ├── editEventController.js
│ │ │ │ │ ├── editMediaItemController.js
│ │ │ │ │ ├── editPerformanceController.js
│ │ │ │ │ ├── editSectionAllocationController.js
│ │ │ │ │ ├── editSectionController.js
│ │ │ │ │ ├── editShowController.js
│ │ │ │ │ ├── editTicketCategoryController.js
│ │ │ │ │ ├── editTicketController.js
│ │ │ │ │ ├── editTicketPriceController.js
│ │ │ │ │ ├── editVenueController.js
│ │ │ │ │ ├── newBookingController.js
│ │ │ │ │ ├── newEventCategoryController.js
│ │ │ │ │ ├── newEventController.js
│ │ │ │ │ ├── newMediaItemController.js
│ │ │ │ │ ├── newPerformanceController.js
│ │ │ │ │ ├── newSectionAllocationController.js
│ │ │ │ │ ├── newSectionController.js
│ │ │ │ │ ├── newShowController.js
│ │ │ │ │ ├── newTicketCategoryController.js
│ │ │ │ │ ├── newTicketController.js
│ │ │ │ │ ├── newTicketPriceController.js
│ │ │ │ │ ├── newVenueController.js
│ │ │ │ │ ├── searchBookingController.js
│ │ │ │ │ ├── searchEventCategoryController.js
│ │ │ │ │ ├── searchEventController.js
│ │ │ │ │ ├── searchMediaItemController.js
│ │ │ │ │ ├── searchPerformanceController.js
│ │ │ │ │ ├── searchSectionAllocationController.js
│ │ │ │ │ ├── searchSectionController.js
│ │ │ │ │ ├── searchShowController.js
│ │ │ │ │ ├── searchTicketCategoryController.js
│ │ │ │ │ ├── searchTicketController.js
│ │ │ │ │ ├── searchTicketPriceController.js
│ │ │ │ │ └── searchVenueController.js
│ │ │ │ ├── directives
│ │ │ │ │ ├── datepicker.js
│ │ │ │ │ ├── datetimepicker.js
│ │ │ │ │ └── timepicker.js
│ │ │ │ ├── filters
│ │ │ │ │ ├── genericSearchFilter.js
│ │ │ │ │ └── startFromFilter.js
│ │ │ │ ├── offcanvas.js
│ │ │ │ ├── services
│ │ │ │ │ ├── BookingFactory.js
│ │ │ │ │ ├── EventCategoryFactory.js
│ │ │ │ │ ├── EventFactory.js
│ │ │ │ │ ├── MediaItemFactory.js
│ │ │ │ │ ├── PerformanceFactory.js
│ │ │ │ │ ├── SectionAllocationFactory.js
│ │ │ │ │ ├── SectionFactory.js
│ │ │ │ │ ├── ShowFactory.js
│ │ │ │ │ ├── TicketCategoryFactory.js
│ │ │ │ │ ├── TicketFactory.js
│ │ │ │ │ ├── TicketPriceFactory.js
│ │ │ │ │ ├── VenueFactory.js
│ │ │ │ │ └── locationParser.js
│ │ │ │ └── vendor
│ │ │ │ │ ├── angular-resource.js
│ │ │ │ │ ├── angular-route.js
│ │ │ │ │ ├── angular.js
│ │ │ │ │ ├── bootstrap.js
│ │ │ │ │ ├── jquery-2.0.3.js
│ │ │ │ │ └── modernizr-2.8.3.min.js
│ │ │ ├── styles
│ │ │ │ ├── bootstrap-theme.css
│ │ │ │ ├── bootstrap.css
│ │ │ │ ├── custom-forge.css
│ │ │ │ └── main.css
│ │ │ └── views
│ │ │ │ ├── Booking
│ │ │ │ ├── detail.html
│ │ │ │ └── search.html
│ │ │ │ ├── Event
│ │ │ │ ├── detail.html
│ │ │ │ └── search.html
│ │ │ │ ├── EventCategory
│ │ │ │ ├── detail.html
│ │ │ │ └── search.html
│ │ │ │ ├── MediaItem
│ │ │ │ ├── detail.html
│ │ │ │ └── search.html
│ │ │ │ ├── Performance
│ │ │ │ ├── detail.html
│ │ │ │ └── search.html
│ │ │ │ ├── Section
│ │ │ │ ├── detail.html
│ │ │ │ └── search.html
│ │ │ │ ├── SectionAllocation
│ │ │ │ ├── detail.html
│ │ │ │ └── search.html
│ │ │ │ ├── Show
│ │ │ │ ├── detail.html
│ │ │ │ └── search.html
│ │ │ │ ├── Ticket
│ │ │ │ ├── detail.html
│ │ │ │ └── search.html
│ │ │ │ ├── TicketCategory
│ │ │ │ ├── detail.html
│ │ │ │ └── search.html
│ │ │ │ ├── TicketPrice
│ │ │ │ ├── detail.html
│ │ │ │ └── search.html
│ │ │ │ ├── Venue
│ │ │ │ ├── detail.html
│ │ │ │ └── search.html
│ │ │ │ └── landing.html
│ │ │ ├── config.xml
│ │ │ ├── favicon.ico
│ │ │ ├── index.html
│ │ │ ├── mobileapp.html
│ │ │ ├── res
│ │ │ ├── icon
│ │ │ │ ├── cordova_128.png
│ │ │ │ ├── cordova_16.png
│ │ │ │ ├── cordova_24.png
│ │ │ │ ├── cordova_256.png
│ │ │ │ ├── cordova_32.png
│ │ │ │ ├── cordova_48.png
│ │ │ │ ├── cordova_512.png
│ │ │ │ ├── cordova_64.png
│ │ │ │ ├── cordova_android_36.png
│ │ │ │ ├── cordova_android_48.png
│ │ │ │ ├── cordova_android_72.png
│ │ │ │ ├── cordova_android_96.png
│ │ │ │ ├── cordova_bb_80.png
│ │ │ │ ├── cordova_ios_114.png
│ │ │ │ ├── cordova_ios_144.png
│ │ │ │ ├── cordova_ios_57.png
│ │ │ │ └── cordova_ios_72.png
│ │ │ └── screen
│ │ │ │ ├── android_hdpi_landscape.png
│ │ │ │ ├── android_hdpi_portrait.png
│ │ │ │ ├── android_ldpi_landscape.png
│ │ │ │ ├── android_ldpi_portrait.png
│ │ │ │ ├── android_mdpi_landscape.png
│ │ │ │ ├── android_mdpi_portrait.png
│ │ │ │ ├── android_xhdpi_landscape.png
│ │ │ │ ├── android_xhdpi_portrait.png
│ │ │ │ ├── blackberry_transparent_300.png
│ │ │ │ ├── blackberry_transparent_400.png
│ │ │ │ ├── ipad_landscape.png
│ │ │ │ ├── ipad_portrait.png
│ │ │ │ ├── ipad_retina_landscape.png
│ │ │ │ ├── ipad_retina_portrait.png
│ │ │ │ ├── iphone_landscape.png
│ │ │ │ ├── iphone_portrait.png
│ │ │ │ ├── iphone_retina_landscape.png
│ │ │ │ ├── iphone_retina_portrait.png
│ │ │ │ └── windows_phone_portrait.jpg
│ │ │ └── resources
│ │ │ ├── css
│ │ │ ├── bootstrap-theme.css
│ │ │ ├── bootstrap.css
│ │ │ ├── images
│ │ │ │ ├── ajax-loader.gif
│ │ │ │ ├── icons-png
│ │ │ │ │ ├── action-black.png
│ │ │ │ │ ├── action-white.png
│ │ │ │ │ ├── alert-black.png
│ │ │ │ │ ├── alert-white.png
│ │ │ │ │ ├── arrow-d-black.png
│ │ │ │ │ ├── arrow-d-l-black.png
│ │ │ │ │ ├── arrow-d-l-white.png
│ │ │ │ │ ├── arrow-d-r-black.png
│ │ │ │ │ ├── arrow-d-r-white.png
│ │ │ │ │ ├── arrow-d-white.png
│ │ │ │ │ ├── arrow-l-black.png
│ │ │ │ │ ├── arrow-l-white.png
│ │ │ │ │ ├── arrow-r-black.png
│ │ │ │ │ ├── arrow-r-white.png
│ │ │ │ │ ├── arrow-u-black.png
│ │ │ │ │ ├── arrow-u-l-black.png
│ │ │ │ │ ├── arrow-u-l-white.png
│ │ │ │ │ ├── arrow-u-r-black.png
│ │ │ │ │ ├── arrow-u-r-white.png
│ │ │ │ │ ├── arrow-u-white.png
│ │ │ │ │ ├── audio-black.png
│ │ │ │ │ ├── audio-white.png
│ │ │ │ │ ├── back-black.png
│ │ │ │ │ ├── back-white.png
│ │ │ │ │ ├── bars-black.png
│ │ │ │ │ ├── bars-white.png
│ │ │ │ │ ├── bullets-black.png
│ │ │ │ │ ├── bullets-white.png
│ │ │ │ │ ├── calendar-black.png
│ │ │ │ │ ├── calendar-white.png
│ │ │ │ │ ├── camera-black.png
│ │ │ │ │ ├── camera-white.png
│ │ │ │ │ ├── carat-d-black.png
│ │ │ │ │ ├── carat-d-white.png
│ │ │ │ │ ├── carat-l-black.png
│ │ │ │ │ ├── carat-l-white.png
│ │ │ │ │ ├── carat-r-black.png
│ │ │ │ │ ├── carat-r-white.png
│ │ │ │ │ ├── carat-u-black.png
│ │ │ │ │ ├── carat-u-white.png
│ │ │ │ │ ├── check-black.png
│ │ │ │ │ ├── check-white.png
│ │ │ │ │ ├── clock-black.png
│ │ │ │ │ ├── clock-white.png
│ │ │ │ │ ├── cloud-black.png
│ │ │ │ │ ├── cloud-white.png
│ │ │ │ │ ├── comment-black.png
│ │ │ │ │ ├── comment-white.png
│ │ │ │ │ ├── delete-black.png
│ │ │ │ │ ├── delete-white.png
│ │ │ │ │ ├── edit-black.png
│ │ │ │ │ ├── edit-white.png
│ │ │ │ │ ├── eye-black.png
│ │ │ │ │ ├── eye-white.png
│ │ │ │ │ ├── forbidden-black.png
│ │ │ │ │ ├── forbidden-white.png
│ │ │ │ │ ├── forward-black.png
│ │ │ │ │ ├── forward-white.png
│ │ │ │ │ ├── gear-black.png
│ │ │ │ │ ├── gear-white.png
│ │ │ │ │ ├── grid-black.png
│ │ │ │ │ ├── grid-white.png
│ │ │ │ │ ├── heart-black.png
│ │ │ │ │ ├── heart-white.png
│ │ │ │ │ ├── home-black.png
│ │ │ │ │ ├── home-white.png
│ │ │ │ │ ├── info-black.png
│ │ │ │ │ ├── info-white.png
│ │ │ │ │ ├── location-black.png
│ │ │ │ │ ├── location-white.png
│ │ │ │ │ ├── lock-black.png
│ │ │ │ │ ├── lock-white.png
│ │ │ │ │ ├── mail-black.png
│ │ │ │ │ ├── mail-white.png
│ │ │ │ │ ├── minus-black.png
│ │ │ │ │ ├── minus-white.png
│ │ │ │ │ ├── navigation-black.png
│ │ │ │ │ ├── navigation-white.png
│ │ │ │ │ ├── phone-black.png
│ │ │ │ │ ├── phone-white.png
│ │ │ │ │ ├── plus-black.png
│ │ │ │ │ ├── plus-white.png
│ │ │ │ │ ├── power-black.png
│ │ │ │ │ ├── power-white.png
│ │ │ │ │ ├── recycle-black.png
│ │ │ │ │ ├── recycle-white.png
│ │ │ │ │ ├── refresh-black.png
│ │ │ │ │ ├── refresh-white.png
│ │ │ │ │ ├── search-black.png
│ │ │ │ │ ├── search-white.png
│ │ │ │ │ ├── shop-black.png
│ │ │ │ │ ├── shop-white.png
│ │ │ │ │ ├── star-black.png
│ │ │ │ │ ├── star-white.png
│ │ │ │ │ ├── tag-black.png
│ │ │ │ │ ├── tag-white.png
│ │ │ │ │ ├── user-black.png
│ │ │ │ │ ├── user-white.png
│ │ │ │ │ ├── video-black.png
│ │ │ │ │ └── video-white.png
│ │ │ │ └── icons-svg
│ │ │ │ │ ├── action-black.svg
│ │ │ │ │ ├── action-white.svg
│ │ │ │ │ ├── alert-black.svg
│ │ │ │ │ ├── alert-white.svg
│ │ │ │ │ ├── arrow-d-black.svg
│ │ │ │ │ ├── arrow-d-l-black.svg
│ │ │ │ │ ├── arrow-d-l-white.svg
│ │ │ │ │ ├── arrow-d-r-black.svg
│ │ │ │ │ ├── arrow-d-r-white.svg
│ │ │ │ │ ├── arrow-d-white.svg
│ │ │ │ │ ├── arrow-l-black.svg
│ │ │ │ │ ├── arrow-l-white.svg
│ │ │ │ │ ├── arrow-r-black.svg
│ │ │ │ │ ├── arrow-r-white.svg
│ │ │ │ │ ├── arrow-u-black.svg
│ │ │ │ │ ├── arrow-u-l-black.svg
│ │ │ │ │ ├── arrow-u-l-white.svg
│ │ │ │ │ ├── arrow-u-r-black.svg
│ │ │ │ │ ├── arrow-u-r-white.svg
│ │ │ │ │ ├── arrow-u-white.svg
│ │ │ │ │ ├── audio-black.svg
│ │ │ │ │ ├── audio-white.svg
│ │ │ │ │ ├── back-black.svg
│ │ │ │ │ ├── back-white.svg
│ │ │ │ │ ├── bars-black.svg
│ │ │ │ │ ├── bars-white.svg
│ │ │ │ │ ├── bullets-black.svg
│ │ │ │ │ ├── bullets-white.svg
│ │ │ │ │ ├── calendar-black.svg
│ │ │ │ │ ├── calendar-white.svg
│ │ │ │ │ ├── camera-black.svg
│ │ │ │ │ ├── camera-white.svg
│ │ │ │ │ ├── carat-d-black.svg
│ │ │ │ │ ├── carat-d-white.svg
│ │ │ │ │ ├── carat-l-black.svg
│ │ │ │ │ ├── carat-l-white.svg
│ │ │ │ │ ├── carat-r-black.svg
│ │ │ │ │ ├── carat-r-white.svg
│ │ │ │ │ ├── carat-u-black.svg
│ │ │ │ │ ├── carat-u-white.svg
│ │ │ │ │ ├── check-black.svg
│ │ │ │ │ ├── check-white.svg
│ │ │ │ │ ├── clock-black.svg
│ │ │ │ │ ├── clock-white.svg
│ │ │ │ │ ├── cloud-black.svg
│ │ │ │ │ ├── cloud-white.svg
│ │ │ │ │ ├── comment-black.svg
│ │ │ │ │ ├── comment-white.svg
│ │ │ │ │ ├── delete-black.svg
│ │ │ │ │ ├── delete-white.svg
│ │ │ │ │ ├── edit-black.svg
│ │ │ │ │ ├── edit-white.svg
│ │ │ │ │ ├── eye-black.svg
│ │ │ │ │ ├── eye-white.svg
│ │ │ │ │ ├── forbidden-black.svg
│ │ │ │ │ ├── forbidden-white.svg
│ │ │ │ │ ├── forward-black.svg
│ │ │ │ │ ├── forward-white.svg
│ │ │ │ │ ├── gear-black.svg
│ │ │ │ │ ├── gear-white.svg
│ │ │ │ │ ├── grid-black.svg
│ │ │ │ │ ├── grid-white.svg
│ │ │ │ │ ├── heart-black.svg
│ │ │ │ │ ├── heart-white.svg
│ │ │ │ │ ├── home-black.svg
│ │ │ │ │ ├── home-white.svg
│ │ │ │ │ ├── info-black.svg
│ │ │ │ │ ├── info-white.svg
│ │ │ │ │ ├── location-black.svg
│ │ │ │ │ ├── location-white.svg
│ │ │ │ │ ├── lock-black.svg
│ │ │ │ │ ├── lock-white.svg
│ │ │ │ │ ├── mail-black.svg
│ │ │ │ │ ├── mail-white.svg
│ │ │ │ │ ├── minus-black.svg
│ │ │ │ │ ├── minus-white.svg
│ │ │ │ │ ├── navigation-black.svg
│ │ │ │ │ ├── navigation-white.svg
│ │ │ │ │ ├── phone-black.svg
│ │ │ │ │ ├── phone-white.svg
│ │ │ │ │ ├── plus-black.svg
│ │ │ │ │ ├── plus-white.svg
│ │ │ │ │ ├── power-black.svg
│ │ │ │ │ ├── power-white.svg
│ │ │ │ │ ├── recycle-black.svg
│ │ │ │ │ ├── recycle-white.svg
│ │ │ │ │ ├── refresh-black.svg
│ │ │ │ │ ├── refresh-white.svg
│ │ │ │ │ ├── search-black.svg
│ │ │ │ │ ├── search-white.svg
│ │ │ │ │ ├── shop-black.svg
│ │ │ │ │ ├── shop-white.svg
│ │ │ │ │ ├── star-black.svg
│ │ │ │ │ ├── star-white.svg
│ │ │ │ │ ├── tag-black.svg
│ │ │ │ │ ├── tag-white.svg
│ │ │ │ │ ├── user-black.svg
│ │ │ │ │ ├── user-white.svg
│ │ │ │ │ ├── video-black.svg
│ │ │ │ │ └── video-white.svg
│ │ │ ├── jquery.mobile-1.4.2.css
│ │ │ ├── m.screen.css
│ │ │ └── screen.css
│ │ │ ├── fonts
│ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ ├── glyphicons-halflings-regular.svg
│ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ └── glyphicons-halflings-regular.woff
│ │ │ ├── img
│ │ │ ├── GitHub_Logo.png
│ │ │ ├── banner.png
│ │ │ ├── bg-dark.png
│ │ │ ├── bg-red.png
│ │ │ ├── bg.png
│ │ │ ├── btn-grey-hvr.png
│ │ │ ├── btn-grey.png
│ │ │ ├── btn-pink-hvr.png
│ │ │ ├── btn-pink.png
│ │ │ ├── glyphicons-halflings-white.png
│ │ │ ├── glyphicons-halflings.png
│ │ │ ├── glyphicons_019_cogwheel.png
│ │ │ ├── glyphicons_163_iphone.png
│ │ │ ├── glyphicons_232_cloud.png
│ │ │ ├── glyphicons_351_book_open.png
│ │ │ ├── jdf_logo_450px.png
│ │ │ ├── jdf_mark_100px.png
│ │ │ ├── jdf_mark_50px.png
│ │ │ ├── jdf_mark_75px.png
│ │ │ ├── logo.png
│ │ │ ├── nav-bg-dark.png
│ │ │ ├── nav-bg.png
│ │ │ ├── rhjb_eap_logo.png
│ │ │ └── splash-ticketmonster.png
│ │ │ ├── js
│ │ │ ├── app
│ │ │ │ ├── collections
│ │ │ │ │ ├── bookings.js
│ │ │ │ │ ├── events.js
│ │ │ │ │ ├── metrics.js
│ │ │ │ │ └── venues.js
│ │ │ │ ├── models
│ │ │ │ │ ├── booking.js
│ │ │ │ │ ├── bot.js
│ │ │ │ │ ├── event.js
│ │ │ │ │ ├── metric.js
│ │ │ │ │ └── venue.js
│ │ │ │ ├── router
│ │ │ │ │ ├── desktop
│ │ │ │ │ │ └── router.js
│ │ │ │ │ └── mobile
│ │ │ │ │ │ └── router.js
│ │ │ │ ├── utilities.js
│ │ │ │ └── views
│ │ │ │ │ ├── desktop
│ │ │ │ │ ├── booking-detail.js
│ │ │ │ │ ├── bookings.js
│ │ │ │ │ ├── bot.js
│ │ │ │ │ ├── create-booking.js
│ │ │ │ │ ├── event-detail.js
│ │ │ │ │ ├── events.js
│ │ │ │ │ ├── home.js
│ │ │ │ │ ├── metrics.js
│ │ │ │ │ ├── monitor.js
│ │ │ │ │ ├── venue-detail.js
│ │ │ │ │ └── venues.js
│ │ │ │ │ └── mobile
│ │ │ │ │ ├── create-booking.js
│ │ │ │ │ ├── event-detail.js
│ │ │ │ │ ├── events.js
│ │ │ │ │ ├── venue-detail.js
│ │ │ │ │ └── venues.js
│ │ │ ├── configurations
│ │ │ │ ├── desktop.js
│ │ │ │ ├── hybrid.js
│ │ │ │ ├── loader.js
│ │ │ │ └── mobile.js
│ │ │ └── libs
│ │ │ │ ├── backbone.js
│ │ │ │ ├── bootstrap.js
│ │ │ │ ├── jquery-2.0.3.js
│ │ │ │ ├── jquery.mobile-1.4.2.js
│ │ │ │ ├── modernizr-2.8.3.min.js
│ │ │ │ ├── require.js
│ │ │ │ ├── text.js
│ │ │ │ └── underscore.js
│ │ │ └── templates
│ │ │ ├── desktop
│ │ │ ├── booking-confirmation.html
│ │ │ ├── booking-details.html
│ │ │ ├── booking-table.html
│ │ │ ├── bot.html
│ │ │ ├── create-booking.html
│ │ │ ├── event-detail.html
│ │ │ ├── event-venue-description.html
│ │ │ ├── events.html
│ │ │ ├── home.html
│ │ │ ├── main.html
│ │ │ ├── media.html
│ │ │ ├── metrics.html
│ │ │ ├── monitor.html
│ │ │ ├── ticket-categories.html
│ │ │ ├── ticket-summary-view.html
│ │ │ ├── venue-detail.html
│ │ │ ├── venue-event-description.html
│ │ │ └── venues.html
│ │ │ └── mobile
│ │ │ ├── booking-details.html
│ │ │ ├── confirm-booking.html
│ │ │ ├── create-booking.html
│ │ │ ├── event-detail.html
│ │ │ ├── event-venue-description.html
│ │ │ ├── events.html
│ │ │ ├── home-view.html
│ │ │ ├── main.html
│ │ │ ├── ticket-entries.html
│ │ │ ├── ticket-summary-view.html
│ │ │ ├── venue-detail.html
│ │ │ ├── venue-event-description.html
│ │ │ └── venues.html
│ └── test
│ │ ├── java
│ │ └── org
│ │ │ └── jboss
│ │ │ └── examples
│ │ │ └── ticketmonster
│ │ │ └── test
│ │ │ ├── TicketMonsterDeployment.java
│ │ │ └── rest
│ │ │ ├── BookingServiceTest.java
│ │ │ ├── EventServiceTest.java
│ │ │ ├── RESTDeployment.java
│ │ │ ├── ShowServiceTest.java
│ │ │ └── VenueServiceTest.java
│ │ └── resources
│ │ ├── META-INF
│ │ └── test-persistence.xml
│ │ ├── arquillian.xml
│ │ └── test-ds.xml
└── update_import_sql.pl
└── tutorial
├── AdminHTML5.asciidoc
├── BusinessLogic.asciidoc
├── CONTRIBUTING.md
├── DashboardHTML5.asciidoc
├── DataPersistence.asciidoc
├── HybridUI.asciidoc
├── Introduction.asciidoc
├── JBossDeployment.asciidoc
├── OpenShiftDeployment.asciidoc
├── README.md
├── UserFrontEnd.asciidoc
├── WhatIsTicketMonster.asciidoc
├── WriterGuidelines.md
├── collateral
├── TicketMonster architecture.graffle
├── TicketMonster-HTML5.graffle
└── TicketMonster-diagrams.graffle
├── custom-asciidoc-dblatex.sty
├── generate-guides.sh
├── gfx
├── add-cordova-config.png
├── add-cordova-jar.png
├── add-mysql-embedded-cartridge.png
├── add-postgresql-embedded-cartridge.png
├── android-activity-name.png
├── android-activity-type.png
├── android-app-project-package.png
├── android-emulator.png
├── backbone-usage.png
├── completed-deployment-openshift.png
├── completed-fields-application-wizard-step2.png
├── completed-fields-application-wizard-step3.png
├── completed-fields-application-wizard.png
├── completed-username-password-fields.png
├── cordova_add_device_plugin.png
├── cordova_add_notifications_plugin.png
├── cordova_add_statusbar_plugin.png
├── cordova_choose_to_add_plugins.png
├── cordova_confirm_plugin_versions.png
├── cordovasim.png
├── create-new-hybrid-mobile-application-project.png
├── create_new_folder.png
├── create_www_folder.png
├── database-design.png
├── eclipse-generate-hashcode-equals-2.png
├── eclipse-generate-hashcode-equals.png
├── eclipse-green-bar.png
├── eclipse-maven-profile-update.png
├── eclipse-project-maven-profiles.png
├── edit-embedded-cartridge-openshift.png
├── find-hybrid-mobile-tools-cordovasim.png
├── forge-project-list-facets.png
├── forge-scaffold-setup.png
├── forge_scaffold_generate.png
├── forge_scaffold_generate_action_menu.png
├── forge_scaffold_generate_choose_rest_strategy.png
├── forge_scaffold_generate_input_webroot.png
├── forge_scaffold_generate_select_entities.png
├── git-remote-connection-timeout.png
├── h2console_settings.png
├── hybrid-mobile-pane-preferences-window.png
├── import-openShift-application-prompt.png
├── introduction
│ ├── as_eap_found.png
│ ├── as_eap_selected.png
│ ├── event_service_copy_paste.png
│ ├── forge_action_menu.png
│ ├── forge_add_constraint_on_event.png
│ ├── forge_added_name.png
│ ├── forge_console_tab.png
│ ├── forge_constraint_add_notnull_on_name.png
│ ├── forge_constraint_add_set_size_attributes_on_description.png
│ ├── forge_constraint_add_set_size_attributes_on_name.png
│ ├── forge_constraint_add_size_on_description.png
│ ├── forge_constraint_add_size_on_name.png
│ ├── forge_event_entity_source.png
│ ├── forge_is_starting.png
│ ├── forge_jpa_new_entity.png
│ ├── forge_jpa_new_entity_created.png
│ ├── forge_jpa_new_entity_event.png
│ ├── forge_jpa_new_field_description.png
│ ├── forge_jpa_new_field_major.png
│ ├── forge_jpa_new_field_name.png
│ ├── forge_jpa_new_field_picture.png
│ ├── forge_quick_action_menu_filter_constraint.png
│ ├── forge_quick_action_menu_filter_jpa.png
│ ├── forge_select_event_entity_for_constraint.png
│ ├── forge_setup_constraint_wizard.png
│ ├── full_publish.png
│ ├── generate_getters_setters.png
│ ├── getter_setter_dialog.png
│ ├── h2console_deployments.png
│ ├── h2console_in_browser.png
│ ├── h2console_select_from_event.png
│ ├── hibernate_add_jpa_annotations.png
│ ├── hibernate_add_jpa_annotations_step2.png
│ ├── installer_wizard_page1.png
│ ├── jbds8_mobile_browsersim.png
│ ├── jboss_dev_studio_jboss_central.png
│ ├── jboss_maven_repo_settings_xml.png
│ ├── jboss_maven_repository.png
│ ├── jboss_tools_runtime_detection.png
│ ├── jboss_tools_runtime_detection_after.png
│ ├── jquery_mobile_listview.png
│ ├── jquery_mobile_listview_widget.png
│ ├── jquery_mobile_page.png
│ ├── jquery_mobile_page_widget.png
│ ├── jquery_mobile_palette.png
│ ├── jquery_mobile_results.png
│ ├── jquery_mobile_template.png
│ ├── js_css_widget.png
│ ├── js_css_widget_library_versions.png
│ ├── json_event_results.png
│ ├── mobile_browsersim.png
│ ├── mobile_browsersim_bofa_source.png
│ ├── mobile_browsersim_custom_devices.png
│ ├── mobile_browsersim_devices_menu.png
│ ├── mobile_browsersim_in_toolbar.png
│ ├── mobile_browsersim_windows_menu.png
│ ├── new_class_eventservice.png
│ ├── new_html_file.png
│ ├── new_html_file_correct_location.png
│ ├── new_html_file_m2e_wtp.png
│ ├── new_project_example_step_2.png
│ ├── new_project_wizard.png
│ ├── newly_generated_project_explorer.png
│ ├── organize_imports_1.png
│ ├── organize_imports_2.png
│ ├── organize_imports_3.png
│ ├── organize_imports_4.png
│ ├── organize_imports_5.png
│ ├── organize_imports_6.png
│ ├── outline_of_event.png
│ ├── pom_xml_tabs.png
│ ├── project_explorer_java_packages.png
│ ├── project_explorer_jax_rs_services.png
│ ├── project_explorer_resources.png
│ ├── prompt_for_cheatsheet.png
│ ├── prompt_update_settings_xml.png
│ ├── quickstarts_directory_layout.png
│ ├── result_run_on_server.png
│ ├── run_as_run_on_server.png
│ ├── runtime_open_dialog.png
│ ├── save_modified_resources.png
│ ├── searching_for_runtimes_dialog.png
│ ├── select_forge_view.png
│ ├── select_html_template.png
│ ├── show_forge_view.png
│ ├── show_in_forge_console.png
│ ├── source_organize_imports.png
│ ├── venue_after_getters_setters.png
│ └── web.xml_editor.png
├── ios-simulator.png
├── jboss-eap-selected-deployment.png
├── link-www-directory-to-webapp.png
├── new-openshift-application-wizard.png
├── octocat_social.png
├── pom-file-projects-pane.png
├── run-on-android-emulator.png
├── run-on-ios-simulator.png
├── select_hybrid_mobile_engine_for_project.png
├── setup_hybrid_mobile_engine_340.png
├── setup_hybrid_mobile_engine_from_scratch.png
├── setup_hybrid_mobile_engine_version.png
├── setup_linked_folder_to_webapp.png
├── single-page-app.png
├── start-hybrid-mobile-tools-cordovasim-installation-with-link.png
├── start-new-hybrid-mobile-application-project.png
├── ticket-monster-administration-use-cases.png
├── ticket-monster-architecture.png
├── ticket-monster-user-use-cases.png
├── ticket_monster_hybrid.png
├── ticketmonster-configured-jboss-eap.png
├── ui-create-booking.png
├── ui-event-details.png
├── ui-file-structure.png
└── warning-prompt-unsigned-content.png
└── ticket-monster.asciidoc
/.gitignore:
--------------------------------------------------------------------------------
1 | *~
2 | target
3 | .DS_Store
4 | .faces-config.xml.faceside
5 | .faces-config.xml.jsfdia
6 | MANIFEST.MF
7 | bin
8 | .openshift
9 | */.gitignore
10 | /helloworld-jsp
11 | CONTRIBUTING.html
12 | .errai
13 | demo/src/main/gwt-unitCache
14 | demo/src/main/webapp/BookingMonitor
15 | demo/src/main/webapp/WEB-INF/deploy
16 | out
17 | .idea
18 | *.ipr
19 | *.iws
20 | *.iml
21 | atlassian-ide-plugin.xml
22 | .classpath
23 | .project
24 | .settings
25 | .metadata
26 | bin
27 | .nbattrs
28 | *.log
29 | .clover
30 | *.swp
31 | _site
32 | _tmp
33 | classes
34 | .forge_settings
35 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # What is this?
2 |
3 | This is the TicketMonster distribution, a showcase application for [JBoss Developer Framework](http://jboss.org/jdf).
4 |
5 | ## What can you find here?
6 |
7 | The content of the underlying directories is as follows:
8 |
9 | * `demo` - the sources of TicketMonster application - you can build and run it! Follow the [instructions](demo/README.md). Or you can see it at work [here](http://ticketmonster-jdf.rhcloud.com).
10 | * `cordova` - the sources of the TicketMonster Hybrid Mobile (Cordova) application. Follow the [instructions](cordova/README.md) to build and run it.
--------------------------------------------------------------------------------
/cordova/.cordova/config.json:
--------------------------------------------------------------------------------
1 | {"id":"org.jboss.examples.ticketmonster.cordova","name":"TicketMonster-Cordova","engine":{"id":"cordova","ver":"3.4.0"}}
--------------------------------------------------------------------------------
/cordova/.project:
--------------------------------------------------------------------------------
1 |
2 |
11 | * Resources are served relative to the servlet path specified in the {@link ApplicationPath} 12 | * annotation. 13 | *
14 | */ 15 | @ApplicationPath("/rest") 16 | public class JaxRsActivator extends Application { 17 | /* class body intentionally left blank */ 18 | } 19 | -------------------------------------------------------------------------------- /demo/src/main/java/org/jboss/examples/ticketmonster/rest/SectionComparator.java: -------------------------------------------------------------------------------- 1 | package org.jboss.examples.ticketmonster.rest; 2 | 3 | import java.util.Comparator; 4 | 5 | import org.jboss.examples.ticketmonster.model.Section; 6 | 7 | /** 8 | * A utility comparator for sections, sorting them by id 9 | * 10 | * @author Marius Bogoevici 11 | */ 12 | public class SectionComparator implements Comparator10 | * A JAX-RS endpoint for handling {@link Venue}s. Inherits the actual 11 | * methods from {@link BaseEntityService}. 12 | *
13 | * 14 | * @author Marius Bogoevici 15 | */ 16 | @Path("/venues") 17 | /** 18 | *19 | * This is a stateless service, we declare it as an EJB for transaction demarcation 20 | *
21 | */ 22 | @Stateless 23 | public class VenueService extends BaseEntityService
5 | Documentation
7 | | Get Excited!
9 | Forge Project | User
11 | Forums | Report an issue
13 |
<%= venue.description %>
3 |Address:
4 |<%= venue.address.street %>
5 |<%= venue.address.city %>, <%= venue.address.country %>
6 | -------------------------------------------------------------------------------- /demo/src/main/webapp/resources/templates/desktop/media.html: -------------------------------------------------------------------------------- 1 | <%if (mediaItem) { %>Address:
5 |<%= venue.address.street %>
6 |<%= venue.address.city %>, <%= venue.address.country %>
7 | 8 | -------------------------------------------------------------------------------- /demo/src/main/webapp/resources/templates/mobile/home-view.html: -------------------------------------------------------------------------------- 1 |Section <%= model.ticketPrice.section.name %>
6 |Category <%= model.ticketPrice.ticketCategory.description %>
7 |Price <%= model.ticketPrice.price %>
8 |Quantity <%= model.quantity %>
9 | 10 | 11 |Total tickets: <%= totals.tickets %>
17 |Total price: $ <%= totals.price %>
18 |