Skip to content
Merged
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
93 changes: 93 additions & 0 deletions docs/project_schema.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@

PRAGMA foreign_keys = OFF

drop table if exists COMMANDS

drop table if exists COMMAND_PROPERTIES

drop table if exists DATA_REPOSITORIES

drop table if exists ENTITIES

drop table if exists SIMULATIONS

drop table if exists HISTORY_ITEMS

drop table if exists CONTENTS

drop table if exists PROJECTS

PRAGMA foreign_keys = ON

create table COMMANDS (
Id TEXT not null,
CommandId TEXT not null,
Discriminator TEXT not null,
CommandInverseId TEXT,
CommandType TEXT,
ObjectType TEXT,
Description TEXT,
ExtendedDescription TEXT,
Visible INTEGER,
Comment TEXT,
Sequence INTEGER,
ParentId TEXT,
primary key (Id),
constraint FK_DD4B87FE foreign key (ParentId) references COMMANDS
)

create table COMMAND_PROPERTIES (
Id integer primary key autoincrement,
Name TEXT,
Value TEXT,
CommandId TEXT,
constraint FK_71C9276E foreign key (CommandId) references COMMANDS
)

create table DATA_REPOSITORIES (
Id TEXT not null,
ContentId INTEGER,
SimulationId TEXT,
primary key (Id),
constraint fk_DataRepository_Content foreign key (ContentId) references CONTENTS,
constraint FK_524447BC foreign key (SimulationId) references SIMULATIONS
)

create table ENTITIES (
Id TEXT not null,
Discriminator TEXT not null,
ContentId INTEGER,
ProjectId INTEGER,
primary key (Id),
constraint fk_Entity_Content foreign key (ContentId) references CONTENTS,
constraint FK_9F0A793C foreign key (ProjectId) references PROJECTS
)

create table SIMULATIONS (
SimulationId TEXT not null,
primary key (SimulationId),
constraint FK_A2608560 foreign key (SimulationId) references ENTITIES
)

create table HISTORY_ITEMS (
Id TEXT not null,
UserId TEXT,
DateTime TEXT,
State INTEGER,
Sequence INTEGER,
CommandId TEXT,
primary key (Id),
constraint fk_HistoryItem_Command foreign key (CommandId) references COMMANDS
)

create table CONTENTS (
Id integer primary key autoincrement,
Data image
)

create table PROJECTS (
Id integer primary key autoincrement,
Version INTEGER,
ContentId INTEGER,
constraint fk_Project_Content foreign key (ContentId) references CONTENTS
)
6 changes: 3 additions & 3 deletions src/MoBi.Assets/MoBi.Assets.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="OSPSuite.Assets" Version="13.0.68" />
<PackageReference Include="OSPSuite.Assets.Images" Version="13.0.68" />
<PackageReference Include="OSPSuite.Core" Version="13.0.68" />
<PackageReference Include="OSPSuite.Assets" Version="13.0.70" />
<PackageReference Include="OSPSuite.Assets.Images" Version="13.0.70" />
<PackageReference Include="OSPSuite.Core" Version="13.0.70" />
</ItemGroup>

<ItemGroup>
Expand Down
11 changes: 2 additions & 9 deletions src/MoBi.BatchTool/MoBi.BatchTool.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -49,23 +49,16 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="DevExpress.Win.Design" Version="21.2.15" Condition="'$(ExcludeDesigner)' != 'true'" />
<PackageReference Include="OSPSuite.Core" Version="13.0.68" />
<PackageReference Include="OSPSuite.Core" Version="13.0.70" />
<PackageReference Include="OSPSuite.DevExpress" Version="21.2.15.1" />
<PackageReference Include="OSPSuite.FuncParser" Version="4.0.0.75" GeneratePathProperty="true" />
<PackageReference Include="OSPSuite.SimModel" Version="4.0.0.77" GeneratePathProperty="true" />
<PackageReference Include="OSPSuite.SimModelSolver_CVODES" Version="4.1.0.19" GeneratePathProperty="true" />
<PackageReference Include="System.Data.SQLite.Core" Version="1.0.119" GeneratePathProperty="true" />
<PackageReference Include="Microsoft.Data.Sqlite" Version="8.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\MoBi.Core\MoBi.Core.csproj" />
<ProjectReference Include="..\MoBi.Engine\MoBi.Engine.csproj" />
<ProjectReference Include="..\MoBi.UI\MoBi.UI.csproj" />
</ItemGroup>
<!-- Content comes from Stub.system.data.sqlite.core. Basically, implements the same task as if you added this binary as content and copy to output folder -->
<PropertyGroup>
<ContentSQLiteInteropFiles>true</ContentSQLiteInteropFiles>
<CopySQLiteInteropFiles>false</CopySQLiteInteropFiles>
<CleanSQLiteInteropFiles>false</CleanSQLiteInteropFiles>
<CollectSQLiteInteropFiles>false</CollectSQLiteInteropFiles>
</PropertyGroup>
</Project>
14 changes: 7 additions & 7 deletions src/MoBi.CLI.Core/MoBi.CLI.Core.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@


<ItemGroup>
<PackageReference Include="OSPSuite.Assets" Version="13.0.68" />
<PackageReference Include="OSPSuite.Infrastructure.Autofac" Version="13.0.68" />
<PackageReference Include="OSPSuite.Assets" Version="13.0.70" />
<PackageReference Include="OSPSuite.Infrastructure.Autofac" Version="13.0.70" />
<PackageReference Include="OSPSuite.Utility" Version="4.1.1.5" />
<PackageReference Include="OSPSuite.Core" Version="13.0.68" />
<PackageReference Include="OSPSuite.Presentation" Version="13.0.68" />
<PackageReference Include="OSPSuite.R" Version="13.0.68" />
<PackageReference Include="OSPSuite.Infrastructure" Version="13.0.68" />
<PackageReference Include="OSPSuite.Infrastructure.Castle" Version="13.0.68" />
<PackageReference Include="OSPSuite.Core" Version="13.0.70" />
<PackageReference Include="OSPSuite.Presentation" Version="13.0.70" />
<PackageReference Include="OSPSuite.R" Version="13.0.70" />
<PackageReference Include="OSPSuite.Infrastructure" Version="13.0.70" />
<PackageReference Include="OSPSuite.Infrastructure.Castle" Version="13.0.70" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\MoBi.Assets\MoBi.Assets.csproj" />
Expand Down
11 changes: 5 additions & 6 deletions src/MoBi.CLI/MoBi.CLI.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -23,17 +23,16 @@
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="9.0.6" />
<PackageReference Include="CommandLineParser" Version="2.9.1" />
<PackageReference Include="OSPSuite.Core" Version="13.0.68" />
<PackageReference Include="OSPSuite.Presentation" Version="13.0.68" />
<PackageReference Include="OSPSuite.Assets" Version="13.0.68" />
<PackageReference Include="OSPSuite.Core" Version="13.0.70" />
<PackageReference Include="OSPSuite.Presentation" Version="13.0.70" />
<PackageReference Include="OSPSuite.Assets" Version="13.0.70" />
<PackageReference Include="OSPSuite.Utility" Version="4.1.1.5" />
<PackageReference Include="OSPSuite.FuncParser" Version="4.0.0.75" GeneratePathProperty="true" />
<PackageReference Include="OSPSuite.SimModel" Version="4.0.0.77" GeneratePathProperty="true" />
<PackageReference Include="OSPSuite.SimModelSolver_CVODES" Version="4.1.0.19" GeneratePathProperty="true" />
<PackageReference Include="SixLabors.ImageSharp" Version="2.1.11" />
<PackageReference Include="System.Data.SQLite.Core" Version="1.0.119" GeneratePathProperty="true" />
<PackageReference Include="OSPSuite.Infrastructure" Version="13.0.68" />
<PackageReference Include="OSPSuite.Infrastructure.Castle" Version="13.0.68" />
<PackageReference Include="OSPSuite.Infrastructure" Version="13.0.70" />
<PackageReference Include="OSPSuite.Infrastructure.Castle" Version="13.0.70" />
</ItemGroup>
<ItemGroup>
<Content Include="..\..\dimensions\OSPSuite.Dimensions.xml" Link="OSPSuite.Dimensions.xml">
Expand Down
16 changes: 9 additions & 7 deletions src/MoBi.Core/MoBi.Core.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,17 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="FluentNHibernate" Version="3.4.0" />
<PackageReference Include="NHibernate.Extensions.Sqlite" Version="8.0.14" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="OSPSuite.Utility" Version="4.1.1.5" />
<PackageReference Include="OSPSuite.Core" Version="13.0.68" />
<PackageReference Include="OSPSuite.Assets" Version="13.0.68" />
<PackageReference Include="OSPSuite.Assets.Images" Version="13.0.68" />
<PackageReference Include="OSPSuite.Infrastructure.Export" Version="13.0.68" />
<PackageReference Include="OSPSuite.Infrastructure.Reporting" Version="13.0.68" />
<PackageReference Include="OSPSuite.Infrastructure.Serialization" Version="13.0.68" />
<PackageReference Include="OSPSuite.Infrastructure.Import" Version="13.0.68" />
<PackageReference Include="OSPSuite.Core" Version="13.0.70" />
<PackageReference Include="OSPSuite.Assets" Version="13.0.70" />
<PackageReference Include="OSPSuite.Assets.Images" Version="13.0.70" />
<PackageReference Include="OSPSuite.Infrastructure.Export" Version="13.0.70" />
<PackageReference Include="OSPSuite.Infrastructure.Reporting" Version="13.0.70" />
<PackageReference Include="OSPSuite.Infrastructure.Serialization" Version="13.0.70" />
<PackageReference Include="OSPSuite.Infrastructure.Import" Version="13.0.70" />
<PackageReference Include="Microsoft.Data.Sqlite" Version="8.0.0" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\LICENSE">
Expand Down
14 changes: 6 additions & 8 deletions src/MoBi.Core/Serialization/ORM/SessionFactoryProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@
using NHibernate.Cfg;
using NHibernate.Tool.hbm2ddl;
using OSPSuite.Core.Extensions;
using OSPSuite.Infrastructure.Serialization.Extensions;
using OSPSuite.Infrastructure.Serialization.Services;

namespace MoBi.Core.Serialization.ORM
{
public class SessionFactoryProvider : ISessionFactoryProvider
{
public ISessionFactory InitalizeSessionFactoryFor(string dataSource)
public ISessionFactory InitializeSessionFactoryFor(string dataSource)
{
var cfg = createSqlLiteConfigurationFor(dataSource);
//Create schema for database
Expand All @@ -20,10 +21,7 @@ public ISessionFactory InitalizeSessionFactoryFor(string dataSource)

public ISessionFactory OpenSessionFactoryFor(string dataSource)
{
var cfg = createSqlLiteConfigurationFor(dataSource);
var update = new SchemaUpdate(cfg);
update.Execute(useStdOut: false, doUpdate: true);
return cfg.BuildSessionFactory();
return createSqlLiteConfigurationFor(dataSource).BuildSessionFactory();
}

public SchemaExport GetSchemaExport(string dataSource)
Expand All @@ -38,11 +36,11 @@ private Configuration createSqlLiteConfigurationFor(string dataSource)
var configuration = new Configuration();
var path = dataSource.ToUNCPath();
configuration.SetProperty("connection.provider", "NHibernate.Connection.DriverConnectionProvider");
configuration.SetProperty("connection.driver_class", "NHibernate.Driver.SQLite20Driver");
configuration.SetProperty("dialect", "NHibernate.Dialect.SQLiteDialect");
configuration.SetProperty("connection.driver_class", typeof(NHibernate.Extensions.Sqlite.SqliteDriver).AssemblyQualifiedName);
configuration.SetProperty("dialect", typeof(NHibernate.Extensions.Sqlite.SqliteDialect).AssemblyQualifiedName);
configuration.SetProperty("query.substitutions", "true=1;false=0");
configuration.SetProperty("show_sql", "false");
configuration.SetProperty("connection.connection_string", $"Data Source={path};Version=3;New=False;Compress=True;");
configuration.SetProperty("connection.connection_string", ConnectionStringHelper.ConnectionStringFor(path));

return Fluently.Configure(configuration)
.Mappings(cfg => cfg.FluentMappings.AddFromAssemblyOf<SessionFactoryProvider>()).BuildConfiguration();
Expand Down
9 changes: 5 additions & 4 deletions src/MoBi.Core/Services/ProjectFileCompressor.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System.Data.Common;
using System.Data.SQLite;
using Microsoft.Data.Sqlite;
using OSPSuite.Core.Extensions;
using OSPSuite.Infrastructure.Serialization.Extensions;
using System.Data.Common;

namespace MoBi.Core.Services
{
Expand All @@ -14,14 +15,14 @@ public class ProjectFileCompressor : IProjectFileCompressor
public void Compress(string projectFile)
{
var path = projectFile.ToUNCPath();
using (var sqlLite = new SQLiteConnection(string.Format("Data Source={0}", path)))
using (var sqlLite = new SqliteConnection(ConnectionStringHelper.ConnectionStringFor(path)))
{
sqlLite.Open();
vacuum(sqlLite);
}
}

private void vacuum(SQLiteConnection sqlLite)
private void vacuum(SqliteConnection sqlLite)
{
ExecuteNonQuery(sqlLite, "vacuum;");
}
Expand Down
4 changes: 2 additions & 2 deletions src/MoBi.Engine/MoBi.Engine.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="OSPSuite.Core" Version="13.0.68" />
<PackageReference Include="OSPSuite.Assets" Version="13.0.68" />
<PackageReference Include="OSPSuite.Core" Version="13.0.70" />
<PackageReference Include="OSPSuite.Assets" Version="13.0.70" />
</ItemGroup>

<ItemGroup>
Expand Down
6 changes: 3 additions & 3 deletions src/MoBi.Presentation/MoBi.Presentation.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@
<ItemGroup>
<PackageReference Include="OSPSuite.TeXReporting" Version="3.0.1.3" />
<PackageReference Include="OSPSuite.Utility" Version="4.1.1.5" />
<PackageReference Include="OSPSuite.Presentation" Version="13.0.68" />
<PackageReference Include="OSPSuite.Presentation.Serialization" Version="13.0.68" />
<PackageReference Include="OSPSuite.Core" Version="13.0.68" />
<PackageReference Include="OSPSuite.Presentation" Version="13.0.70" />
<PackageReference Include="OSPSuite.Presentation.Serialization" Version="13.0.70" />
<PackageReference Include="OSPSuite.Core" Version="13.0.70" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\LICENSE">
Expand Down
8 changes: 4 additions & 4 deletions src/MoBi.R/MoBi.R.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="OSPSuite.Core" Version="13.0.68" />
<PackageReference Include="OSPSuite.Infrastructure" Version="13.0.68" />
<PackageReference Include="OSPSuite.Infrastructure.Castle" Version="13.0.68" />
<PackageReference Include="OSPSuite.R" Version="13.0.68" />
<PackageReference Include="OSPSuite.Core" Version="13.0.70" />
<PackageReference Include="OSPSuite.Infrastructure" Version="13.0.70" />
<PackageReference Include="OSPSuite.Infrastructure.Castle" Version="13.0.70" />
<PackageReference Include="OSPSuite.R" Version="13.0.70" />
</ItemGroup>

<ItemGroup>
Expand Down
10 changes: 5 additions & 5 deletions src/MoBi.UI/MoBi.UI.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@
<PackageReference Include="OSPSuite.DataBinding.DevExpress" Version="6.0.1.5" />
<PackageReference Include="OSPSuite.DevExpress" Version="21.2.15.1" />
<PackageReference Include="OSPSuite.Utility" Version="4.1.1.5" />
<PackageReference Include="OSPSuite.Infrastructure" Version="13.0.68" />
<PackageReference Include="OSPSuite.Infrastructure.Castle" Version="13.0.68" />
<PackageReference Include="OSPSuite.Presentation" Version="13.0.68" />
<PackageReference Include="OSPSuite.UI" Version="13.0.68" />
<PackageReference Include="OSPSuite.Core" Version="13.0.68" />
<PackageReference Include="OSPSuite.Infrastructure" Version="13.0.70" />
<PackageReference Include="OSPSuite.Infrastructure.Castle" Version="13.0.70" />
<PackageReference Include="OSPSuite.Presentation" Version="13.0.70" />
<PackageReference Include="OSPSuite.UI" Version="13.0.70" />
<PackageReference Include="OSPSuite.Core" Version="13.0.70" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\LICENSE">
Expand Down
14 changes: 3 additions & 11 deletions src/MoBi/MoBi.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -67,15 +67,14 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="OSPSuite.Core" Version="13.0.68" />
<PackageReference Include="OSPSuite.Core" Version="13.0.70" />
<PackageReference Include="OSPSuite.DevExpress" Version="21.2.15.1" />
<PackageReference Include="OSPSuite.FuncParser" Version="4.0.0.75" GeneratePathProperty="true" />
<PackageReference Include="OSPSuite.SimModel" Version="4.0.0.77" GeneratePathProperty="true" />
<PackageReference Include="OSPSuite.SimModelSolver_CVODES" Version="4.1.0.19" GeneratePathProperty="true" />
<PackageReference Include="System.Data.SQLite.Core" Version="1.0.119" GeneratePathProperty="true" />
<PackageReference Include="OSPSuite.Presentation" Version="13.0.68" GeneratePathProperty="true" />
<PackageReference Include="Microsoft.Data.Sqlite" Version="8.0.0" />
<PackageReference Include="OSPSuite.Presentation" Version="13.0.70" GeneratePathProperty="true" />
<PackageReference Include="OSPSuite.TeXReporting" Version="3.0.1.3" GeneratePathProperty="true" />

</ItemGroup>

<ItemGroup>
Expand All @@ -84,11 +83,4 @@
<ProjectReference Include="..\MoBi.UI\MoBi.UI.csproj" />
</ItemGroup>

<!-- Content comes from Stub.system.data.sqlite.core. Basically, implements the same task as if you added this binary as content and copy to output folder -->
<PropertyGroup>
<ContentSQLiteInteropFiles>true</ContentSQLiteInteropFiles>
<CopySQLiteInteropFiles>false</CopySQLiteInteropFiles>
<CleanSQLiteInteropFiles>false</CleanSQLiteInteropFiles>
<CollectSQLiteInteropFiles>false</CollectSQLiteInteropFiles>
</PropertyGroup>
</Project>
4 changes: 4 additions & 0 deletions tests/MoBi.HelpersForTests/DomainHelperForSpecs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ public static class DomainHelperForSpecs
private static Dimension _concentrationDimension;
private static Dimension _timeDimension;

private static readonly string PATH_TO_DOCS = "..\\..\\..\\..\\..\\docs\\";

public static string ProjectSchemaDumpFilePath => Path.Combine(AppDomain.CurrentDomain.BaseDirectory, PATH_TO_DOCS, "project_schema.sql");

public static string TestFileFullPath(string fileName)
{
return Path.Combine(TestFileDirectory, fileName);
Expand Down
2 changes: 1 addition & 1 deletion tests/MoBi.HelpersForTests/MoBi.HelpersForTests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="OSPSuite.Core" Version="13.0.68" />
<PackageReference Include="OSPSuite.Core" Version="13.0.70" />
</ItemGroup>

<ItemGroup>
Expand Down
4 changes: 2 additions & 2 deletions tests/MoBi.Tests/Core/SessionFactoryProviderHelperForSpecs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ namespace MoBi.Core
{
public abstract class ContextSpecificationWithSerializationDatabase<T> : ContextSpecification<T>
{
private SessionFactoryProvider _sessionFactoryProvider;
protected SessionFactoryProvider _sessionFactoryProvider;
protected ISessionFactory _sessionFactory;
protected string _dataBaseFile;

Expand All @@ -17,7 +17,7 @@ public override void GlobalContext()
_sessionFactoryProvider = new SessionFactoryProvider();

_dataBaseFile = FileHelper.GenerateTemporaryFileName();
_sessionFactory = _sessionFactoryProvider.InitalizeSessionFactoryFor(_dataBaseFile);
_sessionFactory = _sessionFactoryProvider.InitializeSessionFactoryFor(_dataBaseFile);
}

public override void GlobalCleanup()
Expand Down
Loading
Loading