Skip to content

Commit

Permalink
SHIBUI-521(545): Refactoring to polymorphic JSON serialization of met…
Browse files Browse the repository at this point in the history
…adata resolvers

Work in progress...
  • Loading branch information
dima767 committed Jun 21, 2018
1 parent dbfe084 commit c9e8116
Show file tree
Hide file tree
Showing 5 changed files with 388 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
@ToString
public class DynamicHttpMetadataResolver extends MetadataResolver {



public static final String DEFAULT_TIMEOUT = "PT5S";

@Embedded
Expand All @@ -38,6 +40,7 @@ public class DynamicHttpMetadataResolver extends MetadataResolver {
private List<String> supportedContentTypes;

public DynamicHttpMetadataResolver() {
type = "DynamicHttpMetadataResolver";
this.httpMetadataResolverAttributes = new HttpMetadataResolverAttributes();
this.httpMetadataResolverAttributes.setConnectionRequestTimeout(DEFAULT_TIMEOUT);
this.httpMetadataResolverAttributes.setConnectionTimeout(DEFAULT_TIMEOUT);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,15 @@

@Entity
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@Getter
@Setter
@ToString
public class FileBackedHttpMetadataResolver extends MetadataResolver {

public FileBackedHttpMetadataResolver() {
type = "FileBackedHttpMetadataResolver";
}

private String metadataURL;

private String backingFile;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;

Expand All @@ -11,12 +10,15 @@

@Entity
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@Getter
@Setter
@ToString
public class LocalDynamicMetadataResolver extends MetadataResolver {

public LocalDynamicMetadataResolver() {
type = "LocalDynamicMetadataResolver";
}

private String sourceDirectory;

private String sourceManagerRef;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import edu.internet2.tier.shibboleth.admin.ui.domain.AbstractAuditable;
import edu.internet2.tier.shibboleth.admin.ui.domain.filters.MetadataFilter;
import lombok.EqualsAndHashCode;
Expand All @@ -22,17 +25,25 @@

@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
@EqualsAndHashCode(callSuper = true, exclude={"version"})
@EqualsAndHashCode(callSuper = true, exclude = {"version"})
@NoArgsConstructor
@Getter
@Setter
@ToString
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "@type", visible = true)
@JsonSubTypes({@JsonSubTypes.Type(value = LocalDynamicMetadataResolver.class, name = "LocalDynamicMetadataResolver"),
@JsonSubTypes.Type(value = FileBackedHttpMetadataResolver.class, name = "FileBackedHttpMetadataResolver"),
@JsonSubTypes.Type(value = DynamicHttpMetadataResolver.class, name = "DynamicHttpMetadataResolver")})
public class MetadataResolver extends AbstractAuditable {

@Column(unique=true)
@JsonProperty("@type")
@Transient
String type;

@Column(unique = true)
private String name;

@Column(unique=true)
@Column(unique = true)
private String resourceId = UUID.randomUUID().toString();

private Boolean requireValidMetadata = true;
Expand Down
Loading

0 comments on commit c9e8116

Please sign in to comment.