diff --git a/base-jdbc-tests/src/main/java/com/telecominfraproject/wlan/core/server/jdbc/test/BaseJdbcTest.java b/base-jdbc-tests/src/main/java/com/telecominfraproject/wlan/core/server/jdbc/test/BaseJdbcTest.java index db35017..acc77ec 100644 --- a/base-jdbc-tests/src/main/java/com/telecominfraproject/wlan/core/server/jdbc/test/BaseJdbcTest.java +++ b/base-jdbc-tests/src/main/java/com/telecominfraproject/wlan/core/server/jdbc/test/BaseJdbcTest.java @@ -126,8 +126,10 @@ public abstract class BaseJdbcTest { urls.addAll(ClasspathHelper.forPackage("com.telecominfraproject.wlan")); //add vendor packages - if(BaseJsonModel.vendorTopLevelPackages!=null) { - String[] vendorPkgs = BaseJsonModel.vendorTopLevelPackages.split(","); + String vendorTopLevelPackages = BaseJsonModel.getVendorTopLevelPackages(); + + if(vendorTopLevelPackages!=null) { + String[] vendorPkgs = vendorTopLevelPackages.split(","); for(int i=0; i< vendorPkgs.length; i++) { if(vendorPkgs[i].trim().isEmpty()) { continue; diff --git a/base-models/src/main/java/com/telecominfraproject/wlan/core/model/json/BaseJsonModel.java b/base-models/src/main/java/com/telecominfraproject/wlan/core/model/json/BaseJsonModel.java index 2979067..5465e39 100644 --- a/base-models/src/main/java/com/telecominfraproject/wlan/core/model/json/BaseJsonModel.java +++ b/base-models/src/main/java/com/telecominfraproject/wlan/core/model/json/BaseJsonModel.java @@ -224,7 +224,10 @@ public abstract class BaseJsonModel implements Cloneable, Serializable { return ret; } - public static final String vendorTopLevelPackages = System.getProperty("tip.wlan.vendorTopLevelPackages", ""); + public static String getVendorTopLevelPackages() { + return System.getProperty("tip.wlan.vendorTopLevelPackages", ""); + } + public static Reflections getReflections() { //scan urls that contain 'com.telecominfraproject.wlan' and vendor-specific top level packages, use the default scanners @@ -235,6 +238,8 @@ public abstract class BaseJsonModel implements Cloneable, Serializable { pkgs.add("com.telecominfraproject.wlan"); //add vendor packages + String vendorTopLevelPackages = getVendorTopLevelPackages(); + if(vendorTopLevelPackages!=null) { String[] vendorPkgs = vendorTopLevelPackages.split(","); for(int i=0; i< vendorPkgs.length; i++) { @@ -249,8 +254,10 @@ public abstract class BaseJsonModel implements Cloneable, Serializable { } } + FilterBuilder filters = new FilterBuilder().includePackage(pkgs.toArray(new String[0])); + Reflections reflections = new Reflections(new ConfigurationBuilder() - .filterInputsBy(new FilterBuilder().includePackage(pkgs.toArray(new String[0]))) + .filterInputsBy(filters) .setUrls(urls) .setScanners(new SubTypesScanner(), new TypeAnnotationsScanner() )); diff --git a/reflections-tip/src/main/java/org/reflections/util/FilterBuilder.java b/reflections-tip/src/main/java/org/reflections/util/FilterBuilder.java index 767a7ed..d7e41a6 100644 --- a/reflections-tip/src/main/java/org/reflections/util/FilterBuilder.java +++ b/reflections-tip/src/main/java/org/reflections/util/FilterBuilder.java @@ -42,7 +42,7 @@ public class FilterBuilder implements Predicate { /** include packages of given prefixes */ public FilterBuilder includePackage(final String... prefixes) { for (String prefix : prefixes) { - return add(new Include(prefix(prefix))); + add(new Include(prefix(prefix))); } return this; }