Skip to content

Commit

Permalink
#184 fix UserDashboard.getTargetIndicatorItemById
Browse files Browse the repository at this point in the history
  • Loading branch information
teosarca committed Feb 25, 2017
1 parent 1038887 commit 5b0ec4e
Showing 1 changed file with 7 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
import org.adempiere.util.Check;

import com.google.common.base.MoreObjects;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Maps;

Expand Down Expand Up @@ -47,22 +46,22 @@ public static final Builder builder()
public static final UserDashboard EMPTY = new UserDashboard();

private final int id;
private final List<UserDashboardItem> targetIndicatorItems;
private final Map<Integer, UserDashboardItem> targetIndicatorItemsById;
private final Map<Integer, UserDashboardItem> kpiItemsById;

private UserDashboard(final Builder builder)
{
super();
id = builder.id;
targetIndicatorItems = ImmutableList.copyOf(builder.targetIndicatorItems);
targetIndicatorItemsById = Maps.uniqueIndex(builder.targetIndicatorItems, UserDashboardItem::getId);
kpiItemsById = Maps.uniqueIndex(builder.kpiItems, UserDashboardItem::getId);
}

private UserDashboard()
{
super();
id = -1;
targetIndicatorItems = ImmutableList.of();
targetIndicatorItemsById = ImmutableMap.of();
kpiItemsById = ImmutableMap.of();
}

Expand All @@ -72,7 +71,7 @@ public String toString()
return MoreObjects.toStringHelper(this)
.omitNullValues()
.add("id", id)
.add("targetIndicatorItems", targetIndicatorItems.isEmpty() ? null : targetIndicatorItems)
.add("targetIndicatorItems", targetIndicatorItemsById.isEmpty() ? null : targetIndicatorItemsById)
.add("kpiItemsById", kpiItemsById.isEmpty() ? null : kpiItemsById)
.toString();
}
Expand All @@ -82,14 +81,14 @@ public int getId()
return id;
}

public List<UserDashboardItem> getTargetIndicatorItems()
public Collection<UserDashboardItem> getTargetIndicatorItems()
{
return targetIndicatorItems;
return targetIndicatorItemsById.values();
}

public UserDashboardItem getTargetIndicatorItemById(final int itemId)
{
final UserDashboardItem item = targetIndicatorItems.get(itemId);
final UserDashboardItem item = targetIndicatorItemsById.get(itemId);
if(item == null)
{
throw new IllegalArgumentException("No target indicator item found for "+itemId);
Expand Down

0 comments on commit 5b0ec4e

Please sign in to comment.