Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added compat/tablesSchema.2.0.3.xlsx
Binary file not shown.
Binary file modified config/PredefinedResults.xlsx
Binary file not shown.
4 changes: 2 additions & 2 deletions config/appConfig.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<properties>
<comment>Application configuration</comment>
<entry key="Application.Name">EFSA TSE data reporting tool</entry> <!-- main title of the application -->
<entry key="Application.Version">2.0.3</entry> <!-- version of the application that will displayed after the application name -->
<entry key="Db.MinRequiredVersion">2.0.3</entry> <!-- version of the database needed -->
<entry key="Application.Version">2.0.4</entry> <!-- version of the application that will displayed after the application name -->
<entry key="Db.MinRequiredVersion">2.0.4</entry> <!-- version of the database needed -->
<entry key="Application.Icon">app-icon.png</entry> <!-- application icon (in the icon folder) -->

<entry key="TechnicalSupport.Email">zoonoses_support@efsa.europa.eu</entry> <!-- email which will be used for technical support -->
Expand Down
Binary file modified config/tablesSchema.xlsx
Binary file not shown.
6 changes: 3 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -41,18 +41,18 @@
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>[2.17.1,)</version>
<version>2.17.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>[2.17.1,)</version>
<version>2.17.1</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
<version>[5.5.2,)</version>
<version>5.5.2</version>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
Expand Down
15 changes: 3 additions & 12 deletions src/main/java/predefined_results/PredefinedResultList.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,9 @@
import app_config.BooleanValue;

public class PredefinedResultList extends ArrayList<PredefinedResult> {

private static final Logger LOGGER = LogManager.getLogger(PredefinedResultList.class);

private static final long serialVersionUID = -6372192676663884532L;

private static PredefinedResultList predefinedResultsCache;

/**
Expand All @@ -23,16 +21,14 @@ public class PredefinedResultList extends ArrayList<PredefinedResult> {
* @return
*/
public PredefinedResult get(String recordType, String source, boolean confirmatoryTested, String sampEventAsses) {

for (PredefinedResult prh : this) {

String thisRecordType = prh.get(PredefinedResultHeader.RECORD_TYPE);
String thisSource = prh.get(PredefinedResultHeader.SOURCE);
String thisSampEventAsses = prh.get(PredefinedResultHeader.SAMP_EVENT_ASSES);
String thisConfTested = prh.get(PredefinedResultHeader.CONFIRMATORY_EXECUTED);

boolean confCheck = (BooleanValue.isTrue(thisConfTested) && confirmatoryTested)
|| (BooleanValue.isFalse(thisConfTested) && !confirmatoryTested);
|| (BooleanValue.isFalse(thisConfTested) && !confirmatoryTested);

if (isFieldEqual(thisRecordType, recordType)
&& isFieldEqual(thisSource, source)
Expand All @@ -52,9 +48,8 @@ && isFieldEqual(thisSampEventAsses, sampEventAsses)
* @return
*/
private static boolean isFieldEqual(String predefResValue, String rowValue) {

// always match an empty field in the configuration
if(predefResValue == null || predefResValue.isEmpty() || predefResValue.equals("null")) {
if (predefResValue == null || predefResValue.isEmpty() || predefResValue.equals("null")) {
return true;
}

Expand All @@ -72,18 +67,14 @@ private static boolean isFieldEqual(String predefResValue, String rowValue) {
* @throws IOException
*/
public static PredefinedResultList getAll() {

// if first time
if (predefinedResultsCache == null) {

predefinedResultsCache = new PredefinedResultList();

//solve memory leak
try (PredefinedResultsReader reader = new PredefinedResultsReader()){
reader.readFirstSheet();

predefinedResultsCache = reader.getResults();

} catch (IOException e) {
LOGGER.error("Cannot retrieve predefined results list", e);
e.printStackTrace();
Expand Down
90 changes: 42 additions & 48 deletions src/main/java/providers/PredefinedResultService.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,10 @@
*
*/
public class PredefinedResultService {

private static final Logger LOGGER = LogManager.getLogger(PredefinedResultService.class);

private ITableDaoService daoService;
private IFormulaService formulaService;
private final ITableDaoService daoService;
private final IFormulaService formulaService;

public PredefinedResultService(ITableDaoService daoService, IFormulaService formulaService) {
this.daoService = daoService;
Expand All @@ -43,9 +42,7 @@ public PredefinedResultService(ITableDaoService daoService, IFormulaService form
* @param caseReport
* @throws IOException
*/
public TableRowList createDefaultResults(Report report,
SummarizedInfo summInfo, CaseReport caseReport) throws IOException {

public TableRowList createDefaultResults(Report report, SummarizedInfo summInfo, CaseReport caseReport) {
TableRowList results = new TableRowList();

AnalyticalResult r = createDefaultResult(report, summInfo, caseReport,
Expand Down Expand Up @@ -85,39 +82,34 @@ public TableRowList createDefaultResults(Report report,
* @return
* @throws IOException
*/
public boolean isConfirmatoryTested(String type) throws IOException {

String confirmatory = "";

public boolean isConfirmatoryTested(String type) {
String column;
switch(type) {
case CustomStrings.SUMMARIZED_INFO_BSE_TYPE:
confirmatory = Relation.getGlobalParent(CustomStrings.PREFERENCES_SHEET, daoService)
.getCode(CustomStrings.PREFERENCES_CONFIRMATORY_BSE);
break;
case CustomStrings.SUMMARIZED_INFO_SCRAPIE_TYPE:
confirmatory = Relation.getGlobalParent(CustomStrings.PREFERENCES_SHEET, daoService)
.getCode(CustomStrings.PREFERENCES_CONFIRMATORY_SCRAPIE);
break;
case CustomStrings.SUMMARIZED_INFO_CWD_TYPE:
confirmatory = Relation.getGlobalParent(CustomStrings.PREFERENCES_SHEET, daoService)
.getCode(CustomStrings.PREFERENCES_CONFIRMATORY_CWD);
break;
default:
break;
case CustomStrings.SUMMARIZED_INFO_BSE_TYPE:
column = CustomStrings.PREFERENCES_CONFIRMATORY_BSE;
break;
case CustomStrings.SUMMARIZED_INFO_SCRAPIE_TYPE:
column = CustomStrings.PREFERENCES_CONFIRMATORY_SCRAPIE;
break;
case CustomStrings.SUMMARIZED_INFO_CWD_TYPE:
column = CustomStrings.PREFERENCES_CONFIRMATORY_CWD;
break;
case CustomStrings.SUMMARIZED_INFO_BSEOS_TYPE:
column = CustomStrings.PREFERENCES_CONFIRMATORY_BSE_OS;
break;
default:
return false;
}

return !confirmatory.isEmpty();
return ! Relation.getGlobalParent(CustomStrings.PREFERENCES_SHEET, daoService)
.getCode(column)
.isEmpty();
}

public static String getPreferredTestType(String testType) throws IOException {

return Relation.getGlobalParent(CustomStrings.PREFERENCES_SHEET)
.getCode(testType);
public static String getPreferredTestType(String testType) {
return Relation.getGlobalParent(CustomStrings.PREFERENCES_SHEET).getCode(testType);
}

public static String getPreferredTestType(String recordType, String testType)
throws IOException {

public static String getPreferredTestType(String recordType, String testType) {
String preferredTestType = null;

switch(testType) {
Expand All @@ -135,6 +127,10 @@ public static String getPreferredTestType(String recordType, String testType)
preferredTestType = getPreferredTestType(
CustomStrings.PREFERENCES_SCREENING_CWD);
break;
case CustomStrings.SUMMARIZED_INFO_BSEOS_TYPE:
preferredTestType = getPreferredTestType(
CustomStrings.PREFERENCES_SCREENING_BSE_OS);
break;
default:
break;
}
Expand All @@ -153,6 +149,10 @@ public static String getPreferredTestType(String recordType, String testType)
preferredTestType = getPreferredTestType(
CustomStrings.PREFERENCES_CONFIRMATORY_CWD);
break;
case CustomStrings.SUMMARIZED_INFO_BSEOS_TYPE:
preferredTestType = getPreferredTestType(
CustomStrings.PREFERENCES_CONFIRMATORY_BSE_OS);
break;
default:
break;
}
Expand All @@ -171,6 +171,10 @@ public static String getPreferredTestType(String recordType, String testType)
preferredTestType = getPreferredTestType(
CustomStrings.PREFERENCES_DISCRIMINATORY_CWD);
break;
case CustomStrings.SUMMARIZED_INFO_BSEOS_TYPE:
preferredTestType = getPreferredTestType(
CustomStrings.PREFERENCES_DISCRIMINATORY_BSE_OS);
break;
default:
break;
}
Expand All @@ -185,8 +189,7 @@ public static String getPreferredTestType(String recordType, String testType)
return preferredTestType;
}

public PredefinedResult getPredefinedResult(SummarizedInfo summInfo, TableRow caseReport) throws IOException {

public PredefinedResult getPredefinedResult(SummarizedInfo summInfo, TableRow caseReport) {
// put the predefined value for the param code and the result
PredefinedResultList predResList = PredefinedResultList.getAll();

Expand All @@ -208,14 +211,11 @@ public PredefinedResult getPredefinedResult(SummarizedInfo summInfo, TableRow ca
* @param report
* @param summInfo
* @param caseReport
* @param codeCol
* @param testTypeCode
* @throws IOException
*/
private AnalyticalResult createDefaultResult(Report report,
SummarizedInfo summInfo, TableRow caseReport,
PredefinedResultHeader test,
String testTypeCode) throws IOException {
private AnalyticalResult createDefaultResult(Report report, SummarizedInfo summInfo, TableRow caseReport,
PredefinedResultHeader test, String testTypeCode) {

AnalyticalResult resultRow = new AnalyticalResult();

Expand All @@ -231,7 +231,6 @@ private AnalyticalResult createDefaultResult(Report report,
boolean added = addParamAndResult(resultRow, defaultResult, test);

if (added) {

// code crack to save the row id for the resId field
// otherwise its default value will be corrupted
daoService.add(resultRow);
Expand Down Expand Up @@ -269,10 +268,7 @@ private AnalyticalResult createDefaultResult(Report report,
* @param codeCol
* @return
*/
public static boolean addParamAndResult(TableRow result,
PredefinedResult defValues,
PredefinedResultHeader codeCol) {

private boolean addParamAndResult(TableRow result, PredefinedResult defValues, PredefinedResultHeader codeCol) {
String code = defValues.get(codeCol);

// put the test aim
Expand All @@ -284,17 +280,15 @@ public static boolean addParamAndResult(TableRow result,
return addParamAndResult(result, code);
}



/**
* Add param and result. These values are taken from the test code
* which is composed of paramBaseTerm$resultValue
*
* @param result
* @param testCode
* @return
*/
public static boolean addParamAndResult(TableRow result, String testCode) {

if (testCode == null)
return false;

Expand Down
Loading