1 31 32 package org.opencms.workplace; 33 34 import org.opencms.i18n.A_CmsMessageBundle; 35 import org.opencms.i18n.CmsMessages; 36 import org.opencms.i18n.CmsMultiMessages; 37 import org.opencms.i18n.I_CmsMessageBundle; 38 import org.opencms.main.OpenCms; 39 40 import java.util.ArrayList ; 41 import java.util.Iterator ; 42 import java.util.List ; 43 import java.util.Locale ; 44 import java.util.Set ; 45 46 68 public class CmsWorkplaceMessages extends CmsMultiMessages { 69 70 71 public static final String GUI_NEW_RESOURCE_TITLE_PREFIX = "title.new"; 72 73 74 public static final String GUI_RESOURCE_TYPE_PREFIX = "fileicon."; 75 76 77 public static final String PREFIX_BUNDLE_MESSAGES = ".messages"; 78 79 80 public static final String PREFIX_BUNDLE_WORKPLACE = ".workplace"; 81 82 83 public static final String WORKPLACE_BUNDLE_NAME = CmsWorkplaceMessages.class.getName(); 84 85 91 public CmsWorkplaceMessages(Locale locale) { 92 93 super(locale); 94 setBundleName(WORKPLACE_BUNDLE_NAME); 95 addMessages(collectModuleMessages(locale)); 96 } 97 98 112 public static String getNewResourceTitle(CmsWorkplace wp, String name) { 113 114 String title = wp.key(GUI_NEW_RESOURCE_TITLE_PREFIX + name.toLowerCase()); 116 if (CmsMessages.isUnknownKey(title)) { 117 title = wp.key(org.opencms.workplace.explorer.Messages.GUI_TITLE_NEWFILEOTHER_0); 119 } 120 return title; 121 } 122 123 137 public static String getResourceName(CmsWorkplace wp, String name) { 138 139 return wp.keyDefault(GUI_RESOURCE_TYPE_PREFIX + name, name); 141 } 142 143 154 private static List collectModuleMessages(Locale locale) { 155 156 ArrayList result = new ArrayList (); 158 159 Set names = OpenCms.getModuleManager().getModuleNames(); 161 if (names != null) { 162 Iterator i = names.iterator(); 164 while (i.hasNext()) { 165 String modName = (String )i.next(); 166 String bundleName = modName + PREFIX_BUNDLE_WORKPLACE; 169 CmsMessages msg = new CmsMessages(bundleName, locale); 171 if (msg.isInitialized()) { 173 result.add(msg); 174 } 175 bundleName = modName + PREFIX_BUNDLE_MESSAGES; 178 msg = new CmsMessages(bundleName, locale); 180 if (msg.isInitialized()) { 182 result.add(msg); 183 } 184 } 185 } 186 187 I_CmsMessageBundle[] coreMsgs = A_CmsMessageBundle.getOpenCmsMessageBundles(); 189 for (int i = 0; i < coreMsgs.length; i++) { 190 I_CmsMessageBundle bundle = coreMsgs[i]; 191 result.add(bundle.getBundle(locale)); 192 } 193 194 return result; 195 } 196 197 200 public boolean equals(Object obj) { 201 202 if (obj == this) { 203 return true; 204 } 205 if (obj instanceof CmsWorkplaceMessages) { 206 CmsMessages other = (CmsMessages)obj; 208 return other.getLocale().equals(getLocale()); 209 } 210 return false; 211 } 212 213 216 public int hashCode() { 217 218 return getLocale().hashCode(); 219 } 220 }
| Popular Tags
|