<div dir="ltr">You can use the "resolveType" method to resolve the FQN:<div><br></div><div><pre style="background-color:rgb(43,43,43);color:rgb(174,181,189);font-family:"Fira Code Retina";font-size:12pt"><span style="color:rgb(169,183,198)">JavaClassSource source </span>= <span style="color:rgb(169,183,198)">Roaster<br></span><span style="color:rgb(169,183,198)"> </span>.<span style="font-style:italic">parse</span>(<span style="color:rgb(169,183,198)">JavaClassSource</span>.<span style="color:rgb(89,124,194)">class</span><span style="color:rgb(92,122,184)">,<br></span><span style="color:rgb(92,122,184)"> </span><span style="color:rgb(128,125,110);font-weight:bold">"import foo.bar.Talk;"<br></span><span style="color:rgb(128,125,110);font-weight:bold"> </span>+ <span style="color:rgb(128,125,110);font-weight:bold">""<br></span><span style="color:rgb(128,125,110);font-weight:bold"> </span>+ <span style="color:rgb(128,125,110);font-weight:bold">"public class TalkService extends CrudService<Talk, Long> {}"</span>)<span style="color:rgb(92,122,184)">;<br></span><span style="color:rgb(92,122,184)"><br></span><span style="color:rgb(169,183,198)">String superType </span>= <span style="color:rgb(169,183,198)">source</span>.getSuperType()<span style="color:rgb(92,122,184)">;<br></span><span style="color:rgb(169,183,198)">String firstType </span>= <span style="color:rgb(169,183,198)">Types</span>.<span style="font-style:italic">splitGenerics</span>(<span style="color:rgb(169,183,198)">superType</span>)[<span style="color:rgb(38,125,255)">0</span>]<span style="color:rgb(92,122,184)">;<br></span><span style="color:rgb(169,183,198)">String resolvedType </span>= <span style="color:rgb(169,183,198)">source</span>.resolveType(<span style="color:rgb(169,183,198)">firstType</span>)<span style="color:rgb(92,122,184)">;<br></span><span style="color:rgb(169,183,198)">System</span>.<span style="color:rgb(130,142,186);font-style:italic">out</span>.println(<span style="color:rgb(169,183,198)">resolvedType</span>)<span style="color:rgb(92,122,184)">;// Returns "foo.bar.Talk"</span></pre><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Best Regards, <div><div dir="ltr"><div dir="ltr"><p style="font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:uppercase"><span></span></p><p style="font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:uppercase"><span><br></span></p><div><p style="font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:uppercase"><span>George</span> <span>Gastaldi</span></p>
<p style="font-weight:normal;font-size:10px;margin:0px 0px 4px;text-transform:uppercase"><span>Principal Software Engineer</span></p>
<p style="font-weight:normal;margin:0px;font-size:10px;color:rgb(153,153,153)"><span style="margin:0px;padding:0px"><a style="color:rgb(0,136,206);margin:0px;font-family:overpass,sans-serif" href="mailto:ggastald@redhat.com" target="_blank">ggastald@redhat.com</a> </span>
M: <a href="tel:+55-47-99711-1000" style="color:rgb(0,136,206);font-size:11px;margin:0px;font-family:overpass,sans-serif" target="_blank">+55-47-99711-1000</a><br></p>
<table border="0"><tbody><tr><td width="100px"><a href="https://red.ht/sig" target="_blank"> <img src="https://www.redhat.com/files/brand/email/sig-redhat.png" height="auto" width="90"></a> </td>
<td style="font-weight:normal;font-size:10px">
<div><a href="https://redhat.com/trusted" style="text-decoration:none;color:rgb(204,0,0);font-weight:bold" target="_blank">TRIED. TESTED. TRUSTED.</a></div>
</td></tr></tbody></table></div></div></div></div></div></div></div></div></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Mar 9, 2019 at 5:01 PM Rafael Pestano <<a href="mailto:rmpestano@gmail.com">rmpestano@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi guys,<div><br></div><div>I have the following class:</div><div><br></div><div>public class TalkService extends CrudService<Talk, Long> ...<br></div><div><br></div><div><br></div><div>and I need to get the JavaClassSource of the first superClass type argment (Talk).</div><div> </div><div>The only way I've found was to get the type argument name and then find the entity by looking at the imports but I wonder if there's a simpler way:</div><div><br></div><div>JavaClassSource service = Roaster.parse....<br></div><div>String entityName = service.getSuperType().substring(service.getSuperType().indexOf("<")+1,service.getSuperType().indexOf(","));<br></div><div><br></div><div><div>Optional<Import> entityImport = service.getImports().stream().filter(i -> i.getQualifiedName().endsWith(entityName))</div><div> .findFirst();</div></div><div><br></div><div> String entityQualifiedName = entityImport.get().getQualifiedName();<br></div><div> String sourceFolder = sourceFacet.getSourceDirectory().getFullyQualifiedName();<br></div><div><br></div><div><div> JavaClassSource entity = Roaster.parse(JavaClassSource.class, new File(sourceFolder + "/" + entityQualifiedName.replace(".", "/") + ".java"));</div></div><div><br></div><div><br></div><div><br></div><div><br></div><div> </div></div>-- <br><div dir="ltr" class="gmail-m_1839299927408727356gmail_signature"><div dir="ltr"><div dir="ltr" style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px"><font color="#c0c0c0">Att,</font></div><div dir="ltr" style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px"><font color="#c0c0c0"><br></font></div><div dir="ltr" style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px"><font color="#c0c0c0">Rafael M. Pestano</font></div><div dir="ltr" style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px"><font color="#c0c0c0"><br></font></div><div dir="ltr" style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px"><font color="#c0c0c0">Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul</font></div><div dir="ltr" style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px"><font color="#c0c0c0"><a href="http://rpestano.wordpress.com/" target="_blank">http://rpestano.wordpress.com/</a></font></div><div dir="ltr" style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px"><font color="#c0c0c0">@realpestano</font></div></div></div>
_______________________________________________<br>
forge-users mailing list<br>
<a href="mailto:forge-users@lists.jboss.org" target="_blank">forge-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/forge-users" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-users</a></blockquote></div>