private void doGo(ActionRequest request, ActionResponse response, StringBuffer message) throws ReadOnlyException, ValidatorException, IOException, PortletModeException { boolean save = true; // PortletPreferences prefs = request.getPreferences(); String url = request.getParameter("url"); if (!url.startsWith("http://")) { save = false; message.append("URLs must start with 'http://'<br/>"); response.setRenderParameter("message", message.toString()); response.setPortletMode(PortletMode.VIEW); } if (save) { request.getPortletSession().removeAttribute("highlights"); // response.setRenderParameter("url", url.toLowerCase()); // request.getPortletSession().setAttribute("current_url", url.toLowerCase()); request.getPortletSession().setAttribute("current_url", url); this.sendEvent("loadedurl", url, response); response.setPortletMode(PortletMode.VIEW); request.getPortletSession().removeAttribute("highlights"); // gestion de la consultation if (request.getPortletSession().getAttribute("consult_url") != null) // si une consultation a déjà commencé { if (!url.equalsIgnoreCase( (String) request .getPortletSession() .getAttribute("consult_url"))) // si on change de page à consulter { if (request.getPortletSession().getAttribute("user") != null) { // creates consultation // URI uri = // CREATOR_URI.createAndGetURI((String)request.getPortletSession().getAttribute("consult_url")); // CREATOR_CONSULTATION.createsConsultation((UserAccount)request.getPortletSession().getAttribute("user"), (Date)request.getPortletSession().getAttribute("start_consult") , new Date(), uri, "[PortletWebBrowse]"); URI uri = daoResource.createAndGetURI( (String) request.getPortletSession().getAttribute("consult_url")); daoConsultation.createsConsultation( (UserAccount) request.getPortletSession().getAttribute("user"), (Date) request.getPortletSession().getAttribute("start_consult"), new Date(), uri, "[PortletWebBrowse]"); } request.getPortletSession().setAttribute("consult_url", url); request.getPortletSession().setAttribute("start_consult", new Date()); } } else // si c'est la première consultation { request.getPortletSession().setAttribute("consult_url", url); request.getPortletSession().setAttribute("start_consult", new Date()); } } }
public void processEvent(EventRequest request, EventResponse response) { Event event = request.getEvent(); String event_name = event.getName(); // System.out.println("[PortletWebBrowser.processEvent] event : " + event.getName()); if (event_name.equals("tohighlight")) { Object _highlight_event = event.getValue(); // Récupérer la collection de highlights if (_highlight_event instanceof HighlightSelectionHTML) { ArrayList<HighlightSelectionHTML> _hightlights = (ArrayList<HighlightSelectionHTML>) request.getPortletSession().getAttribute("highlights"); if (_hightlights == null) _hightlights = new ArrayList<HighlightSelectionHTML>(); _hightlights.add((HighlightSelectionHTML) _highlight_event); request.getPortletSession().setAttribute("highlights", _hightlights); } } if (event_name.equals("todelete")) { // System.out.println("[PortletWebBrowser.processEvent] event to delete"); if (event.getValue() instanceof HighlightSelectionHTML) doDelete(request, (HighlightSelectionHTML) event.getValue()); } if (event_name.equals("toLoadUrl")) { if (event.getValue() instanceof String) { String url = (String) event.getValue(); if (url.startsWith("http://")) { request.getPortletSession().setAttribute("current_url", url); // response.setRenderParameter("url", url.toLowerCase()); request.getPortletSession().removeAttribute("highlights"); request.removeAttribute("highlights"); // gestion de la consultation if (request.getPortletSession().getAttribute("consult_url") != null) // si une consultation a déjà commencé { if (!url.equalsIgnoreCase( (String) request .getPortletSession() .getAttribute("consult_url"))) // si on change de page à consulter { if (request.getPortletSession().getAttribute("user") != null) { // creates consultation // URI uri = // CREATOR_URI.createAndGetURI((String)request.getPortletSession().getAttribute("consult_url")); // CREATOR_CONSULTATION.createsConsultation((UserAccount)request.getPortletSession().getAttribute("user"), (Date)request.getPortletSession().getAttribute("start_consult") , new Date(), uri, "[PortletWebBrowse]"); URI uri = daoResource.createAndGetURI( (String) request.getPortletSession().getAttribute("consult_url")); daoConsultation.createsConsultation( (UserAccount) request.getPortletSession().getAttribute("user"), (Date) request.getPortletSession().getAttribute("start_consult"), new Date(), uri, "[PortletWebBrowse]"); } request.getPortletSession().setAttribute("consult_url", url); request.getPortletSession().setAttribute("start_consult", new Date()); } } else // si c'est la première consultation { request.getPortletSession().setAttribute("consult_url", url); request.getPortletSession().setAttribute("start_consult", new Date()); } } } } if (event_name.equalsIgnoreCase("UserLog")) { if (event.getValue() instanceof UserAccount) { UserAccount _current_user = (UserAccount) event.getValue(); if (_current_user.getId() != null) request.getPortletSession().setAttribute("user", _current_user); } } if (event_name.equalsIgnoreCase("UserUnLog")) { request.getPortletSession().removeAttribute("user"); } }