001/* 002 * (C) Copyright 2006-2007 Nuxeo SAS (http://nuxeo.com/) and contributors. 003 * 004 * All rights reserved. This program and the accompanying materials 005 * are made available under the terms of the GNU Lesser General Public License 006 * (LGPL) version 2.1 which accompanies this distribution, and is available at 007 * http://www.gnu.org/licenses/lgpl.html 008 * 009 * This library is distributed in the hope that it will be useful, 010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 012 * Lesser General Public License for more details. 013 * 014 * Contributors: 015 * <a href="mailto:at@nuxeo.com">Anahide Tchertchian</a> 016 * 017 * $Id: ListWidgetTypeHandler.java 26053 2007-10-16 01:45:43Z atchertchian $ 018 */ 019 020package org.nuxeo.ecm.platform.forms.layout.facelets.plugins; 021 022import org.nuxeo.ecm.platform.forms.layout.api.Widget; 023import org.nuxeo.runtime.api.Framework; 024import org.nuxeo.runtime.services.config.ConfigurationService; 025 026/** 027 * List widget type, using a fixed template. 028 * 029 * @author <a href="mailto:at@nuxeo.com">Anahide Tchertchian</a> 030 */ 031public class ListWidgetTypeHandler extends TemplateWidgetTypeHandler { 032 033 private static final long serialVersionUID = 6886289896957398368L; 034 035 public static final String COMPAT_TEMPLATE_PROPERTY_NAME = "compatTemplate"; 036 037 @Override 038 protected String getTemplateValue(Widget widget) { 039 ConfigurationService configurationService = Framework.getService(ConfigurationService.class); 040 boolean useCompat = configurationService.isBooleanPropertyTrue("nuxeo.jsf.listWidget.compatEnabled"); 041 if (useCompat) { 042 return lookupProperty(COMPAT_TEMPLATE_PROPERTY_NAME, widget); 043 } else { 044 return super.getTemplateValue(widget); 045 } 046 } 047 048}