Skip to content

Commit 9d7f0ca

Browse files
committed
v1.0.21
Changed all calls to COMPOSITE_RESULTS_SEASONAL to pick the right seasonal component for each document
1 parent cf81ac6 commit 9d7f0ca

12 files changed

Lines changed: 41 additions & 142 deletions

File tree

JD_ConCur/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>de.bundesbank</groupId>
66
<artifactId>concur-parent</artifactId>
7-
<version>1.0.21-RC3</version>
7+
<version>1.0.21</version>
88
</parent>
99

1010

JD_ConCur/src/main/java/de/bbk/concur/TablesPercentageChange.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public TablesPercentageChange(SaDocument doc) {
4141
trend = percentageChange(DocumentManager.instance.getTs(doc, SavedTables.COMPOSITE_RESULTS_TREND_WITH_FORECAST));
4242
irregular = percentageChange(DocumentManager.instance.getTs(doc, SavedTables.COMPOSITE_RESULTS_IRREGULAR_WITH_FORECAST));
4343
seasonallyAdjusted = percentageChange(DocumentManager.instance.getTs(doc, SavedTables.COMPOSITE_RESULTS_SEASONALLY_ADJUSTED_WITH_FORECAST)).rename(SavedTables.NAME_SHORT_SEASONALLY_ADJUSTED);
44-
seasonalFactor = percentageChange(DocumentManager.instance.getTs(doc, SavedTables.COMPOSITE_RESULTS_SEASONAL_WITH_FORECAST)).rename(SavedTables.NAME_SHORT_SEASONAL_FACTOR);
44+
seasonalFactor = percentageChange(DocumentManager.instance.getTs(doc, SavedTables.pickSeasonalWithForecastCompositeFor(doc))).rename(SavedTables.NAME_SHORT_SEASONAL_FACTOR);
4545
calendarFactor = percentageChange(DocumentManager.instance.getTs(doc, SavedTables.COMPOSITE_RESULTS_CALENDAR_WITH_FORECAST)).rename(SavedTables.NAME_SHORT_CALENDAR_FACTOR);
4646

4747
savedSeasonallyAdjusted = percentageChange(SeasonallyAdjusted_Saved.calcSeasonallyAdjusted(doc)).rename(SavedTables.NAME_SHORT_SEASONALLY_ADJUSTED_SAVED);

JD_ConCur/src/main/java/de/bbk/concur/actions/SelectionSaveSeasonalFactorToWorkspace.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,15 @@
2222

2323
import static de.bbk.concur.util.InPercent.convertTsDataInPercentIfMult;
2424
import de.bbk.concur.util.SavedTables;
25-
import static de.bbk.concur.util.SavedTables.COMPOSITE_RESULTS_SEASONAL_D10_WITH_FORECAST;
2625
import de.bbk.concur.util.TsData_MetaDataConverter;
2726
import ec.nbdemetra.sa.MultiProcessingManager;
2827
import ec.nbdemetra.sa.SaBatchUI;
2928
import ec.nbdemetra.ws.actions.AbstractViewAction;
3029
import ec.satoolkit.DecompositionMode;
30+
import ec.satoolkit.ISaSpecification;
31+
import ec.tss.documents.DocumentManager;
3132
import ec.tss.sa.SaItem;
33+
import ec.tss.sa.documents.SaDocument;
3234
import ec.tstoolkit.MetaData;
3335
import ec.tstoolkit.algorithm.CompositeResults;
3436
import ec.tstoolkit.timeseries.simplets.TsData;
@@ -88,10 +90,10 @@ protected void process(SaBatchUI cur) {
8890
}
8991
if (results != null) {
9092
DecompositionMode mode = results.getData("mode", DecompositionMode.class);
91-
TsData seasonalFactor = SavedTables.getSeasonalFactorWithForecast(item.toDocument(), COMPOSITE_RESULTS_SEASONAL_D10_WITH_FORECAST).getTsData();
93+
SaDocument<ISaSpecification> doc = item.toDocument();
94+
TsData seasonalFactor = DocumentManager.instance.getTs(doc, SavedTables.pickSeasonalWithForecastCompositeFor(doc)).getTsData();
9295

9396
if (seasonalFactor != null) {
94-
9597
seasonalFactor = convertTsDataInPercentIfMult(seasonalFactor, mode.isMultiplicative());
9698
TsData_MetaDataConverter.convertTsToMetaData(seasonalFactor, meta, SavedTables.SEASONALFACTOR);
9799
} else {

JD_ConCur/src/main/java/de/bbk/concur/util/D8BInfos.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ public D8BInfos(SaDocument doc) {
9191
//TODO
9292
replacementValues = null;
9393
}
94-
Ts seasonalFactorTemp = DocumentManager.instance.getTs(doc, SavedTables.COMPOSITE_RESULTS_SEASONAL);
94+
Ts seasonalFactorTemp = DocumentManager.instance.getTs(doc, SavedTables.pickSeasonalCompositeFor(doc));
9595
if (doc instanceof X13Document) {
9696
seasonalFactorTemp = DocumentManager.instance.getTs(doc, "decomposition.d-tables.d10");
9797
}

JD_ConCur/src/main/java/de/bbk/concur/util/SavedTables.java

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,8 @@
2020
*/
2121
package de.bbk.concur.util;
2222

23-
import ec.tss.Ts;
24-
import ec.tss.documents.DocumentManager;
2523
import ec.tss.sa.documents.SaDocument;
2624
import ec.tss.sa.documents.X13Document;
27-
import ec.tstoolkit.timeseries.simplets.TsData;
2825

2926
/**
3027
*
@@ -72,24 +69,14 @@ public enum TABLES {
7269
public static final String COMPOSITE_RESULTS_CALENDAR_WITH_FORECAST = "@composite@" + NAME_CALENDAR_FACTOR + "=,cal,cal_f";
7370
public static final String COMPOSITE_RESULTS_SEASONAL = "@composite@" + NAME_SEASONAL_FACTOR + "=,s_cmp,";
7471
public static final String COMPOSITE_RESULTS_SEASONAL_WITH_FORECAST = "@composite@" + NAME_SEASONAL_FACTOR + "=,s_cmp,s_cmp_f";
75-
public static final String COMPOSITE_RESULTS_SEASONAL_D10 = "@composite@" + NAME_SEASONAL_FACTOR + "=,decomposition.d10,";
76-
public static final String COMPOSITE_RESULTS_SEASONAL_D10_WITH_FORECAST = "@composite@" + NAME_SEASONAL_FACTOR + "=,decomposition.d10,decomposition.d10a";
72+
public static final String COMPOSITE_RESULTS_SEASONAL_X13 = "@composite@" + NAME_SEASONAL_FACTOR + "=,decomposition.d-tables.d10,";
73+
public static final String COMPOSITE_RESULTS_SEASONAL_WITH_FORECAST_X13 = "@composite@" + NAME_SEASONAL_FACTOR + "=,decomposition.d-tables.d10,decomposition.d-tables.d10a";
7774

78-
public static Ts getSeasonalFactorWithForecast(SaDocument doc, String composite_result) {
79-
Ts seasonalFactor = DocumentManager.instance.getTs(doc, COMPOSITE_RESULTS_SEASONAL_WITH_FORECAST);
80-
if (doc instanceof X13Document) {
81-
TsData d10 = DocumentManager.instance.getTs(doc, COMPOSITE_RESULTS_SEASONAL_D10_WITH_FORECAST).getTsData();
82-
TsData d10a = DocumentManager.instance.getTs(doc, COMPOSITE_RESULTS_SEASONAL_D10).getTsData();
83-
seasonalFactor.set(d10.update(d10a));
84-
}
85-
return seasonalFactor;
75+
public static final String pickSeasonalCompositeFor(SaDocument doc) {
76+
return doc instanceof X13Document ? SavedTables.COMPOSITE_RESULTS_SEASONAL_X13 : SavedTables.COMPOSITE_RESULTS_SEASONAL;
8677
}
8778

88-
public static Ts getSeasonalFactor(SaDocument doc, String composite_result) {
89-
Ts seasonalFactor = DocumentManager.instance.getTs(doc, COMPOSITE_RESULTS_SEASONAL_WITH_FORECAST);
90-
if (doc instanceof X13Document) {
91-
seasonalFactor = DocumentManager.instance.getTs(doc, COMPOSITE_RESULTS_SEASONAL_D10);
92-
}
93-
return seasonalFactor;
79+
public static final String pickSeasonalWithForecastCompositeFor(SaDocument doc) {
80+
return doc instanceof X13Document ? SavedTables.COMPOSITE_RESULTS_SEASONAL_WITH_FORECAST_X13 : SavedTables.COMPOSITE_RESULTS_SEASONAL_WITH_FORECAST;
9481
}
9582
}

JD_ConCur/src/main/java/de/bbk/concur/view/OnlySAView.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
package de.bbk.concur.view;
2222

2323
import de.bbk.concur.util.SavedTables;
24-
import static de.bbk.concur.util.SavedTables.COMPOSITE_RESULTS_SEASONAL_D10_WITH_FORECAST;
2524
import ec.satoolkit.DecompositionMode;
2625
import ec.tss.Ts;
2726
import ec.tss.TsCollection;
@@ -70,7 +69,7 @@ public void set(SaDocument doc) {
7069
chart.getTsCollection().append(items);
7170

7271
TsData y = DocumentManager.instance.getTs(doc, SavedTables.COMPOSITE_RESULTS_SERIES_WITH_FORECAST).getTsData();
73-
TsData s_cmp = SavedTables.getSeasonalFactorWithForecast(doc, COMPOSITE_RESULTS_SEASONAL_D10_WITH_FORECAST).getTsData();
72+
TsData s_cmp = DocumentManager.instance.getTs(doc, SavedTables.pickSeasonalWithForecastCompositeFor(doc)).getTsData();
7473
TsData onlySAData;
7574
if (doc.getFinalDecomposition().getMode() != DecompositionMode.Additive) {
7675
onlySAData = y.div(s_cmp);

JD_ConCur/src/main/java/de/bbk/concur/view/SeasonalView.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@
2121
package de.bbk.concur.view;
2222

2323
import static de.bbk.concur.util.InPercent.convertTsInPercentIfMult;
24-
import de.bbk.concur.util.SavedTables;
2524
import static de.bbk.concur.util.SavedTables.*;
2625
import de.bbk.concur.util.TsData_Saved;
2726
import ec.satoolkit.DecompositionMode;
2827
import ec.tss.Ts;
2928
import ec.tss.TsCollection;
29+
import ec.tss.documents.DocumentManager;
3030
import ec.tss.sa.documents.SaDocument;
3131
import ec.ui.chart.JTsChart;
3232
import ec.ui.interfaces.IDisposable;
@@ -61,7 +61,7 @@ public void set(SaDocument doc) {
6161
if (doc.getFinalDecomposition() != null) {
6262
DecompositionMode mode = doc.getFinalDecomposition().getMode();
6363

64-
Ts seasonalFactor = SavedTables.getSeasonalFactorWithForecast(doc, COMPOSITE_RESULTS_SEASONAL_D10_WITH_FORECAST);
64+
Ts seasonalFactor = DocumentManager.instance.getTs(doc, pickSeasonalWithForecastCompositeFor(doc));
6565

6666
if (seasonalFactor != null && seasonalFactor.getTsData() != null) {
6767
seasonalFactor = convertTsInPercentIfMult(seasonalFactor, mode.isMultiplicative());

JD_ConCur/src/main/java/de/bbk/concur/view/TablesSeriesView.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222

2323
import de.bbk.concur.util.InPercent;
2424
import de.bbk.concur.util.SavedTables;
25-
import static de.bbk.concur.util.SavedTables.COMPOSITE_RESULTS_SEASONAL_D10_WITH_FORECAST;
2625
import de.bbk.concur.util.SeasonallyAdjusted_Saved;
2726
import de.bbk.concur.util.TsData_Saved;
2827
import ec.tss.Ts;
@@ -76,7 +75,7 @@ public void set(SaDocument doc) {
7675
Ts savedSeasonallyAdjusted = SeasonallyAdjusted_Saved.calcSeasonallyAdjusted(doc);
7776
seriesGridContent.add(savedSeasonallyAdjusted.rename(SavedTables.NAME_SHORT_SEASONALLY_ADJUSTED_SAVED));
7877

79-
Ts seasonalFactor = SavedTables.getSeasonalFactorWithForecast(doc, COMPOSITE_RESULTS_SEASONAL_D10_WITH_FORECAST);
78+
Ts seasonalFactor = DocumentManager.instance.getTs(doc, SavedTables.pickSeasonalWithForecastCompositeFor(doc), false);
8079

8180
if (seasonalFactor.getTsData() != null) {
8281
seasonalFactor = InPercent.convertTsInPercentIfMult(seasonalFactor, isMultiplicative);

JD_ConCurReport/pom.xml

Lines changed: 2 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>de.bundesbank</groupId>
66
<artifactId>concur-parent</artifactId>
7-
<version>1.0.21-RC3</version>
7+
<version>1.0.21</version>
88
</parent>
99

1010
<groupId>de.bbk</groupId>
@@ -144,98 +144,8 @@
144144
<dependency>
145145
<groupId>org.projectlombok</groupId>
146146
<artifactId>lombok</artifactId>
147-
<version>1.18.20</version>
147+
<version>1.18.24</version>
148148
<scope>provided</scope>
149149
</dependency>
150-
<dependency>
151-
<groupId>org.netbeans.api</groupId>
152-
<artifactId>org-netbeans-api-annotations-common</artifactId>
153-
<version>${netbeans.version}</version>
154-
<type>jar</type>
155-
</dependency>
156-
<dependency>
157-
<groupId>org.netbeans.api</groupId>
158-
<artifactId>org-netbeans-api-intent</artifactId>
159-
<version>${netbeans.version}</version>
160-
<type>jar</type>
161-
</dependency>
162-
<dependency>
163-
<groupId>org.netbeans.api</groupId>
164-
<artifactId>org-netbeans-api-io</artifactId>
165-
<version>${netbeans.version}</version>
166-
<type>jar</type>
167-
</dependency>
168-
<dependency>
169-
<groupId>org.netbeans.api</groupId>
170-
<artifactId>org-netbeans-api-progress-nb</artifactId>
171-
<version>${netbeans.version}</version>
172-
<type>jar</type>
173-
</dependency>
174-
<dependency>
175-
<groupId>org.netbeans.api</groupId>
176-
<artifactId>org-netbeans-api-templates</artifactId>
177-
<version>${netbeans.version}</version>
178-
<type>jar</type>
179-
</dependency>
180-
<dependency>
181-
<groupId>org.netbeans.api</groupId>
182-
<artifactId>org-netbeans-core-multiview</artifactId>
183-
<version>${netbeans.version}</version>
184-
<type>jar</type>
185-
</dependency>
186-
<dependency>
187-
<groupId>org.netbeans.api</groupId>
188-
<artifactId>org-netbeans-modules-settings</artifactId>
189-
<version>${netbeans.version}</version>
190-
<type>jar</type>
191-
</dependency>
192-
<dependency>
193-
<groupId>org.netbeans.api</groupId>
194-
<artifactId>org-netbeans-swing-outline</artifactId>
195-
<version>${netbeans.version}</version>
196-
<type>jar</type>
197-
</dependency>
198-
<dependency>
199-
<groupId>org.netbeans.api</groupId>
200-
<artifactId>org-openide-actions</artifactId>
201-
<version>${netbeans.version}</version>
202-
<type>jar</type>
203-
</dependency>
204-
<dependency>
205-
<groupId>org.netbeans.api</groupId>
206-
<artifactId>org-openide-explorer</artifactId>
207-
<version>${netbeans.version}</version>
208-
<type>jar</type>
209-
</dependency>
210-
<dependency>
211-
<groupId>org.netbeans.api</groupId>
212-
<artifactId>org-openide-filesystems</artifactId>
213-
<version>${netbeans.version}</version>
214-
<type>jar</type>
215-
</dependency>
216-
<dependency>
217-
<groupId>org.netbeans.api</groupId>
218-
<artifactId>org-openide-filesystems-nb</artifactId>
219-
<version>${netbeans.version}</version>
220-
<type>jar</type>
221-
</dependency>
222-
<dependency>
223-
<groupId>org.netbeans.api</groupId>
224-
<artifactId>org-openide-io</artifactId>
225-
<version>${netbeans.version}</version>
226-
<type>jar</type>
227-
</dependency>
228-
<dependency>
229-
<groupId>org.netbeans.api</groupId>
230-
<artifactId>org-openide-loaders</artifactId>
231-
<version>${netbeans.version}</version>
232-
<type>jar</type>
233-
</dependency>
234-
<dependency>
235-
<groupId>org.netbeans.api</groupId>
236-
<artifactId>org-openide-modules</artifactId>
237-
<version>${netbeans.version}</version>
238-
<type>jar</type>
239-
</dependency>
240150
</dependencies>
241151
</project>

JD_ConCurReport/src/main/java/de/bbk/concurreport/MainTable.java

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,40 +6,42 @@
66
package de.bbk.concurreport;
77

88
import de.bbk.concur.util.SavedTables;
9+
import ec.tss.sa.documents.SaDocument;
10+
import java.util.function.Function;
911

1012
/**
1113
*
1214
* @author s4504tw
1315
*/
1416
public enum MainTable {
15-
SERIES("Series", SavedTables.COMPOSITE_RESULTS_SERIES),
16-
SERIES_WITH_FORECAST("Series with forecast", SavedTables.COMPOSITE_RESULTS_SERIES_WITH_FORECAST),
17-
SEASONALLY_ADJUSTED("Seasonally adjusted", SavedTables.COMPOSITE_RESULTS_SEASONALLY_ADJUSTED),
18-
SEASONALLY_ADJUSTED_WITH_FORECAST("Seasonally adjusted with forecast", SavedTables.COMPOSITE_RESULTS_SEASONALLY_ADJUSTED_WITH_FORECAST),
19-
TREND("Trend", SavedTables.COMPOSITE_RESULTS_TREND),
20-
TREND_WITH_FORECAST("Trend with forecast", SavedTables.COMPOSITE_RESULTS_TREND_WITH_FORECAST),
21-
SEASONAL("Seasonal", SavedTables.COMPOSITE_RESULTS_SEASONAL),
22-
SEASONAL_WITH_FORECAST("Seasonal with forecast", SavedTables.COMPOSITE_RESULTS_SEASONAL_WITH_FORECAST),
23-
CALENDAR("Calendar", SavedTables.COMPOSITE_RESULTS_CALENDAR),
24-
CALENDAR_WITH_FORECAST("Calendar with forecast", SavedTables.COMPOSITE_RESULTS_CALENDAR_WITH_FORECAST),
25-
IRREGULAR("Irregular", SavedTables.COMPOSITE_RESULTS_IRREGULAR),
26-
IRREGULAR_WITH_FORECAST("Irregular with forecast", SavedTables.COMPOSITE_RESULTS_IRREGULAR_WITH_FORECAST);
17+
SERIES("Series", t -> SavedTables.COMPOSITE_RESULTS_SERIES),
18+
SERIES_WITH_FORECAST("Series with forecast", t -> SavedTables.COMPOSITE_RESULTS_SERIES_WITH_FORECAST),
19+
SEASONALLY_ADJUSTED("Seasonally adjusted", t -> SavedTables.COMPOSITE_RESULTS_SEASONALLY_ADJUSTED),
20+
SEASONALLY_ADJUSTED_WITH_FORECAST("Seasonally adjusted with forecast", t -> SavedTables.COMPOSITE_RESULTS_SEASONALLY_ADJUSTED_WITH_FORECAST),
21+
TREND("Trend", t -> SavedTables.COMPOSITE_RESULTS_TREND),
22+
TREND_WITH_FORECAST("Trend with forecast", t -> SavedTables.COMPOSITE_RESULTS_TREND_WITH_FORECAST),
23+
SEASONAL("Seasonal", t -> SavedTables.pickSeasonalCompositeFor(t)),
24+
SEASONAL_WITH_FORECAST("Seasonal with forecast", t -> SavedTables.pickSeasonalWithForecastCompositeFor(t)),
25+
CALENDAR("Calendar", t -> SavedTables.COMPOSITE_RESULTS_CALENDAR),
26+
CALENDAR_WITH_FORECAST("Calendar with forecast", t -> SavedTables.COMPOSITE_RESULTS_CALENDAR_WITH_FORECAST),
27+
IRREGULAR("Irregular", t -> SavedTables.COMPOSITE_RESULTS_IRREGULAR),
28+
IRREGULAR_WITH_FORECAST("Irregular with forecast", t -> SavedTables.COMPOSITE_RESULTS_IRREGULAR_WITH_FORECAST);
2729

2830
private final String displayName;
29-
private final String compositeFormula;
31+
private final Function<SaDocument, String> function;
3032

31-
private MainTable(String displayName, String compositeFormula) {
33+
private MainTable(String displayName, Function<SaDocument, String> compositeFormula) {
3234
this.displayName = displayName;
33-
this.compositeFormula = compositeFormula;
35+
this.function = compositeFormula;
3436
}
3537

3638
@Override
3739
public String toString() {
3840
return displayName;
3941
}
4042

41-
public String getCompositeFormula() {
42-
return compositeFormula;
43+
public Function<SaDocument, String> getFunction() {
44+
return function;
4345
}
4446

4547
public static MainTable fromDisplayName(String displayName) {

0 commit comments

Comments
 (0)