private List<Message> optimize(List<Message> messages){ long t = System.currentTimeMillis(); List<Message> result = new ArrayList<>(); Group<Message> groups = group(messages, by(on(Message.class).getId())); for (Group<Message> group :groups.subgroups()){ result.addAll(group.first().shrink(group.findAll())); } if (logger.isDebugEnabled()) logger.debug("bulk optimization result: " + messages.size() + " -> " + result.size() + " in " + (System.currentTimeMillis()-t) + " ms"); return result; }
private List<Message> optimize(List<Message> messages){ long t = System.currentTimeMillis(); List<Message> result = new ArrayList<>(); Group<Message> groups = group(messages, by(on(Message.class).getId())); for (Group<Message> group :groups.subgroups()){ result.addAll(group.first().shrink(group.findAll())); } if (logger.isDebugEnabled()) logger.debug("bulk optimization result: " + messages.size() + " -> " + result.size() + " in " + (System.currentTimeMillis()-t) + " ms"); return result; }
public Map<String, List<StepData>> aggregate() { Map<String, List<StepData>> branchesDataByPath = new HashMap<>(); Group<LanguageEventData> groups = group(getEvents(), by(on(LanguageEventData.class).getPath())); for (Group<LanguageEventData> subGroup : groups.subgroups()) { List<StepData> branchesData = buildBranchesData(subGroup.findAll()); branchesDataByPath.put(branchesData.get(0).getPath(), branchesData); } return branchesDataByPath; }
public Map<String, StepData> aggregate() { Map<String, StepData> joinDataByPath = new HashMap<>(); Group<LanguageEventData> groups = group(getEvents(), by(on(LanguageEventData.class).getPath())); for (Group<LanguageEventData> subGroup : groups.subgroups()) { StepData joinData = buildPublishAggregateData(subGroup.first()); joinDataByPath.put(joinData.getPath(), joinData); } return joinDataByPath; }
public Map<String, StepData> aggregate() { Map<String, StepData> stepsData = new HashMap<>(); Group<LanguageEventData> groups = group(getEvents(), by(on(LanguageEventData.class).getPath())); for (Group<LanguageEventData> subGroup : groups.subgroups()) { StepData stepData = buildStepData(subGroup.findAll()); stepsData.put(stepData.getPath(), stepData); } return stepsData; }