Skip to content

Commit

Permalink
SHIBUI-2182
Browse files Browse the repository at this point in the history
restoring EnversMetadataResolverVersionService to previous
  • Loading branch information
chasegawa committed Oct 27, 2021
1 parent a40d3fc commit f136f4f
Showing 1 changed file with 0 additions and 23 deletions.
Original file line number Diff line number Diff line change
@@ -1,14 +1,9 @@
package edu.internet2.tier.shibboleth.admin.ui.service;

import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilter;
import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DynamicHttpMetadataResolver;
import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataRequestURLConstructionScheme;
import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver;
import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.RegexScheme;
import edu.internet2.tier.shibboleth.admin.ui.domain.versioning.Version;
import edu.internet2.tier.shibboleth.admin.ui.envers.EnversVersionServiceSupport;
import org.springframework.aop.framework.Advised;
import org.springframework.aop.support.AopUtils;

import java.util.List;

Expand Down Expand Up @@ -41,26 +36,8 @@ public MetadataResolver findSpecificVersionOfMetadataResolver(String resourceId,
//The @PostLoad is not honored by Envers. So need to do this manually for EntityAttributesFilters
//So the correct representation is built and returned to upstream clients expecting JSON
resolver.entityAttributesFilterIntoTransientRepresentation();
if (resolver instanceof DynamicHttpMetadataResolver) {
MetadataRequestURLConstructionScheme scheme = ((DynamicHttpMetadataResolver)resolver).getMetadataRequestURLConstructionScheme();
RegexScheme rs = null;
try {
rs = getTargetObject(scheme, RegexScheme.class);
((DynamicHttpMetadataResolver)resolver).setMetadataRequestURLConstructionScheme(rs);
}
catch (Exception e) {
}
}

return resolver;
}

@SuppressWarnings({"unchecked"})
protected <T> T getTargetObject(Object proxy, Class<T> targetClass) throws Exception {
if (AopUtils.isJdkDynamicProxy(proxy)) {
return (T) ((Advised)proxy).getTargetSource().getTarget();
} else {
return (T) proxy; // expected to be cglib proxy then, which is simply a specialized class
}
}
}

0 comments on commit f136f4f

Please sign in to comment.