Skip to content

Commit 8cc05b5

Browse files
committed
added DataModel.getNumericalColumnNames()
1 parent 7a7ef72 commit 8cc05b5

3 files changed

Lines changed: 33 additions & 58 deletions

File tree

rules/DataModelV1-all.xml

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2431,10 +2431,6 @@
24312431
</rules>
24322432
<repeat>[[NWAVE]]</repeat>
24332433
<array>true</array>
2434-
<datarange>
2435-
<name>RANGE_POSITIVE_STRICT</name>
2436-
<min>0.0</min>
2437-
</datarange>
24382434
</column>
24392435
<column>
24402436
<name>EFF_BAND</name>
@@ -2446,10 +2442,6 @@
24462442
</rules>
24472443
<repeat>[[NWAVE]]</repeat>
24482444
<array>true</array>
2449-
<datarange>
2450-
<name>RANGE_POSITIVE_STRICT</name>
2451-
<min>0.0</min>
2452-
</datarange>
24532445
</column>
24542446
<column>
24552447
<name>HOUR_ANGLE</name>
@@ -3019,10 +3011,6 @@
30193011
</rules>
30203012
<repeat>[[NWAVE]]</repeat>
30213013
<array>true</array>
3022-
<datarange>
3023-
<name>RANGE_POSITIVE_STRICT</name>
3024-
<min>0.0</min>
3025-
</datarange>
30263014
</column>
30273015
<column>
30283016
<name>EFF_BAND</name>
@@ -3034,10 +3022,6 @@
30343022
</rules>
30353023
<repeat>[[NWAVE]]</repeat>
30363024
<array>true</array>
3037-
<datarange>
3038-
<name>RANGE_POSITIVE_STRICT</name>
3039-
<min>0.0</min>
3040-
</datarange>
30413025
</column>
30423026
<column>
30433027
<name>HOUR_ANGLE</name>
@@ -3626,10 +3610,6 @@
36263610
</rules>
36273611
<repeat>[[NWAVE]]</repeat>
36283612
<array>true</array>
3629-
<datarange>
3630-
<name>RANGE_POSITIVE_STRICT</name>
3631-
<min>0.0</min>
3632-
</datarange>
36333613
</column>
36343614
<column>
36353615
<name>EFF_BAND</name>
@@ -3641,10 +3621,6 @@
36413621
</rules>
36423622
<repeat>[[NWAVE]]</repeat>
36433623
<array>true</array>
3644-
<datarange>
3645-
<name>RANGE_POSITIVE_STRICT</name>
3646-
<min>0.0</min>
3647-
</datarange>
36483624
</column>
36493625
<column>
36503626
<name>HOUR_ANGLE</name>

rules/DataModelV2-all.xml

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -3557,10 +3557,6 @@
35573557
</rules>
35583558
<repeat>[[NWAVE]]</repeat>
35593559
<array>true</array>
3560-
<datarange>
3561-
<name>RANGE_POSITIVE_STRICT</name>
3562-
<min>0.0</min>
3563-
</datarange>
35643560
</column>
35653561
<column>
35663562
<name>EFF_BAND</name>
@@ -3572,10 +3568,6 @@
35723568
</rules>
35733569
<repeat>[[NWAVE]]</repeat>
35743570
<array>true</array>
3575-
<datarange>
3576-
<name>RANGE_POSITIVE_STRICT</name>
3577-
<min>0.0</min>
3578-
</datarange>
35793571
</column>
35803572
<column>
35813573
<name>HOUR_ANGLE</name>
@@ -4365,10 +4357,6 @@
43654357
</rules>
43664358
<repeat>[[NWAVE]]</repeat>
43674359
<array>true</array>
4368-
<datarange>
4369-
<name>RANGE_POSITIVE_STRICT</name>
4370-
<min>0.0</min>
4371-
</datarange>
43724360
</column>
43734361
<column>
43744362
<name>EFF_BAND</name>
@@ -4380,10 +4368,6 @@
43804368
</rules>
43814369
<repeat>[[NWAVE]]</repeat>
43824370
<array>true</array>
4383-
<datarange>
4384-
<name>RANGE_POSITIVE_STRICT</name>
4385-
<min>0.0</min>
4386-
</datarange>
43874371
</column>
43884372
<column>
43894373
<name>HOUR_ANGLE</name>
@@ -5026,10 +5010,6 @@
50265010
</rules>
50275011
<repeat>[[NWAVE]]</repeat>
50285012
<array>true</array>
5029-
<datarange>
5030-
<name>RANGE_POSITIVE_STRICT</name>
5031-
<min>0.0</min>
5032-
</datarange>
50335013
</column>
50345014
<column>
50355015
<name>EFF_BAND</name>
@@ -5041,10 +5021,6 @@
50415021
</rules>
50425022
<repeat>[[NWAVE]]</repeat>
50435023
<array>true</array>
5044-
<datarange>
5045-
<name>RANGE_POSITIVE_STRICT</name>
5046-
<min>0.0</min>
5047-
</datarange>
50485024
</column>
50495025
<column>
50505026
<name>HOUR_ANGLE</name>
@@ -5562,10 +5538,6 @@
55625538
</rules>
55635539
<repeat>[[NWAVE]]</repeat>
55645540
<array>true</array>
5565-
<datarange>
5566-
<name>RANGE_POSITIVE_STRICT</name>
5567-
<min>0.0</min>
5568-
</datarange>
55695541
</column>
55705542
<column>
55715543
<name>EFF_BAND</name>
@@ -5577,10 +5549,6 @@
55775549
</rules>
55785550
<repeat>[[NWAVE]]</repeat>
55795551
<array>true</array>
5580-
<datarange>
5581-
<name>RANGE_POSITIVE_STRICT</name>
5582-
<min>0.0</min>
5583-
</datarange>
55845552
</column>
55855553
<column>
55865554
<name>NIGHT_ID</name>

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

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -554,7 +554,8 @@ private static void dump(final boolean all) {
554554

555555
// members:
556556
private final OIFitsFile oiFitsFile;
557-
557+
/* cached values */
558+
private Set<String> columnNames = null;
558559
private Set<String> columnNames1D = null;
559560
private Set<String> columnNames2D = null;
560561

@@ -567,6 +568,13 @@ public OIFitsFile getOiFitsFile() {
567568
return oiFitsFile;
568569
}
569570

571+
public Set<String> getNumericalColumnNames() {
572+
if (columnNames == null) {
573+
columnNames = getAllNumericalColumnNames();
574+
}
575+
return columnNames;
576+
}
577+
570578
public Set<String> getNumericalColumnNames1D() {
571579
if (columnNames1D == null) {
572580
columnNames1D = getAllNumericalColumnNames(false);
@@ -594,7 +602,7 @@ private Set<String> getAllNumericalColumnNames(final boolean is2D) {
594602
columnNames.add(colMeta.getName());
595603
}
596604
} else if (colMeta.is3D()) {
597-
// not supported in OIData:
605+
// not possible in OIData:
598606
} else if (!is2D) {
599607
columnNames.add(colMeta.getName());
600608
}
@@ -604,6 +612,27 @@ private Set<String> getAllNumericalColumnNames(final boolean is2D) {
604612
return columnNames;
605613
}
606614

615+
private Set<String> getAllNumericalColumnNames() {
616+
final Set<String> columnNames = new LinkedHashSet<String>();
617+
618+
for (OIData oiData : oiFitsFile.getOiDataList()) {
619+
final List<ColumnMeta> columnsDescCollection = oiData.getNumericalColumnsDescs();
620+
621+
for (ColumnMeta colMeta : columnsDescCollection) {
622+
if (colMeta != null) {
623+
if (colMeta instanceof WaveColumnMeta) {
624+
columnNames.add(colMeta.getName());
625+
} else if (colMeta.is3D()) {
626+
// not possible in OIData:
627+
} else {
628+
columnNames.add(colMeta.getName());
629+
}
630+
}
631+
}
632+
}
633+
return columnNames;
634+
}
635+
607636
/**
608637
* Main function to create files.
609638
* @param unused
@@ -614,6 +643,8 @@ public static void main(String[] unused) {
614643

615644
final DataModel dm = getInstance(OIFitsStandard.VERSION_2);
616645

646+
logger.log(Level.WARNING, "columnNames: {0}", dm.getNumericalColumnNames());
647+
617648
logger.log(Level.WARNING, "columnNames1D: {0}", dm.getNumericalColumnNames1D());
618649
logger.log(Level.WARNING, "columnNames2D: {0}", dm.getNumericalColumnNames2D());
619650
}

0 commit comments

Comments
 (0)