提交 2ede0e8a 编写于 作者: P peng-yongsheng

Refactor h2 dao implement

上级 e0338baf
......@@ -22,10 +22,9 @@ import java.util.HashMap;
import java.util.Map;
import org.skywalking.apm.collector.client.h2.H2Client;
import org.skywalking.apm.collector.client.h2.H2ClientException;
import org.skywalking.apm.collector.core.data.Data;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.dao.IApplicationDAO;
import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.table.register.Application;
import org.skywalking.apm.collector.storage.table.register.ApplicationTable;
import org.slf4j.Logger;
......@@ -48,16 +47,13 @@ public class ApplicationH2DAO extends H2DAO implements IApplicationDAO {
}
@Override
public void save(Data data) {
String id = Application.Application.INSTANCE.getId(data);
int applicationId = Application.Application.INSTANCE.getApplicationId(data);
String applicationCode = Application.Application.INSTANCE.getApplicationCode(data);
public void save(Application application) {
H2Client client = getClient();
Map<String, Object> source = new HashMap<>();
source.put(ApplicationTable.COLUMN_ID, id);
source.put(ApplicationTable.COLUMN_APPLICATION_CODE, applicationCode);
source.put(ApplicationTable.COLUMN_APPLICATION_ID, applicationId);
source.put(ApplicationTable.COLUMN_ID, application.getId());
source.put(ApplicationTable.COLUMN_APPLICATION_CODE, application.getApplicationCode());
source.put(ApplicationTable.COLUMN_APPLICATION_ID, application.getApplicationId());
String sql = SqlBuilder.buildBatchInsertSql(ApplicationTable.TABLE, source.keySet());
Object[] params = source.values().toArray(new Object[0]);
......
......@@ -20,13 +20,12 @@ package org.skywalking.apm.collector.storage.h2.dao;
import java.util.HashMap;
import java.util.Map;
import org.skywalking.apm.collector.core.data.Data;
import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
import org.skywalking.apm.collector.core.data.DataDefine;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.dao.ICpuMetricDAO;
import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO;
import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.table.jvm.CpuMetric;
import org.skywalking.apm.collector.storage.table.jvm.CpuMetricTable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -34,29 +33,29 @@ import org.slf4j.LoggerFactory;
/**
* @author peng-yongsheng, clevertension
*/
public class CpuMetricH2DAO extends H2DAO implements ICpuMetricDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity> {
public class CpuMetricH2DAO extends H2DAO implements ICpuMetricDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity, CpuMetric> {
private final Logger logger = LoggerFactory.getLogger(CpuMetricH2DAO.class);
@Override public Data get(String id, DataDefine dataDefine) {
@Override public CpuMetric get(String id) {
return null;
}
@Override public H2SqlEntity prepareBatchInsert(Data data) {
@Override public H2SqlEntity prepareBatchInsert(CpuMetric data) {
H2SqlEntity entity = new H2SqlEntity();
Map<String, Object> source = new HashMap<>();
source.put(CpuMetricTable.COLUMN_ID, data.getDataString(0));
source.put(CpuMetricTable.COLUMN_INSTANCE_ID, data.getDataInteger(0));
source.put(CpuMetricTable.COLUMN_USAGE_PERCENT, data.getDataDouble(0));
source.put(CpuMetricTable.COLUMN_TIME_BUCKET, data.getDataLong(0));
source.put(CpuMetricTable.COLUMN_ID, data.getId());
source.put(CpuMetricTable.COLUMN_INSTANCE_ID, data.getInstanceId());
source.put(CpuMetricTable.COLUMN_USAGE_PERCENT, data.getUsagePercent());
source.put(CpuMetricTable.COLUMN_TIME_BUCKET, data.getTimeBucket());
logger.debug("prepare cpu metric batch insert, getId: {}", data.getDataString(0));
logger.debug("prepare cpu metric batch insert, getId: {}", data.getId());
String sql = SqlBuilder.buildBatchInsertSql(CpuMetricTable.TABLE, source.keySet());
entity.setSql(sql);
entity.setParams(source.values().toArray(new Object[0]));
return entity;
}
@Override public H2SqlEntity prepareBatchUpdate(Data data) {
@Override public H2SqlEntity prepareBatchUpdate(CpuMetric data) {
return null;
}
}
......@@ -20,32 +20,32 @@ package org.skywalking.apm.collector.storage.h2.dao;
import java.util.HashMap;
import java.util.Map;
import org.skywalking.apm.collector.core.data.Data;
import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
import org.skywalking.apm.collector.core.data.DataDefine;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.dao.IGCMetricDAO;
import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO;
import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.table.jvm.GCMetric;
import org.skywalking.apm.collector.storage.table.jvm.GCMetricTable;
/**
* @author peng-yongsheng, clevertension
*/
public class GCMetricH2DAO extends H2DAO implements IGCMetricDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity> {
@Override public Data get(String id, DataDefine dataDefine) {
public class GCMetricH2DAO extends H2DAO implements IGCMetricDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity, GCMetric> {
@Override public GCMetric get(String id) {
return null;
}
@Override public H2SqlEntity prepareBatchInsert(Data data) {
@Override public H2SqlEntity prepareBatchInsert(GCMetric data) {
H2SqlEntity entity = new H2SqlEntity();
Map<String, Object> source = new HashMap<>();
source.put(GCMetricTable.COLUMN_ID, data.getDataString(0));
source.put(GCMetricTable.COLUMN_INSTANCE_ID, data.getDataInteger(0));
source.put(GCMetricTable.COLUMN_PHRASE, data.getDataInteger(1));
source.put(GCMetricTable.COLUMN_COUNT, data.getDataLong(0));
source.put(GCMetricTable.COLUMN_TIME, data.getDataLong(1));
source.put(GCMetricTable.COLUMN_TIME_BUCKET, data.getDataLong(2));
source.put(GCMetricTable.COLUMN_ID, data.getId());
source.put(GCMetricTable.COLUMN_INSTANCE_ID, data.getInstanceId());
source.put(GCMetricTable.COLUMN_PHRASE, data.getPhrase());
source.put(GCMetricTable.COLUMN_COUNT, data.getCount());
source.put(GCMetricTable.COLUMN_TIME, data.getTime());
source.put(GCMetricTable.COLUMN_TIME_BUCKET, data.getTimeBucket());
String sql = SqlBuilder.buildBatchInsertSql(GCMetricTable.TABLE, source.keySet());
entity.setSql(sql);
......@@ -53,7 +53,7 @@ public class GCMetricH2DAO extends H2DAO implements IGCMetricDAO, IPersistenceDA
return entity;
}
@Override public H2SqlEntity prepareBatchUpdate(Data data) {
@Override public H2SqlEntity prepareBatchUpdate(GCMetric data) {
return null;
}
}
......@@ -21,13 +21,12 @@ package org.skywalking.apm.collector.storage.h2.dao;
import java.util.HashMap;
import java.util.Map;
import org.skywalking.apm.collector.core.UnexpectedException;
import org.skywalking.apm.collector.core.data.Data;
import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
import org.skywalking.apm.collector.core.data.DataDefine;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.dao.IGlobalTraceDAO;
import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO;
import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.table.global.GlobalTrace;
import org.skywalking.apm.collector.storage.table.global.GlobalTraceTable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -35,24 +34,24 @@ import org.slf4j.LoggerFactory;
/**
* @author peng-yongsheng, clevertension
*/
public class GlobalTraceH2DAO extends H2DAO implements IGlobalTraceDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity> {
public class GlobalTraceH2DAO extends H2DAO implements IGlobalTraceDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity, GlobalTrace> {
private final Logger logger = LoggerFactory.getLogger(GlobalTraceH2DAO.class);
@Override public Data get(String id, DataDefine dataDefine) {
@Override public GlobalTrace get(String id) {
throw new UnexpectedException("There is no need to merge stream data with database data.");
}
@Override public H2SqlEntity prepareBatchUpdate(Data data) {
@Override public H2SqlEntity prepareBatchUpdate(GlobalTrace data) {
throw new UnexpectedException("There is no need to merge stream data with database data.");
}
@Override public H2SqlEntity prepareBatchInsert(Data data) {
@Override public H2SqlEntity prepareBatchInsert(GlobalTrace data) {
Map<String, Object> source = new HashMap<>();
H2SqlEntity entity = new H2SqlEntity();
source.put(GlobalTraceTable.COLUMN_ID, data.getDataString(0));
source.put(GlobalTraceTable.COLUMN_SEGMENT_ID, data.getDataString(1));
source.put(GlobalTraceTable.COLUMN_GLOBAL_TRACE_ID, data.getDataString(2));
source.put(GlobalTraceTable.COLUMN_TIME_BUCKET, data.getDataLong(0));
source.put(GlobalTraceTable.COLUMN_ID, data.getId());
source.put(GlobalTraceTable.COLUMN_SEGMENT_ID, data.getSegmentId());
source.put(GlobalTraceTable.COLUMN_GLOBAL_TRACE_ID, data.getGlobalTraceId());
source.put(GlobalTraceTable.COLUMN_TIME_BUCKET, data.getTimeBucket());
logger.debug("global trace source: {}", source.toString());
String sql = SqlBuilder.buildBatchInsertSql(GlobalTraceTable.TABLE, source.keySet());
......
......@@ -26,13 +26,12 @@ import java.util.List;
import java.util.Map;
import org.skywalking.apm.collector.client.h2.H2Client;
import org.skywalking.apm.collector.client.h2.H2ClientException;
import org.skywalking.apm.collector.core.data.Data;
import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
import org.skywalking.apm.collector.core.data.DataDefine;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.dao.IInstPerformanceDAO;
import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO;
import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.table.instance.InstPerformance;
import org.skywalking.apm.collector.storage.table.instance.InstPerformanceTable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -40,24 +39,24 @@ import org.slf4j.LoggerFactory;
/**
* @author peng-yongsheng, clevertension
*/
public class InstPerformanceH2DAO extends H2DAO implements IInstPerformanceDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity> {
public class InstPerformanceH2DAO extends H2DAO implements IInstPerformanceDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity, InstPerformance> {
private final Logger logger = LoggerFactory.getLogger(InstPerformanceH2DAO.class);
private static final String GET_SQL = "select * from {0} where {1} = ?";
@Override public Data get(String id, DataDefine dataDefine) {
@Override public InstPerformance get(String id) {
H2Client client = getClient();
String sql = SqlBuilder.buildSql(GET_SQL, InstPerformanceTable.TABLE, InstPerformanceTable.COLUMN_ID);
Object[] params = new Object[] {id};
try (ResultSet rs = client.executeQuery(sql, params)) {
if (rs.next()) {
Data data = dataDefine.build(id);
data.setDataInteger(0, rs.getInt(InstPerformanceTable.COLUMN_APPLICATION_ID));
data.setDataInteger(1, rs.getInt(InstPerformanceTable.COLUMN_INSTANCE_ID));
data.setDataInteger(2, rs.getInt(InstPerformanceTable.COLUMN_CALLS));
data.setDataLong(0, rs.getLong(InstPerformanceTable.COLUMN_COST_TOTAL));
data.setDataLong(1, rs.getLong(InstPerformanceTable.COLUMN_TIME_BUCKET));
return data;
InstPerformance instPerformance = new InstPerformance(id);
instPerformance.setApplicationId(rs.getInt(InstPerformanceTable.COLUMN_APPLICATION_ID));
instPerformance.setInstanceId(rs.getInt(InstPerformanceTable.COLUMN_INSTANCE_ID));
instPerformance.setCalls(rs.getInt(InstPerformanceTable.COLUMN_CALLS));
instPerformance.setCostTotal(rs.getLong(InstPerformanceTable.COLUMN_COST_TOTAL));
instPerformance.setTimeBucket(rs.getLong(InstPerformanceTable.COLUMN_TIME_BUCKET));
return instPerformance;
}
} catch (SQLException | H2ClientException e) {
logger.error(e.getMessage(), e);
......@@ -65,34 +64,33 @@ public class InstPerformanceH2DAO extends H2DAO implements IInstPerformanceDAO,
return null;
}
@Override public H2SqlEntity prepareBatchInsert(Data data) {
@Override public H2SqlEntity prepareBatchInsert(InstPerformance data) {
Map<String, Object> source = new HashMap<>();
H2SqlEntity entity = new H2SqlEntity();
source.put(InstPerformanceTable.COLUMN_ID, data.getDataString(0));
source.put(InstPerformanceTable.COLUMN_APPLICATION_ID, data.getDataInteger(0));
source.put(InstPerformanceTable.COLUMN_INSTANCE_ID, data.getDataInteger(1));
source.put(InstPerformanceTable.COLUMN_CALLS, data.getDataInteger(2));
source.put(InstPerformanceTable.COLUMN_COST_TOTAL, data.getDataLong(0));
source.put(InstPerformanceTable.COLUMN_TIME_BUCKET, data.getDataLong(1));
source.put(InstPerformanceTable.COLUMN_ID, data.getId());
source.put(InstPerformanceTable.COLUMN_APPLICATION_ID, data.getApplicationId());
source.put(InstPerformanceTable.COLUMN_INSTANCE_ID, data.getInstanceId());
source.put(InstPerformanceTable.COLUMN_CALLS, data.getCalls());
source.put(InstPerformanceTable.COLUMN_COST_TOTAL, data.getCostTotal());
source.put(InstPerformanceTable.COLUMN_TIME_BUCKET, data.getTimeBucket());
String sql = SqlBuilder.buildBatchInsertSql(InstPerformanceTable.TABLE, source.keySet());
entity.setSql(sql);
entity.setParams(source.values().toArray(new Object[0]));
return entity;
}
@Override public H2SqlEntity prepareBatchUpdate(Data data) {
@Override public H2SqlEntity prepareBatchUpdate(InstPerformance data) {
Map<String, Object> source = new HashMap<>();
H2SqlEntity entity = new H2SqlEntity();
source.put(InstPerformanceTable.COLUMN_APPLICATION_ID, data.getDataInteger(0));
source.put(InstPerformanceTable.COLUMN_INSTANCE_ID, data.getDataInteger(1));
source.put(InstPerformanceTable.COLUMN_CALLS, data.getDataInteger(2));
source.put(InstPerformanceTable.COLUMN_COST_TOTAL, data.getDataLong(0));
source.put(InstPerformanceTable.COLUMN_TIME_BUCKET, data.getDataLong(1));
String id = data.getDataString(0);
source.put(InstPerformanceTable.COLUMN_APPLICATION_ID, data.getApplicationId());
source.put(InstPerformanceTable.COLUMN_INSTANCE_ID, data.getInstanceId());
source.put(InstPerformanceTable.COLUMN_CALLS, data.getCalls());
source.put(InstPerformanceTable.COLUMN_COST_TOTAL, data.getCostTotal());
source.put(InstPerformanceTable.COLUMN_TIME_BUCKET, data.getTimeBucket());
String sql = SqlBuilder.buildBatchUpdateSql(InstPerformanceTable.TABLE, source.keySet(), InstPerformanceTable.COLUMN_ID);
entity.setSql(sql);
List<Object> values = new ArrayList<>(source.values());
values.add(id);
values.add(data.getId());
entity.setParams(values.toArray(new Object[0]));
return entity;
}
......
......@@ -24,10 +24,9 @@ import java.util.HashMap;
import java.util.Map;
import org.skywalking.apm.collector.client.h2.H2Client;
import org.skywalking.apm.collector.client.h2.H2ClientException;
import org.skywalking.apm.collector.core.data.Data;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.dao.IInstanceDAO;
import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.table.register.Instance;
import org.skywalking.apm.collector.storage.table.register.InstanceTable;
import org.slf4j.Logger;
......@@ -66,24 +65,16 @@ public class InstanceH2DAO extends H2DAO implements IInstanceDAO {
return getMinId(InstanceTable.TABLE, InstanceTable.COLUMN_INSTANCE_ID);
}
@Override public void save(Data data) {
String id = Instance.Instance.INSTANCE.getId(data);
int instanceId = Instance.Instance.INSTANCE.getInstanceId(data);
int applicationId = Instance.Instance.INSTANCE.getApplicationId(data);
String agentUUID = Instance.Instance.INSTANCE.getAgentUUID(data);
long registerTime = Instance.Instance.INSTANCE.getRegisterTime(data);
long heartBeatTime = Instance.Instance.INSTANCE.getHeartBeatTime(data);
String osInfo = Instance.Instance.INSTANCE.getOsInfo(data);
@Override public void save(Instance instance) {
H2Client client = getClient();
Map<String, Object> source = new HashMap<>();
source.put(InstanceTable.COLUMN_ID, id);
source.put(InstanceTable.COLUMN_INSTANCE_ID, instanceId);
source.put(InstanceTable.COLUMN_APPLICATION_ID, applicationId);
source.put(InstanceTable.COLUMN_AGENT_UUID, agentUUID);
source.put(InstanceTable.COLUMN_REGISTER_TIME, registerTime);
source.put(InstanceTable.COLUMN_HEARTBEAT_TIME, heartBeatTime);
source.put(InstanceTable.COLUMN_OS_INFO, osInfo);
source.put(InstanceTable.COLUMN_ID, instance.getId());
source.put(InstanceTable.COLUMN_INSTANCE_ID, instance.getInstanceId());
source.put(InstanceTable.COLUMN_APPLICATION_ID, instance.getApplicationId());
source.put(InstanceTable.COLUMN_AGENT_UUID, instance.getAgentUUID());
source.put(InstanceTable.COLUMN_REGISTER_TIME, instance.getRegisterTime());
source.put(InstanceTable.COLUMN_HEARTBEAT_TIME, instance.getHeartBeatTime());
source.put(InstanceTable.COLUMN_OS_INFO, instance.getOsInfo());
String sql = SqlBuilder.buildBatchInsertSql(InstanceTable.TABLE, source.keySet());
Object[] params = source.values().toArray(new Object[0]);
try {
......
......@@ -27,13 +27,12 @@ import java.util.Map;
import org.skywalking.apm.collector.client.h2.H2Client;
import org.skywalking.apm.collector.client.h2.H2ClientException;
import org.skywalking.apm.collector.core.UnexpectedException;
import org.skywalking.apm.collector.core.data.Data;
import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
import org.skywalking.apm.collector.core.data.DataDefine;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.dao.IInstanceHeartBeatDAO;
import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO;
import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.table.register.Instance;
import org.skywalking.apm.collector.storage.table.register.InstanceTable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -41,22 +40,22 @@ import org.slf4j.LoggerFactory;
/**
* @author peng-yongsheng, clevertension
*/
public class InstanceHeartBeatH2DAO extends H2DAO implements IInstanceHeartBeatDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity> {
public class InstanceHeartBeatH2DAO extends H2DAO implements IInstanceHeartBeatDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity, Instance> {
private final Logger logger = LoggerFactory.getLogger(InstanceHeartBeatH2DAO.class);
private static final String GET_INSTANCE_HEARTBEAT_SQL = "select * from {0} where {1} = ?";
@Override public Data get(String id, DataDefine dataDefine) {
@Override public Instance get(String id) {
H2Client client = getClient();
String sql = SqlBuilder.buildSql(GET_INSTANCE_HEARTBEAT_SQL, InstanceTable.TABLE, InstanceTable.COLUMN_INSTANCE_ID);
Object[] params = new Object[] {id};
try (ResultSet rs = client.executeQuery(sql, params)) {
if (rs.next()) {
Data data = dataDefine.build(id);
data.setDataInteger(0, rs.getInt(InstanceTable.COLUMN_INSTANCE_ID));
data.setDataLong(0, rs.getLong(InstanceTable.COLUMN_HEARTBEAT_TIME));
return data;
Instance instance = new Instance(id);
instance.setInstanceId(rs.getInt(InstanceTable.COLUMN_INSTANCE_ID));
instance.setHeartBeatTime(rs.getLong(InstanceTable.COLUMN_HEARTBEAT_TIME));
return instance;
}
} catch (SQLException | H2ClientException e) {
logger.error(e.getMessage(), e);
......@@ -64,18 +63,18 @@ public class InstanceHeartBeatH2DAO extends H2DAO implements IInstanceHeartBeatD
return null;
}
@Override public H2SqlEntity prepareBatchInsert(Data data) {
@Override public H2SqlEntity prepareBatchInsert(Instance data) {
throw new UnexpectedException("There is no need to merge stream data with database data.");
}
@Override public H2SqlEntity prepareBatchUpdate(Data data) {
@Override public H2SqlEntity prepareBatchUpdate(Instance data) {
H2SqlEntity entity = new H2SqlEntity();
Map<String, Object> source = new HashMap<>();
source.put(InstanceTable.COLUMN_HEARTBEAT_TIME, data.getDataLong(0));
source.put(InstanceTable.COLUMN_HEARTBEAT_TIME, data.getHeartBeatTime());
String sql = SqlBuilder.buildBatchUpdateSql(InstanceTable.TABLE, source.keySet(), InstanceTable.COLUMN_INSTANCE_ID);
entity.setSql(sql);
List<Object> params = new ArrayList<>(source.values());
params.add(data.getDataString(0));
params.add(data.getId());
entity.setParams(params.toArray(new Object[0]));
return entity;
}
......
......@@ -20,34 +20,34 @@ package org.skywalking.apm.collector.storage.h2.dao;
import java.util.HashMap;
import java.util.Map;
import org.skywalking.apm.collector.core.data.Data;
import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
import org.skywalking.apm.collector.core.data.DataDefine;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.dao.IMemoryMetricDAO;
import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO;
import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.table.jvm.MemoryMetric;
import org.skywalking.apm.collector.storage.table.jvm.MemoryMetricTable;
/**
* @author peng-yongsheng, clevertension
*/
public class MemoryMetricH2DAO extends H2DAO implements IMemoryMetricDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity> {
@Override public Data get(String id, DataDefine dataDefine) {
public class MemoryMetricH2DAO extends H2DAO implements IMemoryMetricDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity, MemoryMetric> {
@Override public MemoryMetric get(String id) {
return null;
}
@Override public H2SqlEntity prepareBatchInsert(Data data) {
@Override public H2SqlEntity prepareBatchInsert(MemoryMetric data) {
H2SqlEntity entity = new H2SqlEntity();
Map<String, Object> source = new HashMap<>();
source.put(MemoryMetricTable.COLUMN_ID, data.getDataString(0));
source.put(MemoryMetricTable.COLUMN_INSTANCE_ID, data.getDataInteger(0));
source.put(MemoryMetricTable.COLUMN_IS_HEAP, data.getDataBoolean(0));
source.put(MemoryMetricTable.COLUMN_INIT, data.getDataLong(0));
source.put(MemoryMetricTable.COLUMN_MAX, data.getDataLong(1));
source.put(MemoryMetricTable.COLUMN_USED, data.getDataLong(2));
source.put(MemoryMetricTable.COLUMN_COMMITTED, data.getDataLong(3));
source.put(MemoryMetricTable.COLUMN_TIME_BUCKET, data.getDataLong(4));
source.put(MemoryMetricTable.COLUMN_ID, data.getId());
source.put(MemoryMetricTable.COLUMN_INSTANCE_ID, data.getInstanceId());
source.put(MemoryMetricTable.COLUMN_IS_HEAP, data.getIsHeap());
source.put(MemoryMetricTable.COLUMN_INIT, data.getInit());
source.put(MemoryMetricTable.COLUMN_MAX, data.getMax());
source.put(MemoryMetricTable.COLUMN_USED, data.getUsed());
source.put(MemoryMetricTable.COLUMN_COMMITTED, data.getCommitted());
source.put(MemoryMetricTable.COLUMN_TIME_BUCKET, data.getTimeBucket());
String sql = SqlBuilder.buildBatchInsertSql(MemoryMetricTable.TABLE, source.keySet());
entity.setSql(sql);
......@@ -55,7 +55,7 @@ public class MemoryMetricH2DAO extends H2DAO implements IMemoryMetricDAO, IPersi
return entity;
}
@Override public H2SqlEntity prepareBatchUpdate(Data data) {
@Override public H2SqlEntity prepareBatchUpdate(MemoryMetric data) {
return null;
}
}
......@@ -20,34 +20,34 @@ package org.skywalking.apm.collector.storage.h2.dao;
import java.util.HashMap;
import java.util.Map;
import org.skywalking.apm.collector.core.data.Data;
import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
import org.skywalking.apm.collector.core.data.DataDefine;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.dao.IMemoryPoolMetricDAO;
import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO;
import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.table.jvm.MemoryPoolMetric;
import org.skywalking.apm.collector.storage.table.jvm.MemoryPoolMetricTable;
/**
* @author peng-yongsheng, clevertension
*/
public class MemoryPoolMetricH2DAO extends H2DAO implements IMemoryPoolMetricDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity> {
@Override public Data get(String id, DataDefine dataDefine) {
public class MemoryPoolMetricH2DAO extends H2DAO implements IMemoryPoolMetricDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity, MemoryPoolMetric> {
@Override public MemoryPoolMetric get(String id) {
return null;
}
@Override public H2SqlEntity prepareBatchInsert(Data data) {
@Override public H2SqlEntity prepareBatchInsert(MemoryPoolMetric data) {
H2SqlEntity entity = new H2SqlEntity();
Map<String, Object> source = new HashMap<>();
source.put(MemoryPoolMetricTable.COLUMN_ID, data.getDataString(0));
source.put(MemoryPoolMetricTable.COLUMN_INSTANCE_ID, data.getDataInteger(0));
source.put(MemoryPoolMetricTable.COLUMN_POOL_TYPE, data.getDataInteger(1));
source.put(MemoryPoolMetricTable.COLUMN_INIT, data.getDataLong(0));
source.put(MemoryPoolMetricTable.COLUMN_MAX, data.getDataLong(1));
source.put(MemoryPoolMetricTable.COLUMN_USED, data.getDataLong(2));
source.put(MemoryPoolMetricTable.COLUMN_COMMITTED, data.getDataLong(3));
source.put(MemoryPoolMetricTable.COLUMN_TIME_BUCKET, data.getDataLong(4));
source.put(MemoryPoolMetricTable.COLUMN_ID, data.getId());
source.put(MemoryPoolMetricTable.COLUMN_INSTANCE_ID, data.getInstanceId());
source.put(MemoryPoolMetricTable.COLUMN_POOL_TYPE, data.getPoolType());
source.put(MemoryPoolMetricTable.COLUMN_INIT, data.getInit());
source.put(MemoryPoolMetricTable.COLUMN_MAX, data.getMax());
source.put(MemoryPoolMetricTable.COLUMN_USED, data.getUsed());
source.put(MemoryPoolMetricTable.COLUMN_COMMITTED, data.getCommitted());
source.put(MemoryPoolMetricTable.COLUMN_TIME_BUCKET, data.getTimeBucket());
String sql = SqlBuilder.buildBatchInsertSql(MemoryPoolMetricTable.TABLE, source.keySet());
entity.setSql(sql);
......@@ -55,7 +55,7 @@ public class MemoryPoolMetricH2DAO extends H2DAO implements IMemoryPoolMetricDAO
return entity;
}
@Override public H2SqlEntity prepareBatchUpdate(Data data) {
@Override public H2SqlEntity prepareBatchUpdate(MemoryPoolMetric data) {
return null;
}
}
......@@ -26,13 +26,12 @@ import java.util.List;
import java.util.Map;
import org.skywalking.apm.collector.client.h2.H2Client;
import org.skywalking.apm.collector.client.h2.H2ClientException;
import org.skywalking.apm.collector.core.data.Data;
import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
import org.skywalking.apm.collector.core.data.DataDefine;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.dao.INodeComponentDAO;
import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO;
import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.table.node.NodeComponent;
import org.skywalking.apm.collector.storage.table.node.NodeComponentTable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -40,24 +39,24 @@ import org.slf4j.LoggerFactory;
/**
* @author peng-yongsheng, clevertension
*/
public class NodeComponentH2DAO extends H2DAO implements INodeComponentDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity> {
public class NodeComponentH2DAO extends H2DAO implements INodeComponentDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity, NodeComponent> {
private final Logger logger = LoggerFactory.getLogger(NodeComponentH2DAO.class);
private static final String GET_SQL = "select * from {0} where {1} = ?";
@Override
public Data get(String id, DataDefine dataDefine) {
public NodeComponent get(String id) {
H2Client client = getClient();
String sql = SqlBuilder.buildSql(GET_SQL, NodeComponentTable.TABLE, NodeComponentTable.COLUMN_ID);
Object[] params = new Object[] {id};
try (ResultSet rs = client.executeQuery(sql, params)) {
if (rs.next()) {
Data data = dataDefine.build(id);
data.setDataInteger(0, rs.getInt(NodeComponentTable.COLUMN_COMPONENT_ID));
data.setDataString(1, rs.getString(NodeComponentTable.COLUMN_COMPONENT_NAME));
data.setDataInteger(1, rs.getInt(NodeComponentTable.COLUMN_PEER_ID));
data.setDataString(2, rs.getString(NodeComponentTable.COLUMN_PEER));
data.setDataLong(0, rs.getLong(NodeComponentTable.COLUMN_TIME_BUCKET));
return data;
NodeComponent nodeComponent = new NodeComponent(id);
nodeComponent.setComponentId(rs.getInt(NodeComponentTable.COLUMN_COMPONENT_ID));
nodeComponent.setComponentName(rs.getString(NodeComponentTable.COLUMN_COMPONENT_NAME));
nodeComponent.setPeerId(rs.getInt(NodeComponentTable.COLUMN_PEER_ID));
nodeComponent.setPeer(rs.getString(NodeComponentTable.COLUMN_PEER));
nodeComponent.setTimeBucket(rs.getLong(NodeComponentTable.COLUMN_TIME_BUCKET));
return nodeComponent;
}
} catch (SQLException | H2ClientException e) {
logger.error(e.getMessage(), e);
......@@ -66,15 +65,15 @@ public class NodeComponentH2DAO extends H2DAO implements INodeComponentDAO, IPer
}
@Override
public H2SqlEntity prepareBatchInsert(Data data) {
public H2SqlEntity prepareBatchInsert(NodeComponent data) {
Map<String, Object> source = new HashMap<>();
H2SqlEntity entity = new H2SqlEntity();
source.put(NodeComponentTable.COLUMN_ID, data.getDataString(0));
source.put(NodeComponentTable.COLUMN_COMPONENT_ID, data.getDataInteger(0));
source.put(NodeComponentTable.COLUMN_COMPONENT_NAME, data.getDataString(1));
source.put(NodeComponentTable.COLUMN_PEER_ID, data.getDataInteger(1));
source.put(NodeComponentTable.COLUMN_PEER, data.getDataString(2));
source.put(NodeComponentTable.COLUMN_TIME_BUCKET, data.getDataLong(0));
source.put(NodeComponentTable.COLUMN_ID, data.getId());
source.put(NodeComponentTable.COLUMN_COMPONENT_ID, data.getComponentId());
source.put(NodeComponentTable.COLUMN_COMPONENT_NAME, data.getComponentName());
source.put(NodeComponentTable.COLUMN_PEER_ID, data.getPeerId());
source.put(NodeComponentTable.COLUMN_PEER, data.getPeer());
source.put(NodeComponentTable.COLUMN_TIME_BUCKET, data.getTimeBucket());
String sql = SqlBuilder.buildBatchInsertSql(NodeComponentTable.TABLE, source.keySet());
entity.setSql(sql);
......@@ -83,19 +82,18 @@ public class NodeComponentH2DAO extends H2DAO implements INodeComponentDAO, IPer
}
@Override
public H2SqlEntity prepareBatchUpdate(Data data) {
public H2SqlEntity prepareBatchUpdate(NodeComponent data) {
Map<String, Object> source = new HashMap<>();
H2SqlEntity entity = new H2SqlEntity();
source.put(NodeComponentTable.COLUMN_COMPONENT_ID, data.getDataInteger(0));
source.put(NodeComponentTable.COLUMN_COMPONENT_NAME, data.getDataString(1));
source.put(NodeComponentTable.COLUMN_PEER_ID, data.getDataInteger(1));
source.put(NodeComponentTable.COLUMN_PEER, data.getDataString(2));
source.put(NodeComponentTable.COLUMN_TIME_BUCKET, data.getDataLong(0));
String id = data.getDataString(0);
source.put(NodeComponentTable.COLUMN_COMPONENT_ID, data.getComponentId());
source.put(NodeComponentTable.COLUMN_COMPONENT_NAME, data.getComponentName());
source.put(NodeComponentTable.COLUMN_PEER_ID, data.getPeerId());
source.put(NodeComponentTable.COLUMN_PEER, data.getPeer());
source.put(NodeComponentTable.COLUMN_TIME_BUCKET, data.getTimeBucket());
String sql = SqlBuilder.buildBatchUpdateSql(NodeComponentTable.TABLE, source.keySet(), NodeComponentTable.COLUMN_ID);
entity.setSql(sql);
List<Object> values = new ArrayList<>(source.values());
values.add(id);
values.add(data.getId());
entity.setParams(values.toArray(new Object[0]));
return entity;
}
......
......@@ -26,13 +26,12 @@ import java.util.List;
import java.util.Map;
import org.skywalking.apm.collector.client.h2.H2Client;
import org.skywalking.apm.collector.client.h2.H2ClientException;
import org.skywalking.apm.collector.core.data.Data;
import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
import org.skywalking.apm.collector.core.data.DataDefine;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.dao.INodeReferenceDAO;
import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO;
import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.table.noderef.NodeReference;
import org.skywalking.apm.collector.storage.table.noderef.NodeReferenceTable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -40,28 +39,29 @@ import org.slf4j.LoggerFactory;
/**
* @author peng-yongsheng, clevertension
*/
public class NodeReferenceH2DAO extends H2DAO implements INodeReferenceDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity> {
public class NodeReferenceH2DAO extends H2DAO implements INodeReferenceDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity, NodeReference> {
private final Logger logger = LoggerFactory.getLogger(NodeReferenceH2DAO.class);
private static final String GET_SQL = "select * from {0} where {1} = ?";
@Override public Data get(String id, DataDefine dataDefine) {
@Override public NodeReference get(String id) {
H2Client client = getClient();
String sql = SqlBuilder.buildSql(GET_SQL, NodeReferenceTable.TABLE, NodeReferenceTable.COLUMN_ID);
Object[] params = new Object[] {id};
try (ResultSet rs = client.executeQuery(sql, params)) {
if (rs.next()) {
Data data = dataDefine.build(id);
data.setDataInteger(0, rs.getInt(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID));
data.setDataInteger(1, rs.getInt(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID));
data.setDataString(1, rs.getString(NodeReferenceTable.COLUMN_BEHIND_PEER));
data.setDataInteger(2, rs.getInt(NodeReferenceTable.COLUMN_S1_LTE));
data.setDataInteger(3, rs.getInt(NodeReferenceTable.COLUMN_S3_LTE));
data.setDataInteger(4, rs.getInt(NodeReferenceTable.COLUMN_S5_LTE));
data.setDataInteger(5, rs.getInt(NodeReferenceTable.COLUMN_S5_GT));
data.setDataInteger(6, rs.getInt(NodeReferenceTable.COLUMN_SUMMARY));
data.setDataInteger(7, rs.getInt(NodeReferenceTable.COLUMN_ERROR));
data.setDataLong(0, rs.getLong(NodeReferenceTable.COLUMN_TIME_BUCKET));
return data;
NodeReference nodeReference = new NodeReference(id);
nodeReference.setFrontApplicationId(rs.getInt(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID));
nodeReference.setBehindApplicationId(rs.getInt(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID));
nodeReference.setBehindPeer(rs.getString(NodeReferenceTable.COLUMN_BEHIND_PEER));
nodeReference.setS1Lte(rs.getInt(NodeReferenceTable.COLUMN_S1_LTE));
nodeReference.setS3Lte(rs.getInt(NodeReferenceTable.COLUMN_S3_LTE));
nodeReference.setS5Lte(rs.getInt(NodeReferenceTable.COLUMN_S5_LTE));
nodeReference.setS5Gt(rs.getInt(NodeReferenceTable.COLUMN_S5_GT));
nodeReference.setSummary(rs.getInt(NodeReferenceTable.COLUMN_SUMMARY));
nodeReference.setError(rs.getInt(NodeReferenceTable.COLUMN_ERROR));
nodeReference.setTimeBucket(rs.getLong(NodeReferenceTable.COLUMN_TIME_BUCKET));
return nodeReference;
}
} catch (SQLException | H2ClientException e) {
logger.error(e.getMessage(), e);
......@@ -69,20 +69,20 @@ public class NodeReferenceH2DAO extends H2DAO implements INodeReferenceDAO, IPer
return null;
}
@Override public H2SqlEntity prepareBatchInsert(Data data) {
@Override public H2SqlEntity prepareBatchInsert(NodeReference data) {
Map<String, Object> source = new HashMap<>();
H2SqlEntity entity = new H2SqlEntity();
source.put(NodeReferenceTable.COLUMN_ID, data.getDataString(0));
source.put(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID, data.getDataInteger(0));
source.put(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID, data.getDataInteger(1));
source.put(NodeReferenceTable.COLUMN_BEHIND_PEER, data.getDataString(1));
source.put(NodeReferenceTable.COLUMN_S1_LTE, data.getDataInteger(2));
source.put(NodeReferenceTable.COLUMN_S3_LTE, data.getDataInteger(3));
source.put(NodeReferenceTable.COLUMN_S5_LTE, data.getDataInteger(4));
source.put(NodeReferenceTable.COLUMN_S5_GT, data.getDataInteger(5));
source.put(NodeReferenceTable.COLUMN_SUMMARY, data.getDataInteger(6));
source.put(NodeReferenceTable.COLUMN_ERROR, data.getDataInteger(7));
source.put(NodeReferenceTable.COLUMN_TIME_BUCKET, data.getDataLong(0));
source.put(NodeReferenceTable.COLUMN_ID, data.getId());
source.put(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID, data.getFrontApplicationId());
source.put(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID, data.getBehindApplicationId());
source.put(NodeReferenceTable.COLUMN_BEHIND_PEER, data.getBehindPeer());
source.put(NodeReferenceTable.COLUMN_S1_LTE, data.getS1Lte());
source.put(NodeReferenceTable.COLUMN_S3_LTE, data.getS3Lte());
source.put(NodeReferenceTable.COLUMN_S5_LTE, data.getS5Lte());
source.put(NodeReferenceTable.COLUMN_S5_GT, data.getS5Gt());
source.put(NodeReferenceTable.COLUMN_SUMMARY, data.getSummary());
source.put(NodeReferenceTable.COLUMN_ERROR, data.getError());
source.put(NodeReferenceTable.COLUMN_TIME_BUCKET, data.getTimeBucket());
String sql = SqlBuilder.buildBatchInsertSql(NodeReferenceTable.TABLE, source.keySet());
entity.setSql(sql);
......@@ -90,24 +90,23 @@ public class NodeReferenceH2DAO extends H2DAO implements INodeReferenceDAO, IPer
return entity;
}
@Override public H2SqlEntity prepareBatchUpdate(Data data) {
@Override public H2SqlEntity prepareBatchUpdate(NodeReference data) {
Map<String, Object> source = new HashMap<>();
H2SqlEntity entity = new H2SqlEntity();
source.put(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID, data.getDataInteger(0));
source.put(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID, data.getDataInteger(1));
source.put(NodeReferenceTable.COLUMN_BEHIND_PEER, data.getDataString(1));
source.put(NodeReferenceTable.COLUMN_S1_LTE, data.getDataInteger(2));
source.put(NodeReferenceTable.COLUMN_S3_LTE, data.getDataInteger(3));
source.put(NodeReferenceTable.COLUMN_S5_LTE, data.getDataInteger(4));
source.put(NodeReferenceTable.COLUMN_S5_GT, data.getDataInteger(5));
source.put(NodeReferenceTable.COLUMN_SUMMARY, data.getDataInteger(6));
source.put(NodeReferenceTable.COLUMN_ERROR, data.getDataInteger(7));
source.put(NodeReferenceTable.COLUMN_TIME_BUCKET, data.getDataLong(0));
String id = data.getDataString(0);
source.put(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID, data.getFrontApplicationId());
source.put(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID, data.getBehindApplicationId());
source.put(NodeReferenceTable.COLUMN_BEHIND_PEER, data.getBehindPeer());
source.put(NodeReferenceTable.COLUMN_S1_LTE, data.getS1Lte());
source.put(NodeReferenceTable.COLUMN_S3_LTE, data.getS3Lte());
source.put(NodeReferenceTable.COLUMN_S5_LTE, data.getS5Lte());
source.put(NodeReferenceTable.COLUMN_S5_GT, data.getS5Gt());
source.put(NodeReferenceTable.COLUMN_SUMMARY, data.getSummary());
source.put(NodeReferenceTable.COLUMN_ERROR, data.getError());
source.put(NodeReferenceTable.COLUMN_TIME_BUCKET, data.getTimeBucket());
String sql = SqlBuilder.buildBatchUpdateSql(NodeReferenceTable.TABLE, source.keySet(), NodeReferenceTable.COLUMN_ID);
entity.setSql(sql);
List<Object> values = new ArrayList<>(source.values());
values.add(id);
values.add(data.getId());
entity.setParams(values.toArray(new Object[0]));
return entity;
}
......
......@@ -20,13 +20,12 @@ package org.skywalking.apm.collector.storage.h2.dao;
import java.util.HashMap;
import java.util.Map;
import org.skywalking.apm.collector.core.data.Data;
import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
import org.skywalking.apm.collector.core.data.DataDefine;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.dao.ISegmentCostDAO;
import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO;
import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.table.segment.SegmentCost;
import org.skywalking.apm.collector.storage.table.segment.SegmentCostTable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -34,26 +33,27 @@ import org.slf4j.LoggerFactory;
/**
* @author peng-yongsheng, clevertension
*/
public class SegmentCostH2DAO extends H2DAO implements ISegmentCostDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity> {
public class SegmentCostH2DAO extends H2DAO implements ISegmentCostDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity, SegmentCost> {
private final Logger logger = LoggerFactory.getLogger(SegmentCostH2DAO.class);
@Override public Data get(String id, DataDefine dataDefine) {
@Override public SegmentCost get(String id) {
return null;
}
@Override public H2SqlEntity prepareBatchInsert(Data data) {
logger.debug("segment cost prepareBatchInsert, getId: {}", data.getDataString(0));
@Override public H2SqlEntity prepareBatchInsert(SegmentCost data) {
logger.debug("segment cost prepareBatchInsert, getId: {}", data.getId());
H2SqlEntity entity = new H2SqlEntity();
Map<String, Object> source = new HashMap<>();
source.put(SegmentCostTable.COLUMN_ID, data.getDataString(0));
source.put(SegmentCostTable.COLUMN_SEGMENT_ID, data.getDataString(1));
source.put(SegmentCostTable.COLUMN_APPLICATION_ID, data.getDataInteger(0));
source.put(SegmentCostTable.COLUMN_SERVICE_NAME, data.getDataString(2));
source.put(SegmentCostTable.COLUMN_COST, data.getDataLong(0));
source.put(SegmentCostTable.COLUMN_START_TIME, data.getDataLong(1));
source.put(SegmentCostTable.COLUMN_END_TIME, data.getDataLong(2));
source.put(SegmentCostTable.COLUMN_IS_ERROR, data.getDataBoolean(0));
source.put(SegmentCostTable.COLUMN_TIME_BUCKET, data.getDataLong(3));
source.put(SegmentCostTable.COLUMN_ID, data.getId());
source.put(SegmentCostTable.COLUMN_SEGMENT_ID, data.getSegmentId());
source.put(SegmentCostTable.COLUMN_APPLICATION_ID, data.getApplicationId());
source.put(SegmentCostTable.COLUMN_SERVICE_NAME, data.getServiceName());
source.put(SegmentCostTable.COLUMN_COST, data.getCost());
source.put(SegmentCostTable.COLUMN_START_TIME, data.getStartTime());
source.put(SegmentCostTable.COLUMN_END_TIME, data.getEndTime());
source.put(SegmentCostTable.COLUMN_IS_ERROR, data.getIsError());
source.put(SegmentCostTable.COLUMN_TIME_BUCKET, data.getTimeBucket());
logger.debug("segment cost source: {}", source.toString());
String sql = SqlBuilder.buildBatchInsertSql(SegmentCostTable.TABLE, source.keySet());
......@@ -62,7 +62,7 @@ public class SegmentCostH2DAO extends H2DAO implements ISegmentCostDAO, IPersist
return entity;
}
@Override public H2SqlEntity prepareBatchUpdate(Data data) {
@Override public H2SqlEntity prepareBatchUpdate(SegmentCost data) {
return null;
}
}
......@@ -20,13 +20,12 @@ package org.skywalking.apm.collector.storage.h2.dao;
import java.util.HashMap;
import java.util.Map;
import org.skywalking.apm.collector.core.data.Data;
import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
import org.skywalking.apm.collector.core.data.DataDefine;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.dao.ISegmentDAO;
import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO;
import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.table.segment.Segment;
import org.skywalking.apm.collector.storage.table.segment.SegmentTable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -34,18 +33,19 @@ import org.slf4j.LoggerFactory;
/**
* @author peng-yongsheng, clevertension
*/
public class SegmentH2DAO extends H2DAO implements ISegmentDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity> {
public class SegmentH2DAO extends H2DAO implements ISegmentDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity, Segment> {
private final Logger logger = LoggerFactory.getLogger(SegmentH2DAO.class);
@Override public Data get(String id, DataDefine dataDefine) {
@Override public Segment get(String id) {
return null;
}
@Override public H2SqlEntity prepareBatchInsert(Data data) {
@Override public H2SqlEntity prepareBatchInsert(Segment data) {
Map<String, Object> source = new HashMap<>();
H2SqlEntity entity = new H2SqlEntity();
source.put(SegmentTable.COLUMN_ID, data.getDataString(0));
source.put(SegmentTable.COLUMN_DATA_BINARY, data.getDataBytes(0));
source.put(SegmentTable.COLUMN_ID, data.getId());
source.put(SegmentTable.COLUMN_DATA_BINARY, data.getDataBinary());
logger.debug("segment source: {}", source.toString());
String sql = SqlBuilder.buildBatchInsertSql(SegmentTable.TABLE, source.keySet());
......@@ -54,7 +54,7 @@ public class SegmentH2DAO extends H2DAO implements ISegmentDAO, IPersistenceDAO<
return entity;
}
@Override public H2SqlEntity prepareBatchUpdate(Data data) {
@Override public H2SqlEntity prepareBatchUpdate(Segment data) {
return null;
}
}
......@@ -26,13 +26,12 @@ import java.util.List;
import java.util.Map;
import org.skywalking.apm.collector.client.h2.H2Client;
import org.skywalking.apm.collector.client.h2.H2ClientException;
import org.skywalking.apm.collector.core.data.Data;
import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
import org.skywalking.apm.collector.core.data.DataDefine;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.dao.IServiceEntryDAO;
import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO;
import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.table.service.ServiceEntry;
import org.skywalking.apm.collector.storage.table.service.ServiceEntryTable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -40,23 +39,24 @@ import org.slf4j.LoggerFactory;
/**
* @author peng-yongsheng, clevertension
*/
public class ServiceEntryH2DAO extends H2DAO implements IServiceEntryDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity> {
public class ServiceEntryH2DAO extends H2DAO implements IServiceEntryDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity, ServiceEntry> {
private final Logger logger = LoggerFactory.getLogger(ServiceEntryH2DAO.class);
private static final String GET_SERVICE_ENTRY_SQL = "select * from {0} where {1} = ?";
@Override public Data get(String id, DataDefine dataDefine) {
@Override public ServiceEntry get(String id) {
H2Client client = getClient();
String sql = SqlBuilder.buildSql(GET_SERVICE_ENTRY_SQL, ServiceEntryTable.TABLE, ServiceEntryTable.COLUMN_ID);
Object[] params = new Object[] {id};
try (ResultSet rs = client.executeQuery(sql, params)) {
if (rs.next()) {
Data data = dataDefine.build(id);
data.setDataInteger(0, rs.getInt(ServiceEntryTable.COLUMN_APPLICATION_ID));
data.setDataInteger(1, rs.getInt(ServiceEntryTable.COLUMN_ENTRY_SERVICE_ID));
data.setDataString(1, rs.getString(ServiceEntryTable.COLUMN_ENTRY_SERVICE_NAME));
data.setDataLong(0, rs.getLong(ServiceEntryTable.COLUMN_REGISTER_TIME));
data.setDataLong(1, rs.getLong(ServiceEntryTable.COLUMN_NEWEST_TIME));
return data;
ServiceEntry serviceEntry = new ServiceEntry(id);
serviceEntry.setApplicationId(rs.getInt(ServiceEntryTable.COLUMN_APPLICATION_ID));
serviceEntry.setEntryServiceId(rs.getInt(ServiceEntryTable.COLUMN_ENTRY_SERVICE_ID));
serviceEntry.setEntryServiceName(rs.getString(ServiceEntryTable.COLUMN_ENTRY_SERVICE_NAME));
serviceEntry.setRegisterTime(rs.getLong(ServiceEntryTable.COLUMN_REGISTER_TIME));
serviceEntry.setNewestTime(rs.getLong(ServiceEntryTable.COLUMN_NEWEST_TIME));
return serviceEntry;
}
} catch (SQLException | H2ClientException e) {
logger.error(e.getMessage(), e);
......@@ -64,34 +64,33 @@ public class ServiceEntryH2DAO extends H2DAO implements IServiceEntryDAO, IPersi
return null;
}
@Override public H2SqlEntity prepareBatchInsert(Data data) {
@Override public H2SqlEntity prepareBatchInsert(ServiceEntry data) {
H2SqlEntity entity = new H2SqlEntity();
Map<String, Object> source = new HashMap<>();
source.put(ServiceEntryTable.COLUMN_ID, data.getDataString(0));
source.put(ServiceEntryTable.COLUMN_APPLICATION_ID, data.getDataInteger(0));
source.put(ServiceEntryTable.COLUMN_ENTRY_SERVICE_ID, data.getDataInteger(1));
source.put(ServiceEntryTable.COLUMN_ENTRY_SERVICE_NAME, data.getDataString(1));
source.put(ServiceEntryTable.COLUMN_REGISTER_TIME, data.getDataLong(0));
source.put(ServiceEntryTable.COLUMN_NEWEST_TIME, data.getDataLong(1));
source.put(ServiceEntryTable.COLUMN_ID, data.getId());
source.put(ServiceEntryTable.COLUMN_APPLICATION_ID, data.getApplicationId());
source.put(ServiceEntryTable.COLUMN_ENTRY_SERVICE_ID, data.getEntryServiceId());
source.put(ServiceEntryTable.COLUMN_ENTRY_SERVICE_NAME, data.getEntryServiceName());
source.put(ServiceEntryTable.COLUMN_REGISTER_TIME, data.getRegisterTime());
source.put(ServiceEntryTable.COLUMN_NEWEST_TIME, data.getNewestTime());
String sql = SqlBuilder.buildBatchInsertSql(ServiceEntryTable.TABLE, source.keySet());
entity.setSql(sql);
entity.setParams(source.values().toArray(new Object[0]));
return entity;
}
@Override public H2SqlEntity prepareBatchUpdate(Data data) {
@Override public H2SqlEntity prepareBatchUpdate(ServiceEntry data) {
H2SqlEntity entity = new H2SqlEntity();
Map<String, Object> source = new HashMap<>();
source.put(ServiceEntryTable.COLUMN_APPLICATION_ID, data.getDataInteger(0));
source.put(ServiceEntryTable.COLUMN_ENTRY_SERVICE_ID, data.getDataInteger(1));
source.put(ServiceEntryTable.COLUMN_ENTRY_SERVICE_NAME, data.getDataString(1));
source.put(ServiceEntryTable.COLUMN_REGISTER_TIME, data.getDataLong(0));
source.put(ServiceEntryTable.COLUMN_NEWEST_TIME, data.getDataLong(1));
String id = data.getDataString(0);
source.put(ServiceEntryTable.COLUMN_APPLICATION_ID, data.getApplicationId());
source.put(ServiceEntryTable.COLUMN_ENTRY_SERVICE_ID, data.getEntryServiceId());
source.put(ServiceEntryTable.COLUMN_ENTRY_SERVICE_NAME, data.getEntryServiceName());
source.put(ServiceEntryTable.COLUMN_REGISTER_TIME, data.getRegisterTime());
source.put(ServiceEntryTable.COLUMN_NEWEST_TIME, data.getNewestTime());
String sql = SqlBuilder.buildBatchUpdateSql(ServiceEntryTable.TABLE, source.keySet(), ServiceEntryTable.COLUMN_ID);
entity.setSql(sql);
List<Object> values = new ArrayList<>(source.values());
values.add(id);
values.add(data.getId());
entity.setParams(values.toArray(new Object[0]));
return entity;
}
......
......@@ -22,10 +22,9 @@ import java.util.HashMap;
import java.util.Map;
import org.skywalking.apm.collector.client.h2.H2Client;
import org.skywalking.apm.collector.client.h2.H2ClientException;
import org.skywalking.apm.collector.core.data.Data;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.dao.IServiceNameDAO;
import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.table.register.ServiceName;
import org.skywalking.apm.collector.storage.table.register.ServiceNameTable;
import org.slf4j.Logger;
......@@ -48,19 +47,14 @@ public class ServiceNameH2DAO extends H2DAO implements IServiceNameDAO {
}
@Override
public void save(Data data) {
String id = ServiceName.ServiceName.INSTANCE.getId(data);
int applicationId = ServiceName.ServiceName.INSTANCE.getApplicationId(data);
int serviceId = ServiceName.ServiceName.INSTANCE.getServiceId(data);
String serviceName = ServiceName.ServiceName.INSTANCE.getServiceName(data);
logger.debug("save service name register info, application getId: {}, service name: {}", applicationId, serviceName);
public void save(ServiceName serviceName) {
logger.debug("save service name register info, application getId: {}, service name: {}", serviceName.getId(), serviceName.getServiceName());
H2Client client = getClient();
Map<String, Object> source = new HashMap<>();
source.put(ServiceNameTable.COLUMN_ID, id);
source.put(ServiceNameTable.COLUMN_SERVICE_ID, serviceId);
source.put(ServiceNameTable.COLUMN_APPLICATION_ID, applicationId);
source.put(ServiceNameTable.COLUMN_SERVICE_NAME, serviceName);
source.put(ServiceNameTable.COLUMN_ID, serviceName.getId());
source.put(ServiceNameTable.COLUMN_SERVICE_ID, serviceName.getServiceId());
source.put(ServiceNameTable.COLUMN_APPLICATION_ID, serviceName.getApplicationId());
source.put(ServiceNameTable.COLUMN_SERVICE_NAME, serviceName.getServiceName());
String sql = SqlBuilder.buildBatchInsertSql(ServiceNameTable.TABLE, source.keySet());
Object[] params = source.values().toArray(new Object[0]);
......
......@@ -26,13 +26,12 @@ import java.util.List;
import java.util.Map;
import org.skywalking.apm.collector.client.h2.H2Client;
import org.skywalking.apm.collector.client.h2.H2ClientException;
import org.skywalking.apm.collector.core.data.Data;
import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
import org.skywalking.apm.collector.core.data.DataDefine;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.dao.IServiceReferenceDAO;
import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO;
import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity;
import org.skywalking.apm.collector.storage.base.sql.SqlBuilder;
import org.skywalking.apm.collector.storage.table.serviceref.ServiceReference;
import org.skywalking.apm.collector.storage.table.serviceref.ServiceReferenceTable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -40,33 +39,34 @@ import org.slf4j.LoggerFactory;
/**
* @author peng-yongsheng, clevertension
*/
public class ServiceReferenceH2DAO extends H2DAO implements IServiceReferenceDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity> {
public class ServiceReferenceH2DAO extends H2DAO implements IServiceReferenceDAO, IPersistenceDAO<H2SqlEntity, H2SqlEntity, ServiceReference> {
private final Logger logger = LoggerFactory.getLogger(ServiceReferenceH2DAO.class);
private static final String GET_SQL = "select * from {0} where {1} = ?";
@Override
public Data get(String id, DataDefine dataDefine) {
public ServiceReference get(String id) {
H2Client client = getClient();
String sql = SqlBuilder.buildSql(GET_SQL, ServiceReferenceTable.TABLE, ServiceReferenceTable.COLUMN_ID);
Object[] params = new Object[] {id};
try (ResultSet rs = client.executeQuery(sql, params)) {
if (rs.next()) {
Data data = dataDefine.build(id);
data.setDataInteger(0, rs.getInt(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_ID));
data.setDataString(1, rs.getString(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_NAME));
data.setDataInteger(1, rs.getInt(ServiceReferenceTable.COLUMN_FRONT_SERVICE_ID));
data.setDataString(2, rs.getString(ServiceReferenceTable.COLUMN_FRONT_SERVICE_NAME));
data.setDataInteger(2, rs.getInt(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_ID));
data.setDataString(3, rs.getString(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_NAME));
data.setDataLong(0, rs.getLong(ServiceReferenceTable.COLUMN_S1_LTE));
data.setDataLong(1, rs.getLong(ServiceReferenceTable.COLUMN_S3_LTE));
data.setDataLong(2, rs.getLong(ServiceReferenceTable.COLUMN_S5_LTE));
data.setDataLong(3, rs.getLong(ServiceReferenceTable.COLUMN_S5_GT));
data.setDataLong(4, rs.getLong(ServiceReferenceTable.COLUMN_SUMMARY));
data.setDataLong(5, rs.getLong(ServiceReferenceTable.COLUMN_ERROR));
data.setDataLong(6, rs.getLong(ServiceReferenceTable.COLUMN_COST_SUMMARY));
data.setDataLong(7, rs.getLong(ServiceReferenceTable.COLUMN_TIME_BUCKET));
return data;
ServiceReference serviceReference = new ServiceReference(id);
serviceReference.setEntryServiceId(rs.getInt(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_ID));
serviceReference.setEntryServiceName(rs.getString(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_NAME));
serviceReference.setFrontServiceId(rs.getInt(ServiceReferenceTable.COLUMN_FRONT_SERVICE_ID));
serviceReference.setFrontServiceName(rs.getString(ServiceReferenceTable.COLUMN_FRONT_SERVICE_NAME));
serviceReference.setBehindServiceId(rs.getInt(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_ID));
serviceReference.setBehindServiceName(rs.getString(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_NAME));
serviceReference.setS1Lte(rs.getLong(ServiceReferenceTable.COLUMN_S1_LTE));
serviceReference.setS3Lte(rs.getLong(ServiceReferenceTable.COLUMN_S3_LTE));
serviceReference.setS5Lte(rs.getLong(ServiceReferenceTable.COLUMN_S5_LTE));
serviceReference.setS5Gt(rs.getLong(ServiceReferenceTable.COLUMN_S5_GT));
serviceReference.setSummary(rs.getLong(ServiceReferenceTable.COLUMN_SUMMARY));
serviceReference.setError(rs.getLong(ServiceReferenceTable.COLUMN_ERROR));
serviceReference.setCostSummary(rs.getLong(ServiceReferenceTable.COLUMN_COST_SUMMARY));
serviceReference.setTimeBucket(rs.getLong(ServiceReferenceTable.COLUMN_TIME_BUCKET));
return serviceReference;
}
} catch (SQLException | H2ClientException e) {
logger.error(e.getMessage(), e);
......@@ -75,24 +75,24 @@ public class ServiceReferenceH2DAO extends H2DAO implements IServiceReferenceDAO
}
@Override
public H2SqlEntity prepareBatchInsert(Data data) {
public H2SqlEntity prepareBatchInsert(ServiceReference data) {
H2SqlEntity entity = new H2SqlEntity();
Map<String, Object> source = new HashMap<>();
source.put(ServiceReferenceTable.COLUMN_ID, data.getDataString(0));
source.put(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_ID, data.getDataInteger(0));
source.put(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_NAME, data.getDataString(1));
source.put(ServiceReferenceTable.COLUMN_FRONT_SERVICE_ID, data.getDataInteger(1));
source.put(ServiceReferenceTable.COLUMN_FRONT_SERVICE_NAME, data.getDataString(2));
source.put(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_ID, data.getDataInteger(2));
source.put(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_NAME, data.getDataString(3));
source.put(ServiceReferenceTable.COLUMN_S1_LTE, data.getDataLong(0));
source.put(ServiceReferenceTable.COLUMN_S3_LTE, data.getDataLong(1));
source.put(ServiceReferenceTable.COLUMN_S5_LTE, data.getDataLong(2));
source.put(ServiceReferenceTable.COLUMN_S5_GT, data.getDataLong(3));
source.put(ServiceReferenceTable.COLUMN_SUMMARY, data.getDataLong(4));
source.put(ServiceReferenceTable.COLUMN_ERROR, data.getDataLong(5));
source.put(ServiceReferenceTable.COLUMN_COST_SUMMARY, data.getDataLong(6));
source.put(ServiceReferenceTable.COLUMN_TIME_BUCKET, data.getDataLong(7));
source.put(ServiceReferenceTable.COLUMN_ID, data.getId());
source.put(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_ID, data.getEntryServiceId());
source.put(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_NAME, data.getEntryServiceName());
source.put(ServiceReferenceTable.COLUMN_FRONT_SERVICE_ID, data.getFrontServiceId());
source.put(ServiceReferenceTable.COLUMN_FRONT_SERVICE_NAME, data.getFrontServiceName());
source.put(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_ID, data.getBehindServiceId());
source.put(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_NAME, data.getBehindServiceName());
source.put(ServiceReferenceTable.COLUMN_S1_LTE, data.getS1Lte());
source.put(ServiceReferenceTable.COLUMN_S3_LTE, data.getS3Lte());
source.put(ServiceReferenceTable.COLUMN_S5_LTE, data.getS5Lte());
source.put(ServiceReferenceTable.COLUMN_S5_GT, data.getS5Gt());
source.put(ServiceReferenceTable.COLUMN_SUMMARY, data.getSummary());
source.put(ServiceReferenceTable.COLUMN_ERROR, data.getError());
source.put(ServiceReferenceTable.COLUMN_COST_SUMMARY, data.getCostSummary());
source.put(ServiceReferenceTable.COLUMN_TIME_BUCKET, data.getTimeBucket());
String sql = SqlBuilder.buildBatchInsertSql(ServiceReferenceTable.TABLE, source.keySet());
entity.setSql(sql);
......@@ -101,29 +101,28 @@ public class ServiceReferenceH2DAO extends H2DAO implements IServiceReferenceDAO
}
@Override
public H2SqlEntity prepareBatchUpdate(Data data) {
public H2SqlEntity prepareBatchUpdate(ServiceReference data) {
H2SqlEntity entity = new H2SqlEntity();
Map<String, Object> source = new HashMap<>();
source.put(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_ID, data.getDataInteger(0));
source.put(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_NAME, data.getDataString(1));
source.put(ServiceReferenceTable.COLUMN_FRONT_SERVICE_ID, data.getDataInteger(1));
source.put(ServiceReferenceTable.COLUMN_FRONT_SERVICE_NAME, data.getDataString(2));
source.put(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_ID, data.getDataInteger(2));
source.put(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_NAME, data.getDataString(3));
source.put(ServiceReferenceTable.COLUMN_S1_LTE, data.getDataLong(0));
source.put(ServiceReferenceTable.COLUMN_S3_LTE, data.getDataLong(1));
source.put(ServiceReferenceTable.COLUMN_S5_LTE, data.getDataLong(2));
source.put(ServiceReferenceTable.COLUMN_S5_GT, data.getDataLong(3));
source.put(ServiceReferenceTable.COLUMN_SUMMARY, data.getDataLong(4));
source.put(ServiceReferenceTable.COLUMN_ERROR, data.getDataLong(5));
source.put(ServiceReferenceTable.COLUMN_COST_SUMMARY, data.getDataLong(6));
source.put(ServiceReferenceTable.COLUMN_TIME_BUCKET, data.getDataLong(7));
source.put(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_ID, data.getEntryServiceId());
source.put(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_NAME, data.getEntryServiceName());
source.put(ServiceReferenceTable.COLUMN_FRONT_SERVICE_ID, data.getFrontServiceId());
source.put(ServiceReferenceTable.COLUMN_FRONT_SERVICE_NAME, data.getFrontServiceName());
source.put(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_ID, data.getBehindServiceId());
source.put(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_NAME, data.getBehindServiceName());
source.put(ServiceReferenceTable.COLUMN_S1_LTE, data.getS1Lte());
source.put(ServiceReferenceTable.COLUMN_S3_LTE, data.getS3Lte());
source.put(ServiceReferenceTable.COLUMN_S5_LTE, data.getS5Lte());
source.put(ServiceReferenceTable.COLUMN_S5_GT, data.getS5Gt());
source.put(ServiceReferenceTable.COLUMN_SUMMARY, data.getSummary());
source.put(ServiceReferenceTable.COLUMN_ERROR, data.getError());
source.put(ServiceReferenceTable.COLUMN_COST_SUMMARY, data.getCostSummary());
source.put(ServiceReferenceTable.COLUMN_TIME_BUCKET, data.getTimeBucket());
String id = data.getDataString(0);
String sql = SqlBuilder.buildBatchUpdateSql(ServiceReferenceTable.TABLE, source.keySet(), ServiceReferenceTable.COLUMN_ID);
entity.setSql(sql);
List<Object> values = new ArrayList<>(source.values());
values.add(id);
values.add(data.getId());
entity.setParams(values.toArray(new Object[0]));
return entity;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册