diff --git a/src/main/java/com/loafle/overflow/central/module/target/service/CentralTargetService.java b/src/main/java/com/loafle/overflow/central/module/target/service/CentralTargetService.java index 79afa8c..99b371a 100644 --- a/src/main/java/com/loafle/overflow/central/module/target/service/CentralTargetService.java +++ b/src/main/java/com/loafle/overflow/central/module/target/service/CentralTargetService.java @@ -12,6 +12,7 @@ import com.loafle.overflow.core.type.CryptoType; import com.loafle.overflow.model.discovery.Host; import com.loafle.overflow.model.discovery.Service; import com.loafle.overflow.model.infra.Infra; +import com.loafle.overflow.model.infra.InfraHost; import com.loafle.overflow.model.meta.MetaInfraType; import com.loafle.overflow.model.probe.Probe; import com.loafle.overflow.model.target.Target; @@ -59,7 +60,6 @@ public class CentralTargetService implements TargetService { return this.targetDAO.save(target); } - public Target increaseSensorCount(Long id) throws OverflowException { Target t = this.targetDAO.findById(id).get(); t.setSensorCount(t.getSensorCount() + 1); @@ -76,18 +76,21 @@ public class CentralTargetService implements TargetService { } public Target readExistHostTarget(Long probeId, String ip) throws OverflowException { - // InfraHost infraHost = this.infraHostService.readByProbeIdAndIpv4(probeId, ip); + // InfraHost infraHost = this.infraHostService.readByProbeIdAndIpv4(probeId, + // ip); // if (null == infraHost) - // return null; + // return null; // return this.targetDAO.findByInfraId(infraHost.getId()); return null; } public Target readExistServiceTarget(Long hostId, int portNumber, String portType) throws OverflowException { - // InfraService infraService = this.infraServiceService.readByInfraHostIDAndPortAndPortType(hostId, portNumber, - // portType); + // InfraService infraService = + // this.infraServiceService.readByInfraHostIDAndPortAndPortType(hostId, + // portNumber, + // portType); // if (null == infraService) - // return null; + // return null; // return this.targetDAO.findByInfraId(infraService.getId()); return null; } @@ -99,79 +102,99 @@ public class CentralTargetService implements TargetService { @Transactional public List registDiscoveredTargets(Long probeID, List hosts, List services) throws OverflowException { - List infras = this.infraService.regist(probeID, hosts, null); - for (Infra infra : infras) { + List targets = new ArrayList(); + for (Host host : hosts) { + InfraHost infraHost = this.infraService.regist(probeID, host); + String displayName = (host.getIpv6() == null || host.getIpv6().trim().isEmpty()) ? host.getIpv6() + : host.getIpv4(); Target target = new Target(); - if (infra.getMetaInfraType().getKey().equals("")) { - - } + target.setInfra(infraHost); + target.setSensorCount(0); + target.setName(displayName); + targets.add(target); + } + for (Service service : services) { + com.loafle.overflow.model.infra.InfraService infraService = this.infraService.regist(probeID, service); + Target target = new Target(); + target.setInfra(infraService); + target.setSensorCount(0); + target.setName(infraService.getMetaInfraType().getName()); + targets.add(target); } - return null; + return this.targetDAO.saveAll(targets); } - // private List registDiscoveredHostTargets(Long probeId, List hosts) throws OverflowException { - // List targets = new ArrayList<>(); - // if (null == hosts) - // return targets; - // for (Host host : hosts) { - // InfraHost infraHost = this.registInfraHostByDiscoveredHost(host, probeId); - // Target target = new Target(); - // target.setInfra(infraHost); - // String displayName = (host.getIpv6() == null || host.getIpv6().trim().isEmpty()) ? host.getIpv6() - // : host.getIpv4(); - // target.setDisplayName(displayName); - // targets.add(this.targetDAO.save(target)); - // } - // return targets; - // return null; + // private List registDiscoveredHostTargets(Long probeId, List + // hosts) throws OverflowException { + // List targets = new ArrayList<>(); + // if (null == hosts) + // return targets; + // for (Host host : hosts) { + // InfraHost infraHost = this.registInfraHostByDiscoveredHost(host, probeId); + // Target target = new Target(); + // target.setInfra(infraHost); + // String displayName = (host.getIpv6() == null || + // host.getIpv6().trim().isEmpty()) ? host.getIpv6() + // : host.getIpv4(); + // target.setDisplayName(displayName); + // targets.add(this.targetDAO.save(target)); + // } + // return targets; + // return null; // } - // private List registDiscoveredServiceTargets(Long probeId, List services) throws OverflowException { - // List targets = new ArrayList<>(); - // if (null == services) - // return targets; - // for (Service service : services) { - // Host host = service.getPort().getHost(); - // InfraHost infraHost = null; - // InfraHost existInfraHost = this.infraHostService.readByProbeIdAndIpv4(probeId, host.getIpv4()); - // InfraService infraService = null; - // if (null != existInfraHost) { - // infraHost = existInfraHost; - // } else { - // infraHost = this.registInfraHostByDiscoveredHost(host, probeId); - // infraService = this.registInfraServiceByDiscoveredService(infraHost, service, probeId); - // } - - // Target target = new Target(); - // target.setInfra(infraService); - // String displayName = service.getServiceName(); - // target.setDisplayName(displayName); - // targets.add(this.targetDAO.save(target)); - // } - // return targets; + // private List registDiscoveredServiceTargets(Long probeId, + // List services) throws OverflowException { + // List targets = new ArrayList<>(); + // if (null == services) + // return targets; + // for (Service service : services) { + // Host host = service.getPort().getHost(); + // InfraHost infraHost = null; + // InfraHost existInfraHost = + // this.infraHostService.readByProbeIdAndIpv4(probeId, host.getIpv4()); + // InfraService infraService = null; + // if (null != existInfraHost) { + // infraHost = existInfraHost; + // } else { + // infraHost = this.registInfraHostByDiscoveredHost(host, probeId); + // infraService = this.registInfraServiceByDiscoveredService(infraHost, service, + // probeId); // } - // private InfraHost registInfraHostByDiscoveredHost(Host host, Long probeId) throws OverflowException { - // InfraHost infraHost = new InfraHost(); - // infraHost.setMetaInfraType(new MetaInfraType(2)); - // infraHost.setProbe(new Probe(probeId)); - // // infraHost.setIpv4(host.getIpv4()); - // // infraHost.setIpv6(host.getIpv6()); - // // infraHost.setMac(host.getMac()); - // return this.infraHostService.regist(infraHost); + // Target target = new Target(); + // target.setInfra(infraService); + // String displayName = service.getServiceName(); + // target.setDisplayName(displayName); + // targets.add(this.targetDAO.save(target)); + // } + // return targets; // } - // private InfraService registInfraServiceByDiscoveredService(InfraHost infraHost, Service service, Long probeId) - // throws OverflowException { - // InfraService infraService = new InfraService(); - // infraHost.setMetaInfraType(new MetaInfraType(7)); - // // infraService.setInfraHost(infraHost); - // // infraService.setPort(service.getPort().getPortNumber()); - // // infraService.setPortType(service.getPort().getPortType().toString()); - // // infraService.setTlsType(service.getCryptoType() == CryptoType.TLS); - // // infraService.setMetaInfraVendor(MetaInfraVendor.CreateInfraVendorByService(service.getServiceName())); - // return this.infraServiceService.regist(infraService); + // private InfraHost registInfraHostByDiscoveredHost(Host host, Long probeId) + // throws OverflowException { + // InfraHost infraHost = new InfraHost(); + // infraHost.setMetaInfraType(new MetaInfraType(2)); + // infraHost.setProbe(new Probe(probeId)); + // // infraHost.setIpv4(host.getIpv4()); + // // infraHost.setIpv6(host.getIpv6()); + // // infraHost.setMac(host.getMac()); + // return this.infraHostService.regist(infraHost); + // } + + // private InfraService registInfraServiceByDiscoveredService(InfraHost + // infraHost, Service service, Long probeId) + // throws OverflowException { + // InfraService infraService = new InfraService(); + // infraHost.setMetaInfraType(new MetaInfraType(7)); + // // infraService.setInfraHost(infraHost); + // // infraService.setPort(service.getPort().getPortNumber()); + // // infraService.setPortType(service.getPort().getPortType().toString()); + // // infraService.setTlsType(service.getCryptoType() == CryptoType.TLS); + // // + // infraService.setMetaInfraVendor(MetaInfraVendor.CreateInfraVendorByService(service.getServiceName())); + // return this.infraServiceService.regist(infraService); // } }