Skip to content

Commit 42af587

Browse files
committed
fixed translation from filters => WLEN / 1D row filters (specific vs generic)
less logs
1 parent 2d2b6b2 commit 42af587

6 files changed

Lines changed: 50 additions & 19 deletions

File tree

src/main/java/fr/jmmc/oitools/OIFitsProcessor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ private static void merge(final String[] args) throws FitsException, IOException
239239
selector.addFilter(Selector.FILTER_MJD, parseRanges(mjds));
240240
}
241241
if (wavelengths != null) {
242-
selector.addFilter(Selector.FILTER_WAVELENGTH, parseRanges(wavelengths));
242+
selector.addFilter(Selector.FILTER_EFFWAVE, parseRanges(wavelengths));
243243
}
244244

245245
// Call merge
@@ -418,7 +418,7 @@ public static String generateCLIargs(final Selector selector) {
418418
+ ((selector.getNightID() != null) ? OIFitsProcessor.OPTION_NIGHT + " " + selector.getNightID() + " " : "")
419419
+ ((selector.hasFilter(Selector.FILTER_BASELINE)) ? OIFitsProcessor.OPTION_BASELINES + " " + dumpStrings(selector.getFilter(Selector.FILTER_BASELINE)) + " " : "")
420420
+ ((selector.hasFilter(Selector.FILTER_MJD)) ? OIFitsProcessor.OPTION_MJD_RANGES + " " + dumpRanges(selector.getFilter(Selector.FILTER_MJD)) + " " : "")
421-
+ ((selector.hasFilter(Selector.FILTER_WAVELENGTH)) ? OIFitsProcessor.OPTION_WL_RANGES + " " + dumpRanges(selector.getFilter(Selector.FILTER_WAVELENGTH)) + " " : "");
421+
+ ((selector.hasFilter(Selector.FILTER_EFFWAVE)) ? OIFitsProcessor.OPTION_WL_RANGES + " " + dumpRanges(selector.getFilter(Selector.FILTER_EFFWAVE)) + " " : "");
422422
}
423423
return "";
424424
}

src/main/java/fr/jmmc/oitools/model/DataModel.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -590,7 +590,6 @@ private DataModel(final OIFitsStandard version) {
590590
}
591591

592592
private DataModel(final Collection<OIData> oiDatas, final boolean shared) {
593-
logger.log(Level.INFO, "new DataModel for {0}", oiDatas);
594593
this.oiDatas = oiDatas;
595594
this.shared = shared;
596595
}

src/main/java/fr/jmmc/oitools/model/OIFitsCollection.java

Lines changed: 37 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -445,18 +445,28 @@ public SelectorResult findOIData(final Selector selector, final SelectorResult i
445445
filtersData1D.add(new Double1DFilter(Selector.FILTER_MJD,
446446
selector.getFilter(Selector.FILTER_MJD)));
447447
}
448-
// TODO: copy generic filters from selector.filters (1D)
448+
449+
// convert generic filters from selector.filters (1D)
450+
for (Map.Entry<String, List<?>> e : selector.getFiltersMap().entrySet()) {
451+
if (!isCustomFilter(e.getKey())) {
452+
filtersData1D.add(new Double1DFilter(e.getKey(), (List<Range>) e.getValue()));
453+
}
454+
}
455+
if (logger.isLoggable(Level.INFO)) {
456+
logger.log(Level.INFO, "filtersData1D: {0} ", filtersData1D);
457+
}
449458
}
450459
{
451460
// Wavelength filters:
452461
final List<FitsTableFilter<?>> filtersWL = result.getFiltersOIWavelength();
453462
filtersWL.clear();
454463

455-
if (selector.hasFilter(Selector.FILTER_WAVELENGTH)) {
456-
filtersWL.add(new Double1DFilter(Selector.FILTER_WAVELENGTH,
457-
selector.getFilter(Selector.FILTER_WAVELENGTH)));
464+
// convert generic filters from selector.filters (WAVELENGTH)
465+
for (Map.Entry<String, List<?>> e : selector.getFiltersMap().entrySet()) {
466+
if (isFilterOnWavelengths(e.getKey())) {
467+
filtersWL.add(new Double1DFilter(e.getKey(), (List<Range>) e.getValue()));
468+
}
458469
}
459-
// TODO: copy generic filters from selector.filters (WLEN only)
460470
}
461471
}
462472

@@ -717,8 +727,8 @@ private List<Granule> findGranules(final Selector selector) {
717727
final GranuleMatcher granuleMatcher = GranuleMatcher.getInstance(
718728
(selector.hasFilter(Selector.FILTER_MJD))
719729
? new LinkedHashSet<Range>(selector.getFilter(Selector.FILTER_MJD)) : null,
720-
(selector.hasFilter(Selector.FILTER_WAVELENGTH))
721-
? new LinkedHashSet<Range>(selector.getFilter(Selector.FILTER_WAVELENGTH)) : null
730+
(selector.hasFilter(Selector.FILTER_EFFWAVE))
731+
? new LinkedHashSet<Range>(selector.getFilter(Selector.FILTER_EFFWAVE)) : null
722732
);
723733

724734
if (!pattern.isEmpty() || !granuleMatcher.isEmpty()) {
@@ -757,4 +767,24 @@ private List<Granule> findGranules(final Selector selector) {
757767
}
758768
return granules;
759769
}
770+
771+
private static boolean isCustomFilter(final String name) {
772+
switch (name) {
773+
case Selector.FILTER_BASELINE:
774+
case Selector.FILTER_MJD:
775+
return true;
776+
default:
777+
return isFilterOnWavelengths(name);
778+
}
779+
}
780+
781+
private static boolean isFilterOnWavelengths(final String name) {
782+
switch (name) {
783+
case Selector.FILTER_EFFWAVE:
784+
case Selector.FILTER_EFFBAND:
785+
return true;
786+
default:
787+
return false;
788+
}
789+
}
760790
}

src/main/java/fr/jmmc/oitools/processing/Selector.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@
2828
*/
2929
public final class Selector {
3030

31-
public final static String FILTER_WAVELENGTH = OIFitsConstants.COLUMN_EFF_WAVE;
31+
public final static String FILTER_EFFWAVE = OIFitsConstants.COLUMN_EFF_WAVE;
32+
public final static String FILTER_EFFBAND = OIFitsConstants.COLUMN_EFF_BAND;
33+
3234
public final static String FILTER_BASELINE = OIFitsConstants.COLUMN_STA_INDEX;
3335
public final static String FILTER_MJD = OIFitsConstants.COLUMN_MJD;
3436

@@ -101,7 +103,7 @@ public void addTable(final String oiFitsPath, final Integer extNb) {
101103
}
102104
}
103105

104-
Map<String, List<?>> getFiltersMap() {
106+
public Map<String, List<?>> getFiltersMap() {
105107
return filtersMap;
106108
}
107109

src/test/java/fr/jmmc/oitools/SelectorFilterTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public static void init() throws IOException, MalformedURLException, FitsExcepti
4646
public void testFindOIData() {
4747
final Selector selector = new Selector();
4848
selector.setTargetUID(TARGET_NAME);
49-
selector.addFilter(Selector.FILTER_WAVELENGTH, Arrays.asList(new Range(2.4E-6, 2.6E-6)));
49+
selector.addFilter(Selector.FILTER_EFFWAVE, Arrays.asList(new Range(2.4E-6, 2.6E-6)));
5050

5151
final SelectorResult selectorResult = oiFitsCollection.findOIData(selector);
5252
// logger.info("testFindOIData: \n" + selectorResult);
@@ -70,7 +70,7 @@ public void testFindOIData() {
7070
public void testFindOIData2WavelengthRanges() {
7171
final Selector selector = new Selector();
7272
selector.setTargetUID(TARGET_NAME);
73-
selector.addFilter(Selector.FILTER_WAVELENGTH, Arrays.asList(new Range(2.38E-6, 2.42E-6), new Range(2.45E-6, 2.6E-6)));
73+
selector.addFilter(Selector.FILTER_EFFWAVE, Arrays.asList(new Range(2.38E-6, 2.42E-6), new Range(2.45E-6, 2.6E-6)));
7474

7575
final SelectorResult selectorResult = oiFitsCollection.findOIData(selector);
7676
// logger.info("testFindOIData: \n" + selectorResult);
@@ -94,7 +94,7 @@ public void testFindOIData2WavelengthRanges() {
9494
public void testFindOIDataEmpty() {
9595
final Selector selector = new Selector();
9696
selector.setTargetUID(TARGET_NAME);
97-
selector.addFilter(Selector.FILTER_WAVELENGTH, Arrays.asList(new Range(24E-6, 26E-6)));
97+
selector.addFilter(Selector.FILTER_EFFWAVE, Arrays.asList(new Range(24E-6, 26E-6)));
9898

9999
SelectorResult selectorResult = oiFitsCollection.findOIData(selector);
100100
// logger.info("testFindOIDataEmpty: \n" + selectorResult);
@@ -106,7 +106,7 @@ public void testFindOIDataEmpty() {
106106
public void testFindOIDataFull() {
107107
final Selector selector = new Selector();
108108
selector.setTargetUID(TARGET_NAME);
109-
selector.addFilter(Selector.FILTER_WAVELENGTH, Arrays.asList(new Range(1E-6, 10E-6)));
109+
selector.addFilter(Selector.FILTER_EFFWAVE, Arrays.asList(new Range(1E-6, 10E-6)));
110110

111111
SelectorResult selectorResult = oiFitsCollection.findOIData(selector);
112112
// logger.info("testFindOIDataFull: \n" + selectorResult);

src/test/java/fr/jmmc/oitools/util/test/TestMergeFilter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -238,12 +238,12 @@ public static void init() throws IOException, MalformedURLException, FitsExcepti
238238
oiColWls.analyzeCollection();
239239

240240
// Filter block data of the files
241-
selector.addFilter(Selector.FILTER_WAVELENGTH, Arrays.asList(new Range(0.5E-6, 1E-6)));
241+
selector.addFilter(Selector.FILTER_EFFWAVE, Arrays.asList(new Range(0.5E-6, 1E-6)));
242242
mergeFilterWlsBlockAll = Merger.process(oiColWls, selector);
243243
Assert.assertNull("Merge return not a null value", mergeFilterWlsBlockAll);
244244

245245
// Filter let pass data of the files
246-
selector.addFilter(Selector.FILTER_WAVELENGTH, WLS_FILTER_VALUE);
246+
selector.addFilter(Selector.FILTER_EFFWAVE, WLS_FILTER_VALUE);
247247
mergeFilterWlsPassSome = Merger.process(oiColWls, selector);
248248
Assert.assertNotNull("Merge return a null value", mergeFilterWlsPassSome);
249249

@@ -254,7 +254,7 @@ public static void init() throws IOException, MalformedURLException, FitsExcepti
254254
mergeFilterWlsPassSome.analyze();
255255

256256
// Filter let pass data of the files
257-
selector.addFilter(Selector.FILTER_WAVELENGTH, Arrays.asList(new Range(0.1E-6, 1E-4)));
257+
selector.addFilter(Selector.FILTER_EFFWAVE, Arrays.asList(new Range(0.1E-6, 1E-4)));
258258
mergeFilterWlsPassAll = Merger.process(oiColWls, selector);
259259
Assert.assertNotNull("Merge return a null value", mergeFilterWlsPassAll);
260260
}

0 commit comments

Comments
 (0)