From db1683642f4c31c5ef8ad06e531c14ccb74346e4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Charybdis=29?=
 <stephane.adjemian@univ-lemans.fr>
Date: Fri, 21 Oct 2016 17:02:33 +0200
Subject: [PATCH] Added instantiation from a Fame database.

---
 .gitmodules                      |  3 +++
 src/initialize_dseries_toolbox.m | 10 ++++++++++
 src/modules/matlab-fame-io       |  1 +
 src/read/load_data.m             |  7 +++++++
 4 files changed, 21 insertions(+)
 create mode 100644 .gitmodules
 create mode 160000 src/modules/matlab-fame-io

diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..45261cf
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "src/modules/matlab-fame-io"]
+	path = src/modules/matlab-fame-io
+	url = git@gitlab.com:McModelTeam/matlab-fame-io.git
diff --git a/src/initialize_dseries_toolbox.m b/src/initialize_dseries_toolbox.m
index 9211488..41aca89 100644
--- a/src/initialize_dseries_toolbox.m
+++ b/src/initialize_dseries_toolbox.m
@@ -62,6 +62,16 @@ cd([dseries_src_root '/../externals/x13'])
 installx13();
 cd(opath);
 
+% Add matlab-fame-io (fame connector toolbox) if available.
+if exist([dseries_src_root '/modules/matlab-fame-io'])
+    p{end+1} = '/modules/matlab-fame-io';
+    if exist([dseries_src_root '/modules/matlab-fame-io/locals.m'])
+        initialize_fame_toolbox();
+    else
+        disp('matlab-fame-io submodule is not properly configured!')
+    end
+end
+
 % Set path
 P = cellfun(@(c)[dseries_src_root(1:end-1) c], p, 'uni', false);
 addpath(P{:});
\ No newline at end of file
diff --git a/src/modules/matlab-fame-io b/src/modules/matlab-fame-io
new file mode 160000
index 0000000..581f54b
--- /dev/null
+++ b/src/modules/matlab-fame-io
@@ -0,0 +1 @@
+Subproject commit 581f54bf3edce3e57d2c05428375bd3541774f2e
diff --git a/src/read/load_data.m b/src/read/load_data.m
index 233211d..936df44 100644
--- a/src/read/load_data.m
+++ b/src/read/load_data.m
@@ -46,6 +46,13 @@ elseif check_file_extension(filename,'xls') || check_file_extension(filename,'xl
     end
     [freq, init, data, varlist] = load_xls_file_data(filename, sheet, range);
     tex = [];
+elseif check_file_extension(filename,'db')
+    % Fame database (need to have matlab-fame-io submodule and TimeIQ installed)
+    FameInfo = fame.open.connector();
+    db = fame.open.database(FameInfo, filename);
+    [data, init, varlist] = fame.getall.timeseries(db);
+    fame.close.database(fid);
+    fame.close.connector(FameInfo);
 else
     error('dseries:WrongInputArguments', 'I''m not able to load data from %s!', filename);
 end
-- 
GitLab