Skip to content

Commit 822b5f1

Browse files
committed
Add A1Handler
1 parent dfa2b26 commit 822b5f1

3 files changed

Lines changed: 147 additions & 75 deletions

File tree

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>de.bundesbank.jdemetra</groupId>
55
<artifactId>ExcelAdapter</artifactId>
6-
<version>1.1</version>
6+
<version>1.2</version>
77
<packaging>nbm</packaging>
88
<properties>
99
<netbeans.version>RELEASE82</netbeans.version>
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
/*
2+
* To change this license header, choose License Headers in Project Properties.
3+
* To change this template file, choose Tools | Templates
4+
* and open the template in the editor.
5+
*/
6+
package de.bundesbank.jdemetra.exceladapter.handler;
7+
8+
import de.bundesbank.jdemetra.exceladapter.ExcelMetaDataHelper;
9+
import ec.satoolkit.x11.X11Kernel;
10+
import ec.tss.Ts;
11+
import ec.tss.TsFactory;
12+
import ec.tss.sa.SaItem;
13+
import ec.tstoolkit.algorithm.CompositeResults;
14+
import ec.tstoolkit.timeseries.simplets.TsData;
15+
import java.util.ArrayList;
16+
import java.util.List;
17+
import org.openide.util.lookup.ServiceProvider;
18+
19+
/**
20+
*
21+
* @author Thomas Witthohn
22+
*/
23+
@ServiceProvider(service = AbstractHandler.class)
24+
public class A1Handler extends AbstractHandler {
25+
26+
public static final String SUFFIX = "-A1";
27+
private static final String NAME = "A1",
28+
OPTION_ID = "exceladapter.a1";
29+
private static final boolean DEFAULT = true;
30+
31+
@Override
32+
protected List<Ts> extractData(List<SaItem> items) {
33+
List<Ts> list = new ArrayList<>();
34+
35+
items.forEach((saItem) -> {
36+
String name = ExcelMetaDataHelper.getItemName(saItem);
37+
CompositeResults result = saItem.process();
38+
if (result == null) {
39+
return;
40+
}
41+
TsData tsData = result.getData(X11Kernel.A1, TsData.class);
42+
if (tsData != null) {
43+
Ts ts = TsFactory.instance.createTs(name, null, tsData);
44+
list.add(ts);
45+
}
46+
});
47+
48+
return list;
49+
50+
}
51+
52+
@Override
53+
public String getSuffix() {
54+
return SUFFIX;
55+
}
56+
57+
@Override
58+
public String getName() {
59+
return NAME;
60+
}
61+
62+
@Override
63+
public String getOptionID() {
64+
return OPTION_ID;
65+
}
66+
67+
@Override
68+
public boolean getDefault() {
69+
return DEFAULT;
70+
}
71+
}
Lines changed: 75 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,75 @@
1-
/*
2-
* To change this license header, choose License Headers in Project Properties.
3-
* To change this template file, choose Tools | Templates
4-
* and open the template in the editor.
5-
*/
6-
package de.bundesbank.jdemetra.exceladapter.handler;
7-
8-
import de.bundesbank.jdemetra.exceladapter.ExcelMetaDataHelper;
9-
import ec.satoolkit.DecompositionMode;
10-
import ec.satoolkit.x11.X11Kernel;
11-
import ec.tss.Ts;
12-
import ec.tss.TsFactory;
13-
import ec.tss.sa.SaItem;
14-
import ec.tstoolkit.algorithm.CompositeResults;
15-
import ec.tstoolkit.modelling.ModellingDictionary;
16-
import ec.tstoolkit.timeseries.simplets.TsData;
17-
import java.util.ArrayList;
18-
import java.util.List;
19-
import org.openide.util.lookup.ServiceProvider;
20-
21-
/**
22-
*
23-
* @author Thomas Witthohn
24-
*/
25-
@ServiceProvider(service = AbstractHandler.class)
26-
public class D10Handler extends AbstractHandler {
27-
28-
public static final String SUFFIX = "-D10";
29-
private static final String NAME = "D10",
30-
OPTION_ID = "exceladapter.d10";
31-
private static final boolean DEFAULT = true;
32-
33-
@Override
34-
protected List<Ts> extractData(List<SaItem> items) {
35-
List<Ts> list = new ArrayList<>();
36-
37-
items.forEach((saItem) -> {
38-
String name = ExcelMetaDataHelper.getItemName(saItem);;
39-
CompositeResults result = saItem.process();
40-
if (result == null || result.getData(ModellingDictionary.MODE, DecompositionMode.class) == null) {
41-
return;
42-
}
43-
boolean isMultiplicative = result.getData(ModellingDictionary.MODE, DecompositionMode.class).isMultiplicative();
44-
TsData d10 = result.getData(X11Kernel.D10, TsData.class);
45-
if (d10 != null) {
46-
TsData d10a = result.getData(X11Kernel.D10a, TsData.class);
47-
Ts seasonalfactor = TsFactory.instance.createTs(name, null, isMultiplicative ? d10.update(d10a).times(100) : d10.update(d10a));
48-
list.add(seasonalfactor);
49-
}
50-
});
51-
52-
return list;
53-
54-
}
55-
56-
@Override
57-
public String getSuffix() {
58-
return SUFFIX;
59-
}
60-
@Override
61-
public String getName() {
62-
return NAME;
63-
}
64-
65-
@Override
66-
public String getOptionID() {
67-
return OPTION_ID;
68-
}
69-
70-
@Override
71-
public boolean getDefault() {
72-
return DEFAULT;
73-
}
74-
}
1+
/*
2+
* To change this license header, choose License Headers in Project Properties.
3+
* To change this template file, choose Tools | Templates
4+
* and open the template in the editor.
5+
*/
6+
package de.bundesbank.jdemetra.exceladapter.handler;
7+
8+
import de.bundesbank.jdemetra.exceladapter.ExcelMetaDataHelper;
9+
import ec.satoolkit.DecompositionMode;
10+
import ec.satoolkit.x11.X11Kernel;
11+
import ec.tss.Ts;
12+
import ec.tss.TsFactory;
13+
import ec.tss.sa.SaItem;
14+
import ec.tstoolkit.algorithm.CompositeResults;
15+
import ec.tstoolkit.modelling.ModellingDictionary;
16+
import ec.tstoolkit.timeseries.simplets.TsData;
17+
import java.util.ArrayList;
18+
import java.util.List;
19+
import org.openide.util.lookup.ServiceProvider;
20+
21+
/**
22+
*
23+
* @author Thomas Witthohn
24+
*/
25+
@ServiceProvider(service = AbstractHandler.class)
26+
public class D10Handler extends AbstractHandler {
27+
28+
public static final String SUFFIX = "-D10";
29+
private static final String NAME = "D10",
30+
OPTION_ID = "exceladapter.d10";
31+
private static final boolean DEFAULT = true;
32+
33+
@Override
34+
protected List<Ts> extractData(List<SaItem> items) {
35+
List<Ts> list = new ArrayList<>();
36+
37+
items.forEach((saItem) -> {
38+
String name = ExcelMetaDataHelper.getItemName(saItem);
39+
CompositeResults result = saItem.process();
40+
if (result == null || result.getData(ModellingDictionary.MODE, DecompositionMode.class) == null) {
41+
return;
42+
}
43+
boolean isMultiplicative = result.getData(ModellingDictionary.MODE, DecompositionMode.class).isMultiplicative();
44+
TsData d10 = result.getData(X11Kernel.D10, TsData.class);
45+
if (d10 != null) {
46+
TsData d10a = result.getData(X11Kernel.D10a, TsData.class);
47+
Ts seasonalfactor = TsFactory.instance.createTs(name, null, isMultiplicative ? d10.update(d10a).times(100) : d10.update(d10a));
48+
list.add(seasonalfactor);
49+
}
50+
});
51+
52+
return list;
53+
54+
}
55+
56+
@Override
57+
public String getSuffix() {
58+
return SUFFIX;
59+
}
60+
61+
@Override
62+
public String getName() {
63+
return NAME;
64+
}
65+
66+
@Override
67+
public String getOptionID() {
68+
return OPTION_ID;
69+
}
70+
71+
@Override
72+
public boolean getDefault() {
73+
return DEFAULT;
74+
}
75+
}

0 commit comments

Comments
 (0)