001: /**
002: * @author <a href="mailto:novotny@gridsphere.org">Jason Novotny</a>
003: * @version $Id: BaseBean.java 6385 2007-10-25 14:02:26Z wehrens $
004: */package org.gridsphere.provider.portletui.beans;
005:
006: import org.gridsphere.portlet.impl.SportletProperties;
007:
008: import javax.portlet.RenderResponse;
009: import javax.portlet.RenderRequest;
010: import java.util.HashMap;
011: import java.util.Locale;
012: import java.util.Map;
013: import java.util.ResourceBundle;
014:
015: /**
016: * The abstract <code>BaseBean</code> is an implementation of the <code>TagBean</code> interface.
017: * <code>BaseBean</code> provides the basic functionality for all visual beans.
018: */
019: public abstract class BaseBean implements TagBean {
020:
021: protected String beanId = "";
022: protected String vbName = "undefined";
023: protected Locale locale = null;
024: protected Map params = new HashMap();
025: public RenderResponse renderResponse;
026: public RenderRequest renderRequest;
027:
028: public RenderResponse getRenderResponse() {
029: return renderResponse;
030: }
031:
032: public void setRenderResponse(RenderResponse renderResponse) {
033: this .renderResponse = renderResponse;
034: }
035:
036: public RenderRequest getRenderRequest() {
037: return renderRequest;
038: }
039:
040: public void setRenderRequest(RenderRequest renderRequest) {
041: this .renderRequest = renderRequest;
042: }
043:
044: /**
045: * Constructs default base bean
046: */
047: public BaseBean() {
048: super ();
049: }
050:
051: /**
052: * Constructs a base bean for the supplied visual bean type
053: *
054: * @param vbName a name identifying the type of visual bean
055: */
056: public BaseBean(String vbName) {
057: this .vbName = vbName;
058: }
059:
060: public void addParam(String name, String value) {
061: params.put(name, value);
062: }
063:
064: public void removeParam(String name) {
065: params.remove(name);
066: }
067:
068: protected String createTagName(String name) {
069: String sname = "";
070: String pname = (name == null) ? "" : name;
071: String compId = (String) params
072: .get(SportletProperties.GP_COMPONENT_ID);
073: if (beanId.equals(""))
074: return pname;
075: if (compId == null) {
076: sname = "ui_" + vbName + "_" + beanId + "_" + pname;
077: } else {
078: String cid = (String) params
079: .get(SportletProperties.COMPONENT_ID);
080: sname = "ui_" + vbName + "_" + compId + "%" + beanId + "_"
081: + pname + cid;
082: }
083: return sname;
084: }
085:
086: public void setLocale(Locale locale) {
087: this .locale = locale;
088: }
089:
090: /**
091: * Returns the bean identifier
092: *
093: * @return the bean identifier
094: */
095: public String getBeanId() {
096: return this .beanId;
097: }
098:
099: /**
100: * Sets the bean identifier
101: *
102: * @param beanId the bean identifier
103: */
104: public void setBeanId(String beanId) {
105: this .beanId = beanId;
106: }
107:
108: public abstract String toStartString();
109:
110: public abstract String toEndString();
111:
112: public String getBeanKey() {
113: String cid = (String) params
114: .get(SportletProperties.COMPONENT_ID);
115: String compId = (String) params
116: .get(SportletProperties.GP_COMPONENT_ID);
117:
118: String beanKey = null;
119: if (compId == null) {
120: beanKey = beanId + "_" + cid;
121: } else {
122: beanKey = compId + "%" + beanId + "_" + cid;
123: }
124: System.err.println("getBeanKey(" + beanId + ") = " + beanKey);
125: return beanKey;
126: }
127:
128: protected String getLocalizedText(String key) {
129: return getLocalizedText(key, "gridsphere.resources.Portlet");
130: }
131:
132: protected String getLocalizedText(String key, String base) {
133: ResourceBundle bundle = ResourceBundle.getBundle(base, locale);
134: return bundle.getString(key);
135: }
136:
137: }
|