2012-02-27 88 views
1

我尝试使用下面的代码,以便为Liferay的公告portlet中的钩: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]    ^

我有一种感觉我错过了延伸部分的东西,但我不知道什么

我使用的是Liferay 6.0.5

任何人有任何想法?

回答

1

* LocalServiceBaseImpl不可用于任何钩子,因为它是实现的一部分。相反,你想要的是从* Wrapper继承。请参阅documentation for overriding a service做什么。这也包含了一些推理和解释,你可以在类加载器中使用你的实现。