留言板

UnSupported Operation Exception

thumbnail
devi nimmagadda,修改在12 年前。

UnSupported Operation Exception

Regular Member 帖子: 109 加入日期: 10-12-9 最近的帖子
Hi all,

can anybody know about this exception.

I am adding search capability to my portlet , I am getting exception in my indexer class . The code I have written in SampleIndexer.java is :

protected Document doGetDocument(Object obj) throws Exception {

System.out.println("doGetDocument calling in SampleIndexer class ");

SampleEntry entry = (SampleEntry)obj;

long sampleId = entry.getSampleId();

String sampleName = entry.getSampleName();

String sampleLoc = entry.getSampleLoc();

String sampleType = entry.getSampleType();

Date modifiedDate = entry.getModifiedDate();


System.out.println("SampleEntry obj primary key = -----");

ExpandoBridge expandoBridge = entry.getExpandoBridge();

System.out.println("creating Document here --------");
Document document = new DocumentImpl();

document.addUID(PORTLET_ID, sampleId);

document.addModifiedDate(modifiedDate);

document.addKeyword(Field.PORTLET_ID, PORTLET_ID);
document.addText(Field.USER_NAME, sampleName);
document.addText(Field.TITLE, sampleLoc);
document.addText(Field.CONTENT, sampleType);
document.addKeyword(Field.ENTRY_CLASS_NAME, SampleEntry.class.getName());
document.addKeyword(Field.ENTRY_CLASS_PK, sampleId);

ExpandoBridgeIndexerUtil.addAttributes(document, expandoBridge);
System.out.println("document == "+document);
return document;
}

But I am getting exception when getExpandoBridge() calling.

Exception stack trace is :


document creation here
doGetDocument calling in SampleIndexer class
SampleEntry obj primary key = -----
com.liferay.portal.kernel.search.SearchException: java.lang.UnsupportedOperationException
at com.liferay.portal.kernel.search.BaseIndexer.getDocument(BaseIndexer.java:61)
at com.ext.portlet.sample.util.SampleIndexer.doReindex(SampleIndexer.java:126)
at com.liferay.portal.kernel.search.BaseIndexer.reindex(BaseIndexer.java:71)
at com.ext.portlet.sample.service.impl.SampleEntryLocalServiceImpl.addIndex(SampleEntryLocalServiceImpl.java:49)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
thumbnail
Brian Scott Schupbach,修改在11 年前。

RE: UnSupported Operation Exception

Expert 帖子: 329 加入日期: 08-10-23 最近的帖子
Hello,

I'm getting the exact same error. If you could let me know how you corrected your issue, I would greatly appreciate it.

Thanks,

Brian
thumbnail
Sandeep Nair,修改在11 年前。

RE: UnSupported Operation Exception

Liferay Legend 帖子: 1744 加入日期: 08-11-6 最近的帖子
Hi,

Can you try the following to get ExpandoBridge

ExpandoBridge expandoBridge =
				ExpandoBridgeFactoryUtil.getExpandoBridge(
					companyId, SampleEntry.class.getName(),
					classPK);
thumbnail
Brian Scott Schupbach,修改在11 年前。

RE: UnSupported Operation Exception

Expert 帖子: 329 加入日期: 08-10-23 最近的帖子
Thanks, Sandeep... but no luck.

I still get the exception. I actually was able to avoid the exception if I add the below method in my BaseModelImpl. However, although it doesn't throw an exception, my custom asset still does not show up in search...

@Override
public ExpandoBridge getExpandoBridge(){

//I added this to return null because it was throwing an exception without it.

return null;
}