/** * {@inheritDoc} */ @Override public void doRefresh(IProgressMonitor monitor, IRootEditor rootEditor) { monitor.beginTask("Updating Invocation Overview", IProgressMonitor.UNKNOWN); monitor.subTask("Retrieving the Invocation Overview from the CMR"); List<InvocationSequenceData> invocData; Set<Long> invocationIdsSet = new HashSet<>(); for (InvocationAwareData invocationAwareData : invocationAwareDataList) { if (null != invocationAwareData.getInvocationParentsIdSet()) { invocationIdsSet.addAll(invocationAwareData.getInvocationParentsIdSet()); } } long platformIdent = getInputDefinition().getIdDefinition().getPlatformId(); invocData = getDataAccessService().getInvocationSequenceOverview(platformIdent, invocationIdsSet, getLimit(), getResultComparator()); getInvocationSequenceData().clear(); if (!invocData.isEmpty()) { monitor.subTask("Displaying the Invocation Overview"); getInvocationSequenceData().addAll(invocData); } monitor.done(); }
/** * Tests the simple aggregation when objects are in same invocations. */ @Test public void simpleSameParentsAggregation() { InvocationAwareData i1 = getInvocationAwareData(); i1.addInvocationParentId(Long.valueOf(1)); InvocationAwareData i2 = getInvocationAwareData(); i2.addInvocationParentId(Long.valueOf(1)); i1.aggregateInvocationAwareData(i2); assertThat(i1.getObjectsInInvocationsCount(), is(equalTo(2))); assertThat(i1.getInvocationParentsIdSet().size(), is(equalTo(1))); assertThat(i1.getInvocationParentsIdSet(), contains(1L)); }
/** * Tests the simple aggregation when objects are in different invocations. */ @Test public void simpleDifferentParentsAggregation() { InvocationAwareData i1 = getInvocationAwareData(); i1.addInvocationParentId(Long.valueOf(1)); InvocationAwareData i2 = getInvocationAwareData(); i2.addInvocationParentId(Long.valueOf(2)); i1.aggregateInvocationAwareData(i2); assertThat(i1.getObjectsInInvocationsCount(), is(equalTo(2))); assertThat(i1.getInvocationParentsIdSet().size(), is(equalTo(2))); assertThat(i1.getInvocationParentsIdSet(), contains(1L, 2L)); }
/** * Tests the complicated aggregation when objects are in different invocations. */ @Test public void complicatedDifferentParentsAggregation() { InvocationAwareData i1 = getInvocationAwareData(); i1.addInvocationParentId(Long.valueOf(1)); InvocationAwareData i2 = getInvocationAwareData(); i2.addInvocationParentId(Long.valueOf(2)); i1.aggregateInvocationAwareData(i2); InvocationAwareData i3 = getInvocationAwareData(); i3.addInvocationParentId(Long.valueOf(3)); InvocationAwareData i4 = getInvocationAwareData(); i4.addInvocationParentId(Long.valueOf(4)); i3.aggregateInvocationAwareData(i4); i1.aggregateInvocationAwareData(i3); assertThat(i1.getObjectsInInvocationsCount(), is(equalTo(4))); assertThat(i1.getInvocationParentsIdSet().size(), is(equalTo(4))); assertThat(i1.getInvocationParentsIdSet(), contains(1L, 2L, 3L, 4L)); }
idSet.addAll(((InvocationAwareData) template).getInvocationParentsIdSet());
/** * Tests the complicated aggregation when objects are in same invocations. */ @Test public void complicatedSameParentsAggregation() { InvocationAwareData i1 = getInvocationAwareData(); i1.addInvocationParentId(Long.valueOf(1)); InvocationAwareData i2 = getInvocationAwareData(); i2.addInvocationParentId(Long.valueOf(2)); i1.aggregateInvocationAwareData(i2); InvocationAwareData i3 = getInvocationAwareData(); i3.addInvocationParentId(Long.valueOf(1)); InvocationAwareData i4 = getInvocationAwareData(); i4.addInvocationParentId(Long.valueOf(2)); i3.aggregateInvocationAwareData(i4); i1.aggregateInvocationAwareData(i3); assertThat(i1.getObjectsInInvocationsCount(), is(equalTo(4))); assertThat(i1.getInvocationParentsIdSet().size(), is(equalTo(2))); assertThat(i1.getInvocationParentsIdSet(), contains(1L, 2L)); }
/** * {@inheritDoc} */ @Override public DetailsTable generate(DefaultData defaultData, RepositoryDefinition repositoryDefinition, Composite parent, FormToolkit toolkit) { InvocationAwareData invocationAwareData = (InvocationAwareData) defaultData; DetailsTable table = new DetailsTable(parent, toolkit, "Invocation Affiliation", 1); table.addContentRow("In Invocations:", null, new DetailsCellContent[] { new YesNoDetailsCellContent(!invocationAwareData.isOnlyFoundOutsideInvocations()) }); if (!invocationAwareData.isOnlyFoundOutsideInvocations()) { int percentage = (int) (invocationAwareData.getInvocationAffiliationPercentage() * 100); int invocations = invocationAwareData.getInvocationParentsIdSet().size(); String affiliation = TextFormatter.getInvocationAffilliationPercentageString(percentage, invocations).getString(); table.addContentRow("Affiliation:", null, new DetailsCellContent[] { new DetailsCellContent(affiliation) }); } return table; }
textualDesc = TextFormatter.getInvocationAwareDataTextualRepresentation(invocationAwareData, repositoryDefinition); if (null != invocationAwareData.getInvocationParentsIdSet()) { invocationAwareDataList.add(invocationAwareData); invocationsCount += invocationAwareData.getInvocationParentsIdSet().size();