package com.idega.block.process.presentation.beans; import java.io.Serializable; import java.util.Date; import java.util.List; import java.util.Locale; import com.idega.builder.bean.AdvancedProperty; import com.idega.presentation.IWContext; import com.idega.presentation.ui.handlers.IWDatePickerHandler; import com.idega.util.IWTimestamp; public class CasesSearchCriteriaBean implements Serializable { private static final long serialVersionUID = -4214566172500799450L; private String caseNumber, description, name, personalId, contact, statusId, dateRange, id, instanceId, casesListCustomizer; private Long subscribersGroupId; private String[] statuses; private IWTimestamp dateFrom, dateTo; private int page = 0, pageSize = 0, foundResults = 0; private boolean allDataLoaded = Boolean.TRUE, showAllCases, showStatistics, showLoadingMessage = Boolean.TRUE, noOrdering; private List<String> customColumns, exportColumns; public Long getSubscribersGroupId() { return subscribersGroupId; } public void setSubscribersGroupId(Long groupId) { this.subscribersGroupId = groupId; } public boolean isShowStatistics() { return showStatistics; } public void setShowStatistics(boolean showStatistics) { this.showStatistics = showStatistics; } private List<AdvancedProperty> sortingOptions; private List<Long> procInstIds; public void setCaseNumber(String caseNumber) { this.caseNumber = caseNumber; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPersonalId() { return personalId; } public void setPersonalId(String personalId) { this.personalId = personalId; } public String getStatusId() { return statusId; } public void setStatusId(String statusId) { this.statusId = statusId; } public String getContact() { return contact; } public void setContact(String contact) { this.contact = contact; } public String getCaseNumber() { return caseNumber; } public String getDateRange() { return dateRange; } public void setDateRange(String dateRange) { this.dateRange = dateRange; } public IWTimestamp getDateFrom() { if (dateFrom == null) parseDateString(); return dateFrom; } public void setDateFrom(IWTimestamp dateFrom) { this.dateFrom = dateFrom; } public IWTimestamp getDateTo() { if (dateTo == null) parseDateString(); return dateTo; } public void setDateTo(IWTimestamp dateTo) { this.dateTo = dateTo; } private void parseDateString() { Locale locale = IWContext.getCurrentInstance().getCurrentLocale(); String dateRange = getDateRange(); if (dateRange != null) { String splitter = " - "; if (dateRange.indexOf(splitter) == -1) { Date date = IWDatePickerHandler.getParsedDate(dateRange, locale); dateFrom = date == null ? null : new IWTimestamp(date); } else { String[] dateRangeParts = dateRange.split(splitter); Date date = IWDatePickerHandler.getParsedDate(dateRangeParts[0], locale); dateFrom = date == null ? null : new IWTimestamp(date); date = IWDatePickerHandler.getParsedDate(dateRangeParts[1], locale); dateTo = date == null ? null : new IWTimestamp(date); if (dateTo != null) { dateTo.setHour(23); dateTo.setMinute(59); dateTo.setSecond(59); dateTo.setMilliSecond(999); } } } } public String[] getStatuses() { return statuses; } public void setStatuses(String[] statuses) { this.statuses = statuses; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getInstanceId() { return instanceId; } public void setInstanceId(String instanceId) { this.instanceId = instanceId; } public List<AdvancedProperty> getSortingOptions() { return sortingOptions; } public void setSortingOptions(List<AdvancedProperty> sortingOptions) { this.sortingOptions = sortingOptions; } public boolean isAllDataLoaded() { return allDataLoaded; } public void setAllDataLoaded(boolean allDataLoaded) { this.allDataLoaded = allDataLoaded; } public List<Long> getProcInstIds() { return procInstIds; } public void setProcInstIds(List<Long> procInstIds) { this.procInstIds = procInstIds; } public boolean isShowAllCases() { return showAllCases; } public void setShowAllCases(boolean showAllCases) { this.showAllCases = showAllCases; } public int getFoundResults() { return foundResults; } public void setFoundResults(int foundResults) { this.foundResults = foundResults; } public int getPage() { return page; } public void setPage(int page) { this.page = page; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public String getCasesListCustomizer() { return casesListCustomizer; } public void setCasesListCustomizer(String casesListCustomizer) { this.casesListCustomizer = casesListCustomizer; } public List<String> getCustomColumns() { return customColumns; } public void setCustomColumns(List<String> customColumns) { this.customColumns = customColumns; } public boolean isShowLoadingMessage() { return showLoadingMessage; } public void setShowLoadingMessage(boolean showLoadingMessage) { this.showLoadingMessage = showLoadingMessage; } public boolean isNoOrdering() { return noOrdering; } public void setNoOrdering(boolean noOrdering) { this.noOrdering = noOrdering; } public List<String> getExportColumns() { return exportColumns; } public void setExportColumns(List<String> exportColumns) { this.exportColumns = exportColumns; } }