コード例 #1
0
  @Override
  public Set<UserRole> getUserRoles(String sessID, String user)
      throws RemoteException, SessionExpiredException, SQLException, SecurityException {
    String thisUser = SessionManager.getInstance().getUserForSession(sessID);
    String thisDatabase = SessionManager.getInstance().getDatabaseForSession(sessID);

    // check that this user ibelongs to this database
    if (!isUserOfThisDatabase(sessID)) {
      LOG.error(
          "User "
              + thisUser
              + " is not a member of the database "
              + thisDatabase
              + ", and can't query roles for user "
              + user);
      throw new SecurityException(
          "Can't get roles for user "
              + user
              + " on this database.  User making request is not a user of this database.");
    }
    // Check that this user is either requesting his own roles, OR is an administrator.
    if (user.equals(thisUser) || isAdmin(sessID)) {
      // ok to proceed
      return getRolesForUser(sessID, user);
    } else {
      String err =
          "User "
              + user
              + " does not have administrative permission to request roles available for user "
              + user;
      LOG.error(err);
      throw new SecurityException(err);
    }
  }
コード例 #2
0
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.sendcode_screen);
    setTitle(LOG_TAG);

    serverProvider = new ServerProvider(this);
    SessionManager.init(this);
    SessionManager.readSession();
    BookManager.BuildBook(getResources().openRawResource(R.raw.json));

    if (SessionManager.getS().isAuthKeyOk()) {
      Log.i(LOG_TAG, "auth_key loaded from preferences.");
    } else {
      Log.i(LOG_TAG, "Generating new Auth key...");

      new AuthKeyGenerator().execute();
    }

    sendCodeButton = (Button) findViewById(R.id.button222);
    sendCodeButton.setOnClickListener(sendCodeButtonClickListener);

    tel1Text = (EditText) findViewById(R.id.tel1);
    tel2Text = (EditText) findViewById(R.id.tel2);
    control = IMControl.getInstance();
    control.setServer(serverProvider.getServerInfo());

    connectAction();
  }
コード例 #3
0
ファイル: SessionTest.java プロジェクト: psiroky/jbpm
  public void testNewSessionFailBefore() throws Exception {
    KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
    kbuilder.add(ResourceFactory.newClassPathResource("sampleFailBefore.bpmn"), ResourceType.BPMN2);
    KnowledgeBase kbase = kbuilder.newKnowledgeBase();
    SessionManagerFactory factory = new NewSessionSessionManagerFactory(kbase);
    SessionManager sessionManager = factory.getSessionManager();

    try {
      ProcessInstance processInstance =
          sessionManager.getKnowledgeSession().startProcess("com.sample.bpmn.hello", null);
      fail("Started process instance " + processInstance.getId());
    } catch (RuntimeException e) {
      // do nothing
    }

    // TODO: whenever transaction fails, do we need to dispose? can we?
    // sessionManager.dispose();

    List<Status> statusses = new ArrayList<Status>();
    statusses.add(Status.Reserved);

    sessionManager = factory.getSessionManager();
    List<TaskSummary> tasks =
        sessionManager.getTaskService().getTasksAssignedAsPotentialOwner("mary", "en-UK");
    assertEquals(0, tasks.size());

    sessionManager.dispose();
    factory.dispose();
  }
コード例 #4
0
  public void logOut() {
    session.logOut();

    Log.i("Manager Login status after logout::", Boolean.toString(session.isLoggedIn()));
    Intent intent = new Intent(getApplicationContext(), LoginPage.class);
    startActivity(intent);
  }
コード例 #5
0
  @Route(method = HttpRequest.Method.POST, urlPattern = "/register")
  public HttpResponse register(
      HttpRequest request,
      @Param("name") String name,
      @Param("surname") String surname,
      @Param("email") String email,
      @Param("password") String password) {

    User user = new User(DB.getInstance().getNewId(), name, surname, email, password);
    DB.getInstance().addUser(user);

    HttpResponse response = new HttpResponse("Successfully created an user", 200);

    Cookie c = new Cookie("auth", request);
    response.addCookie(c);

    String sessionId = SessionManager.getSessionIdForRequest(request);
    SessionManager.getInstance().addSession(sessionId, new Integer(user.id));

    try {
      String body = TemplateProcessor.process("profile.html", user.getJsonData().build());
      response.setBody(body);
    } catch (IOException e) {
      response.setStatusCode(500);
    }

    return response;
  }
コード例 #6
0
  public void performCRUDTest(String objectTypeName) throws Exception {
    try {
      s_log.info("CRUDTest on " + objectTypeName);
      DataObject object = SessionManager.getSession().create(objectTypeName);
      reportPropertyTypes(object);

      initializeObject(object, null);
      OID id = object.getOID();
      s_log.info("Initialized object with id: " + id);
      object.save();
      object = SessionManager.getSession().retrieve(id);
      Assert.assertNotNull(
          object, "Object of type: " + objectTypeName + "and id: " + id + " was not found!");
      checkDefaultValues(object);

      checkUpdates(object, null);
      deleteObject(id);

    } catch (Exception e) {
      s_log.info("END CRUDTest on " + objectTypeName + " With error!");
      s_log.info(e.getMessage());
      s_log.info("");
      s_log.info("");
      throw e;
    }

    s_log.info("END CRUDTest on " + objectTypeName);
    s_log.info("");
    s_log.info("");
  }
コード例 #7
0
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_user_activities);
    findID();

    SessionManager sessionManager = new SessionManager(this);
    HashMap<String, String> emailid = sessionManager.getUserDetails();
    aciviityuserId = emailid.get(SessionManager.KEY_EMAIL);

    activitysearch_url =
        "http://rsmile.quaeretech.com/RealtorSmile.svc/GetContactRecords/" + aciviityuserId;
    new ActitivityAsyncTask().execute(activitysearch_url);

    if (isNotAdded) {
      checkBox_header1.setOnClickListener(
          new View.OnClickListener() {

            @Override
            public void onClick(View v) {
              for (int i = 0; i < activitycustomSearchlist.size(); i++) {
                mChecked.put(i, checkBox_header1.isChecked());
              }
              activityadapter.notifyDataSetChanged();
            }
          });
      isNotAdded = false;
    }
  }
コード例 #8
0
ファイル: SessionTest.java プロジェクト: psiroky/jbpm
  public void testNewSessionDispose() throws Exception {
    KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
    kbuilder.add(ResourceFactory.newClassPathResource("sample.bpmn"), ResourceType.BPMN2);
    KnowledgeBase kbase = kbuilder.newKnowledgeBase();
    SessionManagerFactory factory = new NewSessionSessionManagerFactory(kbase);
    final SessionManager sessionManager = factory.getSessionManager();
    UserTransaction ut = (UserTransaction) new InitialContext().lookup("java:comp/UserTransaction");
    ut.begin();
    sessionManager.getKnowledgeSession().startProcess("com.sample.bpmn.hello", null);
    TransactionManagerServices.getTransactionManager()
        .getTransaction()
        .registerSynchronization(
            new Synchronization() {
              public void beforeCompletion() {}

              public void afterCompletion(int status) {
                try {
                  sessionManager.dispose();
                } catch (Exception e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
                }
              }
            });
    ut.commit();
    factory.dispose();
  }
コード例 #9
0
  public void run() {
    Log.d(logTag, "Receiver started");
    receiverThread = Thread.currentThread();
    while (true) {
      try {

        if (connection != null) {
          Log.d(logTag, "Waiting for message from PCF...");
          final Message result = connection.receive().await();
          if (result != null) {
            Log.d(logTag, "Received message from PCF: " + new String(result.getPayload()));
            SessionManager.handlePatientResults(new String(result.getPayload()));
          }
        }

      } catch (Exception e) {
        if (die.get()) {
          // user initiated disconnect
          die.set(false);
        } else {
          // unexpected failure
          SessionManager.connectionFailure(host);
        }
        break;
      }
    }
    try {
      connection.disconnect().await();
      Log.d(logTag, "Receiver stopped");
    } catch (Exception e) {
      Log.e(logTag, e.getMessage());
    }
  }
コード例 #10
0
ファイル: DaoTeam.java プロジェクト: jaksco/bloatit
  public PageIterable<DaoUserContent> getHistory() {
    final Query query = SessionManager.getNamedQuery("team.getHistory");
    final Query size = SessionManager.getNamedQuery("team.getHistory.size");

    final QueryCollection<DaoUserContent> q = new QueryCollection<DaoUserContent>(query, size);
    q.setEntity("team", this);
    return q;
  }
コード例 #11
0
 @Before
 public void setUp() {
   SessionManager s = new SessionManager();
   User user = new User("Hue", "1234", "admin");
   String token = s.authenticate("Hue", "1234");
   session = new Session(user, token);
   expiredSession = new Session(user, token, -1);
 }
コード例 #12
0
  @Test
  public void session() throws Exception {
    Client c = new Client();

    Server<Object> s = new Server<Object>(TEST_AUTHENTICATOR, TEST_MANAGER);
    assertEquals(TEST_AUTHENTICATOR, s.getAuthenticator());

    try {
      c.assertValidSession();
      fail();
    } catch (I18NException ex) {
      assertEquals(Messages.NOT_LOGGED_IN, ex.getI18NBoundMessage());
    }

    c.login(TEST_USER, TEST_PASSWORD);
    SessionId id = c.getSessionId();
    assertNotNull(id);
    assertEquals(id, c.getContext().getSessionId());
    assertEquals(TEST_USER, TEST_MANAGER.get(id).getUser());

    try {
      c.login(TEST_USER, TEST_PASSWORD);
      fail();
    } catch (I18NException ex) {
      assertEquals(Messages.ALREADY_LOGGED_IN, ex.getI18NBoundMessage());
    }

    assertEquals(id, c.getSessionId());
    assertEquals(TEST_USER, TEST_MANAGER.get(id).getUser());

    c.logout();
    assertNull(c.getSessionId());
    assertNull(c.getContext().getSessionId());
    assertNull(TEST_MANAGER.get(id));

    try {
      c.login(TEST_USER_D, TEST_PASSWORD);
      fail();
    } catch (RemoteException ex) {
      assertEquals(Messages.BAD_CREDENTIALS, ((I18NException) ex.getCause()).getI18NBoundMessage());
    }
    assertNull(c.getSessionId());

    c.logout();

    s.stop();
    try {
      c.login(TEST_USER, TEST_PASSWORD);
      fail();
    } catch (WebServiceException ex) {
      // Desired.
    }
  }
コード例 #13
0
 public static DaoVersionedString createAndPersist(final String content, final DaoMember author) {
   final Session session = SessionManager.getSessionFactory().getCurrentSession();
   final DaoVersionedString bug = new DaoVersionedString(content, author);
   try {
     session.save(bug);
   } catch (final HibernateException e) {
     session.getTransaction().rollback();
     SessionManager.getSessionFactory().getCurrentSession().beginTransaction();
     throw e;
   }
   return bug;
 }
コード例 #14
0
  private void logoutUser() {
    session.setLogin(false);
    session.setEmail(null);
    session.setPublics(null);
    session.setUsername(null);
    session.setId(null);

    // Launching the login activity
    Intent intent = new Intent(Register.this, Accueil.class);
    startActivity(intent);
    finish();
  }
コード例 #15
0
ファイル: SessionTest.java プロジェクト: psiroky/jbpm
 private void testStartProcess(SessionManagerFactory factory) throws Exception {
   SessionManager sessionManager = factory.getSessionManager();
   long taskId;
   synchronized (
       (SingleSessionCommandService)
           ((CommandBasedStatefulKnowledgeSession) sessionManager.getKnowledgeSession())
               .getCommandService()) {
     UserTransaction ut =
         (UserTransaction) new InitialContext().lookup("java:comp/UserTransaction");
     ut.begin();
     System.out.println(
         "Starting process on ksession " + sessionManager.getKnowledgeSession().getId());
     ProcessInstance processInstance =
         sessionManager.getKnowledgeSession().startProcess("com.sample.bpmn.hello", null);
     System.out.println(
         "Started process instance "
             + processInstance.getId()
             + " on ksession "
             + sessionManager.getKnowledgeSession().getId());
     long workItemId =
         ((HumanTaskNodeInstance)
                 ((WorkflowProcessInstance) processInstance).getNodeInstances().iterator().next())
             .getWorkItemId();
     taskId = sessionManager.getTaskService().getTaskByWorkItemId(workItemId).getId();
     System.out.println("Created task " + taskId);
     ut.commit();
   }
   sessionManager.getTaskService().claim(taskId, "mary");
   sessionManager.dispose();
 }
コード例 #16
0
ファイル: SessionTest.java プロジェクト: psiroky/jbpm
 public void testSingletonSessionMemory() throws Exception {
   for (int i = 0; i < 1000; i++) {
     KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
     kbuilder.add(ResourceFactory.newClassPathResource("sample.bpmn"), ResourceType.BPMN2);
     KnowledgeBase kbase = kbuilder.newKnowledgeBase();
     SessionManagerFactory factory = new SingletonSessionManagerFactory(kbase);
     SessionManager sessionManager = factory.getSessionManager();
     sessionManager.dispose();
     factory.dispose();
     System.gc();
     Thread.sleep(100);
     System.gc();
     System.out.println(Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory());
   }
 }
コード例 #17
0
ファイル: DaoTeam.java プロジェクト: jaksco/bloatit
 /** @return all the member in this team. (Use a HQL query). */
 public PageIterable<DaoMember> getMembers() {
   final Session session = SessionManager.getSessionFactory().getCurrentSession();
   final Query filter =
       session.createFilter(getTeamMembership(), "select this.member order by login");
   final Query count = session.createFilter(getTeamMembership(), "select count(*)");
   return new QueryCollection<DaoMember>(filter, count);
 }
コード例 #18
0
 @Override
 public Set<UserRole> getAllRoles(String sessID)
     throws RemoteException, SQLException, SecurityException, SessionExpiredException {
   String thisDatabase = SessionManager.getInstance().getDatabaseForSession(sessID);
   TableSchema roleTable = MedSavantDatabase.UserRoleTableSchema;
   SelectQuery sq = new SelectQuery();
   sq.addFromTable(roleTable.getTable());
   sq.addColumns(
       roleTable.getDBColumn(MedSavantDatabase.UserRoleTableSchema.COLUMNNAME_OF_ID),
       roleTable.getDBColumn(MedSavantDatabase.UserRoleTableSchema.COLUMNNAME_OF_ROLENAME),
       roleTable.getDBColumn(
           MedSavantDatabase.UserRoleTableSchema.COLUMNNAME_OF_ROLE_DESCRIPTION));
   sq.setIsDistinct(true);
   ResultSet rs = null;
   try {
     rs = ConnectionController.executeQuery(sessID, sq.toString());
     Set<UserRole> roleSet = new TreeSet<UserRole>();
     while (rs.next()) {
       int roleId = rs.getInt(1);
       String roleName = rs.getString(2);
       String roleDescription = rs.getString(3);
       roleSet.add(new UserRole(roleId, roleName, roleDescription, thisDatabase));
     }
     return roleSet;
   } finally {
     if (rs != null) {
       rs.close();
     }
   }
 }
コード例 #19
0
  public synchronized void invalidate() {
    checkValidSession();

    sessionManager.inValidateSession(id);
    isValid = false;
    values.clear();
  }
コード例 #20
0
  public static ArrayList<byte[]> createReqSmsMessage(Contact contact)
      throws FailedToSendSessionRequestException {
    final int MAX_REQUEST_LENGTH = 256;
    final int REQUEST_SMS_LENGTH = 128;

    try {
      byte[] request = SessionManager.generateSessionRequest(contact);

      if (request.length != MAX_REQUEST_LENGTH)
        throw new FailedToSendSessionRequestException("Request length is not standard");

      byte[] firstMessage = Arrays.copyOfRange(request, 0, REQUEST_SMS_LENGTH);
      byte[] secondMessage = Arrays.copyOfRange(request, REQUEST_SMS_LENGTH, request.length);

      byte[] firstType = new byte[1];
      firstType[0] = (byte) SmsMessage.Type.RequestFirstSMS.ordinal();
      byte[] secondType = new byte[1];
      secondType[0] = (byte) SmsMessage.Type.RequestSecondSMS.ordinal();

      ArrayList<byte[]> partialRequests = new ArrayList<byte[]>(2);
      partialRequests.add(Arrays.concatenate(firstType, firstMessage));
      partialRequests.add(Arrays.concatenate(secondType, secondMessage));

      return partialRequests;

    } catch (FailedToGenerateSessionRequestException e) {
      throw new FailedToSendSessionRequestException("Failed to send the session request sms");
    }
  }
コード例 #21
0
 @Override
 public UserRole getRoleByName(String sessID, String roleName)
     throws RemoteException, SessionExpiredException, SQLException {
   String thisDatabase = SessionManager.getInstance().getDatabaseForSession(sessID);
   TableSchema roleTable = MedSavantDatabase.UserRoleTableSchema;
   SelectQuery sq = new SelectQuery();
   sq.addFromTable(roleTable.getTable());
   sq.addAllColumns();
   sq.addCondition(
       BinaryCondition.equalTo(
           roleTable.getDBColumn(MedSavantDatabase.UserRoleTableSchema.COLUMNNAME_OF_ROLENAME),
           roleName));
   ResultSet rs = null;
   try {
     rs = ConnectionController.executeQuery(sessID, sq.toString());
     if (rs.next()) {
       int roleId = rs.getInt(1);
       String name = rs.getString(2);
       String roleDescription = rs.getString(3);
       return new UserRole(roleId, name, roleDescription, thisDatabase);
     }
     return null;
   } finally {
     if (rs != null) {
       rs.close();
     }
   }
 }
コード例 #22
0
ファイル: ViewProxy.java プロジェクト: zspotter/Abalone
    @Override
    public void run() {
      try {
        while (true) {
          // Get next message from client.
          Object msg = _in.readObject();

          // If this client hasn't joined the game yet, only accept
          // join requests.
          if (_viewListener == null) {
            if (msg instanceof RequestJoin) {
              SessionManager.joinGame(ViewProxy.this, ((RequestJoin) msg).getGameId());
            }
            // Skip other message checks.
            continue;
          }

          // Listen for only AbaloneMessage's
          if (!(msg instanceof AbaloneMessage)) continue;

          if (msg instanceof RequestMove) {
            _viewListener.requestMove((RequestMove) msg);
          } else if (msg instanceof RequestLeave) {
            _viewListener.leaveGame();
          }
        }
      } catch (IOException e) {
      } catch (ClassNotFoundException e) {
      } finally {
        if (_viewListener != null) _viewListener.leaveGame();
      }
    }
コード例 #23
0
 @Override
 public UserLevel getSessionUsersLevel(String sessID)
     throws SQLException, RemoteException, SessionExpiredException {
   // username for this session
   String name = SessionManager.getInstance().getUserForSession(sessID);
   return getUserLevel(sessID, name);
 }
コード例 #24
0
  /**
   * Opens this database. The database should be opened after construction. or reopened by the
   * close(int closemode) method during a "shutdown compact". Closes the log if there is an error.
   */
  void reopen() {

    boolean isNew = false;

    setState(DATABASE_OPENING);

    try {
      nameManager = new HsqlNameManager(this);
      granteeManager = new GranteeManager(this);
      userManager = new UserManager(this);
      schemaManager = new SchemaManager(this);
      persistentStoreCollection = new PersistentStoreCollectionDatabase(this);
      isReferentialIntegrity = true;
      sessionManager = new SessionManager(this);
      collation = collation.newDatabaseInstance();
      dbInfo = DatabaseInformation.newDatabaseInformation(this);
      txManager = new TransactionManager2PL(this);

      lobManager.createSchema();
      sessionManager.getSysLobSession().setSchema(SqlInvariants.LOBS_SCHEMA);
      schemaManager.setSchemaChangeTimestamp();
      schemaManager.createSystemTables();

      // completed metadata
      logger.open();

      isNew = logger.isNewDatabase;

      if (isNew) {
        String username = urlProperties.getProperty("user", "SA");
        String password = urlProperties.getProperty("password", "");

        userManager.createFirstUser(username, password);
        schemaManager.createPublicSchema();
        logger.checkpoint(false);
      }

      lobManager.open();
      dbInfo.setWithContent(true);

      checkpointRunner = new CheckpointRunner();
      timeoutRunner = new TimeoutRunner();
    } catch (Throwable e) {
      logger.close(Database.CLOSEMODE_IMMEDIATELY);
      logger.releaseLock();
      setState(DATABASE_SHUTDOWN);
      clearStructures();
      DatabaseManager.removeDatabase(this);

      if (!(e instanceof HsqlException)) {
        e = Error.error(ErrorCode.GENERAL_ERROR, e);
      }

      logger.logSevereEvent("could not reopen database", e);

      throw (HsqlException) e;
    }

    setState(DATABASE_ONLINE);
  }
コード例 #25
0
ファイル: AuthHelper.java プロジェクト: Gapelia/stage1
 public static boolean isSessionAvailable(HttpServletRequest request) {
   if ("true".equals((String) request.getSession().getAttribute("login"))) return true;
   Cookie[] cookies = request.getCookies();
   if (null == cookies) {
     return false;
   }
   for (Cookie cookie : cookies) {
     if ("JSESSIONID".equals(cookie.getName())) {
       String sessionId = cookie.getValue();
       HttpSession oldSession = SessionManager.find(sessionId);
       HttpSession newSession = request.getSession();
       boolean previousLogin = false;
       if (null != oldSession && null != oldSession.getAttribute("profile")) {
         newSession.setAttribute("profile", oldSession.getAttribute("profile"));
       }
       if (null != oldSession && null != oldSession.getAttribute("login")) {
         newSession.setAttribute("login", oldSession.getAttribute("login"));
         previousLogin = true;
       }
       if (previousLogin) {
         return true;
       }
       break;
     }
   }
   return false;
 }
コード例 #26
0
  /**
   * Closes this Database using the specified mode.
   *
   * <p>
   *
   * <ol>
   *   <LI>closemode -1 performs SHUTDOWN IMMEDIATELY, equivalent to a poweroff or crash.
   *   <LI>closemode 0 performs a normal SHUTDOWN that checkpoints the database normally.
   *   <LI>closemode 1 performs a shutdown compact that scripts out the contents of any CACHED
   *       tables to the log then deletes the existing *.data file that contains the data for all
   *       CACHED table before the normal checkpoint process which in turn creates a new, compact
   *       *.data file.
   * </ol>
   */
  public void close(int closemode) {

    HsqlException he = null;

    setState(DATABASE_CLOSING);
    sessionManager.closeAllSessions();
    sessionManager.clearAll();

    if (filesReadOnly) {
      closemode = CLOSEMODE_IMMEDIATELY;
    }

    /**
     * @todo fredt - impact of possible error conditions in closing the log should be investigated
     *     for the CLOSEMODE_COMPACT mode
     */
    logger.closePersistence(closemode);
    lobManager.close();

    try {
      if (closemode == CLOSEMODE_COMPACT) {
        clearStructures();
        reopen();
        setState(DATABASE_CLOSING);
        logger.closePersistence(CLOSEMODE_NORMAL);
      }
    } catch (Throwable t) {
      if (t instanceof HsqlException) {
        he = (HsqlException) t;
      } else {
        he = Error.error(ErrorCode.GENERAL_ERROR, t.toString());
      }
    }

    logger.releaseLock();
    setState(DATABASE_SHUTDOWN);
    clearStructures();

    // fredt - this could change to avoid removing a db from the
    // DatabaseManager repository if there are pending getDatabase()
    // calls
    DatabaseManager.removeDatabase(this);

    if (he != null) {
      throw he;
    }
  }
コード例 #27
0
  /**
   * Opens this database. The database should be opened after construction. or reopened by the
   * close(int closemode) method during a "shutdown compact". Closes the log if there is an error.
   */
  void reopen() throws HsqlException {

    boolean isNew;

    setState(DATABASE_OPENING);

    try {
      databaseProperties = new HsqlDatabaseProperties(this);
      isNew = !DatabaseURL.isFileBasedDatabaseType(sType) || !databaseProperties.checkFileExists();

      if (isNew && urlProperties.isPropertyTrue("ifexists")) {
        throw Trace.error(Trace.DATABASE_NOT_EXISTS, sName);
      }

      databaseProperties.load();
      databaseProperties.setURLProperties(urlProperties);
      compiledStatementManager.reset();

      nameManager = new HsqlNameManager();
      granteeManager = new GranteeManager(this);
      userManager = new UserManager(this);
      hAlias = Library.getAliasMap();
      schemaManager = new SchemaManager(this);
      bReferentialIntegrity = true;
      sessionManager = new SessionManager(this);
      txManager = new TransactionManager(this);
      collation = new Collation();
      dbInfo = DatabaseInformation.newDatabaseInformation(this);

      databaseProperties.setDatabaseVariables();

      if (DatabaseURL.isFileBasedDatabaseType(sType)) {
        logger.openLog(this);
      }

      if (isNew) {
        sessionManager
            .getSysSession()
            .sqlExecuteDirectNoPreChecks("CREATE USER SA PASSWORD \"\" ADMIN");
        logger.synchLogForce();
      }

      dbInfo.setWithContent(true);
    } catch (Throwable e) {
      logger.closeLog(Database.CLOSEMODE_IMMEDIATELY);
      logger.releaseLock();
      setState(DATABASE_SHUTDOWN);
      clearStructures();
      DatabaseManager.removeDatabase(this);

      if (!(e instanceof HsqlException)) {
        e = Trace.error(Trace.GENERAL_ERROR, e.toString());
      }

      throw (HsqlException) e;
    }

    setState(DATABASE_ONLINE);
  }
コード例 #28
0
  @Test
  public void test_serialize_and_restore_wrongkey() throws Exception {
    ClientCredential credential =
        new ClientCredential("ClientCredential#clientId", "ClientCredential#clientSecret");
    ClientCredential wrongCredential =
        new ClientCredential("ClientCredential#clientId", "ClientCredential#clientSecret#wrong");

    GoogleTokenResponse tokenResponse = new GoogleTokenResponse();
    tokenResponse.setAccessToken("accessToken");
    tokenResponse.setRefreshToken("refreshToken");
    tokenResponse.setExpiresInSeconds(3600L);

    String session = SessionManager.serialize(tokenResponse, credential);
    GoogleTokenResponse decoded = SessionManager.restore(session, wrongCredential);

    assertThat(decoded, is(nullValue()));
  }
コード例 #29
0
  private void showAuthToken() {
    if (sessionManager.isLoggedIn()) {
      //        mToken.setText(sessionManager.getCurrentToken());
    } else {

      //      mToken.setText(getString(R.string.no_auth_token));
    }
  }
コード例 #30
0
ファイル: SignInitMethod.java プロジェクト: x-clone/tscrypto
  @Override
  public ResponseMessage execute() {
    SessionManager sm = sessionManager;
    Session session = sm.getSession(sessionHandler);

    if (session == null) {
      return ResponseMessage.ErrorMessage("Bad session handler.");
    }

    Signer signer = session.getSigner();
    try {
      signer.init(this.mechanism, this.privateKeyHandler);
      return ResponseMessage.OKMessage();
    } catch (Exception e) {
      return ResponseMessage.ErrorMessage(e.getLocalizedMessage());
    }
  }