1
|
package unitest;
|
2
|
|
3
|
import eu.dnetlib.goldoa.domain.Request;
|
4
|
import eu.dnetlib.goldoa.domain.stats.*;
|
5
|
import eu.dnetlib.goldoa.service.OrganizationManager;
|
6
|
import eu.dnetlib.goldoa.service.stats.StatsManager;
|
7
|
import org.junit.Test;
|
8
|
import org.junit.runner.RunWith;
|
9
|
import org.springframework.beans.factory.annotation.Autowired;
|
10
|
import org.springframework.test.annotation.Rollback;
|
11
|
import org.springframework.test.context.ContextConfiguration;
|
12
|
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
13
|
|
14
|
import javax.transaction.Transactional;
|
15
|
import java.util.List;
|
16
|
|
17
|
/**
|
18
|
* Created by panagiotis on 10/2/2017.
|
19
|
*/
|
20
|
@RunWith( SpringJUnit4ClassRunner.class )
|
21
|
@ContextConfiguration(locations = "classpath:applicationContext-goldoa-service-test.xml")
|
22
|
public class StatisticsTest {
|
23
|
|
24
|
@Autowired
|
25
|
StatsManager st;
|
26
|
@Autowired
|
27
|
OrganizationManager om;
|
28
|
|
29
|
|
30
|
|
31
|
@Test
|
32
|
@Transactional
|
33
|
@Rollback(true)
|
34
|
public void browseScientificArea(){
|
35
|
List<Triple<String, String, Integer>> data = st.browse(new Browse.Category[]{Browse.Category.SCIENTIFIC_AREA})
|
36
|
.getData(Browse.Category.SCIENTIFIC_AREA);
|
37
|
|
38
|
for(Triple<String,String,Integer> t:data)
|
39
|
System.out.println(t.getFirst());
|
40
|
}
|
41
|
|
42
|
@Test
|
43
|
@Transactional
|
44
|
@Rollback(true)
|
45
|
public void browseOrganization(){
|
46
|
List<Triple<String, String, Integer>> data = st.browse(new Browse.Category[]{Browse.Category.ORGANIZATION})
|
47
|
.getData(Browse.Category.ORGANIZATION);
|
48
|
|
49
|
for(Triple<String,String,Integer> t:data)
|
50
|
System.out.println(t.getFirst());
|
51
|
}
|
52
|
|
53
|
@Test
|
54
|
@Transactional
|
55
|
@Rollback(true)
|
56
|
public void browsePublisher(){
|
57
|
List<Triple<String, String, Integer>> data = st.browse(new Browse.Category[]{Browse.Category.PUBLISHER})
|
58
|
.getData(Browse.Category.PUBLISHER);
|
59
|
|
60
|
for(Triple<String,String,Integer> t:data)
|
61
|
System.out.println(t.getFirst());
|
62
|
}
|
63
|
|
64
|
@Test
|
65
|
@Transactional
|
66
|
@Rollback(true)
|
67
|
public void browseCountry(){
|
68
|
List<Triple<String, String, Integer>> data = st.browse(new Browse.Category[]{Browse.Category.COUNTRY})
|
69
|
.getData(Browse.Category.COUNTRY);
|
70
|
|
71
|
for(Triple<String,String,Integer> t:data)
|
72
|
System.out.println(t.getSecond());
|
73
|
}
|
74
|
|
75
|
@Test
|
76
|
@Transactional
|
77
|
@Rollback(true)
|
78
|
public void createPieChart(){
|
79
|
Series publicationTypeDistributionSeries = st.getSeries(new Series.Category[] {Series.Category.STATUS},
|
80
|
new Request.RequestStatus[] {Request.RequestStatus.CONDITIONALLY_APPROVED, Request.RequestStatus.APPROVED,
|
81
|
Request.RequestStatus.ACCOUNTING_PROCESSING, Request.RequestStatus.ACCOUNTING_PAID, Request.RequestStatus.ACCOUNTING_ON_HOLD});
|
82
|
|
83
|
List<Quadruple<String, Integer, Float, Float>> data = publicationTypeDistributionSeries.getData(Series.Category.STATUS);
|
84
|
for(Quadruple<String, Integer, Float, Float> t:data)
|
85
|
System.out.println(t.getFirst()+"/"+t.getSecond());
|
86
|
}
|
87
|
|
88
|
|
89
|
|
90
|
@Test
|
91
|
@Transactional
|
92
|
@Rollback(true)
|
93
|
public void infoLabel(){
|
94
|
|
95
|
Numbers numbers = st.getNumbers(new Numbers.Category[]{Numbers.Category.REQUESTS, Numbers.Category.PROJECTS,
|
96
|
Numbers.Category.TOTAL_AMOUNT, Numbers.Category.AVERAGE_AMOUNT, Numbers.Category.AVERAGE_PER_ARTICLE,
|
97
|
Numbers.Category.AVERAGE_PER_MONOGRAPH, Numbers.Category.AVERAGE_PER_BOOK_CHAPTER, Numbers.Category.PAID_REQUESTS,
|
98
|
Numbers.Category.PAID_REQUESTS_WITH_DOI, Numbers.Category.APPROVED_REQUESTS_WITH_DOI, Numbers.Category.PAID_ARTICLE_REQUESTS,
|
99
|
Numbers.Category.PAID_MONOGRAPH_REQUESTS, Numbers.Category.PAID_BOOK_CHAPTER_REQUESTS});
|
100
|
|
101
|
String s1 = st.getNumbers(new Numbers.Category[]{Numbers.Category.REQUESTS}).getNumber(Numbers.Category.REQUESTS) + " publications from " +
|
102
|
st.getNumbers(new Numbers.Category[]{Numbers.Category.PROJECTS}).getNumber(Numbers.Category.PROJECTS) + " projects have been approved for funding since 1/1/2015." +
|
103
|
"A total of " + st.getNumbers(new Numbers.Category[]{Numbers.Category.TOTAL_AMOUNT}).getNumber(Numbers.Category.TOTAL_AMOUNT) + " EUR has been paid for APCs, with an average of " +
|
104
|
st.getNumbers(new Numbers.Category[]{Numbers.Category.AVERAGE_AMOUNT}).getNumber(Numbers.Category.AVERAGE_AMOUNT) + "EUR per publication: " +
|
105
|
st.getNumbers(new Numbers.Category[]{Numbers.Category.PAID_ARTICLE_REQUESTS}).getNumber(Numbers.Category.PAID_ARTICLE_REQUESTS) + " articles with an average of " +
|
106
|
st.getNumbers(new Numbers.Category[]{Numbers.Category.AVERAGE_PER_ARTICLE}).getNumber(Numbers.Category.AVERAGE_PER_ARTICLE) + " EUR " +
|
107
|
st.getNumbers(new Numbers.Category[]{Numbers.Category.PAID_MONOGRAPH_REQUESTS}).getNumber(Numbers.Category.PAID_MONOGRAPH_REQUESTS) + " books with an average of " +
|
108
|
st.getNumbers(new Numbers.Category[]{Numbers.Category.AVERAGE_PER_MONOGRAPH}).getNumber(Numbers.Category.AVERAGE_PER_MONOGRAPH) + " EUR " +
|
109
|
st.getNumbers(new Numbers.Category[]{Numbers.Category.PAID_BOOK_CHAPTER_REQUESTS}).getNumber(Numbers.Category.PAID_BOOK_CHAPTER_REQUESTS) + "book chapters with an average of" +
|
110
|
st.getNumbers(new Numbers.Category[]{Numbers.Category.AVERAGE_PER_BOOK_CHAPTER}).getNumber(Numbers.Category.AVERAGE_PER_BOOK_CHAPTER) + " EUR " ;
|
111
|
|
112
|
String s2 = "Out of " + st.getNumbers(new Numbers.Category[]{Numbers.Category.REQUESTS}).getNumber(Numbers.Category.REQUESTS) +
|
113
|
" approved requests, " + st.getNumbers(new Numbers.Category[]{Numbers.Category.APPROVED_REQUESTS_WITH_DOI}).getNumber(Numbers.Category.APPROVED_REQUESTS_WITH_DOI) +
|
114
|
" have a DOI.Out of " + st.getNumbers(new Numbers.Category[]{Numbers.Category.PAID_REQUESTS}).getNumber(Numbers.Category.PAID_REQUESTS) +
|
115
|
" paid requests, " + st.getNumbers(new Numbers.Category[]{Numbers.Category.PAID_REQUESTS_WITH_DOI}).getNumber(Numbers.Category.PAID_REQUESTS_WITH_DOI) +
|
116
|
" have a DOI.";
|
117
|
|
118
|
|
119
|
System.out.println(s1);
|
120
|
System.out.println(s2);
|
121
|
|
122
|
|
123
|
}
|
124
|
|
125
|
|
126
|
@Test
|
127
|
@Transactional
|
128
|
@Rollback(true)
|
129
|
public void statsData() {
|
130
|
|
131
|
Numbers rs = st.getNumbers(new Numbers.Category[]{Numbers.Category.REQUESTS, Numbers.Category.PROJECTS,
|
132
|
Numbers.Category.TOTAL_AMOUNT, Numbers.Category.AVERAGE_AMOUNT, Numbers.Category.AVERAGE_PER_ARTICLE,
|
133
|
Numbers.Category.AVERAGE_PER_MONOGRAPH, Numbers.Category.AVERAGE_PER_BOOK_CHAPTER, Numbers.Category.PAID_REQUESTS,
|
134
|
Numbers.Category.PAID_REQUESTS_WITH_DOI, Numbers.Category.APPROVED_REQUESTS_WITH_DOI, Numbers.Category.PAID_ARTICLE_REQUESTS,
|
135
|
Numbers.Category.PAID_MONOGRAPH_REQUESTS, Numbers.Category.PAID_BOOK_CHAPTER_REQUESTS});
|
136
|
|
137
|
Series fundedRequests = st.getSeries(new Series.Category[] {Series.Category.COUNTRY, Series.Category.ORGANIZATION,
|
138
|
Series.Category.PUBLISHER}, new Request.RequestStatus[] {Request.RequestStatus.CONDITIONALLY_APPROVED,
|
139
|
Request.RequestStatus.APPROVED, Request.RequestStatus.ACCOUNTING_PROCESSING, Request.RequestStatus.ACCOUNTING_PAID,
|
140
|
Request.RequestStatus.ACCOUNTING_ON_HOLD});
|
141
|
Series rejectedRequests = st.getSeries(new Series.Category[] {Series.Category.COUNTRY, Series.Category.ORGANIZATION,
|
142
|
Series.Category.PUBLISHER}, new Request.RequestStatus[] {Request.RequestStatus.REJECTED,
|
143
|
Request.RequestStatus.ACCOUNTING_DENIED});
|
144
|
|
145
|
DateSeries result = st.getDateSeries(DateSeries.Over.DAY, false, null, null, null, null, null, null);
|
146
|
result = st.getDateSeries(DateSeries.Over.DAY, true,null, null, null, null, null, null);
|
147
|
|
148
|
st.getSeries(new Series.Category[] {Series.Category.STATUS}, null);
|
149
|
st.browse(new Browse.Category[] {Browse.Category.COUNTRY, Browse.Category.ORGANIZATION,
|
150
|
Browse.Category.PUBLISHER, Browse.Category.SCIENTIFIC_AREA});
|
151
|
}
|
152
|
|
153
|
|
154
|
|
155
|
|
156
|
|
157
|
|
158
|
|
159
|
}
|