Re: WOPopUpButton Problem

Chuck Hill <[email protected]> Wed, 21 Oct 2009 11:49:27 -0700
Newsgroups gmane.comp.web.webobjects.devel
Message-ID <[email protected]>
On Oct 21, 2009, at 11:42 AM, Chad Pilkington wrote:

> I have a problem with WOPopUpButtons on an OSX 10.5 server with the  
> latest WO Deployment.  Whenever the displaystring is null it shows  
> the entire object data as if I asked a EOGenericRecords to print out  
> it's toString() method.  It used to just put "null" in the dropdown.
>
> PopUpButton1: WOPopUpButton {
> 	displayString = countryItem.name;
> 	item = countryItem;
> 	list = countryList;
> 	noSelectionString = " -- All Countries -- ";
> 	selection = filterDictionary.myCountry;
> }
>
>
> in the above example if countryItem.name is null I get something  
> like is as the html
>
> <select name="0.0.1.13.3.1"><option value="WONoSelectionString">--  
> Select a Country --</option><option value="0">{values = {typeField =  
> &lt;com.webobjects.foundation.NSKeyValueCoding$Null&gt;; toProgramme  
> = &quot;&lt;com.webobjects.eocontrol._EOCheapCopyMutableArray 4aca7  
> (&lt;EOAccessArrayFaultHandler toProgramme  
> _EOIntegralKeyGlobalID[Country (java.lang.Long)22]&gt;)&gt;&quot;;  
> prefix = &quot;AA&quot;; typeOffice =  
> &lt;com.webobjects.foundation.NSKeyValueCoding$Null&gt;;  
> toManagingSponsor =  
> &quot;&lt;com.webobjects.eocontrol._EOCheapCopyMutableArray 465aab  
> (&lt;EOAccessArrayFaultHandler toManagingSponsor  
> _EOIntegralKeyGlobalID[Country (java.lang.Long)22]&gt;)&gt;&quot;;  
> name = &lt;com.webobjects.foundation.NSKeyValueCoding$Null&gt;;  
> toSponsor =  
> &quot;&lt;com.webobjects.eocontrol._EOCheapCopyMutableArray e33b3d  
> (&lt;EOAccessArrayFaultHandler toSponsor  
> _EOIntegralKeyGlobalID[Country (java.lang.Long)22]&gt;)&gt;&quot;;  
> toAccess =  
> &quot;&lt;com.webobjects.eocontrol._EOCheapCopyMutableArray 73cea8  
> (&lt;EOAccessArrayFaultHandler toAccess  
> _EOIntegralKeyGlobalID[Country (java.lang.Long)22]&gt;)&gt;&quot;;  
> typeSponsor = 1; }; this = &quot;&lt;Db2Country 3346e3  
> _EOIntegralKeyGlobalID[Country (java.lang.Long)22]&gt;&quot;; }</ 
> option><option value="1">Burma</option><option value="2">Canada</ 
> option><option value="3">China</option><option value="4">Colombia</ 
> option><option value="5">Dominican Republic</option><option  
> value="6">Ethiopia</option><option value="7">France</option><option  
> value="8">Guatemala</option><option value="9">Haiti</option><option  
> value="10">Hong Kong</option><option value="11">India</ 
> option><option value="12">Kenya</option><option value="13">Lebanon</ 
> option><option value="14">Papua New Guinea</option><option  
> value="15">Peru</option><option value="16">Romania</option><option  
> value="17">Sudan</option><option value="18">Taiwan</option><option  
> value="19">test</option><option value="20">United Kingdom</ 
> option><option value="21">United States</option><option  
> value="22">Zambia</option></select>
>
> Is there a setting on the server I can do to make it go back  
> displaying null?

No.  Add a method in your component to do this and bind to  
displayString:

public String countryName() {
	return countryItem.name() == null ? "null" : countryItem.name();
}

Chuck


-- 
Chuck Hill             Senior Consultant / VP Development

Practical WebObjects - for developers who want to increase their  
overall knowledge of WebObjects or who are trying to solve specific  
problems.
http://www.global-village.net/products/practical_webobjects