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 + -
显示快捷键?