diff --git a/cdm/core/src/main/java/ucar/nc2/dataset/VariableDS.java b/cdm/core/src/main/java/ucar/nc2/dataset/VariableDS.java index 626b4e9de8..822e7517df 100644 --- a/cdm/core/src/main/java/ucar/nc2/dataset/VariableDS.java +++ b/cdm/core/src/main/java/ucar/nc2/dataset/VariableDS.java @@ -932,12 +932,10 @@ private void createEnhancements() { } this.dataType = scaleOffset != null ? scaleOffset.getScaledOffsetType() : this.dataType; } - /** how oh how ??? */ for (Enhance enhance : this.enhanceMode) { for (EnhancementProvider service : ServiceLoader.load(EnhancementProvider.class)) { - /** Stand and Norm require floatingpoint, buc classifier can do just numeric? */ if (service.appliesTo(enhance, this.attributes(), dataType)) { - loadedEnhancements.add(service.returnObject(this)); + loadedEnhancements.add(service.Create(this)); } } } diff --git a/cdm/core/src/main/java/ucar/nc2/filter/Classifier.java b/cdm/core/src/main/java/ucar/nc2/filter/Classifier.java index 6e8b1fb9bc..66a3f4d3da 100644 --- a/cdm/core/src/main/java/ucar/nc2/filter/Classifier.java +++ b/cdm/core/src/main/java/ucar/nc2/filter/Classifier.java @@ -1,11 +1,7 @@ package ucar.nc2.filter; - -import java.util.Map; -import java.util.Set; import ucar.ma2.Array; import ucar.ma2.IndexIterator; -import ucar.nc2.Variable; import ucar.nc2.constants.CDM; import ucar.nc2.Attribute; import ucar.nc2.dataset.NetcdfDataset.Enhance; @@ -13,25 +9,9 @@ import ucar.nc2.util.Misc; import java.util.ArrayList; import java.util.List; -import ucar.unidata.io.spi.RandomAccessFileProvider; - - - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Sets; import ucar.ma2.*; import ucar.nc2.*; -import ucar.nc2.constants.CDM; -import ucar.nc2.dataset.NetcdfDataset.Enhance; -import ucar.nc2.filter.*; -import ucar.nc2.internal.dataset.CoordinatesHelper; -import ucar.nc2.util.CancelTask; -import ucar.nc2.util.Misc; -import javax.annotation.Nullable; -import java.io.IOException; -import java.io.OutputStream; -import java.util.*; public class Classifier implements Enhancement { @@ -148,17 +128,14 @@ public static int[] stringToIntArray(String str) { public static class Provider implements EnhancementProvider { - @Override - public String getName() { - return name; - } @Override public boolean appliesTo(Enhance enhance, AttributeContainer attributes, DataType dt) { return enhance == Enhance.ApplyClassifier && attributes.findAttribute(CDM.CLASSIFY) != null && dt.isNumeric(); } - public Classifier returnObject(VariableDS var) { + @Override + public Classifier Create(VariableDS var) { return createFromVariable(var); } } diff --git a/cdm/core/src/main/java/ucar/nc2/filter/EnhancementProvider.java b/cdm/core/src/main/java/ucar/nc2/filter/EnhancementProvider.java index 614a8667f9..f1d0f7ee2d 100644 --- a/cdm/core/src/main/java/ucar/nc2/filter/EnhancementProvider.java +++ b/cdm/core/src/main/java/ucar/nc2/filter/EnhancementProvider.java @@ -5,39 +5,21 @@ package ucar.nc2.filter; -import java.util.Map; -// package ucar.nc2.dataset; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Sets; import ucar.ma2.*; import ucar.nc2.*; -import ucar.nc2.constants.CDM; import ucar.nc2.dataset.NetcdfDataset.Enhance; import ucar.nc2.dataset.VariableDS; -import ucar.nc2.filter.*; -import ucar.nc2.internal.dataset.CoordinatesHelper; -import ucar.nc2.util.CancelTask; -import ucar.nc2.util.Misc; -import javax.annotation.Nullable; -import java.io.IOException; -import java.io.OutputStream; -import java.util.*; /** - * A Service Provider of {@link Filter}. + * A Service Provider of {@link Enhancement}. */ public interface EnhancementProvider { - String getName(); - boolean appliesTo(Enhance enhance, AttributeContainer attributes, DataType dt); - Enhancement returnObject(VariableDS var); - + Enhancement Create(VariableDS var); - // void applyEnhancement(Object instance); } diff --git a/cdm/core/src/main/java/ucar/nc2/filter/Normalizer.java b/cdm/core/src/main/java/ucar/nc2/filter/Normalizer.java index 65ea5880c1..b97941b6f2 100644 --- a/cdm/core/src/main/java/ucar/nc2/filter/Normalizer.java +++ b/cdm/core/src/main/java/ucar/nc2/filter/Normalizer.java @@ -79,10 +79,6 @@ public double getRange() { public static class Provider implements EnhancementProvider { - @Override - public String getName() { - return name; - } @Override public boolean appliesTo(Enhance enhance, AttributeContainer attributes, DataType dt) { @@ -91,7 +87,7 @@ public boolean appliesTo(Enhance enhance, AttributeContainer attributes, DataTyp } @Override - public Normalizer returnObject(VariableDS var) { + public Normalizer Create(VariableDS var) { return Normalizer.createFromVariable(var); } diff --git a/cdm/core/src/main/java/ucar/nc2/filter/ScaleOffset.java b/cdm/core/src/main/java/ucar/nc2/filter/ScaleOffset.java index a4a7cb1edd..4f7de9ff11 100644 --- a/cdm/core/src/main/java/ucar/nc2/filter/ScaleOffset.java +++ b/cdm/core/src/main/java/ucar/nc2/filter/ScaleOffset.java @@ -291,12 +291,6 @@ public Filter create(Map properties) { return new ScaleOffset(properties); } - // @Override - // public void doSomething(double val) { - // System.out.println("SCALEOFFSET ! "+val); - // } - - } diff --git a/cdm/core/src/main/java/ucar/nc2/filter/Standardizer.java b/cdm/core/src/main/java/ucar/nc2/filter/Standardizer.java index 6ca0620b2d..1ca59957ea 100644 --- a/cdm/core/src/main/java/ucar/nc2/filter/Standardizer.java +++ b/cdm/core/src/main/java/ucar/nc2/filter/Standardizer.java @@ -81,11 +81,6 @@ public double getStdDev() { public static class Provider implements EnhancementProvider { - @Override - public String getName() { - return name; - } - @Override public boolean appliesTo(Enhance enhance, AttributeContainer attributes, DataType dt) { @@ -94,7 +89,7 @@ public boolean appliesTo(Enhance enhance, AttributeContainer attributes, DataTyp } @Override - public Standardizer returnObject(VariableDS var) { + public Standardizer Create(VariableDS var) { return createFromVariable(var); } } diff --git a/cdm/core/src/main/java/ucar/unidata/io/spi/EnhancementProvider.java b/cdm/core/src/main/java/ucar/unidata/io/spi/EnhancementProvider.java deleted file mode 100644 index 281c4c6578..0000000000 --- a/cdm/core/src/main/java/ucar/unidata/io/spi/EnhancementProvider.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) 1998-2019 University Corporation for Atmospheric Research/Unidata - * See LICENSE for license information. - */ -package ucar.unidata.io.spi; - -import java.io.IOException; -import ucar.unidata.io.RandomAccessFile; - -/** A Service Provider of RandomAccessFile. */ -public interface EnhancementProvider { - - /** Determine if this Provider owns this location. */ - boolean isOwnerOf(String location); - - /** Open a location that this Provider is the owner of. */ - RandomAccessFile open(String location) throws IOException; - - /** Open a location that this Provider is the owner of, with the given buffer size */ - default RandomAccessFile open(String location, int bufferSize) throws IOException { - return this.open(location); // avoid breaking an existing 3rd party implementations - } - - /** Acquire a file for a location from a cache, if available **/ - default RandomAccessFile acquire(String location) throws IOException { - return this.open(location); // avoid breaking an existing 3rd party implementations - } - - /** Acquire a file for a location, with the given buffer size, from a cache, if available **/ - default RandomAccessFile acquire(String location, int bufferSize) throws IOException { - return this.open(location, bufferSize); // avoid breaking an existing 3rd party implementations - } -}