diff --git a/designer-realize/src/main/java/com/fanruan/boot/env/DesignPluginComponent.java b/designer-realize/src/main/java/com/fanruan/boot/env/DesignPluginComponent.java index bab4a43c1d..3bf6495a7b 100644 --- a/designer-realize/src/main/java/com/fanruan/boot/env/DesignPluginComponent.java +++ b/designer-realize/src/main/java/com/fanruan/boot/env/DesignPluginComponent.java @@ -16,7 +16,10 @@ import com.fr.json.JSONObject; import com.fr.plugin.beforeload.embed.PluginEmbedInfo; import com.fr.plugin.config.PluginConfigContext; import com.fr.plugin.db.PluginDBManager; +import com.fr.plugin.injectable.LevelChecker; import com.fr.plugin.injectable.PluginInjectionFilter; +import com.fr.plugin.injectable.PluginInjectionValidator; +import com.fr.plugin.injectable.SpecialLevel; import com.fr.plugin.manage.PluginManager; import com.fr.plugin.manage.PluginSyncModuleType; import com.fr.plugin.observer.PluginEvent; @@ -24,6 +27,7 @@ import com.fr.plugin.observer.PluginEventListener; import com.fr.plugin.observer.PluginListenerRegistration; import com.fr.plugin.validate.PluginValidator; import com.fr.stable.CommonUtils; +import com.fr.stable.fun.Level; import com.fr.stable.project.ProjectConstants; import com.fr.stable.resource.ResourceLoader; import com.fr.startup.web.annotation.MappingJackson2HttpMessageConverter; @@ -76,6 +80,20 @@ public class DesignPluginComponent extends PluginComponent { // 注册插件配置类Provider registerPluginConfigProvider(); + PluginInjectionValidator.setLevelChecker(new LevelChecker() { + @Override + public boolean isStandard(String name) { + //不在特殊表中的Level + return SpecialLevel.convert(name) == null; + } + + @Override + public boolean validateSpecificLevel(String name, Level injectionObject) { + SpecialLevel specialLevel = SpecialLevel.convert(name); + return specialLevel == null || specialLevel.getCurrentLevel() <= injectionObject.currentAPILevel(); + } + }); + AutonomyClassManagerFactory.getInstance().registerAutonomyClassManager(Carina.getApplicationContext().group(AutonomyClassManagerGroup.class).getAll().toArray(new AutonomyClassManagerProvider[0]));