Beispiel #1
0
  public Facility getOperativeFacilityByCode(String facilityCode) {
    Facility facility = getFacilityByCode(facilityCode);

    Facility parentFacility = null;
    if (facility.getVirtualFacility()) {
      parentFacility = facilityRepository.getById(facility.getParentFacilityId());
    }

    if (!facility.isValid(parentFacility)) {
      throw new DataException("error.facility.inoperative");
    }

    return facility;
  }
Beispiel #2
0
  public void save(Facility newFacility) {
    newFacility.validate();

    Facility storedFacility = facilityRepository.getById(newFacility.getId());

    facilityRepository.save(newFacility);

    if (!newFacility.equals(storedFacility)) {
      notify(asList(newFacility));
      if (canUpdateVirtualFacilities(newFacility, storedFacility)) {
        updateAndNotifyForVirtualFacilities(newFacility);
      }
    }
  }
Beispiel #3
0
 private void notify(List<Facility> facilities) {
   // TODO newFacility doesn't have modifiedDate populated
   for (Facility facility : facilities) {
     try {
       Facility parentFacility = facilityRepository.getById(facility.getParentFacilityId());
       FacilityFeedDTO facilityFeedDTO = new FacilityFeedDTO(facility, parentFacility);
       String content = facilityFeedDTO.getSerializedContents();
       eventService.notify(
           new Event(
               UUID.randomUUID().toString(),
               FACILITY_TITLE,
               DateTime.now(),
               "",
               content,
               FACILITY_CATEGORY));
     } catch (URISyntaxException e) {
       logger.error("Unable to generate facility event", e);
     }
   }
 }
Beispiel #4
0
 public Facility getById(Long id) {
   Facility facility = facilityRepository.getById(id);
   facility.setSupportedPrograms(programSupportedService.getAllByFacilityId(id));
   return facility;
 }