timezone error

This commit is contained in:
pengys5 2017-04-05 22:10:26 +08:00
parent 75f75aa3f3
commit fb0440fd18
13 changed files with 56 additions and 30 deletions

View File

@ -40,7 +40,7 @@ public class GlobalTraceGetWithGlobalId extends AbstractGet {
}
logger.debug("globalId: %s", Arrays.toString(request.get("globalId")));
String globalId = ParameterTools.toString(request, "globalId");
String globalId = ParameterTools.INSTANCE.toString(request, "globalId");
getSelfContext().lookup(GlobalTraceSearchWithGlobalId.WorkerRole.INSTANCE).ask(globalId, response);
}

View File

@ -43,20 +43,20 @@ public class NodeRefGetWithTimeSlice extends AbstractGet {
long startTime;
try {
startTime = Long.valueOf(ParameterTools.toString(request, "startTime"));
startTime = Long.valueOf(ParameterTools.INSTANCE.toString(request, "startTime"));
} catch (NumberFormatException e) {
throw new IllegalArgumentException("the request parameter startTime must numeric with long type");
}
long endTime;
try {
endTime = Long.valueOf(ParameterTools.toString(request, "endTime"));
endTime = Long.valueOf(ParameterTools.INSTANCE.toString(request, "endTime"));
} catch (NumberFormatException e) {
throw new IllegalArgumentException("the request parameter endTime must numeric with long type");
}
NodeRefSearchWithTimeSlice.RequestEntity requestEntity;
requestEntity = new NodeRefSearchWithTimeSlice.RequestEntity(ParameterTools.toString(request, "timeSliceType"), startTime, endTime);
requestEntity = new NodeRefSearchWithTimeSlice.RequestEntity(ParameterTools.INSTANCE.toString(request, "timeSliceType"), startTime, endTime);
getSelfContext().lookup(NodeRefSearchWithTimeSlice.WorkerRole.INSTANCE).ask(requestEntity, response);
}

View File

@ -43,20 +43,20 @@ public class NodeRefResSumGetGroupWithTimeSlice extends AbstractGet {
long startTime;
try {
startTime = Long.valueOf(ParameterTools.toString(request, "startTime"));
startTime = Long.valueOf(ParameterTools.INSTANCE.toString(request, "startTime"));
} catch (NumberFormatException e) {
throw new IllegalArgumentException("the request parameter startTime must numeric with long type");
}
long endTime;
try {
endTime = Long.valueOf(ParameterTools.toString(request, "endTime"));
endTime = Long.valueOf(ParameterTools.INSTANCE.toString(request, "endTime"));
} catch (NumberFormatException e) {
throw new IllegalArgumentException("the request parameter endTime must numeric with long type");
}
NodeRefResSumGroupWithTimeSlice.RequestEntity requestEntity;
requestEntity = new NodeRefResSumGroupWithTimeSlice.RequestEntity(ParameterTools.toString(request, "timeSliceType"), startTime, endTime);
requestEntity = new NodeRefResSumGroupWithTimeSlice.RequestEntity(ParameterTools.INSTANCE.toString(request, "timeSliceType"), startTime, endTime);
getSelfContext().lookup(NodeRefResSumGroupWithTimeSlice.WorkerRole.INSTANCE).ask(requestEntity, response);
}

View File

@ -43,20 +43,20 @@ public class NodeRefResSumGetWithTimeSlice extends AbstractGet {
long startTime;
try {
startTime = Long.valueOf(ParameterTools.toString(request, "startTime"));
startTime = Long.valueOf(ParameterTools.INSTANCE.toString(request, "startTime"));
} catch (NumberFormatException e) {
throw new IllegalArgumentException("the request parameter startTime must numeric with long type");
}
long endTime;
try {
endTime = Long.valueOf(ParameterTools.toString(request, "endTime"));
endTime = Long.valueOf(ParameterTools.INSTANCE.toString(request, "endTime"));
} catch (NumberFormatException e) {
throw new IllegalArgumentException("the request parameter endTime must numeric with long type");
}
NodeRefResSumSearchWithTimeSlice.RequestEntity requestEntity;
requestEntity = new NodeRefResSumSearchWithTimeSlice.RequestEntity(ParameterTools.toString(request, "timeSliceType"), startTime, endTime);
requestEntity = new NodeRefResSumSearchWithTimeSlice.RequestEntity(ParameterTools.INSTANCE.toString(request, "timeSliceType"), startTime, endTime);
getSelfContext().lookup(NodeRefResSumSearchWithTimeSlice.WorkerRole.INSTANCE).ask(requestEntity, response);
}

View File

@ -43,19 +43,19 @@ public class SegmentTopGetWithGlobalTraceId extends AbstractGet {
int from = 0;
try {
from = Integer.valueOf(ParameterTools.toString(request, "from"));
from = Integer.valueOf(ParameterTools.INSTANCE.toString(request, "from"));
} catch (NumberFormatException e) {
throw new IllegalArgumentException("the request parameter from must numeric with int type");
}
int limit = 0;
try {
limit = Integer.valueOf(ParameterTools.toString(request, "limit"));
limit = Integer.valueOf(ParameterTools.INSTANCE.toString(request, "limit"));
} catch (NumberFormatException e) {
throw new IllegalArgumentException("the request parameter from must numeric with int type");
}
String globalTraceId = ParameterTools.toString(request, "globalTraceId");
String globalTraceId = ParameterTools.INSTANCE.toString(request, "globalTraceId");
SegmentTopSearchWithGlobalTraceId.RequestEntity requestEntity = new SegmentTopSearchWithGlobalTraceId.RequestEntity(globalTraceId, from, limit);
getSelfContext().lookup(SegmentTopSearchWithGlobalTraceId.WorkerRole.INSTANCE).ask(requestEntity, response);

View File

@ -43,39 +43,39 @@ public class SegmentTopGetWithTimeSlice extends AbstractGet {
long startTime;
try {
startTime = Long.valueOf(ParameterTools.toString(request, "startTime"));
startTime = Long.valueOf(ParameterTools.INSTANCE.toString(request, "startTime"));
} catch (NumberFormatException e) {
throw new IllegalArgumentException("the request parameter startTime must numeric with long type");
}
long endTime;
try {
endTime = Long.valueOf(ParameterTools.toString(request, "endTime"));
endTime = Long.valueOf(ParameterTools.INSTANCE.toString(request, "endTime"));
} catch (NumberFormatException e) {
throw new IllegalArgumentException("the request parameter endTime must numeric with long type");
}
int from = 0;
try {
from = Integer.valueOf(ParameterTools.toString(request, "from"));
from = Integer.valueOf(ParameterTools.INSTANCE.toString(request, "from"));
} catch (NumberFormatException e) {
throw new IllegalArgumentException("the request parameter from must numeric with int type");
}
int limit = 0;
try {
limit = Integer.valueOf(ParameterTools.toString(request, "limit"));
limit = Integer.valueOf(ParameterTools.INSTANCE.toString(request, "limit"));
} catch (NumberFormatException e) {
throw new IllegalArgumentException("the request parameter from must numeric with int type");
}
int minCost = -1;
if (request.containsKey("minCost")) {
minCost = Integer.valueOf(ParameterTools.toString(request, "minCost"));
minCost = Integer.valueOf(ParameterTools.INSTANCE.toString(request, "minCost"));
}
int maxCost = -1;
if (request.containsKey("maxCost")) {
maxCost = Integer.valueOf(ParameterTools.toString(request, "maxCost"));
maxCost = Integer.valueOf(ParameterTools.INSTANCE.toString(request, "maxCost"));
}
SegmentTopSearchWithTimeSlice.RequestEntity requestEntity;

View File

@ -42,11 +42,11 @@ public class SpanGetWithId extends AbstractGet {
int maxCost = -1;
if (request.containsKey("maxCost")) {
maxCost = Integer.valueOf(ParameterTools.toString(request, "maxCost"));
maxCost = Integer.valueOf(ParameterTools.INSTANCE.toString(request, "maxCost"));
}
String segId = ParameterTools.toString(request, "segId");
String spanId = ParameterTools.toString(request, "spanId");
String segId = ParameterTools.INSTANCE.toString(request, "segId");
String spanId = ParameterTools.INSTANCE.toString(request, "spanId");
SpanSearchWithId.RequestEntity requestEntity = new SpanSearchWithId.RequestEntity(segId, spanId);
getSelfContext().lookup(SpanSearchWithId.WorkerRole.INSTANCE).ask(requestEntity, response);

View File

@ -41,7 +41,9 @@ public class DateTools {
}
public static long changeToUTCSlice(long timeSlice) {
if (TimeZone.getDefault().getID().equals("GMT+08:00")) {
String timeSliceStr = String.valueOf(timeSlice);
if (TimeZone.getDefault().getID().equals("GMT+08:00") || timeSliceStr.endsWith("0000")) {
return timeSlice;
} else {
return timeSlice - 800;

View File

@ -5,9 +5,10 @@ import java.util.Map;
/**
* @author pengys5
*/
public class ParameterTools {
public enum ParameterTools {
INSTANCE;
public static String toString(Map<String, String[]> request, String key) {
public String toString(Map<String, String[]> request, String key) {
if (request.get(key) != null) {
return request.get(key)[0];
} else {

View File

@ -50,19 +50,19 @@ public class TraceDagGetWithTimeSlice extends AbstractGet {
long startTime;
try {
startTime = Long.valueOf(ParameterTools.toString(request, "startTime"));
startTime = Long.valueOf(ParameterTools.INSTANCE.toString(request, "startTime"));
} catch (NumberFormatException e) {
throw new IllegalArgumentException("the request parameter startTime must numeric with long type");
}
long endTime;
try {
endTime = Long.valueOf(ParameterTools.toString(request, "endTime"));
endTime = Long.valueOf(ParameterTools.INSTANCE.toString(request, "endTime"));
} catch (NumberFormatException e) {
throw new IllegalArgumentException("the request parameter endTime must numeric with long type");
}
String timeSliceType = ParameterTools.toString(request, "timeSliceType");
String timeSliceType = ParameterTools.INSTANCE.toString(request, "timeSliceType");
JsonObject compResponse = new JsonObject();
getSelfContext().lookup(NodeCompLoad.WorkerRole.INSTANCE).ask(null, compResponse);

View File

@ -1,4 +1,4 @@
package com.a.eye.skywalking.collector.worker.tools;
package com.a.eye.skywalking.collector.worker.segment;
import org.apache.http.Consts;
import org.apache.http.HttpEntity;

View File

@ -1,7 +1,6 @@
package com.a.eye.skywalking.collector.worker.segment;
import com.a.eye.skywalking.collector.worker.segment.mock.SegmentMock;
import com.a.eye.skywalking.collector.worker.tools.HttpClientTools;
/**
* @author pengys5

View File

@ -0,0 +1,24 @@
package com.a.eye.skywalking.collector.worker.tools;
import org.junit.Assert;
import org.junit.Test;
import java.util.HashMap;
import java.util.Map;
/**
* @author pengys5
*/
public class ParameterToolsTestCase {
@Test
public void testToString() {
Map<String, String[]> request = new HashMap<>();
String[] test = {"Test"};
request.put("Key", test);
String value = ParameterTools.INSTANCE.toString(request, "Key");
Assert.assertEquals("Test", value);
}
}