Lines 24-32
Link Here
|
24 |
|
24 |
|
25 |
import org.eclipse.core.runtime.CoreException; |
25 |
import org.eclipse.core.runtime.CoreException; |
26 |
import org.eclipse.core.runtime.IProgressMonitor; |
26 |
import org.eclipse.core.runtime.IProgressMonitor; |
27 |
import org.eclipse.core.runtime.NullProgressMonitor; |
27 |
import org.eclipse.core.runtime.IStatus; |
28 |
import org.eclipse.core.runtime.preferences.InstanceScope; |
28 |
import org.eclipse.core.runtime.preferences.InstanceScope; |
29 |
|
29 |
|
|
|
30 |
import org.eclipse.core.resources.ResourcesPlugin; |
31 |
|
32 |
import org.eclipse.ltk.core.refactoring.CheckConditionsOperation; |
33 |
import org.eclipse.ltk.core.refactoring.PerformRefactoringOperation; |
34 |
import org.eclipse.ltk.core.refactoring.Refactoring; |
35 |
import org.eclipse.ltk.core.refactoring.RefactoringCore; |
30 |
import org.eclipse.ltk.core.refactoring.RefactoringStatus; |
36 |
import org.eclipse.ltk.core.refactoring.RefactoringStatus; |
31 |
|
37 |
|
32 |
import org.eclipse.jdt.core.ICompilationUnit; |
38 |
import org.eclipse.jdt.core.ICompilationUnit; |
Lines 194-209
Link Here
|
194 |
} |
200 |
} |
195 |
}); |
201 |
}); |
196 |
|
202 |
|
197 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
203 |
doCleanUp(cleanUpRefactoring); |
198 |
cleanUpRefactoring.createChange(null); |
|
|
199 |
|
200 |
joinBackgroudActivities(); |
201 |
for (int i= 0; i < 10; i++) { |
202 |
startMeasuring(); |
203 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
204 |
cleanUpRefactoring.createChange(null); |
205 |
finishMeasurements(); |
206 |
} |
207 |
} |
204 |
} |
208 |
|
205 |
|
209 |
public void testAllCleanUps() throws Exception { |
206 |
public void testAllCleanUps() throws Exception { |
Lines 265-280
Link Here
|
265 |
//See https://bugs.eclipse.org/bugs/show_bug.cgi?id=135219 |
262 |
//See https://bugs.eclipse.org/bugs/show_bug.cgi?id=135219 |
266 |
// tagAsSummary("Code Clean Up - 25 clean-ups", Dimension.ELAPSED_PROCESS); |
263 |
// tagAsSummary("Code Clean Up - 25 clean-ups", Dimension.ELAPSED_PROCESS); |
267 |
|
264 |
|
268 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
265 |
doCleanUp(cleanUpRefactoring); |
269 |
cleanUpRefactoring.createChange(null); |
|
|
270 |
|
271 |
joinBackgroudActivities(); |
272 |
for (int i= 0; i < 10; i++) { |
273 |
startMeasuring(); |
274 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
275 |
cleanUpRefactoring.createChange(null); |
276 |
finishMeasurements(); |
277 |
} |
278 |
} |
266 |
} |
279 |
|
267 |
|
280 |
public void testCodeStyleCleanUp() throws Exception { |
268 |
public void testCodeStyleCleanUp() throws Exception { |
Lines 299-314
Link Here
|
299 |
|
287 |
|
300 |
cleanUpRefactoring.addCleanUp(new CodeStyleCleanUp()); |
288 |
cleanUpRefactoring.addCleanUp(new CodeStyleCleanUp()); |
301 |
|
289 |
|
302 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
290 |
doCleanUp(cleanUpRefactoring); |
303 |
cleanUpRefactoring.createChange(null); |
|
|
304 |
|
305 |
joinBackgroudActivities(); |
306 |
for (int i= 0; i < 10; i++) { |
307 |
startMeasuring(); |
308 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
309 |
cleanUpRefactoring.createChange(null); |
310 |
finishMeasurements(); |
311 |
} |
312 |
} |
291 |
} |
313 |
|
292 |
|
314 |
public void testControlStatementsCleanUp() throws Exception { |
293 |
public void testControlStatementsCleanUp() throws Exception { |
Lines 325-340
Link Here
|
325 |
cleanUpRefactoring.addCleanUp(new ControlStatementsCleanUp()); |
304 |
cleanUpRefactoring.addCleanUp(new ControlStatementsCleanUp()); |
326 |
cleanUpRefactoring.addCleanUp(new ConvertLoopCleanUp()); |
305 |
cleanUpRefactoring.addCleanUp(new ConvertLoopCleanUp()); |
327 |
|
306 |
|
328 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
307 |
doCleanUp(cleanUpRefactoring); |
329 |
cleanUpRefactoring.createChange(null); |
|
|
330 |
|
331 |
joinBackgroudActivities(); |
332 |
for (int i= 0; i < 10; i++) { |
333 |
startMeasuring(); |
334 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
335 |
cleanUpRefactoring.createChange(null); |
336 |
finishMeasurements(); |
337 |
} |
338 |
} |
308 |
} |
339 |
|
309 |
|
340 |
public void testConvertLoopCleanUp() throws Exception { |
310 |
public void testConvertLoopCleanUp() throws Exception { |
Lines 350-365
Link Here
|
350 |
cleanUpRefactoring.addCleanUp(new ControlStatementsCleanUp()); |
320 |
cleanUpRefactoring.addCleanUp(new ControlStatementsCleanUp()); |
351 |
cleanUpRefactoring.addCleanUp(new ConvertLoopCleanUp()); |
321 |
cleanUpRefactoring.addCleanUp(new ConvertLoopCleanUp()); |
352 |
|
322 |
|
353 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
323 |
doCleanUp(cleanUpRefactoring); |
354 |
cleanUpRefactoring.createChange(null); |
|
|
355 |
|
356 |
joinBackgroudActivities(); |
357 |
for (int i= 0; i < 10; i++) { |
358 |
startMeasuring(); |
359 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
360 |
cleanUpRefactoring.createChange(null); |
361 |
finishMeasurements(); |
362 |
} |
363 |
} |
324 |
} |
364 |
|
325 |
|
365 |
public void testExpressionsCleanUp() throws Exception { |
326 |
public void testExpressionsCleanUp() throws Exception { |
Lines 375-390
Link Here
|
375 |
|
336 |
|
376 |
cleanUpRefactoring.addCleanUp(new ExpressionsCleanUp()); |
337 |
cleanUpRefactoring.addCleanUp(new ExpressionsCleanUp()); |
377 |
|
338 |
|
378 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
339 |
doCleanUp(cleanUpRefactoring); |
379 |
cleanUpRefactoring.createChange(null); |
|
|
380 |
|
381 |
joinBackgroudActivities(); |
382 |
for (int i= 0; i < 10; i++) { |
383 |
startMeasuring(); |
384 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
385 |
cleanUpRefactoring.createChange(null); |
386 |
finishMeasurements(); |
387 |
} |
388 |
} |
340 |
} |
389 |
|
341 |
|
390 |
public void testJava50CleanUp() throws Exception { |
342 |
public void testJava50CleanUp() throws Exception { |
Lines 401-416
Link Here
|
401 |
|
353 |
|
402 |
cleanUpRefactoring.addCleanUp(new Java50CleanUp()); |
354 |
cleanUpRefactoring.addCleanUp(new Java50CleanUp()); |
403 |
|
355 |
|
404 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
356 |
doCleanUp(cleanUpRefactoring); |
405 |
cleanUpRefactoring.createChange(null); |
|
|
406 |
|
407 |
joinBackgroudActivities(); |
408 |
for (int i= 0; i < 10; i++) { |
409 |
startMeasuring(); |
410 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
411 |
cleanUpRefactoring.createChange(null); |
412 |
finishMeasurements(); |
413 |
} |
414 |
} |
357 |
} |
415 |
|
358 |
|
416 |
public void testStringCleanUp() throws Exception { |
359 |
public void testStringCleanUp() throws Exception { |
Lines 425-440
Link Here
|
425 |
|
368 |
|
426 |
cleanUpRefactoring.addCleanUp(new StringCleanUp()); |
369 |
cleanUpRefactoring.addCleanUp(new StringCleanUp()); |
427 |
|
370 |
|
428 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
371 |
doCleanUp(cleanUpRefactoring); |
429 |
cleanUpRefactoring.createChange(null); |
|
|
430 |
|
431 |
joinBackgroudActivities(); |
432 |
for (int i= 0; i < 10; i++) { |
433 |
startMeasuring(); |
434 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
435 |
cleanUpRefactoring.createChange(null); |
436 |
finishMeasurements(); |
437 |
} |
438 |
} |
372 |
} |
439 |
|
373 |
|
440 |
public void testSortMembersCleanUp() throws Exception { |
374 |
public void testSortMembersCleanUp() throws Exception { |
Lines 450-465
Link Here
|
450 |
|
384 |
|
451 |
cleanUpRefactoring.addCleanUp(new SortMembersCleanUp()); |
385 |
cleanUpRefactoring.addCleanUp(new SortMembersCleanUp()); |
452 |
|
386 |
|
453 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
387 |
doCleanUp(cleanUpRefactoring); |
454 |
cleanUpRefactoring.createChange(null); |
|
|
455 |
|
456 |
joinBackgroudActivities(); |
457 |
for (int i= 0; i < 10; i++) { |
458 |
startMeasuring(); |
459 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
460 |
cleanUpRefactoring.createChange(null); |
461 |
finishMeasurements(); |
462 |
} |
463 |
} |
388 |
} |
464 |
|
389 |
|
465 |
public void testUnnecessaryCodeCleanUp() throws Exception { |
390 |
public void testUnnecessaryCodeCleanUp() throws Exception { |
Lines 472-487
Link Here
|
472 |
|
397 |
|
473 |
cleanUpRefactoring.addCleanUp(new UnnecessaryCodeCleanUp()); |
398 |
cleanUpRefactoring.addCleanUp(new UnnecessaryCodeCleanUp()); |
474 |
|
399 |
|
475 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
400 |
doCleanUp(cleanUpRefactoring); |
476 |
cleanUpRefactoring.createChange(null); |
|
|
477 |
|
478 |
joinBackgroudActivities(); |
479 |
for (int i= 0; i < 10; i++) { |
480 |
startMeasuring(); |
481 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
482 |
cleanUpRefactoring.createChange(null); |
483 |
finishMeasurements(); |
484 |
} |
485 |
} |
401 |
} |
486 |
|
402 |
|
487 |
public void testUnusedCodeCleanUp() throws Exception { |
403 |
public void testUnusedCodeCleanUp() throws Exception { |
Lines 502-517
Link Here
|
502 |
|
418 |
|
503 |
cleanUpRefactoring.addCleanUp(new UnusedCodeCleanUp()); |
419 |
cleanUpRefactoring.addCleanUp(new UnusedCodeCleanUp()); |
504 |
|
420 |
|
505 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
421 |
doCleanUp(cleanUpRefactoring); |
506 |
cleanUpRefactoring.createChange(null); |
|
|
507 |
|
508 |
joinBackgroudActivities(); |
509 |
for (int i= 0; i < 10; i++) { |
510 |
startMeasuring(); |
511 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
512 |
cleanUpRefactoring.createChange(null); |
513 |
finishMeasurements(); |
514 |
} |
515 |
} |
422 |
} |
516 |
|
423 |
|
517 |
public void testVariableDeclarationCleanUp() throws Exception { |
424 |
public void testVariableDeclarationCleanUp() throws Exception { |
Lines 529-543
Link Here
|
529 |
|
436 |
|
530 |
cleanUpRefactoring.addCleanUp(new VariableDeclarationCleanUp()); |
437 |
cleanUpRefactoring.addCleanUp(new VariableDeclarationCleanUp()); |
531 |
|
438 |
|
532 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
439 |
doCleanUp(cleanUpRefactoring); |
533 |
cleanUpRefactoring.createChange(null); |
440 |
} |
|
|
441 |
|
442 |
private void doCleanUp(CleanUpRefactoring refactoring) throws CoreException { |
443 |
|
444 |
performRefactoring(refactoring, false, IStatus.WARNING, true); |
445 |
performRefactoring(refactoring, false, IStatus.WARNING, true); |
534 |
|
446 |
|
535 |
joinBackgroudActivities(); |
|
|
536 |
for (int i= 0; i < 10; i++) { |
447 |
for (int i= 0; i < 10; i++) { |
537 |
startMeasuring(); |
448 |
startMeasuring(); |
538 |
cleanUpRefactoring.checkAllConditions(new NullProgressMonitor()); |
449 |
performRefactoring(refactoring, false, IStatus.WARNING, true); |
539 |
cleanUpRefactoring.createChange(null); |
450 |
stopMeasuring(); |
540 |
finishMeasurements(); |
451 |
} |
|
|
452 |
|
453 |
commitMeasurements(); |
454 |
assertPerformanceInRelativeBand(Dimension.ELAPSED_PROCESS, -100, +10); |
455 |
} |
456 |
|
457 |
private void performRefactoring(Refactoring refactoring, boolean measure, int maxSeverity, boolean checkUndo) throws CoreException { |
458 |
PerformRefactoringOperation operation= new PerformRefactoringOperation(refactoring, CheckConditionsOperation.ALL_CONDITIONS); |
459 |
joinBackgroudActivities(); |
460 |
// Flush the undo manager to not count any already existing undo objects |
461 |
// into the heap consumption |
462 |
RefactoringCore.getUndoManager().flush(); |
463 |
System.gc(); |
464 |
if (measure) |
465 |
startMeasuring(); |
466 |
ResourcesPlugin.getWorkspace().run(operation, null); |
467 |
if (measure) |
468 |
stopMeasuring(); |
469 |
assertEquals(true, operation.getConditionStatus().getSeverity() <= maxSeverity); |
470 |
assertEquals(true, operation.getValidationStatus().isOK()); |
471 |
if (checkUndo) { |
472 |
assertNotNull(operation.getUndoChange()); |
541 |
} |
473 |
} |
|
|
474 |
RefactoringCore.getUndoManager().flush(); |
475 |
System.gc(); |
542 |
} |
476 |
} |
|
|
477 |
|
543 |
} |
478 |
} |