Skip to content

Commit

Permalink
Add dynamic selection of eclipse class in CleanupTest
Browse files Browse the repository at this point in the history
  • Loading branch information
Rawi01 committed Mar 19, 2024
1 parent 7957b6f commit c341304
Showing 1 changed file with 14 additions and 3 deletions.
17 changes: 14 additions & 3 deletions test/eclipse/src/lombok/eclipse/cleanup/CleanupTest.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2022 The Project Lombok Authors.
* Copyright (C) 2022-2024 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
Expand All @@ -23,15 +23,17 @@

import static lombok.eclipse.RefactoringUtils.performRefactoring;

import java.lang.reflect.Constructor;
import java.util.Map;
import java.util.Map.Entry;

import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jdt.internal.corext.fix.CleanUpConstants;
import org.eclipse.jdt.internal.corext.fix.CleanUpRefactoring;
import org.eclipse.jdt.internal.corext.fix.CleanUpRegistry;
import org.eclipse.jdt.internal.ui.JavaPlugin;
import org.eclipse.jdt.internal.ui.fix.CodeStyleCleanUp;
import org.eclipse.jdt.internal.ui.fix.MapCleanUpOptions;
import org.eclipse.jdt.ui.cleanup.ICleanUp;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
Expand Down Expand Up @@ -59,7 +61,16 @@ public void useThis() throws Exception {

CleanUpRefactoring ref = new CleanUpRefactoring();
ref.addCompilationUnit(cu);
ref.addCleanUp(new CodeStyleCleanUp(options.getMap()));

// Load the class dynamically to avoid compile errors when running with older versions of Eclipse
Class<?> cleanUpClass;
try {
cleanUpClass = Class.forName("org.eclipse.jdt.internal.ui.fix.CodeStyleCleanUp");
} catch (ClassNotFoundException e) {
cleanUpClass = Class.forName("org.eclipse.jdt.internal.ui.fix.CodeStyleCleanUpCore");
}
Constructor<?> cleanUpConstructor = cleanUpClass.getConstructor(Map.class);
ref.addCleanUp((ICleanUp) cleanUpConstructor.newInstance(options.getMap()));

performRefactoring(ref);
}
Expand Down

0 comments on commit c341304

Please sign in to comment.