public CustomDataSource getDatabase(String project, String schema) { try (Handle handle = dbi.open()) { Query<Map<String, Object>> bind = handle.createQuery("SELECT type, options FROM custom_data_source WHERE project = :project AND lower(schema_name) = :schema_name") .bind("project", project) .bind("schema_name", schema.toLowerCase(Locale.ENGLISH)); CustomDataSource first = bind.map((index, r, ctx) -> new CustomDataSource(r.getString(1), schema, JsonHelper.read(r.getString(2), JDBCSchemaConfig.class))).first(); if (first == null) { throw new RakamException(NOT_FOUND); } return first; } }
public CustomDataSourceList listDatabases(String project) { try (Handle handle = dbi.open()) { List<CustomDataSource> customDataSources = handle.createQuery("SELECT schema_name, type, options FROM custom_data_source WHERE project = :project") .bind("project", project) .map((index, r, ctx) -> { JDBCSchemaConfig read = JsonHelper.read(r.getString(3), JDBCSchemaConfig.class); return new CustomDataSource(r.getString(2), r.getString(1), read); }).list(); HashMap<String, RemoteTable> files = new HashMap<>(); handle.createQuery("SELECT table_name, options FROM custom_file_source WHERE project = :project") .bind("project", project) .map((index, r, ctx) -> { files.put(r.getString(1), JsonHelper.read(r.getString(2), RemoteTable.class)); return null; }).list(); return new CustomDataSourceList(customDataSources, files); } }
CustomDataSource dataSource = new CustomDataSource("POSTGRESQL", "users", source); dataSourceType = new DataSourceType(dataSource.type, dataSource.options);
CustomDataSource dataSource = new CustomDataSource(<your arguments here>); HlsChunkSource chunkSource = new HlsChunkSource(dataSource, url, manifest, bandwidthMeter, null, HlsChunkSource.ADAPTIVE_MODE_SPLICE); HlsSampleSource sampleSource = new HlsSampleSource(chunkSource, true, 3);