Skip to content

Commit 058d2c4

Browse files
committed
Reports cleaning
1 parent 0d89a4a commit 058d2c4

21 files changed

Lines changed: 133 additions & 80 deletions
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11

22
#include "stdafx.h"
3-
#include "IReport.h"
3+
#include "ReportFactory.h"
44
#include "ObjectFactoryTemplates.h"
55

6-
76
SETUP_LOGGING( "ReportFactory" )
87

98
namespace Kernel

Eradication/ReportFactory.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
2+
#pragma once
3+
4+
#include <functional>
5+
#include "FactorySupport.h"
6+
#include "IReport.h"
7+
#include "ObjectFactory.h"
8+
9+
namespace Kernel
10+
{
11+
12+
class ReportFactory : public ObjectFactory<IReport,ReportFactory>
13+
{
14+
};
15+
}

Eradication/SConscript

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,18 +40,18 @@ else:
4040
erad_env.Append( LIBPATH = ["$BUILD_DIR/Eradication"] )
4141
erad_env.Append( LIBS=["/WHOLEARCHIVE:coreLib"] )
4242
erad_env.Append( LIBS=["/WHOLEARCHIVE:campaign"] )
43-
erad_env.Append( LIBS=["/WHOLEARCHIVE:baseReportLib"] )
43+
erad_env.Append( LIBS=["/WHOLEARCHIVE:reporters"] )
4444
else:
4545
#NOTE: I couldn't get the use of $BUILD_DIR to work. It kept putting in an extra '/'.
4646
# Need to whole-archive the libraries with factory registration so they're available at run time
4747
if env["Debug"]:
4848
erad_env.Append(LINKFLAGS=["-Wl,--whole-archive,build/x64/Debug/Eradication/libcoreLib.a,--no-whole-archive"])
4949
erad_env.Append(LINKFLAGS=["-Wl,--whole-archive,build/x64/Debug/campaign/libcampaign.a,--no-whole-archive"])
50-
erad_env.Append(LINKFLAGS=["-Wl,--whole-archive,build/x64/Debug/baseReportLib/libbaseReportLib.a,--no-whole-archive"])
50+
erad_env.Append(LINKFLAGS=["-Wl,--whole-archive,build/x64/Debug/reporters/libreporters.a,--no-whole-archive"])
5151
else:
5252
erad_env.Append(LINKFLAGS=["-Wl,--whole-archive,build/x64/Release/Eradication/libcoreLib.a,--no-whole-archive"])
5353
erad_env.Append(LINKFLAGS=["-Wl,--whole-archive,build/x64/Release/campaign/libcampaign.a,--no-whole-archive"])
54-
erad_env.Append(LINKFLAGS=["-Wl,--whole-archive,build/x64/Release/baseReportLib/libbaseReportLib.a,--no-whole-archive"])
54+
erad_env.Append(LINKFLAGS=["-Wl,--whole-archive,build/x64/Release/reporters/libreporters.a,--no-whole-archive"])
5555

5656
# Monolithic
5757
eradicationExe = erad_env.Program('Eradication', eradicationSrcFiles)

Eradication/SConscript_coreLib

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -34,38 +34,37 @@ else:
3434
"SqlLogger.cpp",
3535
"RandomSerializable.cpp",
3636
"RandomNumberGeneratorFactory.cpp",
37-
"BroadcasterImpl.cpp",
3837

3938
# Campaign
39+
"BroadcasterImpl.cpp",
40+
"BroadcastCoordinatorEvent.cpp",
41+
"CalendarEventCoordinator.cpp",
4042
"CampaignEvent.cpp",
43+
"DelayEventCoordinator.cpp",
44+
"IncidenceEventCoordinator.cpp",
4145
"InterventionsContainer.cpp",
4246
"NChooserEventCoordinator.cpp",
4347
"NodeEventContext.cpp",
4448
"SimulationEventContext.cpp",
4549
"StandardEventCoordinator.cpp",
50+
"IncidenceCounterSurveillance.cpp",
51+
"SurveillanceEventCoordinator.cpp",
52+
"TriggeredEventCoordinator.cpp",
4653
"CoverageByNodeEventCoordinator.cpp",
4754
"CommunityHealthWorkerEventCoordinator.cpp",
4855
"DemographicRestrictions.cpp",
4956
"PropertyRestrictions.cpp",
50-
51-
# Surveillance
52-
"BroadcastCoordinatorEvent.cpp",
53-
"CalendarEventCoordinator.cpp",
54-
"DelayEventCoordinator.cpp",
55-
"IncidenceEventCoordinator.cpp",
56-
"IncidenceCounterSurveillance.cpp",
57-
"SurveillanceEventCoordinator.cpp",
58-
"TriggeredEventCoordinator.cpp",
59-
"ReportSurveillanceEventRecorder.cpp",
6057

6158
# Reporting
6259
"DemographicsReport.cpp",
6360
"PropertyReport.cpp",
61+
"ReportFactory.cpp",
6462
"Report.cpp",
6563
"ReportStatsByIP.cpp",
6664
"ReportEventRecorder.cpp",
6765
"ReportEventRecorderNode.cpp",
6866
"ReportEventRecorderCoordinator.cpp",
67+
"ReportSurveillanceEventRecorder.cpp",
6968
"SQLReporter.cpp",
7069

7170
# HINT
@@ -83,13 +82,13 @@ else:
8382
"SpatialReport.cpp",
8483
"Susceptibility.cpp",
8584

85+
"../interventions/CalendarIV.cpp",
86+
"../interventions/DelayedIntervention.cpp",
87+
"../interventions/Diagnostics.cpp",
8688
"../interventions/BroadcastEvent.cpp",
8789
"../interventions/BroadcastNodeEvent.cpp",
8890
"../interventions/BroadcastEventToOtherNodes.cpp",
89-
"../interventions/CalendarIV.cpp",
9091
"../interventions/ChangeIPMatrix.cpp",
91-
"../interventions/DelayedIntervention.cpp",
92-
"../interventions/Diagnostics.cpp",
9392
"../interventions/Drugs.cpp",
9493
"../interventions/EnvironmentalDiagnostic.cpp",
9594
"../interventions/HealthSeekingBehavior.cpp",
@@ -106,9 +105,10 @@ else:
106105
"../interventions/NodeRandomNumber.cpp",
107106
"../interventions/NLHTIVNode.cpp",
108107
"../interventions/NodePropertyValueChanger.cpp",
108+
"../interventions/PropertyValueChanger.cpp",
109109
"../interventions/Outbreak.cpp",
110110
"../interventions/OutbreakIndividual.cpp",
111-
"../interventions/PropertyValueChanger.cpp",
111+
112112
"../interventions/TravelRestriction.cpp",
113113
"../interventions/Vaccine.cpp",
114114
]
@@ -139,12 +139,10 @@ else:
139139
"VectorProbabilities.cpp",
140140
"VectorSpeciesParameters.cpp",
141141
"VectorSpeciesReport.cpp",
142-
143142
"Climate.cpp",
144143
"ClimateByData.cpp",
145144
"ClimateConstant.cpp",
146145
"ClimateKoppen.cpp",
147-
148146
"../interventions/Bednet.cpp",
149147
"../interventions/BitingRisk.cpp",
150148
"../interventions/HousingModification.cpp",
@@ -334,7 +332,7 @@ else:
334332
"../interventions/ModifyStiCoInfectionStatus.cpp",
335333
"../interventions/StiCoInfectionDiagnostic.cpp",
336334
"../interventions/STIBarrier.cpp",
337-
"../interventions/STIIsPostDebut.cpp"
335+
"../interventions/STIIsPostDebut.cpp",
338336
]
339337

340338
# HIV

Eradication/Schema.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include "DllLoader.h"
1717
#include "EventTrigger.h"
1818
#include "InterventionFactory.h"
19+
#include "ReportFactory.h"
1920
#include "SimulationConfig.h"
2021
#include "CampaignEvent.h"
2122
#include "EventCoordinator.h"

Eradication/Simulation.cpp

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
#include "EventTrigger.h"
3434
#include "RandomNumberGeneratorFactory.h"
3535
#include "DllLoader.h"
36+
#include "ReportFactory.h"
3637
#include "MpiDataExchanger.h"
3738
#include "IdmMpi.h"
3839
#include "Properties.h"
@@ -1373,7 +1374,6 @@ namespace Kernel
13731374

13741375
WithSelfFunc to_self_func = [this](int myRank)
13751376
{
1376-
#ifndef _DEBUG
13771377
// Don't bother to serialize locally
13781378
// for (auto individual : migratingIndividualQueues[destination_rank]) // Note the direction of iteration below!
13791379
for (auto iterator = migratingIndividualQueues[myRank].rbegin(); iterator != migratingIndividualQueues[myRank].rend(); ++iterator)
@@ -1387,27 +1387,7 @@ namespace Kernel
13871387
delete individual;
13881388
}
13891389
}
1390-
#else
1391-
if ( migratingIndividualQueues[myRank].size() > 0 )
1392-
{
1393-
auto writer = make_shared<BinaryArchiveWriter>();
1394-
(*static_cast<IArchive*>(writer.get())) & migratingIndividualQueues[myRank];
1395-
1396-
for (auto& individual : migratingIndividualQueues[myRank])
1397-
delete individual; // individual->Recycle();
1398-
1399-
migratingIndividualQueues[myRank].clear();
1400-
1401-
auto reader = make_shared<BinaryArchiveReader>(static_cast<IArchive*>(writer.get())->GetBuffer(), static_cast<IArchive*>(writer.get())->GetBufferSize());
1402-
(*static_cast<IArchive*>(reader.get())) & migratingIndividualQueues[myRank];
1403-
for (auto individual : migratingIndividualQueues[myRank])
1404-
{
1405-
IMigrate* immigrant = individual->GetIMigrate();
1406-
immigrant->ImmigrateTo( nodes[immigrant->GetMigrationDestination()] );
1407-
}
1408-
}
1409-
#endif
1410-
};
1390+
};
14111391

14121392
SendToOthersFunc to_others_func = [this](IArchive* writer, int toRank)
14131393
{

SConscript

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ env.Prepend( CPPPATH=[
6060

6161
# set the common libraries
6262
env.Prepend( LIBPATH = [
63+
"$BUILD_DIR/reporters",
6364
"$BUILD_DIR/baseReportLib",
6465
"$BUILD_DIR/campaign",
6566
"$BUILD_DIR/cajun",
@@ -73,6 +74,7 @@ if 'Disease' in env and len(env['Disease']) > 0:
7374
disease = env["Disease"]
7475

7576
env.Prepend( LIBS=[
77+
"reporters",
7678
"baseReportLib",
7779
"campaign",
7880
"cajun",
@@ -82,21 +84,20 @@ env.Prepend( LIBS=[
8284
"utils"])
8385

8486
# First static libs
87+
print( "Build static libraries." )
8588
SConscript( [ 'baseReportLib/SConscript',
8689
'cajun/SConscript',
8790
'campaign/SConscript',
91+
'reporters/SConscript',
8892
'Eradication/SConscript_coreLib',
8993
'libsqlite/SConscript',
9094
'snappy/SConscript',
9195
'lz4/SConscript',
9296
'utils/SConscript' ])
9397

94-
9598
# Finally executable
9699
SConscript('Eradication/SConscript')
97100

98-
99-
100101
#if disease != "Typhoid":
101102
# OptionalScript('reporters/SConscript_Generic_AgeAtInfection')
102103
# OptionalScript('reporters/SConscript_Generic_AgeAtInfectionHistogram')

SConstruct

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -211,30 +211,26 @@ else:
211211
env['CC'] = "mpicc"
212212
env['CXX'] = "mpicxx"
213213
env.Append( CCFLAGS=["-fpermissive"] )
214-
env.Append( CCFLAGS=["--std=c++0x"] )
215214
env.Append( CCFLAGS=["-w"] )
216215
env.Append( CCFLAGS=["-ffloat-store"] )
217216
env.Append( CCFLAGS=["-Wno-unknown-pragmas"] )
218217

219218
# Python
220-
if(sys.version_info.minor == 9):
221-
env.Append( LIBS=["python3.9"] )
222-
env.Append( EXTRACPPPATH=["/usr/include/python3.9"] )
223-
elif(sys.version_info.minor == 10):
224-
env.Append( LIBS=["python3.10"] )
225-
env.Append( EXTRACPPPATH=["/usr/include/python3.10"] )
226-
elif(sys.version_info.minor == 11):
227-
env.Append( LIBS=["python3.11"] )
228-
env.Append( EXTRACPPPATH=["/usr/include/python3.11"] )
229-
elif(sys.version_info.minor == 12):
230-
env.Append( LIBS=["python3.12"] )
231-
env.Append( EXTRACPPPATH=["/usr/include/python3.12"] )
219+
if(sys.version_info.minor == 14):
220+
env.Append( LIBS=["python3.14"] )
221+
env.Append( EXTRACPPPATH=["/usr/include/python3.14"] )
232222
elif(sys.version_info.minor == 13):
233223
env.Append( LIBS=["python3.13"] )
234224
env.Append( EXTRACPPPATH=["/usr/include/python3.13"] )
235-
elif(sys.version_info.minor == 14):
236-
env.Append( LIBS=["python3.14"] )
237-
env.Append( EXTRACPPPATH=["/usr/include/python3.14"] )
225+
elif(sys.version_info.minor == 12):
226+
env.Append( LIBS=["python3.12"] )
227+
env.Append( EXTRACPPPATH=["/usr/include/python3.12"] )
228+
elif(sys.version_info.minor == 11):
229+
env.Append( LIBS=["python3.11"] )
230+
env.Append( EXTRACPPPATH=["/usr/include/python3.11"] )
231+
elif(sys.version_info.minor == 10):
232+
env.Append( LIBS=["python3.10"] )
233+
env.Append( EXTRACPPPATH=["/usr/include/python3.10"] )
238234
else:
239235
raise RuntimeError("Unsupported python version")
240236

@@ -367,8 +363,6 @@ elif "win32" == os.sys.platform:
367363
else:
368364
print( "No special config for [" + os.sys.platform + "] which probably means it won't work" )
369365

370-
env['STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME'] = 1
371-
372366
env.Append( CPPPATH=['$EXTRACPPPATH'] )
373367
env.Append( LIBPATH=['$EXTRALIBPATH'] )
374368

baseReportLib/IReport.h

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@
66

77
#include "Configure.h"
88
#include "ExternalNodeId.h"
9-
#include "FactorySupport.h"
10-
#include "IdmApi.h"
11-
#include "ObjectFactory.h"
129

1310
namespace Kernel
1411
{
@@ -18,7 +15,7 @@ namespace Kernel
1815
struct ISimulationContext;
1916
struct ISimulationEventContext;
2017

21-
class IDMAPI IReport : public JsonConfigurable
18+
class IReport : public JsonConfigurable
2219
{
2320
public:
2421
virtual ~IReport() {} ;
@@ -46,14 +43,10 @@ namespace Kernel
4643
virtual std::string GetReportName() const = 0;
4744
};
4845

49-
class ReportFactory : public ObjectFactory<IReport, ReportFactory>
50-
{
51-
};
52-
5346
// This abstract class provides a default implementation to some of pure virtual methods
5447
// of IReport. This allows other classes to be IReport's
5548
// without needing the equivalent of the code below.
56-
class IDMAPI BaseReport : public IReport
49+
class BaseReport : public IReport
5750
{
5851
public:
5952
virtual ~BaseReport(){};

baseReportLib/SConscript

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,10 @@ reportSrcFiles = [
1111
"BaseTextReportEvents.cpp",
1212
"BinnedReport.cpp",
1313
"ChannelDataMap.cpp",
14-
"ReportFactory.cpp",
15-
"ReportHumanMigrationTracking.cpp",
16-
"ReportNodeDemographics.cpp",
17-
"ReportStrainTracking.cpp",
1814
"ReportUtilities.cpp",
1915
]
2016

2117
if ('Disease' in env) and ((env['Disease'] == 'Malaria') or (env['Disease'] == '')):
22-
reportSrcFiles.append( "ReportNodeDemographicsMalaria.cpp" )
2318
reportSrcFiles.append( "ReportUtilitiesMalaria.cpp" )
2419

2520
reportLib = env.StaticLibrary('baseReportLib', reportSrcFiles)

0 commit comments

Comments
 (0)