我正在尝试使用以下代码为Liferay公告portlet创建一个钩子:
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] ^
我有一种感觉,我错过了扩展部分的内容,但我无法弄清楚是什么
我正在使用Liferay 6.0.5
有人有任何想法吗?
答案 0 :(得分:1)
* LocalServiceBaseImpl不可用于任何钩子,因为它是实现的一部分。相反,你想要的是从* Wrapper继承。有关如何操作,请参阅documentation for overriding a service。这也包含一些推理和解释,在您的实现加载的类加载器中可以使用的是什么。