Lincoln,<div><br></div><div>I created yesterday something simple</div><div><div> </div><div> public void visitSources(JavaSourceFacet facet, ClassVisitor visitor) {</div><div> visitSources(facet.getSourceFolder(), visitor);</div>
<div> }</div></div><div><br></div><div><div> public void visitSources(Resource<?> searchFolder, final JavaResourceVisitor visitor ) {</div><div> if (searchFolder instanceof DirectoryResource) {</div><div>
</div><div> searchFolder.listResources(new ResourceFilter() {</div><div> @Override</div><div> public boolean accept(Resource<?> resource) {</div><div> if (resource instanceof DirectoryResource) {</div>
<div> visitSources(resource, visitor);</div><div> }</div><div> if (resource instanceof JavaResource) {</div><div> visitor.visit((JavaResource) resource);</div>
<div> }</div><div><br></div><div> return false;</div><div> }</div><div> }); </div><div> }</div><div> }</div><div><br></div><div><div>public interface
JavaResourceVisitor {</div><div> </div><div> void visit(JavaResource javaResource);</div><div>}</div></div><div><br></div><div><br></div>Regards</div><div>Rudy</div><div><br><div class="gmail_quote">On 1 February 2012 21:35, Lincoln Baxter, III <span dir="ltr"><<a href="mailto:lincolnbaxter@gmail.com">lincolnbaxter@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Perhaps also a recursive flag.<div class="HOEnZb"><div class="h5"><br><br><div class="gmail_quote">On Wed, Feb 1, 2012 at 3:35 PM, Lincoln Baxter, III <span dir="ltr"><<a href="mailto:lincolnbaxter@gmail.com" target="_blank">lincolnbaxter@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">(Switching to Dev List)<br><br>Hey Rudy,<br><br>Awesome! I figure adding a new set of methods in the JavaSourceFacet would do the trick... something like this:<br>
<br><blockquote style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">
JavaSourceFacet java = project.getFacet(JavaSourceFacet.class);<br>
<br>
java.visitSources("com.base.package", new JavaSourceVisitor() {...});<br>
java.visitTestSourceTree("com.base.package", new JavaSourceVisitor() {...});<br><br>java.visitSources(new JavaSourceVisitor() {<br> public void visit(VisitContext context, JavaSource source) { <br><br> // to end the visit after this method returns, call this method<br>
</blockquote><blockquote style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"> context.visitComplete();<br><br> }<br>} );<br><br>
java.visitTestSources(new JavaSourceVisitor() {<br>
public void visit(VisitContext context, JavaSource source) {<br>
context.visitComplete();<br>
}<br>
} );<br></blockquote>
<br>Thoughts?<span><font color="#888888"><br>~Lincoln</font></span><div><div><br><br><br><br><div class="gmail_quote">On Wed, Feb 1, 2012 at 7:21 AM, Rudy De Busscher <span dir="ltr"><<a href="mailto:rdebusscher@gmail.com" target="_blank">rdebusscher@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I'll have try<span><font color="#888888"><div><br></div></font></span><div><span><font color="#888888">Rudy</font></span><div>
<div><br><br><div class="gmail_quote">On 31 January 2012 19:01, Lincoln Baxter, III <span dir="ltr"><<a href="mailto:lincolnbaxter@gmail.com" target="_blank">lincolnbaxter@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Rudy,<br><br>Source scanning is on the list of things to implement in the JavaSourceFacet, but unfortunately we don't have it yet. Actually, we could use some help with this feature. Is that something you'd be interested in creating, since you know what you need? <br>
<br><a href="https://issues.jboss.org/browse/FORGE-469" target="_blank">https://issues.jboss.org/browse/FORGE-469</a><br><br>There are methods called: javaClass.getSuperType() and getInterfaces() that you can use, though, but there just isn't any way to walk over all source files yet. Wouldn't be hard to implement!<br>
<br>~Lincoln<br><br><div class="gmail_quote"><div><div>On Tue, Jan 31, 2012 at 9:23 AM, Rudy De Busscher <span dir="ltr"><<a href="mailto:rdebusscher@gmail.com" target="_blank">rdebusscher@gmail.com</a>></span> wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>
Hi all,<div><br></div><div>For a plugin, I could use some functionality that scans the source directories and report me all the java classes that extend a certain class.</div><div><br></div><div>But I couldn't find anything for that in Forge.</div>
<div><br></div><div>Is there some way of getting the parent class ? (or do I have the 'parse' the source myself (find extend clause and see what come next))</div><div><br></div><div>Thx</div><div><br></div><div>Best regards<span><font color="#888888"><br clear="all">
<div><br></div>-- <br>Rudy De Busscher<br><a href="http://www.c4j.be" target="_blank">http://www.c4j.be</a><br><br>
</font></span></div>
<br></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" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-users</a><br>
<br></blockquote></div><span><font color="#888888"><br><br clear="all"><br>-- <br>Lincoln Baxter, III<br><a href="http://ocpsoft.com" target="_blank">http://ocpsoft.com</a><br><a href="http://scrumshark.com" target="_blank">http://scrumshark.com</a><br>
"Keep it Simple"<br>
</font></span><br>_______________________________________________<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" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-users</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Rudy De Busscher<br><a href="http://www.c4j.be" target="_blank">http://www.c4j.be</a><br><br>
</div></div></div>
<br>_______________________________________________<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" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-users</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Lincoln Baxter, III<br><a href="http://ocpsoft.com" target="_blank">http://ocpsoft.com</a><br><a href="http://scrumshark.com" target="_blank">http://scrumshark.com</a><br>
"Keep it Simple"<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Lincoln Baxter, III<br><a href="http://ocpsoft.com" target="_blank">http://ocpsoft.com</a><br><a href="http://scrumshark.com" target="_blank">http://scrumshark.com</a><br>
"Keep it Simple"<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Rudy De Busscher<br><a href="http://www.c4j.be" target="_blank">http://www.c4j.be</a><br><br>
</div>