Foren

Email notification to Administrator while User creation

sasi Kanth, geändert vor 14 Jahren.

Email notification to Administrator while User creation

Junior Member Beiträge: 35 Beitrittsdatum: 01.07.09 Neueste Beiträge
An email notification has to be delivered to Administrator when a new user is registered from Create
Account.

To achieve this we have written a Model Listener Hook on User model and the code implemented in the OnAfterCreate.


In the Liferay 5.2.3, I have got following error message and distructing the protlet

[jsp:165] java.lang.UnsupportedOperationException : Not supported yet.
at EmailHookAction.onBeforeCreate(EmailHookAction.java:90)



Please help on this, i did not understand what is that UnsupportedOperationException and it is showing the error at "onBeforeCreate" method itself
sasi Kanth, geändert vor 14 Jahren.

RE: Email notification to Administrator while User creation

Junior Member Beiträge: 35 Beitrittsdatum: 01.07.09 Neueste Beiträge
Please give some solution or do u require more explanation on this.


Reply mee

Thanks

Rgds
thumbnail
Tomas Polesovsky, geändert vor 14 Jahren.

RE: Email notification to Administrator while User creation

Liferay Master Beiträge: 676 Beitrittsdatum: 13.02.09 Neueste Beiträge
Hi,

does your EmailHookAction extends BaseModelListener or you've just implemented ModelListener?

If you've just implemented ModelListener, all your methods, that you don't use, should be empty (like here: BaseModelListener.java).
sasi Kanth, geändert vor 14 Jahren.

RE: Email notification to Administrator while User creation

Junior Member Beiträge: 35 Beitrittsdatum: 01.07.09 Neueste Beiträge
I have implemented ModelListener only and left all the unused methods empty, still i am facing the same problem.


Could you please explain in detail or plz give some example.


Thanks

rgds
thumbnail
Tomas Polesovsky, geändert vor 14 Jahren.

RE: Email notification to Administrator while User creation

Liferay Master Beiträge: 676 Beitrittsdatum: 13.02.09 Neueste Beiträge
Hi,

could you show me your ModelListener implementation and post a bit longer error stacktrace, please?

-- tom
sasi Kanth, geändert vor 14 Jahren.

RE: Email notification to Administrator while User creation

Junior Member Beiträge: 35 Beitrittsdatum: 01.07.09 Neueste Beiträge
Sorry for the late reply

hook code is :

public class EmailHookAction implements ModelListener {

    public void onAfterCreate(BaseModel model) throws ModelListenerException {
        //Add your implementation here
        com.liferay.portal.model.User mdlObj 
                = (com.liferay.portal.model.User) model;
        try
        {
              InternetAddress  from = new InternetAddress("xxxxxx");
              InternetAddress  to = new InternetAddress("xxxxxx");
              String subject = "Creation of new account ";
              String mess;
              mess = "User Registered\n";
              mess = mess + "Email ID : "+mdlObj.getEmailAddress();
              MailMessage mailMessage = new MailMessage(from, to, subject,mess,true);
              MailServiceUtil.sendEmail(mailMessage);
        }
        catch(Exception e )
        {
            System.out.println(e);
        }
      
     System.out.println("email notification after registration");
    }

    public void onAfterAddAssociation(Object arg0, String arg1, Object arg2) throws ModelListenerException {
        //Add your implementation here      
    }

    public void onAfterRemove(BaseModel model) throws ModelListenerException {
        //Add your implementation here      
    }

    public void onAfterRemoveAssociation(Object arg0, String arg1, Object arg2) throws ModelListenerException {
        //Add your implementation here     
    }

    public void onAfterUpdate(BaseModel model) throws ModelListenerException {
        //Add your implementation here      
    }

    public void onBeforeAddAssociation(Object arg0, String arg1, Object arg2) throws ModelListenerException {
        //Add your implementation here      
    }

    public void onBeforeCreate(BaseModel model) throws ModelListenerException {
        //Add your implementation here      
    }

    public void onBeforeRemove(BaseModel model) throws ModelListenerException {
        //Add your implementation here
      }

    public void onBeforeRemoveAssociation(Object arg0, String arg1, Object arg2) throws ModelListenerException {
        //Add your implementation here
     }

    public void onBeforeUpdate(BaseModel model) throws ModelListenerException {
        //Add your implementation here
     }

    public void onAfterCreate(Object arg0) throws ModelListenerException {
        throw new UnsupportedOperationException("Not supported yet.mmmmm");
    }

    public void onAfterRemove(Object arg0) throws ModelListenerException {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void onAfterUpdate(Object arg0) throws ModelListenerException {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void onBeforeCreate(Object arg0) throws ModelListenerException {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void onBeforeRemove(Object arg0) throws ModelListenerException {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void onBeforeUpdate(Object arg0) throws ModelListenerException {
    throw new UnsupportedOperationException("Not supported yet.");
    }


The error message is

10:24:55,640 ERROR [jsp:165] java.lang.UnsupportedOperationException: Not supported yet.
        at EmailHookAction.onBeforeCreate(EmailHookAction.java:105)
        at com.liferay.portal.model.InvokerModelListener.onBeforeCreate(InvokerModelListener.java:155)
        at com.liferay.portal.service.persistence.UserPersistenceImpl.update(UserPersistenceImpl.java:434)
        at com.liferay.portal.service.impl.UserLocalServiceImpl.addUser(UserLocalServiceImpl.java:335)
        at com.liferay.portal.service.impl.UserServiceImpl.addUser(UserServiceImpl.java:186)
        at com.liferay.portal.service.UserServiceUtil.addUser(UserServiceUtil.java:92)
        at com.liferay.portlet.login.action.CreateAccountAction.addUser(CreateAccountAction.java:229)
        at com.liferay.portlet.login.action.CreateAccountAction.processAction(CreateAccountAction.java:95)
        at com.liferay.portal.struts.PortletRequestProcessor.process(PortletRequestProcessor.java:180)
        at com.liferay.portlet.StrutsPortlet.processAction(StrutsPortlet.java:197)
        at com.sun.portal.portletcontainer.appengine.filter.FilterChainImpl.doFilter(FilterChainImpl.java:98)
        at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:57)
        at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:632)
        at com.liferay.portlet.InvokerPortletImpl.invokeAction(InvokerPortletImpl.java:664)
        at com.liferay.portlet.InvokerPortletImpl.processAction(InvokerPortletImpl.java:359)
        at com.liferay.portal.action.LayoutAction.processPortletRequest(LayoutAction.java:604)
        at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:428)
        at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:195)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)


Please analyse and help me.

Thank you
Dmitry Babain, geändert vor 14 Jahren.

RE: Email notification to Administrator while User creation

Regular Member Beiträge: 238 Beitrittsdatum: 23.11.08 Neueste Beiträge
this can be caused by registering duplicate hooks, for example, your previous version actually was throwing this "unsupported" exception, you created and deployed new version, but deploy was broken. It happens sometimes.

Or - may be, but why not - you should simply remove all those (Object arg0) methods. They are obviously not needed anyway
sasi Kanth, geändert vor 14 Jahren.

RE: Email notification to Administrator while User creation

Junior Member Beiträge: 35 Beitrittsdatum: 01.07.09 Neueste Beiträge
Dmitry Babain:
this can be caused by registering duplicate hooks, for example, your previous version actually was throwing this "unsupported" exception, you created and deployed new version, but deploy was broken. It happens sometimes.

Or - may be, but why not - you should simply remove all those (Object arg0) methods. They are obviously not needed anyway



As the class is abstract class in 5.2.3 so i cant remove the methods.

Thanks

Sasikath
thumbnail
Tomas Polesovsky, geändert vor 14 Jahren.

RE: Email notification to Administrator while User creation

Liferay Master Beiträge: 676 Beitrittsdatum: 13.02.09 Neueste Beiträge
Hi, sorry for delay.

Question: why do you have multiple definitions of the onBeforeCreate method?

46    public void onBeforeCreate(BaseModel model) throws ModelListenerException {
47        //Add your implementation here      
48    }


74  public void onBeforeCreate(Object arg0) throws ModelListenerException {
75        throw new UnsupportedOperationException("Not supported yet.");
76    }


I think you should have only one.

-- tom
atul patel, geändert vor 14 Jahren.

RE: Email notification to Administrator while User creation

Regular Member Beiträge: 192 Beitrittsdatum: 18.11.06 Neueste Beiträge
I just noticed this posting from some time ago.

To save someone some headaches that reads this thread... Don't throw an UnsupportedException for methods you don't implement.

Just leave them empty.