Package com.google.enterprise.connector.util.database

Examples of com.google.enterprise.connector.util.database.JdbcDatabase


    userGroupManager.releaseResources();
    super.tearDown();
  }

  public void testInitializeUserCache() throws Exception {
    JdbcDatabase jdbcDatabase =
        connectorSession.getConnector().getJdbcDatabase();
    assertTrue(jdbcDatabase.verifyTableExists(
            userGroupManager.userTableName, null));
    assertTrue(jdbcDatabase.verifyTableExists(
            userGroupManager.groupTableName, null));
    assertTrue(jdbcDatabase.verifyTableExists(
            userGroupManager.roleTableName, null));
    assertTrue(jdbcDatabase.verifyTableExists(
            userGroupManager.userGroupsTableName, null));
    assertTrue(jdbcDatabase.verifyTableExists(
            userGroupManager.userRolesTableName, null));
    assertTrue(jdbcDatabase.verifyTableExists(
            userGroupManager.groupRolesTableName, null));
    assertTrue(jdbcDatabase.verifyTableExists(
            userGroupManager.groupChildrenTableName, null));
  }
View Full Code Here


    userGroupManager.clearTables(conn);
    userGroupManager.releaseResources();
  }

  public void testDropTables() throws Exception {
    JdbcDatabase jdbcDatabase =
        connectorSession.getConnector().getJdbcDatabase();
    assertTrue(jdbcDatabase.verifyTableExists(
            userGroupManager.userTableName, null));
    assertTrue(jdbcDatabase.verifyTableExists(
            userGroupManager.groupTableName, null));
    assertTrue(jdbcDatabase.verifyTableExists(
            userGroupManager.roleTableName, null));
    assertTrue(jdbcDatabase.verifyTableExists(
            userGroupManager.userGroupsTableName, null));
    assertTrue(jdbcDatabase.verifyTableExists(
            userGroupManager.userRolesTableName, null));
    assertTrue(jdbcDatabase.verifyTableExists(
            userGroupManager.groupRolesTableName, null));
    assertTrue(jdbcDatabase.verifyTableExists(
            userGroupManager.groupChildrenTableName, null));
    userGroupManager.dropTables();
    assertFalse(jdbcDatabase.verifyTableExists(
            userGroupManager.userTableName, null));
    assertFalse(jdbcDatabase.verifyTableExists(
            userGroupManager.groupTableName, null));
    assertFalse(jdbcDatabase.verifyTableExists(
            userGroupManager.roleTableName, null));
    assertFalse(jdbcDatabase.verifyTableExists(
            userGroupManager.userGroupsTableName, null));
    assertFalse(jdbcDatabase.verifyTableExists(
            userGroupManager.userRolesTableName, null));
    assertFalse(jdbcDatabase.verifyTableExists(
            userGroupManager.groupRolesTableName, null));
    assertFalse(jdbcDatabase.verifyTableExists(
            userGroupManager.groupChildrenTableName, null));
    // Re-initialize cache after this test for the tearDown.clearTables
    userGroupManager.initializeUserCache();
  }
View Full Code Here

    // Re-initialize cache after this test for the tearDown.clearTables
    userGroupManager.initializeUserCache();
  }

  public void testInitializeUserCache() throws Exception {
    JdbcDatabase jdbcDatabase =
        connectorSession.getConnector().getJdbcDatabase();
    assertTrue(jdbcDatabase.verifyTableExists(
            userGroupManager.userTableName, null));
    assertTrue(jdbcDatabase.verifyTableExists(
            userGroupManager.groupTableName, null));
    assertTrue(jdbcDatabase.verifyTableExists(
            userGroupManager.roleTableName, null));
    assertTrue(jdbcDatabase.verifyTableExists(
            userGroupManager.userGroupsTableName, null));
    assertTrue(jdbcDatabase.verifyTableExists(
            userGroupManager.userRolesTableName, null));
    assertTrue(jdbcDatabase.verifyTableExists(
            userGroupManager.groupRolesTableName, null));
    assertTrue(jdbcDatabase.verifyTableExists(
            userGroupManager.groupChildrenTableName, null));
  }
View Full Code Here

  public void testAlterColumn() throws Exception {
    String attachmentTable = notesDocManager.attachmentsTableName;
    String alterDdl = "alter table " + attachmentTable
        + " alter column attachment_unid varchar(32)";
   
    JdbcDatabase jdbcDb = connector.getJdbcDatabase();
    Connection conn = null;
    try {
      // Set the column to 32 characters
      conn = jdbcDb.getConnectionPool().getConnection();
      Statement stmt = conn.createStatement();
      stmt.execute(alterDdl);
      stmt.close();
     
      // Check column size
      assertEquals("varchar(32)",
          getColumnType("attachment_unid", attachmentTable, conn));

      // Run or initialize the NotesDocumentManager
      notesDocManager = new NotesDocumentManager(connectorSession);

      // Check for column size
      assertEquals("varchar(40)",
          getColumnType("attachment_unid", attachmentTable, conn));
    } finally {
      jdbcDb.getConnectionPool().releaseConnection(conn);
    }
  }
View Full Code Here

    }

    LOGGER.logp(Level.CONFIG, CLASS_NAME, METHOD,
        "Connector config databaseAccess = " + connectorPersistentStore);
    this.connectorPersistentStore = connectorPersistentStore;
    this.jdbcDatabase = new JdbcDatabase(
        connectorPersistentStore.getLocalDatabase().getDataSource());
  }
View Full Code Here

  NotesUserGroupManager(NotesConnectorSession connectorSession)
      throws RepositoryException {
    this.connectorSession = connectorSession;
    this.notesDomainNames = new NotesDomainNames();
    JdbcDatabase jdbcDatabase =
        connectorSession.getConnector().getJdbcDatabase();
    String connectorName =
        connectorSession.getConnector().getGoogleConnectorName();
    userTableName = jdbcDatabase.makeTableName("users_", connectorName);
    groupTableName = jdbcDatabase.makeTableName("groups_", connectorName);
    roleTableName = jdbcDatabase.makeTableName("roles_", connectorName);
    userGroupsTableName =
        jdbcDatabase.makeTableName("usergroups_", connectorName);
    userRolesTableName =
        jdbcDatabase.makeTableName("userroles_", connectorName);
    groupRolesTableName =
        jdbcDatabase.makeTableName("grouproles_", connectorName);
    groupChildrenTableName =
        jdbcDatabase.makeTableName("groupchildren_", connectorName);
    LOGGER.logp(Level.FINEST, CLASS_NAME, "<init>",
        "Tables:"
        + "\nuser: " + userTableName
        + "\ngroup: " + groupTableName
        + "\nrole: " + roleTableName
View Full Code Here

  @VisibleForTesting
  void initializeUserCache() throws RepositoryException {
    final String METHOD = "initializeUserCache";
   
    Connection conn = null;
    JdbcDatabase jdbcDatabase =
        connectorSession.getConnector().getJdbcDatabase();
    try {
      conn = jdbcDatabase.getConnectionPool().getConnection();
      // Notes user names don't have a simple defined max
      // size. There are limits for each component (name, org
      // unit, org). For now, we're going with "as big as a
      // varchar can be".
      jdbcDatabase.verifyTableExists(userTableName, new String[] {
          "create table " + userTableName
          + " (userid long auto_increment primary key,"
          + " gsaname varchar(128), notesname varchar(254))"});
      LOGGER.logp(Level.INFO, CLASS_NAME, METHOD,
          "Created/verified table: " + userTableName);
      Util.executeStatements(conn, true, new String[] {
          "create index if not exists idx_gsaname_" + userTableName
          + " on " + userTableName + "(gsaname)",
          "create index if not exists idx_notesname_" + userTableName
          + " on " + userTableName + "(notesname)"});
      LOGGER.logp(Level.INFO, CLASS_NAME, METHOD,
          "Created/verified index: idx_gsaname_" + userTableName + " and "
          + " idx_notesname_" + userTableName);

      // Group names have a max size of 63, but we also create
      // groups based on DN components, so make the groupname
      // field larger than would otherwise be needed.
      jdbcDatabase.verifyTableExists(groupTableName, new String[] {
          "create table " + groupTableName
          + " (groupid long auto_increment primary key,"
          + " groupname varchar(254), pseudogroup boolean)"});
      LOGGER.logp(Level.INFO, CLASS_NAME, METHOD,
          "Created/verified table: " + groupTableName);
      Util.executeStatements(conn, true,
          "create index if not exists idx_groupname_groups on "
          + groupTableName + "(groupname)");
      LOGGER.logp(Level.INFO, CLASS_NAME, METHOD,
          "Created/verified index: idx_groupname_groups on " + groupTableName);

      // Role names have a max size of 15.
      jdbcDatabase.verifyTableExists(roleTableName, new String[] {
          "create table " + roleTableName
          + " (roleid long auto_increment primary key,"
          + " rolename varchar(32), replicaid varchar(32))"});
      LOGGER.logp(Level.INFO, CLASS_NAME, METHOD,
          "Created/verified table: " + roleTableName);
      Util.executeStatements(conn, true,
          "create index if not exists idx_rolename_roles on "
          + roleTableName + "(rolename)",
          "create index if not exists idx_replicaid_roles on "
          + roleTableName + "(replicaid)");
      LOGGER.logp(Level.INFO, CLASS_NAME, METHOD, "Created/verified indexes: "
          + "idx_rolename_roles and idx_replicaid_roles on " + roleTableName);

      jdbcDatabase.verifyTableExists(userGroupsTableName, new String[] {
          "create table " + userGroupsTableName + " (userid long,"
          + " groupid long)"});
      LOGGER.logp(Level.INFO, CLASS_NAME, METHOD,
          "Created/verified table: " + userGroupsTableName);
      Util.executeStatements(conn, true,
          "create index if not exists idx_userid_usergroups on "
          + userGroupsTableName + "(userid)",
          "create index if not exists idx_groupid_usergroups on "
          + userGroupsTableName + "(groupid)");
      LOGGER.logp(Level.INFO, CLASS_NAME, METHOD, "Created/verified indexes: "
          + "idx_userid_usergroups and idx_groupid_usergroups on "
          + userGroupsTableName);

      jdbcDatabase.verifyTableExists(userRolesTableName, new String[] {
          "create table " + userRolesTableName + " (userid long, "
          + "roleid long)"});
      LOGGER.logp(Level.INFO, CLASS_NAME, METHOD,
          "Created/verified table: " + userRolesTableName);
      Util.executeStatements(conn, true,
          "create index if not exists idx_userid_userroles on "
          + userRolesTableName + "(userid)",
          "create index if not exists idx_roleid_userroles on "
          + userRolesTableName + "(roleid)");
      LOGGER.logp(Level.INFO, CLASS_NAME, METHOD, "Created/verified indexes: "
          + "idx_userid_userroles and idx_roleid_userroles on "
          + userRolesTableName);

      jdbcDatabase.verifyTableExists(groupRolesTableName, new String[] {
          "create table " + groupRolesTableName + " (groupid long,"
          + " roleid long)"});
      LOGGER.logp(Level.INFO, CLASS_NAME, METHOD,
          "Created/verified table: " + groupRolesTableName);
      Util.executeStatements(conn, true,
          "create index if not exists idx_groupid_grouproles on "
          + groupRolesTableName + "(groupid)",
          "create index if not exists idx_roleid_grouproles on "
          + groupRolesTableName + "(roleid)");
      LOGGER.logp(Level.INFO, CLASS_NAME, METHOD, "Created/verified indexes: "
          + "idx_groupid_grouproles and idx_roleid_grouproles on "
          + groupRolesTableName);

      jdbcDatabase.verifyTableExists(groupChildrenTableName, new String[] {
          "create table " + groupChildrenTableName + " (parentgroupid long,"
          + " childgroupid long)"});
      LOGGER.logp(Level.INFO, CLASS_NAME, METHOD,
          "Created/verified table: " + groupChildrenTableName);
      Util.executeStatements(conn, true,
          "create index if not exists idx_parentgroupid_groupchildren on "
          + groupChildrenTableName + "(parentgroupid)",
          "create index if not exists idx_childgroupid_groupchildren on "
          + groupChildrenTableName + "(childgroupid)");
      LOGGER.logp(Level.INFO, CLASS_NAME, METHOD, "Created/verified indexes: "
          + "idx_parentgroupid_groupchildren and idx_childgroupid_groupchildren"
          + " on " + groupChildrenTableName);
    } catch (Exception e) {
      LOGGER.logp(Level.SEVERE, CLASS_NAME, METHOD,
          "Failed to initialize user cache", e);
      throw new RepositoryException("Failed to initialize user cache", e);
    } finally {
      if (conn != null) {
        jdbcDatabase.getConnectionPool().releaseConnection(conn);
      }
    }
  }
View Full Code Here

  }

  /** Test broken databaseAccess. */
  public void testBadDatabaseAccess() throws Exception {
    cpsFactory = new ConnectorPersistentStoreFactory(
        new JdbcDatabase(new FakeDataSource("Fake")));

    fromDirectoryTest("fred",
        "testdata/connectorInstanceTests/default",
        "testdata/connectorTypeTests/default/connectorType.xml",
        SQLException.class, "Fake JDBC DataSource has not been configured.");
View Full Code Here

    JdbcDataSource ds = new JdbcDataSource();
    ds.setURL("jdbc:h2:mem:testdb");
    ds.setUser("sa");
    ds.setPassword("sa");
    dataSource = ds;
    jdbcDatabase = new JdbcDatabase(ds);

    store = new JdbcStore();
    ((JdbcStore) store).setDatabase(jdbcDatabase);
    ((JdbcStore) store).setResourceClassLoader(new TestClassLoader());
  }
View Full Code Here

  /**
   * Test newConnectorPersistentStore.
   */
  public void testNewConnectorPersistentStore() throws Exception {
    JdbcDatabase database = new TestJdbcDatabase();
    ConnectorPersistentStoreFactory factory =
        new ConnectorPersistentStoreFactory(database);

    ConnectorPersistentStore cpStore =
        factory.newConnectorPersistentStore("test", "TestConnectorA", null);
    assertNotNull(cpStore);

    LocalDatabase localDb = cpStore.getLocalDatabase();
    assertNotNull(localDb);
    assertSame(database.getDataSource(), localDb.getDataSource());
    assertEquals(database.getDatabaseType(), localDb.getDatabaseType());

    assertNull(cpStore.getLocalDocumentStore());
  }
View Full Code Here

TOP

Related Classes of com.google.enterprise.connector.util.database.JdbcDatabase

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.