コード例 #1
0
  private void importIdentity(
      boolean ownIdentity,
      String identityID,
      String requestURI,
      String insertURI,
      String nickname) {
    synchronized (mFreetalk.getTaskManager()) {
      synchronized (db.lock()) {
        try {
          Logger.normal(this, "Importing identity from WoT: " + requestURI);
          final WoTIdentity id =
              ownIdentity
                  ? new WoTOwnIdentity(
                      identityID, new FreenetURI(requestURI), new FreenetURI(insertURI), nickname)
                  : new WoTIdentity(identityID, new FreenetURI(requestURI), nickname);

          id.initializeTransient(mFreetalk);
          id.storeWithoutCommit();

          onNewIdentityAdded(id);

          if (ownIdentity) onNewOwnIdentityAdded((WoTOwnIdentity) id);

          id.checkedCommit(this);
        } catch (Exception e) {
          Persistent.checkedRollbackAndThrow(db, this, new RuntimeException(e));
        }
      }
    }
  }