Search in sources :

Example 1 with CommunityDto

use of de.symeda.sormas.api.infrastructure.community.CommunityDto in project SORMAS-Project by hzi-braunschweig.

the class TestDataCreator method createCommunity.

public CommunityDto createCommunity(String communityName, DistrictReferenceDto district) {
    CommunityDto community = CommunityDto.build();
    community.setUuid(DataHelper.createUuid());
    community.setName(communityName);
    community.setDistrict(district);
    FacadeProvider.getCommunityFacade().save(community);
    return community;
}
Also used : CommunityDto(de.symeda.sormas.api.infrastructure.community.CommunityDto)

Example 2 with CommunityDto

use of de.symeda.sormas.api.infrastructure.community.CommunityDto in project SORMAS-Project by hzi-braunschweig.

the class TestDataCreator method createCommunity.

public CommunityDto createCommunity(String communityName, DistrictReferenceDto district) {
    CommunityDto community = CommunityDto.build();
    community.setName(communityName);
    community.setDistrict(district);
    beanTest.getCommunityFacade().save(community);
    return community;
}
Also used : CommunityDto(de.symeda.sormas.api.infrastructure.community.CommunityDto)

Example 3 with CommunityDto

use of de.symeda.sormas.api.infrastructure.community.CommunityDto in project SORMAS-Project by hzi-braunschweig.

the class InfrastructureController method archiveOrDearchiveAllSelectedItems.

@SuppressWarnings("unchecked")
public void archiveOrDearchiveAllSelectedItems(boolean archive, Collection<?> selectedRows, InfrastructureType infrastructureType, Runnable callback) {
    // Check that at least one entry is selected
    if (selectedRows.isEmpty()) {
        new Notification(I18nProperties.getString(Strings.headingNoRowsSelected), I18nProperties.getString(Strings.messageNoRowsSelected), Type.WARNING_MESSAGE, false).show(Page.getCurrent());
        return;
    }
    // Check if archiving/dearchiving is allowed concerning the hierarchy
    Set<String> selectedRowsUuids = selectedRows.stream().map(row -> ((HasUuid) row).getUuid()).collect(Collectors.toSet());
    if (InfrastructureType.AREA.equals(infrastructureType) && FacadeProvider.getAreaFacade().isUsedInOtherInfrastructureData(selectedRowsUuids) || InfrastructureType.CONTINENT.equals(infrastructureType) && FacadeProvider.getContinentFacade().isUsedInOtherInfrastructureData(selectedRowsUuids) || InfrastructureType.SUBCONTINENT.equals(infrastructureType) && FacadeProvider.getSubcontinentFacade().isUsedInOtherInfrastructureData(selectedRowsUuids) || InfrastructureType.REGION.equals(infrastructureType) && FacadeProvider.getRegionFacade().isUsedInOtherInfrastructureData(selectedRowsUuids) || InfrastructureType.DISTRICT.equals(infrastructureType) && FacadeProvider.getDistrictFacade().isUsedInOtherInfrastructureData(selectedRowsUuids) || InfrastructureType.COMMUNITY.equals(infrastructureType) && FacadeProvider.getCommunityFacade().isUsedInOtherInfrastructureData(selectedRowsUuids)) {
        showArchivingNotPossibleWindow(infrastructureType, true);
        return;
    }
    if (InfrastructureType.COUNTRY.equals(infrastructureType) && FacadeProvider.getCountryFacade().hasArchivedParentInfrastructure(selectedRowsUuids) || InfrastructureType.SUBCONTINENT.equals(infrastructureType) && FacadeProvider.getSubcontinentFacade().hasArchivedParentInfrastructure(selectedRowsUuids) || InfrastructureType.DISTRICT.equals(infrastructureType) && FacadeProvider.getDistrictFacade().hasArchivedParentInfrastructure(selectedRowsUuids) || InfrastructureType.COMMUNITY.equals(infrastructureType) && FacadeProvider.getCommunityFacade().hasArchivedParentInfrastructure(selectedRowsUuids) || InfrastructureType.FACILITY.equals(infrastructureType) && FacadeProvider.getFacilityFacade().hasArchivedParentInfrastructure(selectedRowsUuids) || InfrastructureType.POINT_OF_ENTRY.equals(infrastructureType) && FacadeProvider.getPointOfEntryFacade().hasArchivedParentInfrastructure(selectedRowsUuids)) {
        showDearchivingNotPossibleWindow(infrastructureType, false);
        return;
    }
    final String confirmationMessage;
    final String notificationMessage;
    switch(infrastructureType) {
        case CONTINENT:
            confirmationMessage = archive ? I18nProperties.getString(Strings.confirmationArchiveContinents) : I18nProperties.getString(Strings.confirmationDearchiveContinents);
            notificationMessage = archive ? I18nProperties.getString(Strings.messageContinentsArchived) : I18nProperties.getString(Strings.messageContinentsDearchived);
            break;
        case SUBCONTINENT:
            confirmationMessage = archive ? I18nProperties.getString(Strings.confirmationArchiveSubcontinents) : I18nProperties.getString(Strings.confirmationDearchiveSubcontinents);
            notificationMessage = archive ? I18nProperties.getString(Strings.messageSubcontinentsArchived) : I18nProperties.getString(Strings.messageSubcontinentsDearchived);
            break;
        case AREA:
            confirmationMessage = archive ? I18nProperties.getString(Strings.confirmationArchiveAreas) : I18nProperties.getString(Strings.confirmationDearchiveAreas);
            notificationMessage = archive ? I18nProperties.getString(Strings.messageAreasArchived) : I18nProperties.getString(Strings.messageAreasDearchived);
            break;
        case COUNTRY:
            confirmationMessage = archive ? I18nProperties.getString(Strings.confirmationArchiveCountries) : I18nProperties.getString(Strings.confirmationDearchiveCountries);
            notificationMessage = archive ? I18nProperties.getString(Strings.messageCountriesArchived) : I18nProperties.getString(Strings.messageCountriesDearchived);
            break;
        case REGION:
            confirmationMessage = archive ? I18nProperties.getString(Strings.confirmationArchiveRegions) : I18nProperties.getString(Strings.confirmationDearchiveRegions);
            notificationMessage = archive ? I18nProperties.getString(Strings.messageRegionsArchived) : I18nProperties.getString(Strings.messageRegionsDearchived);
            break;
        case DISTRICT:
            confirmationMessage = archive ? I18nProperties.getString(Strings.confirmationArchiveDistricts) : I18nProperties.getString(Strings.confirmationDearchiveDistricts);
            notificationMessage = archive ? I18nProperties.getString(Strings.messageDistrictsArchived) : I18nProperties.getString(Strings.messageDistrictsDearchived);
            break;
        case COMMUNITY:
            confirmationMessage = archive ? I18nProperties.getString(Strings.confirmationArchiveCommunities) : I18nProperties.getString(Strings.confirmationDearchiveCommunities);
            notificationMessage = archive ? I18nProperties.getString(Strings.messageCommunitiesArchived) : I18nProperties.getString(Strings.messageCommunitiesDearchived);
            break;
        case FACILITY:
            confirmationMessage = archive ? I18nProperties.getString(Strings.confirmationArchiveFacilities) : I18nProperties.getString(Strings.confirmationDearchiveFacilities);
            notificationMessage = archive ? I18nProperties.getString(Strings.messageFacilitiesArchived) : I18nProperties.getString(Strings.messageFacilitiesDearchived);
            break;
        case POINT_OF_ENTRY:
            confirmationMessage = archive ? I18nProperties.getString(Strings.confirmationArchivePointsOfEntry) : I18nProperties.getString(Strings.confirmationDearchivePointsOfEntry);
            notificationMessage = archive ? I18nProperties.getString(Strings.messagePointsOfEntryArchived) : I18nProperties.getString(Strings.messagePointsOfEntryDearchived);
            break;
        default:
            throw new IllegalArgumentException(infrastructureType.name());
    }
    VaadinUiUtil.showConfirmationPopup(I18nProperties.getString(Strings.headingConfirmArchiving), new Label(String.format(confirmationMessage, selectedRows.size())), I18nProperties.getString(Strings.yes), I18nProperties.getString(Strings.no), null, e -> {
        if (e.booleanValue()) {
            switch(infrastructureType) {
                case CONTINENT:
                    for (ContinentDto selectedRow : (Collection<ContinentDto>) selectedRows) {
                        if (archive) {
                            FacadeProvider.getContinentFacade().archive(selectedRow.getUuid());
                        } else {
                            FacadeProvider.getContinentFacade().dearchive(selectedRow.getUuid());
                        }
                    }
                    break;
                case SUBCONTINENT:
                    for (SubcontinentDto selectedRow : (Collection<SubcontinentDto>) selectedRows) {
                        if (archive) {
                            FacadeProvider.getSubcontinentFacade().archive(selectedRow.getUuid());
                        } else {
                            FacadeProvider.getSubcontinentFacade().dearchive(selectedRow.getUuid());
                        }
                    }
                    break;
                case AREA:
                    for (AreaDto selectedRow : (Collection<AreaDto>) selectedRows) {
                        if (archive) {
                            FacadeProvider.getAreaFacade().archive(selectedRow.getUuid());
                        } else {
                            FacadeProvider.getAreaFacade().dearchive(selectedRow.getUuid());
                        }
                    }
                    break;
                case COUNTRY:
                    for (CountryIndexDto selectedRow : (Collection<CountryIndexDto>) selectedRows) {
                        if (archive) {
                            FacadeProvider.getCountryFacade().archive(selectedRow.getUuid());
                        } else {
                            FacadeProvider.getCountryFacade().dearchive(selectedRow.getUuid());
                        }
                    }
                    break;
                case REGION:
                    for (RegionIndexDto selectedRow : (Collection<RegionIndexDto>) selectedRows) {
                        if (archive) {
                            FacadeProvider.getRegionFacade().archive(selectedRow.getUuid());
                        } else {
                            FacadeProvider.getRegionFacade().dearchive(selectedRow.getUuid());
                        }
                    }
                    break;
                case DISTRICT:
                    for (DistrictIndexDto selectedRow : (Collection<DistrictIndexDto>) selectedRows) {
                        if (archive) {
                            FacadeProvider.getDistrictFacade().archive(selectedRow.getUuid());
                        } else {
                            FacadeProvider.getDistrictFacade().dearchive(selectedRow.getUuid());
                        }
                    }
                    break;
                case COMMUNITY:
                    for (CommunityDto selectedRow : (Collection<CommunityDto>) selectedRows) {
                        if (archive) {
                            FacadeProvider.getCommunityFacade().archive(selectedRow.getUuid());
                        } else {
                            FacadeProvider.getCommunityFacade().dearchive(selectedRow.getUuid());
                        }
                    }
                    break;
                case FACILITY:
                    for (FacilityIndexDto selectedRow : (Collection<FacilityIndexDto>) selectedRows) {
                        if (archive) {
                            FacadeProvider.getFacilityFacade().archive(selectedRow.getUuid());
                        } else {
                            FacadeProvider.getFacilityFacade().dearchive(selectedRow.getUuid());
                        }
                    }
                    break;
                case POINT_OF_ENTRY:
                    for (PointOfEntryDto selectedRow : (Collection<PointOfEntryDto>) selectedRows) {
                        if (archive) {
                            FacadeProvider.getPointOfEntryFacade().archive(selectedRow.getUuid());
                        } else {
                            FacadeProvider.getPointOfEntryFacade().dearchive(selectedRow.getUuid());
                        }
                    }
                    break;
                default:
                    throw new IllegalArgumentException(infrastructureType.name());
            }
            callback.run();
            Notification.show(notificationMessage, Type.ASSISTIVE_NOTIFICATION);
        }
    });
}
Also used : AreaDto(de.symeda.sormas.api.infrastructure.area.AreaDto) Arrays(java.util.Arrays) FacilityDto(de.symeda.sormas.api.infrastructure.facility.FacilityDto) CountryDto(de.symeda.sormas.api.infrastructure.country.CountryDto) VaadinUiUtil(de.symeda.sormas.ui.utils.VaadinUiUtil) FacadeProvider(de.symeda.sormas.api.FacadeProvider) I18nProperties(de.symeda.sormas.api.i18n.I18nProperties) Alignment(com.vaadin.ui.Alignment) RegionDto(de.symeda.sormas.api.infrastructure.region.RegionDto) CommitListener(de.symeda.sormas.ui.utils.CommitDiscardWrapperComponent.CommitListener) CommunityDto(de.symeda.sormas.api.infrastructure.community.CommunityDto) Notification(com.vaadin.ui.Notification) SormasUI(de.symeda.sormas.ui.SormasUI) CommitDiscardWrapperComponent(de.symeda.sormas.ui.utils.CommitDiscardWrapperComponent) Page(com.vaadin.server.Page) Label(com.vaadin.ui.Label) ContinentDto(de.symeda.sormas.api.infrastructure.continent.ContinentDto) RegionIndexDto(de.symeda.sormas.api.infrastructure.region.RegionIndexDto) SubcontinentDto(de.symeda.sormas.api.infrastructure.subcontinent.SubcontinentDto) UserProvider(de.symeda.sormas.ui.UserProvider) ButtonHelper(de.symeda.sormas.ui.utils.ButtonHelper) ValoTheme(com.vaadin.ui.themes.ValoTheme) PointOfEntryDto(de.symeda.sormas.api.infrastructure.pointofentry.PointOfEntryDto) FacilityType(de.symeda.sormas.api.infrastructure.facility.FacilityType) Collection(java.util.Collection) HasUuid(de.symeda.sormas.api.HasUuid) InfrastructureType(de.symeda.sormas.api.infrastructure.InfrastructureType) Set(java.util.Set) CountryIndexDto(de.symeda.sormas.api.infrastructure.country.CountryIndexDto) Collectors(java.util.stream.Collectors) Captions(de.symeda.sormas.api.i18n.Captions) UserRight(de.symeda.sormas.api.user.UserRight) Button(com.vaadin.ui.Button) Type(com.vaadin.ui.Notification.Type) DistrictIndexDto(de.symeda.sormas.api.infrastructure.district.DistrictIndexDto) FacilityIndexDto(de.symeda.sormas.api.infrastructure.facility.FacilityIndexDto) DistrictDto(de.symeda.sormas.api.infrastructure.district.DistrictDto) Strings(de.symeda.sormas.api.i18n.Strings) DistrictIndexDto(de.symeda.sormas.api.infrastructure.district.DistrictIndexDto) FacilityIndexDto(de.symeda.sormas.api.infrastructure.facility.FacilityIndexDto) Label(com.vaadin.ui.Label) CountryIndexDto(de.symeda.sormas.api.infrastructure.country.CountryIndexDto) AreaDto(de.symeda.sormas.api.infrastructure.area.AreaDto) Notification(com.vaadin.ui.Notification) RegionIndexDto(de.symeda.sormas.api.infrastructure.region.RegionIndexDto) ContinentDto(de.symeda.sormas.api.infrastructure.continent.ContinentDto) HasUuid(de.symeda.sormas.api.HasUuid) SubcontinentDto(de.symeda.sormas.api.infrastructure.subcontinent.SubcontinentDto) CommunityDto(de.symeda.sormas.api.infrastructure.community.CommunityDto) PointOfEntryDto(de.symeda.sormas.api.infrastructure.pointofentry.PointOfEntryDto) Collection(java.util.Collection)

Example 4 with CommunityDto

use of de.symeda.sormas.api.infrastructure.community.CommunityDto in project SORMAS-Project by hzi-braunschweig.

the class CommunityFacadeEjb method toDto.

@Override
public CommunityDto toDto(Community entity) {
    if (entity == null) {
        return null;
    }
    CommunityDto dto = new CommunityDto();
    DtoHelper.fillDto(dto, entity);
    dto.setName(entity.getName());
    dto.setGrowthRate(entity.getGrowthRate());
    dto.setDistrict(DistrictFacadeEjb.toReferenceDto(entity.getDistrict()));
    dto.setRegion(RegionFacadeEjb.toReferenceDto(entity.getDistrict().getRegion()));
    dto.setArchived(entity.isArchived());
    dto.setExternalID(entity.getExternalID());
    dto.setCentrallyManaged(entity.isCentrallyManaged());
    return dto;
}
Also used : CommunityDto(de.symeda.sormas.api.infrastructure.community.CommunityDto)

Example 5 with CommunityDto

use of de.symeda.sormas.api.infrastructure.community.CommunityDto in project SORMAS-Project by hzi-braunschweig.

the class CommunityFacadeEjbTest method testGetAllAfter.

@Test
public void testGetAllAfter() throws InterruptedException {
    Region region = creator.createRegion("region");
    District district = creator.createDistrict("district", region);
    creator.createCommunity("community1", district);
    getCommunityService().doFlush();
    Date date = new Date();
    List<CommunityDto> results = getCommunityFacade().getAllAfter(date);
    // List should be empty
    assertEquals(0, results.size());
    // delay to ignore known rounding issues in change date filter
    Thread.sleep(1);
    String communityName = "community2";
    creator.createCommunity(communityName, district);
    results = getCommunityFacade().getAllAfter(date);
    // List should have one entry
    assertEquals(1, results.size());
    assertEquals(communityName, results.get(0).getName());
    assertEquals(district.getUuid(), results.get(0).getDistrict().getUuid());
    assertEquals(region.getUuid(), results.get(0).getRegion().getUuid());
}
Also used : CommunityDto(de.symeda.sormas.api.infrastructure.community.CommunityDto) Region(de.symeda.sormas.backend.infrastructure.region.Region) District(de.symeda.sormas.backend.infrastructure.district.District) Date(java.util.Date) Test(org.junit.Test) AbstractBeanTest(de.symeda.sormas.backend.AbstractBeanTest)

Aggregations

CommunityDto (de.symeda.sormas.api.infrastructure.community.CommunityDto)11 DistrictDto (de.symeda.sormas.api.infrastructure.district.DistrictDto)3 FacilityDto (de.symeda.sormas.api.infrastructure.facility.FacilityDto)3 RegionDto (de.symeda.sormas.api.infrastructure.region.RegionDto)3 Date (java.util.Date)3 FacadeProvider (de.symeda.sormas.api.FacadeProvider)2 I18nProperties (de.symeda.sormas.api.i18n.I18nProperties)2 ImportErrorException (de.symeda.sormas.api.importexport.ImportErrorException)2 InvalidColumnException (de.symeda.sormas.api.importexport.InvalidColumnException)2 CommunityReferenceDto (de.symeda.sormas.api.infrastructure.community.CommunityReferenceDto)2 DistrictReferenceDto (de.symeda.sormas.api.infrastructure.district.DistrictReferenceDto)2 PointOfEntryDto (de.symeda.sormas.api.infrastructure.pointofentry.PointOfEntryDto)2 UserDto (de.symeda.sormas.api.user.UserDto)2 ValidationRuntimeException (de.symeda.sormas.api.utils.ValidationRuntimeException)2 AbstractBeanTest (de.symeda.sormas.backend.AbstractBeanTest)2 IOException (java.io.IOException)2 List (java.util.List)2 Test (org.junit.Test)2 Page (com.vaadin.server.Page)1 Alignment (com.vaadin.ui.Alignment)1