From 2542c7c6d3b4904b9c0c6568654cfd3c49c51ad4 Mon Sep 17 00:00:00 2001 From: marcins78 Date: Wed, 9 Jan 2013 15:06:22 +0000 Subject: [PATCH] Exception handling. --- .../lotro/async/LotroHttpRequestHandler.java | 12 +- .../async/handler/AdminRequestHandler.java | 269 +++++++++--------- .../async/handler/ChatRequestHandler.java | 21 +- .../handler/CollectionRequestHandler.java | 8 +- .../async/handler/DeckRequestHandler.java | 38 ++- .../async/handler/HallRequestHandler.java | 47 +-- .../async/handler/LoginRequestHandler.java | 32 +-- .../async/handler/RootUriRequestHandler.java | 2 +- .../async/handler/StatusRequestHandler.java | 2 +- .../async/handler/UriRequestHandler.java | 2 +- .../async/handler/WebRequestHandler.java | 2 +- 11 files changed, 192 insertions(+), 243 deletions(-) diff --git a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/LotroHttpRequestHandler.java b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/LotroHttpRequestHandler.java index 7f9d2f973..edd3dad90 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/LotroHttpRequestHandler.java +++ b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/LotroHttpRequestHandler.java @@ -84,7 +84,13 @@ public class LotroHttpRequestHandler extends SimpleChannelUpstreamHandler { } }; - _uriRequestHandler.handleRequest(uri, request, _objects, responseWriter, e); + try { + _uriRequestHandler.handleRequest(uri, request, _objects, responseWriter, e); + } catch (HttpProcessingException exp) { + responseWriter.writeError(exp.getStatus()); + } catch (Exception exp) { + responseWriter.writeError(500); + } } } @@ -160,7 +166,7 @@ public class LotroHttpRequestHandler extends SimpleChannelUpstreamHandler { HttpResponse response = new DefaultHttpResponse(HTTP_1_1, HttpResponseStatus.valueOf(status)); if (headers != null) { - for (Map.Entry header: headers.entrySet()) + for (Map.Entry header : headers.entrySet()) response.setHeader(header.getKey(), header.getValue()); } @@ -184,7 +190,7 @@ public class LotroHttpRequestHandler extends SimpleChannelUpstreamHandler { HttpResponse response = new DefaultHttpResponse(HTTP_1_1, OK); if (headers != null) { - for (Map.Entry header: headers.entrySet()) + for (Map.Entry header : headers.entrySet()) response.setHeader(header.getKey(), header.getValue()); } diff --git a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/AdminRequestHandler.java b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/AdminRequestHandler.java index 1977af126..662fb3c05 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/AdminRequestHandler.java +++ b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/AdminRequestHandler.java @@ -50,34 +50,29 @@ public class AdminRequestHandler extends LotroServerRequestHandler implements Ur } @Override - public void handleRequest(String uri, HttpRequest request, Map context, ResponseWriter responseWriter, MessageEvent e) { - try { - if (uri.equals("/clearCache") && request.getMethod() == HttpMethod.GET) { - clearCache(request, responseWriter); - } else if (uri.equals("/shutdown") && request.getMethod() == HttpMethod.GET) { - shutdown(request, responseWriter); - } else if (uri.equals("/setMotd") && request.getMethod() == HttpMethod.POST) { - setMotd(request, responseWriter); - } else if (uri.equals("/previewSealedLeague") && request.getMethod() == HttpMethod.POST) { - previewSealedLeague(request, responseWriter); - } else if (uri.equals("/addSealedLeague") && request.getMethod() == HttpMethod.POST) { - addSealedLeague(request, responseWriter); - } else if (uri.equals("/previewConstructedLeague") && request.getMethod() == HttpMethod.POST) { - previewConstructedLeague(request, responseWriter); - } else if (uri.equals("/addConstructedLeague") && request.getMethod() == HttpMethod.POST) { - addConstructedLeague(request, responseWriter); - } else if (uri.equals("/addItems") && request.getMethod() == HttpMethod.POST) { - addItems(request, responseWriter); - } else if (uri.equals("/addItemsToCollection") && request.getMethod() == HttpMethod.POST) { - addItemsToCollection(request, responseWriter); - } else { - responseWriter.writeError(404); - } - } catch (HttpProcessingException exp) { - responseWriter.writeError(exp.getStatus()); - } catch (Exception exp) { - responseWriter.writeError(500); + public void handleRequest(String uri, HttpRequest request, Map context, ResponseWriter responseWriter, MessageEvent e) throws Exception { + if (uri.equals("/clearCache") && request.getMethod() == HttpMethod.GET) { + clearCache(request, responseWriter); + } else if (uri.equals("/shutdown") && request.getMethod() == HttpMethod.GET) { + shutdown(request, responseWriter); + } else if (uri.equals("/setMotd") && request.getMethod() == HttpMethod.POST) { + setMotd(request, responseWriter); + } else if (uri.equals("/previewSealedLeague") && request.getMethod() == HttpMethod.POST) { + previewSealedLeague(request, responseWriter); + } else if (uri.equals("/addSealedLeague") && request.getMethod() == HttpMethod.POST) { + addSealedLeague(request, responseWriter); + } else if (uri.equals("/previewConstructedLeague") && request.getMethod() == HttpMethod.POST) { + previewConstructedLeague(request, responseWriter); + } else if (uri.equals("/addConstructedLeague") && request.getMethod() == HttpMethod.POST) { + addConstructedLeague(request, responseWriter); + } else if (uri.equals("/addItems") && request.getMethod() == HttpMethod.POST) { + addItems(request, responseWriter); + } else if (uri.equals("/addItemsToCollection") && request.getMethod() == HttpMethod.POST) { + addItemsToCollection(request, responseWriter); + } else { + responseWriter.writeError(404); } + } private void addItemsToCollection(HttpRequest request, ResponseWriter responseWriter) throws Exception { @@ -90,7 +85,7 @@ public class AdminRequestHandler extends LotroServerRequestHandler implements Ur Collection productItems = getProductItems(product); - Map playersCollection = _collectionManager.getPlayersCollection(collectionType); + Map playersCollection = _collectionManager.getPlayersCollection(collectionType); for (Map.Entry playerCollection : playersCollection.entrySet()) _collectionManager.addItemsToPlayerCollection(true, reason, playerCollection.getKey(), createCollectionType(collectionType), productItems); @@ -184,172 +179,172 @@ public class AdminRequestHandler extends LotroServerRequestHandler implements Ur } private void previewConstructedLeague(HttpRequest request, ResponseWriter responseWriter) throws Exception { - validateLeagueAdmin(request); + validateLeagueAdmin(request); - HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request); - String start = getFormParameterSafely(postDecoder, "start"); - String collectionType = getFormParameterSafely(postDecoder, "collectionType"); - String prizeMultiplier = getFormParameterSafely(postDecoder, "prizeMultiplier"); - List formats = getFormMultipleParametersSafely(postDecoder, "format"); - List serieDurations = getFormMultipleParametersSafely(postDecoder, "serieDuration"); - List maxMatches = getFormMultipleParametersSafely(postDecoder, "maxMatches"); - String name = getFormParameterSafely(postDecoder, "name"); - int cost = Integer.parseInt(getFormParameterSafely(postDecoder, "cost")); + HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request); + String start = getFormParameterSafely(postDecoder, "start"); + String collectionType = getFormParameterSafely(postDecoder, "collectionType"); + String prizeMultiplier = getFormParameterSafely(postDecoder, "prizeMultiplier"); + List formats = getFormMultipleParametersSafely(postDecoder, "format"); + List serieDurations = getFormMultipleParametersSafely(postDecoder, "serieDuration"); + List maxMatches = getFormMultipleParametersSafely(postDecoder, "maxMatches"); + String name = getFormParameterSafely(postDecoder, "name"); + int cost = Integer.parseInt(getFormParameterSafely(postDecoder, "cost")); - StringBuilder sb = new StringBuilder(); - sb.append(start + "," + collectionType + "," + prizeMultiplier + "," + formats.size()); - for (int i = 0; i < formats.size(); i++) - sb.append("," + formats.get(i) + "," + serieDurations.get(i) + "," + maxMatches.get(i)); + StringBuilder sb = new StringBuilder(); + sb.append(start + "," + collectionType + "," + prizeMultiplier + "," + formats.size()); + for (int i = 0; i < formats.size(); i++) + sb.append("," + formats.get(i) + "," + serieDurations.get(i) + "," + maxMatches.get(i)); - String parameters = sb.toString(); - LeagueData leagueData = new NewConstructedLeagueData(parameters); + String parameters = sb.toString(); + LeagueData leagueData = new NewConstructedLeagueData(parameters); - DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); - DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); + DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); - Document doc = documentBuilder.newDocument(); + Document doc = documentBuilder.newDocument(); - final List series = leagueData.getSeries(); + final List series = leagueData.getSeries(); - int end = series.get(series.size() - 1).getEnd(); + int end = series.get(series.size() - 1).getEnd(); - Element leagueElem = doc.createElement("league"); + Element leagueElem = doc.createElement("league"); - leagueElem.setAttribute("name", name); - leagueElem.setAttribute("cost", String.valueOf(cost)); - leagueElem.setAttribute("start", String.valueOf(series.get(0).getStart())); - leagueElem.setAttribute("end", String.valueOf(end)); + leagueElem.setAttribute("name", name); + leagueElem.setAttribute("cost", String.valueOf(cost)); + leagueElem.setAttribute("start", String.valueOf(series.get(0).getStart())); + leagueElem.setAttribute("end", String.valueOf(end)); - for (LeagueSerieData serie : series) { - Element serieElem = doc.createElement("serie"); - serieElem.setAttribute("type", serie.getName()); - serieElem.setAttribute("maxMatches", String.valueOf(serie.getMaxMatches())); - serieElem.setAttribute("start", String.valueOf(serie.getStart())); - serieElem.setAttribute("end", String.valueOf(serie.getEnd())); - serieElem.setAttribute("format", _formatLibrary.getFormat(serie.getFormat()).getName()); - serieElem.setAttribute("collection", serie.getCollectionType().getFullName()); - serieElem.setAttribute("limited", String.valueOf(serie.isLimited())); + for (LeagueSerieData serie : series) { + Element serieElem = doc.createElement("serie"); + serieElem.setAttribute("type", serie.getName()); + serieElem.setAttribute("maxMatches", String.valueOf(serie.getMaxMatches())); + serieElem.setAttribute("start", String.valueOf(serie.getStart())); + serieElem.setAttribute("end", String.valueOf(serie.getEnd())); + serieElem.setAttribute("format", _formatLibrary.getFormat(serie.getFormat()).getName()); + serieElem.setAttribute("collection", serie.getCollectionType().getFullName()); + serieElem.setAttribute("limited", String.valueOf(serie.isLimited())); - leagueElem.appendChild(serieElem); - } - - doc.appendChild(leagueElem); - - responseWriter.writeResponse(doc); + leagueElem.appendChild(serieElem); } + doc.appendChild(leagueElem); + + responseWriter.writeResponse(doc); + } + private void addSealedLeague(HttpRequest request, ResponseWriter responseWriter) throws Exception { - validateLeagueAdmin(request); + validateLeagueAdmin(request); - HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request); - String format = getFormParameterSafely(postDecoder, "format"); - String start = getFormParameterSafely(postDecoder, "start"); - String serieDuration = getFormParameterSafely(postDecoder, "serieDuration"); - String maxMatches = getFormParameterSafely(postDecoder, "maxMatches"); - String name = getFormParameterSafely(postDecoder, "name"); - int cost = Integer.parseInt(getFormParameterSafely(postDecoder, "cost")); + HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request); + String format = getFormParameterSafely(postDecoder, "format"); + String start = getFormParameterSafely(postDecoder, "start"); + String serieDuration = getFormParameterSafely(postDecoder, "serieDuration"); + String maxMatches = getFormParameterSafely(postDecoder, "maxMatches"); + String name = getFormParameterSafely(postDecoder, "name"); + int cost = Integer.parseInt(getFormParameterSafely(postDecoder, "cost")); - String code = String.valueOf(System.currentTimeMillis()); + String code = String.valueOf(System.currentTimeMillis()); - String parameters = format + "," + start + "," + serieDuration + "," + maxMatches + "," + code + "," + name; - LeagueData leagueData = new NewSealedLeagueData(parameters); - List series = leagueData.getSeries(); - int leagueStart = series.get(0).getStart(); - int displayEnd = DateUtils.offsetDate(series.get(series.size() - 1).getEnd(), 2); + String parameters = format + "," + start + "," + serieDuration + "," + maxMatches + "," + code + "," + name; + LeagueData leagueData = new NewSealedLeagueData(parameters); + List series = leagueData.getSeries(); + int leagueStart = series.get(0).getStart(); + int displayEnd = DateUtils.offsetDate(series.get(series.size() - 1).getEnd(), 2); - _leagueDao.addLeague(cost, name, code, leagueData.getClass().getName(), parameters, leagueStart, displayEnd); + _leagueDao.addLeague(cost, name, code, leagueData.getClass().getName(), parameters, leagueStart, displayEnd); - _leagueService.clearCache(); + _leagueService.clearCache(); - responseWriter.writeHtmlResponse("OK"); + responseWriter.writeHtmlResponse("OK"); } private void previewSealedLeague(HttpRequest request, ResponseWriter responseWriter) throws Exception { - validateLeagueAdmin(request); + validateLeagueAdmin(request); - HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request); - String format = getFormParameterSafely(postDecoder, "format"); - String start = getFormParameterSafely(postDecoder, "start"); - String serieDuration = getFormParameterSafely(postDecoder, "serieDuration"); - String maxMatches = getFormParameterSafely(postDecoder, "maxMatches"); - String name = getFormParameterSafely(postDecoder, "name"); - int cost = Integer.parseInt(getFormParameterSafely(postDecoder, "cost")); + HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request); + String format = getFormParameterSafely(postDecoder, "format"); + String start = getFormParameterSafely(postDecoder, "start"); + String serieDuration = getFormParameterSafely(postDecoder, "serieDuration"); + String maxMatches = getFormParameterSafely(postDecoder, "maxMatches"); + String name = getFormParameterSafely(postDecoder, "name"); + int cost = Integer.parseInt(getFormParameterSafely(postDecoder, "cost")); - String code = String.valueOf(System.currentTimeMillis()); + String code = String.valueOf(System.currentTimeMillis()); - String parameters = format + "," + start + "," + serieDuration + "," + maxMatches + "," + code + "," + name; - LeagueData leagueData = new NewSealedLeagueData(parameters); + String parameters = format + "," + start + "," + serieDuration + "," + maxMatches + "," + code + "," + name; + LeagueData leagueData = new NewSealedLeagueData(parameters); - DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); - DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); + DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); - Document doc = documentBuilder.newDocument(); + Document doc = documentBuilder.newDocument(); - final List series = leagueData.getSeries(); + final List series = leagueData.getSeries(); - int end = series.get(series.size() - 1).getEnd(); + int end = series.get(series.size() - 1).getEnd(); - Element leagueElem = doc.createElement("league"); + Element leagueElem = doc.createElement("league"); - leagueElem.setAttribute("name", name); - leagueElem.setAttribute("cost", String.valueOf(cost)); - leagueElem.setAttribute("start", String.valueOf(series.get(0).getStart())); - leagueElem.setAttribute("end", String.valueOf(end)); + leagueElem.setAttribute("name", name); + leagueElem.setAttribute("cost", String.valueOf(cost)); + leagueElem.setAttribute("start", String.valueOf(series.get(0).getStart())); + leagueElem.setAttribute("end", String.valueOf(end)); - for (LeagueSerieData serie : series) { - Element serieElem = doc.createElement("serie"); - serieElem.setAttribute("type", serie.getName()); - serieElem.setAttribute("maxMatches", String.valueOf(serie.getMaxMatches())); - serieElem.setAttribute("start", String.valueOf(serie.getStart())); - serieElem.setAttribute("end", String.valueOf(serie.getEnd())); - serieElem.setAttribute("format", _formatLibrary.getFormat(serie.getFormat()).getName()); - serieElem.setAttribute("collection", serie.getCollectionType().getFullName()); - serieElem.setAttribute("limited", String.valueOf(serie.isLimited())); + for (LeagueSerieData serie : series) { + Element serieElem = doc.createElement("serie"); + serieElem.setAttribute("type", serie.getName()); + serieElem.setAttribute("maxMatches", String.valueOf(serie.getMaxMatches())); + serieElem.setAttribute("start", String.valueOf(serie.getStart())); + serieElem.setAttribute("end", String.valueOf(serie.getEnd())); + serieElem.setAttribute("format", _formatLibrary.getFormat(serie.getFormat()).getName()); + serieElem.setAttribute("collection", serie.getCollectionType().getFullName()); + serieElem.setAttribute("limited", String.valueOf(serie.isLimited())); - leagueElem.appendChild(serieElem); - } + leagueElem.appendChild(serieElem); + } - doc.appendChild(leagueElem); + doc.appendChild(leagueElem); - responseWriter.writeResponse(doc); + responseWriter.writeResponse(doc); } private void setMotd(HttpRequest request, ResponseWriter responseWriter) throws HttpProcessingException, Exception { - validateAdmin(request); + validateAdmin(request); - HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request); + HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request); - String motd = getFormParameterSafely(postDecoder, "motd"); + String motd = getFormParameterSafely(postDecoder, "motd"); - _hallServer.setMOTD(motd); + _hallServer.setMOTD(motd); - responseWriter.writeHtmlResponse("OK"); + responseWriter.writeHtmlResponse("OK"); } private void shutdown(HttpRequest request, ResponseWriter responseWriter) throws HttpProcessingException { - validateAdmin(request); + validateAdmin(request); - QueryStringDecoder queryDecoder = new QueryStringDecoder(request.getUri()); - boolean shutdown = Boolean.valueOf(getQueryParameterSafely(queryDecoder, "shutdown")); + QueryStringDecoder queryDecoder = new QueryStringDecoder(request.getUri()); + boolean shutdown = Boolean.valueOf(getQueryParameterSafely(queryDecoder, "shutdown")); - _hallServer.setShutdown(shutdown); + _hallServer.setShutdown(shutdown); - responseWriter.writeHtmlResponse("OK"); + responseWriter.writeHtmlResponse("OK"); } private void clearCache(HttpRequest request, ResponseWriter responseWriter) throws HttpProcessingException { - validateAdmin(request); + validateAdmin(request); - _leagueService.clearCache(); - _tournamentService.clearCache(); + _leagueService.clearCache(); + _tournamentService.clearCache(); - int before = _cacheManager.getTotalCount(); + int before = _cacheManager.getTotalCount(); - _cacheManager.clearCaches(); + _cacheManager.clearCaches(); - int after = _cacheManager.getTotalCount(); + int after = _cacheManager.getTotalCount(); - responseWriter.writeHtmlResponse("Before: " + before + "
OK
After: " + after); + responseWriter.writeHtmlResponse("Before: " + before + "
OK
After: " + after); } private void validateAdmin(HttpRequest request) throws HttpProcessingException { diff --git a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/ChatRequestHandler.java b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/ChatRequestHandler.java index 147298617..c35c75c93 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/ChatRequestHandler.java +++ b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/ChatRequestHandler.java @@ -40,21 +40,14 @@ public class ChatRequestHandler extends LotroServerRequestHandler implements Uri } @Override - public void handleRequest(String uri, HttpRequest request, Map context, ResponseWriter responseWriter, MessageEvent e) { - try { - if (uri.startsWith("/") && request.getMethod() == HttpMethod.GET) { - getMessages(request, URLDecoder.decode(uri.substring(1)), responseWriter); - } else if (uri.startsWith("/") && request.getMethod() == HttpMethod.POST) { - postMessages(request, URLDecoder.decode(uri.substring(1)), responseWriter); - } else { - responseWriter.writeError(404); - } - } catch (HttpProcessingException exp) { - responseWriter.writeError(exp.getStatus()); - } catch (Exception exp) { - responseWriter.writeError(500); + public void handleRequest(String uri, HttpRequest request, Map context, ResponseWriter responseWriter, MessageEvent e) throws Exception { + if (uri.startsWith("/") && request.getMethod() == HttpMethod.GET) { + getMessages(request, URLDecoder.decode(uri.substring(1)), responseWriter); + } else if (uri.startsWith("/") && request.getMethod() == HttpMethod.POST) { + postMessages(request, URLDecoder.decode(uri.substring(1)), responseWriter); + } else { + responseWriter.writeError(404); } - } private void postMessages(HttpRequest request, String room, ResponseWriter responseWriter) throws Exception { diff --git a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/CollectionRequestHandler.java b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/CollectionRequestHandler.java index 7a4b6b1db..539d95a08 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/CollectionRequestHandler.java +++ b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/CollectionRequestHandler.java @@ -74,8 +74,7 @@ public class CollectionRequestHandler extends LotroServerRequestHandler implemen } @Override - public void handleRequest(String uri, HttpRequest request, Map context, ResponseWriter responseWriter, MessageEvent e) { - try { + public void handleRequest(String uri, HttpRequest request, Map context, ResponseWriter responseWriter, MessageEvent e) throws Exception { if (uri.equals("") && request.getMethod() == HttpMethod.GET) { getCollectionTypes(request, responseWriter); } else if (uri.startsWith("/") && request.getMethod() == HttpMethod.POST) { @@ -85,11 +84,6 @@ public class CollectionRequestHandler extends LotroServerRequestHandler implemen } else { responseWriter.writeError(404); } - } catch (HttpProcessingException exp) { - responseWriter.writeError(exp.getStatus()); - } catch (Exception exp) { - responseWriter.writeError(500); - } } private void getCollection(HttpRequest request, String collectionType, ResponseWriter responseWriter) throws Exception { diff --git a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/DeckRequestHandler.java b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/DeckRequestHandler.java index c7864c1ca..563e1c7f0 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/DeckRequestHandler.java +++ b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/DeckRequestHandler.java @@ -27,7 +27,7 @@ public class DeckRequestHandler extends LotroServerRequestHandler implements Uri } @Override - public void handleRequest(String uri, HttpRequest request, Map context, ResponseWriter responseWriter, MessageEvent e) { + public void handleRequest(String uri, HttpRequest request, Map context, ResponseWriter responseWriter, MessageEvent e) throws Exception { if (uri.equals("/list") && request.getMethod() == HttpMethod.GET) { listDecks(request, responseWriter); } else { @@ -35,29 +35,25 @@ public class DeckRequestHandler extends LotroServerRequestHandler implements Uri } } - private void listDecks(HttpRequest request, ResponseWriter responseWriter) { - try { - QueryStringDecoder queryDecoder = new QueryStringDecoder(request.getUri()); - String participantId = getQueryParameterSafely(queryDecoder, "participantId"); + private void listDecks(HttpRequest request, ResponseWriter responseWriter) throws Exception { + QueryStringDecoder queryDecoder = new QueryStringDecoder(request.getUri()); + String participantId = getQueryParameterSafely(queryDecoder, "participantId"); - Player resourceOwner = getResourceOwnerSafely(request, participantId); + Player resourceOwner = getResourceOwnerSafely(request, participantId); - List names = new ArrayList(_deckDao.getPlayerDeckNames(resourceOwner)); - Collections.sort(names); + List names = new ArrayList(_deckDao.getPlayerDeckNames(resourceOwner)); + Collections.sort(names); - DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); - DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); - Document doc = documentBuilder.newDocument(); - Element decksElem = doc.createElement("decks"); - for (String name : names) { - Element deckElem = doc.createElement("deck"); - deckElem.appendChild(doc.createTextNode(name)); - decksElem.appendChild(deckElem); - } - doc.appendChild(decksElem); - responseWriter.writeResponse(doc); - } catch (Exception exp) { - responseWriter.writeError(500); + DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); + Document doc = documentBuilder.newDocument(); + Element decksElem = doc.createElement("decks"); + for (String name : names) { + Element deckElem = doc.createElement("deck"); + deckElem.appendChild(doc.createTextNode(name)); + decksElem.appendChild(deckElem); } + doc.appendChild(decksElem); + responseWriter.writeResponse(doc); } } diff --git a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/HallRequestHandler.java b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/HallRequestHandler.java index 2bca41d00..947acfa00 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/HallRequestHandler.java +++ b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/HallRequestHandler.java @@ -53,7 +53,7 @@ public class HallRequestHandler extends LotroServerRequestHandler implements Uri } @Override - public void handleRequest(String uri, HttpRequest request, Map context, ResponseWriter responseWriter, MessageEvent e) { + public void handleRequest(String uri, HttpRequest request, Map context, ResponseWriter responseWriter, MessageEvent e) throws Exception { if (uri.equals("") && request.getMethod() == HttpMethod.GET) { getHall(request, responseWriter); } else if (uri.equals("") && request.getMethod() == HttpMethod.POST) { @@ -81,8 +81,7 @@ public class HallRequestHandler extends LotroServerRequestHandler implements Uri } } - private void joinTable(HttpRequest request, String tableId, ResponseWriter responseWriter) { - try { + private void joinTable(HttpRequest request, String tableId, ResponseWriter responseWriter) throws Exception { HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request); String participantId = getFormParameterSafely(postDecoder, "participantId"); Player resourceOwner = getResourceOwnerSafely(request, participantId); @@ -91,26 +90,18 @@ public class HallRequestHandler extends LotroServerRequestHandler implements Uri _hallServer.joinTableAsPlayer(tableId, resourceOwner, deckName); responseWriter.writeResponse(null); - } catch (Exception exp) { - responseWriter.writeError(500); - } } - private void leaveTable(HttpRequest request, ResponseWriter responseWriter) { - try { + private void leaveTable(HttpRequest request, ResponseWriter responseWriter) throws Exception { HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request); String participantId = getFormParameterSafely(postDecoder, "participantId"); Player resourceOwner = getResourceOwnerSafely(request, participantId); _hallServer.leaveAwaitingTables(resourceOwner); responseWriter.writeResponse(null); - } catch (Exception exp) { - responseWriter.writeError(500); - } } - private void createTable(HttpRequest request, ResponseWriter responseWriter) { - try { + private void createTable(HttpRequest request, ResponseWriter responseWriter) throws Exception { HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request); String participantId = getFormParameterSafely(postDecoder, "participantId"); String format = getFormParameterSafely(postDecoder, "format"); @@ -124,13 +115,9 @@ public class HallRequestHandler extends LotroServerRequestHandler implements Uri } catch (HallException e) { responseWriter.writeResponse(marshalException(e)); } - } catch (Exception exp) { - responseWriter.writeError(500); - } } - private void dropFromTournament(HttpRequest request, String tournamentId, ResponseWriter responseWriter) { - try { + private void dropFromTournament(HttpRequest request, String tournamentId, ResponseWriter responseWriter) throws Exception { HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request); String participantId = getFormParameterSafely(postDecoder, "participantId"); Player resourceOwner = getResourceOwnerSafely(request, participantId); @@ -138,13 +125,9 @@ public class HallRequestHandler extends LotroServerRequestHandler implements Uri _hallServer.dropFromTournament(tournamentId, resourceOwner); responseWriter.writeResponse(null); - } catch (Exception exp) { - responseWriter.writeError(500); - } } - private void joinQueue(HttpRequest request, String queueId, ResponseWriter responseWriter) { - try { + private void joinQueue(HttpRequest request, String queueId, ResponseWriter responseWriter) throws Exception { HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request); String participantId = getFormParameterSafely(postDecoder, "participantId"); String deckName = getFormParameterSafely(postDecoder, "deckName"); @@ -157,13 +140,9 @@ public class HallRequestHandler extends LotroServerRequestHandler implements Uri } catch (HallException e) { responseWriter.writeResponse(marshalException(e)); } - } catch (Exception exp) { - responseWriter.writeError(500); - } } - private void leaveQueue(HttpRequest request, String queueId, ResponseWriter responseWriter) { - try { + private void leaveQueue(HttpRequest request, String queueId, ResponseWriter responseWriter) throws Exception { HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request); String participantId = getFormParameterSafely(postDecoder, "participantId"); @@ -172,9 +151,6 @@ public class HallRequestHandler extends LotroServerRequestHandler implements Uri _hallServer.leaveQueue(queueId, resourceOwner); responseWriter.writeResponse(null); - } catch (Exception exp) { - responseWriter.writeError(500); - } } private Document marshalException(HallException e) throws ParserConfigurationException { @@ -301,8 +277,7 @@ public class HallRequestHandler extends LotroServerRequestHandler implements Uri } } - private void updateHall(HttpRequest request, ResponseWriter responseWriter) { - try { + private void updateHall(HttpRequest request, ResponseWriter responseWriter) throws Exception { HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request); String participantId = getFormParameterSafely(postDecoder, "participantId"); int channelNumber = Integer.parseInt(getFormParameterSafely(postDecoder, "channelNumber")); @@ -314,12 +289,6 @@ public class HallRequestHandler extends LotroServerRequestHandler implements Uri polledResource.process(); else _longPollingSystem.appendLongPollingResource(polledResource); - - } catch (HttpProcessingException exp) { - responseWriter.writeError(exp.getStatus()); - } catch (Exception exp) { - responseWriter.writeError(500); - } } private class HallUpdateLongPollingResource implements LongPollingResource { diff --git a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/LoginRequestHandler.java b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/LoginRequestHandler.java index db5514579..ef873e929 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/LoginRequestHandler.java +++ b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/LoginRequestHandler.java @@ -21,29 +21,25 @@ public class LoginRequestHandler extends LotroServerRequestHandler implements Ur } @Override - public void handleRequest(String uri, HttpRequest request, Map context, ResponseWriter responseWriter, MessageEvent e) { - try { - if (uri.equals("") && request.getMethod() == HttpMethod.POST) { - HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request); - String login = getFormParameterSafely(postDecoder, "login"); - String password = getFormParameterSafely(postDecoder, "password"); + public void handleRequest(String uri, HttpRequest request, Map context, ResponseWriter responseWriter, MessageEvent e) throws Exception { + if (uri.equals("") && request.getMethod() == HttpMethod.POST) { + HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request); + String login = getFormParameterSafely(postDecoder, "login"); + String password = getFormParameterSafely(postDecoder, "password"); - Player player = _playerDao.loginUser(login, password); - if (player != null) { - if (player.getType().contains("u")) { - responseWriter.writeResponse(null, logUserReturningHeaders(e, login)); - } else { - responseWriter.writeError(403); - } + Player player = _playerDao.loginUser(login, password); + if (player != null) { + if (player.getType().contains("u")) { + responseWriter.writeResponse(null, logUserReturningHeaders(e, login)); } else { - responseWriter.writeError(401); + responseWriter.writeError(403); } - } else { - responseWriter.writeError(404); + responseWriter.writeError(401); } - } catch (Exception exp) { - responseWriter.writeError(500); + + } else { + responseWriter.writeError(404); } } diff --git a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/RootUriRequestHandler.java b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/RootUriRequestHandler.java index 0bb7bf771..52ef03aa7 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/RootUriRequestHandler.java +++ b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/RootUriRequestHandler.java @@ -31,7 +31,7 @@ public class RootUriRequestHandler implements UriRequestHandler { } @Override - public void handleRequest(String uri, HttpRequest request, Map context, ResponseWriter responseWriter, MessageEvent e) { + public void handleRequest(String uri, HttpRequest request, Map context, ResponseWriter responseWriter, MessageEvent e) throws Exception { if (uri.startsWith(_webContextPath)) { _webRequestHandler.handleRequest(uri.substring(_webContextPath.length()), request, context, responseWriter, e); } else if (uri.equals("/gemp-lotr")) { diff --git a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/StatusRequestHandler.java b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/StatusRequestHandler.java index 301febe11..6c6830298 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/StatusRequestHandler.java +++ b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/StatusRequestHandler.java @@ -24,7 +24,7 @@ public class StatusRequestHandler extends LotroServerRequestHandler implements U } @Override - public void handleRequest(String uri, HttpRequest request, Map context, ResponseWriter responseWriter, MessageEvent e) { + public void handleRequest(String uri, HttpRequest request, Map context, ResponseWriter responseWriter, MessageEvent e) throws Exception { if (uri.equals("") && request.getMethod() == HttpMethod.GET) { StringBuilder sb = new StringBuilder(); diff --git a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/UriRequestHandler.java b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/UriRequestHandler.java index ed3e076dc..006290b45 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/UriRequestHandler.java +++ b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/UriRequestHandler.java @@ -8,5 +8,5 @@ import java.lang.reflect.Type; import java.util.Map; public interface UriRequestHandler { - public void handleRequest(String uri, HttpRequest request, Map context, ResponseWriter responseWriter, MessageEvent e); + public void handleRequest(String uri, HttpRequest request, Map context, ResponseWriter responseWriter, MessageEvent e) throws Exception; } diff --git a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/WebRequestHandler.java b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/WebRequestHandler.java index be5a9ecd3..1bdd680cd 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/WebRequestHandler.java +++ b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/WebRequestHandler.java @@ -13,7 +13,7 @@ public class WebRequestHandler implements UriRequestHandler { private String _root = ApplicationConfiguration.getProperty("web.folder"); @Override - public void handleRequest(String uri, HttpRequest request, Map context, ResponseWriter responseWriter, MessageEvent e) { + public void handleRequest(String uri, HttpRequest request, Map context, ResponseWriter responseWriter, MessageEvent e) throws Exception { if (uri.equals("")) uri = "index.html";