diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/MetaDataProducerHelper.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/MetaDataProducerHelper.java index 977a552b..b6ea0975 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/MetaDataProducerHelper.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/MetaDataProducerHelper.java @@ -29,6 +29,7 @@ import java.util.ArrayList; import java.util.Comparator; import java.util.List; import com.google.common.reflect.ClassPath; +import com.kingsrook.qqq.backend.core.exceptions.QException; import com.kingsrook.qqq.backend.core.logging.QLogger; import com.kingsrook.qqq.backend.core.model.MetaDataProducerInterface; import com.kingsrook.qqq.backend.core.model.metadata.layout.QAppMetaData; @@ -50,13 +51,22 @@ public class MetaDataProducerHelper ** ** Note - they'll be sorted by the sortOrder they provide. *******************************************************************************/ - public static void processAllMetaDataProducersInPackage(QInstance instance, String packageName) throws IOException + public static void processAllMetaDataProducersInPackage(QInstance instance, String packageName) throws QException { - //////////////////////////////////////////////////////////////////////// - // find all the meta data producer classes in (and under) the package // - //////////////////////////////////////////////////////////////////////// - List> classesInPackage = getClassesInPackage(packageName); - List> producers = new ArrayList<>(); + List> classesInPackage; + try + { + //////////////////////////////////////////////////////////////////////// + // find all the meta data producer classes in (and under) the package // + //////////////////////////////////////////////////////////////////////// + classesInPackage = getClassesInPackage(packageName); + } + catch(Exception e) + { + throw (new QException("Error getting classes in package [" + packageName + "]", e)); + } + List> producers = new ArrayList<>(); + for(Class aClass : classesInPackage) { try diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/model/metadata/MetaDataProducerHelperTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/model/metadata/MetaDataProducerHelperTest.java index ab1ae66f..84f70562 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/model/metadata/MetaDataProducerHelperTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/model/metadata/MetaDataProducerHelperTest.java @@ -22,7 +22,7 @@ package com.kingsrook.qqq.backend.core.model.metadata; -import java.io.IOException; +import com.kingsrook.qqq.backend.core.exceptions.QException; import com.kingsrook.qqq.backend.core.model.metadata.producers.TestAbstractMetaDataProducer; import com.kingsrook.qqq.backend.core.model.metadata.producers.TestDisabledMetaDataProducer; import com.kingsrook.qqq.backend.core.model.metadata.producers.TestImplementsMetaDataProducer; @@ -44,7 +44,7 @@ class MetaDataProducerHelperTest ** *******************************************************************************/ @Test - void test() throws IOException + void test() throws QException { QInstance qInstance = new QInstance(); MetaDataProducerHelper.processAllMetaDataProducersInPackage(qInstance, "com.kingsrook.qqq.backend.core.model.metadata.producers");