|  | @ -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;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | }
 |