Skip to content

Commit

Permalink
licensing changes
Browse files Browse the repository at this point in the history
  • Loading branch information
DoodleBobBuffPants committed Dec 7, 2021
1 parent 1179557 commit 2e42e73
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 10 deletions.
Expand Up @@ -26,7 +26,6 @@
@CustomLog
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class FlywayTeamsObjectResolver {

public static <T> T resolve(Class<T> clazz, Object... params) {
String packageName = clazz.getPackage().getName();
String className = clazz.getSimpleName();
Expand All @@ -36,15 +35,29 @@ public static <T> T resolve(Class<T> clazz, Object... params) {
@SuppressWarnings({"InstantiationOfUtilityClass", "InstantiatingObjectToGetClassObject"})
ClassLoader classLoader = new FlywayTeamsObjectResolver().getClass().getClassLoader();

if (VersionPrinter.EDITION != Edition.COMMUNITY) {
String teamsPath = packageName + ".teams." + className;
try {
return ClassUtils.instantiate(teamsPath, classLoader, params);
} catch (FlywayException e) {
LOG.debug(e.getMessage() + ". Defaulting to Community Edition for " + className);
}
if (VersionPrinter.EDITION == Edition.COMMUNITY) {
return loadCommunityClass(packageName + "." + className, classLoader, params);
}

if (VersionPrinter.EDITION == Edition.PRO || VersionPrinter.EDITION == Edition.ENTERPRISE) {
String pathOfTheClass = packageName + ".teams." + className;
return loadClass(pathOfTheClass, packageName, className, classLoader, params);
}

String pathOfTheClass = packageName + "." + VersionPrinter.EDITION.name().toLowerCase() + "." + className;
return loadClass(pathOfTheClass, packageName, className, classLoader, params);
}

private static <T> T loadClass(String pathOfTheClass, String packageName, String className, ClassLoader classLoader, Object... params) {
try {
return ClassUtils.instantiate(pathOfTheClass, classLoader, params);
} catch (FlywayException e) {
LOG.debug(e.getMessage() + ". Defaulting to Community Edition for " + className);
return loadCommunityClass(packageName + "." + className, classLoader, params);
}
}

return ClassUtils.instantiate(packageName + "." + className, classLoader, params);
private static <T> T loadCommunityClass(String pathOfTheClass, ClassLoader classLoader, Object... params) {
return ClassUtils.instantiate(pathOfTheClass, classLoader, params);
}
}
Expand Up @@ -21,7 +21,8 @@
public enum Edition {
COMMUNITY("Community"),
PRO("Teams"),
ENTERPRISE("Teams")
ENTERPRISE("Teams"),
TIER3("Tier 3")



Expand Down

0 comments on commit 2e42e73

Please sign in to comment.