Search in sources :

Example 51 with Column

use of org.obeonetwork.dsl.database.Column in project InformationSystem by ObeoNetwork.

the class ColumnServicesTest method checkPrimaryKeyNullTest.

@Test
public void checkPrimaryKeyNullTest() {
    Table table = getGSSerieTable();
    Column col = getColumn(table, "No table");
    assertEquals("", new ColumnServices().checkInPrimaryKey(col));
}
Also used : Table(org.obeonetwork.dsl.database.Table) Column(org.obeonetwork.dsl.database.Column) Test(org.junit.Test) AbstractTest(org.obeonetwork.database.m2doc.services.common.AbstractTest)

Example 52 with Column

use of org.obeonetwork.dsl.database.Column in project InformationSystem by ObeoNetwork.

the class EntityToMLD method getPKComments.

private String getPKComments(PrimaryKey pk) {
    String comments = "Contrainte PK ";
    if (pk.getColumns().size() == 1) {
        comments += "pour la colonne ";
    } else if (pk.getColumns().size() > 1) {
        comments += "pour les colonnes ";
    }
    for (int i = 0; i < pk.getColumns().size(); i++) {
        if (i > 0) {
            comments += ", ";
        }
        Column column = pk.getColumns().get(i);
        comments += column.getName();
    }
    return comments;
}
Also used : Column(org.obeonetwork.dsl.database.Column) Constraint(org.obeonetwork.dsl.database.Constraint)

Example 53 with Column

use of org.obeonetwork.dsl.database.Column in project InformationSystem by ObeoNetwork.

the class EntityToMLD method createDateColumn.

private Column createDateColumn(Table table, String columnName) {
    // Create XDMAJ column
    Column column = findColumnByName(table, columnName);
    if (column == null) {
        column = DatabaseFactory.eINSTANCE.createColumn();
        column.setName(columnName);
        table.getColumns().add(column);
    }
    column.setComments(DATE_COLUMN_COMMENT);
    TypeInstance typeInstance = TypesLibraryFactory.eINSTANCE.createTypeInstance();
    typeInstance.setNativeType(nativeTypesMap.get(DATE_COLUMN_TYPE));
    column.setType(typeInstance);
    return column;
}
Also used : Column(org.obeonetwork.dsl.database.Column) TypeInstance(org.obeonetwork.dsl.typeslibrary.TypeInstance)

Example 54 with Column

use of org.obeonetwork.dsl.database.Column in project InformationSystem by ObeoNetwork.

the class EntityToMLD method createJoinTableForeignKey.

private void createJoinTableForeignKey(Table joinTable, Table targetTable) {
    // FK for table
    ForeignKey fk = null;
    for (ForeignKey existingFK : joinTable.getForeignKeys()) {
        if (targetTable.equals(existingFK.getTarget())) {
            fk = existingFK;
            break;
        }
    }
    if (fk == null) {
        // We have to create a FK
        fk = DatabaseFactory.eINSTANCE.createForeignKey();
        joinTable.getForeignKeys().add(fk);
        fk.setTarget(targetTable);
    }
    addToObjectsToBeKept(fk);
    createFkElements(fk, joinTable, targetTable, false, "PK,FK de la table " + joinTable.getName());
    // Add FK columns to the PK
    Column fkColumn = findExistingFKColumn(joinTable, targetTable, true);
    if (fkColumn == null) {
        fkColumn = DatabaseFactory.eINSTANCE.createColumn();
        fkColumn.setName(targetTable.getPrimaryKey().getColumns().get(0).getName());
        joinTable.getColumns().add(fkColumn);
        addToObjectsToBeKept(fkColumn);
    }
    // Add to PK when needed
    fkColumn.addToPrimaryKey();
    fk.setName(getFKName(fk));
    fk.setComments("Contrainte FK avec la table " + targetTable.getName());
}
Also used : Column(org.obeonetwork.dsl.database.Column) ForeignKey(org.obeonetwork.dsl.database.ForeignKey)

Example 55 with Column

use of org.obeonetwork.dsl.database.Column in project InformationSystem by ObeoNetwork.

the class EntityToMLD method createValidityColumn.

private Column createValidityColumn(Table table, String columnName) {
    // Create XTOPSUP column
    Column column = findColumnByName(table, columnName);
    if (column == null) {
        column = DatabaseFactory.eINSTANCE.createColumn();
        column.setName(columnName);
        table.getColumns().add(column);
    }
    column.setComments(VALIDITY_COLUMN_COMMENTS);
    column.setDefaultValue(VALIDITY_COLUMN_DEFAULT);
    column.setNullable(false);
    TypeInstance typeInstance = TypesLibraryFactory.eINSTANCE.createTypeInstance();
    typeInstance.setNativeType(nativeTypesMap.get(VALIDITY_COLUMN_TYPE));
    typeInstance.setLength(VALIDITY_COLUMN_TYPE_LENGTH);
    column.setType(typeInstance);
    return column;
}
Also used : Column(org.obeonetwork.dsl.database.Column) TypeInstance(org.obeonetwork.dsl.typeslibrary.TypeInstance)

Aggregations

Column (org.obeonetwork.dsl.database.Column)83 Table (org.obeonetwork.dsl.database.Table)41 Test (org.junit.Test)31 AbstractTest (org.obeonetwork.database.m2doc.services.common.AbstractTest)31 TypeInstance (org.obeonetwork.dsl.typeslibrary.TypeInstance)11 EObject (org.eclipse.emf.ecore.EObject)9 AbstractTable (org.obeonetwork.dsl.database.AbstractTable)8 ForeignKey (org.obeonetwork.dsl.database.ForeignKey)7 ArrayList (java.util.ArrayList)6 Constraint (org.obeonetwork.dsl.database.Constraint)6 ForeignKeyElement (org.obeonetwork.dsl.database.ForeignKeyElement)6 Sequence (org.obeonetwork.dsl.database.Sequence)6 BigInteger (java.math.BigInteger)5 ResultSet (java.sql.ResultSet)5 SQLException (java.sql.SQLException)5 NativeType (org.obeonetwork.dsl.typeslibrary.NativeType)5 PreparedStatement (java.sql.PreparedStatement)4 Viewer (org.eclipse.jface.viewers.Viewer)4 ViewerFilter (org.eclipse.jface.viewers.ViewerFilter)4 IndexElement (org.obeonetwork.dsl.database.IndexElement)4