Преглед изворни кода

自动适配数据集未适配bug

huangzhiyong пре 8 година
родитељ
комит
98d3c733eb

+ 7 - 5
hos-web-framework/src/main/java/com/yihu/hos/web/framework/util/springutil/SpringBeanUtil.java

@ -3,9 +3,7 @@ package com.yihu.hos.web.framework.util.springutil;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.stereotype.Component;
/**
 * 服务管理器。服务管理器是所有顶级服务的生成器。若是单元测试使用此服务工厂,Spring Context会被ServiceFactory创建。
@ -16,7 +14,7 @@ import org.springframework.stereotype.Component;
 * @created 12-05-2015 17:47:55
 */
public class SpringBeanUtil implements ApplicationContextAware {
public class SpringBeanUtil  {
    private static ApplicationContext springContext = null;
    /**
@ -28,11 +26,15 @@ public class SpringBeanUtil implements ApplicationContextAware {
        return springContext;
    }
    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
    public static void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        springContext = applicationContext;
    }
    public static <T> T getBean(String beanName){
        return (T) springContext.getBean(beanName);
    }
    /**
     * 获取服务。
     *

+ 5 - 1
src/main/java/com/yihu/hos/ESBApplication.java

@ -1,8 +1,10 @@
package com.yihu.hos;
import com.yihu.hos.interceptor.WebMvcInterceptor;
import com.yihu.hos.web.framework.util.springutil.SpringBeanUtil;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@ -10,7 +12,9 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
public class ESBApplication extends WebMvcConfigurerAdapter {
    public static void main(String[] args) throws Exception {
        SpringApplication application = new SpringApplication(ESBApplication.class);
        application.run(args);
        ApplicationContext run = application.run(args);
        SpringBeanUtil.setApplicationContext(run);
    }
    // 增加拦截器

+ 21 - 0
src/main/java/com/yihu/hos/standard/match/metadata/MetatdataStandardExistStrategy.java

@ -3,12 +3,15 @@ package com.yihu.hos.standard.match.metadata;
import com.yihu.hos.standard.dao.IStdDataSetModelDao;
import com.yihu.hos.standard.dao.IStdMetaDataModelDao;
import com.yihu.hos.standard.match.matchModel.MetadataMatchVO;
import com.yihu.hos.standard.model.adapter.AdapterDatasetModel;
import com.yihu.hos.standard.model.adapter.AdapterMetadataModel;
import com.yihu.hos.standard.model.standard.StdDataSetModel;
import com.yihu.hos.standard.model.standard.StdMetaDataModel;
import com.yihu.hos.standard.service.adapter.AdapterDatasetService;
import com.yihu.hos.standard.service.adapter.AdapterMetadataService;
import com.yihu.hos.standard.util.GetChineseFirst;
import com.yihu.hos.web.framework.dao.SQLGeneralDAO;
import com.yihu.hos.web.framework.util.springutil.SpringBeanUtil;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@ -25,6 +28,15 @@ public class MetatdataStandardExistStrategy extends SQLGeneralDAO {
    private IStdMetaDataModelDao stdMetaDataModelDao;
    private AdapterMetadataService adapterMetadataService;
    private IStdDataSetModelDao stdDataSetModelDao;
    private AdapterDatasetService adapterDatasetService;
    public AdapterDatasetService getAdapterDatasetService() {
        return adapterDatasetService;
    }
    public void setAdapterDatasetService(AdapterDatasetService adapterDatasetService) {
        this.adapterDatasetService = adapterDatasetService;
    }
    public MetatdataStandardExistStrategy(IStdMetaDataModelDao stdMetaDataModelDao){
       this.stdMetaDataModelDao = stdMetaDataModelDao;
@ -72,7 +84,9 @@ public class MetatdataStandardExistStrategy extends SQLGeneralDAO {
        if(adapterMetadatas!=null&&adapterMetadatas.size()>0){
            //获取待适配的数据集名
            Integer unAdaptDatasetId = strategyMetadata.getStdDatasetId();
            Integer adapterDatasetId = strategyMetadata.getAdapterDatasetId();
            StdDataSetModel stdDataset = stdDataSetModelDao.getDatasetName(adapter_std_version, unAdaptDatasetId);
            StdDataSetModel adapterDataset = stdDataSetModelDao.getDatasetName(adapter_std_version, unAdaptDatasetId);
            String stdDatasetName = stdDataset.getName();
            for (AdapterMetadataModel stdeMetadataTemp : adapterMetadatas) {
                //利用名字來匹配
@ -93,7 +107,14 @@ public class MetatdataStandardExistStrategy extends SQLGeneralDAO {
                    }
                }
            }
            adapterDatasetService = SpringBeanUtil.getService(AdapterDatasetService.BEAN_ID);
            AdapterDatasetModel entity = adapterDatasetService.getAdapterDatasetByCode( version,adapterDataset.getCode());
            entity.setAdapterDatasetId(strategyMetadata.getAdapterDatasetId());
            entity.setAdapterDatasetCode(adapterDataset.getCode());
            entity.setAdapterDatasetName(adapterDataset.getName());
            adapterDatasetService.modifyAdapterDateset(version,entity);
        }
        return flag;
    }
}

+ 17 - 0
src/main/java/com/yihu/hos/standard/service/adapter/AdapterDatasetService.java

@ -648,4 +648,21 @@ public class AdapterDatasetService extends SQLGeneralDAO {
        }
    }
    public Result modifyAdapterDateset(String adapterVersion, AdapterDatasetModel adapterDatasetModel) {
        try {
            AdapterVersion version = new AdapterVersion(adapterVersion);
            JsonNode jsonNode = objectMapper.readTree(objectMapper.writeValueAsString(adapterDatasetModel));
            SqlCreator sqlCreator = new SqlCreator(AdapterDatasetModel.class);
            String sql = sqlCreator.updateDataByTableKey(version.getDataSetTableName(), jsonNode);
            Query query = getExeuteQuery(sqlCreator, sql);
            query.executeUpdate();
            adapterDatasetModel.setSuccessFlg(true);
            adapterDatasetModel.setMessage("修改适配数据集成功");
            return adapterDatasetModel;
        } catch (Exception e) {
            e.printStackTrace();
            return Result.error("修改适配数据集失败");
        }
    }
}