You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ko...@apache.org on 2014/03/22 20:41:52 UTC
[2/4] git commit: updated refs/heads/master to 265208a
new unit test for ApiResponseHelper
- unit test for getDateStringInternal
- StringBuffer replaced with StringBuilder, string concatenation replaced with append
Signed-off-by: Laszlo Hornyak <la...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/dd225684
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/dd225684
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/dd225684
Branch: refs/heads/master
Commit: dd225684f43ec55febaae1b4023eb4075643da64
Parents: 2c4ac5e
Author: Laszlo Hornyak <la...@gmail.com>
Authored: Sat Mar 22 09:22:20 2014 +0100
Committer: Laszlo Hornyak <la...@gmail.com>
Committed: Sat Mar 22 18:34:46 2014 +0100
----------------------------------------------------------------------
server/src/com/cloud/api/ApiResponseHelper.java | 45 ++++++-------
.../com/cloud/api/ApiResponseHelperTest.java | 68 ++++++++++++++++++++
2 files changed, 89 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/dd225684/server/src/com/cloud/api/ApiResponseHelper.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java
index 02f7789..9915ea9 100755
--- a/server/src/com/cloud/api/ApiResponseHelper.java
+++ b/server/src/com/cloud/api/ApiResponseHelper.java
@@ -3389,45 +3389,40 @@ public class ApiResponseHelper implements ResponseGenerator {
Calendar cal = Calendar.getInstance(tz);
cal.setTime(inputDate);
- StringBuffer sb = new StringBuffer();
- sb.append(cal.get(Calendar.YEAR) + "-");
+ StringBuilder sb = new StringBuilder(32);
+ sb.append(cal.get(Calendar.YEAR)).append('-');
int month = cal.get(Calendar.MONTH) + 1;
if (month < 10) {
- sb.append("0" + month + "-");
- } else {
- sb.append(month + "-");
+ sb.append('0');
}
+ sb.append(month).append('-');
int day = cal.get(Calendar.DAY_OF_MONTH);
if (day < 10) {
- sb.append("0" + day);
- } else {
- sb.append("" + day);
+ sb.append('0');
}
+ sb.append(day);
sb.append("'T'");
int hour = cal.get(Calendar.HOUR_OF_DAY);
if (hour < 10) {
- sb.append("0" + hour + ":");
- } else {
- sb.append(hour + ":");
+ sb.append('0');
}
+ sb.append(hour).append(':');
int minute = cal.get(Calendar.MINUTE);
if (minute < 10) {
- sb.append("0" + minute + ":");
- } else {
- sb.append(minute + ":");
+ sb.append('0');
}
+ sb.append(minute).append(':');
int seconds = cal.get(Calendar.SECOND);
if (seconds < 10) {
- sb.append("0" + seconds);
- } else {
- sb.append("" + seconds);
+ sb.append('0');
}
+ sb.append(seconds);
double offset = cal.get(Calendar.ZONE_OFFSET);
if (tz.inDaylightTime(inputDate)) {
@@ -3443,26 +3438,28 @@ public class ApiResponseHelper implements ResponseGenerator {
if (hourOffset < 0) {
if (hourOffset > -10) {
- sb.append("-0" + Math.abs(hourOffset));
+ sb.append("-0");
} else {
- sb.append("-" + Math.abs(hourOffset));
+ sb.append('-');
}
+ sb.append(Math.abs(hourOffset));
} else {
if (hourOffset < 10) {
- sb.append("+0" + hourOffset);
+ sb.append("+0");
} else {
- sb.append("+" + hourOffset);
+ sb.append("+");
}
+ sb.append(hourOffset);
}
- sb.append(":");
+ sb.append(':');
if (minuteOffset == 0) {
sb.append("00");
} else if (minuteOffset < 10) {
- sb.append("0" + minuteOffset);
+ sb.append('0').append(minuteOffset);
} else {
- sb.append("" + minuteOffset);
+ sb.append(minuteOffset);
}
return sb.toString();
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/dd225684/server/test/com/cloud/api/ApiResponseHelperTest.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/api/ApiResponseHelperTest.java b/server/test/com/cloud/api/ApiResponseHelperTest.java
new file mode 100644
index 0000000..880332c
--- /dev/null
+++ b/server/test/com/cloud/api/ApiResponseHelperTest.java
@@ -0,0 +1,68 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+package com.cloud.api;
+
+import java.lang.reflect.Field;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.TimeZone;
+
+import org.apache.cloudstack.usage.UsageService;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.runners.MockitoJUnitRunner;
+
+@RunWith(MockitoJUnitRunner.class)
+public class ApiResponseHelperTest {
+
+ @Mock
+ UsageService usageService;
+
+ ApiResponseHelper helper;
+
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss ZZZ");
+
+ @Before
+ public void injectMocks() throws SecurityException, NoSuchFieldException,
+ IllegalArgumentException, IllegalAccessException {
+ Field usageSvcField = ApiResponseHelper.class
+ .getDeclaredField("_usageSvc");
+ usageSvcField.setAccessible(true);
+ helper = new ApiResponseHelper();
+ usageSvcField.set(helper, usageService);
+ }
+
+ @Test
+ public void getDateStringInternal() throws ParseException {
+ Mockito.when(usageService.getUsageTimezone()).thenReturn(
+ TimeZone.getTimeZone("UTC"));
+ Assert.assertEquals("2014-06-29'T'23:45:00+00:00", helper
+ .getDateStringInternal(dateFormat.parse("2014-06-29 23:45:00 UTC")));
+ Assert.assertEquals("2014-06-29'T'23:45:01+00:00", helper
+ .getDateStringInternal(dateFormat.parse("2014-06-29 23:45:01 UTC")));
+ Assert.assertEquals("2014-06-29'T'23:45:11+00:00", helper
+ .getDateStringInternal(dateFormat.parse("2014-06-29 23:45:11 UTC")));
+ Assert.assertEquals("2014-06-29'T'23:05:11+00:00", helper
+ .getDateStringInternal(dateFormat.parse("2014-06-29 23:05:11 UTC")));
+ Assert.assertEquals("2014-05-29'T'08:45:11+00:00", helper
+ .getDateStringInternal(dateFormat.parse("2014-05-29 08:45:11 UTC")));
+ }
+}