Package org.hivedb.meta

Examples of org.hivedb.meta.Node


  }

  private Map<Integer, SessionFactory> buildSessionFactoryMap(ShardedSessionFactory factory, Collection<Node> nodes) {
    Map<Integer, SessionFactory> factoryMap = new HashMap<Integer, SessionFactory>();
    for(SessionFactory f : factory.getSessionFactories()) {
      Node node = matchNodeToFactoryUrl(extractFactoryURL(f), nodes);
      factoryMap.put(node.getId(), f);
    }
    return factoryMap;
  }
View Full Code Here


    index.setResource(createResource());
    return index;
  }

  protected Node createNode(String name) {
    return new Node(0, name, name, "", HiveDbDialect.H2);
  }
View Full Code Here

  public Boolean install(String schemaName, String nodeName, String dbName, String host, String dialect, String user, String password) {
    return install(schemaName, getOrAddNode(nodeName, dbName, host, dialect, user, password).getName());
  }

  private Node getOrAddNode(String nodeName, String dbName, String host, String dialect, String user, String password) {
    Node node;
    try {
      node = hive.getNode(nodeName);
    } catch (NoSuchElementException e) {
      node = new Node(nodeName, dbName, host, DialectTools.stringToDialect(dialect));
      node.setUsername(user);
      node.setPassword(password);
      try {
        hive.addNode(node);
      } catch (HiveLockableException e1) {
        throw new HiveRuntimeException("Hive was locked read-only.", e1);
      }
View Full Code Here

    return installAll(getOrAddNode(nodeName, dbName, host, dialect, user, password).getName());
  }

  public Boolean addNode(String nodeName, String dbName, String host, String dialect, String user, String password) {
    try {
      Node node = new Node(nodeName, dbName, host, DialectTools.stringToDialect(dialect));
      node.setUsername(user);
      node.setPassword(password);
      hive.addNode(node);
      return true;
    } catch (HiveLockableException e) {
      throw new HiveRuntimeException("hive was locked read-only", e);
    }
View Full Code Here

  }

  private Node getNode(String name) {
    switch (dialect) {
      case H2:
        return new Node(name, String.format("%s;LOCK_MODE=3", name), "mem", dialect);
      case MySql:
        return new Node(name, name, "localhost", dialect);
      default:
        throw new RuntimeException("Unsupported dialect: " + dialect);
    }
  }
View Full Code Here

    return node;
  }

  protected class NodeRowMapper implements RowMapper {
    public Object mapRow(ResultSet rs, int rowNumber) throws SQLException {
      Node node = new Node(
              rs.getInt("id"),
              rs.getString("name"),
              rs.getString("database_name"),
              rs.getString("host"),
              rs.getString("dialect") == null ? HiveDbDialect.MySql : DialectTools.stringToDialect(rs.getString("dialect"))
      );
      node.setStatus(Status.getByValue(rs.getInt("status")));   
      node.setUsername(rs.getString("username"));
      node.setPassword(rs.getString("password"));
      node.setPort(rs.getInt("port"));
      node.setCapacity(rs.getInt("capacity"));
      node.setOptions(rs.getString("options"));
      return node;
    }
View Full Code Here

  public SimpleJdbcDaoSupport removeNode(Node node) {
    return jdbcDaoSupports.remove(node.getId());
  }

  private SimpleJdbcDaoSupport get(KeySemaphore semaphore, AccessType intention) throws HiveLockableException {
    Node node = null;
    node = hive.getNode(semaphore.getNodeId());

    if (intention == AccessType.ReadWrite)
      Preconditions.isWritable(node, semaphore);
View Full Code Here

    }
  }

  public SimpleJdbcDaoSupport getUnsafe(String nodeName) {
    try {
      Node node = hive.getNode(nodeName);
      KeySemaphore semaphore = new KeySemaphoreImpl(null, node.getId(), node.getStatus());
      return get(semaphore, AccessType.ReadWrite);
    } catch (HiveException e) {
      // TODO Better exception Handling
      // HiveLockable should become runtime
      throw new RuntimeException(e);
View Full Code Here

    Collection<Node> writableNodes = Filter.grep(new Predicate<Node>() {
      public boolean f(Node item) {
        return item.getStatus() == Lockable.Status.writable;
      }
    }, nodes);
    Node node = assigner.chooseNode(writableNodes, primaryIndexKey);
    Preconditions.isWritable(semaphore, node);
    directory.insertPrimaryIndexKey(node, primaryIndexKey);
  }
View Full Code Here

          return getNode(keySemaphore.getNodeId());
        }
      }, dir.getKeySemamphoresOfPrimaryIndexKey(key));

      //Elect a random origin node as the authority
      Node authority = Lists.random(origins);
      Object migrant = mover.get(key, authority);

      //Copy the records
      for (Node destination : destinations) {
        try {
View Full Code Here

TOP

Related Classes of org.hivedb.meta.Node

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.