1   /**
2    * Copyright (c) 2000-2007 Liferay, Inc. All rights reserved.
3    *
4    * Permission is hereby granted, free of charge, to any person obtaining a copy
5    * of this software and associated documentation files (the "Software"), to deal
6    * in the Software without restriction, including without limitation the rights
7    * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8    * copies of the Software, and to permit persons to whom the Software is
9    * furnished to do so, subject to the following conditions:
10   *
11   * The above copyright notice and this permission notice shall be included in
12   * all copies or substantial portions of the Software.
13   *
14   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20   * SOFTWARE.
21   */
22  
23  package com.liferay.portal.util;
24  
25  import java.util.Properties;
26  
27  import com.germinus.easyconf.ComponentProperties;
28  import com.liferay.portal.model.impl.CompanyImpl;
29  import com.liferay.portal.security.auth.CompanyThreadLocal;
30  import com.liferay.util.ExtPropertiesLoader;
31  
32  /**
33   * <a href="PropsUtil.java.html"><b><i>View Source</i></b></a>
34   *
35   * @author Brian Wing Shun Chan
36   *
37   */
38  public class PropsUtil {
39  
40      static {
41          InitUtil.init();
42      }
43  
44      // Portal Context
45  
46      public static final String PORTAL_CTX = "portal.ctx";
47  
48      // Error
49  
50      public static final String ERROR_MESSAGE_LOG = "error.message.log";
51  
52      public static final String ERROR_MESSAGE_PRINT = "error.message.print";
53  
54      public static final String ERROR_MESSAGE_SHOW = "error.message.show";
55  
56      public static final String ERROR_STACK_TRACE_LOG = "error.stack.trace.log";
57  
58      public static final String ERROR_STACK_TRACE_PRINT = "error.stack.trace.print";
59  
60      public static final String ERROR_STACK_TRACE_SHOW = "error.stack.trace.show";
61  
62      // TCK
63  
64      public static final String TCK_URL = "tck.url";
65  
66      // Schema
67  
68      public static final String SCHEMA_RUN_ENABLED = "schema.run.enabled";
69  
70      public static final String SCHEMA_RUN_MINIMAL = "schema.run.minimal";
71  
72      // Upgrade
73  
74      public static final String UPGRADE_PROCESSES = "upgrade.processes";
75  
76      // Verify
77  
78      public static final String VERIFY_PROCESSES = "verify.processes";
79  
80      public static final String VERIFY_FREQUENCY = "verify.frequency";
81  
82      // Auto Deploy
83  
84      public static final String AUTO_DEPLOY_LISTENERS = "auto.deploy.listeners";
85  
86      public static final String AUTO_DEPLOY_ENABLED = "auto.deploy.enabled";
87  
88      public static final String AUTO_DEPLOY_DEPLOY_DIR = "auto.deploy.deploy.dir";
89  
90      public static final String AUTO_DEPLOY_DEST_DIR = "auto.deploy.dest.dir";
91  
92      public static final String AUTO_DEPLOY_DEFAULT_DEST_DIR = "auto.deploy.default.dest.dir";
93  
94      public static final String AUTO_DEPLOY_INTERVAL = "auto.deploy.interval";
95  
96      public static final String AUTO_DEPLOY_BLACKLIST_THRESHOLD = "auto.deploy.blacklist.threshold";
97  
98      public static final String AUTO_DEPLOY_UNPACK_WAR = "auto.deploy.unpack.war";
99  
100     public static final String AUTO_DEPLOY_CUSTOM_PORTLET_XML = "auto.deploy.custom.portlet.xml";
101 
102     public static final String AUTO_DEPLOY_JBOSS_PREFIX = "auto.deploy.jboss.prefix";
103 
104     public static final String AUTO_DEPLOY_TOMCAT_CONF_DIR = "auto.deploy.tomcat.conf.dir";
105 
106     public static final String AUTO_DEPLOY_TOMCAT_LIB_DIR = "auto.deploy.tomcat.lib.dir";
107 
108     public static final String LIBRARY_DOWNLOAD_URL = "library.download.url.";
109 
110     // Hot Deploy
111 
112     public static final String HOT_DEPLOY_LISTENERS = "hot.deploy.listeners";
113 
114     // Plugin
115 
116     public static final String PLUGIN_TYPES = "plugin.types";
117 
118     public static final String PLUGIN_REPOSITORIES_TRUSTED = "plugin.repositories.trusted";
119 
120     public static final String PLUGIN_REPOSITORIES_UNTRUSTED = "plugin.repositories.untrusted";
121 
122     public static final String PLUGIN_NOTIFICATIONS_ENABLED = "plugin.notifications.enabled";
123 
124     public static final String PLUGIN_NOTIFICATIONS_PACKAGES_IGNORED = "plugin.notifications.packages.ignored";
125 
126     // Portlet
127 
128     public static final String PORTLET_VIRTUAL_PATH = "portlet.virtual.path";
129 
130     // Theme
131 
132     public static final String THEME_CSS_FAST_LOAD = "theme.css.fast.load";
133 
134     public static final String THEME_VIRTUAL_PATH = "theme.virtual.path";
135 
136     public static final String THEME_LOADER_STORAGE_PATH = "theme.loader.storage.path";
137 
138     // Resource Actions
139 
140     public static final String RESOURCE_ACTIONS_CONFIGS = "resource.actions.configs";
141 
142     // Model Hints
143 
144     public static final String MODEL_HINTS_CONFIGS = "model.hints.configs";
145 
146     // Spring
147 
148     public static final String SPRING_CONFIGS = "spring.configs";
149 
150     public static final String SPRING_HIBERNATE_DATA_SOURCE = "spring.hibernate.data.source";
151 
152     public static final String SPRING_HIBERNATE_SESSION_FACTORY = "spring.hibernate.session.factory";
153 
154     // Hibernate
155 
156     public static final String HIBERNATE_CONFIGS = "hibernate.configs";
157 
158     public static final String HIBERNATE_DIALECT = "hibernate.dialect.";
159 
160     // Custom SQL
161 
162     public static final String CUSTOM_SQL_CONFIGS = "custom.sql.configs";
163 
164     public static final String CUSTOM_SQL_FUNCTION_ISNULL = "custom.sql.function.isnull";
165 
166     public static final String CUSTOM_SQL_FUNCTION_ISNOTNULL = "custom.sql.function.isnotnull";
167 
168     // Ehcache
169 
170     public static final String EHCACHE_SINGLE_VM_CONFIG_LOCATION = "ehcache.single.vm.config.location";
171 
172     public static final String EHCACHE_MULTI_VM_CONFIG_LOCATION = "ehcache.multi.vm.config.location";
173 
174     // Commons Pool
175 
176     public static final String COMMONS_POOL_ENABLED = "commons.pool.enabled";
177 
178     // JavaScript
179 
180     public static final String JAVASCRIPT_FILES = "javascript.files";
181 
182     public static final String JAVASCRIPT_FAST_LOAD = "javascript.fast.load";
183 
184     public static final String JAVASCRIPT_LOG_ENABLED = "javascript.log.enabled";
185 
186     // Company
187 
188     public static final String COMPANY_DEFAULT_WEB_ID = "company.default.web.id";
189 
190     public static final String COMPANY_SECURITY_AUTH_TYPE = "company.security.auth.type";
191 
192     public static final String COMPANY_SECURITY_AUTH_REQUIRES_HTTPS = "company.security.auth.requires.https";
193 
194     public static final String COMPANY_SECURITY_AUTO_LOGIN = "company.security.auto.login";
195 
196     public static final String COMPANY_SECURITY_AUTO_LOGIN_MAX_AGE = "company.security.auto.login.max.age";
197 
198     public static final String COMPANY_SECURITY_SEND_PASSWORD = "company.security.send.password";
199 
200     public static final String COMPANY_SECURITY_STRANGERS = "company.security.strangers";
201 
202     public static final String COMPANY_SECURITY_STRANGERS_WITH_MX = "company.security.strangers.with.mx";
203 
204     public static final String COMPANY_SECURITY_STRANGERS_VERIFY = "company.security.strangers.verify";
205 
206     public static final String COMPANY_SECURITY_COMMUNITY_LOGO = "company.security.community.logo";
207 
208     // Users
209 
210     public static final String USERS_DELETE = "users.delete";
211 
212     public static final String USERS_SCREEN_NAME_ALWAYS_AUTOGENERATE = "users.screen.name.always.autogenerate";
213 
214     public static final String USERS_SCREEN_NAME_GENERATOR = "users.screen.name.generator";
215 
216     public static final String USERS_SCREEN_NAME_VALIDATOR = "users.screen.name.validator";
217 
218     public static final String USERS_IMAGE_MAX_SIZE = "users.image.max.size";
219 
220     // Groups and Roles
221 
222     public static final String SYSTEM_GROUPS = "system.groups";
223 
224     public static final String SYSTEM_ROLES = "system.roles";
225 
226     public static final String SYSTEM_COMMUNITY_ROLES = "system.community.roles";
227 
228     public static final String OMNIADMIN_USERS = "omniadmin.users";
229 
230     public static final String TERMS_OF_USE_REQUIRED = "terms.of.use.required";
231 
232     // Languages and Time Zones
233 
234     public static final String LOCALES = "locales";
235 
236     public static final String LOCALE_DEFAULT_REQUEST = "locale.default.request";
237 
238     public static final String TIME_ZONES = "time.zones";
239 
240     // Organizations and Locations
241 
242     public static final String ORGANIZATIONS_PARENT_ORGANIZATION_REQUIRED = "organizations.parent.organization.required";
243 
244     public static final String ORGANIZATIONS_COUNTRY_REQUIRED = "organizations.country.required";
245 
246     public static final String ORGANIZATIONS_LOCATION_REQUIRED = "organizations.location.required";
247 
248     public static final String ORGANIZATIONS_LOCATION_ENABLED = "organizations.location.enabled";
249 
250     // Look and Feel
251 
252     public static final String LOOK_AND_FEEL_MODIFIABLE = "look.and.feel.modifiable";
253 
254     public static final String DEFAULT_THEME_ID = "default.theme.id";
255 
256     public static final String DEFAULT_COLOR_SCHEME_ID = "default.color.scheme.id";
257 
258     public static final String DEFAULT_REGULAR_THEME_ID = "default.regular.theme.id";
259 
260     public static final String DEFAULT_REGULAR_COLOR_SCHEME_ID = "default.regular.color.scheme.id";
261 
262     public static final String DEFAULT_WAP_THEME_ID = "default.wap.theme.id";
263 
264     public static final String DEFAULT_WAP_COLOR_SCHEME_ID = "default.wap.color.scheme.id";
265 
266     public static final String THEME_SYNC_ON_GROUP = "theme.sync.on.group";
267 
268     // Request
269 
270     public static final String REQUEST_SHARED_ATTRIBUTES = "request.shared.attributes";
271 
272     // Session
273 
274     public static final String SESSION_TIMEOUT = "session.timeout";
275 
276     public static final String SESSION_TIMEOUT_WARNING = "session.timeout.warning";
277 
278     public static final String SESSION_TIMEOUT_AUTO_EXTEND = "session.timeout.auto.extend";
279 
280     public static final String SESSION_SHARED_ATTRIBUTES = "session.shared.attributes";
281 
282     public static final String SESSION_ENABLE_PERSISTENT_COOKIES = "session.enable.persistent.cookies";
283 
284     public static final String SESSION_COOKIE_DOMAIN = "session.cookie.domain";
285 
286     public static final String SESSION_ENABLE_PHISHING_PROTECTION = "session.enable.phishing.protection";
287 
288     public static final String SESSION_TEST_COOKIE_SUPPORT = "session.test.cookie.support";
289 
290     public static final String SESSION_DISABLED = "session.disabled";
291 
292     public static final String SERVLET_SESSION_CREATE_EVENTS = "servlet.session.create.events";
293 
294     public static final String SERVLET_SESSION_DESTROY_EVENTS = "servlet.session.destroy.events";
295 
296     public static final String SESSION_TRACKER_MEMORY_ENABLED = "session.tracker.memory.enabled";
297 
298     public static final String SESSION_TRACKER_PERSISTENCE_ENABLED = "session.tracker.persistence.enabled";
299 
300     public static final String SESSION_TRACKER_IGNORE_PATHS = "session.tracker.ignore.paths";
301 
302     // JAAS
303 
304     public static final String PORTAL_CONFIGURATION = "portal.configuration";
305 
306     public static final String PORTAL_JAAS_ENABLE = "portal.jaas.enable";
307 
308     public static final String PORTAL_JAAS_IMPL = "portal.jaas.impl";
309 
310     public static final String PORTAL_JAAS_STRICT_PASSWORD = "portal.jaas.strict.password";
311 
312     public static final String PORTAL_IMPERSONATION_ENABLE = "portal.impersonation.enable";
313 
314     // LDAP
315 
316     public static final String LDAP_FACTORY_INITIAL = "ldap.factory.initial";
317 
318     public static final String LDAP_BASE_PROVIDER_URL = "ldap.base.provider.url";
319 
320     public static final String LDAP_BASE_DN = "ldap.base.dn";
321 
322     public static final String LDAP_SECURITY_PRINCIPAL = "ldap.security.principal";
323 
324     public static final String LDAP_SECURITY_CREDENTIALS = "ldap.security.credentials";
325 
326     public static final String LDAP_AUTH_ENABLED = "ldap.auth.enabled";
327 
328     public static final String LDAP_AUTH_REQUIRED = "ldap.auth.required";
329 
330     public static final String LDAP_AUTH_METHOD = "ldap.auth.method";
331 
332     public static final String LDAP_AUTH_SEARCH_FILTER = "ldap.auth.search.filter";
333 
334     public static final String LDAP_AUTH_PASSWORD_ENCRYPTION_ALGORITHM = "ldap.auth.password.encryption.algorithm";
335 
336     public static final String LDAP_AUTH_PASSWORD_ENCRYPTION_ALGORITHM_TYPES = "ldap.auth.password.encryption.algorithm.types";
337 
338     public static final String LDAP_USERS_DN = "ldap.users.dn";
339 
340     public static final String LDAP_USER_IMPL = "ldap.user.impl";
341 
342     public static final String LDAP_USER_DEFAULT_OBJECT_CLASSES = "ldap.user.default.object.classes";
343 
344     public static final String LDAP_USER_MAPPINGS = "ldap.user.mappings";
345 
346     public static final String LDAP_GROUPS_DN = "ldap.groups.dn";
347 
348     public static final String LDAP_GROUP_MAPPINGS = "ldap.group.mappings";
349 
350     public static final String LDAP_IMPORT_ENABLED = "ldap.import.enabled";
351 
352     public static final String LDAP_IMPORT_ON_STARTUP = "ldap.import.on.startup";
353 
354     public static final String LDAP_IMPORT_INTERVAL = "ldap.import.interval";
355 
356     public static final String LDAP_IMPORT_USER_SEARCH_FILTER = "ldap.import.user.search.filter";
357 
358     public static final String LDAP_IMPORT_GROUP_SEARCH_FILTER = "ldap.import.group.search.filter";
359 
360     public static final String LDAP_IMPORT_METHOD = "ldap.import.method";
361 
362     public static final String LDAP_EXPORT_ENABLED = "ldap.export.enabled";
363 
364     public static final String LDAP_PASSWORD_POLICY_ENABLED = "ldap.password.policy.enabled";
365 
366     public static final String LDAP_ERROR_PASSWORD_AGE = "ldap.error.password.age";
367 
368     public static final String LDAP_ERROR_PASSWORD_EXPIRED = "ldap.error.password.expired";
369 
370     public static final String LDAP_ERROR_PASSWORD_HISTORY = "ldap.error.password.history";
371 
372     public static final String LDAP_ERROR_PASSWORD_NOT_CHANGEABLE = "ldap.error.password.not.changeable";
373 
374     public static final String LDAP_ERROR_PASSWORD_SYNTAX = "ldap.error.password.syntax";
375 
376     public static final String LDAP_ERROR_PASSWORD_TRIVIAL = "ldap.error.password.trivial";
377 
378     public static final String LDAP_ERROR_USER_LOCKOUT = "ldap.error.user.lockout";
379 
380     // CAS
381 
382     public static final String CAS_AUTH_ENABLED = "cas.auth.enabled";
383 
384     public static final String CAS_IMPORT_FROM_LDAP = "cas.import.from.ldap";
385 
386     public static final String CAS_LOGIN_URL = "cas.login.url";
387 
388     public static final String CAS_LOGOUT_URL = "cas.logout.url";
389 
390     public static final String CAS_SERVICE_URL = "cas.service.url";
391 
392     public static final String CAS_VALIDATE_URL = "cas.validate.url";
393 
394     // NTLM
395 
396     public static final String NTLM_AUTH_ENABLED = "ntlm.auth.enabled";
397 
398     public static final String NTLM_DOMAIN_CONTROLLER = "ntlm.auth.domain.controller";
399 
400     public static final String NTLM_DOMAIN = "ntlm.auth.domain";
401 
402     // OpenID
403 
404     public static final String OPEN_ID_AUTH_ENABLED = "open.id.auth.enabled";
405 
406     // OpenSSO
407 
408     public static final String OPEN_SSO_AUTH_ENABLED = "open.sso.auth.enabled";
409 
410     public static final String OPEN_SSO_LOGIN_URL = "open.sso.login.url";
411 
412     public static final String OPEN_SSO_LOGOUT_URL = "open.sso.logout.url";
413 
414     public static final String OPEN_SSO_SERVICE_URL = "open.sso.service.url";
415 
416     public static final String OPEN_SSO_SUBJECT_COOKIE_NAME = "open.sso.subject.cookie.name";
417 
418     // Authentication Pipeline
419 
420     public static final String AUTH_PIPELINE_PRE = "auth.pipeline.pre";
421 
422     public static final String AUTH_PIPELINE_POST = "auth.pipeline.post";
423 
424     public static final String AUTH_PIPELINE_ENABLE_LIFERAY_CHECK = "auth.pipeline.enable.liferay.check";
425 
426     public static final String AUTH_FAILURE = "auth.failure";
427 
428     public static final String AUTH_MAX_FAILURES = "auth.max.failures";
429 
430     public static final String AUTH_SIMULTANEOUS_LOGINS = "auth.simultaneous.logins";
431 
432     public static final String AUTH_FORWARD_BY_LAST_PATH = "auth.forward.by.last.path";
433 
434     public static final String AUTH_FORWARD_BY_REDIRECT = "auth.forward.by.redirect";
435 
436     public static final String AUTH_FORWARD_LAST_PATHS = "auth.forward.last.paths";
437 
438     public static final String AUTH_PUBLIC_PATHS = "auth.public.paths";
439 
440     // Auto Login
441 
442     public static final String AUTO_LOGIN_HOOKS = "auto.login.hooks";
443 
444     // SSO with MAC
445 
446     public static final String AUTH_MAC_ALLOW = "auth.mac.allow";
447 
448     public static final String AUTH_MAC_ALGORITHM = "auth.mac.algorithm";
449 
450     public static final String AUTH_MAC_SHARED_KEY = "auth.mac.shared.key";
451 
452     // Passwords
453 
454     public static final String PASSWORDS_ENCRYPTION_ALGORITHM = "passwords.encryption.algorithm";
455 
456     public static final String PASSWORDS_TOOLKIT = "passwords.toolkit";
457 
458     public static final String PASSWORDS_PASSWORDPOLICYTOOLKIT_GENERATOR = "passwords.passwordpolicytoolkit.generator";
459 
460     public static final String PASSWORDS_PASSWORDPOLICYTOOLKIT_STATIC = "passwords.passwordpolicytoolkit.static";
461 
462     public static final String PASSWORDS_REGEXPTOOLKIT_PATTERN = "passwords.regexptoolkit.pattern";
463 
464     public static final String PASSWORDS_REGEXPTOOLKIT_CHARSET = "passwords.regexptoolkit.charset";
465 
466     public static final String PASSWORDS_REGEXPTOOLKIT_LENGTH = "passwords.regexptoolkit.length";
467 
468     public static final String PASSWORDS_DEFAULT_POLICY_NAME = "passwords.default.policy.name";
469 
470     // Permissions
471 
472     public static final String PERMISSIONS_CHECKER = "permissions.checker";
473 
474     public static final String PERMISSIONS_USER_CHECK_ALGORITHM = "permissions.user.check.algorithm";
475 
476     // Captcha
477 
478     public static final String CAPTCHA_MAX_CHALLENGES = "captcha.max.challenges";
479 
480     // Startup Events
481 
482     public static final String GLOBAL_STARTUP_EVENTS = "global.startup.events";
483 
484     public static final String APPLICATION_STARTUP_EVENTS = "application.startup.events";
485 
486     public static final String SHUTDOWN_PROGRAMMATICALLY_EXIT = "shutdown.programmatically.exit";
487 
488     // Shutdown Events
489 
490     public static final String GLOBAL_SHUTDOWN_EVENTS = "global.shutdown.events";
491 
492     public static final String APPLICATION_SHUTDOWN_EVENTS = "application.shutdown.events";
493 
494     // Portal Events
495 
496     public static final String SERVLET_SERVICE_EVENTS_PRE = "servlet.service.events.pre";
497 
498     public static final String SERVLET_SERVICE_EVENTS_PRE_ERROR_PAGE = "servlet.service.events.pre.error.page";
499 
500     public static final String SERVLET_SERVICE_EVENTS_POST = "servlet.service.events.post";
501 
502     public static final String LOGIN_EVENTS_PRE = "login.events.pre";
503 
504     public static final String LOGIN_EVENTS_POST = "login.events.post";
505 
506     public static final String LOGOUT_EVENTS_PRE = "logout.events.pre";
507 
508     public static final String LOGOUT_EVENTS_POST = "logout.events.post";
509 
510     // Default Landing Page
511 
512     public static final String DEFAULT_LANDING_PAGE_PATH = "default.landing.page.path";
513 
514     // Default Guest
515 
516     public static final String DEFAULT_GUEST_LAYOUT_NAME = "default.guest.layout.name";
517 
518     public static final String DEFAULT_GUEST_LAYOUT_TEMPLATE_ID = "default.guest.layout.template.id";
519 
520     public static final String DEFAULT_GUEST_LAYOUT_COLUMN = "default.guest.layout.column-";
521 
522     public static final String DEFAULT_GUEST_FRIENDLY_URL = "default.guest.friendly.url";
523 
524     // Default User
525 
526     public static final String DEFAULT_USER_LAYOUT_NAME = "default.user.layout.name";
527 
528     public static final String DEFAULT_USER_LAYOUT_TEMPLATE_ID = "default.user.layout.template.id";
529 
530     public static final String DEFAULT_USER_LAYOUT_COLUMN = "default.user.layout.column-";
531 
532     // Default Admin
533 
534     public static final String DEFAULT_ADMIN_PASSWORD = "default.admin.password";
535 
536     public static final String DEFAULT_ADMIN_SCREEN_NAME = "default.admin.screen.name";
537 
538     public static final String DEFAULT_ADMIN_EMAIL_ADDRESS_PREFIX = "default.admin.email.address.prefix";
539 
540     public static final String DEFAULT_ADMIN_FIRST_NAME = "default.admin.first.name";
541 
542     public static final String DEFAULT_ADMIN_MIDDLE_NAME = "default.admin.middle.name";
543 
544     public static final String DEFAULT_ADMIN_LAST_NAME = "default.admin.last.name";
545 
546     // Layouts
547 
548     public static final String LAYOUT_TYPES = "layout.types";
549 
550     public static final String LAYOUT_EDIT_PAGE = "layout.edit.page";
551 
552     public static final String LAYOUT_VIEW_PAGE = "layout.view.page";
553 
554     public static final String LAYOUT_URL = "layout.url";
555 
556     public static final String LAYOUT_URL_FRIENDLIABLE = "layout.url.friendliable";
557 
558     public static final String LAYOUT_PARENTABLE = "layout.parentable";
559 
560     public static final String LAYOUT_SITEMAPABLE = "layout.sitemapable";
561 
562     public static final String LAYOUT_STATIC_PORTLETS_START = "layout.static.portlets.start.";
563 
564     public static final String LAYOUT_STATIC_PORTLETS_END = "layout.static.portlets.end.";
565 
566     public static final String LAYOUT_FRIENDLY_URL_PRIVATE_GROUP_SERVLET_MAPPING = "layout.friendly.url.private.group.servlet.mapping";
567 
568     public static final String LAYOUT_FRIENDLY_URL_PRIVATE_USER_SERVLET_MAPPING = "layout.friendly.url.private.user.servlet.mapping";
569 
570     public static final String LAYOUT_FRIENDLY_URL_PUBLIC_SERVLET_MAPPING = "layout.friendly.url.public.servlet.mapping";
571 
572     public static final String LAYOUT_FRIENDLY_URL_PAGE_NOT_FOUND = "layout.friendly.url.page.not.found";
573 
574     public static final String LAYOUT_FRIENDLY_URL_KEYWORDS = "layout.friendly.url.keywords";
575 
576     public static final String LAYOUT_ADD_PORTLETS = "layout.add.portlets";
577 
578     public static final String LAYOUT_NAME_MAX_LENGTH = "layout.name.max.length";
579 
580     public static final String LAYOUT_TABS_PER_ROW = "layout.tabs.per.row";
581 
582     public static final String LAYOUT_REMEMBER_SESSION_WINDOW_STATE_MAXIMIZED = "layout.remember.session.window.state.maximized";
583 
584     public static final String LAYOUT_REMEMBER_REQUEST_WINDOW_STATE_MAXIMIZED = "layout.remember.request.window.state.maximized";
585 
586     public static final String LAYOUT_GUEST_SHOW_MAX_ICON = "layout.guest.show.max.icon";
587 
588     public static final String LAYOUT_GUEST_SHOW_MIN_ICON = "layout.guest.show.min.icon";
589 
590     public static final String LAYOUT_SHOW_PORTLET_ACCESS_DENIED = "layout.show.portlet.access.denied";
591 
592     public static final String LAYOUT_SHOW_PORTLET_INACTIVE = "layout.show.portlet.inactive";
593 
594     public static final String LAYOUT_DEFAULT_TEMPLATE_ID = "layout.default.template.id";
595 
596     public static final String LAYOUT_PARALLEL_RENDER_ENABLE = "layout.parallel.render.enable";
597 
598     public static final String LAYOUT_CLONE_IMPL = "layout.clone.impl";
599 
600     public static final String LAYOUT_TEMPLATE_CACHE_ENABLED = "layout.template.cache.enabled";
601 
602     public static final String LAYOUT_DEFAULT_P_L_RESET = "layout.default.p_l_reset";
603 
604     // Portlet URL
605 
606     public static final String PORTLET_URL_APPEND_PARAMETERS = "portlet.url.append.parameters";
607 
608     public static final String PORTLET_URL_ANCHOR_ENABLE = "portlet.url.anchor.enable";
609 
610     // Preferences
611 
612     public static final String PREFERENCE_VALIDATE_ON_STARTUP = "preference.validate.on.startup";
613 
614     // Struts
615 
616     public static final String STRUTS_PORTLET_REQUEST_PROCESSOR = "struts.portlet.request.processor";
617 
618     // Images
619 
620     public static final String IMAGE_DEFAULT_SPACER = "image.default.spacer";
621 
622     public static final String IMAGE_DEFAULT_COMPANY_LOGO = "image.default.company.logo";
623 
624     public static final String IMAGE_DEFAULT_USER_PORTRAIT = "image.default.user.portrait";
625 
626     // Fields
627 
628     public static final String FIELD_ENABLE_COM_LIFERAY_PORTAL_MODEL_CONTACT_MALE = "field.enable.com.liferay.portal.model.Contact.male";
629 
630     public static final String FIELD_ENABLE_COM_LIFERAY_PORTAL_MODEL_CONTACT_BIRTHDAY = "field.enable.com.liferay.portal.model.Contact.birthday";
631 
632     // Mime Types
633 
634     public static final String MIME_TYPES = "mime.types";
635 
636     // Amazon License Keys
637 
638     public static final String AMAZON_LICENSE = "amazon.license.";
639 
640     // Instant Messenger
641 
642     public static final String AIM_LOGIN = "aim.login";
643 
644     public static final String AIM_PASSWORD = "aim.password";
645 
646     public static final String ICQ_JAR = "icq.jar";
647 
648     public static final String ICQ_LOGIN = "icq.login";
649 
650     public static final String ICQ_PASSWORD = "icq.password";
651 
652     public static final String MSN_LOGIN = "msn.login";
653 
654     public static final String MSN_PASSWORD = "msn.password";
655 
656     public static final String YM_LOGIN = "ym.login";
657 
658     public static final String YM_PASSWORD = "ym.password";
659 
660     // Lucene Search
661 
662     public static final String INDEX_ON_STARTUP = "index.on.startup";
663 
664     public static final String INDEX_WITH_THREAD = "index.with.thread";
665 
666     public static final String LUCENE_STORE_TYPE = "lucene.store.type";
667 
668     public static final String LUCENE_STORE_JDBC_AUTO_CLEAN_UP = "lucene.store.jdbc.auto.clean.up";
669 
670     public static final String LUCENE_STORE_JDBC_DIALECT = "lucene.store.jdbc.dialect.";
671 
672     public static final String LUCENE_DIR = "lucene.dir";
673 
674     public static final String LUCENE_FILE_EXTRACTOR = "lucene.file.extractor";
675 
676     public static final String LUCENE_FILE_EXTRACTOR_REGEXP_STRIP = "lucene.file.extractor.regexp.strip";
677 
678     public static final String LUCENE_ANALYZER = "lucene.analyzer";
679 
680     public static final String LUCENE_MERGE_FACTOR = "lucene.merge.factor";
681 
682     public static final String LUCENE_OPTIMIZE_INTERVAL = "lucene.optimize.interval";
683 
684     // Value Object
685 
686     public static final String VALUE_OBJECT_FINDER_CACHE_ENABLED = "value.object.finder.cache.enabled";
687 
688     // Last Modified
689 
690     public static final String LAST_MODIFIED_CHECK = "last.modified.check";
691 
692     public static final String LAST_MODIFIED_PATHS = "last.modified.paths";
693 
694     // XSS (Cross Site Scripting)
695 
696     public static final String XSS_ALLOW = "xss.allow";
697 
698     // Communication Link
699 
700     public static final String COMM_LINK_PROPERTIES = "comm.link.properties";
701 
702     // Content Delivery Network
703 
704     public static final String CDN_HOST = "cdn.host";
705 
706     // Counter
707 
708     public static final String COUNTER_INCREMENT = "counter.increment";
709 
710     // Jabber
711 
712     public static final String JABBER_XMPP_SERVER_ENABLED = "jabber.xmpp.server.enabled";
713 
714     public static final String JABBER_XMPP_SERVER_ADDRESS = "jabber.xmpp.server.address";
715 
716     public static final String JABBER_XMPP_SERVER_NAME = "jabber.xmpp.server.name";
717 
718     public static final String JABBER_XMPP_SERVER_PORT = "jabber.xmpp.server.port";
719 
720     public static final String JABBER_XMPP_USER_PASSWORD = "jabber.xmpp.user.password";
721 
722     // JBI
723 
724     public static final String JBI_WORKFLOW_URL = "jbi.workflow.url";
725 
726     // JCR
727 
728     public static final String JCR_INITIALIZE_ON_STARTUP = "jcr.initialize.on.startup";
729 
730     public static final String JCR_WORKSPACE_NAME = "jcr.workspace.name";
731 
732     public static final String JCR_NODE_DOCUMENTLIBRARY = "jcr.node.documentlibrary";
733 
734     public static final String JCR_JACKRABBIT_REPOSITORY_ROOT = "jcr.jackrabbit.repository.root";
735 
736     public static final String JCR_JACKRABBIT_CONFIG_FILE_PATH = "jcr.jackrabbit.config.file.path";
737 
738     public static final String JCR_JACKRABBIT_REPOSITORY_HOME = "jcr.jackrabbit.repository.home";
739 
740     public static final String JCR_JACKRABBIT_CREDENTIALS_USERNAME = "jcr.jackrabbit.credentials.username";
741 
742     public static final String JCR_JACKRABBIT_CREDENTIALS_PASSWORD = "jcr.jackrabbit.credentials.password";
743 
744     // Reverse AJAX
745 
746     public static final String REVERSE_AJAX_ENABLED = "reverse.ajax.enabled";
747 
748     public static final String REVERSE_AJAX_HEARTBEAT = "reverse.ajax.heartbeat";
749 
750     // Scheduler
751 
752     public static final String SCHEDULER_ENABLED = "scheduler.enabled";
753 
754     // SMTP
755 
756     public static final String SMTP_SERVER_ENABLED = "smtp.server.enabled";
757 
758     public static final String SMTP_SERVER_PORT = "smtp.server.port";
759 
760     public static final String SMTP_SERVER_SUBDOMAIN = "smtp.server.subdomain";
761 
762     // Social Bookmarking
763 
764     public static final String SOCIAL_BOOKMARK_TYPES = "social.bookmark.types";
765 
766     public static final String SOCIAL_BOOKMARK_POST_URL = "social.bookmark.post.url";
767 
768     // Velocity Engine
769 
770     public static final String VELOCITY_ENGINE_RESOURCE_LISTENERS = "velocity.engine.resource.listeners";
771 
772     public static final String VELOCITY_ENGINE_RESOURCE_MANAGER = "velocity.engine.resource.manager";
773 
774     public static final String VELOCITY_ENGINE_RESOURCE_MANAGER_CACHE = "velocity.engine.resource.manager.cache";
775 
776     public static final String VELOCITY_ENGINE_RESOURCE_MANAGER_CACHE_ENABLED = "velocity.engine.resource.manager.cache.enabled";
777 
778     public static final String VELOCITY_ENGINE_VELOCIMACRO_LIBRARY = "velocity.engine.velocimacro.library";
779 
780     public static final String VELOCITY_ENGINE_LOGGER = "velocity.engine.logger";
781 
782     public static final String VELOCITY_ENGINE_LOGGER_CATEGORY = "velocity.engine.logger.category";
783 
784     // Virtual Hosts
785 
786     public static final String VIRTUAL_HOSTS_IGNORE_HOSTS = "virtual.hosts.ignore.hosts";
787 
788     public static final String VIRTUAL_HOSTS_IGNORE_PATHS = "virtual.hosts.ignore.paths";
789 
790     // Web Server
791 
792     public static final String WEB_SERVER_HTTP_PORT = "web.server.http.port";
793 
794     public static final String WEB_SERVER_HTTPS_PORT = "web.server.https.port";
795 
796     public static final String WEB_SERVER_HOST = "web.server.host";
797 
798     public static final String WEB_SERVER_PROTOCOL = "web.server.protocol";
799 
800     // Address Book Portlet
801 
802     public static final String ADDRESS_BOOK_CONTACT_JOB_CLASSES = "address.book.contact.job.classes";
803 
804     // Admin Portlet
805 
806     public static final String ADMIN_DEFAULT_GROUP_NAMES = "admin.default.group.names";
807 
808     public static final String ADMIN_DEFAULT_ROLE_NAMES = "admin.default.role.names";
809 
810     public static final String ADMIN_DEFAULT_USER_GROUP_NAMES = "admin.default.user.group.names";
811 
812     public static final String ADMIN_MAIL_HOST_NAMES = "admin.mail.host.names";
813 
814     public static final String ADMIN_RESERVED_SCREEN_NAMES = "admin.reserved.screen.names";
815 
816     public static final String ADMIN_RESERVED_EMAIL_ADDRESSES = "admin.reserved.email.addresses";
817 
818     public static final String ADMIN_EMAIL_FROM_NAME = "admin.email.from.name";
819 
820     public static final String ADMIN_EMAIL_FROM_ADDRESS = "admin.email.from.address";
821 
822     public static final String ADMIN_EMAIL_USER_ADDED_ENABLED = "admin.email.user.added.enabled";
823 
824     public static final String ADMIN_EMAIL_USER_ADDED_SUBJECT = "admin.email.user.added.subject";
825 
826     public static final String ADMIN_EMAIL_USER_ADDED_BODY = "admin.email.user.added.body";
827 
828     public static final String ADMIN_EMAIL_PASSWORD_SENT_ENABLED = "admin.email.password.sent.enabled";
829 
830     public static final String ADMIN_EMAIL_PASSWORD_SENT_SUBJECT = "admin.email.password.sent.subject";
831 
832     public static final String ADMIN_EMAIL_PASSWORD_SENT_BODY = "admin.email.password.sent.body";
833 
834     // Blogs Portlet
835 
836     public static final String BLOGS_EMAIL_COMMENTS_ADDED_ENABLED = "blogs.email.comments.added.enabled";
837 
838     public static final String BLOGS_EMAIL_COMMENTS_ADDED_SUBJECT = "blogs.email.comments.added.subject";
839 
840     public static final String BLOGS_EMAIL_COMMENTS_ADDED_BODY = "blogs.email.comments.added.body";
841 
842     // Calendar Portlet
843 
844     public static final String CALENDAR_EVENT_TYPES = "calendar.event.types";
845 
846     public static final String CALENDAR_EMAIL_FROM_NAME = "calendar.email.from.name";
847 
848     public static final String CALENDAR_EMAIL_FROM_ADDRESS = "calendar.email.from.address";
849 
850     public static final String CALENDAR_EMAIL_EVENT_REMINDER_ENABLED = "calendar.email.event.reminder.enabled";
851 
852     public static final String CALENDAR_EMAIL_EVENT_REMINDER_SUBJECT = "calendar.email.event.reminder.subject";
853 
854     public static final String CALENDAR_EMAIL_EVENT_REMINDER_BODY = "calendar.email.event.reminder.body";
855 
856     // Document Library Portlet
857 
858     public static final String DL_HOOK_IMPL = "dl.hook.impl";
859 
860     public static final String DL_HOOK_FILE_SYSTEM_ROOT_DIR = "dl.hook.file.system.root.dir";
861 
862     public static final String DL_HOOK_S3_ACCESS_KEY = "dl.hook.s3.access.key";
863 
864     public static final String DL_HOOK_S3_SECRET_KEY = "dl.hook.s3.secret.key";
865 
866     public static final String DL_HOOK_S3_BUCKET_NAME = "dl.hook.s3.bucket.name";
867 
868     public static final String DL_FILE_MAX_SIZE = "dl.file.max.size";
869 
870     public static final String DL_FILE_EXTENSIONS = "dl.file.extensions";
871 
872     public static final String DL_LAYOUTS_SYNC_ENABLED = "dl.layouts.sync.enabled";
873 
874     public static final String DL_LAYOUTS_SYNC_PRIVATE_FOLDER = "dl.layouts.sync.private.folder";
875 
876     public static final String DL_LAYOUTS_SYNC_PUBLIC_FOLDER = "dl.layouts.sync.public.folder";
877 
878     // Image Gallery Portlet
879 
880     public static final String IG_IMAGE_MAX_SIZE = "ig.image.max.size";
881 
882     public static final String IG_IMAGE_EXTENSIONS = "ig.image.extensions";
883 
884     public static final String IG_IMAGE_THUMBNAIL_MAX_HEIGHT = "ig.image.thumbnail.max.height";
885 
886     public static final String IG_IMAGE_THUMBNAIL_MAX_WIDTH = "ig.image.thumbnail.max.width";
887 
888     // Invitation Portlet
889 
890     public static final String INVITATION_EMAIL_MAX_RECIPIENTS = "invitation.email.max.recipients";
891 
892     public static final String INVITATION_EMAIL_MESSAGE_BODY = "invitation.email.message.body";
893 
894     public static final String INVITATION_EMAIL_MESSAGE_SUBJECT = "invitation.email.message.subject";
895 
896     // Journal Portlet
897 
898     public static final String JOURNAL_ARTICLE_FORCE_AUTOGENERATE_ID = "journal.article.force.autogenerate.id";
899 
900     public static final String JOURNAL_ARTICLE_FORCE_INCREMENT_VERSION = "journal.article.force.increment.version";
901 
902     public static final String JOURNAL_ARTICLE_TYPES = "journal.article.types";
903 
904     public static final String JOURNAL_ARTICLE_CHECK_INTERVAL = "journal.article.check.interval";
905 
906     public static final String JOURNAL_STRUCTURE_FORCE_AUTOGENERATE_ID = "journal.structure.force.autogenerate.id";
907 
908     public static final String JOURNAL_TEMPLATE_FORCE_AUTOGENERATE_ID = "journal.template.force.autogenerate.id";
909 
910     public static final String JOURNAL_IMAGE_SMALL_MAX_SIZE = "journal.image.small.max.size";
911 
912     public static final String JOURNAL_IMAGE_EXTENSIONS = "journal.image.extensions";
913 
914     public static final String JOURNAL_TRANSFORMER_LISTENER = "journal.transformer.listener";
915 
916     public static final String JOURNAL_SYNC_CONTENT_SEARCH_ON_STARTUP = "journal.sync.content.search.on.startup";
917 
918     public static final String JOURNAL_EMAIL_FROM_NAME = "journal.email.from.name";
919 
920     public static final String JOURNAL_EMAIL_FROM_ADDRESS = "journal.email.from.address";
921 
922     public static final String JOURNAL_EMAIL_ARTICLE_APPROVAL_DENIED_ENABLED = "journal.email.article.approval.denied.enabled";
923 
924     public static final String JOURNAL_EMAIL_ARTICLE_APPROVAL_DENIED_SUBJECT = "journal.email.article.approval.denied.subject";
925 
926     public static final String JOURNAL_EMAIL_ARTICLE_APPROVAL_DENIED_BODY = "journal.email.article.approval.denied.body";
927 
928     public static final String JOURNAL_EMAIL_ARTICLE_APPROVAL_GRANTED_ENABLED = "journal.email.article.approval.granted.enabled";
929 
930     public static final String JOURNAL_EMAIL_ARTICLE_APPROVAL_GRANTED_SUBJECT = "journal.email.article.approval.granted.subject";
931 
932     public static final String JOURNAL_EMAIL_ARTICLE_APPROVAL_GRANTED_BODY = "journal.email.article.approval.granted.body";
933 
934     public static final String JOURNAL_EMAIL_ARTICLE_APPROVAL_REQUESTED_ENABLED = "journal.email.article.approval.requested.enabled";
935 
936     public static final String JOURNAL_EMAIL_ARTICLE_APPROVAL_REQUESTED_SUBJECT = "journal.email.article.approval.requested.subject";
937 
938     public static final String JOURNAL_EMAIL_ARTICLE_APPROVAL_REQUESTED_BODY = "journal.email.article.approval.requested.body";
939 
940     public static final String JOURNAL_EMAIL_ARTICLE_REVIEW_ENABLED = "journal.email.article.review.enabled";
941 
942     public static final String JOURNAL_EMAIL_ARTICLE_REVIEW_SUBJECT = "journal.email.article.review.subject";
943 
944     public static final String JOURNAL_EMAIL_ARTICLE_REVIEW_BODY = "journal.email.article.review.body";
945 
946     public static final String JOURNAL_LAR_CREATION_STRATEGY = "journal.lar.creation.strategy";
947 
948     // Journal Articles Portlet
949 
950     public static final String JOURNAL_ARTICLES_PAGE_DELTA_VALUES = "journal.articles.page.delta.values";
951 
952     // Mail Portlet
953 
954     public static final String MAIL_MX_UPDATE = "mail.mx.update";
955 
956     public static final String MAIL_HOOK_IMPL = "mail.hook.impl";
957 
958     public static final String MAIL_HOOK_CYRUS_ADD_USER = "mail.hook.cyrus.add.user";
959 
960     public static final String MAIL_HOOK_CYRUS_DELETE_USER = "mail.hook.cyrus.delete.user";
961 
962     public static final String MAIL_HOOK_CYRUS_HOME = "mail.hook.cyrus.home";
963 
964     public static final String MAIL_HOOK_FUSEMAIL_URL = "mail.hook.fusemail.url";
965 
966     public static final String MAIL_HOOK_FUSEMAIL_USERNAME = "mail.hook.fusemail.username";
967 
968     public static final String MAIL_HOOK_FUSEMAIL_PASSWORD = "mail.hook.fusemail.password";
969 
970     public static final String MAIL_HOOK_FUSEMAIL_ACCOUNT_TYPE = "mail.hook.fusemail.account.type";
971 
972     public static final String MAIL_HOOK_FUSEMAIL_GROUP_PARENT = "mail.hook.fusemail.group.parent";
973 
974     public static final String MAIL_HOOK_SENDMAIL_ADD_USER = "mail.hook.sendmail.add.user";
975 
976     public static final String MAIL_HOOK_SENDMAIL_CHANGE_PASSWORD = "mail.hook.sendmail.change.password";
977 
978     public static final String MAIL_HOOK_SENDMAIL_DELETE_USER = "mail.hook.sendmail.delete.user";
979 
980     public static final String MAIL_HOOK_SENDMAIL_HOME = "mail.hook.sendmail.home";
981 
982     public static final String MAIL_HOOK_SENDMAIL_VIRTUSERTABLE = "mail.hook.sendmail.virtusertable";
983 
984     public static final String MAIL_HOOK_SENDMAIL_VIRTUSERTABLE_REFRESH = "mail.hook.sendmail.virtusertable.refresh";
985 
986     public static final String MAIL_HOOK_SHELL_SCRIPT = "mail.hook.shell.script";
987 
988     public static final String MAIL_BOX_STYLE = "mail.box.style";
989 
990     public static final String MAIL_INBOX_NAME = "mail.inbox.name";
991 
992     public static final String MAIL_SPAM_NAME = "mail.spam.name";
993 
994     public static final String MAIL_SENT_NAME = "mail.sent.name";
995 
996     public static final String MAIL_DRAFTS_NAME = "mail.drafts.name";
997 
998     public static final String MAIL_TRASH_NAME = "mail.trash.name";
999 
1000    public static final String MAIL_JUNK_MAIL_WARNING_SIZE = "mail.junk-mail.warning.size";
1001
1002    public static final String MAIL_TRASH_WARNING_SIZE = "mail.trash.warning.size";
1003
1004    public static final String MAIL_SMTP_DEBUG = "mail.smtp.debug";
1005
1006    public static final String MAIL_AUDIT_TRAIL = "mail.audit.trail";
1007
1008    public static final String MAIL_ATTACHMENTS_MAX_SIZE = "mail.attachments.max.size";
1009
1010    public static final String MAIL_ACCOUNT_FINDER = "mail.account.finder";
1011
1012    public static final String MAIL_ACCOUNT_FINDER_PASSWORD = "mail.account.finder.password";
1013
1014    public static final String MAIL_RECIPIENT_FINDER = "mail.recipient.finder";
1015
1016    // Message Boards Portlet
1017
1018    public static final String MESSAGE_BOARDS_EMAIL_FROM_NAME = "message.boards.email.from.name";
1019
1020    public static final String MESSAGE_BOARDS_EMAIL_FROM_ADDRESS = "message.boards.email.from.address";
1021
1022    public static final String MESSAGE_BOARDS_EMAIL_MESSAGE_ADDED_ENABLED = "message.boards.email.message.added.enabled";
1023
1024    public static final String MESSAGE_BOARDS_EMAIL_MESSAGE_ADDED_SUBJECT_PREFIX = "message.boards.email.message.added.subject.prefix";
1025
1026    public static final String MESSAGE_BOARDS_EMAIL_MESSAGE_ADDED_BODY = "message.boards.email.message.added.body";
1027
1028    public static final String MESSAGE_BOARDS_EMAIL_MESSAGE_ADDED_SIGNATURE = "message.boards.email.message.added.signature";
1029
1030    public static final String MESSAGE_BOARDS_EMAIL_MESSAGE_UPDATED_ENABLED = "message.boards.email.message.updated.enabled";
1031
1032    public static final String MESSAGE_BOARDS_EMAIL_MESSAGE_UPDATED_SUBJECT_PREFIX = "message.boards.email.message.updated.subject.prefix";
1033
1034    public static final String MESSAGE_BOARDS_EMAIL_MESSAGE_UPDATED_BODY = "message.boards.email.message.updated.body";
1035
1036    public static final String MESSAGE_BOARDS_EMAIL_MESSAGE_UPDATED_SIGNATURE = "message.boards.email.message.updated.signature";
1037
1038    public static final String MESSAGE_BOARDS_EXPIRE_BAN_JOB_INTERVAL = "message.boards.expire.ban.job.interval";
1039
1040    public static final String MESSAGE_BOARDS_EXPIRE_BAN_INTERVAL = "message.boards.expire.ban.interval";
1041
1042    public static final String MESSAGE_BOARDS_RSS_CONTENT_LENGTH = "message.boards.rss.content.length";
1043
1044    public static final String MESSAGE_BOARDS_USER_NAME_ATTRIBUTE = "message.boards.user.name.attribute";
1045
1046    // My Places Portlet
1047
1048    public static final String MY_PLACES_SHOW_USER_PUBLIC_SITES_WITH_NO_LAYOUTS = "my.places.show.user.public.sites.with.no.layouts";
1049
1050    public static final String MY_PLACES_SHOW_USER_PRIVATE_SITES_WITH_NO_LAYOUTS = "my.places.show.user.private.sites.with.no.layouts";
1051
1052    public static final String MY_PLACES_SHOW_ORGANIZATION_PUBLIC_SITES_WITH_NO_LAYOUTS = "my.places.show.organization.public.sites.with.no.layouts";
1053
1054    public static final String MY_PLACES_SHOW_ORGANIZATION_PRIVATE_SITES_WITH_NO_LAYOUTS = "my.places.show.organization.private.sites.with.no.layouts";
1055
1056    public static final String MY_PLACES_SHOW_COMMUNITY_PUBLIC_SITES_WITH_NO_LAYOUTS = "my.places.show.community.public.sites.with.no.layouts";
1057
1058    public static final String MY_PLACES_SHOW_COMMUNITY_PRIVATE_SITES_WITH_NO_LAYOUTS = "my.places.show.community.private.sites.with.no.layouts";
1059
1060    // Portlet CSS Portlet
1061
1062    public static final String PORTLET_CSS_ENABLED = "portlet.css.enabled";
1063
1064    // Shopping Portlet
1065
1066    public static final String SHOPPING_CART_MIN_QTY_MULTIPLE = "shopping.cart.min.qty.multiple";
1067
1068    public static final String SHOPPING_CATEGORY_FORWARD_TO_CART = "shopping.category.forward.to.cart";
1069
1070    public static final String SHOPPING_CATEGORY_SHOW_SPECIAL_ITEMS = "shopping.category.show.special.items";
1071
1072    public static final String SHOPPING_ITEM_SHOW_AVAILABILITY = "shopping.item.show.availability";
1073
1074    public static final String SHOPPING_IMAGE_SMALL_MAX_SIZE = "shopping.image.small.max.size";
1075
1076    public static final String SHOPPING_IMAGE_MEDIUM_MAX_SIZE = "shopping.image.medium.max.size";
1077
1078    public static final String SHOPPING_IMAGE_LARGE_MAX_SIZE = "shopping.image.large.max.size";
1079
1080    public static final String SHOPPING_IMAGE_EXTENSIONS = "shopping.image.extensions";
1081
1082    public static final String SHOPPING_EMAIL_FROM_NAME = "shopping.email.from.name";
1083
1084    public static final String SHOPPING_EMAIL_FROM_ADDRESS = "shopping.email.from.address";
1085
1086    public static final String SHOPPING_EMAIL_ORDER_CONFIRMATION_ENABLED = "shopping.email.order.confirmation.enabled";
1087
1088    public static final String SHOPPING_EMAIL_ORDER_CONFIRMATION_SUBJECT = "shopping.email.order.confirmation.subject";
1089
1090    public static final String SHOPPING_EMAIL_ORDER_CONFIRMATION_BODY = "shopping.email.order.confirmation.body";
1091
1092    public static final String SHOPPING_EMAIL_ORDER_SHIPPING_ENABLED = "shopping.email.order.shipping.enabled";
1093
1094    public static final String SHOPPING_EMAIL_ORDER_SHIPPING_SUBJECT = "shopping.email.order.shipping.subject";
1095
1096    public static final String SHOPPING_EMAIL_ORDER_SHIPPING_BODY = "shopping.email.order.shipping.body";
1097
1098    // Software Catalog Portlet
1099
1100    public static final String SC_IMAGE_MAX_SIZE = "sc.image.max.size";
1101
1102    public static final String SC_IMAGE_THUMBNAIL_MAX_HEIGHT = "sc.image.thumbnail.max.height";
1103
1104    public static final String SC_IMAGE_THUMBNAIL_MAX_WIDTH = "sc.image.thumbnail.max.width";
1105
1106    // Tags Compiler Portlet
1107
1108    public static final String TAGS_COMPILER_ENABLED = "tags.compiler.enabled";
1109
1110    // Tags Portlet
1111
1112    public static final String TAGS_ASSET_VALIDATOR = "tags.asset.validator";
1113
1114    // Translator Portlet
1115
1116    public static final String TRANSLATOR_DEFAULT_LANGUAGES = "translator.default.languages";
1117
1118    // Web Form Portlet
1119
1120    public static final String WEB_FORM_PORTLET_MAX_FIELDS = "web.form.portlet.max.fields";
1121
1122    // Wiki Portlet
1123
1124    public static final String WIKI_FRONT_PAGE_NAME = "wiki.front.page.name";
1125
1126    public static final String WIKI_PERMISSION_CHECKER = "wiki.permission.checker";
1127
1128    public static boolean containsKey(String key) {
1129        return _getInstance().containsKey(key);
1130    }
1131
1132    public static String get(String key) {
1133        return _getInstance().get(key);
1134    }
1135
1136    public static String get(long companyId, String key) {
1137        return _getInstance(companyId).get(key);
1138    }
1139
1140    public static void set(String key, String value) {
1141        _getInstance().set(key, value);
1142    }
1143
1144    public static void set(long companyId, String key, String value) {
1145        _getInstance(companyId).set(key, value);
1146    }
1147
1148    public static String[] getArray(String key) {
1149        return _getInstance().getArray(key);
1150    }
1151
1152    public static Properties getProperties() {
1153        return _getInstance().getProperties();
1154    }
1155
1156    public static ComponentProperties getComponentProperties() {
1157        return _getInstance().getComponentProperties();
1158    }
1159
1160    private static ExtPropertiesLoader _getInstance() {
1161        long companyId = CompanyThreadLocal.getCompanyId();
1162
1163        return _getInstance(companyId);
1164    }
1165
1166    private static ExtPropertiesLoader _getInstance(long companyId) {
1167        if (companyId > CompanyImpl.SYSTEM) {
1168            return ExtPropertiesLoader
1169                    .getInstance(PropsFiles.PORTAL, companyId);
1170        }
1171        else {
1172            return ExtPropertiesLoader.getInstance(PropsFiles.PORTAL);
1173        }
1174    }
1175
1176}