From 01fb71232839f94ed61920b134185b2db1511340 Mon Sep 17 00:00:00 2001
From: Jonathan Guinet <jonathan.guinet@c-s.fr>
Date: Wed, 12 Jul 2017 14:21:46 -0400
Subject: [PATCH] [BUG] DSGenerator merge problem

---
 .../org/orekit/rugged/utils/DSGenerator.java    |  7 ++++---
 .../rugged/linesensor/FixedRotationTest.java    | 16 ++++------------
 .../linesensor/PolynomialRotationTest.java      | 17 ++++++-----------
 3 files changed, 14 insertions(+), 26 deletions(-)

diff --git a/src/main/java/org/orekit/rugged/utils/DSGenerator.java b/src/main/java/org/orekit/rugged/utils/DSGenerator.java
index 8cdbd1a2..d757e2ea 100644
--- a/src/main/java/org/orekit/rugged/utils/DSGenerator.java
+++ b/src/main/java/org/orekit/rugged/utils/DSGenerator.java
@@ -1,4 +1,4 @@
-/* Copyright 2013-2017 CS Systèmes d'Information
+/* Copyright 2013-2016 CS Systèmes d'Information
  * Licensed to CS Systèmes d'Information (CS) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
@@ -16,9 +16,10 @@
  */
 package org.orekit.rugged.utils;
 
+import java.util.List;
+
 import org.hipparchus.analysis.differentiation.DerivativeStructure;
 import org.orekit.utils.ParameterDriver;
-import org.orekit.utils.ParameterDriversList;
 
 /** Generator for {@link DerivativeStructure} instances from {@link ParameterDriver}.
  * <p>
@@ -32,7 +33,7 @@ public interface DSGenerator {
     /** Get the parameters selected for estimation.
      * @return parameters selected for estimation
      */
-    ParameterDriversList getSelected();
+    List<ParameterDriver> getSelected();
 
     /** Generate a constant {@link DerivativeStructure}.
      * @param value value of the constant
diff --git a/src/test/java/org/orekit/rugged/linesensor/FixedRotationTest.java b/src/test/java/org/orekit/rugged/linesensor/FixedRotationTest.java
index 895596a4..946e1f0d 100644
--- a/src/test/java/org/orekit/rugged/linesensor/FixedRotationTest.java
+++ b/src/test/java/org/orekit/rugged/linesensor/FixedRotationTest.java
@@ -46,7 +46,6 @@ import org.orekit.rugged.los.TimeDependentLOS;
 import org.orekit.rugged.utils.DSGenerator;
 import org.orekit.time.AbsoluteDate;
 import org.orekit.utils.ParameterDriver;
-import org.orekit.utils.ParameterDriversList;
 
 public class FixedRotationTest {
 
@@ -157,19 +156,16 @@ public class FixedRotationTest {
                                                    new Vector3D(rvg.nextVector()),
                                                    2 * FastMath.PI * rng.nextNormalizedDouble() / FastMath.sqrt(3)));
             TimeDependentLOS tdl = builder.build();
-            final ParameterDriversList selected = new ParameterDriversList();
-            final List<ParameterDriver> list = tdl.getParametersDrivers().collect(Collectors.toList());
-            for (final ParameterDriver driver : list) {
+            final List<ParameterDriver> selected = tdl.getParametersDrivers().collect(Collectors.toList());
+            for (final ParameterDriver driver : selected) {
                 driver.setSelected(true);
-                selected.add(driver);
             }
-
             final DSFactory factoryS = new DSFactory(selected.size(), 1);
             DSGenerator generator = new DSGenerator() {
 
                 /** {@inheritDoc} */
                 @Override
-                public ParameterDriversList getSelected() {
+                public List<ParameterDriver> getSelected() {
                     return selected;
                 }
 
@@ -186,17 +182,14 @@ public class FixedRotationTest {
                     for (ParameterDriver d : getSelected()) {
                         if (d == driver) {
                             return factoryS.variable(index, driver.getValue());
-
                         }
                         ++index;
                     }
                     return constant(driver.getValue());
-
                 }
 
             };
-            Assert.assertEquals(3, generator.getSelected().getNbParams());
-
+            Assert.assertEquals(3, generator.getSelected().size());
 
             FiniteDifferencesDifferentiator differentiator =
                             new FiniteDifferencesDifferentiator(4, 0.001);
@@ -228,7 +221,6 @@ public class FixedRotationTest {
                     Assert.assertEquals(los.getX(), losDS.getX().getValue(), 2.0e-15);
                     Assert.assertEquals(los.getY(), losDS.getY().getValue(), 2.0e-15);
                     Assert.assertEquals(los.getZ(), losDS.getZ().getValue(), 2.0e-15);
-                    //System.out.format("derivate %f", losDS.getX().getPartialDerivative(orders));
                     Assert.assertEquals(mDS[i][0].getPartialDerivative(1), losDS.getX().getPartialDerivative(orders), 2.0e-12);
                     Assert.assertEquals(mDS[i][1].getPartialDerivative(1), losDS.getY().getPartialDerivative(orders), 2.0e-12);
                     Assert.assertEquals(mDS[i][2].getPartialDerivative(1), losDS.getZ().getPartialDerivative(orders), 2.0e-12);
diff --git a/src/test/java/org/orekit/rugged/linesensor/PolynomialRotationTest.java b/src/test/java/org/orekit/rugged/linesensor/PolynomialRotationTest.java
index c24a4f48..2734af05 100644
--- a/src/test/java/org/orekit/rugged/linesensor/PolynomialRotationTest.java
+++ b/src/test/java/org/orekit/rugged/linesensor/PolynomialRotationTest.java
@@ -47,7 +47,6 @@ import org.orekit.rugged.los.TimeDependentLOS;
 import org.orekit.rugged.utils.DSGenerator;
 import org.orekit.time.AbsoluteDate;
 import org.orekit.utils.ParameterDriver;
-import org.orekit.utils.ParameterDriversList;
 
 public class PolynomialRotationTest {
 
@@ -173,19 +172,16 @@ public class PolynomialRotationTest {
                                                         2 * FastMath.PI * rng.nextNormalizedDouble() / FastMath.sqrt(3),
                                                         1.0e-4 * 2 * FastMath.PI * rng.nextNormalizedDouble() / FastMath.sqrt(3)));
             TimeDependentLOS tdl = builder.build();
-            final ParameterDriversList selected = new ParameterDriversList();
-            final List<ParameterDriver> list = tdl.getParametersDrivers().collect(Collectors.toList());
-            for (final ParameterDriver driver : list) {
+            final List<ParameterDriver> selected = tdl.getParametersDrivers().collect(Collectors.toList());
+            for (final ParameterDriver driver : selected) {
                 driver.setSelected(true);
-                selected.add(driver);
             }
-
             final DSFactory factoryS = new DSFactory(selected.size(), 1);
             DSGenerator generator = new DSGenerator() {
 
                 /** {@inheritDoc} */
                 @Override
-                public ParameterDriversList getSelected() {
+                public List<ParameterDriver> getSelected() {
                     return selected;
                 }
 
@@ -206,19 +202,18 @@ public class PolynomialRotationTest {
                         ++index;
                     }
                     return constant(driver.getValue());
-
                 }
 
             };
-            Assert.assertEquals(7, generator.getSelected().getNbParams());
+            Assert.assertEquals(7, generator.getSelected().size());
 
             FiniteDifferencesDifferentiator differentiator =
                             new FiniteDifferencesDifferentiator(4, 0.0001);
             int index = 0;
             DSFactory factory11 = new DSFactory(1, 1);
             final AbsoluteDate date = AbsoluteDate.J2000_EPOCH.shiftedBy(7.0);
-            for (final ParameterDriver driver : selected.getDrivers()) {
-                int[] orders = new int[selected.getNbParams()];
+            for (final ParameterDriver driver : selected) {
+                int[] orders = new int[selected.size()];
                 orders[index] = 1;
                 UnivariateDifferentiableMatrixFunction f =
                                 differentiator.differentiate((UnivariateMatrixFunction) x -> {
-- 
GitLab