Fixed equals and hashCode

pull/1/head
Jens Pelzetter 2019-11-20 20:36:21 +01:00
parent 9d16eeb580
commit 1d84cb8e94
4 changed files with 39 additions and 15 deletions

View File

@ -131,6 +131,9 @@ public class Authorship implements Serializable, Comparable<Authorship> {
if (authorshipId != other.getAuthorshipId()) { if (authorshipId != other.getAuthorshipId()) {
return false; return false;
} }
if (!Objects.equals(uuid, other.getUuid())) {
return false;
}
if (editor != other.isEditor()) { if (editor != other.isEditor()) {
return false; return false;
} }
@ -156,8 +159,8 @@ public class Authorship implements Serializable, Comparable<Authorship> {
return String.format("%s{ " return String.format("%s{ "
+ "authorshipId = %d, " + "authorshipId = %d, "
+ "uuid = %s, " + "uuid = %s, "
+ "author = %s" + "author = %s "
+ "editor = %b," + "editor = %b, "
+ "authorOrder = %d%s " + "authorOrder = %d%s "
+ "}", + "}",
super.toString(), super.toString(),

View File

@ -8,7 +8,6 @@ package org.scientificcms.publications.contenttypes;
import com.arsdigita.cms.contenttypes.ui.ProceedingsCreateForm; import com.arsdigita.cms.contenttypes.ui.ProceedingsCreateForm;
import com.arsdigita.cms.contenttypes.ui.ProceedingsPropertiesStep; import com.arsdigita.cms.contenttypes.ui.ProceedingsPropertiesStep;
import jdk.jfr.ContentType;
import org.librecms.CmsConstants; import org.librecms.CmsConstants;
import org.librecms.contenttypes.AuthoringKit; import org.librecms.contenttypes.AuthoringKit;
import org.librecms.contenttypes.AuthoringStep; import org.librecms.contenttypes.AuthoringStep;

View File

@ -11,13 +11,12 @@ import org.junit.runners.Parameterized;
import org.libreccm.tests.categories.UnitTest; import org.libreccm.tests.categories.UnitTest;
import org.libreccm.testutils.EqualsVerifier; import org.libreccm.testutils.EqualsVerifier;
import org.librecms.assets.Organization; import org.librecms.assets.Organization;
import org.librecms.assets.Person;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.Locale; import java.util.Locale;
/** /**
* *
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a> * @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
@ -63,6 +62,18 @@ public class EqualsAndHashCodeTest extends EqualsVerifier {
volume2.getTitle().addValue(Locale.ENGLISH, "Test 2"); volume2.getTitle().addValue(Locale.ENGLISH, "Test 2");
verifier.withPrefabValues(CollectedVolume.class, volume1, volume2); verifier.withPrefabValues(CollectedVolume.class, volume1, volume2);
final Person author1 = new Person();
author1.setDisplayName("Max Mustermann");
final Person author2 = new Person();
author2.setDisplayName("John Doe");
verifier.withPrefabValues(Person.class, author1, author2);
final Publication publication1 = new Publication();
publication1.getTitle().addValue(Locale.ENGLISH, "Alpha");
final Publication publication2 = new Publication();
publication2.getTitle().addValue(Locale.ENGLISH, "Bravo");
verifier.withPrefabValues(Publication.class, publication1, publication2);
final Journal journal1 = new Journal(); final Journal journal1 = new Journal();
journal1.setTitle("Journal 1"); journal1.setTitle("Journal 1");
journal1.setFirstYear(1980); journal1.setFirstYear(1980);
@ -70,28 +81,34 @@ public class EqualsAndHashCodeTest extends EqualsVerifier {
journal2.setTitle("Journal 2"); journal2.setTitle("Journal 2");
journal2.setFirstYear(2004); journal2.setFirstYear(2004);
verifier.withPrefabValues(Journal.class, journal1, journal2); verifier.withPrefabValues(Journal.class, journal1, journal2);
final Publisher publisher1 = new Publisher(); final Publisher publisher1 = new Publisher();
publisher1.setName("publisher1"); publisher1.setName("publisher1");
final Publisher publisher2 = new Publisher(); final Publisher publisher2 = new Publisher();
publisher2.setName("publisher2"); publisher2.setName("publisher2");
verifier.withPrefabValues(Publisher.class, publisher1, publisher2); verifier.withPrefabValues(Publisher.class, publisher1, publisher2);
final Organization organization1 = new Organization(); final Organization organization1 = new Organization();
organization1.setName("Orga 1"); organization1.setName("Orga 1");
final Organization organization2 = new Organization(); final Organization organization2 = new Organization();
organization2.setName("Orga 2"); organization2.setName("Orga 2");
verifier.withPrefabValues(Organization.class, verifier.withPrefabValues(Organization.class,
organization1, organization1,
organization2); organization2);
final Proceedings proceedings1 = new Proceedings(); final Proceedings proceedings1 = new Proceedings();
proceedings1.getTitle().addValue(Locale.ENGLISH, "Proceedings 1"); proceedings1.getTitle().addValue(Locale.ENGLISH, "Proceedings 1");
final Proceedings proceedings2 = new Proceedings(); final Proceedings proceedings2 = new Proceedings();
proceedings2.getTitle().addValue(Locale.ENGLISH, "Proceedings 2"); proceedings2.getTitle().addValue(Locale.ENGLISH, "Proceedings 2");
verifier.withPrefabValues(Proceedings.class, verifier.withPrefabValues(Proceedings.class,
proceedings1, proceedings1,
proceedings2); proceedings2);
final Series series1 = new Series();
series1.getTitle().addValue(Locale.ENGLISH, "Series Alpha");
final Series series2 = new Series();
series2.getTitle().addValue(Locale.ENGLISH, "Series Bravo");
verifier.withPrefabValues(Series.class, series1, series2);
} }
} }

View File

@ -23,6 +23,7 @@ import org.librecms.lifecycle.LifecycleDefinition;
import org.scientificcms.publications.CollectedVolume; import org.scientificcms.publications.CollectedVolume;
import org.scientificcms.publications.Journal; import org.scientificcms.publications.Journal;
import org.scientificcms.publications.Proceedings; import org.scientificcms.publications.Proceedings;
import org.scientificcms.publications.Publication;
import org.scientificcms.publications.assets.PrefabAssetsProvider; import org.scientificcms.publications.assets.PrefabAssetsProvider;
import java.util.Arrays; import java.util.Arrays;
@ -58,7 +59,7 @@ public class EqualsAndHashCodeTest extends EqualsVerifier {
public EqualsAndHashCodeTest(final Class<?> clazz) { public EqualsAndHashCodeTest(final Class<?> clazz) {
super(clazz); super(clazz);
} }
@Override @Override
protected void addSuppressWarnings(final EqualsVerifierApi<?> verifier) { protected void addSuppressWarnings(final EqualsVerifierApi<?> verifier) {
super.addSuppressWarnings(verifier); super.addSuppressWarnings(verifier);
@ -154,8 +155,12 @@ public class EqualsAndHashCodeTest extends EqualsVerifier {
lifecycle2.setDefinition(lifecycleDef2); lifecycle2.setDefinition(lifecycleDef2);
lifecycle2.setStarted(false); lifecycle2.setStarted(false);
verifier.withPrefabValues(Lifecycle.class, lifecycle1, lifecycle2); verifier.withPrefabValues(Lifecycle.class, lifecycle1, lifecycle2);
final Publication publication1 = new Publication();
publication1.getTitle().addValue(Locale.ENGLISH, "Alpha");
final Publication publication2 = new Publication();
publication2.getTitle().addValue(Locale.ENGLISH, "Bravo");
verifier.withPrefabValues(Publication.class, publication1, publication2);
} }
} }