Package tosa.dbmd

Examples of tosa.dbmd.DatabaseImpl


      List<IDatabase> dbs = new ArrayList<IDatabase>();
      System.out.println("***** Reading module with path " + module.getSourcePath());
      IDBDataSource dataSource = new DDLDBDataSource();
      Map<String, DBData> dbDataMap = dataSource.getDBData(module);
      for (Map.Entry<String, DBData> dbDataEntry : dbDataMap.entrySet()) {
        IDatabase database = new DatabaseImpl(dbDataEntry.getKey(), dbDataEntry.getValue(), module);
        // TODO - AHK - Validate things!
        dbs.add(database);
        _dbsByName.put(database.getNamespace(), database);
      }
      _dbsByModule.put(module, dbs);
    }
  }
View Full Code Here


  public Object invokeQuery(IType returnType, Object... args) {
    verifySql();
    HashMap<String, Object> values = makeArgMap(args);

    DatabaseImpl database = _sqlType.getData().getDatabase();
    String sql = _sqlType.getData().getSQL(values);
    List<VariableExpression> vars = _sqlType.getData().getVariables();
    List<IPreparedStatementParameter> params = new ArrayList<IPreparedStatementParameter>();

    for (VariableExpression var : vars) {
      if (var.shouldApply(values)) {
        Object value = values.get(var.getName());
        if (var.isList()) {
          if (value != null) {
            List valueList = (List) value;
            for (Object listValue : valueList) {
              params.add(new PreparedStatementParameterImpl(listValue, PreparedStatementParameterImpl.UNKNOWN));
            }
          }
        } else {
          params.add(new PreparedStatementParameterImpl(value, PreparedStatementParameterImpl.UNKNOWN));
        }
      }
    }

    Profiler profiler = Util.newProfiler("");
    profiler.start(_sqlType.getName() + ".select()");
    try {
      return database.getDBExecutionKernel().executeSelect(sql, new SQLTypeInfoQueryProcessor(returnType), params.toArray(new IPreparedStatementParameter[params.size()]));
    } finally {
      profiler.stop();
    }
  }
View Full Code Here

    }
    // TODO - AHK - What do we do if there's a table named "Transaction"?
    // TODO - AHK - Is it really our job to do any caching at all?
    String namespace = fullyQualifiedName.substring(0, lastDot);
    String relativeName = fullyQualifiedName.substring(lastDot + 1);
    DatabaseImpl databaseImpl = _typeDataByNamespace.get().get(namespace);
    if (databaseImpl == null) {
      SQLFileInfo data = _sqlFilesByName.get().get(fullyQualifiedName);
      if (data != null) {
        SQLType sqlType = new SQLType(data, this);
        addTypeForFile(data.getSqlFile(), sqlType);
        return sqlType.getTypeReference();
      } else {
        return null;
      }
    }

    IType rVal = null;
    if (TransactionType.TYPE_NAME.equals(relativeName)) {
      // TODO - AHK - Turn that into a type reference
      rVal = new TransactionType(databaseImpl, this).getTypeReference();
    } else if (DatabaseAccessType.TYPE_NAME.equals(relativeName)) {
      rVal = new DatabaseAccessType(databaseImpl, this).getTypeReference();
    } else {
      IDBTable dbTable = databaseImpl.getTable(relativeName);
      if (dbTable != null) {
        rVal = new DBType(this, dbTable).getTypeReference();
      }
    }

    if (rVal != null) {
      addTypeForFile(databaseImpl.getDdlFile(), rVal);
    }
    return rVal;
  }
View Full Code Here

TOP

Related Classes of tosa.dbmd.DatabaseImpl

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.