Discussion:
WOPopUpButton Problem
Chad Pilkington
2009-10-21 18:42:51 UTC
Permalink
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?
Chuck Hill
2009-10-21 18:49:27 UTC
Permalink
Post by Chad Pilkington
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 =
= &quot;&lt;com.webobjects.eocontrol._EOCheapCopyMutableArray 4aca7
(&lt;EOAccessArrayFaultHandler toProgramme
prefix = &quot;AA&quot;; typeOffice =
toManagingSponsor =
&quot;&lt;com.webobjects.eocontrol._EOCheapCopyMutableArray 465aab
(&lt;EOAccessArrayFaultHandler toManagingSponsor
toSponsor =
&quot;&lt;com.webobjects.eocontrol._EOCheapCopyMutableArray e33b3d
(&lt;EOAccessArrayFaultHandler toSponsor
toAccess =
&quot;&lt;com.webobjects.eocontrol._EOCheapCopyMutableArray 73cea8
(&lt;EOAccessArrayFaultHandler toAccess
typeSponsor = 1; }; this = &quot;&lt;Db2Country 3346e3
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
Loading...