Click JIRA - Commented: (CLK-72) Adding a default page resource bundle

1 Message Forum Options Options
Embed this topic
Permalink
JIRA click-jira@avoka.com
Click JIRA - Commented: (CLK-72) Adding a default page resource bundle
Reply Threaded MoreMore options
Print post
Permalink
    [ http://www.avoka.com:8080/jira/browse/CLK-72?page=comments#action_11487 ]
           
payne commented on CLK-72:
--------------------------

http://www.rtm.gov.my/html/forum/viewtopic.php?t=7787
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7786
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7785
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7784
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7783
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7782
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7781
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7780
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7779
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7778
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7777
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7776
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7775
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7774
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7773
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7772
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7771
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7770
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7769
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7768
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7767
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7766
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7765
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7764
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7763
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7762
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7761
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7760
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7759
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7758
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7757
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7756
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7755
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7754
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7753
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7752
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7751
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7750
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7749
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7748
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7747
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7746
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7745
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7744
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7743
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7742
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7741
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7740
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7739
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7738
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7737
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7736
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7735
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7734
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7733
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7732
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7731
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7730
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7729
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7728
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7727
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7726
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7725
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7724
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7723
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7722
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7721
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7720
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7719
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7718
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7717
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7716
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7715
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7714
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7713
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7712
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7711
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7710
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7709
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7708
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7707
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7706
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7705
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7704
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7703
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7702
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7701
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7700
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7699
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7698
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7697
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7696
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7695
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7694
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7693
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7692
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7691
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7690
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7689
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7688
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7684
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7683
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7682
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7681
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7680
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7679
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7678
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7677
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7676
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7675
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7674
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7673
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7672
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7671
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7670
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7669
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7668
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7667
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7666
http://www.rtm.gov.my/html/forum/viewtopic.php?t=7665

> Adding a default page resource bundle
> -------------------------------------
>
>                 Key: CLK-72
>                 URL: http://www.avoka.com:8080/jira/browse/CLK-72
>             Project: Click
>          Issue Type: Improvement
>          Components: core
>            Reporter: Claudio
>         Assigned To: Malcolm Edgar
>            Priority: Minor
>
> The Page getMessage() method search message key in a resource bundle named after the Page class name (getClass().getName())
> This is done loading a MessageMap instance in the getMessages() method.
> It would be handy to have a default page resource bundle where keys are looked up if they are not found on the page specific bundle.
> I was thinking of something like click-page (like click-control is default for controls).
> This way you can:
> 1 - share default application wide keys
> 2 - choose to have a single bundle to maintain and translate
> A discussion about implementation is on the development newsgroup:
> http://news.gmane.org/find-root.php?group=gmane.comp.web.click.devel&article=498
> The following is my implementation (that patches Click 0.18).
> _____________________________ MessageMap.java ____________________________
> package mypackage;
> import java.util.*;
> public class MessagesMap extends net.sf.click.util.MessagesMap {
>     private net.sf.click.util.MessagesMap parent;
>     public MessagesMap(String baseName, Locale locale,
>                        net.sf.click.util.MessagesMap parent) {
>         super(baseName, locale);
>         this.parent = parent;
>     }
>     public MessagesMap(String baseName, Locale locale) {
>         this(baseName, locale, null);
>     }
>     public Object get(Object key) {
>         if(parent == null) {
>             return super.get(key);
>         } else if(super.containsKey(key)) {
>             return super.get(key);
>         } else {
>             return parent.get(key);
>         }
>     }
>     // ****** not sure about the following methods: is it right to consider the presence of the parent MessageMap to determine the result of the methods?
>     public boolean containsKey(Object key) {
>         return super.containsKey(key) ||
>                (parent != null && parent.containsKey(key));
>     }
>     public boolean containsValue(Object value) {
>         return super.containsValue(value) ||
>                (parent != null && parent.containsValue(value));
>     }
>     public Set keySet() {
>         Set keySet = super.keySet();
>         if(parent != null) {
>             keySet.addAll(parent.keySet());
>         }
>         return keySet;
>     }
>     public Collection values() {
>         Collection values = super.values();
>         if(parent != null) {
>             values.addAll(parent.values());
>         }
>         return values;
>     }
>     public Set entrySet() {
>         Set entrySet = super.entrySet();
>         if(parent != null) {
>             entrySet.addAll(parent.entrySet());
>         }
>         return entrySet;
>     }
> }
> ______________________ Page.java _____________________________
> package mypackage;
> import java.text.MessageFormat;
> import java.util.Locale;
> import java.util.Map;
> import it.graphite.click.util.MessagesMap;
> public class Page extends net.sf.click.Page {
>     public Map getMessages() {
>         if (messages == null) {
>             if (getContext() != null) {
>                 String baseName = "click-page";
>                 Locale locale = getContext().getLocale();
>                 MessagesMap parentMessages = new MessagesMap(baseName, locale);
>                 baseName = getClass().getName();
>                 messages = new MessagesMap(baseName, locale, parentMessages);
>             } else {
>                 String msg = "Context not set cannot initialize messages";
>                 throw new IllegalStateException(msg);
>             }
>         }
>         return messages;
>     }
>     //  *********** also useful and missing in the Click 0.18 *********
>     public String getMessage(String name, Object arg) {
>         Object[] args = new Object[] {
>             arg};
>         return getMessage(name, args);
>     }
>     public String getMessage(String name, Object[] args) {
>         if (args == null) {
>             throw new IllegalArgumentException("Null args parameter");
>         }
>         String value = getMessage(name);
>         return MessageFormat.format(value, args);
>     }
> }

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://www.avoka.com:8080/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Click-development mailing list
Click-development@...
https://lists.sourceforge.net/lists/listinfo/click-development