[forge-issues] [JBoss JIRA] (ROASTER-95) Roaster can't correctly handle Guava's ListMultimap

Richard Kosegi (JIRA) issues at jboss.org
Wed Mar 2 03:38:00 EST 2016


     [ https://issues.jboss.org/browse/ROASTER-95?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard Kosegi updated ROASTER-95:
----------------------------------
    Description: 
I tried to generate source of interface which should have single method:

{code:java}
com.google.common.collect.ListMultimap<java.lang.Integer,poc.test.Test3> getMap();

{code}


I used following code to achieve this:


{code:java}
JavaInterfaceSource ifSource = Roaster.create(JavaInterfaceSource.class);
ifSource.setPackage("poc.test.bug");
ifSource.addMethod().setReturnType("com.google.common.collect.ListMultimap<java.lang.Integer,poc.test.Test3>").setName("getMap");

System.out.println(ifSource.toString());

{code}


This code yields following output:

{code:java}
package poc.test.bug;

import com.google.common.collect.ListMultimap;
public interface JavaInterface {

	ListMultimap<Test3> getMap();
}


{code}
But it should be:

{code:java}
package poc.test.bug;

import com.google.common.collect.ListMultimap;
import poc.test.Test3;
public interface JavaInterface {

	ListMultimap<Integer, Test3> getMap();
}

{code}


Mentioned type "Test3" has following form:


{code:java}
package poc.test;

public class Test3 {

}
{code}


  was:
I tried to generate source of interface which should have single method:

{code:java}
com.google.common.collect.ListMultimap<java.lang.Integer,poc.test.Test3> getMap();

{code}


I used following code to achieve this:


{code:java}
JavaInterfaceSource ifSource = Roaster.create(JavaInterfaceSource.class);
ifSource.setPackage("poc.test.bug");
ifSource.addMethod().setReturnType("com.google.common.collect.ListMultimap<java.lang.Integer,poc.test.Test3>").setName("getMap");

System.out.println(ifSource.toString());

{code}


This code yields following output:

package poc.test.bug;


{code:java}
import com.google.common.collect.ListMultimap;
public interface JavaInterface {

	ListMultimap<Test3> getMap();
}


{code}
But it should be:

{code:java}
package poc.test.bug;

import com.google.common.collect.ListMultimap;
import poc.test.Test3;
public interface JavaInterface {

	ListMultimap<Integer, Test3> getMap();
}

{code}


Mentioned type "Test3" has following form:


{code:java}
package poc.test;

public class Test3 {

}
{code}




> Roaster can't correctly handle Guava's ListMultimap
> ---------------------------------------------------
>
>                 Key: ROASTER-95
>                 URL: https://issues.jboss.org/browse/ROASTER-95
>             Project: Roaster
>          Issue Type: Bug
>    Affects Versions: 2.18.2.Final
>            Reporter: Richard Kosegi
>
> I tried to generate source of interface which should have single method:
> {code:java}
> com.google.common.collect.ListMultimap<java.lang.Integer,poc.test.Test3> getMap();
> {code}
> I used following code to achieve this:
> {code:java}
> JavaInterfaceSource ifSource = Roaster.create(JavaInterfaceSource.class);
> ifSource.setPackage("poc.test.bug");
> ifSource.addMethod().setReturnType("com.google.common.collect.ListMultimap<java.lang.Integer,poc.test.Test3>").setName("getMap");
> System.out.println(ifSource.toString());
> {code}
> This code yields following output:
> {code:java}
> package poc.test.bug;
> import com.google.common.collect.ListMultimap;
> public interface JavaInterface {
> 	ListMultimap<Test3> getMap();
> }
> {code}
> But it should be:
> {code:java}
> package poc.test.bug;
> import com.google.common.collect.ListMultimap;
> import poc.test.Test3;
> public interface JavaInterface {
> 	ListMultimap<Integer, Test3> getMap();
> }
> {code}
> Mentioned type "Test3" has following form:
> {code:java}
> package poc.test;
> public class Test3 {
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the forge-issues mailing list