/*
* Copyright (C) 2010-2016 Stichting Akvo (Akvo Foundation)
*
* This file is part of Akvo FLOW.
*
* Akvo FLOW is free software: you can redistribute it and modify it under the terms of
* the GNU Affero General Public License (AGPL) as published by the Free Software Foundation,
* either version 3 of the License or any later version.
*
* Akvo FLOW is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Affero General Public License included below for more details.
*
* The full license text can also be seen at <http://www.gnu.org/licenses/agpl.html>.
*/
package org.waterforpeople.mapping.app.gwt.client.survey;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import com.gallatinsystems.framework.gwt.dto.client.BaseDto;
import com.gallatinsystems.survey.domain.SurveyGroup;
import com.gallatinsystems.survey.domain.SurveyGroup.PrivacyLevel;
import com.gallatinsystems.survey.domain.SurveyGroup.ProjectType;
@JsonIgnoreProperties(ignoreUnknown = true)
public class SurveyGroupDto extends BaseDto {
private static final long serialVersionUID = -2235565143615667202L;
private String description;
private String name;
private String code;
private String path;
private Boolean monitoringGroup;
private Long newLocaleSurveyId;
private Date createdDateTime;
private Date lastUpdateDateTime;
private ProjectType projectType;
private Long parentId;
private String defaultLanguageCode;
private PrivacyLevel privacyLevel;
private Boolean published;
private Boolean requireDataApproval;
private Long dataApprovalGroupId;
private List<Long> ancestorIds;
private ArrayList<Long> surveyList = null;
private SurveyGroup surveyGroup;
public SurveyGroupDto() {
}
public SurveyGroupDto(SurveyGroup sg) {
this.surveyGroup = sg;
}
public String getDescription() {
if (surveyGroup != null) {
return surveyGroup.getDescription();
}
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getCode() {
if (surveyGroup != null) {
return surveyGroup.getCode();
}
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getPath() {
if (surveyGroup != null) {
return surveyGroup.getPath();
}
return path;
}
public void setPath(String path) {
this.path = path;
}
public Date getCreatedDateTime() {
if (surveyGroup != null) {
return surveyGroup.getCreatedDateTime();
}
return createdDateTime;
}
public void setCreatedDateTime(Date createdDateTime) {
this.createdDateTime = createdDateTime;
}
public Date getLastUpdateDateTime() {
if (surveyGroup != null) {
return surveyGroup.getLastUpdateDateTime();
}
return lastUpdateDateTime;
}
public void setLastUpdateDateTime(Date lastUpdateDateTime) {
this.lastUpdateDateTime = lastUpdateDateTime;
}
public void setSurveyList(ArrayList<Long> surveyList) {
this.surveyList = surveyList;
}
public ArrayList<Long> getSurveyList() {
return surveyList;
}
public void addSurvey(Long surveyId) {
if (surveyList == null) {
surveyList = new ArrayList<Long>();
}
surveyList.add(surveyId);
}
public void setName(String name) {
this.name = name;
}
public String getName() {
if (surveyGroup != null) {
return surveyGroup.getName();
}
return name;
}
public Boolean getMonitoringGroup() {
if (surveyGroup != null) {
return surveyGroup.getMonitoringGroup();
}
return monitoringGroup;
}
public void setMonitoringGroup(Boolean monitoringGroup) {
this.monitoringGroup = monitoringGroup;
}
public Long getNewLocaleSurveyId() {
if (surveyGroup != null) {
return surveyGroup.getNewLocaleSurveyId();
}
return newLocaleSurveyId;
}
public void setNewLocaleSurveyId(Long newLocaleSurveyId) {
this.newLocaleSurveyId = newLocaleSurveyId;
}
public ProjectType getProjectType() {
if (surveyGroup != null) {
return surveyGroup.getProjectType();
}
return projectType;
}
public void setProjectType(ProjectType projectType) {
this.projectType = projectType;
}
public Long getParentId() {
if (surveyGroup != null) {
return surveyGroup.getParentId();
}
return parentId;
}
public void setParentId(Long parent) {
this.parentId = parent;
}
public String getDefaultLanguageCode() {
if (surveyGroup != null) {
return surveyGroup.getDefaultLanguageCode();
}
return defaultLanguageCode;
}
public void setDefaultLanguageCode(String defaultLanguageCode) {
this.defaultLanguageCode = defaultLanguageCode;
}
public PrivacyLevel getPrivacyLevel() {
if (surveyGroup != null) {
return surveyGroup.getPrivacyLevel();
}
return privacyLevel;
}
public void setPrivacyLevel(PrivacyLevel privacyLevel) {
this.privacyLevel = privacyLevel;
}
public Boolean getPublished() {
if (surveyGroup != null) {
return surveyGroup.getPublished();
}
return published;
}
public void setPublished(Boolean published) {
this.published = published;
}
public Boolean getRequireDataApproval() {
if (surveyGroup != null) {
return surveyGroup.getRequireDataApproval();
}
return requireDataApproval;
}
public void setRequireDataApproval(Boolean requireDataApproval) {
this.requireDataApproval = requireDataApproval;
}
public Long getDataApprovalGroupId() {
if (surveyGroup != null) {
return surveyGroup.getDataApprovalGroupId();
}
return dataApprovalGroupId;
}
public void setDataApprovalGroupId(Long dataApprovalGroupId) {
this.dataApprovalGroupId = dataApprovalGroupId;
}
public List<Long> getAncestorIds() {
if (surveyGroup != null) {
return surveyGroup.getAncestorIds();
}
return ancestorIds;
}
public void setAncestorIds(List<Long> ancestorIds) {
this.ancestorIds = ancestorIds;
}
@Override
public Long getKeyId() {
if (surveyGroup != null && surveyGroup.getKey() != null) {
return surveyGroup.getKey().getId();
}
return super.getKeyId();
}
}