[forge-dev] rest refactoring

Lincoln Baxter, III lincolnbaxter at gmail.com
Mon Mar 12 10:21:23 EDT 2012


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 at 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 at 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 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
>>
>>
>>
>> _______________________________________________
>> 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"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20120312/47a9d3e2/attachment.html 


More information about the forge-dev mailing list