package uk.ac.cam.caret.sakai.rwiki.tool.entityproviders; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import lombok.Getter; import lombok.Setter; /** * Like a SparsePage but without the html and comments. Intended for return * as part of a JSON site graph. * * @author Adrian Fish <adrian.r.fish@gmail.com> */ public class SparserPage { private static Log log = LogFactory.getLog(SparserPage.class); @Getter private List<SparserPage> childPages = new ArrayList<SparserPage>(); @Setter @Getter private String name = ""; @Getter private String url = ""; @Setter @Getter private int numberOfComments = 0; public SparserPage(String name,String siteId,String format) { super(); this.name = name; try { this.url = "/direct/" + RWikiEntityProvider.ENTITY_PREFIX + "/" + siteId + "/page/" + URLEncoder.encode(name,"UTF-8").replaceAll("\\+","%20") + "." + format; } catch(UnsupportedEncodingException e) { log.error("UTF-8 is unsupported in the the encoding of URLs. The url was not set."); } } public void addChildPage(SparserPage childPage) { this.childPages.add(childPage); } }