Actually, one more thing I could ask you to restore?

https://github.com/forge/core/blob/master/javaee-impl/src/main/java/org/jboss/forge/spec/javaee/rest/RestApplicationFacetImpl.java#L130

Notice how this visitor actually stops scanning classes once it finds what it is looking for:

https://github.com/forge/core/commit/854654f8c4b84aa211aab806b8f08d46c54d3e1b#diff-2

This would help performance if you can bring it forward!

Thanks,
Lincoln

On Mon, Mar 12, 2012 at 9:18 AM, Lincoln Baxter, III <lincolnbaxter@gmail.com> wrote:
Hey Paul,

That's excellent. Thanks so much for working on this documentation. It looks great.

~Lincoln


On Sun, Mar 11, 2012 at 7:13 AM, Paul Bakker <paul.bakker.nl@gmail.com> wrote:
A description of Facet in inheritance and passing data from a plugin to a Facet is now in the docs: https://docs.jboss.org/author/display/FORGE/Enable+modular+functionality+with+Facets (bottom of the page).

Paul

On Mar 11, 2012, at 0:41 , Lincoln Baxter, III wrote:

Hey Paul, Awesome! I did just push some changes to that respect. Sounds like yours is a lot better than mine. Sounds like we had very similar solutions :D but I think you probably also incorporated the facet inheritance approach? How is that working? Would be a good thing to write down as a recommended pattern if it works well!

Sorry, I should have told you I was starting some work on it.

I also fixed a few issues with the web.xml configuration. Looks like this was preserved in your merge, just want to make sure?

This dependency is not required and should be removed (I had done that in my commits:)
DependencyBuilder.create("org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.2_spec")
Additionally, this line was actually incorrectly modifying existing servlet mappings, which was why I corrected it.

            Node servletClass = node.getOrCreate("servlet-mapping/servlet-name=" + JAXRS_SERVLET);

Let's do a google hangout sometime and try to get our stuff re-coordinated?

~Lincoln

On Sat, Mar 10, 2012 at 11:46 AM, Paul Bakker <paul.bakker.nl@gmail.com> wrote:
Hi!

I just pushed the new REST plugin to master. JAX-RS can now be configured by either the web.xml like before, or an Application class.
It's now also using the TreeVisiting API, but only if it finds that configuration is missing or is invalid. So if the configuration is not in sync because of refactoring for example, the plugin will notice this and fix it's configuration by scanning the project's classes. As long as the configuration is still correct, it will not rescan classes. By using the configuration API as a cache I hope the performance penalty of scanning classes will be minimized. We still should test this better on large projects however, but that's out of the scope of this issue.

Paul


On Mar 9, 2012, at 19:43 , Lincoln Baxter, III wrote:

Hey Paul,

How is this coming along? I only ask because it came up from the tools team that Forge has trouble detecting apps using the REST @Application() annotation.

I hope all is well!
~Lincoln

On Mon, Feb 27, 2012 at 3:09 PM, Lincoln Baxter, III <lincolnbaxter@gmail.com> wrote:
Yep! Glad to be back, though :)

I think it might be a good idea to watch the performance of this operation, though. It could get expensive for large projects, so it might be a good idea to only do this check when necessary, and store the result in forge project scoped config. We are becoming an IDE :)

Will be complicated I think, or slow...

~Lincoln


On Mon, Feb 27, 2012 at 11:14 AM, Paul Bakker <paul.bakker@luminis.eu> wrote:
Hi!  Had a good time? 
The new API looks really good to use here, didn't know we could do that… I wasn't too happy with using configuration for this, because it will break on refactoring, so it's much better is we can do it this way. I will look into it to use it.

Paul



On Feb 27, 2012, at 17:09 , Lincoln Baxter, III wrote:

Hey Paul!

Back from Vaca.

My first thought here is that this is excellent use of the Configuration API, but I think currently the way this is written, it depends on the Configuration in order to recognize the fact that there is an application class serving as a REST activator?

We could use the JavaParser TreeVisiting API that was just introduced, in order to search project sources and make this determination.

https://github.com/forge/core/blob/master/shell-api/src/main/java/org/jboss/forge/project/facets/JavaSourceFacet.java#L165

Thoughts?
~Lincoln

On Wed, Feb 15, 2012 at 5:48 PM, Paul Bakker <paul.bakker@luminis.eu> wrote:
Hi Lincoln,

I made some progress on refactoring the rest stuff, plus I added the option to use an Application class instead of web.xml. Because it changed quite a lot and this is the first time we use the idea of having "nested" facets it would probably be good if you review before I merge to master.

https://github.com/forge/core/commit/ec0275a821c6bb3ccf690b55d66816073ba0c328

Let me know what you think :-)

Paul



--
Lincoln Baxter, III
http://ocpsoft.com
http://scrumshark.com
"Keep it Simple"
_______________________________________________
forge-dev mailing list
forge-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev


_______________________________________________
forge-dev mailing list
forge-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev




--
Lincoln Baxter, III
http://ocpsoft.com
http://scrumshark.com
"Keep it Simple"



--
Lincoln Baxter, III
http://ocpsoft.com
http://scrumshark.com
"Keep it Simple"
_______________________________________________
forge-dev mailing list
forge-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev


_______________________________________________
forge-dev mailing list
forge-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev




--
Lincoln Baxter, III
http://ocpsoft.com
http://scrumshark.com
"Keep it Simple"
_______________________________________________
forge-dev mailing list
forge-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev


_______________________________________________
forge-dev mailing list
forge-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev




--
Lincoln Baxter, III
http://ocpsoft.com
http://scrumshark.com
"Keep it Simple"



--
Lincoln Baxter, III
http://ocpsoft.com
http://scrumshark.com
"Keep it Simple"