// Copyright (C) 2003-2009 by Object Mentor, Inc. All rights reserved.
// Released under the terms of the CPL Common Public License version 1.0.
package fitnesse.responders;
import fitnesse.wiki.WikiPage;
import fitnesse.authentication.SecureOperation;
import fitnesse.authentication.SecureReadOperation;
import org.json.JSONArray;
import util.StringUtil;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class NameWikiPageResponder extends BasicWikiPageResponder {
protected String contentFrom(WikiPage requestedPage) {
List<String> pages = new ArrayList<String>();
for (Iterator<?> iterator = requestedPage.getChildren().iterator(); iterator.hasNext();) {
WikiPage child = (WikiPage) iterator.next();
if (request.hasInput("ShowChildCount")) {
String name = child.getName() + " " + Integer.toString(child.getChildren().size());
pages.add(name);
} else
pages.add(child.getName());
}
String format = (String) request.getInput("format");
if ("json".equalsIgnoreCase(format)) {
JSONArray jsonPages = new JSONArray(pages);
return jsonPages.toString();
}
return StringUtil.join(pages, System.getProperty("line.separator"));
}
protected String getContentType() {
return "text/plain";
}
@Override
public SecureOperation getSecureOperation() {
return new SecureReadOperation();
}
}