Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,12 @@ h3(#supported_databases). Bases de données supportées
Les types de bases de données suivants sont supportés :

|_. Base |_. Version |_. Java |
| Oracle |11g à 21c | 8 et 11 |
| MySQL | 5 à 8 | 8 et plus |
| MariaDB | 10.2 à 10.6 | 8, 11 et 17 |
| Oracle |11g à 23ai | 8, 11 et 17 |
| MySQL | 5 à 9.6 | 8 et plus |
| MariaDB | 10.2 à 12.1 | 8, 11 et 17 |
| H2 | 1.3 à 1.4.200 | 8 |
| PostgreSQL | 9.5 à 14.3 | 8 et plus |
| SQLServer | 2008 et 2022 | 8, 11, 17 et 18 |
| PostgreSQL | 9.5 à 18.1 | 8 et plus |
| SQLServer | 2008 et 2025 | 8 à 24 |

La rétrocompatibilité des drivers permet en théorie d'importer des schéma de base de versions antérieures à celles supportées, mais aucune garantie ne peut être donnée en ce sens.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@
*******************************************************************************/
package org.obeonetwork.database.ui.wizards.imports;

import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_H2_13;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_MARIADB_106;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_MYSQL_8;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_H2_24;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_MARIADB_121;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_MYSQL_9;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_ORACLE_21C;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_POSTGRES_14;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_SQLSERVER_2008;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_POSTGRES_18;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_SQLSERVER_2025;

import java.util.ArrayList;
import java.util.Arrays;
Expand Down Expand Up @@ -63,7 +63,7 @@ public class DatabaseImportWizardPage extends WizardPage {

private static final String DATABASE_FILE_EXTENSION = "database";

private static final String[] DB_VENDOR_CHOICES = new String[]{DB_H2_13, DB_MYSQL_8, DB_MARIADB_106, DB_POSTGRES_14, DB_SQLSERVER_2008, DB_ORACLE_21C};
private static final String[] DB_VENDOR_CHOICES = new String[]{DB_H2_24, DB_MYSQL_9, DB_MARIADB_121, DB_POSTGRES_18, DB_SQLSERVER_2025, DB_ORACLE_21C};

// Model
private DatabaseInfos databaseInfos;
Expand Down Expand Up @@ -167,17 +167,17 @@ public void createControl(Composite parent) {
comboDbVendor.addSelectionListener(new SelectionAdapter() {

public void widgetSelected(SelectionEvent e) {
txtSchema.setEnabled(!DB_MYSQL_8.equals(comboDbVendor.getText()));
txtSchema.setEnabled(!DB_MARIADB_106.equals(comboDbVendor.getText()));
txtSchema.setEnabled(!DB_MYSQL_9.equals(comboDbVendor.getText()));
txtSchema.setEnabled(!DB_MARIADB_121.equals(comboDbVendor.getText()));

txtHost.setEnabled(!DB_H2_13.equals(comboDbVendor.getText()));
txtPort.setEnabled(!DB_H2_13.equals(comboDbVendor.getText()));
txtHost.setEnabled(!DB_H2_24.equals(comboDbVendor.getText()));
txtPort.setEnabled(!DB_H2_24.equals(comboDbVendor.getText()));

}
});

txtSchema.setEnabled(!DB_MYSQL_8.equals(comboDbVendor.getText()));
txtSchema.setEnabled(!DB_MARIADB_106.equals(comboDbVendor.getText()));
txtSchema.setEnabled(!DB_MYSQL_9.equals(comboDbVendor.getText()));
txtSchema.setEnabled(!DB_MARIADB_121.equals(comboDbVendor.getText()));

Label lblModelFile = new Label(composite, SWT.NONE);
lblModelFile.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
Expand Down Expand Up @@ -313,8 +313,8 @@ private void initInput() {
txtUser.setText(databaseInfos.getUser());
txtPassword.setText(databaseInfos.getPassword());
txtUrl.setText(databaseInfos.getUrl());
txtSchema.setEnabled(!DB_MYSQL_8.equals(comboDbVendor.getText()));
txtSchema.setEnabled(!DB_MARIADB_106.equals(comboDbVendor.getText()));
txtSchema.setEnabled(!DB_MYSQL_9.equals(comboDbVendor.getText()));
txtSchema.setEnabled(!DB_MARIADB_121.equals(comboDbVendor.getText()));
listReferencedModelFiles.setInput(referencedFiles);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@
*******************************************************************************/
package org.obeonetwork.database.ui.wizards.imports;

import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_H2_13;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_MYSQL_8;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_MARIADB_106;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_H2_24;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_MYSQL_9;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_MARIADB_121;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_ORACLE_21C;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_POSTGRES_14;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_SQLSERVER_2008;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_POSTGRES_18;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_SQLSERVER_2025;

import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
Expand All @@ -31,7 +31,7 @@ public class DatabaseInfos {
public static final String PORT_POSTGRES_9 = "5432";
public static final String PORT_SQLSERVER_2008 = "1433";

private String vendor = DB_MYSQL_8;
private String vendor = DB_MYSQL_9;
private String host = "";
private String port = PORT_MYSQL_5;
private String database = "";
Expand Down Expand Up @@ -64,22 +64,22 @@ public void removePropertyChangeListener(PropertyChangeListener listener) {
}

public void computeUrl() {
if (DB_MYSQL_8.equals(vendor)) {
if (DB_MYSQL_9.equals(vendor)) {
String newUrl = "jdbc:mysql://" + getHost() + ":" + getPort() + "/" + getDatabase();
setUrl(newUrl);
} else if (DB_MARIADB_106.equals(vendor)) {
} else if (DB_MARIADB_121.equals(vendor)) {
String newUrl = "jdbc:mariadb://" + getHost() + ":" + getPort() + "/" + getDatabase();
setUrl(newUrl);
} else if (DB_ORACLE_21C.equals(vendor)) {
String newUrl = "jdbc:oracle:thin:" + getUser() + "/" + getPassword() + "@//" + getHost() + ":" + getPort() + "/" + getDatabase();
setUrl(newUrl);
} else if (DB_H2_13.equals(vendor)) {
} else if (DB_H2_24.equals(vendor)) {
String newUrl = "jdbc:h2:" + getDatabase();
setUrl(newUrl);
} else if (DB_POSTGRES_14.equals(vendor)) {
} else if (DB_POSTGRES_18.equals(vendor)) {
String newUrl = "jdbc:postgresql://" + getHost() + ":" + getPort() + "/" + getDatabase();
setUrl(newUrl);
} else if (DB_SQLSERVER_2008.equals(vendor)) {
} else if (DB_SQLSERVER_2025.equals(vendor)) {
String newUrl = "jdbc:sqlserver://" + getHost() + ":" + getPort() + ";databaseName=" + getDatabase();
setUrl(newUrl);
}
Expand All @@ -94,21 +94,21 @@ public void setVendor(String vendor) {
// Value did not change
return;
}
if (DB_MYSQL_8.equals(vendor) && DB_ORACLE_21C.equals(vendor)) {
if (DB_MYSQL_9.equals(vendor) && DB_ORACLE_21C.equals(vendor)) {
// Wrong value
return;
}
if (DB_MYSQL_8.equals(vendor)) {
if (DB_MYSQL_9.equals(vendor)) {
setPort(PORT_MYSQL_5);
} else if (DB_MARIADB_106.equals(vendor)) {
} else if (DB_MARIADB_121.equals(vendor)) {
setPort(PORT_MARIADB_102);
} else if (DB_ORACLE_21C.equals(vendor)) {
setPort(PORT_ORACLE_11G);
} else if (DB_H2_13.equals(vendor)) {
} else if (DB_H2_24.equals(vendor)) {
setPort(PORT_H2_13);
} else if (DB_POSTGRES_14.equals(vendor)) {
} else if (DB_POSTGRES_18.equals(vendor)) {
setPort(PORT_POSTGRES_9);
} else if (DB_SQLSERVER_2008.equals(vendor)) {
} else if (DB_SQLSERVER_2025.equals(vendor)) {
setPort(PORT_SQLSERVER_2008);
}
propertyChangeSupport.firePropertyChange("vendor", this.vendor, this.vendor = vendor);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@
*******************************************************************************/
package org.obeonetwork.dsl.database.design.wizards;

import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_H2_13;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_H2_24;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_LOGICAL_TYPES;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_MARIADB_106;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_MYSQL_8;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_MARIADB_121;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_MYSQL_9;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_ORACLE_21C;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_POSTGRES_14;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_SQLSERVER_2008;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_POSTGRES_18;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_SQLSERVER_2025;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
Expand Down Expand Up @@ -215,12 +215,12 @@ protected Collection<String> getDBVendors() {
if (dbVendors == null) {
dbVendors = new ArrayList<String>();
dbVendors.add(DB_LOGICAL_TYPES);
dbVendors.add(DB_MYSQL_8);
dbVendors.add(DB_MARIADB_106);
dbVendors.add(DB_MYSQL_9);
dbVendors.add(DB_MARIADB_121);
dbVendors.add(DB_ORACLE_21C);
dbVendors.add(DB_H2_13);
dbVendors.add(DB_POSTGRES_14);
dbVendors.add(DB_SQLSERVER_2008);
dbVendors.add(DB_H2_24);
dbVendors.add(DB_POSTGRES_18);
dbVendors.add(DB_SQLSERVER_2025);
}
return dbVendors;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@
package org.obeonetwork.dsl.database.design.wizards;

import static org.obeonetwork.dsl.database.design.IDatabaseViewpointConstants.DATABASE_DIAGRAM_ID;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_H2_13;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_H2_24;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_LOGICAL_TYPES;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_MARIADB_106;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_MYSQL_8;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_MARIADB_121;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_MYSQL_9;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_ORACLE_21C;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_POSTGRES_14;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_SQLSERVER_2008;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_POSTGRES_18;
import static org.obeonetwork.dsl.database.spec.DatabaseConstants.DB_SQLSERVER_2025;
import static org.obeonetwork.dsl.typeslibrary.util.TypesLibraryUtil.H2_PATHMAP;
import static org.obeonetwork.dsl.typeslibrary.util.TypesLibraryUtil.LOGICAL_PATHMAP;
import static org.obeonetwork.dsl.typeslibrary.util.TypesLibraryUtil.MARIADB_PATHMAP;
Expand Down Expand Up @@ -67,22 +67,22 @@ protected Collection<EObject> createInitialObjects() {

Resource typesLibraryResource = null;
switch (dbVendor) {
case DB_MYSQL_8:
case DB_MYSQL_9:
typesLibraryResource = resourceSet.getResource(URI.createURI(MYSQL_PATHMAP), true);
break;
case DB_MARIADB_106:
case DB_MARIADB_121:
typesLibraryResource = resourceSet.getResource(URI.createURI(MARIADB_PATHMAP), true);
break;
case DB_ORACLE_21C:
typesLibraryResource = resourceSet.getResource(URI.createURI(ORACLE_PATHMAP), true);
break;
case DB_H2_13:
case DB_H2_24:
typesLibraryResource = resourceSet.getResource(URI.createURI(H2_PATHMAP), true);
break;
case DB_POSTGRES_14:
case DB_POSTGRES_18:
typesLibraryResource = resourceSet.getResource(URI.createURI(POSTGRES_PATHMAP), true);
break;
case DB_SQLSERVER_2008:
case DB_SQLSERVER_2025:
typesLibraryResource = resourceSet.getResource(URI.createURI(SQLSERVER_PATHMAP), true);
break;
case DB_LOGICAL_TYPES:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src">
<classpathentry kind="src" path="src/">
<attributes>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry exported="true" kind="lib" path="libs/snakeyaml-1.18.jar"/>
<classpathentry exported="true" kind="lib" path="libs/logback-classic-1.2.3.jar"/>
<classpathentry exported="true" kind="lib" path="libs/logback-core-1.2.3.jar"/>
<classpathentry kind="output" path="bin"/>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,14 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,2 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,16 @@

In order to execute tests always in the same context, this document explains how to lauch databases using docker with right parameters.

## Launch database

I recommend to start one container at once as some container are mapped on the same connection port.

### Prerequisites

You need to install docker first.

## Basic use

Unit tests include setup phases that already pull, launch and then stop container when needed. Just launch the **DockerTest* to execute the full process.

## Manual configuration

### MariaDB

#### Installation :
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
<packaging>jar</packaging>
<name>Database Model Reverse</name>

<properties>
<java.version>17</java.version>
</properties>

</dependencies>
</project>
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#FileLock
#Mon Jan 26 14:21:42 UTC 2026
method=file
id=19bfaae87935ecb7bd4b8eee2cf633ed7dedbc1fc48
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -1066,7 +1066,7 @@
<nativeType href="pathmap://NativeDBTypes/H2-1.3#_55BR0WBREeS9uKH-UlSsiQ"/>
</type>
</columns>
<columns xmi:id="_jiW7fzs6Eemh3MWBI3luIw" techID="_ZU62Mzs6Eemh3MWBI3luIw" name="DEFAULT" defaultValue="FALSE">
<columns xmi:id="_jiW7fzs6Eemh3MWBI3luIw" techID="_ZU62Mzs6Eemh3MWBI3luIw" name="default" defaultValue="FALSE">
<type xsi:type="typeslibrary:TypeInstance" xmi:id="_jiW7gDs6Eemh3MWBI3luIw" length="1" precision="0">
<nativeType href="pathmap://NativeDBTypes/H2-1.3#_Ja9H8GBNEeS9uKH-UlSsiQ"/>
</type>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -665,12 +665,12 @@
</tables>
<tables xsi:type="database:Table" xmi:id="_rOxveD9qEemuxfkvAcwbIQ" techID="_rMlWMj9qEemuxfkvAcwbIQ" name="order_details">
<primaryKey xmi:id="_rOxveT9qEemuxfkvAcwbIQ" techID="_rMpnoD9qEemuxfkvAcwbIQ" name="PRIMARY" columns="_rOyVrz9qEemuxfkvAcwbIQ"/>
<foreignKeys xmi:id="_rOxvej9qEemuxfkvAcwbIQ" techID="_rOOU8D9qEemuxfkvAcwbIQ" name="fk_order_details_orders1" target="_rOxvKD9qEemuxfkvAcwbIQ">
<elements xmi:id="_rOxvez9qEemuxfkvAcwbIQ" techID="_rOOU8T9qEemuxfkvAcwbIQ" fkColumn="_rOyVsT9qEemuxfkvAcwbIQ" pkColumn="_rOxvQD9qEemuxfkvAcwbIQ"/>
</foreignKeys>
<foreignKeys xmi:id="_rOxvfD9qEemuxfkvAcwbIQ" techID="_rOOU8j9qEemuxfkvAcwbIQ" name="fk_order_details_order_details_status1" target="_rOyVwz9qEemuxfkvAcwbIQ">
<elements xmi:id="_rOyVoD9qEemuxfkvAcwbIQ" techID="_rOOU8z9qEemuxfkvAcwbIQ" fkColumn="_rOyVuz9qEemuxfkvAcwbIQ" pkColumn="_rOyVxz9qEemuxfkvAcwbIQ"/>
</foreignKeys>
<foreignKeys xmi:id="_rOxvej9qEemuxfkvAcwbIQ" techID="_rOOU8D9qEemuxfkvAcwbIQ" name="fk_order_details_orders1" target="_rOxvKD9qEemuxfkvAcwbIQ">
<elements xmi:id="_rOxvez9qEemuxfkvAcwbIQ" techID="_rOOU8T9qEemuxfkvAcwbIQ" fkColumn="_rOyVsT9qEemuxfkvAcwbIQ" pkColumn="_rOxvQD9qEemuxfkvAcwbIQ"/>
</foreignKeys>
<foreignKeys xmi:id="_rOyVoT9qEemuxfkvAcwbIQ" techID="_rOOU9D9qEemuxfkvAcwbIQ" name="fk_order_details_products1" target="_rOyV0z9qEemuxfkvAcwbIQ">
<elements xmi:id="_rOyVoj9qEemuxfkvAcwbIQ" techID="_rOOU9T9qEemuxfkvAcwbIQ" fkColumn="_rOyVsz9qEemuxfkvAcwbIQ" pkColumn="_rOyV2z9qEemuxfkvAcwbIQ"/>
</foreignKeys>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
<constraints primaryKey="true"/>
</column>
<column name="company" type="VARCHAR(50)"/>
<column name="last_name" type="VARCHAR(50)" defaultValue="D'Obeo"/>
<column name="first_name" type="VARCHAR(50)" defaultValue="John"/>
<column name="last_name" type="VARCHAR(50)"/>
<column name="first_name" type="VARCHAR(50)"/>
<column name="email_address" type="VARCHAR(50)"/>
<column name="job_title" type="VARCHAR(50)"/>
<column name="business_phone" type="VARCHAR(25)"/>
Expand Down
Loading