001: /**
002: * Copyright (c) 2000-2008 Liferay, Inc. All rights reserved.
003: *
004: * Permission is hereby granted, free of charge, to any person obtaining a copy
005: * of this software and associated documentation files (the "Software"), to deal
006: * in the Software without restriction, including without limitation the rights
007: * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
008: * copies of the Software, and to permit persons to whom the Software is
009: * furnished to do so, subject to the following conditions:
010: *
011: * The above copyright notice and this permission notice shall be included in
012: * all copies or substantial portions of the Software.
013: *
014: * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
015: * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
016: * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
017: * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
018: * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
019: * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
020: * SOFTWARE.
021: */package com.liferay.util.bridges.jsf.common;
022:
023: import com.liferay.portal.kernel.language.LanguageUtil;
024:
025: import java.util.Collection;
026: import java.util.Locale;
027: import java.util.Map;
028: import java.util.Set;
029:
030: import javax.faces.context.FacesContext;
031:
032: import org.apache.commons.logging.Log;
033: import org.apache.commons.logging.LogFactory;
034:
035: /**
036: * <a href="LanguageManagedBean.java.html"><b><i>View Source</i></b></a>
037: *
038: * <p>
039: * This class serves as a bridge between the JSF Expression Language (EL)
040: * and Liferay's Language.properties resource bundle.
041: * </p>
042: *
043: * @author Neil Griffin
044: *
045: */
046: public class LanguageManagedBean implements Map {
047:
048: public LanguageManagedBean() {
049:
050: // LEP-3275
051:
052: FacesContext facesContext = FacesContext.getCurrentInstance();
053:
054: _companyId = JSFPortletUtil.getCompanyId(facesContext);
055:
056: if (_companyId == 0) {
057: _log
058: .error("Unable to determine company id from facesContext");
059: }
060: }
061:
062: public void clear() {
063: throw new UnsupportedOperationException();
064: }
065:
066: public boolean containsKey(Object key) {
067: throw new UnsupportedOperationException();
068: }
069:
070: public boolean containsValue(Object value) {
071: throw new UnsupportedOperationException();
072: }
073:
074: public boolean isEmpty() {
075: throw new UnsupportedOperationException();
076: }
077:
078: public Set entrySet() {
079: throw new UnsupportedOperationException();
080: }
081:
082: public Object get(Object key) {
083: Object value = null;
084:
085: if (key != null) {
086: FacesContext facesContext = FacesContext
087: .getCurrentInstance();
088:
089: Locale locale = facesContext.getViewRoot().getLocale();
090:
091: if (locale == null) {
092: locale = facesContext.getApplication()
093: .getDefaultLocale();
094: }
095:
096: value = LanguageUtil
097: .get(_companyId, locale, key.toString());
098:
099: if (_log.isDebugEnabled()) {
100: _log.debug("{companyId=" + _companyId + ", locale="
101: + locale + ", key=" + key + ", value=" + value);
102: }
103: }
104:
105: return value;
106: }
107:
108: public Set keySet() {
109: throw new UnsupportedOperationException();
110: }
111:
112: public Object put(Object key, Object value) {
113: throw new UnsupportedOperationException();
114: }
115:
116: public void putAll(Map map) {
117: throw new UnsupportedOperationException();
118: }
119:
120: public Object remove(Object key) {
121: throw new UnsupportedOperationException();
122: }
123:
124: public int size() {
125: throw new UnsupportedOperationException();
126: }
127:
128: public Collection values() {
129: throw new UnsupportedOperationException();
130: }
131:
132: private static Log _log = LogFactory
133: .getLog(LanguageManagedBean.class);
134:
135: private long _companyId = 0;
136:
137: }
|