public static NutritionalContentItem searchForNutrient( EnergyNutrientsVitamins nutrientGroup, NutritionalContentCode code) { for (NutritionalContentItem nutrient : nutrientGroup.getNutrients()) { if (nutrient.getNutritionalContent() == code) { return (nutrient); } } return null; }
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; }
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; }
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; }
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; }