HibernateUserImpl cannot be cast to org.jboss.portal.identit
mars76 Sep 7, 2009 2:55 AMHi All,
I am trying to get the User Object from the User Module and i am getting the following exception:
java.lang.ClassCastException: org.jboss.portal.identity.db.HibernateUserImpl cannot be cast to org.jboss.portal.identity.User at $Proxy289.findUserByUserName(Unknown Source) at test.portlet.ChangePasswordPortlet.getUser(ChangePasswordPortlet.java) at test.portlet.ChangePasswordPortlet.isValidCurrentPassword(ChangePasswordPortlet.java) at test.portlet.ChangePasswordPortlet.checkInputValdiity(ChangePasswordPortlet.java) at test.portlet.ChangePasswordPortlet.doView(ChangePasswordPortlet.java:) at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:328) at javax.portlet.GenericPortlet.render(GenericPortlet.java:233)
The code i have is:
private UserModule getUserModule()
{
UserModule userModule = (UserModule) getPortletContext().getAttribute("UserModule");
if(userModule==null)
{
try
{
userModule = (UserModule)new InitialContext().lookup("java:portal/UserModule");
}
catch(NamingException ne)
{
ne.printStackTrace();
}
}
return userModule;
}
private User getUser(RenderRequest request)
{
User user = null;
try
{
UserModule userModule = getUserModule();
String userName = getUserName(request);
if(userModule!=null)
{
user =userModule.findUserByUserName(userName);
}
}
catch (IllegalArgumentException e)
{
e.printStackTrace();
}
catch (NoSuchUserException e)
{
e.printStackTrace();
}
catch (IdentityException e)
{
e.printStackTrace();
}
return user;
}
private String getUserName(RenderRequest request) {
String userName = request.getRemoteUser();
if(userName==null && request.getUserPrincipal()!=null)
{
userName = request.getUserPrincipal().getName();
}
return userName;
}
And in jboss-portlet.xml i have specified the required services..
<portlet-app> <portlet> <portlet-name>ChangePasswordPortlet</portlet-name> <transaction> <trans-attribute>Required</trans-attribute> </transaction> </portlet> <service> <service-name>UserModule</service-name> <service-class>org.jboss.portal.identity.UserModule</service-class> <service-ref>:service=Module,type=User</service-ref> </service> <service> <service-name>UserProfileModule</service-name> <service-class>org.jboss.portal.identity.UserProfileModule</service-class> <service-ref>:service=Module,type=UserProfile</service-ref> </service>
Pls let me know why i am getting this strange exception as HibenrateUserImpl implemets the Interface User !!!!!
mars