17
17
import static org .junit .Assert .assertNotNull ;
18
18
import static org .junit .Assert .assertNull ;
19
19
20
+ import java .util .List ;
21
+
20
22
import org .eclipse .core .resources .IProject ;
21
23
import org .eclipse .core .resources .ResourcesPlugin ;
22
24
import org .eclipse .core .runtime .CoreException ;
23
25
import org .eclipse .core .runtime .OperationCanceledException ;
24
26
import org .eclipse .core .runtime .jobs .Job ;
25
27
import org .eclipse .osgi .service .resolver .VersionRange ;
26
28
import org .eclipse .pde .core .plugin .IMatchRules ;
27
- import org .eclipse .pde .core .plugin .IPluginBase ;
28
29
import org .eclipse .pde .core .plugin .IPluginModelBase ;
29
30
import org .eclipse .pde .core .plugin .PluginRegistry ;
30
- import org .eclipse .pde .core .plugin .PluginRegistry . PluginFilter ;
31
+ import org .eclipse .pde .core .plugin .VersionMatchRule ;
31
32
import org .eclipse .pde .core .project .IBundleProjectDescription ;
32
33
import org .junit .Test ;
33
34
import org .osgi .framework .FrameworkUtil ;
@@ -42,124 +43,96 @@ public class PluginRegistryTests {
42
43
43
44
@ Test
44
45
public void testMatchNone () {
45
- IPluginModelBase model = PluginRegistry .findModel ("org.eclipse.jdt.debug" , null , IMatchRules . NONE , null );
46
+ IPluginModelBase model = PluginRegistry .findModel ("org.eclipse.jdt.debug" , null , ( VersionMatchRule ) null );
46
47
assertNotNull (model );
47
48
assertEquals ("org.eclipse.jdt.debug" , model .getPluginBase ().getId ());
48
49
}
49
50
50
51
@ Test
51
52
public void testMatchGreaterOrEqual () {
52
53
IPluginModelBase model = PluginRegistry .findModel ("org.eclipse.jdt.debug" , "3.0.0" ,
53
- IMatchRules .GREATER_OR_EQUAL , null );
54
+ VersionMatchRule .GREATER_OR_EQUAL );
54
55
assertNotNull (model );
55
56
assertEquals ("org.eclipse.jdt.debug" , model .getPluginBase ().getId ());
56
57
}
57
58
58
59
@ Test
59
60
public void testMatchPerfect () {
60
- IPluginModelBase model = PluginRegistry .findModel ("org.eclipse.jdt.debug" , "3.0.0" , IMatchRules .PERFECT , null );
61
+ IPluginModelBase model = PluginRegistry .findModel ("org.eclipse.jdt.debug" , "3.0.0" , VersionMatchRule .PERFECT );
61
62
assertNull (model );
62
63
}
63
64
64
65
@ Test
65
66
public void testMatchCompatible () {
66
- IPluginModelBase model = PluginRegistry .findModel ("org.eclipse.jdt.debug" , "3.6.0" , IMatchRules . COMPATIBLE ,
67
- null );
67
+ IPluginModelBase model = PluginRegistry .findModel ("org.eclipse.jdt.debug" , "3.6.0" ,
68
+ VersionMatchRule . COMPATIBLE );
68
69
assertNotNull (model );
69
70
assertEquals ("org.eclipse.jdt.debug" , model .getPluginBase ().getId ());
70
71
}
71
72
72
73
@ Test
73
74
public void testMatchCompatibleNone () {
74
- IPluginModelBase model = PluginRegistry .findModel ("org.eclipse.pde.core" , "2.6.0" , IMatchRules .COMPATIBLE ,
75
- null );
75
+ IPluginModelBase model = PluginRegistry .findModel ("org.eclipse.pde.core" , "2.6.0" , VersionMatchRule .COMPATIBLE );
76
76
assertNull (model );
77
77
}
78
78
79
79
@ Test
80
80
public void testMatchPrefix () {
81
+ @ SuppressWarnings ("removal" ) // Test special behavior of old API
81
82
IPluginModelBase model = PluginRegistry .findModel ("org.eclipse" , "3.6.0" , IMatchRules .PREFIX , null );
82
83
// prefix rule is not supported by this API, should return null
83
84
assertNull (model );
84
85
}
85
86
86
87
@ Test
87
88
public void testRangeNone () {
88
- IPluginModelBase model = PluginRegistry .findModel ("org.eclipse.jdt.debug" , null , ( PluginFilter ) null );
89
+ IPluginModelBase model = PluginRegistry .findModel ("org.eclipse.jdt.debug" , null );
89
90
assertNotNull (model );
90
91
assertEquals ("org.eclipse.jdt.debug" , model .getPluginBase ().getId ());
91
92
}
92
93
93
94
@ Test
94
95
public void testOverlapRange () {
95
- IPluginModelBase model = PluginRegistry .findModel ("org.eclipse.jdt.debug" , new VersionRange ("[2.0.0,4.0.0)" ),
96
- null );
96
+ IPluginModelBase model = PluginRegistry .findModel ("org.eclipse.jdt.debug" , new VersionRange ("[2.0.0,4.0.0)" ));
97
97
assertNotNull (model );
98
98
assertEquals ("org.eclipse.jdt.debug" , model .getPluginBase ().getId ());
99
99
}
100
100
101
101
@ Test
102
102
public void testMinRange () {
103
- IPluginModelBase model = PluginRegistry .findModel ("org.eclipse.jdt.debug" , new VersionRange ("3.0.0" ), null );
103
+ IPluginModelBase model = PluginRegistry .findModel ("org.eclipse.jdt.debug" , new VersionRange ("3.0.0" ));
104
104
assertNotNull (model );
105
105
assertEquals ("org.eclipse.jdt.debug" , model .getPluginBase ().getId ());
106
106
}
107
107
108
108
@ Test
109
109
public void testUnmatchedRange () {
110
- IPluginModelBase model = PluginRegistry .findModel ("org.eclipse.pde.core" , new VersionRange ("[1.0.0,2.0.0)" ),
111
- null );
110
+ IPluginModelBase model = PluginRegistry .findModel ("org.eclipse.pde.core" , new VersionRange ("[1.0.0,2.0.0)" ));
112
111
assertNull (model );
113
112
}
114
113
115
114
@ Test
116
115
public void testRangeWithFilterMatch () {
117
- PluginFilter filter = new PluginFilter () {
118
- @ Override
119
- public boolean accept (IPluginModelBase model ) {
120
- IPluginBase base = model .getPluginBase ();
121
- if (base != null ) {
122
- String id = base .getId ();
123
- if (id != null ) {
124
- return id .startsWith ("org.eclipse" );
125
- }
126
- }
127
- return false ;
128
- }
129
- };
130
- IPluginModelBase model = PluginRegistry .findModel ("org.eclipse.jdt.debug" , new VersionRange ("[2.0.0,4.0.0)" ),
131
- filter );
116
+ IPluginModelBase model = PluginRegistry .findModels ("org.eclipse.jdt.debug" , new VersionRange ("[2.0.0,4.0.0)" ))
117
+ .filter (m -> m .getPluginBase ().getId ().startsWith ("org.eclipse" )).findFirst ().orElse (null );
132
118
assertNotNull (model );
133
119
assertEquals ("org.eclipse.jdt.debug" , model .getPluginBase ().getId ());
134
120
}
135
121
136
122
@ Test
137
123
public void testRangeWithFilterNoMatch () {
138
- PluginFilter filter = new PluginFilter () {
139
- @ Override
140
- public boolean accept (IPluginModelBase model ) {
141
- IPluginBase base = model .getPluginBase ();
142
- if (base != null ) {
143
- String id = base .getId ();
144
- if (id != null ) {
145
- return id .startsWith ("xyz" );
146
- }
147
- }
148
- return false ;
149
- }
150
- };
151
- IPluginModelBase model = PluginRegistry .findModel ("org.eclipse.jdt.debug" , new VersionRange ("[2.0.0,4.0.0)" ),
152
- filter );
124
+ IPluginModelBase model = PluginRegistry .findModels ("org.eclipse.jdt.debug" , new VersionRange ("[2.0.0,4.0.0)" ))
125
+ .filter (m -> m .getPluginBase ().getId ().startsWith ("xyz" )).findFirst ().orElse (null );
153
126
assertNull (model );
154
127
}
155
128
156
129
@ Test
157
130
public void testSingleRangeMatch () {
158
- IPluginModelBase [] models = PluginRegistry . findModels ( "org.eclipse.jdt.debug" ,
159
- new VersionRange ("[1.0.0,4.0.0)" ), null );
131
+ List < IPluginModelBase > models = PluginRegistry
132
+ . findModels ( "org.eclipse.jdt.debug" , new VersionRange ("[1.0.0,4.0.0)" )). toList ( );
160
133
assertNotNull (models );
161
- assertEquals (1 , models .length );
162
- assertEquals ("org.eclipse.jdt.debug" , models [ 0 ] .getPluginBase ().getId ());
134
+ assertEquals (1 , models .size () );
135
+ assertEquals ("org.eclipse.jdt.debug" , models . get ( 0 ) .getPluginBase ().getId ());
163
136
}
164
137
165
138
@ Test
@@ -175,11 +148,12 @@ public void testWorkspaceOverTarget() throws CoreException {
175
148
176
149
waitForBuild ();
177
150
178
- IPluginModelBase [] models = PluginRegistry .findModels ("org.junit" , new VersionRange ("[3.8.2,4.8.2]" ), null );
151
+ List <IPluginModelBase > models = PluginRegistry .findModels ("org.junit" , new VersionRange ("[3.8.2,4.8.2]" ))
152
+ .toList ();
179
153
assertNotNull (models );
180
- assertEquals (1 , models .length );
181
- assertEquals ("org.junit" , models [ 0 ] .getPluginBase ().getId ());
182
- assertEquals (project , models [ 0 ] .getUnderlyingResource ().getProject ());
154
+ assertEquals (1 , models .size () );
155
+ assertEquals ("org.junit" , models . get ( 0 ) .getPluginBase ().getId ());
156
+ assertEquals (project , models . get ( 0 ) .getUnderlyingResource ().getProject ());
183
157
184
158
} finally {
185
159
if (project .exists ()) {
@@ -194,8 +168,7 @@ public void testMatchEquivalent() {
194
168
Version testsVersion = FrameworkUtil .getBundle (PluginRegistryTests .class ).getVersion ();
195
169
IPluginModelBase model = PluginRegistry .findModel ("org.eclipse.pde.ui.tests" ,
196
170
String .format ("%s.%s.%s" , testsVersion .getMajor (), testsVersion .getMinor (), testsVersion .getMicro ()),
197
- IMatchRules .EQUIVALENT ,
198
- null );
171
+ VersionMatchRule .EQUIVALENT );
199
172
assertNotNull ("NOTE: This test might also fail because the version of the bundle got changed." , model );
200
173
assertEquals ("org.eclipse.pde.ui.tests" , model .getPluginBase ().getId ());
201
174
}
0 commit comments