avatar

600

Fix feedback percentage formatting.

by mrs, 13 Aug, 2008 08:50 PM
355 600  
44 import com.jbidwatcher.util.db.ActiveRecord;
55 import com.jbidwatcher.util.xml.XMLElement;
66 
7 import java.text.NumberFormat;
8 
79 /**
810  * User: Morgan
911  * Date: Sep 29, 2007
------
1416 {
1517   public String getSeller() { return getString("seller"); }
1618   public void setSeller(String name) { setString("seller", name); }
17   public String getPositivePercentage() { return getString("feedback_percentage"); }
19 
20   private static NumberFormat decimalPercentage = null;
21   public String getPositivePercentage() {
22     if(decimalPercentage == null) {
23       decimalPercentage = NumberFormat.getPercentInstance();
24       decimalPercentage.setMinimumFractionDigits(1);
25       decimalPercentage.setMaximumFractionDigits(1);
26     }
27     Double x = Double.parseDouble(getString("feedback_percentage"));
28     return decimalPercentage.format(x/100.0);
29   }
1830   public void setPositivePercentage(String positivePercentage) { setString("feedback_percentage", positivePercentage); }
1931   public int getFeedback() { return getInteger("feedback", 0); }
2032   public void setFeedback(int feedback) { setInteger("feedback", feedback); }
------
3143     xfeedback.setContents(Integer.toString(getFeedback()));
3244     xmlResult.addChild(xfeedback);
3345 
34     xpercentage.setContents(getPositivePercentage());
46     xpercentage.setContents(getString("feedback_percentage"));
3547     xmlResult.addChild(xpercentage);
3648 
3749     return xmlResult;
------
7082   public Seller makeSeller(String sellerName, Seller oldSeller) {
7183     Seller rval = makeSeller(sellerName);
7284     rval.setFeedback(oldSeller.getFeedback());
73     rval.setPositivePercentage(oldSeller.getPositivePercentage());
85     rval.setPositivePercentage(oldSeller.getString("feedback_percentage"));
7486 
7587     rval.saveDB();
7688     return rval;
560 600  
199199         case TableColumnController.BIDCOUNT: return aEntry.getNumBidders();
200200         case TableColumnController.JUSTPRICE: return aEntry.getUSCurBid();
201201         case TableColumnController.SELLER_POSITIVE_FEEDBACK: try {
202           return (int)(Double.parseDouble(aEntry.getPositiveFeedbackPercentage())*10.0);
202           String feedbackPercent = aEntry.getPositiveFeedbackPercentage();
203           if(feedbackPercent != null) feedbackPercent = feedbackPercent.replace("%", "");
204           return safeConvert(feedbackPercent);
203205         } catch(Exception e) {
204206           return Zero;
205207         }
------
244246     }
245247   }
246248 
249   private int safeConvert(String feedbackPercent)
250   {
251     int rval;
252     try {
253       rval = (int) (Double.parseDouble(feedbackPercent) * 10.0);
254     } catch (NumberFormatException e) {
255       rval = 0;
256     }
257     return rval;
258   }
259 
247260   private Currency getMaxOrSnipe(AuctionEntry aEntry) {
248261     if(aEntry.isSniped()) {
249262       return aEntry.getSnipeAmount();
------
446459           return aEntry.getFeedbackScore();
447460         case TableColumnController.SELLER_POSITIVE_FEEDBACK:
448461           String fbp = aEntry.getPositiveFeedbackPercentage();
449           return (fbp == null || fbp.length() == 0)?"--":(fbp+ '%');
462           return (fbp == null || fbp.length() == 0)?"--":fbp;
450463         case TableColumnController.CUR_TOTAL:
451    Currency shipping = aEntry.getShippingWithInsurance();
464           Currency shipping = aEntry.getShippingWithInsurance();
452465           if(shipping.getCurrencyType() == Currency.NONE) {
453      return "--"; // shipping not set so cannot add up values
466             return "--"; // shipping not set so cannot add up values
454467           }
455468           try {
456469             return aEntry.getCurBid().add(shipping);