From 104f4088e7278f3937c1e847264bed9d45cb665d Mon Sep 17 00:00:00 2001
From: gprat <guylaine.prat@c-s.fr>
Date: Mon, 22 Jun 2020 18:51:16 +0200
Subject: [PATCH] Update deprecated method of DataProvidersManager

---
 .../java/org/orekit/rugged/TestUtils.java     |  6 +--
 .../util/InitGroundRefiningTest.java          |  4 +-
 .../util/InitInterRefiningTest.java           |  4 +-
 .../orekit/rugged/api/RuggedBuilderTest.java  | 16 +++----
 .../org/orekit/rugged/api/RuggedTest.java     | 34 +++++++-------
 .../orekit/rugged/errors/DumpManagerTest.java |  4 +-
 .../rugged/errors/DumpReplayerTest.java       | 44 +++++++++----------
 .../org/orekit/rugged/errors/DumpTest.java    |  4 +-
 .../intersection/AbstractAlgorithmTest.java   |  4 +-
 .../ConstantElevationAlgorithmTest.java       |  4 +-
 .../SensorMeanPlaneCrossingTest.java          |  4 +-
 .../refraction/AtmosphericRefractionTest.java |  4 +-
 .../rugged/utils/ExtendedEllipsoidTest.java   | 11 +++--
 .../utils/RoughVisibilityEstimatorTest.java   |  8 ++--
 .../utils/SpacecraftToObservedBodyTest.java   |  4 +-
 .../AtmosphericRefractionExamples.java        |  4 +-
 .../java/fr/cs/examples/DirectLocation.java   | 12 ++---
 .../fr/cs/examples/DirectLocationWithDEM.java |  4 +-
 .../java/fr/cs/examples/InverseLocation.java  |  4 +-
 .../refiningPleiades/GroundRefining.java      |  6 +--
 .../refiningPleiades/InterRefining.java       |  6 +--
 21 files changed, 95 insertions(+), 96 deletions(-)

diff --git a/src/test/java/org/orekit/rugged/TestUtils.java b/src/test/java/org/orekit/rugged/TestUtils.java
index 1c8c97e2..539a9762 100644
--- a/src/test/java/org/orekit/rugged/TestUtils.java
+++ b/src/test/java/org/orekit/rugged/TestUtils.java
@@ -38,7 +38,7 @@ import org.orekit.bodies.BodyShape;
 import org.orekit.bodies.CelestialBodyFactory;
 import org.orekit.bodies.GeodeticPoint;
 import org.orekit.bodies.OneAxisEllipsoid;
-import org.orekit.data.DataProvidersManager;
+import org.orekit.data.DataContext;
 import org.orekit.forces.gravity.HolmesFeatherstoneAttractionModel;
 import org.orekit.forces.gravity.ThirdBodyAttraction;
 import org.orekit.forces.gravity.potential.GravityFieldFactory;
@@ -107,8 +107,8 @@ public class TestUtils {
         TimeScalesFactory.clearUTCTAIOffsetsLoaders();
         GravityFieldFactory.clearPotentialCoefficientsReaders();
         GravityFieldFactory.clearOceanTidesReaders();
-        DataProvidersManager.getInstance().clearProviders();
-        DataProvidersManager.getInstance().clearLoadedDataNames();
+        DataContext.getDefault().getDataProvidersManager().clearProviders();
+        DataContext.getDefault().getDataProvidersManager().clearLoadedDataNames();
     }
 
     /** Clean up of factory map
diff --git a/src/test/java/org/orekit/rugged/adjustment/util/InitGroundRefiningTest.java b/src/test/java/org/orekit/rugged/adjustment/util/InitGroundRefiningTest.java
index ce0739a6..be6bcff6 100644
--- a/src/test/java/org/orekit/rugged/adjustment/util/InitGroundRefiningTest.java
+++ b/src/test/java/org/orekit/rugged/adjustment/util/InitGroundRefiningTest.java
@@ -12,7 +12,7 @@ import org.hipparchus.util.FastMath;
 import org.junit.Assert;
 import org.orekit.bodies.BodyShape;
 import org.orekit.bodies.GeodeticPoint;
-import org.orekit.data.DataProvidersManager;
+import org.orekit.data.DataContext;
 import org.orekit.data.DirectoryCrawler;
 import org.orekit.errors.OrekitException;
 import org.orekit.orbits.Orbit;
@@ -79,7 +79,7 @@ public class InitGroundRefiningTest {
         try {
             
             String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-            DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+            DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
             
             // Initialize refining context
             // ---------------------------
diff --git a/src/test/java/org/orekit/rugged/adjustment/util/InitInterRefiningTest.java b/src/test/java/org/orekit/rugged/adjustment/util/InitInterRefiningTest.java
index ecb5679f..448c8904 100644
--- a/src/test/java/org/orekit/rugged/adjustment/util/InitInterRefiningTest.java
+++ b/src/test/java/org/orekit/rugged/adjustment/util/InitInterRefiningTest.java
@@ -17,7 +17,7 @@ import org.junit.After;
 import org.junit.Assert;
 import org.orekit.bodies.BodyShape;
 import org.orekit.bodies.GeodeticPoint;
-import org.orekit.data.DataProvidersManager;
+import org.orekit.data.DataContext;
 import org.orekit.data.DirectoryCrawler;
 import org.orekit.errors.OrekitException;
 import org.orekit.orbits.Orbit;
@@ -104,7 +104,7 @@ public class InitInterRefiningTest {
         try {
             
             String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-            DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+            DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
             
             // Initialize refining context
             // ---------------------------
diff --git a/src/test/java/org/orekit/rugged/api/RuggedBuilderTest.java b/src/test/java/org/orekit/rugged/api/RuggedBuilderTest.java
index bce3be64..dd3d7e34 100644
--- a/src/test/java/org/orekit/rugged/api/RuggedBuilderTest.java
+++ b/src/test/java/org/orekit/rugged/api/RuggedBuilderTest.java
@@ -46,7 +46,7 @@ import org.orekit.bodies.BodyShape;
 import org.orekit.bodies.CelestialBodyFactory;
 import org.orekit.bodies.GeodeticPoint;
 import org.orekit.bodies.OneAxisEllipsoid;
-import org.orekit.data.DataProvidersManager;
+import org.orekit.data.DataContext;
 import org.orekit.data.DirectoryCrawler;
 import org.orekit.forces.gravity.HolmesFeatherstoneAttractionModel;
 import org.orekit.forces.gravity.ThirdBodyAttraction;
@@ -99,7 +99,7 @@ public class RuggedBuilderTest {
         throws URISyntaxException, NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         AbsoluteDate t0 = new AbsoluteDate("2012-01-01T00:00:00", TimeScalesFactory.getUTC());
 
         List<TimeStampedPVCoordinates> pv = Arrays.asList(
@@ -315,7 +315,7 @@ public class RuggedBuilderTest {
         throws URISyntaxException {
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         BodyShape  earth                                  = createEarth();
         NormalizedSphericalHarmonicsProvider gravityField = createGravityField();
         Orbit      orbit                                  = createOrbit(gravityField.getMu());
@@ -360,7 +360,7 @@ public class RuggedBuilderTest {
         throws URISyntaxException {
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         AbsoluteDate t0 = new AbsoluteDate("2012-01-01T00:00:00", TimeScalesFactory.getUTC());
 
         List<TimeStampedPVCoordinates> pv = Arrays.asList(
@@ -464,7 +464,7 @@ public class RuggedBuilderTest {
         int dimension = 200;
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         final BodyShape  earth = createEarth();
         final Orbit      orbit = createOrbit(Constants.EIGEN5C_EARTH_MU);
 
@@ -533,7 +533,7 @@ public class RuggedBuilderTest {
         int dimension = 200;
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         final BodyShape  earth = createEarth();
         final Orbit      orbit = createOrbit(Constants.EIGEN5C_EARTH_MU);
 
@@ -583,7 +583,7 @@ public class RuggedBuilderTest {
         int dimension = 200;
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         final BodyShape  earth = createEarth();
         final Orbit      orbit = createOrbit(Constants.EIGEN5C_EARTH_MU);
 
@@ -642,7 +642,7 @@ public class RuggedBuilderTest {
         throws URISyntaxException {
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
 
         // the following array is a real serialization file corresponding to the following
         // made-up empty class that does not exist in Rugged:
diff --git a/src/test/java/org/orekit/rugged/api/RuggedTest.java b/src/test/java/org/orekit/rugged/api/RuggedTest.java
index ad8dcd65..2be2c641 100644
--- a/src/test/java/org/orekit/rugged/api/RuggedTest.java
+++ b/src/test/java/org/orekit/rugged/api/RuggedTest.java
@@ -52,7 +52,7 @@ import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 import org.orekit.bodies.BodyShape;
 import org.orekit.bodies.GeodeticPoint;
-import org.orekit.data.DataProvidersManager;
+import org.orekit.data.DataContext;
 import org.orekit.data.DirectoryCrawler;
 import org.orekit.errors.OrekitException;
 import org.orekit.forces.gravity.potential.NormalizedSphericalHarmonicsProvider;
@@ -106,7 +106,7 @@ public class RuggedTest {
         int dimension = 2000;
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         BodyShape  earth                                  = TestUtils.createEarth();
         NormalizedSphericalHarmonicsProvider gravityField = TestUtils.createGravityField();
         Orbit      orbit                                  = TestUtils.createOrbit(gravityField.getMu());
@@ -196,7 +196,7 @@ public class RuggedTest {
         int dimension = 400;
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         final BodyShape  earth = TestUtils.createEarth();
         final Orbit      orbit = TestUtils.createOrbit(Constants.EIGEN5C_EARTH_MU);
 
@@ -274,7 +274,7 @@ public class RuggedTest {
         int dimension = 400;
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         final BodyShape  earth = TestUtils.createEarth();
         final Orbit      orbit = TestUtils.createOrbit(Constants.EIGEN5C_EARTH_MU);
 
@@ -331,7 +331,7 @@ public class RuggedTest {
         int dimension = 200;
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         final BodyShape  earth = TestUtils.createEarth();
         final Orbit      orbit = TestUtils.createOrbit(Constants.EIGEN5C_EARTH_MU);
 
@@ -393,7 +393,7 @@ public class RuggedTest {
         int dimension = 200;
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         final BodyShape  earth = TestUtils.createEarth();
         final Orbit      orbit = TestUtils.createOrbit(Constants.EIGEN5C_EARTH_MU);
 
@@ -451,7 +451,7 @@ public class RuggedTest {
         int dimension = 200;
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         final BodyShape  earth = TestUtils.createEarth();
         final Orbit      orbit = TestUtils.createOrbit(Constants.EIGEN5C_EARTH_MU);
 
@@ -512,7 +512,7 @@ public class RuggedTest {
         int dimension = 200;
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         final BodyShape  earth = TestUtils.createEarth();
         final Orbit      orbit = TestUtils.createOrbit(Constants.EIGEN5C_EARTH_MU);
 
@@ -577,7 +577,7 @@ public class RuggedTest {
         int nbSensors = 3;
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         final BodyShape  earth = TestUtils.createEarth();
         final Orbit      orbit = TestUtils.createOrbit(Constants.EIGEN5C_EARTH_MU);
 
@@ -708,7 +708,7 @@ public class RuggedTest {
     public void testInverseLocNearLineEnd() throws URISyntaxException {
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         Vector3D offset = Vector3D.ZERO;
         TimeScale gps = TimeScalesFactory.getGPS();
         Frame eme2000 = FramesFactory.getEME2000();
@@ -810,7 +810,7 @@ public class RuggedTest {
     public void testInverseLoc() throws URISyntaxException {
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         Vector3D offset = Vector3D.ZERO;
         TimeScale gps = TimeScalesFactory.getGPS();
         Frame eme2000 = FramesFactory.getEME2000();
@@ -911,7 +911,7 @@ public class RuggedTest {
         throws URISyntaxException {
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         final BodyShape  earth = TestUtils.createEarth();
         final Orbit      orbit = TestUtils.createOrbit(Constants.EIGEN5C_EARTH_MU);
 
@@ -967,7 +967,7 @@ public class RuggedTest {
         throws URISyntaxException {
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         final BodyShape  earth = TestUtils.createEarth();
         final Orbit      orbit = TestUtils.createOrbit(Constants.EIGEN5C_EARTH_MU);
 
@@ -1104,7 +1104,7 @@ public class RuggedTest {
         try {
 
             String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-            DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+            DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
             final BodyShape  earth = TestUtils.createEarth();
             final Orbit      orbit = TestUtils.createOrbit(Constants.EIGEN5C_EARTH_MU);
 
@@ -1245,7 +1245,7 @@ public class RuggedTest {
         throws URISyntaxException {
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         final BodyShape  earth = TestUtils.createEarth();
         final Orbit      orbit = TestUtils.createOrbit(Constants.EIGEN5C_EARTH_MU);
 
@@ -1324,7 +1324,7 @@ public class RuggedTest {
                     throws URISyntaxException {
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
 
         AbsoluteDate crossing = new AbsoluteDate("2012-01-01T12:30:00.000", TimeScalesFactory.getUTC());
 
@@ -1418,7 +1418,7 @@ public class RuggedTest {
         int dimension = 400;
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         final BodyShape  earth = TestUtils.createEarth();
         final Orbit      orbit = TestUtils.createOrbit(Constants.EIGEN5C_EARTH_MU);
 
diff --git a/src/test/java/org/orekit/rugged/errors/DumpManagerTest.java b/src/test/java/org/orekit/rugged/errors/DumpManagerTest.java
index a4b626af..ea41b83f 100644
--- a/src/test/java/org/orekit/rugged/errors/DumpManagerTest.java
+++ b/src/test/java/org/orekit/rugged/errors/DumpManagerTest.java
@@ -33,7 +33,7 @@ import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 import org.orekit.bodies.BodyShape;
 import org.orekit.bodies.GeodeticPoint;
-import org.orekit.data.DataProvidersManager;
+import org.orekit.data.DataContext;
 import org.orekit.data.DirectoryCrawler;
 import org.orekit.orbits.Orbit;
 import org.orekit.rugged.TestUtils;
@@ -150,7 +150,7 @@ public class DumpManagerTest {
        int dimension = 200;
 
        String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-       DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+       DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
        final BodyShape  earth = TestUtils.createEarth();
        final Orbit      orbit = TestUtils.createOrbit(Constants.EIGEN5C_EARTH_MU);
 
diff --git a/src/test/java/org/orekit/rugged/errors/DumpReplayerTest.java b/src/test/java/org/orekit/rugged/errors/DumpReplayerTest.java
index 6b75ff3c..880ec610 100644
--- a/src/test/java/org/orekit/rugged/errors/DumpReplayerTest.java
+++ b/src/test/java/org/orekit/rugged/errors/DumpReplayerTest.java
@@ -48,7 +48,7 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 import org.orekit.bodies.GeodeticPoint;
-import org.orekit.data.DataProvidersManager;
+import org.orekit.data.DataContext;
 import org.orekit.data.DirectoryCrawler;
 import org.orekit.rugged.api.Rugged;
 import org.orekit.rugged.linesensor.SensorPixel;
@@ -67,7 +67,7 @@ public class DumpReplayerTest {
     public void testDirectLoc01() throws URISyntaxException, IOException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         String dumpPath = getClass().getClassLoader().getResource("replay/replay-direct-loc-01.txt").toURI().getPath();
         DumpReplayer replayer = new DumpReplayer();
@@ -90,7 +90,7 @@ public class DumpReplayerTest {
     public void testDirectLoc02() throws URISyntaxException, IOException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         String dumpPath = getClass().getClassLoader().getResource("replay/replay-direct-loc-02.txt").toURI().getPath();
         DumpReplayer replayer = new DumpReplayer();
@@ -113,7 +113,7 @@ public class DumpReplayerTest {
     public void testDirectLoc03() throws URISyntaxException, IOException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         String dumpPath = getClass().getClassLoader().getResource("replay/replay-direct-loc-03.txt").toURI().getPath();
         DumpReplayer replayer = new DumpReplayer();
@@ -136,7 +136,7 @@ public class DumpReplayerTest {
     public void testDirectLoc04() throws URISyntaxException, IOException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         String dumpPath = getClass().getClassLoader().getResource("replay/replay-direct-loc-04.txt").toURI().getPath();
         File dump = tempFolder.newFile();
@@ -167,7 +167,7 @@ public class DumpReplayerTest {
     public void testDirectLocNull() throws URISyntaxException, IOException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         File tempFile = tempFolder.newFile();
         try (FileOutputStream   fos = new FileOutputStream(tempFile);
@@ -194,7 +194,7 @@ public class DumpReplayerTest {
     public void testInverseLoc01() throws URISyntaxException, IOException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         String dumpPath = getClass().getClassLoader().getResource("replay/replay-inverse-loc-01.txt").toURI().getPath();
         DumpReplayer replayer = new DumpReplayer();
@@ -216,7 +216,7 @@ public class DumpReplayerTest {
     public void testInverseLoc02() throws URISyntaxException, IOException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         String dumpPath = getClass().getClassLoader().getResource("replay/replay-inverse-loc-02.txt").toURI().getPath();
         DumpReplayer replayer = new DumpReplayer();
@@ -238,7 +238,7 @@ public class DumpReplayerTest {
     public void testInverseLoc03() throws URISyntaxException, IOException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         String dumpPath = getClass().getClassLoader().getResource("replay/replay-inverse-loc-03.txt").toURI().getPath();
         DumpReplayer replayer = new DumpReplayer();
@@ -260,7 +260,7 @@ public class DumpReplayerTest {
     public void testInverseLocNull() throws URISyntaxException, IOException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         File tempFile = tempFolder.newFile();
         try (FileOutputStream   fos = new FileOutputStream(tempFile);
@@ -284,7 +284,7 @@ public class DumpReplayerTest {
     public void testCorruptedFiles() throws URISyntaxException, IOException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         File folder = new File(getClass().getClassLoader().getResource("replay/replay-direct-loc-01.txt").toURI().getPath()).getParentFile();
         for (final File file : folder.listFiles()) {
@@ -336,7 +336,7 @@ public class DumpReplayerTest {
     public void testDirectLocIssue376_01() throws URISyntaxException, IOException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         String dumpPath = getClass().getClassLoader().getResource("replay/replay-direct-loc-Issue376-01.txt").toURI().getPath();
 
@@ -356,7 +356,7 @@ public class DumpReplayerTest {
     public void testDirectLocIssue376_02() throws URISyntaxException, IOException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         String dumpPath = getClass().getClassLoader().getResource("replay/replay-direct-loc-Issue376-02.txt").toURI().getPath();
 
@@ -376,7 +376,7 @@ public class DumpReplayerTest {
     public void testDirectLocIssue376_03() throws URISyntaxException, IOException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         String dumpPath = getClass().getClassLoader().getResource("replay/replay-direct-loc-Issue376-03.txt").toURI().getPath();
 
@@ -398,7 +398,7 @@ public class DumpReplayerTest {
     public void testCreateRuggedWithAtmosphere() throws URISyntaxException, IOException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         File tempFile = tempFolder.newFile();
         try (FileOutputStream   fos = new FileOutputStream(tempFile);
@@ -423,7 +423,7 @@ public class DumpReplayerTest {
     public void testCreateRuggedNoDEMdata() throws URISyntaxException, IOException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         File tempFile = tempFolder.newFile();
         try (FileOutputStream   fos = new FileOutputStream(tempFile);
@@ -456,7 +456,7 @@ public class DumpReplayerTest {
     public void testLineParserBadKey() throws URISyntaxException, IOException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         File tempFile = tempFolder.newFile();
         try (FileOutputStream   fos = new FileOutputStream(tempFile);
@@ -485,7 +485,7 @@ public class DumpReplayerTest {
     public void testLineParserEndColon() throws URISyntaxException, IOException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         File tempFile = tempFolder.newFile();
         try (FileOutputStream   fos = new FileOutputStream(tempFile);
@@ -510,7 +510,7 @@ public class DumpReplayerTest {
     public void testLineParserNoColon() throws URISyntaxException, IOException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         File tempFile = tempFolder.newFile();
         try (FileOutputStream   fos = new FileOutputStream(tempFile);
@@ -537,7 +537,7 @@ public class DumpReplayerTest {
                                                                 InvocationTargetException, NoSuchMethodException, SecurityException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         // ParsedSensor inner class
         Class<?> innerClass = Class.forName("org.orekit.rugged.errors.DumpReplayer$ParsedSensor");
@@ -590,7 +590,7 @@ public class DumpReplayerTest {
                                                         InvocationTargetException, NoSuchMethodException, SecurityException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         // ParsedSensor inner class
         Class<?> innerClass = Class.forName("org.orekit.rugged.errors.DumpReplayer$ParsedSensor");
@@ -620,7 +620,7 @@ public class DumpReplayerTest {
                                                      InvocationTargetException, NoSuchMethodException, SecurityException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         // ParsedSensor inner class
         Class<?> innerClass = Class.forName("org.orekit.rugged.errors.DumpReplayer$ParsedSensor");
diff --git a/src/test/java/org/orekit/rugged/errors/DumpTest.java b/src/test/java/org/orekit/rugged/errors/DumpTest.java
index a6d14929..b870d874 100644
--- a/src/test/java/org/orekit/rugged/errors/DumpTest.java
+++ b/src/test/java/org/orekit/rugged/errors/DumpTest.java
@@ -33,7 +33,7 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 import org.orekit.bodies.GeodeticPoint;
-import org.orekit.data.DataProvidersManager;
+import org.orekit.data.DataContext;
 import org.orekit.data.DirectoryCrawler;
 import org.orekit.frames.Frame;
 import org.orekit.frames.FramesFactory;
@@ -126,7 +126,7 @@ public class DumpTest {
                                             IllegalArgumentException, InvocationTargetException, IOException, URISyntaxException {
 
         String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(orekitPath)));
 
         String dumpPath = getClass().getClassLoader().getResource("replay/replay-inverse-loc-02.txt").toURI().getPath();
         
diff --git a/src/test/java/org/orekit/rugged/intersection/AbstractAlgorithmTest.java b/src/test/java/org/orekit/rugged/intersection/AbstractAlgorithmTest.java
index b7741d2e..16bac561 100644
--- a/src/test/java/org/orekit/rugged/intersection/AbstractAlgorithmTest.java
+++ b/src/test/java/org/orekit/rugged/intersection/AbstractAlgorithmTest.java
@@ -30,7 +30,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.orekit.attitudes.Attitude;
 import org.orekit.bodies.GeodeticPoint;
-import org.orekit.data.DataProvidersManager;
+import org.orekit.data.DataContext;
 import org.orekit.data.DirectoryCrawler;
 import org.orekit.frames.FramesFactory;
 import org.orekit.frames.Transform;
@@ -271,7 +271,7 @@ public abstract class AbstractAlgorithmTest {
     public void setUp() throws URISyntaxException {
         
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         earth = new ExtendedEllipsoid(Constants.WGS84_EARTH_EQUATORIAL_RADIUS,
                                       Constants.WGS84_EARTH_FLATTENING,
                                       FramesFactory.getITRF(IERSConventions.IERS_2010, true));
diff --git a/src/test/java/org/orekit/rugged/intersection/ConstantElevationAlgorithmTest.java b/src/test/java/org/orekit/rugged/intersection/ConstantElevationAlgorithmTest.java
index a9360c60..9e234381 100644
--- a/src/test/java/org/orekit/rugged/intersection/ConstantElevationAlgorithmTest.java
+++ b/src/test/java/org/orekit/rugged/intersection/ConstantElevationAlgorithmTest.java
@@ -28,7 +28,7 @@ import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 import org.orekit.attitudes.Attitude;
-import org.orekit.data.DataProvidersManager;
+import org.orekit.data.DataContext;
 import org.orekit.data.DirectoryCrawler;
 import org.orekit.frames.FramesFactory;
 import org.orekit.orbits.CartesianOrbit;
@@ -100,7 +100,7 @@ public class ConstantElevationAlgorithmTest {
     @Before
     public void setUp() throws  URISyntaxException {
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         earth = new ExtendedEllipsoid(Constants.WGS84_EARTH_EQUATORIAL_RADIUS,
                                       Constants.WGS84_EARTH_FLATTENING,
                                       FramesFactory.getITRF(IERSConventions.IERS_2010, true));
diff --git a/src/test/java/org/orekit/rugged/linesensor/SensorMeanPlaneCrossingTest.java b/src/test/java/org/orekit/rugged/linesensor/SensorMeanPlaneCrossingTest.java
index d80aa5d8..dc24287b 100644
--- a/src/test/java/org/orekit/rugged/linesensor/SensorMeanPlaneCrossingTest.java
+++ b/src/test/java/org/orekit/rugged/linesensor/SensorMeanPlaneCrossingTest.java
@@ -36,7 +36,7 @@ import org.orekit.attitudes.YawCompensation;
 import org.orekit.bodies.BodyShape;
 import org.orekit.bodies.GeodeticPoint;
 import org.orekit.bodies.OneAxisEllipsoid;
-import org.orekit.data.DataProvidersManager;
+import org.orekit.data.DataContext;
 import org.orekit.data.DirectoryCrawler;
 import org.orekit.frames.FramesFactory;
 import org.orekit.frames.Transform;
@@ -351,7 +351,7 @@ public class SensorMeanPlaneCrossingTest {
     public void setUp() throws URISyntaxException {
         TestUtils.clearFactories();
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
     }
 
 }
diff --git a/src/test/java/org/orekit/rugged/refraction/AtmosphericRefractionTest.java b/src/test/java/org/orekit/rugged/refraction/AtmosphericRefractionTest.java
index dda307f3..ab6bf69e 100644
--- a/src/test/java/org/orekit/rugged/refraction/AtmosphericRefractionTest.java
+++ b/src/test/java/org/orekit/rugged/refraction/AtmosphericRefractionTest.java
@@ -17,7 +17,7 @@ import org.junit.Assert;
 import org.junit.Test;
 import org.orekit.bodies.BodyShape;
 import org.orekit.bodies.GeodeticPoint;
-import org.orekit.data.DataProvidersManager;
+import org.orekit.data.DataContext;
 import org.orekit.data.DirectoryCrawler;
 import org.orekit.orbits.Orbit;
 import org.orekit.rugged.TestUtils;
@@ -128,7 +128,7 @@ public class AtmosphericRefractionTest {
     private RuggedBuilder initRuggedForAtmosphericTests(final int dimension, final String sensorName) throws URISyntaxException {
         
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         final BodyShape  earth = TestUtils.createEarth();
         final Orbit      orbit = TestUtils.createOrbit(Constants.EIGEN5C_EARTH_MU);
 
diff --git a/src/test/java/org/orekit/rugged/utils/ExtendedEllipsoidTest.java b/src/test/java/org/orekit/rugged/utils/ExtendedEllipsoidTest.java
index c065f18c..e4afcf9c 100644
--- a/src/test/java/org/orekit/rugged/utils/ExtendedEllipsoidTest.java
+++ b/src/test/java/org/orekit/rugged/utils/ExtendedEllipsoidTest.java
@@ -16,25 +16,24 @@
  */
 package org.orekit.rugged.utils;
 
-import org.hipparchus.geometry.euclidean.threed.Line;
-import org.hipparchus.geometry.euclidean.threed.Vector3D;
-import org.hipparchus.util.FastMath;
 import java.io.File;
 import java.net.URISyntaxException;
 
+import org.hipparchus.geometry.euclidean.threed.Line;
+import org.hipparchus.geometry.euclidean.threed.Vector3D;
+import org.hipparchus.util.FastMath;
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 import org.orekit.bodies.GeodeticPoint;
-import org.orekit.data.DataProvidersManager;
+import org.orekit.data.DataContext;
 import org.orekit.data.DirectoryCrawler;
 import org.orekit.errors.OrekitException;
 import org.orekit.frames.Frame;
 import org.orekit.frames.FramesFactory;
 import org.orekit.rugged.errors.RuggedException;
 import org.orekit.rugged.errors.RuggedMessages;
-import org.orekit.rugged.utils.ExtendedEllipsoid;
 import org.orekit.utils.Constants;
 import org.orekit.utils.IERSConventions;
 
@@ -287,7 +286,7 @@ public class ExtendedEllipsoidTest {
         try {
 
             String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-            DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+            DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
 
             Frame itrf = FramesFactory.getITRF(IERSConventions.IERS_2010, true);
             ellipsoid = new ExtendedEllipsoid(Constants.WGS84_EARTH_EQUATORIAL_RADIUS,
diff --git a/src/test/java/org/orekit/rugged/utils/RoughVisibilityEstimatorTest.java b/src/test/java/org/orekit/rugged/utils/RoughVisibilityEstimatorTest.java
index f6e782b9..dc15a51b 100644
--- a/src/test/java/org/orekit/rugged/utils/RoughVisibilityEstimatorTest.java
+++ b/src/test/java/org/orekit/rugged/utils/RoughVisibilityEstimatorTest.java
@@ -34,7 +34,7 @@ import org.orekit.bodies.BodyShape;
 import org.orekit.bodies.CelestialBodyFactory;
 import org.orekit.bodies.GeodeticPoint;
 import org.orekit.bodies.OneAxisEllipsoid;
-import org.orekit.data.DataProvidersManager;
+import org.orekit.data.DataContext;
 import org.orekit.data.DirectoryCrawler;
 import org.orekit.errors.OrekitException;
 import org.orekit.forces.gravity.HolmesFeatherstoneAttractionModel;
@@ -63,7 +63,7 @@ public class RoughVisibilityEstimatorTest {
     public void testThreeOrbitsSpan() throws URISyntaxException {
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         BodyShape  earth                                  = createEarth();
         NormalizedSphericalHarmonicsProvider gravityField = createGravityField();
         Orbit      orbit                                  = createOrbit(gravityField.getMu());
@@ -88,7 +88,7 @@ public class RoughVisibilityEstimatorTest {
     public void testOneOrbitsSpan() throws URISyntaxException {
 
         String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
         BodyShape  earth                                  = createEarth();
         NormalizedSphericalHarmonicsProvider gravityField = createGravityField();
         Orbit      orbit                                  = createOrbit(gravityField.getMu());
@@ -176,7 +176,7 @@ public class RoughVisibilityEstimatorTest {
         try {
 
             String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-            DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+            DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
 
             Frame itrf = FramesFactory.getITRF(IERSConventions.IERS_2010, true);
             ellipsoid = new ExtendedEllipsoid(Constants.WGS84_EARTH_EQUATORIAL_RADIUS,
diff --git a/src/test/java/org/orekit/rugged/utils/SpacecraftToObservedBodyTest.java b/src/test/java/org/orekit/rugged/utils/SpacecraftToObservedBodyTest.java
index cbd67c2f..74a3934d 100644
--- a/src/test/java/org/orekit/rugged/utils/SpacecraftToObservedBodyTest.java
+++ b/src/test/java/org/orekit/rugged/utils/SpacecraftToObservedBodyTest.java
@@ -33,7 +33,7 @@ import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 import org.junit.runners.Parameterized.Parameters;
 import org.orekit.bodies.BodyShape;
-import org.orekit.data.DataProvidersManager;
+import org.orekit.data.DataContext;
 import org.orekit.data.DirectoryCrawler;
 import org.orekit.errors.OrekitException;
 import org.orekit.frames.FramesFactory;
@@ -115,7 +115,7 @@ public class SpacecraftToObservedBodyTest {
         try {
 
             String path = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
-            DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(path)));
+            DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(new File(path)));
 
             earth = TestUtils.createEarth();
             orbit = TestUtils.createOrbit(Constants.EIGEN5C_EARTH_MU);
diff --git a/src/tutorials/java/fr/cs/examples/AtmosphericRefractionExamples.java b/src/tutorials/java/fr/cs/examples/AtmosphericRefractionExamples.java
index f4c52798..a6e97066 100644
--- a/src/tutorials/java/fr/cs/examples/AtmosphericRefractionExamples.java
+++ b/src/tutorials/java/fr/cs/examples/AtmosphericRefractionExamples.java
@@ -13,7 +13,7 @@ import org.hipparchus.geometry.euclidean.threed.Vector3D;
 import org.hipparchus.stat.descriptive.DescriptiveStatistics;
 import org.hipparchus.util.FastMath;
 import org.orekit.bodies.GeodeticPoint;
-import org.orekit.data.DataProvidersManager;
+import org.orekit.data.DataContext;
 import org.orekit.data.DirectoryCrawler;
 import org.orekit.frames.Frame;
 import org.orekit.frames.FramesFactory;
@@ -52,7 +52,7 @@ public class AtmosphericRefractionExamples {
         // Initialize Orekit, assuming an orekit-data folder is in user home directory
         File home       = new File(System.getProperty("user.home"));
         File orekitData = new File(home, "orekit-data");
-        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(orekitData));
+        DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(orekitData));
 
         // Sensor's definition
         // ===================
diff --git a/src/tutorials/java/fr/cs/examples/DirectLocation.java b/src/tutorials/java/fr/cs/examples/DirectLocation.java
index dbc1d63c..0d424d6d 100644
--- a/src/tutorials/java/fr/cs/examples/DirectLocation.java
+++ b/src/tutorials/java/fr/cs/examples/DirectLocation.java
@@ -16,16 +16,16 @@
  */
 package fr.cs.examples;
 
-import org.hipparchus.geometry.euclidean.threed.Rotation;
-import org.hipparchus.geometry.euclidean.threed.Vector3D;
-import org.hipparchus.util.FastMath;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Locale;
 
+import org.hipparchus.geometry.euclidean.threed.Rotation;
+import org.hipparchus.geometry.euclidean.threed.Vector3D;
+import org.hipparchus.util.FastMath;
 import org.orekit.bodies.GeodeticPoint;
-import org.orekit.data.DataProvidersManager;
+import org.orekit.data.DataContext;
 import org.orekit.data.DirectoryCrawler;
 import org.orekit.errors.OrekitException;
 import org.orekit.frames.Frame;
@@ -40,8 +40,8 @@ import org.orekit.rugged.api.RuggedBuilder;
 import org.orekit.rugged.errors.RuggedException;
 import org.orekit.rugged.linesensor.LineSensor;
 import org.orekit.rugged.linesensor.LinearLineDatation;
-import org.orekit.rugged.los.LOSBuilder;
 import org.orekit.rugged.los.FixedRotation;
+import org.orekit.rugged.los.LOSBuilder;
 import org.orekit.rugged.los.TimeDependentLOS;
 import org.orekit.time.AbsoluteDate;
 import org.orekit.time.TimeScale;
@@ -62,7 +62,7 @@ public class DirectLocation {
             // Initialize Orekit, assuming an orekit-data folder is in user home directory
             File home       = new File(System.getProperty("user.home"));
             File orekitData = new File(home, "orekit-data");
-            DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(orekitData));
+            DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(orekitData));
 
             // Sensor's definition
             // ===================
diff --git a/src/tutorials/java/fr/cs/examples/DirectLocationWithDEM.java b/src/tutorials/java/fr/cs/examples/DirectLocationWithDEM.java
index 48fc8da9..836141ba 100644
--- a/src/tutorials/java/fr/cs/examples/DirectLocationWithDEM.java
+++ b/src/tutorials/java/fr/cs/examples/DirectLocationWithDEM.java
@@ -25,7 +25,7 @@ import org.hipparchus.geometry.euclidean.threed.Rotation;
 import org.hipparchus.geometry.euclidean.threed.Vector3D;
 import org.hipparchus.util.FastMath;
 import org.orekit.bodies.GeodeticPoint;
-import org.orekit.data.DataProvidersManager;
+import org.orekit.data.DataContext;
 import org.orekit.data.DirectoryCrawler;
 import org.orekit.errors.OrekitException;
 import org.orekit.frames.Frame;
@@ -65,7 +65,7 @@ public class DirectLocationWithDEM {
             // Initialize Orekit, assuming an orekit-data folder is in user home directory
             File home       = new File(System.getProperty("user.home"));
             File orekitData = new File(home, "orekit-data");
-            DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(orekitData));
+            DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(orekitData));
 
             // Sensor's definition
             // ===================
diff --git a/src/tutorials/java/fr/cs/examples/InverseLocation.java b/src/tutorials/java/fr/cs/examples/InverseLocation.java
index b03bee91..f28daafa 100644
--- a/src/tutorials/java/fr/cs/examples/InverseLocation.java
+++ b/src/tutorials/java/fr/cs/examples/InverseLocation.java
@@ -26,7 +26,7 @@ import org.hipparchus.geometry.euclidean.threed.Vector3D;
 import org.hipparchus.util.FastMath;
 import org.orekit.bodies.GeodeticPoint;
 import org.orekit.bodies.OneAxisEllipsoid;
-import org.orekit.data.DataProvidersManager;
+import org.orekit.data.DataContext;
 import org.orekit.data.DirectoryCrawler;
 import org.orekit.errors.OrekitException;
 import org.orekit.frames.Frame;
@@ -65,7 +65,7 @@ public class InverseLocation {
             // Initialize Orekit, assuming an orekit-data folder is in user home directory
             File home       = new File(System.getProperty("user.home"));
             File orekitData = new File(home, "orekit-data");
-            DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(orekitData));
+            DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(orekitData));
 
             // Sensor's definition
             // ===================
diff --git a/src/tutorials/java/fr/cs/examples/refiningPleiades/GroundRefining.java b/src/tutorials/java/fr/cs/examples/refiningPleiades/GroundRefining.java
index 0b35215a..1e18266f 100644
--- a/src/tutorials/java/fr/cs/examples/refiningPleiades/GroundRefining.java
+++ b/src/tutorials/java/fr/cs/examples/refiningPleiades/GroundRefining.java
@@ -24,11 +24,12 @@ import org.hipparchus.geometry.euclidean.threed.Vector3D;
 import org.hipparchus.util.FastMath;
 import org.orekit.bodies.BodyShape;
 import org.orekit.bodies.GeodeticPoint;
-import org.orekit.data.DataProvidersManager;
+import org.orekit.data.DataContext;
 import org.orekit.data.DirectoryCrawler;
 import org.orekit.errors.OrekitException;
 import org.orekit.forces.gravity.potential.NormalizedSphericalHarmonicsProvider;
 import org.orekit.orbits.Orbit;
+import org.orekit.rugged.adjustment.measurements.SensorToGroundMapping;
 import org.orekit.rugged.api.AlgorithmId;
 import org.orekit.rugged.api.BodyRotatingFrameId;
 import org.orekit.rugged.api.EllipsoidId;
@@ -37,7 +38,6 @@ import org.orekit.rugged.api.Rugged;
 import org.orekit.rugged.api.RuggedBuilder;
 import org.orekit.rugged.errors.RuggedException;
 import org.orekit.rugged.linesensor.LineSensor;
-import org.orekit.rugged.adjustment.measurements.SensorToGroundMapping;
 import org.orekit.time.AbsoluteDate;
 import org.orekit.utils.AngularDerivativesFilter;
 import org.orekit.utils.CartesianDerivativesFilter;
@@ -79,7 +79,7 @@ public class GroundRefining extends Refining {
             // ---------------------------------------------------------------------------
             File home       = new File(System.getProperty("user.home"));
             File orekitData = new File(home, "orekit-data");
-            DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(orekitData));
+            DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(orekitData));
 
             // Initialize refining context
             // ---------------------------
diff --git a/src/tutorials/java/fr/cs/examples/refiningPleiades/InterRefining.java b/src/tutorials/java/fr/cs/examples/refiningPleiades/InterRefining.java
index 5c6516bc..f422b2ae 100644
--- a/src/tutorials/java/fr/cs/examples/refiningPleiades/InterRefining.java
+++ b/src/tutorials/java/fr/cs/examples/refiningPleiades/InterRefining.java
@@ -25,10 +25,11 @@ import org.hipparchus.geometry.euclidean.threed.Vector3D;
 import org.hipparchus.util.FastMath;
 import org.orekit.bodies.BodyShape;
 import org.orekit.bodies.GeodeticPoint;
-import org.orekit.data.DataProvidersManager;
+import org.orekit.data.DataContext;
 import org.orekit.data.DirectoryCrawler;
 import org.orekit.errors.OrekitException;
 import org.orekit.orbits.Orbit;
+import org.orekit.rugged.adjustment.measurements.SensorToGroundMapping;
 import org.orekit.rugged.api.AlgorithmId;
 import org.orekit.rugged.api.BodyRotatingFrameId;
 import org.orekit.rugged.api.EllipsoidId;
@@ -37,7 +38,6 @@ import org.orekit.rugged.api.Rugged;
 import org.orekit.rugged.api.RuggedBuilder;
 import org.orekit.rugged.errors.RuggedException;
 import org.orekit.rugged.linesensor.LineSensor;
-import org.orekit.rugged.adjustment.measurements.SensorToGroundMapping;
 import org.orekit.time.AbsoluteDate;
 import org.orekit.utils.AngularDerivativesFilter;
 import org.orekit.utils.CartesianDerivativesFilter;
@@ -87,7 +87,7 @@ public class InterRefining extends Refining {
 			// ---------------------------------------------------------------------------
 			File home       = new File(System.getProperty("user.home"));
 			File orekitData = new File(home, "orekit-data");
-			DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(orekitData));
+			DataContext.getDefault().getDataProvidersManager().addProvider(new DirectoryCrawler(orekitData));
 
 			// Initialize refining context
 			// ---------------------------
-- 
GitLab