rwinch / spring-ldap-migrate-issues

0 stars 0 forks source link

LDAP-133: Compiling an extension of class DirContextAdapter with JDK 5 causes many "unchecked" warnings #135

Closed rwinch closed 11 years ago

rwinch commented 16 years ago

Migrated from ["LDAP-133":https://jira.spring.io/browse/LDAP-133]

Extending org.springframework.ldap.core.DirContextAdapter causes many JDK 5 compiler warnings, although the methods in question are not overridden.

The methods in DirContextAdapter should be annotated with @SuppressWarnings("unchecked") or their signature should be fixed (this may not be possible due to interdependencies).

Example: public class PasswordPolicyDirContextAdapter extends DirContextAdapter {...} causes:

[javac] C:\jfworkspace\Kika\src\com\acesis\security\ldap\PasswordPolicyDirContextAdapter.java:27: warning: search(java.lang.String,java.lang.String,java.lang.Object[],javax.naming.directory.SearchControls) in org.springframework.ldap.core.DirContextAdapter implements search(java.lang.String,java.lang.String,java.lang.Object[],javax.naming.directory.SearchControls) in javax.naming.directory.DirContext; return type requires unchecked conversion
[javac] found   : javax.naming.NamingEnumeration
[javac] required: javax.naming.NamingEnumeration<javax.naming.directory.SearchResult>
[javac] public class PasswordPolicyDirContextAdapter extends DirContextAdapter 
[javac]        ^
[javac] C:\jfworkspace\Kika\src\com\acesis\security\ldap\PasswordPolicyDirContextAdapter.java:27: warning: search(javax.naming.Name,java.lang.String,java.lang.Object[],javax.naming.directory.SearchControls) in org.springframework.ldap.core.DirContextAdapter implements search(javax.naming.Name,java.lang.String,java.lang.Object[],javax.naming.directory.SearchControls) in javax.naming.directory.DirContext; return type requires unchecked conversion
[javac] found   : javax.naming.NamingEnumeration
[javac] required: javax.naming.NamingEnumeration<javax.naming.directory.SearchResult>
[javac] public class PasswordPolicyDirContextAdapter extends DirContextAdapter 
[javac]        ^
[javac] C:\jfworkspace\Kika\src\com\acesis\security\ldap\PasswordPolicyDirContextAdapter.java:27: warning: search(java.lang.String,java.lang.String,javax.naming.directory.SearchControls) in org.springframework.ldap.core.DirContextAdapter implements search(java.lang.String,java.lang.String,javax.naming.directory.SearchControls) in javax.naming.directory.DirContext; return type requires unchecked conversion
[javac] found   : javax.naming.NamingEnumeration
[javac] required: javax.naming.NamingEnumeration<javax.naming.directory.SearchResult>
[javac] public class PasswordPolicyDirContextAdapter extends DirContextAdapter 
[javac]        ^
[javac] C:\jfworkspace\Kika\src\com\acesis\security\ldap\PasswordPolicyDirContextAdapter.java:27: warning: search(javax.naming.Name,java.lang.String,javax.naming.directory.SearchControls) in org.springframework.ldap.core.DirContextAdapter implements search(javax.naming.Name,java.lang.String,javax.naming.directory.SearchControls) in javax.naming.directory.DirContext; return type requires unchecked conversion
[javac] found   : javax.naming.NamingEnumeration
[javac] required: javax.naming.NamingEnumeration<javax.naming.directory.SearchResult>
[javac] public class PasswordPolicyDirContextAdapter extends DirContextAdapter 
[javac]        ^
[javac] C:\jfworkspace\Kika\src\com\acesis\security\ldap\PasswordPolicyDirContextAdapter.java:27: warning: search(java.lang.String,javax.naming.directory.Attributes) in org.springframework.ldap.core.DirContextAdapter implements search(java.lang.String,javax.naming.directory.Attributes) in javax.naming.directory.DirContext; return type requires unchecked conversion
[javac] found   : javax.naming.NamingEnumeration
[javac] required: javax.naming.NamingEnumeration<javax.naming.directory.SearchResult>
[javac] public class PasswordPolicyDirContextAdapter extends DirContextAdapter 
[javac]        ^
[javac] C:\jfworkspace\Kika\src\com\acesis\security\ldap\PasswordPolicyDirContextAdapter.java:27: warning: search(javax.naming.Name,javax.naming.directory.Attributes) in org.springframework.ldap.core.DirContextAdapter implements search(javax.naming.Name,javax.naming.directory.Attributes) in javax.naming.directory.DirContext; return type requires unchecked conversion
[javac] found   : javax.naming.NamingEnumeration
[javac] required: javax.naming.NamingEnumeration<javax.naming.directory.SearchResult>
[javac] public class PasswordPolicyDirContextAdapter extends DirContextAdapter 
[javac]        ^
[javac] C:\jfworkspace\Kika\src\com\acesis\security\ldap\PasswordPolicyDirContextAdapter.java:27: warning: search(java.lang.String,javax.naming.directory.Attributes,java.lang.String[]) in org.springframework.ldap.core.DirContextAdapter implements search(java.lang.String,javax.naming.directory.Attributes,java.lang.String[]) in javax.naming.directory.DirContext; return type requires unchecked conversion
[javac] found   : javax.naming.NamingEnumeration
[javac] required: javax.naming.NamingEnumeration<javax.naming.directory.SearchResult>
[javac] public class PasswordPolicyDirContextAdapter extends DirContextAdapter 
[javac]        ^
[javac] C:\jfworkspace\Kika\src\com\acesis\security\ldap\PasswordPolicyDirContextAdapter.java:27: warning: search(javax.naming.Name,javax.naming.directory.Attributes,java.lang.String[]) in org.springframework.ldap.core.DirContextAdapter implements search(javax.naming.Name,javax.naming.directory.Attributes,java.lang.String[]) in javax.naming.directory.DirContext; return type requires unchecked conversion
[javac] found   : javax.naming.NamingEnumeration
[javac] required: javax.naming.NamingEnumeration<javax.naming.directory.SearchResult>
[javac] public class PasswordPolicyDirContextAdapter extends DirContextAdapter 
[javac]        ^
[javac] C:\jfworkspace\Kika\src\com\acesis\security\ldap\PasswordPolicyDirContextAdapter.java:27: warning: listBindings(java.lang.String) in org.springframework.ldap.core.DirContextAdapter implements listBindings(java.lang.String) in javax.naming.Context; return type requires unchecked conversion
[javac] found   : javax.naming.NamingEnumeration
[javac] required: javax.naming.NamingEnumeration<javax.naming.Binding>
[javac] public class PasswordPolicyDirContextAdapter extends DirContextAdapter 
[javac]        ^
[javac] C:\jfworkspace\Kika\src\com\acesis\security\ldap\PasswordPolicyDirContextAdapter.java:27: warning: listBindings(javax.naming.Name) in org.springframework.ldap.core.DirContextAdapter implements listBindings(javax.naming.Name) in javax.naming.Context; return type requires unchecked conversion
[javac] found   : javax.naming.NamingEnumeration
[javac] required: javax.naming.NamingEnumeration<javax.naming.Binding>
[javac] public class PasswordPolicyDirContextAdapter extends DirContextAdapter 
[javac]        ^
[javac] C:\jfworkspace\Kika\src\com\acesis\security\ldap\PasswordPolicyDirContextAdapter.java:27: warning: list(java.lang.String) in org.springframework.ldap.core.DirContextAdapter implements list(java.lang.String) in javax.naming.Context; return type requires unchecked conversion
[javac] found   : javax.naming.NamingEnumeration
[javac] required: javax.naming.NamingEnumeration<javax.naming.NameClassPair>
[javac] public class PasswordPolicyDirContextAdapter extends DirContextAdapter 
[javac]        ^
[javac] C:\jfworkspace\Kika\src\com\acesis\security\ldap\PasswordPolicyDirContextAdapter.java:27: warning: list(javax.naming.Name) in org.springframework.ldap.core.DirContextAdapter implements list(javax.naming.Name) in javax.naming.Context; return type requires unchecked conversion
[javac] found   : javax.naming.NamingEnumeration
[javac] required: javax.naming.NamingEnumeration<javax.naming.NameClassPair>
[javac] public class PasswordPolicyDirContextAdapter extends DirContextAdapter 
[javac]        ^
[javac] C:\jfworkspace\Kika\src\com\acesis\security\ldap\PasswordPolicyUserDetailsImpl.java:34: warning: [deprecation] getAttributes() in org.springframework.security.userdetails.ldap.LdapUserDetails has been deprecated
[javac] public class PasswordPolicyUserDetailsImpl extends LdapUserDetailsImpl {
[javac]        ^
rwinch commented 16 years ago

["Mattias Hellborg Arthursson":https://jira.spring.io/secure/ViewProfile.jspa?name=marthursson] said:

The source and target of Spring LDAP core is Java 1.4.x, so adding the @SuppressWarnings@ on the root @DirContextAdapter@ class won't work. How about addning the @SuppressWarnings@ on your subclass instead?

Starting with Spring Framework 3.0, Spring and its sub projects will migrate from supporting Java 1.4 and move to Java 5 support. I would suspect that in that time frame this will be addressed.

rwinch commented 11 years ago

Mattias Hellborg Arthursson said:

Whenever we upgrade to Java 5 for the whole framework, this will definitely be addressed. Until then however, there is no way we can add the annotations in the code, since we're still at 1.4.