Example #1
0
 public static NutritionalContentItem searchForNutrient(
     EnergyNutrientsVitamins nutrientGroup, NutritionalContentCode code) {
   for (NutritionalContentItem nutrient : nutrientGroup.getNutrients()) {
     if (nutrient.getNutritionalContent() == code) {
       return (nutrient);
     }
   }
   return null;
 }
Example #2
0
 private List<NutritionalContentItem> searchForNutrient(String nutrientCodeName) {
   List<NutritionalContentItem> list = new ArrayList<>();
   if (nutrientCodeName.isEmpty()) {
     // return all possible nutritionalContentItems
     for (EnergyNutrientsVitamins item :
         this.ingredientsAndAllergens.getEnergyNutrientsVitamins()) {
       list.addAll(item.getNutrients());
     }
   } else {
     // only add specific nutrient items
     NutritionalContentCode code =
         ImportProductData.parseCodeEquals(NutritionalContentCode.INVALID, nutrientCodeName, null);
     for (EnergyNutrientsVitamins item :
         this.ingredientsAndAllergens.getEnergyNutrientsVitamins()) {
       NutritionalContentItem nutrient = searchForNutrient(item, code);
       if (nutrient == null) {
         continue;
       }
       list.add(nutrient);
     }
   }
   return list;
 }
Example #3
0
 private List<OtherNutritionalContentItem> searchForOtherNutrient(String otherNutrientCodeName) {
   List<OtherNutritionalContentItem> list = new ArrayList<>();
   if (otherNutrientCodeName.isEmpty()) {
     // return all possible vitaminMineralItems
     for (EnergyNutrientsVitamins item :
         this.ingredientsAndAllergens.getEnergyNutrientsVitamins()) {
       list.addAll(item.getOtherNutrients());
     }
   } else {
     // only add specific vitamin/mineral items
     OtherNutrientContentCode code =
         ImportProductData.parseCodeEquals(
             OtherNutrientContentCode.INVALID, otherNutrientCodeName, null);
     for (EnergyNutrientsVitamins item :
         this.ingredientsAndAllergens.getEnergyNutrientsVitamins()) {
       for (OtherNutritionalContentItem otherNutrient : item.getOtherNutrients()) {
         if (otherNutrient.getOtherNutritionalContentCode() == code) {
           list.add(otherNutrient);
         }
       }
     }
   }
   return list;
 }
Example #4
0
 private List<VitaminMineralItem> searchForVitaminMineral(String vitaminMineralCodeName) {
   List<VitaminMineralItem> list = new ArrayList<>();
   if (vitaminMineralCodeName.isEmpty()) {
     // return all possible vitaminMineralItems
     for (EnergyNutrientsVitamins item :
         this.ingredientsAndAllergens.getEnergyNutrientsVitamins()) {
       list.addAll(item.getVitaminsMinerals());
     }
   } else {
     // only add specific vitamin/mineral items
     VitaminsMineralsCode code =
         ImportProductData.parseCodeEquals(
             VitaminsMineralsCode.INVALID, vitaminMineralCodeName, null);
     for (EnergyNutrientsVitamins item :
         this.ingredientsAndAllergens.getEnergyNutrientsVitamins()) {
       for (VitaminMineralItem vitaminMineral : item.getVitaminsMinerals()) {
         if (vitaminMineral.getVitaminMineralCode() == code) {
           list.add(vitaminMineral);
         }
       }
     }
   }
   return list;
 }
Example #5
0
  private List<String> getStringFieldIngredientsAndAllergens(String fieldName) {
    List<String> list = new ArrayList<String>();
    String specifier = "";
    if (fieldName.contains("[")) {
      String[] parts = fieldName.split("\\[");
      assertTrue(parts.length <= 2);
      fieldName = parts[0].trim();
      specifier = parts[1].replace("]", "").trim();
    }

    switch (fieldName) {
      case "Zutatenliste":
        return Arrays.asList(this.ingredientsAndAllergens.getIngredients());
      case "Gentechnisch verändertes Protein oder DNA: Grad des Vorkommens":
        return Arrays.asList(this.ingredientsAndAllergens.getGeneticallyModifiedDeclarationCode());
      case "Allergenangaben":
        for (AllergyItem item : this.ingredientsAndAllergens.getAllergens()) {
          String result = (item.getAllergen() + ": " + item.getAmount().name());
          list.add(result);
        }
        return list;
      case "Allergenhinweise":
        return Arrays.asList(this.ingredientsAndAllergens.getAllergenStatement());
      case "Zubereitungsgrad":
        for (EnergyNutrientsVitamins item :
            this.ingredientsAndAllergens.getEnergyNutrientsVitamins()) {
          list.add(item.getPreparationState().name());
        }
        return list;
      case "Nährwertkennzeichnung: Bezugsgröße":
        for (EnergyNutrientsVitamins item :
            this.ingredientsAndAllergens.getEnergyNutrientsVitamins()) {
          list.add("" + item.getNutritionalValueReference());
        }
        return list;
      case "Nährwertkennzeichnung: Bezugsgröße: Maßeinheit":
        for (EnergyNutrientsVitamins item :
            this.ingredientsAndAllergens.getEnergyNutrientsVitamins()) {
          list.add(item.getNutritionalValueReferenceUnit().name());
        }
        return list;
      case "Tagesdosis Referenzwert":
        for (EnergyNutrientsVitamins item :
            this.ingredientsAndAllergens.getEnergyNutrientsVitamins()) {
          list.add(item.getDailyValueIntakeReference());
        }
        return list;
      case "Haushaltsportion":
        for (EnergyNutrientsVitamins item :
            this.ingredientsAndAllergens.getEnergyNutrientsVitamins()) {
          list.add(item.getHouseholdServingSize());
        }
        return list;
      case "Energie":
        switch (specifier) {
          case "kJ":
            for (EnergyNutrientsVitamins item :
                this.ingredientsAndAllergens.getEnergyNutrientsVitamins()) {
              list.add("" + item.getCalorificValueKj());
            }
          case "kcal":
            for (EnergyNutrientsVitamins item :
                this.ingredientsAndAllergens.getEnergyNutrientsVitamins()) {
              list.add("" + item.getCalorificValueKcal());
            }
        }
        return list;
      case "Energie: Messgenauigkeit":
        for (EnergyNutrientsVitamins item :
            this.ingredientsAndAllergens.getEnergyNutrientsVitamins()) {
          list.add(item.getCalorificValueMeasurementPrecision().name());
        }
        return list;
      case "Energieangaben: % der Referenzmenge":
        for (EnergyNutrientsVitamins item :
            this.ingredientsAndAllergens.getEnergyNutrientsVitamins()) {
          list.add("" + item.getCalorificPercentageOfDailyValueIntake());
        }
        return list;
      case "Nährwertangaben: Bestandteil":
        return getNutritionalContentAsString(list, specifier);
      case "Nährwertangaben: Wert":
        return getNutritionalContentQuantityContainedAsString(list, specifier);
      case "Nährwertangaben: Maßeinheit":
        return getNutritionalContentMeasurementUnitAsString(list, specifier);
      case "Nährwertangaben: Messgenauigkeit":
        return getNutritionalContentMeasurementPrecisionAsString(list, specifier);
      case "Nährwertangaben: % der Referenzmenge":
        return getNutritionalContentPercentageOfDailyIntakeAsString(list, specifier);
      case "Vitamine / Mineralien: Code":
        return getVitaminMineralAsString(list, specifier);
      case "Vitamine / Mineralien: Wert":
        return getVitaminMineralQuantityContainedAsString(list, specifier);
      case "Vitamine / Mineralien: Maßeinheit":
        return getVitaminMineralMeasurementUnitAsString(list, specifier);
      case "Vitamine / Mineralien: Messgenauigkeit":
        return getVitaminMineralMeasurementPrecisionAsString(list, specifier);
      case "Vitamin-/Mineralienangaben: % der Nährstoffbezugswerte":
        return getVitaminMineralPercentageOfDailyIntakeAsString(list, specifier);
      case "Sonstige Nährwertangaben: Bestandteil":
        return getOtherNutrientAsString(list, specifier);
      case "Sonstige Nährwertangaben: Wert":
        return getOtherNutrientQuantityContainedAsString(list, specifier);
      case "Sonstige Nährwertangaben: Maßeinheit":
        return getOtherNutrientMeasurementUnitAsString(list, specifier);
      case "Sonstige Nährwertangaben: Messgenauigkeit":
        return getOtherNutrientMeasurementPrecisionAsString(list, specifier);
      case "Sonstige Nährwertangaben: % der Referenzmenge":
        return getOtherNutrientPercentageOfDailyIntakeAsString(list, specifier);
      case "Portionsgröße: Wert":
        return Arrays.asList("" + this.ingredientsAndAllergens.getProductServingSize());
      case "Portionsgröße: Maßeinheit":
        return Arrays.asList(this.ingredientsAndAllergens.getProductServingSizeUnit().name());
      case "Anzahl der Portionen pro Packung":
        return Arrays.asList("" + this.ingredientsAndAllergens.getNumberOfServingsPerPackage());
      case "Nährwertanspruch: Code":
        for (NutritionalClaimCode code : this.ingredientsAndAllergens.getNutritionalClaimCode()) {
          list.add(code.name());
        }
        return list;
      case "Nährwertanspruch":
        return this.ingredientsAndAllergens.getNutritionalClaims();
      case "Ursprungsland":
        for (CountryCodes c : this.ingredientsAndAllergens.getTradeItemCountryOfOrigin()) {
          if (c == null) {
            System.out.println("here");
          }
          list.add(c.name().replace("c", ""));
        }
        return list;
      case "Herkunftsort":
        return this.ingredientsAndAllergens.getPlaceOfProvenance();
      case "Health claim":
        for (String term : this.ingredientsAndAllergens.getHealthClaim()) {
          list.add(term);
        }
        return list;
      case "Allgemeine Haftungsklausel":
        return this.ingredientsAndAllergens.getConsumerPackageDisclaimer();
    }
    return null;
  }