Skip to content

Commit

Permalink
refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
sundayAdu committed Apr 17, 2023
1 parent 4d0f150 commit 1a81d61
Show file tree
Hide file tree
Showing 12 changed files with 270 additions and 72 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -94,5 +94,7 @@ List<CampaignDiagramDataDto> getDiagramDataByAgeGroupCard(
List<MapCampaignDataDto> getCampaignDataforMaps();

String getByClusterDropDown(CommunityReferenceDto community, CampaignFormMetaDto campaignForm, CampaignDto campaign);

void deleteCampaignData(List<String> uuids);

}
Original file line number Diff line number Diff line change
Expand Up @@ -38,22 +38,22 @@ public class CampaignFormMetaReferenceDto extends ReferenceDto {
private int daysExpired;

public CampaignFormMetaReferenceDto() {
System.out.println("00000000000000000000000000000000");
// System.out.println("00000000000000000000000000000000");
}

public CampaignFormMetaReferenceDto(String uuid) {
System.out.println("11111111111111");
// System.out.println("11111111111111");
setUuid(uuid);
}

public CampaignFormMetaReferenceDto(String uuid, String caption) {
System.out.println("333333333333333333333333333333333");
// System.out.println("333333333333333333333333333333333");
setUuid(uuid);
setCaption(caption);
}

public CampaignFormMetaReferenceDto(String uuid, String caption, String type) {
System.out.println("44444444444444444444444444444444444");
// System.out.println("44444444444444444444444444444444444");
setUuid(uuid);
setCaption(caption);
setFormType(type);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
import javax.persistence.Query;
import javax.persistence.TypedQuery;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaDelete;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Expression;
import javax.persistence.criteria.Join;
Expand Down Expand Up @@ -64,6 +65,7 @@
import de.symeda.sormas.api.campaign.form.CampaignFormElementType;
import de.symeda.sormas.api.campaign.form.CampaignFormMetaDto;
import de.symeda.sormas.api.i18n.I18nProperties;
import de.symeda.sormas.api.i18n.Strings;
import de.symeda.sormas.api.i18n.Validations;
import de.symeda.sormas.api.infrastructure.PopulationDataCriteria;
import de.symeda.sormas.api.infrastructure.PopulationDataDto;
Expand All @@ -73,6 +75,7 @@
import de.symeda.sormas.api.infrastructure.region.RegionReferenceDto;
import de.symeda.sormas.api.user.FormAccess;
import de.symeda.sormas.api.user.UserRight;
import de.symeda.sormas.api.user.UserRole;
import de.symeda.sormas.api.utils.SortProperty;
import de.symeda.sormas.api.utils.ValidationRuntimeException;
import de.symeda.sormas.backend.campaign.Campaign;
Expand All @@ -96,8 +99,10 @@
import de.symeda.sormas.backend.infrastructure.region.Region;
import de.symeda.sormas.backend.infrastructure.region.RegionFacadeEjb;
import de.symeda.sormas.backend.infrastructure.region.RegionService;
import de.symeda.sormas.backend.user.User;
import de.symeda.sormas.backend.user.UserFacadeEjb;
import de.symeda.sormas.backend.user.UserService;
import de.symeda.sormas.backend.user.UserRoleConfigFacadeEjb.UserRoleConfigFacadeEjbLocal;
import de.symeda.sormas.backend.util.DtoHelper;
import de.symeda.sormas.backend.util.ModelConstants;
import de.symeda.sormas.backend.util.QueryHelper;
Expand Down Expand Up @@ -147,6 +152,9 @@ public class CampaignFormDataFacadeEjb implements CampaignFormDataFacade {

@EJB
private DistrictFacadeEjb.DistrictFacadeEjbLocal districtFacadeEjb;

@EJB
private UserRoleConfigFacadeEjbLocal userRoleConfigFacade;

public CampaignFormData fromDto(@NotNull CampaignFormDataDto source, boolean checkChangeDate) {
CampaignFormData target = DtoHelper.fillOrBuildEntity(source, campaignFormDataService.getByUuid(source.getUuid()), CampaignFormData::new, checkChangeDate);
Expand Down Expand Up @@ -287,7 +295,7 @@ public CampaignFormDataDto getExistingData(CampaignFormDataCriteria criteria) {
public List<CampaignFormDataIndexDto> getIndexList(CampaignFormDataCriteria criteria, Integer first, Integer max,
List<SortProperty> sortProperties) {

//System.out.println(criteria.getCampaignFormMeta().getUuid()+"sdddddddddddddfdsyu876456uiuytrertyuyttyukldsssssssssssssssss formValues"+sortProperties.get(1));
System.out.println((criteria == null) +" ---poiuhgfghj==__==kjhghyujkl--- "+criteria.getCampaign());

CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<CampaignFormDataIndexDto> cq = cb.createQuery(CampaignFormDataIndexDto.class);
Expand All @@ -309,7 +317,7 @@ public List<CampaignFormDataIndexDto> getIndexList(CampaignFormDataCriteria crit
districtJoin.get(District.NAME), districtJoin.get(District.EXTERNAL_ID),
communityJoin.get(Community.NAME), communityJoin.get(Community.CLUSTER_NUMBER), communityJoin.get(Community.EXTERNAL_ID),
root.get(CampaignFormData.FORM_DATE),
campaignFormMetaJoin.get(CampaignFormMeta.FORM_TYPE));
campaignFormMetaJoin.get(CampaignFormMeta.FORM_TYPE));


Predicate filter = CriteriaBuilderHelper.and(cb,
Expand Down Expand Up @@ -1601,4 +1609,24 @@ public String getByClusterDropDown(CommunityReferenceDto community, CampaignForm

}

@Override
public void deleteCampaignData(List<String> uuids) {

User user = userService.getCurrentUser();
if (!userRoleConfigFacade.getEffectiveUserRights(user.getUserRoles().toArray(new UserRole[user.getUserRoles().size()]))
.contains(UserRight.CAMPAIGN_DELETE)) {
throw new UnsupportedOperationException(
I18nProperties.getString(Strings.entityUser) + " " + user.getUuid() + " is not allowed to delete "
+ I18nProperties.getString(Strings.entityCampaigns).toLowerCase() + ".");
}

for(String uuidx : uuids) {
campaignFormDataService.delete(campaignFormDataService.getByUuid(uuidx));
}

}




}
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ public static Predicate andInValues(Collection<String> values, Predicate filter,
}

public static Predicate unaccentedIlike(CriteriaBuilder cb, Expression<String> valueExpression, String pattern) {
return unaccentedIlike(cb, valueExpression, cb.literal("%" + pattern + "%"));
return unaccentedIlike(cb, valueExpression, cb.literal(pattern + "%")); //("%" + pattern + "%"));
}

public static Predicate unaccentedIlikePrecise(CriteriaBuilder cb, Expression<String> valueExpression, String value) {
Expand All @@ -121,7 +121,7 @@ public static Predicate unaccentedIlike(CriteriaBuilder cb, Expression<String> v
}

public static Predicate ilike(CriteriaBuilder cb, Expression<String> valueExpression, String pattern) {
return ilike(cb, valueExpression, cb.literal("%" + pattern + "%"));
return ilike(cb, valueExpression, cb.literal(pattern + "%")); //("%" + pattern + "%"));
}

public static Predicate ilikePrecise(CriteriaBuilder cb, Expression<String> valueExpression, String value) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -201,8 +201,9 @@ public Predicate buildCriteriaFilter(DistrictCriteria criteria, CriteriaBuilder
}

Predicate likeFilters = cb.or(
CriteriaBuilderHelper.unaccentedIlike(cb, from.get(District.NAME), textFilter),
CriteriaBuilderHelper.ilike(cb, from.get(District.EPID_CODE), textFilter));
CriteriaBuilderHelper.unaccentedIlike(cb, from.get(District.NAME), textFilter)//,
//CriteriaBuilderHelper.ilike(cb, from.get(District.EPID_CODE), textFilter)
);
filter = CriteriaBuilderHelper.and(cb, filter, likeFilters);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,8 +116,8 @@ public Predicate buildCriteriaFilter(RegionCriteria criteria, CriteriaBuilder cb
}

Predicate likeFilters = cb.or(
CriteriaBuilderHelper.unaccentedIlike(cb, from.get(Region.NAME), textFilter),
CriteriaBuilderHelper.ilike(cb, from.get(Region.EPID_CODE), textFilter));
CriteriaBuilderHelper.unaccentedIlike(cb, from.get(Region.NAME), textFilter));//,
// CriteriaBuilderHelper.ilike(cb, from.get(Region.EPID_CODE), textFilter));
filter = CriteriaBuilderHelper.and(cb, filter, likeFilters);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import java.time.ZonedDateTime;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

Expand Down Expand Up @@ -49,6 +50,7 @@
import de.symeda.sormas.api.campaign.CampaignDto;
import de.symeda.sormas.api.campaign.CampaignReferenceDto;
import de.symeda.sormas.api.campaign.data.CampaignFormDataDto;
import de.symeda.sormas.api.campaign.data.CampaignFormDataIndexDto;
import de.symeda.sormas.api.campaign.form.CampaignFormMetaReferenceDto;
import de.symeda.sormas.api.i18n.Captions;
import de.symeda.sormas.api.i18n.I18nProperties;
Expand Down Expand Up @@ -722,4 +724,31 @@ public void navigateToCampaignData(String campaignUuid) {
String navigationState = CampaignDataView.VIEW_NAME + "/?" + CampaignFormDataDto.CAMPAIGN + "=" + campaignUuid;
SormasUI.get().getNavigator().navigateTo(navigationState);
}


public void deleteAllSelectedItems(Collection<CampaignFormDataIndexDto> selectedRows, Runnable callback) {

if (selectedRows.size() == 0) {
new Notification(I18nProperties.getString(Strings.headingNoUsersSelected),
I18nProperties.getString(Strings.messageNoUsersSelected), Notification.Type.WARNING_MESSAGE, false)
.show(Page.getCurrent());
} else {
VaadinUiUtil.showConfirmationPopup(I18nProperties.getString(Strings.headingConfirmEnabling),
new Label(String.format(I18nProperties.getString(Strings.confirmationEnableUsers),
selectedRows.size())),
I18nProperties.getString(Strings.yes), I18nProperties.getString(Strings.no), null, confirmed -> {
if (!confirmed) {
return;
}
List<String> uuids = selectedRows.stream().map(CampaignFormDataIndexDto::getUuid).collect(Collectors.toList());
System.out.println("-----uuidsuuidsuuids---: "+uuids.size());
FacadeProvider.getCampaignFormDataFacade().deleteCampaignData(uuids);
callback.run();
new Notification(I18nProperties.getString(Strings.headingUsersEnabled),
I18nProperties.getString(Strings.messageUsersEnabled),
Notification.Type.HUMANIZED_MESSAGE, false).show(Page.getCurrent());
});
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -25,38 +25,50 @@
import org.apache.commons.lang3.math.NumberUtils;

import com.vaadin.data.provider.DataProvider;
import com.vaadin.data.provider.ListDataProvider;
import com.vaadin.shared.data.sort.SortDirection;
import com.vaadin.ui.Grid.SelectionMode;
import com.vaadin.ui.renderers.DateRenderer;
import com.vaadin.ui.renderers.NumberRenderer;
import com.vaadin.ui.themes.ValoTheme;

import de.symeda.sormas.api.FacadeProvider;
import de.symeda.sormas.api.campaign.CampaignIndexDto;
import de.symeda.sormas.api.campaign.data.CampaignFormDataCriteria;
import de.symeda.sormas.api.campaign.data.CampaignFormDataDto;
import de.symeda.sormas.api.campaign.data.CampaignFormDataEntry;
import de.symeda.sormas.api.campaign.data.CampaignFormDataIndexDto;
import de.symeda.sormas.api.feature.FeatureType;
import de.symeda.sormas.api.i18n.I18nProperties;
import de.symeda.sormas.api.user.UserDto;
import de.symeda.sormas.api.user.UserRight;
import de.symeda.sormas.api.user.UserRole;
import de.symeda.sormas.api.utils.DateHelper;
import de.symeda.sormas.api.utils.SortProperty;
import de.symeda.sormas.ui.ControllerProvider;
import de.symeda.sormas.ui.UserProvider;
import de.symeda.sormas.ui.ViewModelProviders;
import de.symeda.sormas.ui.campaign.components.importancefilterswitcher.CriteriaPhase;
import de.symeda.sormas.ui.utils.CssStyles;
import de.symeda.sormas.ui.utils.FilteredGrid;
import de.symeda.sormas.ui.utils.ShowDetailsListener;
import de.symeda.sormas.ui.utils.ViewConfiguration;

public class CampaignDataGrid extends FilteredGrid<CampaignFormDataIndexDto, CampaignFormDataCriteria> {

private static final long serialVersionUID = 8045806100043073638L;
private CampaignFormDataCriteria criteria_;

NumberRenderer numberRenderer = new NumberRenderer();

public CampaignDataGrid(CampaignFormDataCriteria criteria) {

super(CampaignFormDataIndexDto.class);
setSizeFull();

System.out.println("-----#######1111 "+(criteria == null));
System.out.println("-----#######2222 "+criteria.getCampaign());
this.criteria_ = criteria;
setEagerDataProvider();
setDataProvider();
setCriteria(criteria);

Expand Down Expand Up @@ -115,6 +127,7 @@ public void reload() {
}

public void setDataProvider() {
System.out.println(" %%%%%%%%%%%%%%%%%%%%%%%%%%% ");
DataProvider<CampaignFormDataIndexDto, CampaignFormDataCriteria> dataProvider = DataProvider
.fromFilteringCallbacks(
query -> FacadeProvider.getCampaignFormDataFacade()
Expand All @@ -128,7 +141,7 @@ public void setDataProvider() {
query -> (int) FacadeProvider.getCampaignFormDataFacade()
.count(query.getFilter().orElse(null)));
setDataProvider(dataProvider);
setSelectionMode(SelectionMode.NONE);
//setSelectionMode(SelectionMode.MULTI);
}

public void addCustomColumn(String property, String caption) {
Expand All @@ -149,4 +162,62 @@ public void addCustomColumn(String property, String caption) {
}

}


public void setEagerDataProvider() {
ListDataProvider<CampaignFormDataIndexDto> dataProvider = null;

System.out.println("dddddd---rrrr "+(getCriteria() == null));

System.out.println("dddddd---eeee "+ getCriteria());

if(getCriteria() != null) {

if (UserProvider.getCurrent().hasUserRole(UserRole.ADMIN_SUPERVISOR)) {
dataProvider = DataProvider.fromStream(
FacadeProvider.getCampaignFormDataFacade().getIndexList(getCriteria(), null, null, null).stream().filter(e -> e.getDistrict().equals(UserProvider.getCurrent().getUser().getDistrict())));
} else if (UserProvider.getCurrent().hasUserRole(UserRole.ADMIN)) {
// dataProvider = DataProvider.fromStream(
// FacadeProvider.getCampaignFormDataFacade().getIndexList(getCriteria(), null, null, null).stream().filter(e -> e.getDistrict().equals(UserProvider.getCurrent().getUser().getDistrict())));

dataProvider =
DataProvider.fromStream(FacadeProvider.getCampaignFormDataFacade().getIndexList(getCriteria(), null, null, null).stream());


} else {
dataProvider = DataProvider.fromStream(
FacadeProvider.getCampaignFormDataFacade().getIndexList(getCriteria(), null, null, null).stream().filter(e -> e.getDistrict().equals(UserProvider.getCurrent().getUser().getDistrict())));
}

}else {

if (UserProvider.getCurrent().hasUserRole(UserRole.ADMIN_SUPERVISOR)) {
dataProvider = DataProvider.fromStream(
FacadeProvider.getCampaignFormDataFacade().getIndexList(criteria_, null, null, null).stream().filter(e -> e.getDistrict().equals(UserProvider.getCurrent().getUser().getDistrict())));
} else if (UserProvider.getCurrent().hasUserRole(UserRole.ADMIN)) {
// dataProvider = DataProvider.fromStream(
// FacadeProvider.getCampaignFormDataFacade().getIndexList(criteria_, null, null, null).stream().filter(e -> e.getDistrict().equals(UserProvider.getCurrent().getUser().getDistrict())));

dataProvider =
DataProvider.fromStream(FacadeProvider.getCampaignFormDataFacade().getIndexList(criteria_, null, null, null).stream());



// dataProvider = DataProvider.fromStream(
// FacadeProvider.getUserFacade().getIndexList(getCriteria(), null, null, null).stream().filter(null));
} else {
dataProvider = DataProvider.fromStream(
FacadeProvider.getCampaignFormDataFacade().getIndexList(criteria_, null, null, null).stream().filter(e -> e.getDistrict().equals(UserProvider.getCurrent().getUser().getDistrict())));
}


}


setDataProvider(dataProvider);


//
}

}
Loading

0 comments on commit 1a81d61

Please sign in to comment.