package com.loggingbox.storage; import java.util.ArrayList; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import com.log.model.Application; import com.log.model.KpiDefinition; import com.log.storage.ApplicationAccessor; import com.loggingbox.storage.dao.SqlApplicationDao; import com.loggingbox.storage.model.SqlApplication; import com.loggingbox.storage.model.SqlKpiDefinition; @Component public class SqlApplicationAccessor implements ApplicationAccessor { @Autowired SqlApplicationDao applicationDao; @Override @Transactional public List<Application> getApplications() { List<Application> result = new ArrayList<Application>(); List<SqlApplication> applications = applicationDao.getApplications(); for (SqlApplication application : applications) { result.add(SqlApplication.toApp(application)); } return result; } @Override @Transactional public Application getApplication(String id) { return SqlApplication.toApp(applicationDao.getApplication(id)); } @Override @Transactional public List<KpiDefinition> getKpiDefinitions(String applicationId) { List<KpiDefinition> result = new ArrayList<KpiDefinition>(); List<SqlKpiDefinition> definitions = applicationDao .getKpiDefinitions(applicationId); for (SqlKpiDefinition kpiDefinition : definitions) { result.add(SqlKpiDefinition.to(kpiDefinition)); } return result; } }