public boolean deletePageVersion(String name, int version) throws PageNotFoundException, PageVersionNotFoundException, PermissionDeniedException { PageVersion cachedVersion = diskCache.load(server.getId(), name); if (cachedVersion != null && cachedVersion.getVersion() == version) { diskCache.remove(server.getId(), name); } return wikiClient.deletePageVersion(name, version); }
/** * @param pageName * @return * @throws PageNotFoundException */ public PageVersion loadPageVersion(String pageName) { // try cachewikiClient.getPageNames(); PageVersion pageVersion = diskCache.load(server.getId(), pageName); if (pageVersion == null) { try { // try wiki pageVersion = wikiClient.getPageVersion(pageName); } catch (PageNotFoundException e) { // create new page pageVersion = new PageVersion(); pageVersion.setName(pageName); pageVersion.setServerId(server.getId()); pageVersion.setAuthor(server.getUsername()); } pageVersion.setServerId(server.getId()); } return pageVersion; }
public String[] getPageNames() { String[] wikiPages = wikiClient.getPageNames(); String[] cachedNames = diskCache.getCachedPageNames(server.getId()); Set<String> pageNamesList = new HashSet<String>(); pageNamesList.addAll(Arrays.asList(wikiPages)); pageNamesList.addAll(Arrays.asList(cachedNames)); String[] pageNames = pageNamesList.toArray(new String[pageNamesList.size()]); Arrays.sort(pageNames); return pageNames; }
public boolean isLocallyEdited(String pageName) { return diskCache.load(server.getId(), pageName) != null; }
public boolean deletePage(String name) throws PageNotFoundException, PermissionDeniedException { diskCache.remove(server.getId(), name); return wikiClient.deletePage(name); }