Search in sources :

Example 16 with PrimaryKey

use of org.alfresco.util.schemacomp.model.PrimaryKey in project alfresco-repository by Alfresco.

the class DbObjectXMLTransformerTest method transformSchemaNoColumnOrderCheck.

@Test
public void transformSchemaNoColumnOrderCheck() throws IOException {
    Collection<Column> columns = columns("one VARCHAR2(100)", "two NUMBER(10)");
    PrimaryKey pk = new PrimaryKey(null, "pk_for_my_table", Arrays.asList("id"), Arrays.asList(1));
    Collection<ForeignKey> fks = fkeys(fk("fk_one", "lc", "tt", "tc"), fk("fk_two", "lc", "tt", "tc"));
    Collection<Index> indexes = indexes("index_one col1 col2", "index_two col3 col4");
    Table tableOne = new Table(null, "table_one", columns, pk, fks, indexes);
    Table tableTwo = new Table(null, "table_two", columns, pk, fks, indexes);
    Schema schema = new Schema("my_schema", "alf_", 132, false);
    schema.add(tableOne);
    schema.add(tableTwo);
    schema.add(new Sequence(null, "sequence_one"));
    schema.add(new Sequence(null, "sequence_two"));
    schema.add(new Sequence(null, "sequence_three"));
    schema.setValidators(new ArrayList<DbValidator>());
    transformer.output(schema);
    BufferedReader reader = new BufferedReader(new StringReader(writer.toString()));
    dumpOutput();
    assertHasPreamble(reader);
    assertEquals("<schema " + "xmlns=\"http://www.alfresco.org/repo/db-schema\" " + "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " + "xsi:schemaLocation=\"http://www.alfresco.org/repo/db-schema db-schema.xsd\" " + "name=\"my_schema\" dbprefix=\"alf_\" version=\"132\" tablecolumnorder=\"false\">", reader.readLine());
    assertEquals("  <objects>", reader.readLine());
    skipUntilEnd("       {table}", reader);
    skipUntilEnd("       {table}", reader);
    skipUntilEnd("       {sequence}", reader, true);
    skipUntilEnd("       {sequence}", reader, true);
    skipUntilEnd("       {sequence}", reader, true);
    assertEquals("  </objects>", reader.readLine());
    assertEquals("</schema>", reader.readLine());
}
Also used : Table(org.alfresco.util.schemacomp.model.Table) Schema(org.alfresco.util.schemacomp.model.Schema) PrimaryKey(org.alfresco.util.schemacomp.model.PrimaryKey) Index(org.alfresco.util.schemacomp.model.Index) Sequence(org.alfresco.util.schemacomp.model.Sequence) ForeignKey(org.alfresco.util.schemacomp.model.ForeignKey) Column(org.alfresco.util.schemacomp.model.Column) BufferedReader(java.io.BufferedReader) StringReader(java.io.StringReader) DbValidator(org.alfresco.util.schemacomp.validator.DbValidator) Test(org.junit.Test)

Example 17 with PrimaryKey

use of org.alfresco.util.schemacomp.model.PrimaryKey in project alfresco-repository by Alfresco.

the class DbObjectXMLTransformerTest method transformTable.

@Test
public void transformTable() throws IOException {
    Collection<Column> columns = columns("one VARCHAR2(100)", "two NUMBER(10)");
    PrimaryKey pk = new PrimaryKey(null, "pk_for_my_table", Arrays.asList("id"), Arrays.asList(1));
    Collection<ForeignKey> fks = fkeys(fk("fk_one", "lc", "tt", "tc"), fk("fk_two", "lc", "tt", "tc"));
    Collection<Index> indexes = indexes("index_one col1 col2", "index_two col3 col4");
    Table table = new Table(null, "my_table", columns, pk, fks, indexes);
    transformer.output(table);
    BufferedReader reader = new BufferedReader(new StringReader(writer.toString()));
    dumpOutput();
    assertHasPreamble(reader);
    assertEquals("<table name=\"my_table\">", reader.readLine());
    assertEquals("  <columns>", reader.readLine());
    skipUntilEnd("       {column}", reader);
    skipUntilEnd("       {column}", reader);
    assertEquals("  </columns>", reader.readLine());
    skipUntilEnd("  {primarykey}", reader);
    assertEquals("  <foreignkeys>", reader.readLine());
    skipUntilEnd("       {foreignkey}", reader);
    skipUntilEnd("       {foreignkey}", reader);
    assertEquals("  </foreignkeys>", reader.readLine());
    assertEquals("  <indexes>", reader.readLine());
    skipUntilEnd("       {index}", reader);
    skipUntilEnd("       {index}", reader);
    assertEquals("  </indexes>", reader.readLine());
    assertEquals("</table>", reader.readLine());
}
Also used : Table(org.alfresco.util.schemacomp.model.Table) Column(org.alfresco.util.schemacomp.model.Column) BufferedReader(java.io.BufferedReader) StringReader(java.io.StringReader) PrimaryKey(org.alfresco.util.schemacomp.model.PrimaryKey) Index(org.alfresco.util.schemacomp.model.Index) ForeignKey(org.alfresco.util.schemacomp.model.ForeignKey) Test(org.junit.Test)

Aggregations

PrimaryKey (org.alfresco.util.schemacomp.model.PrimaryKey)17 Column (org.alfresco.util.schemacomp.model.Column)11 Table (org.alfresco.util.schemacomp.model.Table)11 Index (org.alfresco.util.schemacomp.model.Index)10 ForeignKey (org.alfresco.util.schemacomp.model.ForeignKey)9 Test (org.junit.Test)9 Schema (org.alfresco.util.schemacomp.model.Schema)7 DbValidator (org.alfresco.util.schemacomp.validator.DbValidator)6 BufferedReader (java.io.BufferedReader)5 StringReader (java.io.StringReader)5 Sequence (org.alfresco.util.schemacomp.model.Sequence)5 ArrayList (java.util.ArrayList)3 DbObject (org.alfresco.util.schemacomp.model.DbObject)2 NameValidator (org.alfresco.util.schemacomp.validator.NameValidator)2 ResultSet (java.sql.ResultSet)1 SQLException (java.sql.SQLException)1