You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by vg...@apache.org on 2003/11/09 19:00:50 UTC

cvs commit: cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/formmodel AbstractDatatypeWidgetDefinitionBuilder.java

vgritsenko    2003/11/09 10:00:50

  Modified:    src/blocks/woody/java/org/apache/cocoon/woody/formmodel
                        AbstractDatatypeWidgetDefinitionBuilder.java
  Log:
  always release components
  
  Revision  Changes    Path
  1.5       +14 -11    cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/formmodel/AbstractDatatypeWidgetDefinitionBuilder.java
  
  Index: AbstractDatatypeWidgetDefinitionBuilder.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/formmodel/AbstractDatatypeWidgetDefinitionBuilder.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- AbstractDatatypeWidgetDefinitionBuilder.java	22 Oct 2003 20:22:07 -0000	1.4
  +++ AbstractDatatypeWidgetDefinitionBuilder.java	9 Nov 2003 18:00:50 -0000	1.5
  @@ -72,26 +72,29 @@
   
           Element selectionListElement = DomHelper.getChildElement(widgetElement, Constants.WD_NS, "selection-list");
           if (selectionListElement != null) {
  -
               // Get an appropriate list builder
  -
               ServiceSelector builderSelector = (ServiceSelector)this.serviceManager.lookup(SelectionListBuilder.ROLE + "Selector");
  -
  -            // listType can be null, meaning we will use the default selection list
  -            String listType = selectionListElement.getAttribute("type");
  -            if (listType.length() == 0) listType = null;
  -            
  -            SelectionListBuilder builder = (SelectionListBuilder)builderSelector.select(listType);
  -            
  +            SelectionListBuilder builder = null;
               try {
  +                // listType can be null, meaning we will use the default selection list
  +                String listType = selectionListElement.getAttribute("type");
  +                if ("".equals(listType)) {
  +                    listType = null;
  +                }
  +
  +                builder = (SelectionListBuilder)builderSelector.select(listType);
                   SelectionList list = builder.build(selectionListElement, widget.getDatatype());
                   widget.setSelectionList(list);
               } finally {
  -                builderSelector.release(builder);
  +                if (builder != null) {
  +                    builderSelector.release(builder);
  +                }
                   this.serviceManager.release(builderSelector);
               }
  +
               return true;
  -        } else
  +        } else {
               return false;
  +        }
       }
   }