smartticketbd.java

来自「这个范例程序演示了利用j2me技术开发无线服务器支持的应用。这是一个电影票订购程」· Java 代码 · 共 480 行 · 第 1/2 页

JAVA
480
字号
        } catch (Exception e) {            throw new ApplicationException(e);        }     }     private InputStream getResourceAsStream(String path) throws IOException {        try {            return new URL(path).openStream();        } catch (MalformedURLException exception) {            return servletContext.getResourceAsStream(path);        }     }     public int[][] getMovieShowTimes(String theaterKey, String movieKey)             throws ModelException, ApplicationException {        try {            ShowTimePattern[] showTimePatterns =                 facade.getMovieShowTimes(theaterKey, movieKey);            int[][] _showTimePatterns = new int[showTimePatterns.length][];            for (int i = 0; i < _showTimePatterns.length; i++) {                _showTimePatterns[i] = new int[] {                    showTimePatterns[i].getDayOfWeek(),                     showTimePatterns[i].getHour(),                     showTimePatterns[i].getMinute()                };            }             return _showTimePatterns;        } catch (SmartTicketFacadeException stfe) {            throw new ModelException(ModelException.CAUSE_SHOW_TIMES_NOT_FOUND);        } catch (Exception e) {            e.printStackTrace(System.err);            throw new ApplicationException(e);        }     }     public SeatingPlan getSeatingPlan(String theaterKey, String movieKey,                                       int[] showtime) throws ModelException,                                       ApplicationException {        try {            Seating seating = facade.getSeating(theaterKey, movieKey,                                                 new ShowTime(showtime[0],                                                 showtime[1], showtime[2]));            return new SeatingPlan(seating.getSeatData(),                                    seating.getRowLength());        } catch (SmartTicketFacadeException stfe) {            throw new ModelException(ModelException.CAUSE_SHOW_NOT_FOUND);        } catch (Exception e) {            e.printStackTrace(System.err);            throw new ApplicationException(e);        }     }     public Reservation reserveSeats(String theaterKey, String movieKey,                                     int[] showtime,                                     SeatingPlan.Seat[] _seats) throws ModelException,                                     ApplicationException {        try {            Seat[] seats = new Seat[_seats.length];            for (int i = 0; i < seats.length; i++) {                seats[i] = new Seat(_seats[i].getRowNumber(),                                     _seats[i].getSeatNumber());            }             ReservationData reservation = facade.reserveSeats(theaterKey,                     movieKey,                     new ShowTime(showtime[0], showtime[1], showtime[2]),                     seats);            if (reservation == null) {                throw new ModelException(ModelException.CAUSE_UNAVAILABLE_SEATS);            }             return new Reservation(reservation.getId(),                                    reservation.getMovieId(),                                    reservation.getShowTime());        } catch (SmartTicketFacadeException stfe) {            throw new ModelException(ModelException.CAUSE_USER_NOT_LOGGED_IN);        } catch (Exception e) {            e.printStackTrace(System.err);            throw new ApplicationException(e);        }     }     public void purchaseTickets(String reservationId)             throws ModelException, ApplicationException {        try {            facade.purchaseTickets(reservationId);            return;        } catch (SmartTicketFacadeException stfe) {            stfe.printStackTrace(System.err);            throw new ModelException(ModelException.CAUSE_USER_NOT_LOGGED_IN);        } catch (Exception e) {            e.printStackTrace(System.err);            throw new ApplicationException(e);        }     }     public void cancelSeatReservation(String reservationId)             throws ModelException, ApplicationException {        try {            facade.cancelSeatReservation(reservationId);            return;        } catch (SmartTicketFacadeException stfe) {            throw new ModelException(ModelException.CAUSE_USER_NOT_LOGGED_IN);        } catch (Exception e) {            e.printStackTrace(System.err);            throw new ApplicationException(e);        }     }     public String[] getLocales() throws ApplicationException {        List localeList = new ArrayList();        String localesString = servletContext.getInitParameter("locales");        StringTokenizer tokenizer = new StringTokenizer(localesString, ",");        while (tokenizer.hasMoreTokens()) {            localeList.add(tokenizer.nextToken());        }         String[] locales = new String[localeList.size()];        localeList.toArray(locales);        return locales;    }     public IndexedResourceBundle getResourceBundle(String baseName,             String locale) throws ApplicationException {        try {            InputStream in =                 servletContext.getResourceAsStream("/WEB-INF/rsrc/l10n/"                                                    + baseName + "_" + locale                                                    + ".properties");            return IndexedResourceBundle.getBundleFromPropertyFile(locale,                     in);        } catch (IOException ioe) {            throw new ApplicationException(ioe);        }     }     public SyncAnchor initiateSynchronization(SyncAnchor syncAnchor, long clientTime)             throws ModelException, ApplicationException {        try {            SyncClientAnchor syncClientAnchor =                 new SyncClientAnchor(syncAnchor.getClientId(),                                      syncAnchor.getLastSyncTime());            syncClientAnchor =                 facade.initiateSynchronization(syncClientAnchor, clientTime);            return new SyncAnchor(syncClientAnchor.getClientId(),                                   syncClientAnchor.getLastSyncTime(),                                   syncClientAnchor.isOutOfSync());        } catch (SmartTicketFacadeException stfe) {            throw new ModelException(ModelException.CAUSE_USER_NOT_LOGGED_IN);        } catch (Exception e) {            e.printStackTrace(System.err);            throw new ApplicationException(e);        }     }     public MovieRating[] synchronizeMovieRatings(MovieRating[] movieRatings,             int conflictResolutionStrategyId) throws ModelException,             ApplicationException {        try {            return movieRatingDataToMovieRatings(facade.synchronizeMovieRatings(movieRatingsToMovieRatingData(movieRatings),                     conflictResolutionStrategyId));        } catch (SmartTicketFacadeException stfe) {            throw new ModelException(ModelException.CAUSE_USER_NOT_LOGGED_IN);        } catch (Exception e) {            e.printStackTrace(System.err);            throw new ApplicationException(e);        }     }     public MovieRating[] commitMovieRatings(MovieRating[] movieRatings)             throws ModelException, ApplicationException {        try {            return movieRatingDataToMovieRatings(facade.commitMovieRatings(movieRatingsToMovieRatingData(movieRatings)));        } catch (SmartTicketFacadeException stfe) {            throw new ModelException(ModelException.CAUSE_USER_NOT_LOGGED_IN);        } catch (Exception e) {            e.printStackTrace(System.err);            throw new ApplicationException(e);        }     }     private MovieRatingData[] movieRatingsToMovieRatingData(MovieRating[] movieRatings) {        List movieRatingData = new ArrayList();        if (movieRatings != null) {            for (int i = 0; i < movieRatings.length; i++) {                movieRatingData.add(new MovieRatingData(movieRatings[i].getPrimaryKey(),                                                         movieRatings[i].getStarNumber(),                                                         movieRatings[i].getLastViewingDate(),                                                         movieRatings[i].getLastModificationDate(),                                                         movieRatings[i].getModificationStatus(),                                                         movieRatings[i].isModifiedOnClient()));            }         }         return (MovieRatingData[]) movieRatingData.toArray(new MovieRatingData[0]);    }     private MovieRating[] movieRatingDataToMovieRatings(MovieRatingData[] movieRatingData) {        List movieRatings = new ArrayList();        if (movieRatingData != null) {            for (int i = 0; i < movieRatingData.length; i++) {                movieRatings.add(new MovieRating(movieRatingData[i].getMovieId(),                                                  movieRatingData[i].getStarNumber(),                                                  movieRatingData[i].getLastViewingDate(),                                                  movieRatingData[i].getLastModificationDate(),                                                  movieRatingData[i].getModificationStatus(),                                                  movieRatingData[i].isModifiedOnClient()));            }         }         return (MovieRating[]) movieRatings.toArray(new MovieRating[0]);    } }

⌨️ 快捷键说明

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