潘志宝
2024-09-05 7fd198b8ebe97cd06b10f96b9179caebe679783c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package com.iailab.module.model.mdk.factory;
 
import com.iailab.module.model.mcs.pre.entity.MmItemTypeEntity;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;
 
/**
 * 创建预测项对象的工厂
 */
@Slf4j
@Component
public class PredictItemFactory {
 
    @Autowired
    private ApplicationContext applicationContext;
 
    @Autowired
    private ItemEntityFactory itemEntityFactory;
 
    /**
     * 根据预测项实体创建对应的预测项对象
     *
     * @param itemId
     * @return
     */
    public Object create(String itemId) {
        MmItemTypeEntity itemTypeEntity = itemEntityFactory.getMmItemTypeEntity(itemId);
        //获取预测项的预测程序的类
        Object itemObject = null;
        try {
            Class clazz = Class.forName(itemTypeEntity.getItemclasstype());
            itemObject = applicationContext.getBean(clazz);
        } catch (Exception e) {
            log.error("exception message : {}", e.getMessage());
        }
        return itemObject;
    }
}