import org.apache.commons.io.FilenameUtils;\r
import org.apache.commons.lang.StringUtils;\r
import org.hibernate.mapping.Map;\r
+import org.springframework.beans.factory.annotation.Autowired;\r
import org.springframework.web.bind.WebDataBinder;\r
import org.springframework.web.bind.annotation.InitBinder;\r
import org.springframework.web.bind.annotation.PathVariable;\r
import eu.etaxonomy.cdm.api.service.pager.impl.DefaultPagerImpl;\r
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;\r
import eu.etaxonomy.cdm.model.common.CdmBase;\r
+import eu.etaxonomy.cdm.model.reference.INomenclaturalReference;\r
import eu.etaxonomy.cdm.remote.editor.UUIDPropertyEditor;\r
\r
/**\r
if(objectFromProperty != null){\r
\r
if( Collection.class.isAssignableFrom(objectFromProperty.getClass())){\r
- // Map types cannot be returend as list or in a pager!\r
+ // Map types cannot be returned as list or in a pager!\r
\r
Collection c = (Collection)objectFromProperty;\r
if(start != null){\r
modelAndView.addObject(sub_c);\r
\r
} else {\r
+ //FIXME use real paging mechanism of according service class instead of subCollection()\r
+ //FIXME use BaseListController.normalizeAndValidatePagerParameters(pageNumber, pageSize, response);\r
pageSize = (pageSize == null ? DEFAULT_PAGE_SIZE : pageSize);\r
pageNumber = (pageNumber == null ? 0 : pageNumber);\r
start = pageNumber * pageSize;\r
Object result = null; \r
try {\r
PropertyDescriptor propertyDescriptor = PropertyUtils.getPropertyDescriptor(instance, baseName);\r
+ if(propertyDescriptor == null){\r
+ throw new NoSuchMethodException("No such method: " + instance.getClass().getSimpleName() + ".get" + baseName);\r
+ }\r
Method method = propertyDescriptor.getReadMethod();\r
\r
Class<?> returnType = method.getReturnType();\r
\r
if(CdmBase.class.isAssignableFrom(returnType) \r
|| Collection.class.isAssignableFrom(returnType) \r
- || Map.class.isAssignableFrom(returnType)){\r
+ || Map.class.isAssignableFrom(returnType)\r
+ || INomenclaturalReference.class.isAssignableFrom(returnType)){\r
\r
result = method.invoke(instance, (Object[])null);\r
\r