package net.techreadiness.persistence.domain;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import net.techreadiness.persistence.AuditedBaseEntityWithExt;
import net.techreadiness.persistence.BaseEntity;
import net.techreadiness.persistence.ServiceObjectMapped;
import net.techreadiness.service.object.BaseObject;
import net.techreadiness.service.object.Org;
import org.hibernate.annotations.BatchSize;
import com.google.common.base.Objects;
/**
* The persistent class for the org database table.
*
*/
@Entity
@Table(name = "org")
@BatchSize(size = 50)
public class OrgDO extends AuditedBaseEntityWithExt implements Serializable, ServiceObjectMapped {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "org_id", unique = true, nullable = false)
private Long orgId;
@Column(name = "address_line1", length = 100)
private String addressLine1;
@Column(name = "address_line2", length = 100)
private String addressLine2;
@Column(length = 100)
private String city;
@Column(nullable = false, length = 50)
private String code;
@Column(name = "fax", length = 20)
private String fax;
@Column(name = "inactive")
private boolean inactive;
@Column(name = "local_code", length = 50)
private String localCode;
@Column(nullable = false, length = 100)
private String name;
@Column(name = "phone_extension", length = 20)
private String phoneExtension;
@Column(name = "phone", length = 20)
private String phone;
@Column(name = "zip", length = 10)
private String zip;
@Column(length = 2)
private String state;
@Column(name = "data_entry_complete")
private String dataEntryComplete;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "data_entry_complete_date")
private Date dataEntryCompleteDate;
@Column(name = "data_entry_complete_user")
private String dataEntryCompleteUser;
@Column(name = "school_type")
private String schoolType;
@Column(name = "nces_code")
private String ncesCode;
@Column(name = "survey_techstaff_count")
private String surveyTechstaffCount;
@Column(name = "survey_techstaff_understanding")
private String surveyTechstaffUnderstanding;
@Column(name = "survey_techstaff_training")
private String surveyTechstaffTraining;
@Column(name = "survey_admin_count")
private String surveyAdminCount;
@Column(name = "survey_admin_understanding")
private String surveyAdminUnderstanding;
@Column(name = "survey_admin_training")
private String surveyAdminTraining;
@Column(name = "enrollment_countK")
private String enrollmentCountK;
@Column(name = "enrollment_count1")
private String enrollmentCount1;
@Column(name = "enrollment_count2")
private String enrollmentCount2;
@Column(name = "enrollment_count3")
private String enrollmentCount3;
@Column(name = "enrollment_count4")
private String enrollmentCount4;
@Column(name = "enrollment_count5")
private String enrollmentCount5;
@Column(name = "enrollment_count6")
private String enrollmentCount6;
@Column(name = "enrollment_count7")
private String enrollmentCount7;
@Column(name = "enrollment_count8")
private String enrollmentCount8;
@Column(name = "enrollment_count9")
private String enrollmentCount9;
@Column(name = "enrollment_count10")
private String enrollmentCount10;
@Column(name = "enrollment_count11")
private String enrollmentCount11;
@Column(name = "enrollment_count12")
private String enrollmentCount12;
@Column(name = "student_count")
private String studentCount;
@Column(name = "wireless_access_points")
private String wirelessAccessPoints;
@Column(name = "simultaneous_testers")
private String simultaneousTesters;
@Column(name = "sessions_per_day")
private String sessionsPerDay;
@Column(name = "testing_window_length")
private String testingWindowLength;
@Column(name = "internet_speed")
private String internetSpeed;
@Column(name = "internet_utilization")
private String internetUtilization;
@Column(name = "network_speed")
private String networkSpeed;
@Column(name = "network_utilization")
private String networkUtilization;
// bi-directional many-to-one association to OrgDO
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "parent_org_id")
private OrgDO parentOrg;
// bi-directional many-to-one association to OrgDO
@OneToMany(mappedBy = "parentOrg")
private List<OrgDO> orgs;
// bi-directional many-to-one association to OrgTypeDO
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "org_type_id", nullable = false)
private OrgTypeDO orgType;
// bi-directional many-to-one association to ScopeDO
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "scope_id", nullable = false)
private ScopeDO scope;
// bi-directional many-to-one association to OrgExtDO
@OneToMany(mappedBy = "org", fetch = FetchType.LAZY, cascade = { CascadeType.REMOVE })
@BatchSize(size = 50)
private List<OrgExtDO> orgExts;
// bi-directional many-to-one association to OrgPartDO
@OneToMany(mappedBy = "org", orphanRemoval = true, cascade = { CascadeType.ALL })
private List<OrgPartDO> orgParts;
// bi-directional many-to-one association to OrgTreeDO
@OneToMany(mappedBy = "org")
private List<OrgTreeDO> orgTrees;
// bi-directional many-to-one association to OrgTreeDO
@OneToMany(mappedBy = "ancestorOrg")
private List<OrgTreeDO> ancestorOrgTrees;
@OneToMany(mappedBy = "org")
private Set<UserOrgDO> userOrgs;
// bi-directional many-to-one association to Contact
@OneToMany(mappedBy = "org", cascade = { CascadeType.REMOVE })
private Set<ContactDO> contacts;
@OneToMany(mappedBy = "org", cascade = { CascadeType.REMOVE })
private Set<DeviceDO> devices;
@OneToMany(mappedBy = "org", cascade = { CascadeType.REMOVE })
private Set<FileDO> files;
public OrgDO() {
}
@Override
protected void populateExtAttributes() {
Map<String, String> map = new HashMap<>();
if (orgExts != null && orgExts.size() > 0) {
for (OrgExtDO orgExtDO : orgExts) {
map.put(orgExtDO.getEntityField().getCode(), orgExtDO.getValue());
}
}
this.setExtAttributes(map);
}
public Long getOrgId() {
return orgId;
}
public void setOrgId(Long orgId) {
this.orgId = orgId;
}
public String getAddressLine1() {
return addressLine1;
}
public void setAddressLine1(String addressLine1) {
this.addressLine1 = addressLine1;
}
public String getAddressLine2() {
return addressLine2;
}
public void setAddressLine2(String addressLine2) {
this.addressLine2 = addressLine2;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getFax() {
return fax;
}
public void setFax(String fax) {
this.fax = fax;
}
public boolean isInactive() {
return inactive;
}
public void setInactive(boolean inactive) {
this.inactive = inactive;
}
public String getLocalCode() {
return localCode;
}
public void setLocalCode(String localCode) {
this.localCode = localCode;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhoneExtension() {
return phoneExtension;
}
public void setPhoneExtension(String phoneExtension) {
this.phoneExtension = phoneExtension;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getZip() {
return zip;
}
public void setZip(String zip) {
this.zip = zip;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getDataEntryComplete() {
return dataEntryComplete;
}
public void setDataEntryComplete(String dataEntryComplete) {
this.dataEntryComplete = dataEntryComplete;
}
public Date getDataEntryCompleteDate() {
return dataEntryCompleteDate;
}
public void setDataEntryCompleteDate(Date dataEntryCompleteDate) {
this.dataEntryCompleteDate = dataEntryCompleteDate;
}
public String getDataEntryCompleteUser() {
return dataEntryCompleteUser;
}
public void setDataEntryCompleteUser(String dataEntryCompleteUser) {
this.dataEntryCompleteUser = dataEntryCompleteUser;
}
public String getSchoolType() {
return schoolType;
}
public void setSchoolType(String schoolType) {
this.schoolType = schoolType;
}
public String getNcesCode() {
return ncesCode;
}
public void setNcesCode(String ncesCode) {
this.ncesCode = ncesCode;
}
public String getSurveyTechstaffCount() {
return surveyTechstaffCount;
}
public void setSurveyTechstaffCount(String surveyTechstaffCount) {
this.surveyTechstaffCount = surveyTechstaffCount;
}
public String getSurveyTechstaffUnderstanding() {
return surveyTechstaffUnderstanding;
}
public void setSurveyTechstaffUnderstanding(String surveyTechstaffUnderstanding) {
this.surveyTechstaffUnderstanding = surveyTechstaffUnderstanding;
}
public String getSurveyTechstaffTraining() {
return surveyTechstaffTraining;
}
public void setSurveyTechstaffTraining(String surveyTechstaffTraining) {
this.surveyTechstaffTraining = surveyTechstaffTraining;
}
public String getSurveyAdminCount() {
return surveyAdminCount;
}
public void setSurveyAdminCount(String surveyAdminCount) {
this.surveyAdminCount = surveyAdminCount;
}
public String getSurveyAdminUnderstanding() {
return surveyAdminUnderstanding;
}
public void setSurveyAdminUnderstanding(String surveyAdminUnderstanding) {
this.surveyAdminUnderstanding = surveyAdminUnderstanding;
}
public String getSurveyAdminTraining() {
return surveyAdminTraining;
}
public void setSurveyAdminTraining(String surveyAdminTraining) {
this.surveyAdminTraining = surveyAdminTraining;
}
public String getEnrollmentCountK() {
return enrollmentCountK;
}
public void setEnrollmentCountK(String enrollmentCountK) {
this.enrollmentCountK = enrollmentCountK;
}
public String getEnrollmentCount1() {
return enrollmentCount1;
}
public void setEnrollmentCount1(String enrollmentCount1) {
this.enrollmentCount1 = enrollmentCount1;
}
public String getEnrollmentCount2() {
return enrollmentCount2;
}
public void setEnrollmentCount2(String enrollmentCount2) {
this.enrollmentCount2 = enrollmentCount2;
}
public String getEnrollmentCount3() {
return enrollmentCount3;
}
public void setEnrollmentCount3(String enrollmentCount3) {
this.enrollmentCount3 = enrollmentCount3;
}
public String getEnrollmentCount4() {
return enrollmentCount4;
}
public void setEnrollmentCount4(String enrollmentCount4) {
this.enrollmentCount4 = enrollmentCount4;
}
public String getEnrollmentCount5() {
return enrollmentCount5;
}
public void setEnrollmentCount5(String enrollmentCount5) {
this.enrollmentCount5 = enrollmentCount5;
}
public String getEnrollmentCount6() {
return enrollmentCount6;
}
public void setEnrollmentCount6(String enrollmentCount6) {
this.enrollmentCount6 = enrollmentCount6;
}
public String getEnrollmentCount7() {
return enrollmentCount7;
}
public void setEnrollmentCount7(String enrollmentCount7) {
this.enrollmentCount7 = enrollmentCount7;
}
public String getEnrollmentCount8() {
return enrollmentCount8;
}
public void setEnrollmentCount8(String enrollmentCount8) {
this.enrollmentCount8 = enrollmentCount8;
}
public String getEnrollmentCount9() {
return enrollmentCount9;
}
public void setEnrollmentCount9(String enrollmentCount9) {
this.enrollmentCount9 = enrollmentCount9;
}
public String getEnrollmentCount10() {
return enrollmentCount10;
}
public void setEnrollmentCount10(String enrollmentCount10) {
this.enrollmentCount10 = enrollmentCount10;
}
public String getEnrollmentCount11() {
return enrollmentCount11;
}
public void setEnrollmentCount11(String enrollmentCount11) {
this.enrollmentCount11 = enrollmentCount11;
}
public String getEnrollmentCount12() {
return enrollmentCount12;
}
public void setEnrollmentCount12(String enrollmentCount12) {
this.enrollmentCount12 = enrollmentCount12;
}
public String getStudentCount() {
return studentCount;
}
public void setStudentCount(String studentCount) {
this.studentCount = studentCount;
}
public String getWirelessAccessPoints() {
return wirelessAccessPoints;
}
public void setWirelessAccessPoints(String wirelessAccessPoints) {
this.wirelessAccessPoints = wirelessAccessPoints;
}
public String getSimultaneousTesters() {
return simultaneousTesters;
}
public void setSimultaneousTesters(String simultaneousTesters) {
this.simultaneousTesters = simultaneousTesters;
}
public String getSessionsPerDay() {
return sessionsPerDay;
}
public void setSessionsPerDay(String sessionsPerDay) {
this.sessionsPerDay = sessionsPerDay;
}
public String getTestingWindowLength() {
return testingWindowLength;
}
public void setTestingWindowLength(String testingWindowLength) {
this.testingWindowLength = testingWindowLength;
}
public String getInternetSpeed() {
return internetSpeed;
}
public void setInternetSpeed(String internetSpeed) {
this.internetSpeed = internetSpeed;
}
public String getInternetUtilization() {
return internetUtilization;
}
public void setInternetUtilization(String internetUtilization) {
this.internetUtilization = internetUtilization;
}
public String getNetworkSpeed() {
return networkSpeed;
}
public void setNetworkSpeed(String networkSpeed) {
this.networkSpeed = networkSpeed;
}
public String getNetworkUtilization() {
return networkUtilization;
}
public void setNetworkUtilization(String networkUtilization) {
this.networkUtilization = networkUtilization;
}
public OrgDO getParentOrg() {
return parentOrg;
}
public void setParentOrg(OrgDO parentOrg) {
this.parentOrg = parentOrg;
}
public List<OrgDO> getOrgs() {
return orgs;
}
public void setOrgs(List<OrgDO> orgs) {
this.orgs = orgs;
}
public OrgTypeDO getOrgType() {
return orgType;
}
public void setOrgType(OrgTypeDO orgType) {
this.orgType = orgType;
}
public ScopeDO getScope() {
return scope;
}
public void setScope(ScopeDO scope) {
this.scope = scope;
}
public List<OrgExtDO> getOrgExts() {
return orgExts;
}
public void setOrgExts(List<OrgExtDO> orgExts) {
this.orgExts = orgExts;
}
public List<OrgPartDO> getOrgParts() {
return orgParts;
}
public void setOrgParts(List<OrgPartDO> orgParts) {
this.orgParts = orgParts;
}
public List<OrgTreeDO> getOrgTrees() {
return orgTrees;
}
public void setOrgTrees(List<OrgTreeDO> orgTrees) {
this.orgTrees = orgTrees;
}
public List<OrgTreeDO> getAncestorOrgTrees() {
return ancestorOrgTrees;
}
public void setAncestorOrgTrees(List<OrgTreeDO> ancestorOrgTrees) {
this.ancestorOrgTrees = ancestorOrgTrees;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + (getOrgId() == null ? 0 : getOrgId().hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (obj instanceof Org) {
return getOrgId().equals(((Org) obj).getOrgId());
}
if (!(obj instanceof OrgDO)) {
return false;
}
OrgDO other = (OrgDO) obj;
if (getOrgId() == null) {
if (other.getOrgId() != null) {
return false;
}
} else if (!getOrgId().equals(other.getOrgId())) {
return false;
}
return true;
}
@Override
public String toString() {
return Objects.toStringHelper(this).add("orgId", getOrgId()).add("name", getName()).toString();
}
@Override
public Class<? extends BaseObject<? extends BaseEntity>> getServiceObjectType() {
return Org.class;
}
public Set<ContactDO> getContacts() {
return contacts;
}
public void setContacts(Set<ContactDO> contacts) {
this.contacts = contacts;
}
public Set<DeviceDO> getDevices() {
return devices;
}
public void setDevices(Set<DeviceDO> devices) {
this.devices = devices;
}
public Set<FileDO> getFiles() {
return files;
}
public void setFiles(Set<FileDO> files) {
this.files = files;
}
public Set<UserOrgDO> getUserOrgs() {
return userOrgs;
}
public void setUserOrgs(Set<UserOrgDO> userOrgs) {
this.userOrgs = userOrgs;
}
}