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));
}
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;
}
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;
}
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());
}
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;
}
Aggregations