SensorConfigService
This commit is contained in:
		
							parent
							
								
									d8c8101dba
								
							
						
					
					
						commit
						fb239e2249
					
				
							
								
								
									
										2
									
								
								pom.xml
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								pom.xml
									
									
									
									
									
								
							| @ -50,7 +50,7 @@ | |||||||
|         <dependency> |         <dependency> | ||||||
|             <groupId>com.loafle.overflow</groupId> |             <groupId>com.loafle.overflow</groupId> | ||||||
|             <artifactId>commons-java</artifactId> |             <artifactId>commons-java</artifactId> | ||||||
|             <version>1.0.113-SNAPSHOT</version> |             <version>1.0.114-SNAPSHOT</version> | ||||||
|         </dependency> |         </dependency> | ||||||
| 
 | 
 | ||||||
|         <dependency> |         <dependency> | ||||||
|  | |||||||
| @ -1,13 +1,127 @@ | |||||||
| package com.loafle.overflow.central.module.sensor.service; | package com.loafle.overflow.central.module.sensor.service; | ||||||
| 
 | 
 | ||||||
| import com.loafle.overflow.model.sensor.Sensor; | import java.util.ArrayList; | ||||||
|  | import java.util.List; | ||||||
| 
 | 
 | ||||||
|  | import com.loafle.overflow.core.exception.OverflowException; | ||||||
|  | import com.loafle.overflow.model.infra.Infra; | ||||||
|  | import com.loafle.overflow.model.infra.InfraHost; | ||||||
|  | import com.loafle.overflow.model.infra.InfraHostIP; | ||||||
|  | import com.loafle.overflow.model.infra.InfraHostPort; | ||||||
|  | import com.loafle.overflow.model.infra.InfraService; | ||||||
|  | import com.loafle.overflow.model.meta.MetaCollectionItem; | ||||||
|  | import com.loafle.overflow.model.meta.MetaCollectionItemMapping; | ||||||
|  | import com.loafle.overflow.model.meta.MetaCryptoType; | ||||||
|  | import com.loafle.overflow.model.meta.MetaInfraType; | ||||||
|  | import com.loafle.overflow.model.sensor.Sensor; | ||||||
|  | import com.loafle.overflow.model.sensor.SensorItem; | ||||||
|  | import com.loafle.overflow.model.sensorconfig.SensorConfig; | ||||||
|  | import com.loafle.overflow.model.sensorconfig.SensorConfigConnection; | ||||||
|  | import com.loafle.overflow.model.sensorconfig.SensorConfigCrawler; | ||||||
|  | import com.loafle.overflow.model.sensorconfig.SensorConfigItems; | ||||||
|  | import com.loafle.overflow.model.sensorconfig.SensorConfigSchedule; | ||||||
|  | import com.loafle.overflow.service.central.meta.MetaCollectionItemMappingService; | ||||||
|  | 
 | ||||||
|  | import org.hibernate.mapping.Array; | ||||||
|  | import org.springframework.beans.factory.annotation.Autowired; | ||||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||||
| 
 | 
 | ||||||
| @Service("SensorConfigService") | @Service("SensorConfigService") | ||||||
| public class CentralSensorConfigService { | public class CentralSensorConfigService { | ||||||
| 
 | 
 | ||||||
|   public void regist(Sensor sensor) { |   @Autowired | ||||||
|  |   MetaCollectionItemMappingService metaCollectionItemMappingService; | ||||||
|  |   @Autowired | ||||||
|  |   CentralSensorItemService sensorItemService; | ||||||
| 
 | 
 | ||||||
|  |   public SensorConfig regist(Sensor sensor) throws OverflowException { | ||||||
|  |     if (null == sensor.getId()) { | ||||||
|  |       throw new OverflowException(String.format("ID[%s] of Sensor is not valid", sensor.getId())); | ||||||
|  |     } | ||||||
|  |     SensorConfig sensorConfig = new SensorConfig(); | ||||||
|  |     sensorConfig.setSensorID(sensor.getId()); | ||||||
|  |     sensorConfig.setCrawler(this.configCrawler(sensorConfig, sensor)); | ||||||
|  |     sensorConfig.setConnection(this.configConnection(sensorConfig, sensor)); | ||||||
|  |     sensorConfig.setSchedule(this.configSchedule(sensorConfig, sensor)); | ||||||
|  |     sensorConfig.setItems(this.configItems(sensorConfig, sensor)); | ||||||
|  | 
 | ||||||
|  |     return sensorConfig; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   private SensorConfigCrawler configCrawler(SensorConfig config, Sensor sensor) throws OverflowException { | ||||||
|  |     if (null == sensor.getMetaCrawlerMapping() || null == sensor.getMetaCrawlerMapping().getMetaCrawler() | ||||||
|  |         || null == sensor.getMetaCrawlerMapping().getMetaCrawlerContainer()) { | ||||||
|  |       throw new OverflowException(String.format("ID[%s] of Sensor is not valid", sensor.getId())); | ||||||
|  |     } | ||||||
|  |     SensorConfigCrawler sensorConfigCrawler = new SensorConfigCrawler(); | ||||||
|  |     sensorConfigCrawler.setMetaCrawlerContainerKey(sensor.getMetaCrawlerMapping().getMetaCrawlerContainer().getKey()); | ||||||
|  |     sensorConfigCrawler.setMetaCrawlerKey(sensor.getMetaCrawlerMapping().getMetaCrawler().getKey()); | ||||||
|  | 
 | ||||||
|  |     return sensorConfigCrawler; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   private SensorConfigConnection configConnection(SensorConfig config, Sensor sensor) throws OverflowException { | ||||||
|  |     if (null == sensor.getTarget() || null == sensor.getTarget().getInfra() | ||||||
|  |         || null == sensor.getTarget().getInfra().getMetaInfraType()) { | ||||||
|  |       throw new OverflowException(String.format("ID[%s] of Sensor is not valid", sensor.getId())); | ||||||
|  |     } | ||||||
|  |     Infra infra = sensor.getTarget().getInfra(); | ||||||
|  |     MetaInfraType metaInfraType = infra.getMetaInfraType(); | ||||||
|  |     InfraHostIP infraHostIP = null; | ||||||
|  |     ; | ||||||
|  |     InfraHostPort infraHostPort = null; | ||||||
|  |     MetaCryptoType metaCryptoType = null; | ||||||
|  |     ; | ||||||
|  | 
 | ||||||
|  |     if (metaInfraType.getKey() == "HOST") { | ||||||
|  |       infraHostIP = ((InfraHost) infra).getInfraHostIPs().get(0); | ||||||
|  |     } else if (metaInfraType.getKey() == "SERVICE") { | ||||||
|  |       infraHostIP = ((InfraService) infra).getInfraHostPort().getInfraHostIP(); | ||||||
|  |       infraHostPort = ((InfraService) infra).getInfraHostPort(); | ||||||
|  |       metaCryptoType = ((InfraService) infra).getMetaCryptoType(); | ||||||
|  |     } else { | ||||||
|  |       throw new OverflowException(String.format("ID[%s] of Sensor is not valid", sensor.getId())); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     SensorConfigConnection sensorConfigConnection = new SensorConfigConnection(); | ||||||
|  |     sensorConfigConnection.setMetaIPTypeKey(infraHostIP.getMetaIPType().getKey()); | ||||||
|  |     sensorConfigConnection.setIp(infraHostIP.getAddress()); | ||||||
|  |     if (null != infraHostPort) { | ||||||
|  |       sensorConfigConnection.setMetaPortTypeKey(infraHostPort.getMetaPortType().getKey()); | ||||||
|  |       sensorConfigConnection.setPort(infraHostPort.getPort()); | ||||||
|  |     } | ||||||
|  |     if (null != metaCryptoType) { | ||||||
|  |       sensorConfigConnection.setMetaCryptoTypeKey(metaCryptoType.getKey()); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     return sensorConfigConnection; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   private SensorConfigSchedule configSchedule(SensorConfig config, Sensor sensor) throws OverflowException { | ||||||
|  |     Integer interval = null != sensor.getInterval() ? sensor.getInterval() | ||||||
|  |         : sensor.getMetaCrawlerMapping().getDefaultInterval(); | ||||||
|  |     SensorConfigSchedule sensorConfigSchedule = new SensorConfigSchedule(); | ||||||
|  |     sensorConfigSchedule.setInterval(interval); | ||||||
|  |     return sensorConfigSchedule; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   private SensorConfigItems configItems(SensorConfig config, Sensor sensor) throws OverflowException { | ||||||
|  |     List<SensorItem> sensorItems = this.sensorItemService.readAllBySensorID(sensor.getId()); | ||||||
|  |     if (null == sensorItems || sensorItems.size() == 0) { | ||||||
|  |       throw new OverflowException(String.format("ID[%s] of Sensor has no SensorItem", sensor.getId())); | ||||||
|  |     } | ||||||
|  |     List<MetaCollectionItem> metaCollectionItems = new ArrayList<>(); | ||||||
|  |     for (SensorItem sensorItem : sensorItems) { | ||||||
|  |       List<MetaCollectionItemMapping> metaCollectionItemMappings = this.metaCollectionItemMappingService | ||||||
|  |           .readAllByMetaDisplayItemMappingID(sensorItem.getMetaDisplayItemMapping().getId()); | ||||||
|  |       for (MetaCollectionItemMapping metaCollectionItemMapping : metaCollectionItemMappings) { | ||||||
|  |         metaCollectionItems.add(metaCollectionItemMapping.getMetaCollectionItem()); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     SensorConfigItems sensorConfigItems = new SensorConfigItems(); | ||||||
|  |     sensorConfigItems.setMetaCollectionItems(metaCollectionItems); | ||||||
|  | 
 | ||||||
|  |     return sensorConfigItems; | ||||||
|   } |   } | ||||||
| } | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user