提交 de025fd1 编写于 作者: R robm

8141148: LDAP "follow" throws ClassCastException with Java 8

Reviewed-by: prappo, xuelei
上级 0ae33862
...@@ -300,7 +300,7 @@ abstract class AbstractLdapNamingEnumeration<T extends NameClassPair> ...@@ -300,7 +300,7 @@ abstract class AbstractLdapNamingEnumeration<T extends NameClassPair>
errEx = e; errEx = e;
} }
protected abstract AbstractLdapNamingEnumeration<T> getReferredResults( protected abstract AbstractLdapNamingEnumeration<? extends NameClassPair> getReferredResults(
LdapReferralContext refCtx) throws NamingException; LdapReferralContext refCtx) throws NamingException;
/* /*
...@@ -360,7 +360,7 @@ abstract class AbstractLdapNamingEnumeration<T extends NameClassPair> ...@@ -360,7 +360,7 @@ abstract class AbstractLdapNamingEnumeration<T extends NameClassPair>
* Merge the entries and/or referrals from the supplied enumeration * Merge the entries and/or referrals from the supplied enumeration
* with those of the current enumeration. * with those of the current enumeration.
*/ */
protected void update(AbstractLdapNamingEnumeration<T> ne) { protected void update(AbstractLdapNamingEnumeration<? extends NameClassPair> ne) {
// Cleanup previous context first // Cleanup previous context first
homeCtx.decEnumCount(); homeCtx.decEnumCount();
......
...@@ -104,9 +104,9 @@ final class LdapBindingEnumeration ...@@ -104,9 +104,9 @@ final class LdapBindingEnumeration
} }
@Override @Override
protected LdapBindingEnumeration getReferredResults( protected AbstractLdapNamingEnumeration<? extends NameClassPair> getReferredResults(
LdapReferralContext refCtx) throws NamingException{ LdapReferralContext refCtx) throws NamingException{
// repeat the original operation at the new context // repeat the original operation at the new context
return (LdapBindingEnumeration)refCtx.listBindings(listArg); return (AbstractLdapNamingEnumeration<? extends NameClassPair>)refCtx.listBindings(listArg);
} }
} }
...@@ -72,9 +72,9 @@ final class LdapNamingEnumeration ...@@ -72,9 +72,9 @@ final class LdapNamingEnumeration
} }
@Override @Override
protected LdapNamingEnumeration getReferredResults( protected AbstractLdapNamingEnumeration<? extends NameClassPair> getReferredResults(
LdapReferralContext refCtx) throws NamingException { LdapReferralContext refCtx) throws NamingException {
// repeat the original operation at the new context // repeat the original operation at the new context
return (LdapNamingEnumeration)refCtx.list(listArg); return (AbstractLdapNamingEnumeration<? extends NameClassPair>)refCtx.list(listArg);
} }
} }
...@@ -199,15 +199,15 @@ final class LdapSearchEnumeration ...@@ -199,15 +199,15 @@ final class LdapSearchEnumeration
} }
@Override @Override
protected LdapSearchEnumeration getReferredResults( protected AbstractLdapNamingEnumeration<? extends NameClassPair> getReferredResults(
LdapReferralContext refCtx) throws NamingException { LdapReferralContext refCtx) throws NamingException {
// repeat the original operation at the new context // repeat the original operation at the new context
return (LdapSearchEnumeration)refCtx.search( return (AbstractLdapNamingEnumeration<? extends NameClassPair>)refCtx.search(
searchArgs.name, searchArgs.filter, searchArgs.cons); searchArgs.name, searchArgs.filter, searchArgs.cons);
} }
@Override @Override
protected void update(AbstractLdapNamingEnumeration<SearchResult> ne) { protected void update(AbstractLdapNamingEnumeration<? extends NameClassPair> ne) {
super.update(ne); super.update(ne);
// Update search-specific variables // Update search-specific variables
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册