use of com.google.cloud.datacatalog.v1beta1.Schema in project beam by apache.
the class GcsTableFactory method tableBuilder.
/**
* Creates a Beam SQL table description from a GCS fileset entry.
*/
@Override
public Optional<Table.Builder> tableBuilder(Entry entry) {
if (!entry.hasGcsFilesetSpec()) {
return Optional.empty();
}
GcsFilesetSpec gcsFilesetSpec = entry.getGcsFilesetSpec();
List<String> filePatterns = gcsFilesetSpec.getFilePatternsList();
// We support exactly one 'file_patterns' field and nothing else at the moment
if (filePatterns.size() != 1) {
throw new UnsupportedOperationException("Unable to parse GCS entry '" + entry.getName() + "'");
}
String filePattern = filePatterns.get(0);
if (!filePattern.startsWith("gs://")) {
throw new UnsupportedOperationException("Unsupported file pattern. " + "Only file patterns with 'gs://' schema are supported at the moment.");
}
return Optional.of(Table.builder().type("text").location(filePattern).properties(new JSONObject()).comment(""));
}
use of com.google.cloud.datacatalog.v1beta1.Schema in project molgenis-emx2 by molgenis.
the class TestCohortCatalogue method importStagingSchemas.
@Test
public void importStagingSchemas() {
// import cdm that uses schemaRef to ontologies
Schema cdmSchema = database.dropCreateSchema("Catalogue_cdm");
MolgenisIO.fromDirectory(new File("../../data/datacatalogue/Catalogue_cdm").toPath(), cdmSchema, true);
// export cdm and then import again, to validate it works
List<Row> metadata = Emx2.toRowList(cdmSchema.getMetadata());
Schema cdmSchema2 = database.dropCreateSchema("Catalogue_cdm2");
cdmSchema2.migrate(Emx2.fromRowList(metadata));
}
use of com.google.cloud.datacatalog.v1beta1.Schema in project ets-ogcapi-edr10 by opengeospatial.
the class OpenApiUtils method collectTemplateReplacements.
private static List<Map<String, String>> collectTemplateReplacements(PathItemAndServer pathItemAndServer, UriTemplate uriTemplate) {
List<Map<String, String>> templateReplacements = new ArrayList<>();
Collection<Parameter> parameters = pathItemAndServer.operationObject.getParameters();
for (String templateVariable : uriTemplate.getTemplateVariables()) {
for (Parameter parameter : parameters) {
if (templateVariable.equals(parameter.getName())) {
Schema schema = parameter.getSchema();
if (schema.hasEnums()) {
addEnumTemplateValues(templateReplacements, templateVariable, schema);
} else if (schema.getDefault() != null) {
addDefaultTemplateValue(templateReplacements, templateVariable, schema);
} else {
// TODO: What should be done if the parameter does not have a default value and
// no
// enumerated set of valid values?
}
}
}
}
return templateReplacements;
}
use of com.google.cloud.datacatalog.v1beta1.Schema in project molgenis-emx2 by molgenis.
the class DataCatalogueLoader method load.
@Override
public void load(Schema schema, boolean includeDemoData) {
// create ontology schema
Database db = schema.getDatabase();
Schema ontologySchema = db.getSchema(CATALOGUE_ONTOLOGIES);
if (ontologySchema == null) {
ontologySchema = db.createSchema(CATALOGUE_ONTOLOGIES);
}
// create catalogue schema (which will create tables in ontology schema)
createSchema(schema, "datacatalogue/molgenis.csv");
// load data into ontology schema
MolgenisIO.fromClasspathDirectory("datacatalogue/CatalogueOntologies", ontologySchema, false);
// optionally, load demo data
if (includeDemoData) {
MolgenisIO.fromClasspathDirectory("datacatalogue/Cohorts", schema, false);
}
}
use of com.google.cloud.datacatalog.v1beta1.Schema in project molgenis-emx2 by molgenis.
the class DataCatalogueStagingLoader method load.
@Override
public void load(Schema schema, boolean includeDemoData) {
// create ontology schema
Database db = schema.getDatabase();
Schema ontologySchema = db.getSchema(CATALOGUE_ONTOLOGIES);
if (ontologySchema == null) {
ontologySchema = db.createSchema(CATALOGUE_ONTOLOGIES);
}
// create the schema
createSchema(schema, "datacatalogue/Catalogue_cdm/molgenis.csv");
// load data into ontology schema
MolgenisIO.fromClasspathDirectory("datacatalogue/CatalogueOntologies", ontologySchema, false);
}
Aggregations