Changeset 30416

Show
Ignore:
Timestamp:
02/21/08 20:10:37 (9 months ago)
Author:
atchertchian
Message:

NXP-2114: try to avoid duplicate id problems, generating ids from a real base, and not from an id that has already been returned by the facelet context

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • org.nuxeo.ecm.platform/branches/5.1/nuxeo-platform-forms-layout-client/src/main/java/org/nuxeo/ecm/platform/forms/layout/facelets/FaceletHandlerHelper.java

    r28493 r30416  
    2828import javax.faces.component.html.HtmlMessage; 
    2929 
     30import org.apache.commons.logging.Log; 
     31import org.apache.commons.logging.LogFactory; 
    3032import org.nuxeo.ecm.platform.forms.layout.api.FieldDefinition; 
    3133import org.nuxeo.ecm.platform.forms.layout.api.Widget; 
     
    5456public final class FaceletHandlerHelper { 
    5557 
     58    @SuppressWarnings("unused") 
     59    private static final Log log = LogFactory.getLog(FaceletHandlerHelper.class); 
     60 
    5661    public static final String LAYOUT_ID_PREFIX = "nxl_"; 
    5762 
     
    8792     */ 
    8893    public String generateUniqueId(String base) { 
    89         return context.generateUniqueId(base); 
     94        String id = context.generateUniqueId(base); 
     95        // log.info("gid context=" + context.toString() + ", base=" + base 
     96        // + ", id=" + id); 
     97        return id; 
    9098    } 
    9199 
    92100    public String generateWidgetId(String widgetName) { 
    93         return context.generateUniqueId(WIDGET_ID_PREFIX + widgetName); 
     101        return generateUniqueId(WIDGET_ID_PREFIX + widgetName); 
    94102    } 
    95103 
    96104    public String generateLayoutId(String layoutName) { 
    97         return context.generateUniqueId(LAYOUT_ID_PREFIX + layoutName); 
     105        return generateUniqueId(LAYOUT_ID_PREFIX + layoutName); 
    98106    } 
    99107 
    100108    public String generateMessageId(String widgetId) { 
    101         return context.generateUniqueId(widgetId + MESSAGE_ID_SUFFIX); 
     109        return generateUniqueId(widgetId + MESSAGE_ID_SUFFIX); 
    102110    } 
    103111 
     
    119127    public TagAttribute createAttribute(String name, Serializable value) { 
    120128        if (value == null || value instanceof String) { 
    121             return new TagAttribute(tagConfig.getTag().getLocation(), "", 
    122                     name, name, (String) value); 
     129            return new TagAttribute(tagConfig.getTag().getLocation(), "", name, 
     130                    name, (String) value); 
    123131        } 
    124132        return null; 
     
    133141 
    134142    public static TagAttributes getTagAttributes(List<TagAttribute> attributes) { 
    135         return getTagAttributes(attributes.toArray(new TagAttribute[]{})); 
     143        return getTagAttributes(attributes.toArray(new TagAttribute[] {})); 
    136144    } 
    137145 
     
    139147            TagAttribute newAttr) { 
    140148        if (orig == null) { 
    141             return new TagAttributes(new TagAttribute[]{ newAttr }); 
     149            return new TagAttributes(new TagAttribute[] { newAttr }); 
    142150        } 
    143151        List<TagAttribute> allAttrs = new ArrayList<TagAttribute>( 
  • org.nuxeo.ecm.platform/branches/5.1/nuxeo-platform-forms-layout-client/src/main/java/org/nuxeo/ecm/platform/forms/layout/facelets/WidgetTagHandler.java

    r28493 r30416  
    3636 
    3737import com.sun.facelets.FaceletContext; 
    38 import com.sun.facelets.FaceletException; 
    3938import com.sun.facelets.FaceletHandler; 
    4039import com.sun.facelets.TemplateClient; 
  • org.nuxeo.ecm.platform/branches/5.1/nuxeo-platform-forms-layout-client/src/main/java/org/nuxeo/ecm/platform/forms/layout/facelets/plugins/CheckboxWidgetTypeHandler.java

    r29116 r30416  
    5353        String mode = widget.getMode(); 
    5454        String widgetId = widget.getId(); 
     55        String widgetName = widget.getName(); 
    5556        TagAttributes attributes = helper.getTagAttributes(widgetId, widget); 
    5657        FaceletHandler leaf = new LeafFaceletHandler(); 
     
    5859            ComponentHandler input = helper.getHtmlComponentHandler(attributes, 
    5960                    leaf, HtmlSelectBooleanCheckbox.COMPONENT_TYPE, null); 
    60             String msgId = helper.generateMessageId(widgetId); 
     61            String msgId = helper.generateMessageId(widgetName); 
    6162            ComponentHandler message = helper.getMessageComponentHandler(msgId, 
    6263                    widgetId, null); 
  • org.nuxeo.ecm.platform/branches/5.1/nuxeo-platform-forms-layout-client/src/main/java/org/nuxeo/ecm/platform/forms/layout/facelets/plugins/DateTimeWidgetTypeHandler.java

    r28498 r30416  
    5858        String mode = widget.getMode(); 
    5959        String widgetId = widget.getId(); 
     60        String widgetName = widget.getName(); 
    6061        TagAttributes attributes = helper.getTagAttributes(widgetId, widget); 
    6162        FaceletHandler leaf = new LeafFaceletHandler(); 
     
    6364            ComponentHandler input = helper.getHtmlComponentHandler(attributes, 
    6465                    leaf, UIInputDateTime.COMPONENT_TYPE, null); 
    65             String msgId = helper.generateMessageId(widgetId); 
     66            String msgId = helper.generateMessageId(widgetName); 
    6667            ComponentHandler message = helper.getMessageComponentHandler(msgId, 
    6768                    widgetId, null); 
  • org.nuxeo.ecm.platform/branches/5.1/nuxeo-platform-forms-layout-client/src/main/java/org/nuxeo/ecm/platform/forms/layout/facelets/plugins/DirectorySelectManyWidgetTypeHandler.java

    r28493 r30416  
    7171        String mode = widget.getMode(); 
    7272        String widgetId = widget.getId(); 
     73        String widgetName = widget.getName(); 
    7374        TagAttributes attributes = helper.getTagAttributes(widgetId, widget); 
    7475        if (BuiltinWidgetModes.EDIT.equals(mode)) { 
    7576            ComponentHandler input = helper.getHtmlComponentHandler(attributes, 
    7677                    leaf, SelectManyListboxComponent.COMPONENT_TYPE, null); 
    77             String msgId = helper.generateMessageId(widgetId); 
     78            String msgId = helper.generateMessageId(widgetName); 
    7879            ComponentHandler message = helper.getMessageComponentHandler(msgId, 
    7980                    widgetId, null); 
    80             FaceletHandler[] handlers = new FaceletHandler[]{ input, message }; 
     81            FaceletHandler[] handlers = new FaceletHandler[] { input, message }; 
    8182            return new CompositeFaceletHandler(handlers); 
    8283        } else { 
     
    100101                return leaf; 
    101102            } 
    102             TagAttributes tableAttributes = helper.getTagAttributes( 
    103                     helper.createIdAttribute(widgetId), valueAttr, 
     103            TagAttributes tableAttributes = FaceletHandlerHelper.getTagAttributes( 
     104                    helper.createIdAttribute(widgetName), valueAttr, 
    104105                    helper.createAttribute("var", "item"), 
    105106                    helper.createAttribute("layout", "simple")); 
     
    110111                    if (!"value".equals(property.getKey())) { 
    111112                        TagAttribute attr = helper.createAttribute( 
    112                                 property.getKey(), 
    113                                 property.getValue()); 
     113                                property.getKey(), property.getValue()); 
    114114                        if (attr != null) { 
    115115                            attrs.add(attr); 
     
    119119            } 
    120120            attrs.add(helper.createAttribute("value", "#{item}")); 
    121             TagAttributes dirEntryAttrs = helper.getTagAttributes(attrs); 
     121            TagAttributes dirEntryAttrs = FaceletHandlerHelper.getTagAttributes(attrs); 
    122122 
    123123            // use html tag to get <div> tags between each entry. 
    124             TagAttributes divAttrs = helper.getTagAttributes(helper.createAttribute( 
     124            TagAttributes divAttrs = FaceletHandlerHelper.getTagAttributes(helper.createAttribute( 
    125125                    "value", "div")); 
    126126 
  • org.nuxeo.ecm.platform/branches/5.1/nuxeo-platform-forms-layout-client/src/main/java/org/nuxeo/ecm/platform/forms/layout/facelets/plugins/DirectorySelectOneWidgetTypeHandler.java

    r28498 r30416  
    5959        String mode = widget.getMode(); 
    6060        String widgetId = widget.getId(); 
     61        String widgetName = widget.getName(); 
    6162        TagAttributes attributes = helper.getTagAttributes(widgetId, widget); 
    6263        if (BuiltinWidgetModes.EDIT.equals(mode)) { 
    6364            ComponentHandler input = helper.getHtmlComponentHandler(attributes, 
    6465                    leaf, SelectOneListboxComponent.COMPONENT_TYPE, null); 
    65             String msgId = helper.generateMessageId(widgetId); 
     66            String msgId = helper.generateMessageId(widgetName); 
    6667            ComponentHandler message = helper.getMessageComponentHandler(msgId, 
    6768                    widgetId, null); 
  • org.nuxeo.ecm.platform/branches/5.1/nuxeo-platform-forms-layout-client/src/main/java/org/nuxeo/ecm/platform/forms/layout/facelets/plugins/FileWidgetTypeHandler.java

    r28498 r30416  
    5555        String mode = widget.getMode(); 
    5656        String widgetId = widget.getId(); 
     57        String widgetName = widget.getName(); 
    5758        TagAttributes attributes = helper.getTagAttributes(widgetId, widget); 
    5859        // add filename from field definition 
     
    6364                    ValueExpressionHelper.createExpressionString( 
    6465                            widget.getValueName(), filenameField)); 
    65             attributes = helper.addTagAttribute(attributes, filenameAttr); 
     66            attributes = FaceletHandlerHelper.addTagAttribute(attributes, 
     67                    filenameAttr); 
    6668        } 
    6769        FaceletHandler leaf = new LeafFaceletHandler(); 
     
    6971            ComponentHandler input = helper.getHtmlComponentHandler(attributes, 
    7072                    leaf, UIInputFile.COMPONENT_TYPE, null); 
    71             String msgId = helper.generateMessageId(widgetId); 
     73            String msgId = helper.generateMessageId(widgetName); 
    7274            ComponentHandler message = helper.getMessageComponentHandler(msgId, 
    7375                    widgetId, null); 
    74             FaceletHandler[] handlers = new FaceletHandler[]{ input, message }; 
     76            FaceletHandler[] handlers = new FaceletHandler[] { input, message }; 
    7577            return new CompositeFaceletHandler(handlers); 
    7678        } else { 
  • org.nuxeo.ecm.platform/branches/5.1/nuxeo-platform-forms-layout-client/src/main/java/org/nuxeo/ecm/platform/forms/layout/facelets/plugins/HtmlTextWidgetTypeHandler.java

    r28498 r30416  
    5454        String mode = widget.getMode(); 
    5555        String widgetId = widget.getId(); 
     56        String widgetName = widget.getName(); 
    5657        TagAttributes attributes = helper.getTagAttributes(widgetId, widget); 
    5758        FaceletHandler leaf = new LeafFaceletHandler(); 
     
    5960            ComponentHandler input = helper.getHtmlComponentHandler(attributes, 
    6061                    leaf, UIHtmlEditor.COMPONENT_TYPE, null); 
    61             String msgId = helper.generateMessageId(widgetId); 
     62            String msgId = helper.generateMessageId(widgetName); 
    6263            ComponentHandler message = helper.getMessageComponentHandler(msgId, 
    6364                    widgetId, null); 
    64             FaceletHandler[] handlers = new FaceletHandler[]{ input, message }; 
     65            FaceletHandler[] handlers = new FaceletHandler[] { input, message }; 
    6566            return new CompositeFaceletHandler(handlers); 
    6667        } else { 
    6768            // default on text for other modes, do not escape 
    6869            TagAttribute escape = helper.createAttribute("escape", "false"); 
    69             attributes = helper.addTagAttribute(attributes, escape); 
     70            attributes = FaceletHandlerHelper.addTagAttribute(attributes, 
     71                    escape); 
    7072            ComponentHandler output = helper.getHtmlComponentHandler( 
    7173                    attributes, leaf, HtmlOutputText.COMPONENT_TYPE, null); 
  • org.nuxeo.ecm.platform/branches/5.1/nuxeo-platform-forms-layout-client/src/main/java/org/nuxeo/ecm/platform/forms/layout/facelets/plugins/IntWidgetTypeHandler.java

    r28498 r30416  
    5959        String mode = widget.getMode(); 
    6060        String widgetId = widget.getId(); 
     61        String widgetName = widget.getName(); 
    6162        TagAttributes attributes = helper.getTagAttributes(widgetId, widget); 
    6263        FaceletHandler leaf = new LeafFaceletHandler(); 
     
    6869            ComponentHandler input = helper.getHtmlComponentHandler(attributes, 
    6970                    convert, HtmlInputText.COMPONENT_TYPE, null); 
    70             String msgId = helper.generateMessageId(widgetId); 
     71            String msgId = helper.generateMessageId(widgetName); 
    7172            ComponentHandler message = helper.getMessageComponentHandler(msgId, 
    7273                    widgetId, null); 
  • org.nuxeo.ecm.platform/branches/5.1/nuxeo-platform-forms-layout-client/src/main/java/org/nuxeo/ecm/platform/forms/layout/facelets/plugins/SecretWidgetTypeHandler.java

    r28498 r30416  
    5252        String mode = widget.getMode(); 
    5353        String widgetId = widget.getId(); 
     54        String widgetName = widget.getName(); 
    5455        TagAttributes attributes = helper.getTagAttributes(widgetId, widget); 
    5556        FaceletHandler leaf = new LeafFaceletHandler(); 
     
    5758            ComponentHandler input = helper.getHtmlComponentHandler(attributes, 
    5859                    leaf, HtmlInputSecret.COMPONENT_TYPE, null); 
    59             String msgId = helper.generateMessageId(widgetId); 
     60            String msgId = helper.generateMessageId(widgetName); 
    6061            ComponentHandler message = helper.getMessageComponentHandler(msgId, 
    6162                    widgetId, null); 
  • org.nuxeo.ecm.platform/branches/5.1/nuxeo-platform-forms-layout-client/src/main/java/org/nuxeo/ecm/platform/forms/layout/facelets/plugins/TextWidgetTypeHandler.java

    r28498 r30416  
    5353        String mode = widget.getMode(); 
    5454        String widgetId = widget.getId(); 
     55        String widgetName = widget.getName(); 
    5556        TagAttributes attributes = helper.getTagAttributes(widgetId, widget); 
    5657        FaceletHandler leaf = new LeafFaceletHandler(); 
     
    5859            ComponentHandler input = helper.getHtmlComponentHandler(attributes, 
    5960                    leaf, HtmlInputText.COMPONENT_TYPE, null); 
    60             String msgId = helper.generateMessageId(widgetId); 
     61            String msgId = helper.generateMessageId(widgetName); 
    6162            ComponentHandler message = helper.getMessageComponentHandler(msgId, 
    6263                    widgetId, null); 
  • org.nuxeo.ecm.platform/branches/5.1/nuxeo-platform-forms-layout-client/src/main/java/org/nuxeo/ecm/platform/forms/layout/facelets/plugins/TextareaWidgetTypeHandler.java

    r28498 r30416  
    5353        String mode = widget.getMode(); 
    5454        String widgetId = widget.getId(); 
     55        String widgetName = widget.getName(); 
    5556        TagAttributes attributes = helper.getTagAttributes(widgetId, widget); 
    5657        FaceletHandler leaf = new LeafFaceletHandler(); 
     
    5859            ComponentHandler input = helper.getHtmlComponentHandler(attributes, 
    5960                    leaf, HtmlInputTextarea.COMPONENT_TYPE, null); 
    60             String msgId = helper.generateMessageId(widgetId); 
     61            String msgId = helper.generateMessageId(widgetName); 
    6162            ComponentHandler message = helper.getMessageComponentHandler(msgId, 
    6263                    widgetId, null);