BCDEFGHIJKLMNOPQRST
1
Sirius PackageLeaksProposed changeChange-Id
2
org.eclipse.sirius.diagram.ui.tools.apiNone on master. Maybe it was removed, or moved somewhere else by the diagram split.Nothing to do
3
org.eclipse.sirius.business.api.modelingprojectConstant org.eclipse.sirius.business.api.modelingproject.ModelingProject.MODELING_PROJECT_PREDICATE is a Guava PredicateRemove it. It is used only once in Sirius, and is a 1-line wrapper over the public hasModelingProjectNature() static method.I0c514228348f62a7f09f6a23b2f2172fd296ea8c
4
org.eclipse.sirius.diagram.sequence.utilorg.eclipse.sirius.diagram.sequence.util.NotationPredicate extends Guava Predicate
NotationPredicates are only used from inside org.eclipse.sirius.diagram.sequence.business.internal.elements. Move it there and out of the API.Ib562f1114aef46865fbe819020b2c88528ea492c
5
org.eclipse.sirius.diagram.sequence.utilorg.eclipse.sirius.diagram.sequence.util.Range exposes many Functions and OrderingsMove all Range helper methods into new internal helper class.I91603533a9510ca55c32368df627ac49f782fd39
6
org.eclipse.sirius.diagram.sequence.utilorg.eclipse.sirius.diagram.sequence.util.SiriusFunctions.targetElementFunction() returns a FunctionRemove SiriusFunctions: not used anywhereIfbdf788c487baaece42203e41126d9b4a5021f0f
7
org.eclipse.sirius.synchronizerorg.eclipse.sirius.synchronizer.Mapping.IS_CHECK_ONLY is a PredicateRemove and inline its only usage in the current code.I93b15ace04bb092bab2406ef5ae258e678086556
8
org.eclipse.sirius.synchronizerorg.eclipse.sirius.synchronizer.MaybeFactory.isSome() returns a PredicateReplace the whole Maybe and MaybeFactory with Sirius's own Option typeI33c2d1c380f9d241199e47e9c6aa98ca1667e1c7
9
org.eclipse.sirius.ext.baseorg.eclipse.sirius.ext.base.Options.isSome() is a PredicateRemove from API. Not used anywhere.I8c4cc2d22552cbb8bab5661f5a5bedbcbddf1eeb
10
org.eclipse.sirius.ext.base.relationsRelation<T> extends Function<T, Set<T>>Remove inheritance.I86954fe7efaccc5222f7ce8a7f1d5832c128308a
11
org.eclipse.sirius.diagram.sequence.templateMethod org.eclipse.sirius.diagram.sequence.template.AbstractRule.transform(Collection<FC>, Function<? super FC, TC>) takes a FunctionReplace with ad-hoc interface. Low impact, this is not used much.I18cbe8ab5a2b604f3270f4d135da344adb8e484b
12
org.eclipse.sirius.business.api.queryMethod org.eclipse.sirius.business.api.query.EObjectQuery.getInverseReferences(Predicate<Setting>) takes a Guava predicate as argument.Remove from API and treat as implementation details for the other variants of getInverseReferences?I62027102179dca45923e12603c03f4ca00cea607
13
org.eclipse.sirius.ui.business.api.viewpoint- org.eclipse.sirius.ui.business.api.viewpoint.ViewpointSelection.getMissingDependenciesErrorMessage(Multimap<String, String>) takes a Guava Multimap argument
- org.eclipse.sirius.ui.business.api.viewpoint.ViewpointSelection.getMissingDependencies(Set<Viewpoint>) returns a Guava multimap
Replace both with Map<String, Collection<String>> in signatures. Keep Multimaps internally if possible.I4ed7a87faf942734048699c2608c591266a426eb
14
org.eclipse.sirius.business.api.dialect.descriptionorg.eclipse.sirius.business.api.dialect.description.AbstractInterpretedExpressionQuery.appendAllLocalVariableDefinitions(Multimap<String, String>, EObject) and org.eclipse.sirius.business.api.dialect.description.AbstractInterpretedExpressionQuery.appendEditMaskVariables(EditMaskVariables, Multimap<String, String>) use Multimap argumentsThe comments mention Multimap are not strictly required, should probably be replaced by simple MapsI22fa425694b2c34feb651d5f2ca8ccaab10ebf27
15
org.eclipse.sirius.business.api.helper.taskConstructor org.eclipse.sirius.business.api.helper.task.AbstractDeleteDRepresentationElementTask.AbstractDeleteDRepresentationElementTask(EObject, ModelAccessor, Predicate<EReference>) takes a Guava PredicateI'm not even sure this class makes sense as API.Iaea4f112f58c23f4a755542528c3072a2a40cac3
16
org.eclipse.sirius.ecore.extender.business.api.accessor- Method org.eclipse.sirius.ecore.extender.business.api.accessor.IMetamodelExtender.eDelete(EObject, ECrossReferenceAdapter, Predicate<EReference>) takes a Predicate
- All implementers of that interface are affected
- org.eclipse.sirius.ecore.extender.business.api.accessor.ModelAccessor.eDelete(EObject, ECrossReferenceAdapter, Predicate<EReference>) also
Only seems to be used by the dangling reference management code. Replace with ad-hoc interface?Iaea4f112f58c23f4a755542528c3072a2a40cac3
17
org.eclipse.sirius.ecore.extender.tool.apiorg.eclipse.sirius.ecore.extender.tool.api.ModelUtils.resolveAll(ResourceSet, Predicate<EReference>)Replace with the same ad-hoc interface as above (ERefenceFilter?)Iaea4f112f58c23f4a755542528c3072a2a40cac3
18
org.eclipse.sirius.business.api.dialect.descriptionorg.eclipse.sirius.business.api.dialect.description.DefaultInterpretedExpressionTargetSwitch.getFirstRelevantContainerFinder() returns a Function argumentReplace with a method that directly returns the result of applying the function.Ic06b5af56ed5835947686da8b875aab114b6d774
19
org.eclipse.sirius.business.api.dialect.descriptionorg.eclipse.sirius.business.api.dialect.description.IInterpretedExpressionTargetSwitch.getFirstRelevantContainerFinder() returns a Function argumentReplace with a method that directly returns the result of applying the function.Ic06b5af56ed5835947686da8b875aab114b6d774
20
org.eclipse.sirius.business.api.dialect.descriptionorg.eclipse.sirius.business.api.dialect.description.DefaultInterpretedExpressionTargetSwitch.DefaultInterpretedExpressionTargetSwitch(EStructuralFeature, IInterpretedExpressionTargetSwitch, Function<EObject, EObject>) takes a Function argument
I992f0ee6a23dda2a588224069edb99553d54b7de
21
org.eclipse.sirius.business.api.sessionMethod org.eclipse.sirius.business.api.session.SessionEventBroker.addLocalTrigger(Predicate<Notification>, ModelChangeTrigger) takes a Predicate argumentUse org.eclipse.emf.transaction.NotificationFilter instead? This would mean yet another dependency to EMF Tx...I752146deb104260ccc7a48bf70379a8d376262af
22
org.eclipse.sirius.common.tools.api.utilMethod org.eclipse.sirius.common.tools.api.util.EclipseUtil.getExtensionPlugins(Class<T>, String, String, String, Predicate<String>) takes a PredicateRemove from API and treat as implementation details for the other variants of getExtensionPlugins?I8e2260a57376d8e9a54ce0e47d88a2bec667607a
23
org.eclipse.sirius.diagram.business.api.diagramtypeorg.eclipse.sirius.diagram.business.api.diagramtype.IDiagramDescriptionProvider: methods allowsPinUnpin(), allowsHideReveal(), allowsCopyPasteLayout() return Guava PredicatesReplace Predicate<T> allowsX() by boolean allowsX(T). Client code can create their own wrapper predicate around the new methods if they want to continue using Predicates. This is actually more complex, ad the current API gives special meaning to a null value returned by allowsX().I8d951c0ae8f837e63776f542fa4dcbb2c3503e21
24
org.eclipse.sirius.diagram.sequence.ui.business.api.diagramtypeSequenceDiagramTypeProvider implements org.eclipse.sirius.diagram.business.api.diagramtype.IDiagramDescriptionProvider, see above.Implement the solution chosen for IDiagramDescriptionProvider, whichever it is.I8d951c0ae8f837e63776f542fa4dcbb2c3503e21
25
org.eclipse.sirius.tests.support.apiTBD. Less criticalKept as is for Sirius 1.0.
26
org.eclipse.sirius.tests.swtbot.support.apiTBD. Less criticalKept as is for Sirius 1.0.
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100