|
@@ -1,23 +1,27 @@
|
|
package cn.iselab.mooctest.site.configure;
|
|
package cn.iselab.mooctest.site.configure;
|
|
|
|
|
|
-import com.aliyun.oss.OSSClient;
|
|
|
|
-import com.aliyun.oss.model.PolicyConditions;
|
|
|
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
|
+import org.kie.api.KieBase;
|
|
import org.kie.api.KieServices;
|
|
import org.kie.api.KieServices;
|
|
-import org.kie.api.builder.KieBuilder;
|
|
|
|
-import org.kie.api.builder.KieFileSystem;
|
|
|
|
-import org.kie.api.builder.KieModule;
|
|
|
|
-import org.kie.api.builder.KieRepository;
|
|
|
|
|
|
+import org.kie.api.builder.KieScanner;
|
|
|
|
+import org.kie.api.builder.Message;
|
|
|
|
+import org.kie.api.builder.Results;
|
|
|
|
+import org.kie.api.io.ResourceType;
|
|
import org.kie.api.runtime.KieContainer;
|
|
import org.kie.api.runtime.KieContainer;
|
|
|
|
+import org.kie.api.runtime.KieSession;
|
|
import org.kie.internal.io.ResourceFactory;
|
|
import org.kie.internal.io.ResourceFactory;
|
|
|
|
+import org.kie.internal.utils.KieHelper;
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
+import org.springframework.core.io.ClassPathResource;
|
|
import org.springframework.core.io.Resource;
|
|
import org.springframework.core.io.Resource;
|
|
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
|
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
|
import org.springframework.core.io.support.ResourcePatternResolver;
|
|
import org.springframework.core.io.support.ResourcePatternResolver;
|
|
|
|
|
|
|
|
+import javax.annotation.PostConstruct;
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
-import java.util.Arrays;
|
|
|
|
|
|
+import java.util.Map;
|
|
|
|
|
|
/**
|
|
/**
|
|
* @program: mooctest-site
|
|
* @program: mooctest-site
|
|
@@ -26,43 +30,9 @@ import java.util.Arrays;
|
|
* @create: 2019-05-20 13:58
|
|
* @create: 2019-05-20 13:58
|
|
**/
|
|
**/
|
|
@Configuration
|
|
@Configuration
|
|
|
|
+@Slf4j
|
|
public class DroolsConfiguration {
|
|
public class DroolsConfiguration {
|
|
- private static final String RULES_PATH = "rules/";
|
|
|
|
|
|
|
|
- @Bean
|
|
|
|
- @ConditionalOnMissingBean(KieContainer.class)
|
|
|
|
- public KieContainer kieContainer() throws IOException {
|
|
|
|
- KieRepository kieRepository = getKieServices().getRepository();
|
|
|
|
- new OSSClient().generatePostPolicy()
|
|
|
|
- kieRepository.addKieModule(kieRepository::getDefaultReleaseId);
|
|
|
|
- KieBuilder kieBuilder = getKieServices().newKieBuilder(kieFileSystem()).buildAll();
|
|
|
|
- KieModule kieModule = kieBuilder.getKieModule();
|
|
|
|
- return getKieServices().newKieContainer(kieModule.getReleaseId());
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- @Bean
|
|
|
|
- @ConditionalOnMissingBean(KieFileSystem.class)
|
|
|
|
- public KieFileSystem kieFileSystem() throws IOException {
|
|
|
|
- KieFileSystem kieFileSystem = getKieServices().newKieFileSystem();
|
|
|
|
- System.out.println(Arrays.toString(getRulesFiles()));
|
|
|
|
- for (Resource r: getRulesFiles()) {
|
|
|
|
- System.out.println(r.getFilename());
|
|
|
|
- kieFileSystem.write(ResourceFactory.newClassPathResource(RULES_PATH+r.getFilename(), "UTF-8"));
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return kieFileSystem;
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- private KieServices getKieServices() {
|
|
|
|
- return KieServices.Factory.get();
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- private Resource[] getRulesFiles() throws IOException {
|
|
|
|
- ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
|
|
|
|
- return resourcePatternResolver.getResources("classpath*:" + RULES_PATH + "**/*.*");
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|