Skip to content
Snippets Groups Projects
Commit ea4af793 authored by Luc Maisonobe's avatar Luc Maisonobe
Browse files

Added synchronization for reading gravity fields.

parent 4d23d2d7
No related branches found
No related tags found
No related merge requests found
......@@ -248,8 +248,11 @@ public class LazyLoadedGravityFields implements GravityFields {
@Override
public NormalizedSphericalHarmonicsProvider getConstantNormalizedProvider(final int degree,
final int order) {
final PotentialCoefficientsReader reader = readGravityField(degree, order);
final RawSphericalHarmonicsProvider provider = reader.getProvider(true, degree, order);
final RawSphericalHarmonicsProvider provider;
synchronized (readers) {
final PotentialCoefficientsReader reader = readGravityField(degree, order);
provider = reader.getProvider(true, degree, order);
}
final ConstantSphericalHarmonics frozen = new ConstantSphericalHarmonics(provider.getReferenceDate(), provider);
return new WrappingNormalizedProvider(frozen);
}
......@@ -267,8 +270,11 @@ public class LazyLoadedGravityFields implements GravityFields {
@Override
public NormalizedSphericalHarmonicsProvider getNormalizedProvider(final int degree,
final int order) {
final PotentialCoefficientsReader reader = readGravityField(degree, order);
final RawSphericalHarmonicsProvider provider = reader.getProvider(true, degree, order);
final RawSphericalHarmonicsProvider provider;
synchronized (readers) {
final PotentialCoefficientsReader reader = readGravityField(degree, order);
provider = reader.getProvider(true, degree, order);
}
return new WrappingNormalizedProvider(provider);
}
......@@ -285,8 +291,11 @@ public class LazyLoadedGravityFields implements GravityFields {
@Override
public UnnormalizedSphericalHarmonicsProvider getConstantUnnormalizedProvider(final int degree,
final int order) {
final PotentialCoefficientsReader reader = readGravityField(degree, order);
final RawSphericalHarmonicsProvider provider = reader.getProvider(false, degree, order);
final RawSphericalHarmonicsProvider provider;
synchronized (readers) {
final PotentialCoefficientsReader reader = readGravityField(degree, order);
provider = reader.getProvider(false, degree, order);
}
final ConstantSphericalHarmonics frozen = new ConstantSphericalHarmonics(provider.getReferenceDate(), provider);
return new WrappingUnnormalizedProvider(frozen);
}
......@@ -304,8 +313,11 @@ public class LazyLoadedGravityFields implements GravityFields {
@Override
public UnnormalizedSphericalHarmonicsProvider getUnnormalizedProvider(final int degree,
final int order) {
final PotentialCoefficientsReader reader = readGravityField(degree, order);
final RawSphericalHarmonicsProvider provider = reader.getProvider(false, degree, order);
final RawSphericalHarmonicsProvider provider;
synchronized (readers) {
final PotentialCoefficientsReader reader = readGravityField(degree, order);
provider = reader.getProvider(false, degree, order);
}
return new WrappingUnnormalizedProvider(provider);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment