コード例 #1
0
ファイル: JdbcSchema.java プロジェクト: NGDATA/optiq
 /**
  * Creates a JdbcSchema, taking credentials from a map.
  *
  * @param parentSchema Parent schema
  * @param name Name
  * @param operand Map of property/value pairs
  * @return A JdbcSchema
  */
 public static JdbcSchema create(
     SchemaPlus parentSchema, String name, Map<String, Object> operand) {
   DataSource dataSource;
   try {
     final String dataSourceName = (String) operand.get("dataSource");
     if (dataSourceName != null) {
       final Class<?> clazz = Class.forName((String) dataSourceName);
       dataSource = (DataSource) clazz.newInstance();
     } else {
       final String jdbcUrl = (String) operand.get("jdbcUrl");
       final String jdbcDriver = (String) operand.get("jdbcDriver");
       final String jdbcUser = (String) operand.get("jdbcUser");
       final String jdbcPassword = (String) operand.get("jdbcPassword");
       dataSource = dataSource(jdbcUrl, jdbcDriver, jdbcUser, jdbcPassword);
     }
   } catch (Exception e) {
     throw new RuntimeException("Error while reading dataSource", e);
   }
   String jdbcCatalog = (String) operand.get("jdbcCatalog");
   String jdbcSchema = (String) operand.get("jdbcSchema");
   return JdbcSchema.create(parentSchema, name, dataSource, jdbcCatalog, jdbcSchema);
 }
コード例 #2
0
ファイル: OptiqSchema.java プロジェクト: jaltekruse/optiq
 public <T> T unwrap(Class<T> clazz) {
   if (clazz.isInstance(this)) {
     return clazz.cast(this);
   }
   if (clazz.isInstance(OptiqSchema.this)) {
     return clazz.cast(OptiqSchema.this);
   }
   if (clazz.isInstance(OptiqSchema.this.schema)) {
     return clazz.cast(OptiqSchema.this.schema);
   }
   throw new ClassCastException("not a " + clazz);
 }