From d10c8a6972b10e638cb4e0e6593a6c34482ff751 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Sun, 23 Jul 2017 13:49:34 +0200 Subject: [PATCH] Having basic data and "business contact" which is really no contact in general terms was a bad style anyway. Now these two entities are merged into "BusinessBasicData" and kept in main package of this project. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Roland Häder --- .../{basicdata => }/BusinessBasicData.java | 120 +++++++-- .../jcontactsbusiness/BusinessContact.java | 152 ----------- .../{basicdata => }/CompanyBasicData.java | 158 +++++++++--- .../jcontactsbusiness/CompanyContact.java | 240 ------------------ .../branch/BranchOffice.java | 6 +- .../branch/CompanyBranchOffice.java | 16 +- .../department/CompanyDepartment.java | 12 +- .../department/Department.java | 6 +- .../employee/CompanyEmployee.java | 12 +- .../jcontactsbusiness/employee/Employee.java | 6 +- .../BusinessContactAlreadyAddedException.java | 6 +- 11 files changed, 258 insertions(+), 476 deletions(-) rename src/org/mxchange/jcontactsbusiness/{basicdata => }/BusinessBasicData.java (63%) delete mode 100644 src/org/mxchange/jcontactsbusiness/BusinessContact.java rename src/org/mxchange/jcontactsbusiness/{basicdata => }/CompanyBasicData.java (60%) delete mode 100644 src/org/mxchange/jcontactsbusiness/CompanyContact.java diff --git a/src/org/mxchange/jcontactsbusiness/basicdata/BusinessBasicData.java b/src/org/mxchange/jcontactsbusiness/BusinessBasicData.java similarity index 63% rename from src/org/mxchange/jcontactsbusiness/basicdata/BusinessBasicData.java rename to src/org/mxchange/jcontactsbusiness/BusinessBasicData.java index 29a041a..b90ed81 100644 --- a/src/org/mxchange/jcontactsbusiness/basicdata/BusinessBasicData.java +++ b/src/org/mxchange/jcontactsbusiness/BusinessBasicData.java @@ -14,34 +14,123 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.mxchange.jcontactsbusiness.basicdata; +package org.mxchange.jcontactsbusiness; import java.io.Serializable; import java.util.Calendar; +import java.util.List; +import org.mxchange.jcontactsbusiness.branch.BranchOffice; +import org.mxchange.jcontactsbusiness.employee.Employee; +import org.mxchange.jcontactsbusiness.headquarters.HeadQuartersData; import org.mxchange.jcontactsbusiness.logo.BusinessLogo; import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber; import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber; +import org.mxchange.jusercore.model.user.User; /** - * A POJI for basic business data + * A POJI for business contact classes *

* @author Roland Häder */ public interface BusinessBasicData extends Serializable { /** - * Getter for id number + * Getter for branches list *

- * @return Id number + * @return Branches list */ - Long getCompanyBasicId (); + List getBrancheOffices (); /** - * Setter for id number + * Setter for branches list *

- * @param companyBasicId Id number + * @param branches Branches list */ - void setCompanyBasicId (final Long companyBasicId); + void setBrancheOffices (final List branches); + + /** + * Getter for company contact person + *

+ * @return Company contact person + */ + Employee getCompanyContact (); + + /** + * Setter for company contact person + *

+ * @param companyContact Company contact person + */ + void setCompanyContact (final Employee companyContact); + + /** + * Getter for business contact id + *

+ * @return Business contact id + */ + Long getBusinessContactId (); + + /** + * Setter for business contact id + *

+ * @param businessContactId Business contact id + */ + void setBusinessContactId (final Long businessContactId); + + /** + * Getter for company founder + *

+ * @return Company founder + */ + Employee getCompanyFounder (); + + /** + * Setter for company founder + *

+ * @param companyFounder Company founder + */ + void setCompanyFounder (final Employee companyFounder); + + /** + * Getter for headquarters data + *

+ * @return Headquarters data + */ + HeadQuartersData getHeadQuartersData (); + + /** + * Setter for headquarters data + *

+ * @param headQuartersData Headquarters data + */ + void setHeadQuartersData (final HeadQuartersData headQuartersData); + + /** + * Getter for user owner instance + *

+ * @return User owner instance + */ + User getContactCompanyUserOwner (); + + /** + * Setter for user owner instance + *

+ * @param contactUserOwner User owner instance + */ + void setContactCompanyUserOwner (final User contactUserOwner); + + /** + * Getter for timestamp when this entry has been created + *

+ * @return Timestamp when this entry has been created + */ + Calendar getContactCreated (); + + /** + * Setter for timestamp when this entry has been created + *

+ * @param contactCreated Timestamp when this entry has been created + */ + void setContactCreated (final Calendar contactCreated); /** * Getter for comments @@ -169,24 +258,9 @@ public interface BusinessBasicData extends Serializable { */ void setCompanyWebsiteUrl (final String companyWebsiteUrl); - /** - * Getter for timestamp when this entry has been created - *

- * @return Timestamp when this entry has been created - */ - Calendar getBasicCreated (); - - /** - * Setter for timestamp when this entry has been created - *

- * @param basicCreated Timestamp when this entry has been created - */ - void setBasicCreated (final Calendar basicCreated); - @Override boolean equals (final Object object); @Override int hashCode (); - } diff --git a/src/org/mxchange/jcontactsbusiness/BusinessContact.java b/src/org/mxchange/jcontactsbusiness/BusinessContact.java deleted file mode 100644 index 8fba8bb..0000000 --- a/src/org/mxchange/jcontactsbusiness/BusinessContact.java +++ /dev/null @@ -1,152 +0,0 @@ -/* - * 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 - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.mxchange.jcontactsbusiness; - -import java.io.Serializable; -import java.util.Calendar; -import java.util.List; -import org.mxchange.jcontactsbusiness.basicdata.BusinessBasicData; -import org.mxchange.jcontactsbusiness.branch.BranchOffice; -import org.mxchange.jcontactsbusiness.employee.Employee; -import org.mxchange.jcontactsbusiness.headquarters.HeadQuartersData; -import org.mxchange.jusercore.model.user.User; - -/** - * A POJI for business contact classes - *

- * @author Roland Häder - */ -public interface BusinessContact extends Serializable { - - /** - * Getter for basic company data - *

- * @return Basic company data - */ - BusinessBasicData getBasicBusinessData (); - - /** - * Setter for basic company data - *

- * @param basicBusinessData Basic company data - */ - void setBasicBusinessData (final BusinessBasicData basicBusinessData); - - /** - * Getter for branches list - *

- * @return Branches list - */ - List getBrancheOffices (); - - /** - * Setter for branches list - *

- * @param branches Branches list - */ - void setBrancheOffices (final List branches); - - /** - * Getter for company contact person - *

- * @return Company contact person - */ - Employee getCompanyContact (); - - /** - * Setter for company contact person - *

- * @param companyContact Company contact person - */ - void setCompanyContact (final Employee companyContact); - - /** - * Getter for business contact id - *

- * @return Business contact id - */ - Long getBusinessContactId (); - - /** - * Setter for business contact id - *

- * @param businessContactId Business contact id - */ - void setBusinessContactId (final Long businessContactId); - - /** - * Getter for company founder - *

- * @return Company founder - */ - Employee getCompanyFounder (); - - /** - * Setter for company founder - *

- * @param companyFounder Company founder - */ - void setCompanyFounder (final Employee companyFounder); - - /** - * Getter for headquarters data - *

- * @return Headquarters data - */ - HeadQuartersData getHeadQuartersData (); - - /** - * Setter for headquarters data - *

- * @param headQuartersData Headquarters data - */ - void setHeadQuartersData (final HeadQuartersData headQuartersData); - - /** - * Getter for user owner instance - *

- * @return User owner instance - */ - User getContactCompanyUserOwner (); - - /** - * Setter for user owner instance - *

- * @param contactUserOwner User owner instance - */ - void setContactCompanyUserOwner (final User contactUserOwner); - - /** - * Getter for timestamp when this entry has been created - *

- * @return Timestamp when this entry has been created - */ - Calendar getContactCreated (); - - /** - * Setter for timestamp when this entry has been created - *

- * @param contactCreated Timestamp when this entry has been created - */ - void setContactCreated (final Calendar contactCreated); - - @Override - boolean equals (final Object object); - - @Override - int hashCode (); -} diff --git a/src/org/mxchange/jcontactsbusiness/basicdata/CompanyBasicData.java b/src/org/mxchange/jcontactsbusiness/CompanyBasicData.java similarity index 60% rename from src/org/mxchange/jcontactsbusiness/basicdata/CompanyBasicData.java rename to src/org/mxchange/jcontactsbusiness/CompanyBasicData.java index 8918906..e9eb0bf 100644 --- a/src/org/mxchange/jcontactsbusiness/basicdata/CompanyBasicData.java +++ b/src/org/mxchange/jcontactsbusiness/CompanyBasicData.java @@ -14,9 +14,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.mxchange.jcontactsbusiness.basicdata; +package org.mxchange.jcontactsbusiness; import java.util.Calendar; +import java.util.List; import java.util.Objects; import javax.persistence.Basic; import javax.persistence.CascadeType; @@ -32,15 +33,22 @@ import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.persistence.Transient; +import org.mxchange.jcontactsbusiness.branch.BranchOffice; +import org.mxchange.jcontactsbusiness.employee.CompanyEmployee; +import org.mxchange.jcontactsbusiness.employee.Employee; +import org.mxchange.jcontactsbusiness.headquarters.CompanyHeadQuartersData; +import org.mxchange.jcontactsbusiness.headquarters.HeadQuartersData; import org.mxchange.jcontactsbusiness.logo.BusinessLogo; import org.mxchange.jcontactsbusiness.logo.CompanyLogo; import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber; import org.mxchange.jphone.phonenumbers.fax.FaxNumber; import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber; import org.mxchange.jphone.phonenumbers.landline.LandLineNumber; +import org.mxchange.jusercore.model.user.LoginUser; +import org.mxchange.jusercore.model.user.User; /** - * A POJO for basic company data + * A POJO for business basic data *

* @author Roland Häder */ @@ -53,23 +61,21 @@ public class CompanyBasicData implements BusinessBasicData { * Serial number */ @Transient - private static final long serialVersionUID = 486_895_878_178_761L; + private static final long serialVersionUID = 470_375_172_748_691L; /** - * Timestamp when this entry has been created + * Reference to company branch offices */ - @Basic (optional = false) - @Temporal (TemporalType.TIMESTAMP) - @Column (name = "company_entry_created", nullable = false, updatable = false) - private Calendar basicCreated; + @Transient + private List brancheOffices; /** * Id number */ @Id - @Column (name = "company_basic_id", nullable = false, updatable = false) + @Column (name = "business_contact_id", nullable = false, updatable = false) @GeneratedValue (strategy = GenerationType.IDENTITY) - private Long companyBasicId; + private Long businessContactId; /** * Comments (any) @@ -78,6 +84,13 @@ public class CompanyBasicData implements BusinessBasicData { @Column (name = "company_comments") private String companyComments; + /** + * Reference to contact person + */ + @JoinColumn (name = "company_contact_id") + @OneToOne (targetEntity = CompanyEmployee.class, cascade = CascadeType.ALL) + private Employee companyContact; + /** * Company's main email address (example: info@company.com) */ @@ -91,6 +104,13 @@ public class CompanyBasicData implements BusinessBasicData { @OneToOne (targetEntity = FaxNumber.class, cascade = CascadeType.ALL) private DialableFaxNumber companyFaxNumber; + /** + * Reference to CEO "employee" + */ + @JoinColumn (name = "company_founder_id") + @OneToOne (targetEntity = CompanyEmployee.class, cascade = CascadeType.ALL) + private Employee companyFounder; + /** * Legal status of company (example: "Inc.", "GmbH") */ @@ -131,6 +151,28 @@ public class CompanyBasicData implements BusinessBasicData { @Column (name = "company_website_url") private String companyWebsiteUrl; + /** + * User owner instance + */ + @JoinColumn (name = "company_owner_user_id") + @OneToOne (targetEntity = LoginUser.class, cascade = CascadeType.REFRESH) + private User contactCompanyUserOwner; + + /** + * Timestamp when this entry has been created + */ + @Basic (optional = false) + @Temporal (TemporalType.TIMESTAMP) + @Column (name = "company_entry_created", nullable = false, updatable = false) + private Calendar contactCreated; + + /** + * Reference to headquarters data + */ + @JoinColumn (name = "company_headquarters_data_id", nullable = false, updatable = false) + @OneToOne (targetEntity = CompanyHeadQuartersData.class, cascade = CascadeType.ALL, optional = false) + private HeadQuartersData headQuartersData; + @Override public boolean equals (final Object object) { if (null == object) { @@ -141,13 +183,17 @@ public class CompanyBasicData implements BusinessBasicData { final BusinessBasicData other = (BusinessBasicData) object; - if (!Objects.equals(this.getCompanyBasicId(), other.getCompanyBasicId())) { + if (!Objects.equals(this.getBusinessContactId(), other.getBusinessContactId())) { + return false; + } else if (!Objects.equals(this.getCompanyName(), other.getCompanyName())) { return false; } else if (!Objects.equals(this.getCompanyLegalStatus(), other.getCompanyLegalStatus())) { return false; - } else if (!Objects.equals(this.getCompanyName(), other.getCompanyName())) { + } else if (!Objects.equals(this.getHeadQuartersData(), other.getHeadQuartersData())) { + return false; + } else if (!Objects.equals(this.getCompanyContact(), other.getCompanyContact())) { return false; - } else if (!Objects.equals(this.getCompanyTaxNumber(), other.getCompanyTaxNumber())) { + } else if (!Objects.equals(this.getCompanyFounder(), other.getCompanyFounder())) { return false; } @@ -155,25 +201,25 @@ public class CompanyBasicData implements BusinessBasicData { } @Override - @SuppressWarnings ("ReturnOfDateField") - public Calendar getBasicCreated () { - return this.basicCreated; + @SuppressWarnings ("ReturnOfCollectionOrArrayField") + public List getBrancheOffices () { + return this.brancheOffices; } @Override - @SuppressWarnings ("AssignmentToDateFieldFromParameter") - public void setBasicCreated (final Calendar basicCreated) { - this.basicCreated = basicCreated; + @SuppressWarnings ("AssignmentToCollectionOrArrayFieldFromParameter") + public void setBrancheOffices (final List brancheOffices) { + this.brancheOffices = brancheOffices; } @Override - public Long getCompanyBasicId () { - return this.companyBasicId; + public Long getBusinessContactId () { + return this.businessContactId; } @Override - public void setCompanyBasicId (final Long companyBasicId) { - this.companyBasicId = companyBasicId; + public void setBusinessContactId (final Long businessContactId) { + this.businessContactId = businessContactId; } @Override @@ -186,6 +232,16 @@ public class CompanyBasicData implements BusinessBasicData { this.companyComments = companyComments; } + @Override + public Employee getCompanyContact () { + return this.companyContact; + } + + @Override + public void setCompanyContact (final Employee companyContact) { + this.companyContact = companyContact; + } + @Override public String getCompanyEmailAddress () { return this.companyEmailAddress; @@ -206,6 +262,16 @@ public class CompanyBasicData implements BusinessBasicData { this.companyFaxNumber = companyFaxNumber; } + @Override + public Employee getCompanyFounder () { + return this.companyFounder; + } + + @Override + public void setCompanyFounder (final Employee companyFounder) { + this.companyFounder = companyFounder; + } + @Override public String getCompanyLegalStatus () { return this.companyLegalStatus; @@ -267,13 +333,47 @@ public class CompanyBasicData implements BusinessBasicData { } @Override - public int hashCode () { - int hash = 5; + public User getContactCompanyUserOwner () { + return this.contactCompanyUserOwner; + } - hash = 53 * hash + Objects.hashCode(this.getCompanyBasicId()); - hash = 53 * hash + Objects.hashCode(this.getCompanyLegalStatus()); - hash = 53 * hash + Objects.hashCode(this.getCompanyName()); - hash = 53 * hash + Objects.hashCode(this.getCompanyTaxNumber()); + @Override + public void setContactCompanyUserOwner (final User contactCompanyUserOwner) { + this.contactCompanyUserOwner = contactCompanyUserOwner; + } + + @Override + @SuppressWarnings ("ReturnOfDateField") + public Calendar getContactCreated () { + return this.contactCreated; + } + + @Override + @SuppressWarnings ("AssignmentToDateFieldFromParameter") + public void setContactCreated (final Calendar contactCreated) { + this.contactCreated = contactCreated; + } + + @Override + public HeadQuartersData getHeadQuartersData () { + return this.headQuartersData; + } + + @Override + public void setHeadQuartersData (final HeadQuartersData headQuartersData) { + this.headQuartersData = headQuartersData; + } + + @Override + public int hashCode () { + int hash = 3; + + hash = 37 * hash + Objects.hashCode(this.getBusinessContactId()); + hash = 37 * hash + Objects.hashCode(this.getCompanyName()); + hash = 37 * hash + Objects.hashCode(this.getCompanyLegalStatus()); + hash = 37 * hash + Objects.hashCode(this.getHeadQuartersData()); + hash = 37 * hash + Objects.hashCode(this.getCompanyContact()); + hash = 37 * hash + Objects.hashCode(this.getCompanyFounder()); return hash; } diff --git a/src/org/mxchange/jcontactsbusiness/CompanyContact.java b/src/org/mxchange/jcontactsbusiness/CompanyContact.java deleted file mode 100644 index 1c38b86..0000000 --- a/src/org/mxchange/jcontactsbusiness/CompanyContact.java +++ /dev/null @@ -1,240 +0,0 @@ -/* - * 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 - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.mxchange.jcontactsbusiness; - -import java.util.Calendar; -import java.util.List; -import java.util.Objects; -import javax.persistence.Basic; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.OneToOne; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.persistence.Transient; -import org.mxchange.jcontactsbusiness.basicdata.BusinessBasicData; -import org.mxchange.jcontactsbusiness.basicdata.CompanyBasicData; -import org.mxchange.jcontactsbusiness.branch.BranchOffice; -import org.mxchange.jcontactsbusiness.employee.CompanyEmployee; -import org.mxchange.jcontactsbusiness.employee.Employee; -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; - -/** - * A POJO for business contacts - *

- * @author Roland Häder - */ -@Entity (name = "company_contacts") -@Table (name = "company_contacts") -@SuppressWarnings ("PersistenceUnitPresent") -public class CompanyContact implements BusinessContact { - - /** - * Serial number - */ - @Transient - private static final long serialVersionUID = 470_375_172_748_691L; - - /** - * Reference to basic data - */ - @JoinColumn (name = "company_basic_data_id", nullable = false, updatable = false) - @OneToOne (targetEntity = CompanyBasicData.class, cascade = CascadeType.ALL, optional = false) - private BusinessBasicData basicBusinessData; - - /** - * Reference to company branch offices - */ - @Transient - private List brancheOffices; - - /** - * Id number - */ - @Id - @Column (name = "business_contact_id", nullable = false, updatable = false) - @GeneratedValue (strategy = GenerationType.IDENTITY) - private Long businessContactId; - - /** - * Reference to contact person - */ - @JoinColumn (name = "company_contact_id") - @OneToOne (targetEntity = CompanyEmployee.class, cascade = CascadeType.ALL) - private Employee companyContact; - - /** - * Reference to CEO "employee" - */ - @JoinColumn (name = "company_founder_id") - @OneToOne (targetEntity = CompanyEmployee.class, cascade = CascadeType.ALL) - private Employee companyFounder; - - /** - * User owner instance - */ - @JoinColumn (name = "company_owner_user_id") - @OneToOne (targetEntity = LoginUser.class, cascade = CascadeType.REFRESH) - private User contactCompanyUserOwner; - - /** - * Timestamp when this entry has been created - */ - @Basic (optional = false) - @Temporal (TemporalType.TIMESTAMP) - @Column (name = "company_entry_created", nullable = false, updatable = false) - private Calendar contactCreated; - - /** - * Reference to headquarters data - */ - @JoinColumn (name = "company_headquarters_data_id", nullable = false, updatable = false) - @OneToOne (targetEntity = CompanyHeadQuartersData.class, cascade = CascadeType.ALL, optional = false) - private HeadQuartersData headQuartersData; - - @Override - public boolean equals (final Object object) { - if (null == object) { - return false; - } else if (this.getClass() != object.getClass()) { - return false; - } - - final BusinessContact other = (BusinessContact) object; - - if (!Objects.equals(this.getBusinessContactId(), other.getBusinessContactId())) { - return false; - } else if (!Objects.equals(this.getCompanyContact(), other.getCompanyContact())) { - return false; - } else if (!Objects.equals(this.getCompanyFounder(), other.getCompanyFounder())) { - return false; - } else if (!Objects.equals(this.getBasicBusinessData(), other.getBasicBusinessData())) { - return false; - } else if (!Objects.equals(this.getHeadQuartersData(), other.getHeadQuartersData())) { - return false; - } - - return true; - } - - @Override - public BusinessBasicData getBasicBusinessData () { - return this.basicBusinessData; - } - - @Override - public void setBasicBusinessData (final BusinessBasicData basicBusinessData) { - this.basicBusinessData = basicBusinessData; - } - - @Override - @SuppressWarnings ("ReturnOfCollectionOrArrayField") - public List getBrancheOffices () { - return this.brancheOffices; - } - - @Override - @SuppressWarnings ("AssignmentToCollectionOrArrayFieldFromParameter") - public void setBrancheOffices (final List brancheOffices) { - this.brancheOffices = brancheOffices; - } - - @Override - public Long getBusinessContactId () { - return this.businessContactId; - } - - @Override - public void setBusinessContactId (final Long businessContactId) { - this.businessContactId = businessContactId; - } - - @Override - public Employee getCompanyContact () { - return this.companyContact; - } - - @Override - public void setCompanyContact (final Employee companyContact) { - this.companyContact = companyContact; - } - - @Override - public Employee getCompanyFounder () { - return this.companyFounder; - } - - @Override - public void setCompanyFounder (final Employee companyFounder) { - this.companyFounder = companyFounder; - } - - @Override - public User getContactCompanyUserOwner () { - return this.contactCompanyUserOwner; - } - - @Override - public void setContactCompanyUserOwner (final User contactCompanyUserOwner) { - this.contactCompanyUserOwner = contactCompanyUserOwner; - } - - @Override - @SuppressWarnings ("ReturnOfDateField") - public Calendar getContactCreated () { - return this.contactCreated; - } - - @Override - @SuppressWarnings ("AssignmentToDateFieldFromParameter") - public void setContactCreated (final Calendar contactCreated) { - this.contactCreated = contactCreated; - } - - @Override - public HeadQuartersData getHeadQuartersData () { - return this.headQuartersData; - } - - @Override - public void setHeadQuartersData (final HeadQuartersData headQuartersData) { - this.headQuartersData = headQuartersData; - } - - @Override - public int hashCode () { - int hash = 3; - - hash = 37 * hash + Objects.hashCode(this.getBusinessContactId()); - hash = 37 * hash + Objects.hashCode(this.getCompanyContact()); - hash = 37 * hash + Objects.hashCode(this.getCompanyFounder()); - hash = 37 * hash + Objects.hashCode(this.getBasicBusinessData()); - hash = 37 * hash + Objects.hashCode(this.getHeadQuartersData()); - - return hash; - } - -} diff --git a/src/org/mxchange/jcontactsbusiness/branch/BranchOffice.java b/src/org/mxchange/jcontactsbusiness/branch/BranchOffice.java index 7e445c7..3616fc2 100644 --- a/src/org/mxchange/jcontactsbusiness/branch/BranchOffice.java +++ b/src/org/mxchange/jcontactsbusiness/branch/BranchOffice.java @@ -18,11 +18,11 @@ package org.mxchange.jcontactsbusiness.branch; import java.io.Serializable; import java.util.Calendar; -import org.mxchange.jcontactsbusiness.BusinessContact; import org.mxchange.jcountry.data.Country; import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber; import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber; import org.mxchange.jusercore.model.user.User; +import org.mxchange.jcontactsbusiness.BusinessBasicData; /** * A POJI for branch offices @@ -190,14 +190,14 @@ public interface BranchOffice extends Serializable { *

* @return Branch office's company */ - BusinessContact getBranchCompanyContact (); + BusinessBasicData getBranchCompanyContact (); /** * Setter for branch office's company *

* @param branchCompanyContact Branch office's company */ - void setBranchCompanyContact (final BusinessContact branchCompanyContact); + void setBranchCompanyContact (final BusinessBasicData branchCompanyContact); /** * Getter for user owner instance diff --git a/src/org/mxchange/jcontactsbusiness/branch/CompanyBranchOffice.java b/src/org/mxchange/jcontactsbusiness/branch/CompanyBranchOffice.java index 0a44036..b52338f 100644 --- a/src/org/mxchange/jcontactsbusiness/branch/CompanyBranchOffice.java +++ b/src/org/mxchange/jcontactsbusiness/branch/CompanyBranchOffice.java @@ -31,8 +31,8 @@ import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.persistence.Transient; -import org.mxchange.jcontactsbusiness.BusinessContact; -import org.mxchange.jcontactsbusiness.CompanyContact; +import org.mxchange.jcontactsbusiness.BusinessBasicData; +import org.mxchange.jcontactsbusiness.CompanyBasicData; import org.mxchange.jcountry.data.Country; import org.mxchange.jcountry.data.CountryData; import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber; @@ -69,8 +69,8 @@ public class CompanyBranchOffice implements BranchOffice { * Company that has this branch office */ @JoinColumn (name = "branch_company_id", nullable = false, updatable = false) - @OneToOne (targetEntity = CompanyContact.class, optional = false, cascade = CascadeType.ALL) - private BusinessContact branchCompanyContact; + @OneToOne (targetEntity = CompanyBasicData.class, optional = false, cascade = CascadeType.ALL) + private BusinessBasicData branchCompanyContact; /** * Branch office's country code @@ -144,8 +144,8 @@ public class CompanyBranchOffice implements BranchOffice { /** * User owner instance */ - @JoinColumn (name = "branch_user_id", nullable = false, updatable = false) - @OneToOne (targetEntity = LoginUser.class, cascade = CascadeType.REFRESH, optional = false) + @JoinColumn (name = "branch_user_id") + @OneToOne (targetEntity = LoginUser.class, cascade = CascadeType.REFRESH) private User branchUserOwner; /** @@ -197,12 +197,12 @@ public class CompanyBranchOffice implements BranchOffice { } @Override - public BusinessContact getBranchCompanyContact () { + public BusinessBasicData getBranchCompanyContact () { return this.branchCompanyContact; } @Override - public void setBranchCompanyContact (final BusinessContact branchCompanyContact) { + public void setBranchCompanyContact (final BusinessBasicData branchCompanyContact) { this.branchCompanyContact = branchCompanyContact; } diff --git a/src/org/mxchange/jcontactsbusiness/department/CompanyDepartment.java b/src/org/mxchange/jcontactsbusiness/department/CompanyDepartment.java index dd64d2e..6e56705 100644 --- a/src/org/mxchange/jcontactsbusiness/department/CompanyDepartment.java +++ b/src/org/mxchange/jcontactsbusiness/department/CompanyDepartment.java @@ -32,8 +32,7 @@ import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.persistence.Transient; -import org.mxchange.jcontactsbusiness.BusinessContact; -import org.mxchange.jcontactsbusiness.CompanyContact; +import org.mxchange.jcontactsbusiness.CompanyBasicData; import org.mxchange.jcontactsbusiness.branch.BranchOffice; import org.mxchange.jcontactsbusiness.branch.CompanyBranchOffice; import org.mxchange.jcontactsbusiness.employee.CompanyEmployee; @@ -42,6 +41,7 @@ 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 @@ -77,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 @@ -159,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; } diff --git a/src/org/mxchange/jcontactsbusiness/department/Department.java b/src/org/mxchange/jcontactsbusiness/department/Department.java index 6f5be39..08de410 100644 --- a/src/org/mxchange/jcontactsbusiness/department/Department.java +++ b/src/org/mxchange/jcontactsbusiness/department/Department.java @@ -18,11 +18,11 @@ package org.mxchange.jcontactsbusiness.department; import java.io.Serializable; import java.util.Calendar; -import org.mxchange.jcontactsbusiness.BusinessContact; import org.mxchange.jcontactsbusiness.branch.BranchOffice; import org.mxchange.jcontactsbusiness.employee.Employee; import org.mxchange.jcontactsbusiness.headquarters.HeadQuartersData; import org.mxchange.jusercore.model.user.User; +import org.mxchange.jcontactsbusiness.BusinessBasicData; /** * A POJI for company departments @@ -36,14 +36,14 @@ public interface Department extends Serializable { *

* @return Connection to company contact */ - BusinessContact getDepartmentCompany (); + BusinessBasicData getDepartmentCompany (); /** * Setter for connection to company contact *

* @param departmentCompany Connection to company contact */ - void setDepartmentCompany (final BusinessContact departmentCompany); + void setDepartmentCompany (final BusinessBasicData departmentCompany); /** * Getter for connection to company headquarters diff --git a/src/org/mxchange/jcontactsbusiness/employee/CompanyEmployee.java b/src/org/mxchange/jcontactsbusiness/employee/CompanyEmployee.java index 76fb0e2..c16ab48 100644 --- a/src/org/mxchange/jcontactsbusiness/employee/CompanyEmployee.java +++ b/src/org/mxchange/jcontactsbusiness/employee/CompanyEmployee.java @@ -33,8 +33,7 @@ import javax.persistence.TemporalType; import javax.persistence.Transient; import org.mxchange.jcontacts.contact.Contact; import org.mxchange.jcontacts.contact.UserContact; -import org.mxchange.jcontactsbusiness.BusinessContact; -import org.mxchange.jcontactsbusiness.CompanyContact; +import org.mxchange.jcontactsbusiness.CompanyBasicData; import org.mxchange.jcontactsbusiness.branch.BranchOffice; import org.mxchange.jcontactsbusiness.branch.CompanyBranchOffice; import org.mxchange.jcontactsbusiness.department.CompanyDepartment; @@ -47,6 +46,7 @@ import org.mxchange.jphone.phonenumbers.mobile.DialableMobileNumber; import org.mxchange.jphone.phonenumbers.mobile.MobileNumber; import org.mxchange.jusercore.model.user.LoginUser; import org.mxchange.jusercore.model.user.User; +import org.mxchange.jcontactsbusiness.BusinessBasicData; /** * A POJO for company employees (including CEO) @@ -75,8 +75,8 @@ public class CompanyEmployee implements Employee { * Company the employee is working at */ @JoinColumn (name = "employee_company_id", nullable = false, updatable = false) - @OneToOne (targetEntity = CompanyContact.class, cascade = CascadeType.ALL, optional = false) - private BusinessContact employeeCompany; + @OneToOne (targetEntity = CompanyBasicData.class, cascade = CascadeType.ALL, optional = false) + private BusinessBasicData employeeCompany; /** * Timestamp when this entry has been created @@ -188,12 +188,12 @@ public class CompanyEmployee implements Employee { } @Override - public BusinessContact getEmployeeCompany () { + public BusinessBasicData getEmployeeCompany () { return this.employeeCompany; } @Override - public void setEmployeeCompany (final BusinessContact employeeCompany) { + public void setEmployeeCompany (final BusinessBasicData employeeCompany) { this.employeeCompany = employeeCompany; } diff --git a/src/org/mxchange/jcontactsbusiness/employee/Employee.java b/src/org/mxchange/jcontactsbusiness/employee/Employee.java index 69de2be..a7e9b0b 100644 --- a/src/org/mxchange/jcontactsbusiness/employee/Employee.java +++ b/src/org/mxchange/jcontactsbusiness/employee/Employee.java @@ -19,13 +19,13 @@ package org.mxchange.jcontactsbusiness.employee; import java.io.Serializable; import java.util.Calendar; import org.mxchange.jcontacts.contact.Contact; -import org.mxchange.jcontactsbusiness.BusinessContact; import org.mxchange.jcontactsbusiness.branch.BranchOffice; import org.mxchange.jcontactsbusiness.department.Department; import org.mxchange.jcontactsbusiness.headquarters.HeadQuartersData; import org.mxchange.jcontactsbusiness.jobposition.JobPosition; import org.mxchange.jphone.phonenumbers.mobile.DialableMobileNumber; import org.mxchange.jusercore.model.user.User; +import org.mxchange.jcontactsbusiness.BusinessBasicData; /** * A POJI for employees @@ -53,14 +53,14 @@ public interface Employee extends Serializable { *

* @return Company instance */ - BusinessContact getEmployeeCompany (); + BusinessBasicData getEmployeeCompany (); /** * Setter for employee's company *

* @param employeeCompany Company instance */ - void setEmployeeCompany (final BusinessContact employeeCompany); + void setEmployeeCompany (final BusinessBasicData employeeCompany); /** * Getter for employee's department diff --git a/src/org/mxchange/jcontactsbusiness/exceptions/BusinessContactAlreadyAddedException.java b/src/org/mxchange/jcontactsbusiness/exceptions/BusinessContactAlreadyAddedException.java index 82937c7..620243e 100644 --- a/src/org/mxchange/jcontactsbusiness/exceptions/BusinessContactAlreadyAddedException.java +++ b/src/org/mxchange/jcontactsbusiness/exceptions/BusinessContactAlreadyAddedException.java @@ -17,10 +17,10 @@ package org.mxchange.jcontactsbusiness.exceptions; import java.text.MessageFormat; -import org.mxchange.jcontactsbusiness.BusinessContact; +import org.mxchange.jcontactsbusiness.BusinessBasicData; /** - * Thrown if the given BusinessContact instance is already added + * Thrown if the given BusinessBasicData instance is already added *

* @author Roland Häder */ @@ -36,7 +36,7 @@ public class BusinessContactAlreadyAddedException extends Exception { *

* @param businessContact Business contact that is already added */ - public BusinessContactAlreadyAddedException (final BusinessContact businessContact) { + public BusinessContactAlreadyAddedException (final BusinessBasicData businessContact) { super(MessageFormat.format("Business contact with businessContactId={0} not found.", businessContact.getBusinessContactId())); //NOI18N } -- 2.39.5