示例#1
0
  /**
   * Send shell target.
   *
   * @param request the request
   * @param response the response
   * @param target the target
   * @param returnUrl the return url
   * @throws ServletException the servlet exception
   * @throws IOException Signals that an I/O exception has occurred.
   */
  public static void sendShellTarget(
      HttpServletRequest request, HttpServletResponse response, String target, String returnUrl)
      throws ServletException, IOException {

    PersonInfo personInfo = RequestCtx.getPersonInfo();

    ShellUrlBuilder shellUrl = new ShellUrlBuilder();
    shellUrl.setAllowInstanceBounce(true);
    shellUrl.setAppId(ApplicationConfig.APP_ID);
    shellUrl.setTarget(target);
    if (personInfo != null) {
      shellUrl.setShellInstance(personInfo.getInstanceId());
    }

    if (Config.RedirectUrl != null && Config.RedirectUrl.trim().length() != 0) {
      StringBuilder returnUrlBuilder = new StringBuilder();
      returnUrlBuilder.append(request.getScheme());
      returnUrlBuilder.append("://");
      returnUrlBuilder.append(request.getServerName());
      returnUrlBuilder.append(":");
      returnUrlBuilder.append(request.getServerPort());
      returnUrlBuilder.append(request.getContextPath());
      returnUrlBuilder.append(Config.RedirectUrl);

      try {
        shellUrl.setReturnUrlOverride(new URI(returnUrlBuilder.toString()));
      } catch (Exception e) {
        throw new HVException(e);
      }
    }

    shellUrl.setActionqs(returnUrl);

    response.sendRedirect(shellUrl.toString());
  }
示例#2
0
  /** @param sender */
  public void deleteRequest(PersonInfo sender) {
    if (sender == null) {
      throw new NullPointerException();
    }

    mTable.deleteEntryOf(sender.getIdentifier());
  }
示例#3
0
  /**
   * @param sender
   * @param circles
   */
  public void confirmRequest(PersonInfo sender, String passphrase, List<String> circles)
      throws TokenCipher.WrongPassphraseException {
    if (sender == null || circles == null) {
      throw new NullPointerException();
    }

    try {
      mTable.confirmRequest(sender.getIdentifier(), passphrase);
    } catch (GeneralSecurityException e) {
      Log.e(TAG, "Decypher error:", e);
      return;
    }

    for (String circle : circles) {
      addPersontoCircle(sender.getIdentifier(), circle);
    }
  }
  /**
   * 把网页Html代码转换为PersonInfo对象
   *
   * @param doc
   * @return
   */
  private PersonInfo convertDoc2PersonInfo(Document doc) {
    PersonInfo info = new PersonInfo();
    if (doc == null) {
      return null;
    }

    Elements obssinHtml = doc.select("div[class=\"obssin\"");

    // 用户id
    info.setUserId(id);
    // 用户主页url
    info.setHomePageUrl(url);

    // 关注的人数
    String fellowPeopleNum = getFellowPeopleNum(doc);
    info.setFellowPeopleNum(fellowPeopleNum);
    if (fellowPeopleNum == null) {
      logger.infoLog("User:"******": empty fellow people");
    }

    // 被关注的人数
    String fellowedPeopleNum = getFellowedPeopleNum(doc);
    info.setFellowedPeopleNum(fellowedPeopleNum);
    if (fellowedPeopleNum == null) {
      logger.infoLog("User:"******": empty fellowed people");
    }

    // 常去的小组
    List<String> oftenGroup = getOftenGroup(doc);
    info.setOftenGroup(oftenGroup);
    if (oftenGroup == null) {
      logger.infoLog("User:"******": empty often group");
    }

    // 获取在读的书列表
    List<String> readingBook = getReadingBook(obssinHtml);
    info.setReadingBook(readingBook);
    if (readingBook == null) {
      logger.infoLog("User:"******": empty reading book");
    }

    // 获取想读的书列表
    List<String> wantBook = getWantBook(obssinHtml);
    info.setWantBook(wantBook);
    if (wantBook == null) {
      logger.infoLog("User:"******": empty want book");
    }

    // 想看的电影
    List<String> wantMovie = getWantMovie(obssinHtml);
    info.setWantMovie(wantMovie);
    if (wantMovie == null) {
      logger.infoLog("User:"******": empty want movie");
    }

    // 看过的电影
    List<String> watchedMovie = getWatchedMovie(obssinHtml);
    info.setWatchedMovie(watchedMovie);
    if (watchedMovie == null) {
      logger.infoLog("User:"******": empty watched movie");
    }

    // 在听的歌
    List<String> listeningMusic = getListeningMusic(obssinHtml);
    info.setListeningMusic(listeningMusic);
    if (listeningMusic == null) {
      logger.infoLog("User:"******": empty listening music");
    }

    // 想听的歌
    List<String> wantMusic = getWantMusic(obssinHtml);
    info.setWantMusic(wantMusic);
    if (wantMusic == null) {
      logger.infoLog("User:"******": empty want music");
    }

    // 加入时间
    String joinDate = getJoinDate(doc);
    info.setJoinDate(joinDate);
    if (joinDate == null) {
      logger.infoLog("User:"******": empty join date");
    }
    // 性别(暂时无法获取,设置默认值)
    info.setSex("n");
    // 年龄(暂时无法获取,设置默认值)
    info.setAge("0");
    // 姓名
    String name = getName(doc);
    info.setUserName(name);
    if (name == null) {
      logger.infoLog("User:"******": empty name");
    }

    return info;
  }
示例#5
0
 public boolean removePersonFromGroup(PersonInfo contact, String group) {
   return mTable.removePersonFromCircle(contact.getIdentifier(), group);
 }
示例#6
0
 public boolean addPersonToGroup(PersonInfo contact, String group) {
   return mTable.addPersonToCircle(contact.getIdentifier(), group);
 }
示例#7
0
 public void deletePerson(PersonInfo person) {
   mTable.deleteEntryOf(person.getIdentifier());
 }