All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.sitebricks.debug.DebugPage Maven / Gradle / Ivy

package com.google.sitebricks.debug;

import com.google.common.collect.Lists;
import com.google.inject.Inject;
import com.google.inject.servlet.RequestScoped;
import com.google.sitebricks.At;
import com.google.sitebricks.http.Get;
import com.google.sitebricks.routing.PageBook;
import com.google.sitebricks.routing.PageBook.Page;

import java.util.Collections;
import java.util.List;

/**
 * Page showing some stats about current sitebricks configuration.
 *
 * @author [email protected] (Dhanji R. Prasanna)
 */
@At("/debug") @RequestScoped
public class DebugPage {
  @Inject
  private PageBook pageBook;

  private List resources;
  private List pages;

  @Get
  void debug() {
    resources = Lists.newArrayList();
    pages = Lists.newArrayList();
    for (List pages : pageBook.getPageMap()) {
      for (Page page : pages) {
        if (page.isHeadless()) {
          resources.add(page);
        } else {
          this.pages.add(page);
        }
      }
    }

    // O(n log n)
    Collections.sort(resources);
    Collections.sort(pages);
  }

  public List getResources() {
    return resources;
  }

  public List getPages() {
    return pages;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy