예제 #1
0
 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);
 }
예제 #2
0
 /**
  * @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;
 }
예제 #3
0
  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;
  }
예제 #4
0
 public boolean isLocallyEdited(String pageName) {
   return diskCache.load(server.getId(), pageName) != null;
 }
예제 #5
0
 public boolean deletePage(String name) throws PageNotFoundException, PermissionDeniedException {
   diskCache.remove(server.getId(), name);
   return wikiClient.deletePage(name);
 }