[forge-dev] Plug-in for collect key properties list from source code with regular expressions

Lincoln Baxter, III lincolnbaxter at gmail.com
Wed May 23 10:52:23 EDT 2012


Wow... wrong email. LOL.

On Wed, May 23, 2012 at 10:47 AM, Lincoln Baxter, III <
lincolnbaxter at gmail.com> wrote:

> That's something that should be on a blog.
>
>
> On Wed, May 23, 2012 at 10:47 AM, Lincoln Baxter, III <
> lincolnbaxter at gmail.com> wrote:
>
>> Mom, that's incredible! But really sad that mom is gone :( reminds me of
>> the little fox baby I saw limping on the road :( :(
>>
>> ~Lincoln
>>
>>
>> On Thu, May 17, 2012 at 8:23 PM, Lincoln Baxter, III <
>> lincolnbaxter at gmail.com> wrote:
>>
>>> Yeah :) And PS. I think I said it already, but awesome idea!
>>>
>>>
>>> On Thu, May 17, 2012 at 4:18 PM, Lincoln Baxter, III <
>>> lincolnbaxter at gmail.com> wrote:
>>>
>>>> Hey Pablo,
>>>>
>>>> Is this plugin in the central plugin index?
>>>>
>>>> https://docs.jboss.org/author/display/FORGE/Add+your+Plugin+to+the+Central+Plugin+Index+%28CPI%29
>>>>
>>>> Thanks,
>>>> Lincoln
>>>>
>>>>
>>>> On Thu, May 17, 2012 at 3:12 PM, Pablo Palazon <pablo.palazon at gmail.com
>>>> > wrote:
>>>>
>>>>> Hi!,
>>>>>
>>>>> I've changed the command and parameters names, and I updated help in
>>>>> github and forge help. Dan, thanks so much for your suggest, it improve
>>>>> this plugin.
>>>>>
>>>>> Cheers,
>>>>>
>>>>> p.
>>>>>
>>>>>
>>>>> On Mon, May 14, 2012 at 8:33 AM, Pablo Palazon <
>>>>> pablo.palazon at gmail.com> wrote:
>>>>>
>>>>>> Hi Dan!, Thanks for your suggestion!, it's very interesting, and I'll
>>>>>> do this change. You're right when you say to make the commands more
>>>>>> intuitive and similar to others programs as eclipse.
>>>>>>
>>>>>> Very helpful.
>>>>>>
>>>>>>
>>>>>> On Sat, May 12, 2012 at 9:18 AM, Dan Allen <dan.j.allen at gmail.com>wrote:
>>>>>>
>>>>>>> Hey Pablo,
>>>>>>>
>>>>>>> Thanks for sharing this plugin! It's exciting to learn about new
>>>>>>> ways the community is using Forge to make development life easier!
>>>>>>>
>>>>>>> I'm always thinking about names for things, so I'd like to offer
>>>>>>> some ideas I think would make the commands more intuitive. If you don't
>>>>>>> like the suggestions, just say so :)
>>>>>>>
>>>>>>> Command name: rxlist
>>>>>>>
>>>>>>> As I understand it, your plugin collects language keys from source
>>>>>>> files (like *.java) and puts those keys into message bundles (Java
>>>>>>> properties files). A more intutive name for the command might be one of the
>>>>>>> following:
>>>>>>>
>>>>>>> - extract-keys
>>>>>>> - collect-keys
>>>>>>> - keys2bundle
>>>>>>> - keys2props
>>>>>>>
>>>>>>> (Eclipse uses the terms extract and externalize for this type of
>>>>>>> refactoring).
>>>>>>>
>>>>>>> Parameters:
>>>>>>>
>>>>>>> For the file matching parameters, I think it's best to leave out the
>>>>>>> reference to "rx" and just document in the help that it's a pattern.
>>>>>>>
>>>>>>> --property-files : regular expression to match property files (was
>>>>>>> --rxProperties)
>>>>>>> --source-files : regular expression to match source files to search
>>>>>>> for message keys (was --rxSearchFiles)
>>>>>>>
>>>>>>> For the key matcher property, I think it makes sense to name it for
>>>>>>> it's purpose:
>>>>>>>
>>>>>>> --key-pattern : regular expression for matching a key in a source
>>>>>>> file (was --regexp)
>>>>>>>
>>>>>>> Here's an example usage w/ the new names:
>>>>>>>
>>>>>>> extract-keys --property-files messages_.*.properties --source-files
>>>>>>> .*.xhtml --key-pattern messages.getMessage\('(.*?)'\)
>>>>>>>
>>>>>>> I hope those suggestions are helpful.
>>>>>>>
>>>>>>> Cheers,
>>>>>>>
>>>>>>> -Dan
>>>>>>>
>>>>>>> On Mon, May 7, 2012 at 5:16 PM, Pablo Palazon <
>>>>>>> pablo.palazon at gmail.com> wrote:
>>>>>>>
>>>>>>>> Hi everybody!,
>>>>>>>>
>>>>>>>> I'd like to present a plug-in for collect key properties and be
>>>>>>>> added to properties files (https://github.com/ppalazon/rxlist-forge).
>>>>>>>> Basic, this plug-in search regular expressions in the content of a group of
>>>>>>>> files, for example all java source code (*.java).
>>>>>>>>
>>>>>>>> I use this plug-in for collect multilingual key used in java and
>>>>>>>> xhtml code. For example:
>>>>>>>>
>>>>>>>> facesmessages.info(messages.getMessage("command.success.message"))
>>>>>>>>
>>>>>>>> or
>>>>>>>>
>>>>>>>> <h:outputText value="#{messages['person.preffix']}, #{user.lastname}"/>
>>>>>>>>
>>>>>>>> Normally, I wrote business code and I don't worry about write this
>>>>>>>> in a multilingual properties file. Later, I must review all code for
>>>>>>>> collect used multilingual keys. This is tedious when you have many sources
>>>>>>>> files, and you have some keys in properties file.
>>>>>>>>
>>>>>>>> For install: forge git-plugin git://
>>>>>>>> github.com/ppalazon/rxlist-forge.git
>>>>>>>>
>>>>>>>> This plug-in only contains a commands with 3 arguments
>>>>>>>>
>>>>>>>> --rxProperties -> regular expression for find properties files
>>>>>>>> (Messages.*.properties)
>>>>>>>> --rxSearchFiles -> regular expression for say which files explore
>>>>>>>> (.*.java, .*.xhtml, etc)
>>>>>>>> --regexp -> regular expression for describe where is keys
>>>>>>>> (messages.getMessage\(''(.*?)''\), messages.getMessage\('(.*?)'\))
>>>>>>>>
>>>>>>>> Examples:
>>>>>>>> rxlist --rxProperties messages_.*.properties --rxSearchFiles
>>>>>>>> .*.java --regexp Componente1.getMessage\(''(.*?)''\) - (I use 2 simple
>>>>>>>> quotes, don't double quote)
>>>>>>>> rxlist --rxProperties messages_.*.properties --rxSearchFiles
>>>>>>>> .*.xhtml --regexp messages.getMessage\('(.*?)'\) - With simple quotes
>>>>>>>>
>>>>>>>> All regular expression is based on Java Pattern (
>>>>>>>> http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
>>>>>>>> )
>>>>>>>>
>>>>>>>> This plugin insert non declared properties keys in properties
>>>>>>>> files, and insert a default content (founded.key=>>founded.key).
>>>>>>>>
>>>>>>>> If you would like to see this in action, there are some test files
>>>>>>>> in src/test/resources with 2 properties files, 1 java file and 1 xhtml
>>>>>>>> file. You can open original properties files, and search updated properties
>>>>>>>> files with test (RegExpListPluginTest) in a generated directory.
>>>>>>>>
>>>>>>>> I used this plug-in in a web application, and It's useful when
>>>>>>>> you'd been used a lot of properties key for multilingual. I'd like to
>>>>>>>> listen you any suggest, error or improve for this plug-in, or maybe this
>>>>>>>> help you for create new plug-in for forge. Thanks you so much for this
>>>>>>>> platform, it was very easy and quick develop this plug-in.
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> forge-dev mailing list
>>>>>>>> forge-dev at lists.jboss.org
>>>>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Dan Allen
>>>>>>> Principal Software Engineer, Red Hat | Author of Seam in Action
>>>>>>> Registered Linux User #231597
>>>>>>>
>>>>>>> http://google.com/profiles/dan.j.allen
>>>>>>> http://mojavelinux.com
>>>>>>> http://mojavelinux.com/seaminaction
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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.org
>>>> "Simpler is better."
>>>>
>>>
>>>
>>>
>>> --
>>> Lincoln Baxter, III
>>> http://ocpsoft.org
>>> "Simpler is better."
>>>
>>
>>
>>
>> --
>> Lincoln Baxter, III
>> http://ocpsoft.org
>> "Simpler is better."
>>
>
>
>
> --
> Lincoln Baxter, III
> http://ocpsoft.org
> "Simpler is better."
>



-- 
Lincoln Baxter, III
http://ocpsoft.org
"Simpler is better."
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20120523/11530a09/attachment-0001.html 


More information about the forge-dev mailing list