Skip to content

Commit

Permalink
Merge branch 'feature/shibui-1848' of bitbucket.org:unicon/shib-idp-u…
Browse files Browse the repository at this point in the history
…i into feature/shibui-1848
  • Loading branch information
rmathis committed Jul 1, 2021
2 parents ebfeae4 + 780c771 commit e691694
Show file tree
Hide file tree
Showing 23 changed files with 1,093 additions and 874 deletions.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,17 +1,25 @@
package edu.internet2.tier.shibboleth.admin.ui.domain;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.google.common.base.MoreObjects;
import com.google.common.collect.Lists;

import edu.internet2.tier.shibboleth.admin.ui.security.model.Group;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

import org.hibernate.envers.Audited;
import org.hibernate.envers.NotAudited;
import org.hibernate.envers.RelationTargetAuditMode;
import org.opensaml.core.xml.XMLObject;
import org.springframework.util.StringUtils;

import javax.annotation.Nullable;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.OrderColumn;
Expand All @@ -26,32 +34,9 @@


@Entity
@EqualsAndHashCode(callSuper = true, exclude={"versionModifiedTimestamp"})
@EqualsAndHashCode(callSuper = true)
@Audited
public class EntityDescriptor extends AbstractDescriptor implements org.opensaml.saml.saml2.metadata.EntityDescriptor {
private String localId;

private String entityID;

private String serviceProviderName;

private boolean serviceEnabled;

private String resourceId;

private Long versionModifiedTimestamp;

@OneToOne(cascade = CascadeType.ALL)
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
Expand All @@ -60,72 +45,148 @@ public class EntityDescriptor extends AbstractDescriptor implements org.opensaml

@OneToOne(cascade = CascadeType.ALL)
@NotAudited
private AuthnAuthorityDescriptor authnAuthorityDescriptor;

private AffiliationDescriptor affiliationDescriptor;
@OneToOne(cascade = CascadeType.ALL)
@NotAudited
private AttributeAuthorityDescriptor attributeAuthorityDescriptor;

@OneToOne(cascade = CascadeType.ALL)
@NotAudited
private PDPDescriptor pdpDescriptor;
private AuthnAuthorityDescriptor authnAuthorityDescriptor;

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

private String entityID;

@ManyToOne
@JoinColumn(name = "group_resource_id")
@EqualsAndHashCode.Exclude
@Setter
@Getter
@Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)
// @JsonIgnore
private Group group;

private String localId;

@OneToOne(cascade = CascadeType.ALL)
private Organization organization;

@OneToOne(cascade = CascadeType.ALL)
@NotAudited
private AffiliationDescriptor affiliationDescriptor;
private PDPDescriptor pdpDescriptor;

private String resourceId;

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

private boolean serviceEnabled;

private String serviceProviderName;

@EqualsAndHashCode.Exclude
private Long versionModifiedTimestamp;

public EntityDescriptor() {
super();
this.resourceId = UUID.randomUUID().toString();
}

public void setVersionModifiedTimestamp(Long versionModifiedTimestamp) {
this.versionModifiedTimestamp = versionModifiedTimestamp;
public void addContactPerson(ContactPerson contactPerson) {
this.contactPersons.add(contactPerson);
}

//getters and setters
@Override
public String getID() {
return this.localId;
public List<org.opensaml.saml.saml2.metadata.AdditionalMetadataLocation> getAdditionalMetadataLocations() {
return Lists.newArrayList(additionalMetadataLocations);
}

@Override
public void setID(String id) {
this.localId = id;
public AffiliationDescriptor getAffiliationDescriptor() {
return affiliationDescriptor;
}

@Override
public AttributeAuthorityDescriptor getAttributeAuthorityDescriptor(String s) {
return attributeAuthorityDescriptor;
}

@Override
public AuthnAuthorityDescriptor getAuthnAuthorityDescriptor(String s) {
return authnAuthorityDescriptor;
}

@Override
public List<org.opensaml.saml.saml2.metadata.ContactPerson> getContactPersons() {
return (List<org.opensaml.saml.saml2.metadata.ContactPerson>) (List<? extends org.opensaml.saml.saml2.metadata.ContactPerson>) this.contactPersons;
}

@Override
public String getEntityID() {
return entityID;
}

//getters and setters
@Override
public void setEntityID(String entityID) {
this.entityID = entityID;
public String getID() {
return this.localId;
}

public String getServiceProviderName() {
return serviceProviderName;
@Override
@Transient
public IDPSSODescriptor getIDPSSODescriptor(String s) {
return (IDPSSODescriptor) this.getRoleDescriptors()
.stream()
.filter(p -> p instanceof org.opensaml.saml.saml2.metadata.IDPSSODescriptor && (StringUtils.isEmpty(s) ? true :p.isSupportedProtocol(s)))
.findFirst()
.orElse(null);
}

public void setServiceProviderName(String serviceProviderName) {
this.serviceProviderName = serviceProviderName;
@Transient
public Optional<SPSSODescriptor> getOptionalSPSSODescriptor() {
return this.getOptionalSPSSODescriptor("");
}

public boolean isServiceEnabled() {
return serviceEnabled;
@Transient
public Optional<SPSSODescriptor> getOptionalSPSSODescriptor(String s) {
return Optional.ofNullable(this.getSPSSODescriptor(s));
}

public void setServiceEnabled(boolean serviceEnabled) {
this.serviceEnabled = serviceEnabled;
@Nullable
@Override
public List<XMLObject> getOrderedChildren() {
final ArrayList<XMLObject> children = new ArrayList<>();

if (getSignature() != null) {
children.add(getSignature());
}
children.add(getExtensions());
children.addAll(this.getRoleDescriptors());
children.add(getAffiliationDescriptor());
children.add(getOrganization());
children.addAll(this.getContactPersons());
children.addAll(this.getAdditionalMetadataLocations());

return Collections.unmodifiableList(children);
}

public String getResourceId() {
return resourceId;
@Override
public org.opensaml.saml.saml2.metadata.Organization getOrganization() {
return organization;
}

public void setResourceId(String resourceId) {
this.resourceId = resourceId;
@Override
public PDPDescriptor getPDPDescriptor(String s) {
return pdpDescriptor;
}

public String getResourceId() {
return resourceId;
}

@Override
Expand All @@ -138,10 +199,6 @@ public List<org.opensaml.saml.saml2.metadata.RoleDescriptor> getRoleDescriptors(
return (List<org.opensaml.saml.saml2.metadata.RoleDescriptor>) (List<? extends org.opensaml.saml.saml2.metadata.RoleDescriptor>) this.roleDescriptors;
}

public void setRoleDescriptors(List<RoleDescriptor> roleDescriptors) {
this.roleDescriptors = roleDescriptors;
}

@Override
public List<org.opensaml.saml.saml2.metadata.RoleDescriptor> getRoleDescriptors(QName qName) {
return this.getRoleDescriptors()
Expand All @@ -158,14 +215,8 @@ public List<org.opensaml.saml.saml2.metadata.RoleDescriptor> getRoleDescriptors(
.collect(Collectors.toList());
}

@Override
@Transient
public IDPSSODescriptor getIDPSSODescriptor(String s) {
return (IDPSSODescriptor) this.getRoleDescriptors()
.stream()
.filter(p -> p instanceof org.opensaml.saml.saml2.metadata.IDPSSODescriptor && (StringUtils.isEmpty(s) ? true :p.isSupportedProtocol(s)))
.findFirst()
.orElse(null);
public String getServiceProviderName() {
return serviceProviderName;
}

@Override
Expand All @@ -178,83 +229,68 @@ public SPSSODescriptor getSPSSODescriptor(String s) {
.orElse(null);
}

@Transient
public Optional<SPSSODescriptor> getOptionalSPSSODescriptor(String s) {
return Optional.ofNullable(this.getSPSSODescriptor(s));
}

@Transient
public Optional<SPSSODescriptor> getOptionalSPSSODescriptor() {
return this.getOptionalSPSSODescriptor("");
}

@Override
public AuthnAuthorityDescriptor getAuthnAuthorityDescriptor(String s) {
return authnAuthorityDescriptor;
public boolean isServiceEnabled() {
return serviceEnabled;
}

public void setAuthnAuthorityDescriptor(AuthnAuthorityDescriptor authnAuthorityDescriptor) {
this.authnAuthorityDescriptor = authnAuthorityDescriptor;
public void setAdditionalMetadataLocations(List<AdditionalMetadataLocation> additionalMetadataLocations) {
this.additionalMetadataLocations = additionalMetadataLocations;
}

@Override
public AttributeAuthorityDescriptor getAttributeAuthorityDescriptor(String s) {
return attributeAuthorityDescriptor;
public void setAffiliationDescriptor(org.opensaml.saml.saml2.metadata.AffiliationDescriptor affiliationDescriptor) {
this.affiliationDescriptor = (AffiliationDescriptor) affiliationDescriptor;
}

public void setAttributeAuthorityDescriptor(AttributeAuthorityDescriptor attributeAuthorityDescriptor) {
this.attributeAuthorityDescriptor = attributeAuthorityDescriptor;
}

@Override
public PDPDescriptor getPDPDescriptor(String s) {
return pdpDescriptor;
}

public void setPdpDescriptor(PDPDescriptor pdpDescriptor) {
this.pdpDescriptor = pdpDescriptor;
public void setAuthnAuthorityDescriptor(AuthnAuthorityDescriptor authnAuthorityDescriptor) {
this.authnAuthorityDescriptor = authnAuthorityDescriptor;
}

@Override
public AffiliationDescriptor getAffiliationDescriptor() {
return affiliationDescriptor;
public void setContactPersons(List<ContactPerson> contactPersons) {
this.contactPersons = contactPersons;
}

@Override
public void setAffiliationDescriptor(org.opensaml.saml.saml2.metadata.AffiliationDescriptor affiliationDescriptor) {
this.affiliationDescriptor = (AffiliationDescriptor) affiliationDescriptor;
public void setEntityID(String entityID) {
this.entityID = entityID;
}

@Override
public org.opensaml.saml.saml2.metadata.Organization getOrganization() {
return organization;
public void setID(String id) {
this.localId = id;
}

@Override
public void setOrganization(org.opensaml.saml.saml2.metadata.Organization organization) {
this.organization = (Organization) organization;
}

@Override
public List<org.opensaml.saml.saml2.metadata.ContactPerson> getContactPersons() {
return (List<org.opensaml.saml.saml2.metadata.ContactPerson>) (List<? extends org.opensaml.saml.saml2.metadata.ContactPerson>) this.contactPersons;
public void setPdpDescriptor(PDPDescriptor pdpDescriptor) {
this.pdpDescriptor = pdpDescriptor;
}

public void addContactPerson(ContactPerson contactPerson) {
this.contactPersons.add(contactPerson);
public void setResourceId(String resourceId) {
this.resourceId = resourceId;
}

public void setContactPersons(List<ContactPerson> contactPersons) {
this.contactPersons = contactPersons;
public void setRoleDescriptors(List<RoleDescriptor> roleDescriptors) {
this.roleDescriptors = roleDescriptors;
}

@Override
public List<org.opensaml.saml.saml2.metadata.AdditionalMetadataLocation> getAdditionalMetadataLocations() {
return Lists.newArrayList(additionalMetadataLocations);
public void setServiceEnabled(boolean serviceEnabled) {
this.serviceEnabled = serviceEnabled;
}

public void setAdditionalMetadataLocations(List<AdditionalMetadataLocation> additionalMetadataLocations) {
this.additionalMetadataLocations = additionalMetadataLocations;
public void setServiceProviderName(String serviceProviderName) {
this.serviceProviderName = serviceProviderName;
}

public void setVersionModifiedTimestamp(Long versionModifiedTimestamp) {
this.versionModifiedTimestamp = versionModifiedTimestamp;
}

@Override
Expand All @@ -265,22 +301,4 @@ public String toString() {
.add("id", id)
.toString();
}

@Nullable
@Override
public List<XMLObject> getOrderedChildren() {
final ArrayList<XMLObject> children = new ArrayList<>();

if (getSignature() != null) {
children.add(getSignature());
}
children.add(getExtensions());
children.addAll(this.getRoleDescriptors());
children.add(getAffiliationDescriptor());
children.add(getOrganization());
children.addAll(this.getContactPersons());
children.addAll(this.getAdditionalMetadataLocations());

return Collections.unmodifiableList(children);
}
}
Loading

0 comments on commit e691694

Please sign in to comment.