[forge-dev] rest refactoring

Paul Bakker paul.bakker.nl at gmail.com
Sun Mar 11 07:13:58 EDT 2012


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 at 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 at 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 at 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 at 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 at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>> 
>> 
>> _______________________________________________
>> forge-dev mailing list
>> forge-dev at 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 at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/forge-dev
> 
> 
> _______________________________________________
> forge-dev mailing list
> forge-dev at 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 at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/forge-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20120311/ddb786f9/attachment.html 


More information about the forge-dev mailing list