diff --git a/src/main/java/com/mousetech/gourmetj/IngredientUI.java b/src/main/java/com/mousetech/gourmetj/IngredientUI.java index 47a5bb8..c2e881e 100644 --- a/src/main/java/com/mousetech/gourmetj/IngredientUI.java +++ b/src/main/java/com/mousetech/gourmetj/IngredientUI.java @@ -1,6 +1,5 @@ package com.mousetech.gourmetj; - import com.mousetech.gourmetj.persistence.model.Ingredient; import com.mousetech.gourmetj.persistence.model.IngredientIF; import com.mousetech.gourmetj.persistence.model.Recipe; @@ -9,8 +8,8 @@ import com.mousetech.gourmetj.IngredientDigester.IngredientAmountFormat; /** * JSF-friendly decorator for @see Ingredient. Formats amount - * with fractions and supports checkboxes. Primary use - * is as a JSF TableModel wrapped content in @see RecipeDetailBean. + * with fractions and supports checkboxes. Primary use is as a + * JSF TableModel wrapped content in @see RecipeDetailBean. * * TestedBy @see IngredientUITest * @@ -22,6 +21,7 @@ public class IngredientUI implements IngredientIF { /** * Constructor. + * * @param ingredient */ public IngredientUI(Ingredient ingredient) { @@ -31,8 +31,9 @@ public class IngredientUI implements IngredientIF { public Ingredient getIngredient() { return this.ingredient; } - + private boolean ingGroup; + /** * @param ingGroup the ingGroup to set */ @@ -41,25 +42,24 @@ public class IngredientUI implements IngredientIF { } /** - * Ingredient groups are rendered visually as synthetic - * rows. Actual group IDs are part of line-item ingredients, - * so when building the model, we create a group row when - * the line item inggroup value changes. + * Ingredient groups are rendered visually as synthetic rows. + * Actual group IDs are part of line-item ingredients, so + * when building the model, we create a group row when the + * line item inggroup value changes. * - * @return true for an Ingredient Group - * header row. + * @return true for an Ingredient Group header + * row. */ public boolean isIngGroup() { return this.ingGroup; } - + /** * Row selection checkbox (UI only) */ - + private boolean selected; - - + /** * @return the selected status */ @@ -74,7 +74,6 @@ public class IngredientUI implements IngredientIF { this.selected = selected; } - /** * @return * @see com.mousetech.gourmetj.persistence.model.Ingredient#getAmount() @@ -93,25 +92,28 @@ public class IngredientUI implements IngredientIF { /** * Get amount display-friendly + * * @see #getAmount */ public String getDisplayAmount() { // TODO Double amt = ingredient.getAmount(); - if ( amt == null ) { + if (amt == null) { return ""; } String amt1 = IngredientDigester.displayAmount( - IngredientAmountFormat.IA_SYMBOLS, amt, ingredient.getRangeamount()); + IngredientAmountFormat.IA_SYMBOLS, amt, + ingredient.getRangeamount()); return amt1; } /** * Set amount display-friendly + * * @see #setAmount */ public void setDisplayAmount(String amount) { - if ( amount.isBlank() ) { + if (amount.isBlank()) { ingredient.setAmount(null); } IngredientDigester digester = new IngredientDigester(); @@ -119,6 +121,7 @@ public class IngredientUI implements IngredientIF { ingredient.setAmount(amt[0]); ingredient.setRangeamount(amt[1]); } + /** * @return * @see com.mousetech.gourmetj.persistence.model.Ingredient#getDeleted() @@ -225,10 +228,15 @@ public class IngredientUI implements IngredientIF { /** * Get optional value in boolean Checkbox friendly form + * * @return */ public boolean getOptionalCB() { - return ingredient.getOptional() != 0; + Integer optional = ingredient.getOptional(); + if (optional == null) { + return false; + } + return optional != 0; } public void setOptionalCB(boolean value) { @@ -328,7 +336,7 @@ public class IngredientUI implements IngredientIF { * @see com.mousetech.gourmetj.persistence.model.Ingredient#setShopoptional(java.lang.Integer) */ public void setShopoptionalCB(boolean shopoptional) { - ingredient.setShopoptional(shopoptional? 1:0); + ingredient.setShopoptional(shopoptional ? 1 : 0); } /** @@ -347,8 +355,8 @@ public class IngredientUI implements IngredientIF { ingredient.setUnit(unit); } - - // This goes to the shopCats table via ManyToOne at save time. + // This goes to the shopCats table via ManyToOne at save + // time. private String shopCat; /**