r12 - in trunk/src/main: java/org/chorem/bow webapp
Author: bbrossaud Date: 2010-05-07 15:29:16 +0200 (Fri, 07 May 2010) New Revision: 12 Url: http://chorem.org/repositories/revision/bow/12 Log: the click on tag works Modified: trunk/src/main/java/org/chorem/bow/BookmarkActions.java trunk/src/main/java/org/chorem/bow/ControllerServlet.java trunk/src/main/webapp/search.jsp Modified: trunk/src/main/java/org/chorem/bow/BookmarkActions.java =================================================================== --- trunk/src/main/java/org/chorem/bow/BookmarkActions.java 2010-05-07 10:35:52 UTC (rev 11) +++ trunk/src/main/java/org/chorem/bow/BookmarkActions.java 2010-05-07 13:29:16 UTC (rev 12) @@ -29,21 +29,19 @@ public Bookmark createBookmark(String query, User user) { Bookmark bookmark = (Bookmark) new BookmarkImpl(); - if (query.indexOf('|') > 0) { - bookmark.setLink(query.substring(0, query.indexOf('|'))); - query = query.substring(query.indexOf('|') + 1); - while (!query.isEmpty()) { - if (query.indexOf(',') > 0) { - bookmark.addTags(query.substring(0, query.indexOf(','))); - query = query.substring(query.indexOf(',') + 1); - } else { - bookmark.addTags(query.substring(0, query.length())); - query = ""; - } - } - } else { - bookmark.setLink(query); + int linkIndex = query.indexOf('|'); + if (linkIndex < 0) { + return null; } + String link = query.substring(0, linkIndex); + link = link.replaceAll("\\s*|", ""); + query = query.substring(linkIndex + 1); + query = query.trim(); + String[] tags = query.split("\\s+"); + for (int i = 0; i < tags.length; ++i) { + bookmark.addTags(tags[i]); + } + bookmark.setLink(link); bookmark.setEmail(user.getEmail()); bookmark.setDate(new Date()); return bookmark; Modified: trunk/src/main/java/org/chorem/bow/ControllerServlet.java =================================================================== --- trunk/src/main/java/org/chorem/bow/ControllerServlet.java 2010-05-07 10:35:52 UTC (rev 11) +++ trunk/src/main/java/org/chorem/bow/ControllerServlet.java 2010-05-07 13:29:16 UTC (rev 12) @@ -34,9 +34,13 @@ String action = request.getParameter("action"); response.setContentType("text/html"); + request.setAttribute("bookmarkActions", bookmarkActions); if (action != null) { if (action.equals("register")) { request.getRequestDispatcher("register.jsp").forward(request, response); + } else if (action.equals("clickontag")) { + log.debug("Going to actionClickOnTag"); + this.actionClickOnTag(request, response); } else { request.getRequestDispatcher("home.jsp").forward(request, response); } @@ -62,7 +66,7 @@ } else if (action.equals("addUrl")) { log.debug("Going to actionAddUrl"); this.actionAddUrl(request, response); - } else if (action.equals("check")) { + } else if (action.equals("search")) { log.debug("Going to actionSearch"); this.actionSearch(request, response); } else { @@ -79,38 +83,54 @@ String url = request.getParameter("url"); if (url != null) { - bookmarkActions.getBookmarks().clear(); - bookmarkActions.getTagsCloud().clear(); - url = url.replaceAll("\\s*", ""); + + log.debug("URL = {" + url + "}"); Bookmark bookmark = bookmarkActions.createBookmark(url, user); - model.getProxy().store(bookmark); - log.debug("URL = {" + url + "}"); - log.debug("Adding URL"); + if (bookmark != null) { + model.getProxy().store(bookmark); + log.debug("Adding URL"); + } } request.getRequestDispatcher("search.jsp").forward(request, response); } + protected void actionClickOnTag(HttpServletRequest request, HttpServletResponse response) + throws IOException, ServletException { + String tag = request.getParameter("tag"); + bookmarkActions.getBookmarks().clear(); + bookmarkActions.getTagsCloud().clear(); + List<Bookmark> bookList = model.getProxy(). + findAllByCriteria(Bookmark.class, null).getAll(); + if (bookList != null) { + bookmarkActions.setBookmarks(bookList); + } + if (tag != null) { + if (!tag.isEmpty()) { + tag = tag.trim(); + bookmarkActions.addTag(tag); + } + } + bookmarkActions.createTagsCloud(); + request.getRequestDispatcher("search.jsp").forward(request, response); + } + protected void actionSearch(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String words = request.getParameter("words"); bookmarkActions.reset(); List<Bookmark> bookList = model.getProxy(). - findAllByCriteria(Bookmark.class, null).getAll(); + findAllByCriteria(Bookmark.class, null).getAll(); if (bookList != null) { bookmarkActions.setBookmarks(bookList); } if (words != null) { if (!words.isEmpty()) { + words = words.trim(); String[] tags = words.split("\\s+"); bookmarkActions.addTags(tags); - log.debug("TabSize = {" + String.valueOf(tags.length) + "}"); } } - log.debug("ListSize before = {" + String.valueOf(bookmarkActions.getBookmarks().size()) + "}"); - log.debug("SearchLine = {" + words + "}"); bookmarkActions.createTagsCloud(); - log.debug("TagCloudSize = {" + String.valueOf(bookmarkActions.getTagsCloud().size()) + "}"); - log.debug("ListSize after = {" + String.valueOf(bookmarkActions.getBookmarks().size()) + "}"); request.getRequestDispatcher("search.jsp").forward(request, response); } Modified: trunk/src/main/webapp/search.jsp =================================================================== --- trunk/src/main/webapp/search.jsp 2010-05-07 10:35:52 UTC (rev 11) +++ trunk/src/main/webapp/search.jsp 2010-05-07 13:29:16 UTC (rev 12) @@ -14,11 +14,11 @@ <h1>Search</h1> <form method="POST" action="search?action=addUrl"> - URL <input type="text" name="url" size="20" value="URL|tag1,tag2..."><br /> + URL <input type="text" name="url" size="20" value="URL|tag1 tag2..."><br /> <input type="submit" value="add"> </form> - <form method="POST" action="search?action=check"> + <form method="POST" action="search?action=search"> <input type="text" name="words" size="20" value="<%=bookmarkActions.getSearchLine()%>" ><br /> <input type="submit" value="Find"> </form> @@ -31,25 +31,25 @@ int font = bookmarkActions.getFont(value); %> -<FONT SIZE="<%=font%>" ><%=tag%></FONT> +<FONT SIZE="<%=font%>" ><a href="search?action=clickontag&tag=<%=tag%>"><%=tag%></a></FONT> <% } List<String> tagsSearch = bookmarkActions.getTagsSearch(); List<Bookmark> bookmarkList = bookmarkActions.getBookmarks(); - if (!tagsSearch.isEmpty() || bookmarkList.size() == 1) { - if (tagsCloud.isEmpty()) { + if (!bookmarkList.isEmpty() && !tagsSearch.isEmpty()) { %> - RESULT:<br/> + <br/><br/>Results:<br/><br/> <% - for (Bookmark bookmark : bookmarkList) { + for (Bookmark bookmark : bookmarkList) { %> - -<%=bookmark.getLink()%><br/> - + <%=bookmark.getLink()%><br/> <% - } } + } else if (!tagsSearch.isEmpty() && bookmarkList.isEmpty()) { +%> + <br/><br/>No Result found<br/><br/> +<% } } %>
participants (1)
-
bbrossaudï¼ users.chorem.org