Ejemplo n.º 1
0
  public void findFolder() throws Exception {
    // Create a view with a page size of 10.
    FolderView view = new FolderView(10);

    // Identify the properties to return in the results set.
    view.setPropertySet(new PropertySet(IdOnly));
    view.getPropertySet().add(FolderSchema.DisplayName);

    // Return only folders that contain items.
    SearchFilter searchFilter = new SearchFilter.IsGreaterThan(FolderSchema.TotalCount, 100);

    // Unlike FindItem searches, folder searches can be deep traversals.
    view.setTraversal(FolderTraversal.Deep);

    // Send the request to search the mailbox and get the results.
    FindFoldersResults findFolderResults =
        exchangeService.findFolders(WellKnownFolderName.Root, searchFilter, view);

    // Process each item.
    for (Folder myFolder : findFolderResults.getFolders()) {
      System.out.println(myFolder.getDisplayName());
      if (myFolder.getDisplayName().equalsIgnoreCase("Other")) {
        FindItemsResults<Item> itemresults;
        int count = 0;
        do {
          // empty the deleted folder
          // emptyDelete();
          // move items from other to deleted items
          itemresults = exchangeService.findItems(myFolder.getId(), new ItemView(100));
          System.out.println(" Is more Avail: " + itemresults.isMoreAvailable());
          for (Item item : itemresults.getItems()) {
            count++;
            System.out.println(item.getSubject());
            // Item itm = Item.bind(exchangeService, itemId, PropertySet.FirstClassProperties);
            EmailMessage emailMessage = EmailMessage.bind(exchangeService, item.getId());
            System.out.println("deleting : " + emailMessage.getSubject());
            try {
              emailMessage.delete(DeleteMode.HardDelete);
              // item.delete(DeleteMode.HardDelete);
              // item.move(WellKnownFolderName.DeletedItems);
            } catch (Exception e) {
              e.printStackTrace();
            }
          }
        } while (itemresults.isMoreAvailable());
        System.out.println("Item deleted: " + count);
        // emptyDelete();
      }
    }
  }