1 package org.gnomekr.potron.web.view; 2 3 import java.util.Date; 4 import java.util.Map; 5 6 import org.apache.commons.lang.NullArgumentException; 7 import org.gnomekr.potron.statistics.TranslationStatus; 8 import org.jfree.data.general.DefaultPieDataset; 9 10 import de.laures.cewolf.DatasetProduceException; 11 import de.laures.cewolf.DatasetProducer; 12 13 /*** 14 * TranslationStatusDataset.java 15 * @author Xavier Cho 16 * @version $Revision 1.1 $ $Date: 2005/07/22 07:25:33 $ 17 */ 18 public class TranslationStatusDataset implements DatasetProducer { 19 20 private static final long serialVersionUID = 1399872886079057685L; 21 22 private TranslationStatus status; 23 24 public TranslationStatusDataset(TranslationStatus status) { 25 if (status == null) { 26 throw new NullArgumentException("status"); 27 } 28 this.status = status; 29 } 30 31 public Object produceDataset(Map params) throws DatasetProduceException { 32 DefaultPieDataset dataset = new DefaultPieDataset(); 33 34 dataset.setValue("translated", status.getTranslatedEntries()); 35 dataset.setValue("untranslated", status.getEntries() 36 - status.getTranslatedEntries() - status.getFuzzyEntries() 37 - status.getCheckedOutEntries()); 38 dataset.setValue("fuzzy", status.getFuzzyEntries()); 39 dataset.setValue("checked out", status.getCheckedOutEntries()); 40 41 return dataset; 42 } 43 44 /*** 45 * @see de.laures.cewolf.DatasetProducer#hasExpired(java.util.Map, java.util.Date) 46 * TODO Implement some sort of caching rule. 47 */ 48 public boolean hasExpired(Map params, Date since) { 49 return false; 50 } 51 52 /*** 53 * @see de.laures.cewolf.DatasetProducer#getProducerId() 54 */ 55 public String getProducerId() { 56 return getClass().getName(); 57 } 58 }