]> git.mxchange.org Git - jcontacts-business-core.git/blobdiff - src/org/mxchange/jcontactsbusiness/department/CompanyDepartment.java
Having basic data and "business contact" which is really no contact in general
[jcontacts-business-core.git] / src / org / mxchange / jcontactsbusiness / department / CompanyDepartment.java
index cf335c939acf7e8f966973dfc1c15763ba6409a7..6e567056b4521406df894a681b312249119580c5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2016 Roland Haeder
+ * Copyright (C) 2016, 2017 Roland Häder
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -31,8 +31,8 @@ import javax.persistence.OneToOne;
 import javax.persistence.Table;
 import javax.persistence.Temporal;
 import javax.persistence.TemporalType;
-import org.mxchange.jcontactsbusiness.BusinessContact;
-import org.mxchange.jcontactsbusiness.CompanyContact;
+import javax.persistence.Transient;
+import org.mxchange.jcontactsbusiness.CompanyBasicData;
 import org.mxchange.jcontactsbusiness.branch.BranchOffice;
 import org.mxchange.jcontactsbusiness.branch.CompanyBranchOffice;
 import org.mxchange.jcontactsbusiness.employee.CompanyEmployee;
@@ -41,11 +41,12 @@ import org.mxchange.jcontactsbusiness.headquarters.CompanyHeadQuartersData;
 import org.mxchange.jcontactsbusiness.headquarters.HeadQuartersData;
 import org.mxchange.jusercore.model.user.LoginUser;
 import org.mxchange.jusercore.model.user.User;
+import org.mxchange.jcontactsbusiness.BusinessBasicData;
 
 /**
  * A POJO for company departments
  * <p>
- * @author Roland Haeder<roland@mxchange.org>
+ * @author Roland Häder<roland@mxchange.org>
  */
 @Entity (name = "company_departments")
 @Table (name = "company_departments")
@@ -55,6 +56,7 @@ public class CompanyDepartment implements Department {
        /**
         * Serial number
         */
+       @Transient
        private static final long serialVersionUID = 94_835_918_958_717_660L;
 
        /**
@@ -75,8 +77,8 @@ public class CompanyDepartment implements Department {
         * Connection to company contact
         */
        @JoinColumn (name = "department_company_id", nullable = false, updatable = false)
-       @ManyToOne (targetEntity = CompanyContact.class, cascade = CascadeType.ALL, optional = false)
-       private BusinessContact departmentCompany;
+       @ManyToOne (targetEntity = CompanyBasicData.class, cascade = CascadeType.ALL, optional = false)
+       private BusinessBasicData departmentCompany;
 
        /**
         * Timestamp when this entry has been created
@@ -125,7 +127,9 @@ public class CompanyDepartment implements Department {
 
                final Department other = (Department) object;
 
-               if (!Objects.equals(this.getDepartmentCompany(), other.getDepartmentCompany())) {
+               if (!Objects.equals(this.getDepartmentId(), other.getDepartmentId())) {
+                       return false;
+               } else if (!Objects.equals(this.getDepartmentCompany(), other.getDepartmentCompany())) {
                        return false;
                } else if (!Objects.equals(this.getDepartmentName(), other.getDepartmentName())) {
                        return false;
@@ -134,14 +138,6 @@ public class CompanyDepartment implements Department {
                return true;
        }
 
-       @Override
-       public int hashCode () {
-               int hash = 5;
-               hash = 53 * hash + Objects.hashCode(this.getDepartmentCompany());
-               hash = 53 * hash + Objects.hashCode(this.getDepartmentName());
-               return hash;
-       }
-
        @Override
        public HeadQuartersData getDepartentHeadquarters () {
                return this.departentHeadquarters;
@@ -163,12 +159,12 @@ public class CompanyDepartment implements Department {
        }
 
        @Override
-       public BusinessContact getDepartmentCompany () {
+       public BusinessBasicData getDepartmentCompany () {
                return this.departmentCompany;
        }
 
        @Override
-       public void setDepartmentCompany (final BusinessContact departmentCompany) {
+       public void setDepartmentCompany (final BusinessBasicData departmentCompany) {
                this.departmentCompany = departmentCompany;
        }
 
@@ -224,4 +220,15 @@ public class CompanyDepartment implements Department {
                this.departmentUserOwner = departmentUserOwner;
        }
 
+       @Override
+       public int hashCode () {
+               int hash = 5;
+
+               hash = 53 * hash + Objects.hashCode(this.getDepartmentId());
+               hash = 53 * hash + Objects.hashCode(this.getDepartmentCompany());
+               hash = 53 * hash + Objects.hashCode(this.getDepartmentName());
+
+               return hash;
+       }
+
 }