예제 #1
0
 private static void copyInternal(Composable source, Composed target, BeanWrapper parent) {
   // copy(source, target);
   if (target instanceof Mixture) {
     Mixture mixture = (Mixture) target;
     String totalPropName =
         CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, mixture.getSubstanceName() + "Total");
     if (parent.isReadableProperty(totalPropName)
         && parent.getPropertyType(totalPropName) == Double.class) {
       Double total = (Double) parent.getPropertyValue(totalPropName);
       if (total != null) {
         if (mixture.isComplete()) {
           double t = mixture.getAmount();
           mixture.setRemains(Math.max(total - t, 0.0));
         } else {
           mixture.setAmount(total);
         }
       }
     }
   }
 }
예제 #2
0
  public static void copy(NutritionInfo source, Composed target) {

    for (Substance substance : target) {
      String propName =
          CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, substance.getSubstanceName());
      if (!propName.equals(null)) {
        Double value = 0.0;
        switch (propName) {
          case "fiber":
            value = source.getFiber();
            break;
          case "ash":
            value = source.getAsh();
            break;
          case "carbohydrates":
            value = source.getCarbohydratesTotal();
            break;
          case "cholesterol":
            value = source.getCholesterol();
            break;
          case "ethanol":
            value = source.getEthanol();
            break;
          case "water":
            value = source.getWater();
            break;
          case "fats":
            value = source.getFatsTotal();
            break;
          case "proteins":
            value = source.getProteinsTotal();
            break;
            //					case ": sodium": value = source.get;break;
            //					case ": potassium": value = source.getPo;break;
            //					case ": calcium": value = source.getFiber();break;
            //					case ": phosphorus": value = source.getFiber();break;
            //					case ": magnesium": value = source.getFiber();break;
            //					case ": iron": value = source.getFiber();break;
            //					case ": zinc": value = source.getFiber();break;
            //					case ": copper": value = source.getFiber();break;
            //					case ": manganese": value = source.getFiber();break;
            //					case ": iodine": value = source.getFiber();break;
            //					case ": vitaminA": value = source.getFiber();break;
            //					case ": retinol": value = source.getFiber();break;
            //					case ": betaCarotene": value = source.getFiber();break;
            //					case ": vitaminD": value = source.getFiber();break;
            //					case ": vitaminE": value = source.getFiber();break;
            //					case ": thiamine": value = source.getFiber();break;
            //					case ": riboflavin": value = source.getFiber();break;
            //					case ": niacin": value = source.getFiber();break;
            //					case ": vitaminB6": value = source.getFiber();break;
            //					case ": folicAcid": value = source.getFiber();break;
            //					case ": vitaminB12": value = source.getFiber();break;
            //					case ": vitaminC": value = source.getFiber();break;
          default:
            break;
        }

        if (value != null && value >= 0) {
          if (value > 0)
            //								write.addToText(substance.getSubstanceName()+" -> "+value);
            substance.setAmount(value);
        } else {
          substance.setAmount(Double.NaN);
          if (target instanceof Mixture) {
            ((Mixture) target).setComplete(false);
          }
        }
      }
    }
  }