package com.clouck.service; import org.apache.commons.lang3.Validate; import org.joda.time.DateTime; import org.joda.time.DateTimeZone; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.clouck.model.EventConfig; import com.clouck.model.Region; import com.clouck.model.ResourceType; import com.clouck.model.ScanConfig; import com.clouck.repository.EventConfRepository; import com.clouck.repository.ScanConfRepository; import com.google.common.base.Optional; @Service public class ConfServiceImpl implements ConfService { private static final Logger log = LoggerFactory.getLogger(ConfServiceImpl.class); @Autowired private ScanConfRepository scanConfRepo; @Autowired private EventConfRepository eventConfRepo; @Override public Optional<ScanConfig> findScanConf(String accountId, ResourceType resourceType, Region region) { Validate.noNullElements(new Object[]{accountId, resourceType, region}); return scanConfRepo.findScanConf(accountId, resourceType, region); } @Override public Optional<EventConfig> findEventConf(String accountId, ResourceType resourceType, Region region) { Validate.noNullElements(new Object[]{accountId, resourceType, region}); return eventConfRepo.findEventConf(accountId, resourceType, region); } @Override public void createNewScanConf(String accountId, ResourceType resourceType, Region region) { Validate.noNullElements(new Object[]{accountId, resourceType, region}); ScanConfig sc = new ScanConfig(); sc.setAccountId(accountId); sc.setRegion(region); sc.setResourceType(resourceType); sc.setLastScanTime(DateTime.now().toDate()); scanConfRepo.save(sc); } @Override public void createNewEventConf(String accountId, ResourceType resourceType, Region region) { Validate.noNullElements(new Object[]{accountId, resourceType, region}); EventConfig ec = new EventConfig(); ec.setAccountId(accountId); ec.setRegion(region); ec.setResourceType(resourceType); ec.setLastProcessTime(DateTime.now().toDate()); eventConfRepo.save(ec); } @Override public ScanConfig save(ScanConfig scanConf) { Validate.notNull(scanConf); return scanConfRepo.save(scanConf); } @Override public EventConfig save(EventConfig eventConf) { Validate.notNull(eventConf); return eventConfRepo.save(eventConf); } }