From c51bf06691876845c33cfd5ceb4b2b56261ec291 Mon Sep 17 00:00:00 2001 From: Lorenzo Tilve Date: Thu, 21 Jan 2010 14:47:52 +0100 Subject: [PATCH] ItEr44S15RFNavegacionOrganizacionTraballoItEr43S20: Created textTooltip with name, description, labels, criteria and advance in OrderElements list --- .../business/labels/entities/Label.java | 4 ++ .../orders/OrderElementTreeController.java | 38 +++++++++++++++++++ .../templates/TemplatesTreeController.java | 21 ++++++++++ .../navalplanner/web/tree/TreeController.java | 3 ++ 4 files changed, 66 insertions(+) diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/labels/entities/Label.java b/navalplanner-business/src/main/java/org/navalplanner/business/labels/entities/Label.java index e08b54747..cd30272dc 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/labels/entities/Label.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/labels/entities/Label.java @@ -100,4 +100,8 @@ public class Label extends BaseEntity { return false; } + public String toString() { + return name; + } + } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeController.java index 3b317aae2..52d4adc7f 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeController.java @@ -22,6 +22,7 @@ package org.navalplanner.web.orders; import static org.navalplanner.web.I18nHelper._; +import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -29,10 +30,14 @@ import java.util.Map; import javax.annotation.Resource; +import org.apache.commons.lang.StringUtils; import org.navalplanner.business.orders.entities.Order; import org.navalplanner.business.orders.entities.OrderElement; import org.navalplanner.business.orders.entities.OrderLine; import org.navalplanner.business.orders.entities.SchedulingState; +import org.navalplanner.business.orders.entities.SchedulingState.ITypeChangedListener; +import org.navalplanner.business.orders.entities.SchedulingState.Type; +import org.navalplanner.business.requirements.entities.CriterionRequirement; import org.navalplanner.web.common.Util; import org.navalplanner.web.common.Util.Getter; import org.navalplanner.web.common.Util.Setter; @@ -465,4 +470,37 @@ public class OrderElementTreeController extends TreeController { tabGeneralData.setSelected(true); } + @Override + protected String createTooltipText(OrderElement elem) { + StringBuilder tooltipText = new StringBuilder(); + tooltipText.append(elem.getName() + ". "); + if ((elem.getDescription() != null) + && (!elem.getDescription().equals(""))) { + tooltipText.append(elem.getDescription()); + tooltipText.append(". "); + } + if ((elem.getLabels() != null) && (!elem.getLabels().isEmpty())) { + tooltipText.append(_(" Labels:")); + tooltipText.append(StringUtils.join(getLabels(), ",")); + tooltipText.append("."); + } + if ((elem.getCriterionRequirements() != null) + && (!elem.getCriterionRequirements().isEmpty())) { + ArrayList criterionNames = new ArrayList(); + for(CriterionRequirement each:elem.getCriterionRequirements()) { + criterionNames.add(each.getCriterion().getName()); + } + tooltipText.append(_(" Criteria:")); + tooltipText.append(StringUtils.join(criterionNames, ",")); + tooltipText.append("."); + } + // To calculate other unit advances implement + // getOtherAdvancesPercentage() + tooltipText.append(_(" Advance:") + elem.getAdvancePercentage()); + tooltipText.append("."); + + // tooltipText.append(elem.getAdvancePercentage()); + return tooltipText.toString(); + } + } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/templates/TemplatesTreeController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/templates/TemplatesTreeController.java index 3823017f7..81954654c 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/templates/TemplatesTreeController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/templates/TemplatesTreeController.java @@ -19,6 +19,9 @@ */ package org.navalplanner.web.templates; +import static org.navalplanner.web.I18nHelper._; + +import org.apache.commons.lang.StringUtils; import org.hibernate.validator.ClassValidator; import org.navalplanner.business.orders.entities.SchedulingState; import org.navalplanner.business.templates.entities.OrderElementTemplate; @@ -187,4 +190,22 @@ public class TemplatesTreeController extends return false; } + @Override + protected String createTooltipText(OrderElementTemplate elem) { + StringBuilder tooltipText = new StringBuilder(); + tooltipText.append(elem.getName() + ". "); + if ((elem.getDescription() != null) + && (!elem.getDescription().equals(""))) { + tooltipText.append(elem.getDescription()); + tooltipText.append(". "); + } + if ((elem.getLabels() != null) && (!elem.getLabels().isEmpty())) { + tooltipText.append(_(" Labels:")); + tooltipText.append(StringUtils.join(elem.getLabels(), ",")); + tooltipText.append("."); + } + // There are no CriterionRequirement or advances in templates + return tooltipText.toString(); + } + } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/tree/TreeController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/tree/TreeController.java index 47f9f90b5..f6168735d 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/tree/TreeController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/tree/TreeController.java @@ -318,6 +318,7 @@ public abstract class TreeController> extends for (Column each : columns) { each.doCell(this, item, currentElement); } + item.setTooltiptext(createTooltipText(currentElement)); } private void applySnapshot(final Treeitem item) { @@ -573,4 +574,6 @@ public abstract class TreeController> extends protected abstract boolean isPredicateApplied(); + protected abstract String createTooltipText(T currentElement); + }