/*
* (C) Copyright 2006-2007 Nuxeo SAS <http://nuxeo.com> and others
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Jean-Marc Orliaguet, Chalmers
*
* $Id$
*/
package org.nuxeo.theme.jsf.component;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.faces.component.UIOutput;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import org.nuxeo.theme.html.ui.Panel;
public class UIPanel extends UIOutput {
private String identifier;
private String url;
private String loading;
private String stylesheet;
private String javascript;
private String subviews;
private String visibleInPerspectives;
private String controlledBy;
private String filter;
@Override
public void encodeAll(final FacesContext context) throws IOException {
final ResponseWriter writer = context.getResponseWriter();
Map<String, String> params = new HashMap<String, String>();
String applicationPath = context.getExternalContext().getRequestParameterMap().get(
"org.nuxeo.theme.application.path");
if (applicationPath == null) {
applicationPath = context.getExternalContext().getRequestContextPath();
}
params.put("org.nuxeo.theme.application.path", applicationPath);
params.put("org.nuxeo.theme.application.name", "");
Map<String, Object> attributes = getAttributes();
params.put("identifier", (String) attributes.get("identifier"));
params.put("url", (String) attributes.get("url"));
params.put("loading", (String) attributes.get("loading"));
params.put("stylesheet", (String) attributes.get("stylesheet"));
params.put("javascript", (String) attributes.get("javascript"));
params.put("subviews", (String) attributes.get("subviews"));
params.put("visibleInPerspectives",
(String) attributes.get("visibleInPerspectives"));
params.put("controlledBy", (String) attributes.get("controlledBy"));
params.put("filter", (String) attributes.get("filter"));
writer.write(Panel.render(params));
}
public String getControlledBy() {
return controlledBy;
}
public void setControlledBy(final String controlledBy) {
this.controlledBy = controlledBy;
}
public String getIdentifier() {
return identifier;
}
public void setIdentifier(final String identifier) {
this.identifier = identifier;
}
public String getJavascript() {
return javascript;
}
public void setJavascript(final String javascript) {
this.javascript = javascript;
}
public String getStylesheet() {
return stylesheet;
}
public void setStylesheet(final String stylesheet) {
this.stylesheet = stylesheet;
}
public String getSubviews() {
return subviews;
}
public void setSubviews(final String subviews) {
this.subviews = subviews;
}
public String getUrl() {
return url;
}
public void setUrl(final String url) {
this.url = url;
}
public String getVisibleInPerspectives() {
return visibleInPerspectives;
}
public void setVisibleInPerspectives(final String visibleInPerspectives) {
this.visibleInPerspectives = visibleInPerspectives;
}
public String getLoading() {
return loading;
}
public void setLoading(String loading) {
this.loading = loading;
}
public String getFilter() {
return filter;
}
public void setFilter(String filter) {
this.filter = filter;
}
}