private Table buildTable(MetadataFactory mf, String name) { Table table = mf.addTable(name); table.setSupportsUpdate(true); return table; }
protected Table buildTable(MetadataFactory mf, EdmEntitySet entitySet) { Table table = mf.addTable(entitySet.getName()); table.setSupportsUpdate(true); return table; }
private Table addEntity(MetadataFactory mf, Metamodel model, EntityType<?> entity) throws TranslatorException { Table table = mf.getSchema().getTable(entity.getName()); if (table == null) { table = mf.addTable(entity.getName()); table.setSupportsUpdate(true); table.setProperty(ENTITYCLASS, entity.getJavaType().getCanonicalName()); addPrimaryKey(mf, model, entity, table); addSingularAttributes(mf, model, entity, table, Collections.EMPTY_LIST); } return table; }
private void addTable(DescribeGlobalSObjectResult objectMetadata) { String name = objectMetadata.getName(); if (normalizeNames) { name = NameUtil.normalizeName(name); } if (!allowedToAdd(name)) { return; } Table table = metadataFactory.addTable(name); FullyQualifiedName fqn = new FullyQualifiedName("sobject", objectMetadata.getName()); //$NON-NLS-1$ table.setProperty(FQN, fqn.toString()); table.setNameInSource(objectMetadata.getName()); tableMap.put(objectMetadata.getName(), table); table.setProperty(TABLE_CUSTOM, String.valueOf(objectMetadata.isCustom())); table.setProperty(TABLE_SUPPORTS_CREATE, String.valueOf(objectMetadata.isCreateable())); table.setProperty(TABLE_SUPPORTS_DELETE, String.valueOf(objectMetadata.isDeletable())); table.setProperty(TABLE_SUPPORTS_MERGE, String.valueOf(objectMetadata.isMergeable())); table.setProperty(TABLE_SUPPORTS_QUERY, String.valueOf(objectMetadata.isQueryable())); table.setProperty(TABLE_SUPPORTS_REPLICATE, String.valueOf(objectMetadata.isReplicateable())); table.setProperty(TABLE_SUPPORTS_RETRIEVE, String.valueOf(objectMetadata.isRetrieveable())); table.setProperty(TABLE_SUPPORTS_SEARCH, String.valueOf(objectMetadata.isSearchable())); }
@Test public void testDuplicateTables() { ModelMetaData mmd = new ModelMetaData(); mmd.setName("foo"); mmd.addProperty("importer.renameDuplicateTables", "true"); HashMap<String, Datatype> types = new HashMap<String, Datatype>(); Datatype value = new Datatype(); value.setName("string"); types.put("string", value); MetadataFactory factory = new MetadataFactory("x", 1, types, mmd); Table x = factory.addTable("x"); assertEquals("x", x.getName()); Table x1 = factory.addTable("X"); assertEquals("X_1", x1.getName()); Table x2 = factory.addTable("X"); assertEquals("X_2", x2.getName()); }
/** * * @param metadataFactory * @param tableCatalog * @param tableSchema * @param tableName * @param remarks * @param fullName * @return */ protected Table addTable(MetadataFactory metadataFactory, String tableCatalog, String tableSchema, String tableName, String remarks, String fullName) { Table table = metadataFactory.addTable(useFullSchemaName?fullName:tableName); table.setNameInSource(getFullyQualifiedName(tableCatalog, tableSchema, tableName, true)); //create a fqn for the table FullyQualifiedName fqn = new FullyQualifiedName(); if (tableCatalog != null && !tableCatalog.isEmpty()) { fqn.append(getCatalogTerm(), tableCatalog); } if (tableSchema != null && !tableSchema.isEmpty()) { fqn.append(getSchemaTerm(), tableSchema); } fqn.append(getTableTerm(), tableName); table.setProperty(FQN, fqn.toString()); table.setSupportsUpdate(true); table.setAnnotation(remarks); return table; }
@Test public void testCorrectName() { ModelMetaData mmd = new ModelMetaData(); mmd.setName("foo"); HashMap<String, Datatype> types = new HashMap<String, Datatype>(); Datatype value = new Datatype(); value.setName("string"); types.put("string", value); MetadataFactory factory = new MetadataFactory("x", 1, types, mmd); Table x = factory.addTable("x"); Column c = factory.addColumn("a.b", "string", x); assertEquals("a_b", c.getName()); }
/** * Adds new table to metadata. * * @param spreadsheet Name of the spreadsheet * @param worksheet Name of the worksheet * @throws TranslatorException */ private void addTable(MetadataFactory mf, Worksheet worksheet) { if (worksheet.getColumnCount() == 0){ return; } Table table = mf.addTable(worksheet.getName()); table.setProperty(FQN, new FullyQualifiedName("worksheet", worksheet.getName()).toString()); //$NON-NLS-1$ table.setNameInSource(worksheet.getName()); if (worksheet.isHeaderEnabled()) { table.setSupportsUpdate(true); } addColumnsToTable(mf, table, worksheet); }
@Test public void testNameFormat() { ModelMetaData mmd = new ModelMetaData(); mmd.setName("foo"); mmd.addProperty("importer.nameFormat", "x_%s_y"); HashMap<String, Datatype> types = new HashMap<String, Datatype>(); MetadataFactory factory = new MetadataFactory("x", 1, types, mmd); Table x = factory.addTable("x"); assertEquals("x_x_y", x.getName()); Procedure p = factory.addProcedure("a%b.c"); assertEquals("x_a%b.c_y", p.getName()); }
@Test public void testMinimalDataNoColumns() throws Exception { ModelMetaData model = new ModelMetaData(); model.setName("x"); vdb.addModel(model); MetadataFactory mf = new MetadataFactory("myVDB",1, "x", TestDDLParser.getDataTypes(), new Properties(), null); mf.addTable("y"); mf.mergeInto(store); buildTransformationMetadata(); ValidatorReport report = new MetadataValidator().validate(this.vdb, this.store); assertTrue(printError(report), report.hasItems()); }
datatypes.put(DataTypeManager.DefaultDataTypes.STRING, dt); MetadataFactory mf = new MetadataFactory(null, 1, "x", datatypes, new Properties(), null); //$NON-NLS-1$ mf.addTable("y"); //$NON-NLS-1$ MetadataFactory mf1 = new MetadataFactory(null, 1, "x1", datatypes, new Properties(), null); //$NON-NLS-1$ mf1.addTable("y"); //$NON-NLS-1$ CompositeMetadataStore cms = new CompositeMetadataStore(Arrays.asList(mf.asMetadataStore(), mf1.asMetadataStore()));
private ModelMetaData buildSourceTableWithPK() { ModelMetaData model = new ModelMetaData(); model.setName("source"); model.setModelType(Model.Type.PHYSICAL); MetadataFactory target = new MetadataFactory(VDBNAME, VDBVERSION, SystemMetadata.getInstance().getRuntimeTypeMap(), model); Table t = target.addTable("Person"); target.addColumn("id", "integer", t); target.addColumn("name", "string", t); target.addColumn("dob", "date", t); target.addPrimaryKey("PK", Arrays.asList("id"), t); Table addr = target.addTable("address"); target.addColumn("id", "integer", addr); target.addColumn("street", "string", addr); target.addColumn("pid", "integer", addr); target.addPrimaryKey("PK", Arrays.asList("id"), addr); target.addForeignKey("FK", Arrays.asList("pid"), Arrays.asList("id"), "Person", addr); String ddl = DDLStringVisitor.getDDLString(target.getSchema(), null, null); model.addSourceMetadata("ddl", ddl); model.addAttchment(MetadataFactory.class, target); return model; }
@Test public void testDuplicateColumns() { ModelMetaData mmd = new ModelMetaData(); mmd.setName("foo"); mmd.addProperty("importer.renameDuplicateColumns", "true"); HashMap<String, Datatype> types = new HashMap<String, Datatype>(); Datatype value = new Datatype(); value.setName("string"); types.put("string", value); MetadataFactory factory = new MetadataFactory("x", 1, types, mmd); Table x = factory.addTable("x"); Column c = factory.addColumn("a_b", "string", x); assertEquals("a_b", c.getName()); c = factory.addColumn("a_B", "string", x); assertEquals("a_B_1", c.getName()); }
if (keys != null && !keys.isEmpty()) { if (table == null) { table = metadataFactory.addTable(tableName); table.setSupportsUpdate(true); if (parent != null) {
table = factory.addTable(tableName); table.setVirtual(globalTemp); if (globalTemp) {
@Test public void testTypeCorrection() throws Exception { MetadataFactory mf = new MetadataFactory(null, 1, "x", SystemMetadata.getInstance().getRuntimeTypeMap(), new Properties(), null); //$NON-NLS-1$ Table t = mf.addTable("y"); //$NON-NLS-1$ mf.addColumn("test", "string", t); mf.addColumn("array", "string[]", t); Datatype unknown = new Datatype(); unknown.setName("unknown"); Column col = mf.addColumn("arg", "string", t); col.setDatatype(unknown, false, 0); MetadataFactory mf1 = UnitTestUtil.helpSerialize(mf); Column column = mf1.getSchema().getTable("y").getColumns().get(0); Datatype dt = column.getDatatype(); assertNotSame(mf.getDataTypes().get(dt.getName()), column.getDatatype()); assertEquals(1, mf1.getSchema().getTable("y").getColumns().get(1).getArrayDimensions()); mf1.correctDatatypes(mf.getDataTypes()); assertSame(mf.getDataTypes().get(dt.getName()), column.getDatatype()); assertEquals(1, mf1.getSchema().getTable("y").getColumns().get(1).getArrayDimensions()); }
@Test public void testSkipDocumentModel() throws Exception { ModelMetaData model = new ModelMetaData(); model.setName("xmlstuff"); model.setModelType(Model.Type.VIRTUAL); vdb.addModel(model); MetadataFactory mf = new MetadataFactory("myVDB",1, "xmlstuff", TestDDLParser.getDataTypes(), new Properties(), null); mf.getSchema().setPhysical(false); Table t = mf.addTable("xmldoctable"); t.setTableType(Table.Type.Document); mf.addColumn("c1", "string", t); t.setSelectTransformation("some dummy stuff, should not be validated"); t.setVirtual(true); Table t2 = mf.addTable("xmldoctable2"); t2.setTableType(Table.Type.XmlMappingClass); mf.addColumn("c1", "string", t2); t2.setSelectTransformation("some dummy stuff, should not be validated"); t2.setVirtual(true); mf.mergeInto(store); buildTransformationMetadata(); ValidatorReport report = new MetadataValidator().validate(this.vdb, this.store); assertFalse(printError(report), report.hasItems()); }
private ModelMetaData buildSourceTableWithCompositePK() { ModelMetaData model = new ModelMetaData(); model.setName("source"); model.setModelType(Model.Type.PHYSICAL); MetadataFactory target = new MetadataFactory(VDBNAME, VDBVERSION, SystemMetadata.getInstance().getRuntimeTypeMap(), model); Table t = target.addTable("Person"); target.addColumn("id", "integer", t); target.addColumn("name", "string", t); target.addColumn("dob", "date", t); target.addPrimaryKey("PK", Arrays.asList("id", "name"), t); String ddl = DDLStringVisitor.getDDLString(target.getSchema(), null, null); model.addSourceMetadata("ddl", ddl); model.addAttchment(MetadataFactory.class, target); return model; }
private ModelMetaData buildSourceTable() { ModelMetaData model = new ModelMetaData(); model.setName("source"); model.setModelType(Model.Type.PHYSICAL); MetadataFactory target = new MetadataFactory(VDBNAME, VDBVERSION, SystemMetadata.getInstance().getRuntimeTypeMap(), model); Table t = target.addTable("Person"); target.addColumn("id", "integer", t); target.addColumn("name", "string", t); target.addColumn("dob", "date", t); model.addAttchment(MetadataFactory.class, target); String ddl = DDLStringVisitor.getDDLString(target.getSchema(), null, null); model.addSourceMetadata("ddl", ddl); return model; }