|
@ -0,0 +1,82 @@
|
|
|
package com.yihu.hos.standard.match.metadata;
|
|
|
|
|
|
import com.yihu.hos.standard.model.adapter.AdapterMetadataModel;
|
|
|
import com.yihu.hos.standard.model.standard.StdMetaDataModel;
|
|
|
import com.yihu.hos.standard.service.adapter.AdapterMetadataService;
|
|
|
import com.yihu.hos.standard.util.LikeHashMap;
|
|
|
import org.springframework.context.annotation.Scope;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* Created by Administrator on 2016/7/4.
|
|
|
*/
|
|
|
|
|
|
@Scope("prototype")
|
|
|
@Component("metatdataStandardNameStrategy")
|
|
|
public class MetatdataStandardNameStrategy {
|
|
|
|
|
|
private static LikeHashMap<String,StdMetaDataModel> nameMap=new LikeHashMap<String,StdMetaDataModel>();//机构名称的map
|
|
|
private static LikeHashMap<String,StdMetaDataModel> remarkMap=new LikeHashMap<String,StdMetaDataModel>();//机构remark的map
|
|
|
|
|
|
private AdapterMetadataService adapterMetadataService;
|
|
|
|
|
|
public AdapterMetadataService getAdapterMetadataService() {
|
|
|
return adapterMetadataService;
|
|
|
}
|
|
|
|
|
|
public void setAdapterMetadataService(AdapterMetadataService adapterMetadataService) {
|
|
|
this.adapterMetadataService = adapterMetadataService;
|
|
|
}
|
|
|
|
|
|
public MetatdataStandardNameStrategy(AdapterMetadataService adapterMetadataService) {
|
|
|
|
|
|
this.adapterMetadataService = adapterMetadataService;
|
|
|
}
|
|
|
|
|
|
public MetatdataStandardNameStrategy() {
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 对传进来的metadata进行匹配
|
|
|
*
|
|
|
* @param metadata
|
|
|
* @param version
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
@Transactional
|
|
|
public boolean match(AdapterMetadataModel metadata, String version) throws Exception {
|
|
|
String name = metadata.getStdMetadataName();
|
|
|
StdMetaDataModel orgStdeMetadata = nameMap.get(name, true);
|
|
|
if (orgStdeMetadata != null) {
|
|
|
adapterMetadataService.saveAdapt(metadata, orgStdeMetadata, version,"2");
|
|
|
return true;
|
|
|
}
|
|
|
orgStdeMetadata=remarkMap.get(name,true);
|
|
|
if (orgStdeMetadata != null ) {
|
|
|
adapterMetadataService.saveAdapt(metadata, orgStdeMetadata, version,"2");
|
|
|
return true;
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
public static Map<String, StdMetaDataModel> getRemarkMap() {
|
|
|
return remarkMap;
|
|
|
}
|
|
|
|
|
|
public static void setRemarkMap(LikeHashMap<String, StdMetaDataModel> remarkMap) {
|
|
|
MetatdataStandardNameStrategy.remarkMap = remarkMap;
|
|
|
}
|
|
|
|
|
|
public static Map<String, StdMetaDataModel> getNameMap() {
|
|
|
return nameMap;
|
|
|
}
|
|
|
|
|
|
public static void setNameMap(LikeHashMap<String, StdMetaDataModel> nameMap) {
|
|
|
MetatdataStandardNameStrategy.nameMap = nameMap;
|
|
|
}
|
|
|
}
|