Package ch.entwine.weblounge.common.impl.content.page

Examples of ch.entwine.weblounge.common.impl.content.page.MockPageImpl


      request.setMethod(site.getHostname(environment).getURL().getProtocol());
      request.setServletPath("");

      // Prepare a fake page in order to prevent erratic behavior during
      // precompilation
      Page page = new MockPageImpl(site);
      Pagelet pagelet = null;
      for (Module m : site.getModules()) {
        if (m.getRenderers().length > 0) {
          PageletRenderer r = m.getRenderers()[0];
          PageletURI pageletURI = new PageletURIImpl(page.getURI(), PageTemplate.DEFAULT_STAGE, 0);
          pagelet = new PageletImpl(pageletURI, m.getIdentifier(), r.getIdentifier());
        }
      }

      // Collect all renderers from modules and ask for precompilation
      List<URL> rendererUrls = new ArrayList<URL>();
      for (Module m : site.getModules()) {
        if (!m.isEnabled())
          break;
        for (PageletRenderer p : m.getRenderers()) {
          if (p.getRenderer() != null)
            rendererUrls.add(p.getRenderer());
          if (p.getRenderer(RendererType.Feed.name()) != null)
            rendererUrls.add(p.getRenderer(RendererType.Feed.name()));
          if (p.getRenderer(RendererType.Search.name()) != null)
            rendererUrls.add(p.getRenderer(RendererType.Search.name()));
          if (p.getEditor() != null)
            rendererUrls.add(p.getEditor());
        }
      }

      // Collect all site templates and ask for precompilation
      for (PageTemplate t : site.getTemplates()) {
        if (t.getRenderer() != null)
          rendererUrls.add(t.getRenderer());
      }

      if (rendererUrls.size() < 1) {
        logger.debug("No java server pages found to precompile for {}", site);
        return;
      }

      // Make sure there is a user
      security.setUser(new Guest(site.getIdentifier()));
      security.setSite(site);

      logger.info("Precompiling java server pages for '{}'", site);
      int errorCount = 0;
      Iterator<URL> rendererIterator = rendererUrls.iterator();
      while (keepGoing && rendererIterator.hasNext()) {
        MockHttpServletResponse response = new MockHttpServletResponse();
        URL entry = rendererIterator.next();
        String path = entry.getPath();
        String pathInfo = path.substring(path.indexOf(site.getIdentifier()) + site.getIdentifier().length());
        request.setPathInfo(pathInfo);
        request.setRequestURI(pathInfo);
        request.setAttribute(WebloungeRequest.PAGE, page);
        request.setAttribute(WebloungeRequest.COMPOSER, page.getComposer(PageTemplate.DEFAULT_STAGE));
        if (pagelet != null)
          request.setAttribute(WebloungeRequest.PAGELET, pagelet);

        try {
          logger.debug("Precompiling {}:/{}", site, pathInfo);
View Full Code Here

TOP

Related Classes of ch.entwine.weblounge.common.impl.content.page.MockPageImpl

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.