[forge-dev] rest refactoring

Lincoln Baxter, III lincolnbaxter at gmail.com
Sat Mar 10 18:41:14 EST 2012


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"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20120310/6f295661/attachment.html 


More information about the forge-dev mailing list