use of de.symeda.sormas.app.backend.hospitalization.PreviousHospitalization in project SORMAS-Project by hzi-braunschweig.
the class CaseEditHospitalizationFragment method setUpControlListeners.
// Instance methods
private void setUpControlListeners() {
onPrevHosItemClickListener = (v, item) -> {
final PreviousHospitalization previousHospitalization = (PreviousHospitalization) item;
final PreviousHospitalization previousHospitalizationClone = (PreviousHospitalization) previousHospitalization.clone();
final PreviousHospitalizationDialog dialog = new PreviousHospitalizationDialog(CaseEditActivity.getActiveActivity(), previousHospitalizationClone, false);
dialog.setPositiveCallback(() -> {
record.getPreviousHospitalizations().set(record.getPreviousHospitalizations().indexOf(previousHospitalization), previousHospitalizationClone);
updatePreviousHospitalizations();
});
dialog.setDeleteCallback(() -> removePreviousHospitalization(previousHospitalization));
dialog.show();
};
getContentBinding().btnAddPrevHosp.setOnClickListener(v -> {
final PreviousHospitalization previousHospitalization = DatabaseHelper.getPreviousHospitalizationDao().build();
final PreviousHospitalizationDialog dialog = new PreviousHospitalizationDialog(CaseEditActivity.getActiveActivity(), previousHospitalization, true);
dialog.setPositiveCallback(() -> addPreviousHospitalization(previousHospitalization));
dialog.setDeleteCallback(() -> removePreviousHospitalization(previousHospitalization));
dialog.show();
});
}
use of de.symeda.sormas.app.backend.hospitalization.PreviousHospitalization in project SORMAS-Project by hzi-braunschweig.
the class DatabaseHelper method getAdoDaoInner.
public <ADO extends AbstractDomainObject> AbstractAdoDao<ADO> getAdoDaoInner(Class<ADO> type) {
if (!adoDaos.containsKey(type)) {
// build dao
AbstractAdoDao<ADO> dao;
Dao<ADO, Long> innerDao;
try {
innerDao = super.getDao(type);
if (type.equals(Case.class)) {
dao = (AbstractAdoDao<ADO>) new CaseDao((Dao<Case, Long>) innerDao);
} else if (type.equals(Immunization.class)) {
dao = (AbstractAdoDao<ADO>) new ImmunizationDao((Dao<Immunization, Long>) innerDao);
} else if (type.equals(Vaccination.class)) {
dao = (AbstractAdoDao<ADO>) new VaccinationDao((Dao<Vaccination, Long>) innerDao);
} else if (type.equals(Therapy.class)) {
dao = (AbstractAdoDao<ADO>) new TherapyDao((Dao<Therapy, Long>) innerDao);
} else if (type.equals(Prescription.class)) {
dao = (AbstractAdoDao<ADO>) new PrescriptionDao((Dao<Prescription, Long>) innerDao);
} else if (type.equals(Treatment.class)) {
dao = (AbstractAdoDao<ADO>) new TreatmentDao((Dao<Treatment, Long>) innerDao);
} else if (type.equals(Person.class)) {
dao = (AbstractAdoDao<ADO>) new PersonDao((Dao<Person, Long>) innerDao);
} else if (type.equals(PersonContactDetail.class)) {
dao = (AbstractAdoDao<ADO>) new PersonContactDetailDao((Dao<PersonContactDetail, Long>) innerDao);
} else if (type.equals(Location.class)) {
dao = (AbstractAdoDao<ADO>) new LocationDao((Dao<Location, Long>) innerDao);
} else if (type.equals(PointOfEntry.class)) {
dao = (AbstractAdoDao<ADO>) new PointOfEntryDao((Dao<PointOfEntry, Long>) innerDao);
} else if (type.equals(Facility.class)) {
dao = (AbstractAdoDao<ADO>) new FacilityDao((Dao<Facility, Long>) innerDao);
} else if (type.equals(Continent.class)) {
dao = (AbstractAdoDao<ADO>) new ContinentDao((Dao<Continent, Long>) innerDao);
} else if (type.equals(Subcontinent.class)) {
dao = (AbstractAdoDao<ADO>) new SubcontinentDao((Dao<Subcontinent, Long>) innerDao);
} else if (type.equals(Country.class)) {
dao = (AbstractAdoDao<ADO>) new CountryDao((Dao<Country, Long>) innerDao);
} else if (type.equals(Area.class)) {
dao = (AbstractAdoDao<ADO>) new AreaDao((Dao<Area, Long>) innerDao);
} else if (type.equals(Region.class)) {
dao = (AbstractAdoDao<ADO>) new RegionDao((Dao<Region, Long>) innerDao);
} else if (type.equals(District.class)) {
dao = (AbstractAdoDao<ADO>) new DistrictDao((Dao<District, Long>) innerDao);
} else if (type.equals(Community.class)) {
dao = (AbstractAdoDao<ADO>) new CommunityDao((Dao<Community, Long>) innerDao);
} else if (type.equals(User.class)) {
dao = (AbstractAdoDao<ADO>) new UserDao((Dao<User, Long>) innerDao);
} else if (type.equals(UserRoleConfig.class)) {
dao = (AbstractAdoDao<ADO>) new UserRoleConfigDao((Dao<UserRoleConfig, Long>) innerDao);
} else if (type.equals(DiseaseConfiguration.class)) {
dao = (AbstractAdoDao<ADO>) new DiseaseConfigurationDao((Dao<DiseaseConfiguration, Long>) innerDao);
} else if (type.equals(CustomizableEnumValue.class)) {
dao = (AbstractAdoDao<ADO>) new CustomizableEnumValueDao((Dao<CustomizableEnumValue, Long>) innerDao);
} else if (type.equals(FeatureConfiguration.class)) {
dao = (AbstractAdoDao<ADO>) new FeatureConfigurationDao((Dao<FeatureConfiguration, Long>) innerDao);
} else if (type.equals(Symptoms.class)) {
dao = (AbstractAdoDao<ADO>) new SymptomsDao((Dao<Symptoms, Long>) innerDao);
} else if (type.equals(HealthConditions.class)) {
dao = (AbstractAdoDao<ADO>) new HealthConditionsDao((Dao<HealthConditions, Long>) innerDao);
} else if (type.equals(ClinicalCourse.class)) {
dao = (AbstractAdoDao<ADO>) new ClinicalCourseDao((Dao<ClinicalCourse, Long>) innerDao);
} else if (type.equals(ClinicalVisit.class)) {
dao = (AbstractAdoDao<ADO>) new ClinicalVisitDao((Dao<ClinicalVisit, Long>) innerDao);
} else if (type.equals(MaternalHistory.class)) {
dao = (AbstractAdoDao<ADO>) new MaternalHistoryDao((Dao<MaternalHistory, Long>) innerDao);
} else if (type.equals(PortHealthInfo.class)) {
dao = (AbstractAdoDao<ADO>) new PortHealthInfoDao((Dao<PortHealthInfo, Long>) innerDao);
} else if (type.equals(Task.class)) {
dao = (AbstractAdoDao<ADO>) new TaskDao((Dao<Task, Long>) innerDao);
} else if (type.equals(Contact.class)) {
dao = (AbstractAdoDao<ADO>) new ContactDao((Dao<Contact, Long>) innerDao);
} else if (type.equals(Visit.class)) {
dao = (AbstractAdoDao<ADO>) new VisitDao((Dao<Visit, Long>) innerDao);
} else if (type.equals(Event.class)) {
dao = (AbstractAdoDao<ADO>) new EventDao((Dao<Event, Long>) innerDao);
} else if (type.equals(EventParticipant.class)) {
dao = (AbstractAdoDao<ADO>) new EventParticipantDao((Dao<EventParticipant, Long>) innerDao);
} else if (type.equals(Sample.class)) {
dao = (AbstractAdoDao<ADO>) new SampleDao((Dao<Sample, Long>) innerDao);
} else if (type.equals(PathogenTest.class)) {
dao = (AbstractAdoDao<ADO>) new PathogenTestDao((Dao<PathogenTest, Long>) innerDao);
} else if (type.equals(AdditionalTest.class)) {
dao = (AbstractAdoDao<ADO>) new AdditionalTestDao((Dao<AdditionalTest, Long>) innerDao);
} else if (type.equals(Hospitalization.class)) {
dao = (AbstractAdoDao<ADO>) new HospitalizationDao((Dao<Hospitalization, Long>) innerDao);
} else if (type.equals(PreviousHospitalization.class)) {
dao = (AbstractAdoDao<ADO>) new PreviousHospitalizationDao((Dao<PreviousHospitalization, Long>) innerDao);
} else if (type.equals(EpiData.class)) {
dao = (AbstractAdoDao<ADO>) new EpiDataDao((Dao<EpiData, Long>) innerDao);
} else if (type.equals(Exposure.class)) {
dao = (AbstractAdoDao<ADO>) new ExposureDao((Dao<Exposure, Long>) innerDao);
} else if (type.equals(ActivityAsCase.class)) {
dao = (AbstractAdoDao<ADO>) new ActivityAsCaseDao((Dao<ActivityAsCase, Long>) innerDao);
} else if (type.equals(WeeklyReport.class)) {
dao = (AbstractAdoDao<ADO>) new WeeklyReportDao((Dao<WeeklyReport, Long>) innerDao);
} else if (type.equals(WeeklyReportEntry.class)) {
dao = (AbstractAdoDao<ADO>) new WeeklyReportEntryDao((Dao<WeeklyReportEntry, Long>) innerDao);
} else if (type.equals(AggregateReport.class)) {
dao = (AbstractAdoDao<ADO>) new AggregateReportDao((Dao<AggregateReport, Long>) innerDao);
} else if (type.equals(Outbreak.class)) {
dao = (AbstractAdoDao<ADO>) new OutbreakDao((Dao<Outbreak, Long>) innerDao);
} else if (type.equals(DiseaseClassificationCriteria.class)) {
dao = (AbstractAdoDao<ADO>) new DiseaseClassificationCriteriaDao((Dao<DiseaseClassificationCriteria, Long>) innerDao);
} else if (type.equals(SormasToSormasOriginInfo.class)) {
dao = (AbstractAdoDao<ADO>) new SormasToSormasOriginInfoDao((Dao<SormasToSormasOriginInfo, Long>) innerDao);
} else if (type.equals(Campaign.class)) {
dao = (AbstractAdoDao<ADO>) new CampaignDao((Dao<Campaign, Long>) innerDao);
} else if (type.equals(CampaignFormMeta.class)) {
dao = (AbstractAdoDao<ADO>) new CampaignFormMetaDao((Dao<CampaignFormMeta, Long>) innerDao);
} else if (type.equals(CampaignFormData.class)) {
dao = (AbstractAdoDao<ADO>) new CampaignFormDataDao((Dao<CampaignFormData, Long>) innerDao);
} else {
throw new UnsupportedOperationException(type.toString());
}
adoDaos.put(type, dao);
} catch (SQLException e) {
Log.e(DatabaseHelper.class.getName(), "Can't build dao", e);
throw new RuntimeException(e);
}
}
return (AbstractAdoDao<ADO>) adoDaos.get(type);
}
use of de.symeda.sormas.app.backend.hospitalization.PreviousHospitalization in project SORMAS-Project by hzi-braunschweig.
the class TestEntityCreator method addPreviousHospitalization.
public static PreviousHospitalization addPreviousHospitalization(Case caze) {
PreviousHospitalization prevHosp = DatabaseHelper.getPreviousHospitalizationDao().build();
prevHosp.setHospitalization(caze.getHospitalization());
caze.getHospitalization().getPreviousHospitalizations().add(prevHosp);
return prevHosp;
}
use of de.symeda.sormas.app.backend.hospitalization.PreviousHospitalization in project SORMAS-Project by hzi-braunschweig.
the class CaseBackendTest method shouldUpdateCaseAndAssociatedEntitiesOnMove.
@Test
public void shouldUpdateCaseAndAssociatedEntitiesOnMove() throws DaoException {
CaseDao caseDao = DatabaseHelper.getCaseDao();
Case caze = TestEntityCreator.createCase();
User user = DatabaseHelper.getUserDao().queryUuid(TestHelper.USER_UUID);
TaskDao taskDao = DatabaseHelper.getTaskDao();
Task pendingTask = TestEntityCreator.createCaseTask(caze, TaskStatus.PENDING, user);
Task doneTask = TestEntityCreator.createCaseTask(caze, TaskStatus.DONE, user);
Case existingCase = caseDao.queryUuidWithEmbedded(caze.getUuid());
District secondDistrict = DatabaseHelper.getDistrictDao().queryUuid(TestHelper.SECOND_DISTRICT_UUID);
caze.setResponsibleDistrict(secondDistrict);
Community secondCommunity = DatabaseHelper.getCommunityDao().queryUuid(TestHelper.SECOND_COMMUNITY_UUID);
caze.setResponsibleCommunity(secondCommunity);
caze.setHealthFacility(DatabaseHelper.getFacilityDao().queryUuid(TestHelper.SECOND_FACILITY_UUID));
caseDao.createPreviousHospitalizationAndUpdateHospitalization(caze, existingCase);
caseDao.saveAndSnapshot(caze);
caze = caseDao.queryUuidWithEmbedded(caze.getUuid());
pendingTask = taskDao.queryUuid(pendingTask.getUuid());
doneTask = taskDao.queryUuid(doneTask.getUuid());
// Case should have the new region, district, community and facility set
assertEquals(caze.getResponsibleRegion().getUuid(), TestHelper.REGION_UUID);
assertEquals(caze.getResponsibleDistrict().getUuid(), TestHelper.SECOND_DISTRICT_UUID);
assertEquals(caze.getResponsibleCommunity().getUuid(), TestHelper.SECOND_COMMUNITY_UUID);
assertEquals(caze.getHealthFacility().getUuid(), TestHelper.SECOND_FACILITY_UUID);
// The case officer should have changed
assertEquals(caze.getSurveillanceOfficer().getUuid(), TestHelper.SECOND_USER_UUID);
// Pending task should have been reassigned to the second user, done task should still be assigned to the first one
assertEquals(pendingTask.getAssigneeUser().getUuid(), TestHelper.SECOND_USER_UUID);
assertEquals(doneTask.getAssigneeUser().getUuid(), TestHelper.USER_UUID);
// A previous hospitalization with the former facility should have been created
List<PreviousHospitalization> previousHospitalizations = caze.getHospitalization().getPreviousHospitalizations();
assertEquals(1, previousHospitalizations.size());
}
Aggregations