Перехватчик портлета объявлений Liferay

Я пытаюсь сделать хук для портлета объявлений Liferay, используя следующий код:

package com.ahc.hook.service.impl;

import com.liferay.portlet.announcements.*;

public class MyAnnouncementsEntryLocalServiceImpl
    extends AnnouncementsEntryLocalServiceBaseImpl {

    protected void validate(String title, String content, String url) {

        if (Validator.isNull(title)) {
            throw new EntryTitleException();
        }

        if (Validator.isNull(content)) {
            throw new EntryContentException();
        }

        if ((url.length() > 0) && !Validator.isUrl(url)) {
            throw new EntryURLException();
        }
    }

}

но я продолжаю получать следующую ошибку:

[javac] Compiling 1 source file to /home/AHC/darryl.pinto/liferay/plugins/hooks/ahc-announcements-hook/docroot/WEB-INF/classes
[javac] /home/AHC/darryl.pinto/liferay/plugins/hooks/ahc-announcements-hook/docroot/WEB-INF/src/com/ahc/hook/service/impl/MyAnnouncementsEntryLocalServiceImpl.java:25: cannot find symbol
[javac] symbol: class AnnouncementsEntryLocalServiceBaseImpl extends AnnouncementsEntryLocalServiceBaseImpl {
[javac]               ^

У меня есть ощущение, что я что-то упустил в разделе расширений, но я не могу понять, что

Я использую Лайфрей 6.0.5

У кого-нибудь есть идеи?


person dazpinto    schedule 27.02.2012    source источник


Ответы (1)


*LocalServiceBaseImpl недоступен ни для одного хука, поскольку он является частью реализации. Вместо этого вам нужно наследовать от *Wrapper. См. документацию по переопределению службы. что делать. Это также содержит некоторые рассуждения и объяснения того, что доступно вам в загрузчике классов, в который загружена ваша реализация.

person Olaf Kock    schedule 28.02.2012