Browse Source

REPORT-139789 fix: 设计器启动插件引擎注册checker

fbp/feature
Anner 3 days ago
parent
commit
60f93da97b
  1. 21
      designer-realize/src/main/java/com/fanruan/boot/env/DesignPluginComponent.java

21
designer-realize/src/main/java/com/fanruan/boot/env/DesignPluginComponent.java vendored

@ -15,8 +15,10 @@ import com.fr.invoke.ClassFactory;
import com.fr.json.JSONObject; import com.fr.json.JSONObject;
import com.fr.plugin.beforeload.embed.PluginEmbedInfo; import com.fr.plugin.beforeload.embed.PluginEmbedInfo;
import com.fr.plugin.config.PluginConfigContext; 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.PluginInjectionFilter;
import com.fr.plugin.injectable.PluginInjectionValidator;
import com.fr.plugin.injectable.SpecialLevel;
import com.fr.plugin.manage.PluginManager; import com.fr.plugin.manage.PluginManager;
import com.fr.plugin.manage.PluginSyncModuleType; import com.fr.plugin.manage.PluginSyncModuleType;
import com.fr.plugin.observer.PluginEvent; import com.fr.plugin.observer.PluginEvent;
@ -24,6 +26,7 @@ import com.fr.plugin.observer.PluginEventListener;
import com.fr.plugin.observer.PluginListenerRegistration; import com.fr.plugin.observer.PluginListenerRegistration;
import com.fr.plugin.validate.PluginValidator; import com.fr.plugin.validate.PluginValidator;
import com.fr.stable.CommonUtils; import com.fr.stable.CommonUtils;
import com.fr.stable.fun.Level;
import com.fr.stable.project.ProjectConstants; import com.fr.stable.project.ProjectConstants;
import com.fr.stable.resource.ResourceLoader; import com.fr.stable.resource.ResourceLoader;
import com.fr.startup.web.annotation.MappingJackson2HttpMessageConverter; import com.fr.startup.web.annotation.MappingJackson2HttpMessageConverter;
@ -76,6 +79,20 @@ public class DesignPluginComponent extends PluginComponent {
// 注册插件配置类Provider // 注册插件配置类Provider
registerPluginConfigProvider(); 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])); AutonomyClassManagerFactory.getInstance().registerAutonomyClassManager(Carina.getApplicationContext().group(AutonomyClassManagerGroup.class).getAll().toArray(new AutonomyClassManagerProvider[0]));
@ -92,7 +109,6 @@ public class DesignPluginComponent extends PluginComponent {
} }
}); });
registerPluginClassFinder(); registerPluginClassFinder();
PluginDBManager.getInstance().init();
} }
@Override @Override
@ -145,6 +161,5 @@ public class DesignPluginComponent extends PluginComponent {
@Stop @Stop
public void stop() { public void stop() {
super.stop(); super.stop();
PluginDBManager.getInstance().destroy();
} }
} }

Loading…
Cancel
Save