Skip to content

Commit

Permalink
Merged in SHIBUI-553 (pull request #76)
Browse files Browse the repository at this point in the history
SHIBUI-553

* [SHIBUI-553]

    Added manual hashcode/equals. Investigating...

* [SHIBUI-553]
    WIP

    start of tests

* Revert "[SHIBUI-553]"

    This reverts commit 0c37f0e3cd95b999be9da53a211cf74606e9efe9.

* [SHIBUI-553]

    Added EqualsAndHashCode to AbstractAuditable.
    Added OrderColumn to all persisted lists.
    Added exclude to equals/hashcode for RoleDescriptor.unknownAttributes (because it is transient)
    Added a more robust unit test for hashcode equality.

* [SHIBUI-553]

    Relocated EntityDescriptor test into a new EntityDescriptorRepositoryTest
  • Loading branch information
Bill Smith authored and Jonathan Johnson committed May 24, 2018
1 parent 1280e31 commit 0582e54
Show file tree
Hide file tree
Showing 27 changed files with 324 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package edu.internet2.tier.shibboleth.admin.ui.domain;

import lombok.EqualsAndHashCode;
import org.hibernate.annotations.CreationTimestamp;
import org.hibernate.annotations.UpdateTimestamp;
import org.springframework.data.annotation.CreatedBy;
Expand All @@ -20,6 +21,7 @@

@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
@EqualsAndHashCode
public abstract class AbstractAuditable implements Auditable {

@Id
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.OneToMany;
import javax.persistence.OrderColumn;
import javax.xml.namespace.QName;
import java.util.ArrayList;
import java.util.List;
Expand All @@ -19,6 +20,7 @@
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class AbstractElementExtensibleXMLObject extends AbstractXMLObject implements ElementExtensibleXMLObject {
@OneToMany(cascade = CascadeType.ALL)
@OrderColumn
private List<AbstractXMLObject> unknownXMLObjects = new ArrayList<>();

@Nonnull
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OrderColumn;
import java.util.List;


Expand All @@ -19,10 +20,12 @@ public class AffiliationDescriptor extends AbstractDescriptor implements org.ope

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "affildesc_affilmemb_id")
@OrderColumn
private List<AffiliateMember> affiliateMembers;

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "affildesc_keydesc_id")
@OrderColumn
private List<KeyDescriptor> keyDescriptors;

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.OneToMany;
import javax.persistence.OrderColumn;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
Expand All @@ -23,6 +24,7 @@ public class Attribute extends AbstractAttributeExtensibleXMLObject implements o
private String friendlyName;

@OneToMany(cascade = CascadeType.ALL)
@OrderColumn
private List<AbstractXMLObject> attributeValues = new ArrayList<>();

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OrderColumn;
import java.util.ArrayList;
import java.util.List;

Expand All @@ -16,22 +17,27 @@ public class AttributeAuthorityDescriptor extends RoleDescriptor implements org.

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "attribauthdesc_attribserv_id")
@OrderColumn
private List<AttributeService> attributeServices = new ArrayList<>();

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "attribauthdesc_assertidreqservc_id")
@OrderColumn
private List<AssertionIDRequestService> assertionIDRequestServices = new ArrayList<>();

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "attribauthdesc_nameidfrmt_id")
@OrderColumn
private List<NameIDFormat> nameIDFormats = new ArrayList<>();

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "attribauthdesc_attribprofile_id")
@OrderColumn
private List<AttributeProfile> attributeProfiles = new ArrayList<>();

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "attribauthdesc_attrib_id")
@OrderColumn
private List<Attribute> attributes = new ArrayList<>();


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OrderColumn;
import java.util.ArrayList;
import java.util.List;

Expand All @@ -21,14 +22,17 @@ public class AttributeConsumingService extends AbstractXMLObject implements org.

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "attribconsserv_servicename_id")
@OrderColumn
private List<ServiceName> serviceNames = new ArrayList<>();

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "attribconsserv_servicedesc_id")
@OrderColumn
private List<ServiceDescription> serviceDescriptions = new ArrayList<>();

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "attribconsserv_requestedattrib_id")
@OrderColumn
private List<RequestedAttribute> requestedAttributes = new ArrayList<>();

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OrderColumn;
import java.util.List;


Expand All @@ -16,14 +17,17 @@ public class AuthnAuthorityDescriptor extends RoleDescriptor implements org.open

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "authnauthdesc_authnqueryserv_id")
@OrderColumn
private List<AuthnQueryService> authnQueryServices;

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "authnauthdesc_assertidreqserv_id")
@OrderColumn
private List<AssertionIDRequestService> assertionIDRequestServices;

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "authnauthdesc_nameidfmt_id")
@OrderColumn
private List<NameIDFormat> nameIDFormats;

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,12 @@ public class ContactPerson extends AbstractAttributeExtensibleXMLObject implemen

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "contactpersn_emailaddr_id")
@OrderColumn
private List<EmailAddress> emailAddresses = new ArrayList<>();

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "contactpersn_telenmbr_id")
@OrderColumn
private List<TelephoneNumber> telephoneNumbers = new ArrayList<>();

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.OneToMany;
import javax.persistence.OrderColumn;
import javax.persistence.Transient;
import java.util.ArrayList;
import java.util.Collections;
Expand All @@ -18,6 +19,7 @@
public class EntityAttributes extends AbstractElementExtensibleXMLObject implements org.opensaml.saml.ext.saml2mdattr.EntityAttributes {

@OneToMany(cascade = CascadeType.ALL)
@OrderColumn
private List<Attribute> attributes = new ArrayList<>();

@Transient // TODO: check to make sure this won't ever be used
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import javax.persistence.Entity;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.OrderColumn;
import java.util.ArrayList;
import java.util.List;

Expand All @@ -16,6 +17,7 @@ public class EntityAttributesFilter extends MetadataFilter {
private EntityAttributesFilterTarget entityAttributesFilterTarget;

@OneToMany(cascade = CascadeType.ALL)
@OrderColumn
private List<Attribute> attributes = new ArrayList<>();

public EntityAttributesFilterTarget getEntityAttributesFilterTarget() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.OrderColumn;
import java.util.ArrayList;
import java.util.List;

Expand All @@ -21,6 +22,7 @@ public enum EntityAttributesFilterTargetType {
private EntityAttributesFilterTargetType entityAttributesFilterTargetType;

@ElementCollection
@OrderColumn
private List<String> value;

public EntityAttributesFilterTargetType getEntityAttributesFilterTargetType() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import javax.persistence.Entity;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.OrderColumn;
import javax.persistence.Transient;

import javax.xml.namespace.QName;
Expand Down Expand Up @@ -42,13 +43,16 @@ public class EntityDescriptor extends AbstractDescriptor implements org.opensaml
private Organization organization;

@OneToMany(cascade = CascadeType.ALL)
@OrderColumn
private List<ContactPerson> contactPersons = new ArrayList<>();

@OneToMany(cascade = CascadeType.ALL)
@OrderColumn
private List<RoleDescriptor> roleDescriptors;

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "entitydesc_addlmetdatlocations_id")
@OrderColumn
private List<AdditionalMetadataLocation> additionalMetadataLocations = new ArrayList<>();

@OneToOne(cascade = CascadeType.ALL)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OrderColumn;
import java.util.ArrayList;
import java.util.List;

Expand All @@ -19,22 +20,27 @@ public class IDPSSODescriptor extends SSODescriptor implements org.opensaml.saml

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "idpssodesc_ssoserv_id")
@OrderColumn
private List<SingleSignOnService> singleSignOnServices = new ArrayList<>();

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "idpssodesc_nameidmapserv_id")
@OrderColumn
private List<NameIDMappingService> nameIDMappingServices = new ArrayList<>();

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "idpssodesc_asseridreqserv_id")
@OrderColumn
private List<AssertionIDRequestService> assertionIDRequestServices = new ArrayList<>();

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "idpssodesc_attribprofile_id")
@OrderColumn
private List<AttributeProfile> attributeProfiles = new ArrayList<>();

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "idpssodesc_attrib_id")
@OrderColumn
private List<Attribute> attributes = new ArrayList<>();

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ public class KeyDescriptor extends AbstractXMLObject implements org.opensaml.sam

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "keydesc_encryptionmethod_id")
@OrderColumn
private List<EncryptionMethod> encryptionMethods = new ArrayList<>();

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.OneToMany;
import javax.persistence.OrderColumn;
import javax.xml.namespace.QName;
import java.util.ArrayList;
import java.util.Arrays;
Expand All @@ -31,6 +32,7 @@
public class KeyInfo extends AbstractXMLObject implements org.opensaml.xmlsec.signature.KeyInfo {

@OneToMany(cascade = CascadeType.ALL)
@OrderColumn
List<AbstractXMLObject> xmlObjects = new ArrayList<>();


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@
import javax.annotation.Nullable;
import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.OrderColumn;
import java.util.List;

@Entity
@EqualsAndHashCode(callSuper = true)
public class Keywords extends AbstractXMLObject implements org.opensaml.saml.ext.saml2mdui.Keywords {
@ElementCollection
@OrderColumn
private List<String> keywords;
private String xmlLang;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.OneToMany;
import javax.persistence.OrderColumn;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
Expand All @@ -16,6 +17,7 @@ public class MetadataResolver extends AbstractAuditable {
private String resourceId = UUID.randomUUID().toString();

@OneToMany(cascade = CascadeType.ALL)
@OrderColumn
private List<MetadataFilter> metadataFilters = new ArrayList<>();

public String getName() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,17 @@ public class Organization extends AbstractAttributeExtensibleXMLObject implement

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "org_orgname_id")
@OrderColumn
private List<OrganizationName> organizationNames = new ArrayList<>();

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "org_orgdisplayname_id")
@OrderColumn
private List<OrganizationDisplayName> organizationDisplayNames = new ArrayList<>();

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "org_orgurl_id")
@OrderColumn
private List<OrganizationURL> organizationURLs = new ArrayList<>();

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OrderColumn;
import java.util.List;


Expand All @@ -16,14 +17,17 @@ public class PDPDescriptor extends RoleDescriptor implements org.opensaml.saml.s

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "pdpdesc_authzserv_id")
@OrderColumn
private List<AuthzService> authzServices;

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "pdpdesc_assertidreqserv_id")
@OrderColumn
private List<AssertionIDRequestService> assertionIDRequestServices;

@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "pdpdesc_nameidfmt_id")
@OrderColumn
private List<NameIDFormat> nameIDFormats;

@Override
Expand Down
Loading

0 comments on commit 0582e54

Please sign in to comment.