public String getFullNameWithCustomer() { return getCustomer().getCode() + ": " + ((StringUtils.isBlank(projectCode)) ? name : projectCode + " - " + name); }
private int compareOnCustomerCodeAndThenProjectCode(Project o1, Project o2) { Customer customer1 = o1.getCustomer(); Customer customer2 = o2.getCustomer(); if (customerComparator == null) { customerComparator = new CustomerComparator(Sort.CODE); } int customerCompare = customerComparator.compare(customer1, customer2); return customerCompare == 0 ? compareOnProjectCode(o1, o2) : customerCompare; }
private List<Project> getBillableProjects(UserSelectedCriteria criteria) { List<Project> projects = criteria.isOnlyActiveProjects() ? projectDao.findAllActive() : projectDao.findAll(); List<Project> filteredProjects = Lists.newArrayList(); for (Project project : projects) { boolean billableFilter = project.isBillable(); boolean customerFilter = !criteria.isOnlyActiveCustomers() || project.getCustomer().isActive(); if (billableFilter && customerFilter) { filteredProjects.add(project); } } return filteredProjects; } }
/** * Compare first on customer name, if the same, use the project name * @param o1 * @param o2 * @return */ private int compareCustomerStartDateProject(ProjectAssignment o1, ProjectAssignment o2) { int cmp; cmp = o1.getProject().getCustomer().getName().compareToIgnoreCase(o2.getProject().getCustomer().getName()); if (cmp == 0) { cmp = compareDateStart(o1, o2); if (cmp == 0) { cmp = compareNames(o1, o2); } } return cmp; } /**
/** * Whether assignment/project/customer are all active * * @return */ public boolean isBookable() { return isActive() && (getProject() == null || getProject().isActive()) && (getProject() == null || getProject().getCustomer() == null || getProject().getCustomer().isActive()); }
/** * Compare on project name or customer name */ public int compare(AssignmentAggregateReportElement o1, AssignmentAggregateReportElement o2) { int compare = 0; switch (sortType) { case SORT_ON_PROJECT: compare = compareOnProject(o1, o2); break; case SORT_ON_CUSTOMER: compare = o1.getProjectAssignment().getProject().getCustomer().getName() .compareToIgnoreCase(o2.getProjectAssignment().getProject().getCustomer().getName()); if (compare == 0) { compare = compareOnProject(o1, o2); } break; } return compare; }
@Override public int compare(Project o1, Project o2) { return new CompareToBuilder() .append(o1.getCustomer(), o2.getCustomer()) .append(o1.getName(), o2.getName()) .append(o1.getProjectCode(), o2.getProjectCode()) .append(o1.getProjectId(), o2.getProjectId()).toComparison(); } });
/** * @see java.lang.Comparable#compareTo(Object) */ public int compareTo(Project object) { return new CompareToBuilder() .append(this.getName(), object.getName()) .append(this.getProjectCode(), object.getProjectCode()) .append(this.getCustomer(), object.getCustomer()) .append(this.getProjectId(), object.getProjectId()).toComparison(); }
@Test public void should_process_one_to_many_column() throws InstantiationException, IllegalAccessException { FieldMap fieldDefinitionMap = FieldMapFactory.buildFieldMapForEntity(Project.class); FieldDefinition fieldDef = fieldDefinitionMap.get("customer_id"); Customer customer = CustomerObjectMother.createCustomer(); Project project = ProjectObjectMother.createProject(1); project.setCustomer(null); Map<Class<?>, Object> embeddables = Maps.newHashMap(); fieldDef.process(project, embeddables, customer); assertEquals(customer, project.getCustomer()); }
/** * @see java.lang.Comparable#compareTo(Object) */ public int compareTo(ProjectAssignment object) { return new CompareToBuilder() //sort by column order as displayed in ProjectOverviewPanel .append(this.getProject().getCustomer().getName(), object.getProject().getCustomer().getName()) .append(this.getProject().getProjectCode(), object.getProject().getProjectCode()) .append(this.getProject().getName(), object.getProject().getName()) //here we should already have a sort. Anyway let's continue with some default comparison .append(this.getProject(), object.getProject()) .append(this.getDateEnd(), object.getDateEnd()) .append(this.getDateStart(), object.getDateStart()) .append(this.getUser(), object.getUser()) .append(this.getAssignmentId(), object.getAssignmentId()) .toComparison(); }
public static FlatReportElement buildFlatReportElement(ProjectAssignment assignment) { FlatReportElement element = new FlatReportElement(); element.setAssignmentId(assignment.getAssignmentId()); element.setRole(assignment.getRole()); Project project = assignment.getProject(); Customer customer = project.getCustomer(); element.setCustomerCode(customer.getCode()); element.setCustomerId(customer.getCustomerId()); element.setCustomerName(customer.getName()); element.setEmptyEntry(true); element.setProjectCode(project.getProjectCode()); element.setProjectId(project.getProjectId()); element.setProjectName(project.getName()); element.setRate(assignment.getHourlyRate()); User user = assignment.getUser(); element.setUserId(user.getUserId()); element.setUserFirstName(user.getFirstName()); element.setUserLastName(user.getLastName()); element.setDisplayOrder(1); return element; } }