フォーラム

ホーム » Liferay Portal » English » 3. Development

構造的に表示 平面上に表示 ツリー上に表示
スレッド [ 前へ | 次へ ]
toggle
Rishi Dev Gupta
Customize CMIS for D and M portlet
2012/11/06 23:04
答え

Rishi Dev Gupta

ランク: Expert

投稿: 255

参加年月日: 2008/11/23

最近の投稿

Hi

I am working with LFR 6.1.1 GA2.

I want to customize the CMIS repository code that comes with portal and it as another repository. This can be done via adding my custom class as comma separated value like below
1dl.repository.impl=com.liferay.portal.repository.cmis.CMISAtomPubRepository,com.liferay.portal.repository.cmis.CMISWebServicesRepository,com.portal.repository.cmis.MyCMISAtomPubRepository


For this I have created a new hook and added the implementation of my custom class MyCMISAtomPubRepository. The compilation is with no errors.
Now after the successful deployment when i click on "Add repository" option under Document and Media portlet, i get an error like below

 1
 2Nov 7, 2012 12:20:31 PM org.apache.catalina.core.ApplicationDispatcher invoke
 3SEVERE: Servlet.service() for servlet jsp threw exception
 4java.lang.ClassNotFoundException: com.liferay.portal.repository.cmis.CMISAtomPubRepository
 5        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
 6        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
 7        at com.liferay.portal.kernel.util.InstanceFactory.newInstance(InstanceFactory.java:52)
 8        at com.liferay.portal.kernel.util.InstanceFactory.newInstance(InstanceFactory.java:27)
 9        at com.liferay.portal.kernel.util.ProxyFactory.newInstance(ProxyFactory.java:38)
10        at com.liferay.portal.kernel.util.ProxyFactory.newInstance(ProxyFactory.java:29)
11        at com.liferay.portal.repository.util.RepositoryFactoryImpl.getInstance(RepositoryFactoryImpl.java:42)
12
13        at com.liferay.portal.repository.util.RepositoryFactoryUtil.getInstance(RepositoryFactoryUtil.java:38)
14
15        at com.liferay.portal.service.impl.RepositoryServiceImpl.getSupportedConfigurations(RepositoryServiceI
16mpl.java:146)
17        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
18        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)


Which clearly states that the class com.liferay.portal.repository.cmis.CMISAtomPubRepository is not available to the hook, The class is in portal-impl.jar . I am not sure why this is happening because I check the schema for hook plugins and dl.repository.impl property is customizable in hook.

Although I can easily do this with ext plugins, but i do not want to directly jump onto ext as it has its certain limitation with multiple ext plugins.
Can you please tell me what i am doing wrong here with hook?
Mika Koivisto
RE: Customize CMIS for D and M portlet
2012/11/19 16:18
答え

Mika Koivisto

LIFERAY STAFF

ランク: Liferay Legend

投稿: 1501

参加年月日: 2006/08/07

最近の投稿

You can new repository implementations from hook but don't include the original values in it as the hook deployer will automatically append your hook into the list of all repository implementations. When you specify it like that it expects the CMISAtomPubRepository class to be found inside your hook plugin.