package com.taskadapter.redmineapi; import com.taskadapter.redmineapi.bean.Project; import com.taskadapter.redmineapi.bean.WikiPage; import com.taskadapter.redmineapi.bean.WikiPageDetail; import com.taskadapter.redmineapi.internal.Transport; import org.apache.http.message.BasicNameValuePair; import java.util.List; /** * Works with Wiki entries (read-only at this moment). * <p>Obtain it via RedmineManager: * <pre> RedmineManager redmineManager = RedmineManagerFactory.createWithUserAuth(redmineURI, login, password); WikiManager wikiManager = redmineManager.getWikiManager(); * </pre> * * <p>Sample usage: * <pre> String projectKey = "projkey1410979585758"; wikiPages = manager.getWikiPagesByProject(projectKey); * </pre> * * @see RedmineManager */ public class WikiManager { private final Transport transport; WikiManager(Transport transport) { this.transport = transport; } /** * @param projectKey the key of the project (like "TEST-12") we want the wiki pages from * * @return a list of all wiki pages for the project. * * @since Redmine 2.2 */ public List<WikiPage> getWikiPagesByProject(final String projectKey) throws RedmineException { return transport.getChildEntries(Project.class, projectKey, WikiPage.class); } /** * @param projectKey the key of the project (like "TEST-12") we want the wiki page from * @param pageTitle The name of the page * * @return the wiki page titled with the name passed as parameter * * @since Redmine 2.2 */ public WikiPageDetail getWikiPageDetailByProjectAndTitle(String projectKey, String pageTitle) throws RedmineException { return transport.getChildEntry(Project.class, projectKey, WikiPageDetail.class, pageTitle, new BasicNameValuePair("include", "attachments")); } }