You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

BootstrapListenerCode.java 2.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package com.vaadin.tests.minitutorials.v7b1;
  2. import java.util.List;
  3. import javax.portlet.PortletException;
  4. import javax.servlet.ServletException;
  5. import org.jsoup.nodes.Comment;
  6. import org.jsoup.nodes.Element;
  7. import org.jsoup.nodes.Node;
  8. import org.jsoup.parser.Tag;
  9. import com.vaadin.server.BootstrapFragmentResponse;
  10. import com.vaadin.server.BootstrapListener;
  11. import com.vaadin.server.BootstrapPageResponse;
  12. import com.vaadin.server.ServiceException;
  13. import com.vaadin.server.SessionInitEvent;
  14. import com.vaadin.server.SessionInitListener;
  15. import com.vaadin.server.VaadinPortlet;
  16. import com.vaadin.server.VaadinServlet;
  17. public class BootstrapListenerCode {
  18. public static BootstrapListener listener = new BootstrapListener() {
  19. @Override
  20. public void modifyBootstrapPage(BootstrapPageResponse response) {
  21. response.getDocument().body()
  22. .appendChild(new Comment("Powered by Vaadin!"));
  23. response.setHeader("X-Powered-By", "Vaadin 7");
  24. }
  25. @Override
  26. public void modifyBootstrapFragment(
  27. BootstrapFragmentResponse response) {
  28. // Wrap the fragment in a custom div element
  29. Element myDiv = new Element(Tag.valueOf("div"), "");
  30. List<Node> nodes = response.getFragmentNodes();
  31. for (Node node : nodes) {
  32. myDiv.appendChild(node);
  33. }
  34. nodes.clear();
  35. nodes.add(myDiv);
  36. }
  37. };
  38. }
  39. class MyVaadinServlet extends VaadinServlet {
  40. @Override
  41. protected void servletInitialized() throws ServletException {
  42. super.servletInitialized();
  43. getService().addSessionInitListener(new SessionInitListener() {
  44. @Override
  45. public void sessionInit(SessionInitEvent event)
  46. throws ServiceException {
  47. event.getSession()
  48. .addBootstrapListener(BootstrapListenerCode.listener);
  49. }
  50. });
  51. }
  52. }
  53. // Or...
  54. class MyVaadinPortlet extends VaadinPortlet {
  55. @Override
  56. protected void portletInitialized() throws PortletException {
  57. super.portletInitialized();
  58. getService().addSessionInitListener(new SessionInitListener() {
  59. @Override
  60. public void sessionInit(SessionInitEvent event)
  61. throws ServiceException {
  62. event.getSession()
  63. .addBootstrapListener(BootstrapListenerCode.listener);
  64. }
  65. });
  66. }
  67. }