[
http://jira.codehaus.org/browse/QDOX-205?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=212843#action_212843
]
Robert Scholte commented on QDOX-205:
-------------------------------------
The actualArgumentTypes are used to build the genericValue, as String
representing of this Type. I haven't thought of a reason to expose these types,
but if it's required I'm willing to do so.
I guess I should try to follow the java-api and just use the methodname used
with
[ParameterizedType|http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/ParameterizedType.html
]
I think after that you'll have all the access required, right?
> Broken inheritance hierarchy when using generic parent class
> ------------------------------------------------------------
>
> Key: QDOX-205
> URL: http://jira.codehaus.org/browse/QDOX-205
> Project: QDox
> Issue Type: Bug
> Affects Versions: 1.10.1
> Reporter: Lukasz Dywicki
>
> I have two classes where first (GenericControllerImpl) is some generic
> purpose controller with common CRUD methods. Second class
> (GroupControllerImpl) extends parent to add some REST methods.
> With QDox I can't resolve type variables from GenericControllerImpl.
> JavaClass returned after parsing GroupControllerImpl also has no parent class.
> Code
> {code:lang=java|title=Test code}
> JavaDocBuilder builder = new JavaDocBuilder();
> JavaSource source = builder.addSource(new
> File("GroupControllerImpl.java"));
> System.out.println(source.getClasses()[0].getParentClass());
> source = builder.addSource(new File("GenericControllerImpl.java"));
>
> System.out.println(source.getClasses()[0].getImplementedInterfaces()[0].asType());
> {code}
> Classes looks next:
> {code:lang=java|title=GroupControllerImpl}
> package org.code_house.web;
> import org.code_house.dataaccess.GroupDAO;
> import org.code_house.domain.Group;
> import org.springframework.beans.factory.annotation.Autowired;
> import org.springframework.web.bind.annotation.ModelAttribute;
> import org.springframework.web.bind.annotation.RequestMapping;
> public class GroupControllerImpl extends
> GenericControllerImpl<Group, Long, GroupDAO> {
> @Autowired
> public void setUserDao(GroupDAO dao) {
> this.dao = dao;
> }
> @RequestMapping("/x")
> @ModelAttribute("test")
> public Boolean doSomething() {
> return null;
> }
> }
> {code}
> {code:lang=java|title=GenericControllerImpl.java}
> package org.code_house.web;
> import java.util.List;
> import org.code_house.dataaccess.GenericDAO;
> import org.springframework.beans.factory.InitializingBean;
> import org.springframework.util.Assert;
> import org.springframework.web.bind.annotation.PathVariable;
> import org.springframework.web.bind.annotation.RequestBody;
> import org.springframework.web.bind.annotation.RequestMapping;
> public abstract class GenericControllerImpl<T, K, D extends GenericDAO<T, K>>
> implements GenericController<T, K>, InitializingBean {
> protected D dao;
> @RequestMapping
> public T create(@RequestBody T object) {
> dao.create(object);
> return object;
> }
> @RequestMapping
> public Boolean update(@PathVariable K id, @RequestBody T object) {
> dao.update(object);
> return true;
> }
> @RequestMapping
> public T read(@PathVariable K id) {
> return dao.readById(id);
> }
> @RequestMapping
> public Boolean remove(@PathVariable K id) {
> return dao.deleteById(id);
> }
> @RequestMapping
> public List<T> getAllRecords() {
> return dao.getAll();
> }
> public void afterPropertiesSet() {
> Assert.notNull(dao);
> }
> }
> {code}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email