uicontroller.java

来自「SUN公司发布的SmartTicket 2.0蓝图」· Java 代码 · 共 1,260 行 · 第 1/4 页

JAVA
1,260
字号
                    setCurrent(movieSelectionUI);                    break;                }                 case EventIds.EVENT_ID_SEATS_SELECTED: {                    signOn(new EventHandler(EventIds.EVENT_ID_AUTHORIZED_SEATS_SELECTED,                                             eventObjects));                    break;                }                 case EventIds.EVENT_ID_AUTHORIZED_SEATS_SELECTED: {                    fallbackUI = seatingPlanUI;                    displayProgress(getString(UIMessageCodes.RESERVING_SEATS),                                     false);                    selectedSeats = (Seat[]) eventObjects[0];                    reservation =                         model.reserveSeats(selectedTheater.getPrimaryKey(),                                            selectedMovie.getPrimaryKey(),                                            selectedShowTime, selectedSeats);                    orderBillingInfoUI.init(model.getAccountInfo());                    setCurrent(orderBillingInfoUI);                    break;                }                 case EventIds.EVENT_ID_CREDIT_CARD_INFO_SUBMITTED: {                    fallbackUI = orderBillingInfoUI;                    orderPlacementUI.init(selectedTheater.getName(),                                           selectedMovie.getTitle(),                                           selectedShowTime, selectedSeats);                    setCurrent(orderPlacementUI);                    break;                }                 case EventIds.EVENT_ID_PURCHASE_REQUESTED: {                    fallbackUI = orderPlacementUI;                    displayProgress(getString(UIMessageCodes.PURCHASING_TICKETS),                                     false);                    model.purchaseTickets(reservation);                    orderConfirmationUI.init(reservation.getId(),                                              selectedTheater.getName(),                                              selectedMovie.getTitle(),                                              selectedShowTime);                    setCurrent(orderConfirmationUI);                    break;                }                 case EventIds.EVENT_ID_ORDER_BILLING_INFO_CANCELLED: {                    fallbackUI = orderBillingInfoUI;                    displayProgress(getString(UIMessageCodes.CANCELLING_PURCHASE),                                     false);                    model.cancelSeatReservation(reservation);                    showInfoAlert(getString(UIMessageCodes.PURCHASE_CANCELLED),                                   mainMenuUI);                    break;                }                 case EventIds.EVENT_ID_ORDER_PLACEMENT_CANCELLED: {                    fallbackUI = orderPlacementUI;                    displayProgress(getString(UIMessageCodes.CANCELLING_PURCHASE),                                     false);                    model.cancelSeatReservation(reservation);                    showInfoAlert(getString(UIMessageCodes.PURCHASE_CANCELLED),                                   mainMenuUI);                    break;                }                 case EventIds.EVENT_ID_MOVIE_RATING_CANCELLED:                case EventIds.EVENT_ID_MOVIE_RATING_MESSAGE_SEND_CANCELLED:                case EventIds.EVENT_ID_MOVIE_RATINGS_REQUESTED: {                    fallbackUI = mainMenuUI;                    MovieRating[] movieRatings = model.getMovieRatings();                    String[] movieTitles = new String[movieRatings.length];                    for (int i = 0; i != movieRatings.length; i++) {                        movieTitles[i] =                             movieRatings[i].getMovie().getTitle();                    }                     movieRatingsUI.init(movieRatings, movieTitles);                    setCurrent(movieRatingsUI);                    break;                }                 case EventIds.EVENT_ID_MOVIE_RECOMMENDATION_RECEIVED: {                    fallbackUI = display.getCurrent();                    // make sure it does not fallback to the splash screen when push-activated                    recommendationFallbackUI = pushActivated ? mainMenuUI                                                : fallbackUI;                    pushActivated = false;                    String message = (String) eventObjects[0];                    recommendationMovieRating = (MovieRating) eventObjects[1];                    String movieTitle =                         recommendationMovieRating.getMovie().getTitle();                    String sender = (String) eventObjects[2];                    movieRatingMessageReceiveUI.init(recommendationMovieRating,                                                      movieTitle, sender,                                                      message);                    setCurrent(movieRatingMessageReceiveUI);                    break;                }                 case EventIds.EVENT_ID_MOVIE_RATING_MESSAGE_RECEIVE_SAVE_REQUESTED: {                    fallbackUI = movieRatingMessageReceiveUI;                    displayProgress(getString(UIMessageCodes.SAVING_RECOMMENDATION),                                     false);                    model.addRecommendationMovieRating(recommendationMovieRating);                    run(EventIds.EVENT_ID_MOVIE_RATINGS_REQUESTED, null);                    setCurrent(recommendationFallbackUI);                    break;                }                 case EventIds.EVENT_ID_MOVIE_RATING_MESSAGE_RECEIVE_SAVE_CANCELLED: {                    setCurrent(recommendationFallbackUI);                    break;                }                 case EventIds.EVENT_ID_MOVIE_RATING_SELECTED: {                    fallbackUI = movieRatingsUI;                    selectedMovieRating = (MovieRating) eventObjects[0];                    movieRatingUI.init(selectedMovieRating,                                        selectedMovieRating.getMovie().getTitle());                    setCurrent(movieRatingUI);                    break;                }                 case EventIds.EVENT_ID_MOVIE_RATING_MESSAGE_SEND_SELECTED: {                    fallbackUI = movieRatingsUI;                    selectedMovieRating = (MovieRating) eventObjects[0];                    movieRatingMessageSendUI.init(selectedMovieRating,                                                   selectedMovieRating.getMovie().getTitle());                    setCurrent(movieRatingMessageSendUI);                    break;                }                 case EventIds.EVENT_ID_MOVIE_RATING_SAVE_REQUESTED: {                    fallbackUI = movieRatingUI;                    model.setMovieRating(selectedMovieRating);                    run(EventIds.EVENT_ID_MOVIE_RATINGS_REQUESTED, null);                    break;                }                 case EventIds.EVENT_ID_MOVIE_RATING_MESSAGE_SEND_REQUESTED: {                    fallbackUI = movieRatingMessageSendUI;                    displayProgress(getString(UIMessageCodes.SENDING_RECOMMENDATION),                                     false);                    String message = (String) eventObjects[0];                    model.sendRecommendation(message, selectedMovieRating);                    run(EventIds.EVENT_ID_MOVIE_RATINGS_REQUESTED, null);                    break;                }                 case EventIds.EVENT_ID_MOVIE_RATINGS_SYNC_REQUESTED: {                    signOn(new EventHandler(EventIds.EVENT_ID_AUTHORIZED_MOVIE_RATINGS_SYNC_REQUESTED,                                             eventObjects));                    break;                }                 case EventIds.EVENT_ID_AUTHORIZED_MOVIE_RATINGS_SYNC_REQUESTED: {                    fallbackUI = movieRatingsUI;                    displayProgress(getString(UIMessageCodes.SYNC_MOVIE_RATINGS),                                     false);                    int strategyId =                         preferences.getConflictResolutionStrategyId();                    if (strategyId != Synchronizable.STRATEGY_ASK_USER) {                        model.synchronizeMovieRatings(strategyId);                        model.commitMovieRatings(new MovieRating[0]);                        run(EventIds.EVENT_ID_MOVIE_RATINGS_REQUESTED, null);                        showInfoAlert(getString(UIMessageCodes.SYNC_SUCCESSFUL),                                       movieRatingsUI);                    } else {                        MovieRating[][] movieRatingPairs =                             model.synchronizeMovieRatings();                        if (movieRatingPairs.length != 0) {                            movieRatingsConflictResolutionUI.init(movieRatingPairs);                            showInfoAlert(getString(UIMessageCodes.CONFLICTING_RATINGS_LONG),                                           movieRatingsConflictResolutionUI);                        } else {                            model.commitMovieRatings(new MovieRating[0]);                            run(EventIds.EVENT_ID_MOVIE_RATINGS_REQUESTED,                                 null);                            showInfoAlert(getString(UIMessageCodes.SYNC_SUCCESSFUL),                                           movieRatingsUI);                        }                     }                     break;                }                 case EventIds.EVENT_ID_MOVIE_RATINGS_CONFLICT_RESOLUTION_REQUESTED: {                    fallbackUI = movieRatingsUI;                    displayProgress(getString(UIMessageCodes.SYNC_MOVIE_RATINGS),                                     false);                    resolvedMovieRatings = (MovieRating[]) eventObjects[0];                    model.commitMovieRatings(resolvedMovieRatings);                    run(EventIds.EVENT_ID_MOVIE_RATINGS_REQUESTED, null);                    showInfoAlert(getString(UIMessageCodes.SYNC_SUCCESSFUL),                                   movieRatingsUI);                    break;                }                 case EventIds.EVENT_ID_FRIENDS_REQUESTED: {                    fallbackUI = mainMenuUI;                    RecommendationRecipient[] recipients =                         model.getRecommendationRecipients();                    friendsUI.init(recipients);                    setCurrent(friendsUI);                    break;                }                 case EventIds.EVENT_ID_FRIEND_ADD_SELECTED: {                    fallbackUI = friendsUI;                    setCurrent(friendAddUI);                    break;                }                 case EventIds.EVENT_ID_FRIEND_ADD_REQUESTED: {                    fallbackUI = friendsUI;                    String selectedFriend = (String) eventObjects[0];                    model.addRecommendationRecipient(selectedFriend);                    run(EventIds.EVENT_ID_FRIENDS_REQUESTED, null);                    break;                }                 case EventIds.EVENT_ID_FRIEND_ADD_CANCELLED: {                    setCurrent(friendsUI);                    break;                }                 case EventIds.EVENT_ID_FRIEND_DELETE_REQUESTED: {                    fallbackUI = friendsUI;                    String selectedFriend = (String) eventObjects[0];                    model.deleteRecommendationRecipient(selectedFriend);                    run(EventIds.EVENT_ID_FRIENDS_REQUESTED, null);                    break;                }                 default:                    break;                }            } catch (ApplicationException ae) {                if (ae.getCode()                         == ErrorMessageCodes.ERROR_OPERATION_INTERRUPTED) {                    display.setCurrent(fallbackUI);                } else {                    System.err.println("ae.getCode() == " + ae.getCode());                    showErrorAlert(ae.getMessage(), fallbackUI);                }             } catch (Exception e) {                e.printStackTrace();                showErrorAlert(e.getMessage());            }         }     }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?