From 143ab7bf5a6b47977481766cee97e74ab6337e78 Mon Sep 17 00:00:00 2001 From: Brian Melton Date: Fri, 22 Apr 2016 18:07:32 -0700 Subject: [PATCH 01/15] Adding new Date object to handle mmmm-yy-dd Adding new Serializer for Date objects Adding new pkg for models --- .../graph/generated/BaseRecurrenceRange.java | 37 ++++---- .../java/com/microsoft/graph/model/Date.java | 90 +++++++++++++++++++ .../graph/serializer/DateSerializer.java | 14 +++ .../graph/serializer/GsonFactory.java | 44 +++++++-- 4 files changed, 155 insertions(+), 30 deletions(-) create mode 100644 graphsdk/src/main/java/com/microsoft/graph/model/Date.java create mode 100644 graphsdk/src/main/java/com/microsoft/graph/serializer/DateSerializer.java diff --git a/graphsdk/src/main/java/com/microsoft/graph/generated/BaseRecurrenceRange.java b/graphsdk/src/main/java/com/microsoft/graph/generated/BaseRecurrenceRange.java index d05f9301..4f257530 100644 --- a/graphsdk/src/main/java/com/microsoft/graph/generated/BaseRecurrenceRange.java +++ b/graphsdk/src/main/java/com/microsoft/graph/generated/BaseRecurrenceRange.java @@ -4,19 +4,12 @@ package com.microsoft.graph.generated; -import com.microsoft.graph.concurrency.*; -import com.microsoft.graph.core.*; -import com.microsoft.graph.extensions.*; -import com.microsoft.graph.http.*; -import com.microsoft.graph.generated.*; -import com.microsoft.graph.options.*; -import com.microsoft.graph.serializer.*; - -import java.util.Arrays; -import java.util.List; - import com.google.gson.JsonObject; -import com.google.gson.annotations.*; +import com.google.gson.annotations.SerializedName; +import com.microsoft.graph.extensions.RecurrenceRangeType; +import com.microsoft.graph.model.Date; +import com.microsoft.graph.serializer.IJsonBackedObject; +import com.microsoft.graph.serializer.ISerializer; // **NOTE** This file was generated by a tool and any changes will be overwritten. @@ -25,13 +18,13 @@ */ public class BaseRecurrenceRange implements IJsonBackedObject { - @SerializedName("@odata.type") - public String oDataType; + @SerializedName("@odata.type") + public String oDataType; + + public BaseRecurrenceRange() { + oDataType = "microsoft.graph.recurrenceRange"; + } - public BaseRecurrenceRange(){ - oDataType = "microsoft.graph.recurrenceRange"; - } - /** * The Type. */ @@ -42,13 +35,13 @@ public BaseRecurrenceRange(){ * The Start Date. */ @SerializedName("startDate") - public java.util.Calendar startDate; + public Date startDate; /** * The End Date. */ @SerializedName("endDate") - public java.util.Calendar endDate; + public Date endDate; /** * The Recurrence Time Zone. @@ -75,6 +68,7 @@ public BaseRecurrenceRange(){ /** * Gets the raw representation of this class + * * @return the raw representation of this class */ public JsonObject getRawObject() { @@ -83,6 +77,7 @@ public JsonObject getRawObject() { /** * Gets serializer + * * @return the serializer */ protected ISerializer getSerializer() { @@ -93,7 +88,7 @@ protected ISerializer getSerializer() { * Sets the raw json object * * @param serializer The serializer - * @param json The json object to set this object to + * @param json The json object to set this object to */ public void setRawObject(final ISerializer serializer, final JsonObject json) { mSerializer = serializer; diff --git a/graphsdk/src/main/java/com/microsoft/graph/model/Date.java b/graphsdk/src/main/java/com/microsoft/graph/model/Date.java new file mode 100644 index 00000000..15a37a9c --- /dev/null +++ b/graphsdk/src/main/java/com/microsoft/graph/model/Date.java @@ -0,0 +1,90 @@ +package com.microsoft.graph.model; + +import static java.lang.Integer.parseInt; + +/** + * A timezone-nonspecific date + */ +public class Date { + + /** + * Array indices for date parsing + */ + private static final int + sYear = 0, + sMonth = 1, + sDay = 2; + + /** + * The raw string source of this object + */ + private final String rawDateString; + + private final int + mYear, + mMonth, + mDay; + + /** + * Constructs a timezone-nonspecific Date + * + * @param dateStr date string of the form yyyy-mm-dd + */ + public Date(String dateStr) { + // save the String from which this object is derived + rawDateString = dateStr; + + // break the date up into its constituent parts + String[] dateInfo = rawDateString.split("-"); + + // unpack this array + mYear = parseInt(dateInfo[sYear]); + mMonth = parseInt(dateInfo[sMonth]); + mDay = parseInt(dateInfo[sDay]); + } + + /** + * Gets the source {@link String} data from which this object is derived + * + * @return source string data + */ + public String getRawDateString() { + return rawDateString; + } + + /** + * Gets the year + * + * @return the year + */ + public int getYear() { + return mYear; + } + + /** + * Gets the month + * + * @return the month + */ + public int getMonth() { + return mMonth; + } + + /** + * Gets the day + * + * @return the day + */ + public int getDay() { + return mDay; + } + + @Override + public String toString() { + return mYear + + "-" + + mMonth + + "-" + + mDay; + } +} diff --git a/graphsdk/src/main/java/com/microsoft/graph/serializer/DateSerializer.java b/graphsdk/src/main/java/com/microsoft/graph/serializer/DateSerializer.java new file mode 100644 index 00000000..f460ae07 --- /dev/null +++ b/graphsdk/src/main/java/com/microsoft/graph/serializer/DateSerializer.java @@ -0,0 +1,14 @@ +package com.microsoft.graph.serializer; + +import com.microsoft.graph.model.Date; + +public class DateSerializer { + + public static Date deserialize(String strVal) { + return new Date(strVal); + } + + public static String serialize(Date src) { + return src.toString(); + } +} diff --git a/graphsdk/src/main/java/com/microsoft/graph/serializer/GsonFactory.java b/graphsdk/src/main/java/com/microsoft/graph/serializer/GsonFactory.java index fbc5446c..3c7f9dda 100644 --- a/graphsdk/src/main/java/com/microsoft/graph/serializer/GsonFactory.java +++ b/graphsdk/src/main/java/com/microsoft/graph/serializer/GsonFactory.java @@ -31,8 +31,8 @@ import com.google.gson.JsonPrimitive; import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; - import com.microsoft.graph.logger.ILogger; +import com.microsoft.graph.model.Date; import java.lang.reflect.Type; import java.text.ParseException; @@ -52,12 +52,13 @@ private GsonFactory() { /** * Creates an instance of Gson. + * * @param logger The logger. * @return The new instance. */ public static Gson getGsonInstance(final ILogger logger) { - final JsonSerializer dateJsonSerializer = new JsonSerializer() { + final JsonSerializer calendarJsonSerializer = new JsonSerializer() { @Override public JsonElement serialize(final Calendar src, final Type typeOfSrc, @@ -74,7 +75,7 @@ public JsonElement serialize(final Calendar src, } }; - final JsonDeserializer dateJsonDeserializer = new JsonDeserializer() { + final JsonDeserializer calendarJsonDeserializer = new JsonDeserializer() { @Override public Calendar deserialize(final JsonElement json, final Type typeOfT, @@ -111,8 +112,8 @@ public JsonElement serialize(final byte[] src, final JsonDeserializer byteArrayJsonDeserializer = new JsonDeserializer() { @Override public byte[] deserialize(final JsonElement json, - final Type typeOfT, - final JsonDeserializationContext context) throws JsonParseException { + final Type typeOfT, + final JsonDeserializationContext context) throws JsonParseException { if (json == null) { return null; } @@ -125,13 +126,38 @@ public byte[] deserialize(final JsonElement json, } }; + final JsonSerializer dateJsonSerializer = new JsonSerializer() { + @Override + public JsonElement serialize(Date src, Type typeOfSrc, JsonSerializationContext context) { + if (src == null) { + return null; + } + return new JsonPrimitive(DateSerializer.serialize(src)); + } + }; + + final JsonDeserializer dateJsonDeserializer = new JsonDeserializer() { + @Override + public Date deserialize(JsonElement json, + Type typeOfT, + JsonDeserializationContext context) throws JsonParseException { + if (json == null) { + return null; + } + + return DateSerializer.deserialize(json.getAsString()); + } + }; + return new GsonBuilder() - .registerTypeAdapter(Calendar.class, dateJsonSerializer) - .registerTypeAdapter(Calendar.class, dateJsonDeserializer) - .registerTypeAdapter(GregorianCalendar.class, dateJsonSerializer) - .registerTypeAdapter(GregorianCalendar.class, dateJsonDeserializer) + .registerTypeAdapter(Calendar.class, calendarJsonSerializer) + .registerTypeAdapter(Calendar.class, calendarJsonDeserializer) + .registerTypeAdapter(GregorianCalendar.class, calendarJsonSerializer) + .registerTypeAdapter(GregorianCalendar.class, calendarJsonDeserializer) .registerTypeAdapter(byte[].class, byteArrayJsonDeserializer) .registerTypeAdapter(byte[].class, byteArrayJsonSerializer) + .registerTypeAdapter(Date.class, dateJsonSerializer) + .registerTypeAdapter(Date.class, dateJsonDeserializer) .registerTypeAdapterFactory(new FallBackEnumTypeAdapter()) .create(); } From 137febb3ac544f183df1ff0d87ffbc3494f44bf1 Mon Sep 17 00:00:00 2001 From: Brian Melton Date: Fri, 22 Apr 2016 19:12:14 -0700 Subject: [PATCH 02/15] Pretty print dates --- .../java/com/microsoft/graph/model/Date.java | 41 +++++++++++++++---- 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/graphsdk/src/main/java/com/microsoft/graph/model/Date.java b/graphsdk/src/main/java/com/microsoft/graph/model/Date.java index 15a37a9c..6cbcadce 100644 --- a/graphsdk/src/main/java/com/microsoft/graph/model/Date.java +++ b/graphsdk/src/main/java/com/microsoft/graph/model/Date.java @@ -1,6 +1,5 @@ package com.microsoft.graph.model; -import static java.lang.Integer.parseInt; /** * A timezone-nonspecific date @@ -38,9 +37,9 @@ public Date(String dateStr) { String[] dateInfo = rawDateString.split("-"); // unpack this array - mYear = parseInt(dateInfo[sYear]); - mMonth = parseInt(dateInfo[sMonth]); - mDay = parseInt(dateInfo[sDay]); + mYear = Integer.parseInt(dateInfo[sYear]); + mMonth = Integer.parseInt(dateInfo[sMonth]); + mDay = Integer.parseInt(dateInfo[sDay]); } /** @@ -79,12 +78,40 @@ public int getDay() { return mDay; } + private static String formatYear(int year) { + String strYear = String.valueOf(year); + + if (year < 1000) { + strYear = "0" + strYear; + } + + if (year < 100) { + strYear = "0" + strYear; + } + + if (year < 10) { + strYear = "0" + strYear; + } + + return strYear; + } + + private static String formatMonthOrDay(int monthOrDay) { + String strmod = String.valueOf(monthOrDay); + + if (monthOrDay < 10) { + strmod = "0" + strmod; + } + + return strmod; + } + @Override public String toString() { - return mYear + return formatYear(mYear) + "-" - + mMonth + + formatMonthOrDay(mMonth) + "-" - + mDay; + + formatMonthOrDay(mDay); } } From 1f4f8b24ff8517f1ebcc3f8319442b37fd29dd53 Mon Sep 17 00:00:00 2001 From: Brian Melton Date: Mon, 25 Apr 2016 10:02:44 -0700 Subject: [PATCH 03/15] Adding tests for DateSerializer --- .../graph/serializer/DateSerializerTest.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateSerializerTest.java diff --git a/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateSerializerTest.java b/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateSerializerTest.java new file mode 100644 index 00000000..cf00d393 --- /dev/null +++ b/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateSerializerTest.java @@ -0,0 +1,32 @@ +package com.microsoft.graph.serializer; + +import android.test.AndroidTestCase; + +import com.microsoft.graph.model.Date; + +public class DateSerializerTest extends AndroidTestCase { + + public void testDateSerializer() throws Exception { + String strDate = DateSerializer.serialize(new Date("2016-04-27")); + assertEquals("2016-04-27", strDate); + } + + public void testDateSerializerIndefinite() throws Exception { + String strDate = DateSerializer.serialize(new Date("0001-01-01")); + assertEquals("0001-01-01", strDate); + } + + public void testDateDeserializer() throws Exception { + Date date = DateSerializer.deserialize("2016-04-27"); + assertEquals(2016, date.getYear()); + assertEquals(4, date.getMonth()); + assertEquals(27, date.getDay()); + } + + public void testDateDeserializerIndefinite() { + Date date = DateSerializer.deserialize("0001-01-01"); + assertEquals(1, date.getYear()); + assertEquals(1, date.getMonth()); + assertEquals(1, date.getDay()); + } +} From 3618f89a5e267293a1458d11fc5df381395095a0 Mon Sep 17 00:00:00 2001 From: Brian Melton Date: Mon, 25 Apr 2016 10:27:45 -0700 Subject: [PATCH 04/15] Cleaner print formatting of dates --- .../java/com/microsoft/graph/model/Date.java | 39 +++---------------- 1 file changed, 6 insertions(+), 33 deletions(-) diff --git a/graphsdk/src/main/java/com/microsoft/graph/model/Date.java b/graphsdk/src/main/java/com/microsoft/graph/model/Date.java index 6cbcadce..c555aa31 100644 --- a/graphsdk/src/main/java/com/microsoft/graph/model/Date.java +++ b/graphsdk/src/main/java/com/microsoft/graph/model/Date.java @@ -1,6 +1,8 @@ package com.microsoft.graph.model; +import java.util.Locale; + /** * A timezone-nonspecific date */ @@ -78,40 +80,11 @@ public int getDay() { return mDay; } - private static String formatYear(int year) { - String strYear = String.valueOf(year); - - if (year < 1000) { - strYear = "0" + strYear; - } - - if (year < 100) { - strYear = "0" + strYear; - } - - if (year < 10) { - strYear = "0" + strYear; - } - - return strYear; - } - - private static String formatMonthOrDay(int monthOrDay) { - String strmod = String.valueOf(monthOrDay); - - if (monthOrDay < 10) { - strmod = "0" + strmod; - } - - return strmod; - } - @Override public String toString() { - return formatYear(mYear) - + "-" - + formatMonthOrDay(mMonth) - + "-" - + formatMonthOrDay(mDay); + return String.format( + Locale.getDefault(), + "%04d-%02d-%02d", mYear, mMonth, mDay + ); } } From de7e4feb2602ae2eefcf6b2d97294f516c323355 Mon Sep 17 00:00:00 2001 From: Brian Melton Date: Mon, 25 Apr 2016 11:04:12 -0700 Subject: [PATCH 05/15] Renaming class Date -> DateOnly --- ...rTest.java => DateOnlySerializerTest.java} | 12 +++++----- .../graph/generated/BaseRecurrenceRange.java | 6 ++--- .../graph/model/{Date.java => DateOnly.java} | 4 ++-- .../graph/serializer/DateOnlySerializer.java | 14 ++++++++++++ .../graph/serializer/DateSerializer.java | 14 ------------ .../graph/serializer/GsonFactory.java | 22 +++++++++---------- 6 files changed, 36 insertions(+), 36 deletions(-) rename graphsdk/src/androidTest/java/com/microsoft/graph/serializer/{DateSerializerTest.java => DateOnlySerializerTest.java} (62%) rename graphsdk/src/main/java/com/microsoft/graph/model/{Date.java => DateOnly.java} (96%) create mode 100644 graphsdk/src/main/java/com/microsoft/graph/serializer/DateOnlySerializer.java delete mode 100644 graphsdk/src/main/java/com/microsoft/graph/serializer/DateSerializer.java diff --git a/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateSerializerTest.java b/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateOnlySerializerTest.java similarity index 62% rename from graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateSerializerTest.java rename to graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateOnlySerializerTest.java index cf00d393..0f6b3b33 100644 --- a/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateSerializerTest.java +++ b/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateOnlySerializerTest.java @@ -2,29 +2,29 @@ import android.test.AndroidTestCase; -import com.microsoft.graph.model.Date; +import com.microsoft.graph.model.DateOnly; -public class DateSerializerTest extends AndroidTestCase { +public class DateOnlySerializerTest extends AndroidTestCase { public void testDateSerializer() throws Exception { - String strDate = DateSerializer.serialize(new Date("2016-04-27")); + String strDate = DateOnlySerializer.serialize(new DateOnly("2016-04-27")); assertEquals("2016-04-27", strDate); } public void testDateSerializerIndefinite() throws Exception { - String strDate = DateSerializer.serialize(new Date("0001-01-01")); + String strDate = DateOnlySerializer.serialize(new DateOnly("0001-01-01")); assertEquals("0001-01-01", strDate); } public void testDateDeserializer() throws Exception { - Date date = DateSerializer.deserialize("2016-04-27"); + DateOnly date = DateOnlySerializer.deserialize("2016-04-27"); assertEquals(2016, date.getYear()); assertEquals(4, date.getMonth()); assertEquals(27, date.getDay()); } public void testDateDeserializerIndefinite() { - Date date = DateSerializer.deserialize("0001-01-01"); + DateOnly date = DateOnlySerializer.deserialize("0001-01-01"); assertEquals(1, date.getYear()); assertEquals(1, date.getMonth()); assertEquals(1, date.getDay()); diff --git a/graphsdk/src/main/java/com/microsoft/graph/generated/BaseRecurrenceRange.java b/graphsdk/src/main/java/com/microsoft/graph/generated/BaseRecurrenceRange.java index 4f257530..1eb80dc2 100644 --- a/graphsdk/src/main/java/com/microsoft/graph/generated/BaseRecurrenceRange.java +++ b/graphsdk/src/main/java/com/microsoft/graph/generated/BaseRecurrenceRange.java @@ -7,7 +7,7 @@ import com.google.gson.JsonObject; import com.google.gson.annotations.SerializedName; import com.microsoft.graph.extensions.RecurrenceRangeType; -import com.microsoft.graph.model.Date; +import com.microsoft.graph.model.DateOnly; import com.microsoft.graph.serializer.IJsonBackedObject; import com.microsoft.graph.serializer.ISerializer; @@ -35,13 +35,13 @@ public BaseRecurrenceRange() { * The Start Date. */ @SerializedName("startDate") - public Date startDate; + public DateOnly startDate; /** * The End Date. */ @SerializedName("endDate") - public Date endDate; + public DateOnly endDate; /** * The Recurrence Time Zone. diff --git a/graphsdk/src/main/java/com/microsoft/graph/model/Date.java b/graphsdk/src/main/java/com/microsoft/graph/model/DateOnly.java similarity index 96% rename from graphsdk/src/main/java/com/microsoft/graph/model/Date.java rename to graphsdk/src/main/java/com/microsoft/graph/model/DateOnly.java index c555aa31..4712f9f9 100644 --- a/graphsdk/src/main/java/com/microsoft/graph/model/Date.java +++ b/graphsdk/src/main/java/com/microsoft/graph/model/DateOnly.java @@ -6,7 +6,7 @@ /** * A timezone-nonspecific date */ -public class Date { +public class DateOnly { /** * Array indices for date parsing @@ -31,7 +31,7 @@ public class Date { * * @param dateStr date string of the form yyyy-mm-dd */ - public Date(String dateStr) { + public DateOnly(String dateStr) { // save the String from which this object is derived rawDateString = dateStr; diff --git a/graphsdk/src/main/java/com/microsoft/graph/serializer/DateOnlySerializer.java b/graphsdk/src/main/java/com/microsoft/graph/serializer/DateOnlySerializer.java new file mode 100644 index 00000000..ae4bf0fe --- /dev/null +++ b/graphsdk/src/main/java/com/microsoft/graph/serializer/DateOnlySerializer.java @@ -0,0 +1,14 @@ +package com.microsoft.graph.serializer; + +import com.microsoft.graph.model.DateOnly; + +public class DateOnlySerializer { + + public static DateOnly deserialize(String strVal) { + return new DateOnly(strVal); + } + + public static String serialize(DateOnly src) { + return src.toString(); + } +} diff --git a/graphsdk/src/main/java/com/microsoft/graph/serializer/DateSerializer.java b/graphsdk/src/main/java/com/microsoft/graph/serializer/DateSerializer.java deleted file mode 100644 index f460ae07..00000000 --- a/graphsdk/src/main/java/com/microsoft/graph/serializer/DateSerializer.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.microsoft.graph.serializer; - -import com.microsoft.graph.model.Date; - -public class DateSerializer { - - public static Date deserialize(String strVal) { - return new Date(strVal); - } - - public static String serialize(Date src) { - return src.toString(); - } -} diff --git a/graphsdk/src/main/java/com/microsoft/graph/serializer/GsonFactory.java b/graphsdk/src/main/java/com/microsoft/graph/serializer/GsonFactory.java index 3c7f9dda..667188d2 100644 --- a/graphsdk/src/main/java/com/microsoft/graph/serializer/GsonFactory.java +++ b/graphsdk/src/main/java/com/microsoft/graph/serializer/GsonFactory.java @@ -32,7 +32,7 @@ import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; import com.microsoft.graph.logger.ILogger; -import com.microsoft.graph.model.Date; +import com.microsoft.graph.model.DateOnly; import java.lang.reflect.Type; import java.text.ParseException; @@ -126,26 +126,26 @@ public byte[] deserialize(final JsonElement json, } }; - final JsonSerializer dateJsonSerializer = new JsonSerializer() { + final JsonSerializer dateJsonSerializer = new JsonSerializer() { @Override - public JsonElement serialize(Date src, Type typeOfSrc, JsonSerializationContext context) { + public JsonElement serialize(DateOnly src, Type typeOfSrc, JsonSerializationContext context) { if (src == null) { return null; } - return new JsonPrimitive(DateSerializer.serialize(src)); + return new JsonPrimitive(DateOnlySerializer.serialize(src)); } }; - final JsonDeserializer dateJsonDeserializer = new JsonDeserializer() { + final JsonDeserializer dateJsonDeserializer = new JsonDeserializer() { @Override - public Date deserialize(JsonElement json, - Type typeOfT, - JsonDeserializationContext context) throws JsonParseException { + public DateOnly deserialize(JsonElement json, + Type typeOfT, + JsonDeserializationContext context) throws JsonParseException { if (json == null) { return null; } - return DateSerializer.deserialize(json.getAsString()); + return DateOnlySerializer.deserialize(json.getAsString()); } }; @@ -156,8 +156,8 @@ public Date deserialize(JsonElement json, .registerTypeAdapter(GregorianCalendar.class, calendarJsonDeserializer) .registerTypeAdapter(byte[].class, byteArrayJsonDeserializer) .registerTypeAdapter(byte[].class, byteArrayJsonSerializer) - .registerTypeAdapter(Date.class, dateJsonSerializer) - .registerTypeAdapter(Date.class, dateJsonDeserializer) + .registerTypeAdapter(DateOnly.class, dateJsonSerializer) + .registerTypeAdapter(DateOnly.class, dateJsonDeserializer) .registerTypeAdapterFactory(new FallBackEnumTypeAdapter()) .create(); } From b7f9883df5123a5de9492a7e887fc6471400fe9c Mon Sep 17 00:00:00 2001 From: Brian Melton Date: Mon, 25 Apr 2016 11:28:30 -0700 Subject: [PATCH 06/15] changes per @peternied code review --- .../com/microsoft/graph/model/DateOnly.java | 53 +++++++++---------- .../graph/serializer/DateOnlySerializer.java | 4 +- .../graph/serializer/GsonFactory.java | 13 +++-- 3 files changed, 38 insertions(+), 32 deletions(-) diff --git a/graphsdk/src/main/java/com/microsoft/graph/model/DateOnly.java b/graphsdk/src/main/java/com/microsoft/graph/model/DateOnly.java index 4712f9f9..5e580678 100644 --- a/graphsdk/src/main/java/com/microsoft/graph/model/DateOnly.java +++ b/graphsdk/src/main/java/com/microsoft/graph/model/DateOnly.java @@ -1,6 +1,7 @@ package com.microsoft.graph.model; +import java.text.ParseException; import java.util.Locale; /** @@ -8,49 +9,47 @@ */ public class DateOnly { - /** - * Array indices for date parsing - */ - private static final int - sYear = 0, - sMonth = 1, - sDay = 2; - - /** - * The raw string source of this object - */ - private final String rawDateString; - private final int mYear, mMonth, mDay; /** - * Constructs a timezone-nonspecific Date + * Constructs a timezone-nonspecific DateOnly * * @param dateStr date string of the form yyyy-mm-dd */ - public DateOnly(String dateStr) { - // save the String from which this object is derived - rawDateString = dateStr; - + public DateOnly(String dateStr) throws ParseException { // break the date up into its constituent parts - String[] dateInfo = rawDateString.split("-"); + String[] dateInfo = dateStr.split("-"); + + // validate our split datestring + if (dateInfo.length != 3) { + throw new ParseException("Datestring input didn't match format 'yyyy-mm-dd'", 0); + } + + // array indices for date parsing + final int year = 0; + final int month = 1; + final int day = 2; // unpack this array - mYear = Integer.parseInt(dateInfo[sYear]); - mMonth = Integer.parseInt(dateInfo[sMonth]); - mDay = Integer.parseInt(dateInfo[sDay]); + mYear = Integer.parseInt(dateInfo[year]); + mMonth = Integer.parseInt(dateInfo[month]); + mDay = Integer.parseInt(dateInfo[day]); } /** - * Gets the source {@link String} data from which this object is derived + * Constructs a timezone-nonspecific DateOnly * - * @return source string data + * @param year the year + * @param month 1-indexed month value (Jan == 1) + * @param day day of the month */ - public String getRawDateString() { - return rawDateString; + public DateOnly(int year, int month, int day) { + mYear = year; + mMonth = month; + mDay = day; } /** @@ -83,7 +82,7 @@ public int getDay() { @Override public String toString() { return String.format( - Locale.getDefault(), + Locale.ROOT, "%04d-%02d-%02d", mYear, mMonth, mDay ); } diff --git a/graphsdk/src/main/java/com/microsoft/graph/serializer/DateOnlySerializer.java b/graphsdk/src/main/java/com/microsoft/graph/serializer/DateOnlySerializer.java index ae4bf0fe..2b567c1a 100644 --- a/graphsdk/src/main/java/com/microsoft/graph/serializer/DateOnlySerializer.java +++ b/graphsdk/src/main/java/com/microsoft/graph/serializer/DateOnlySerializer.java @@ -2,9 +2,11 @@ import com.microsoft.graph.model.DateOnly; +import java.text.ParseException; + public class DateOnlySerializer { - public static DateOnly deserialize(String strVal) { + public static DateOnly deserialize(String strVal) throws ParseException { return new DateOnly(strVal); } diff --git a/graphsdk/src/main/java/com/microsoft/graph/serializer/GsonFactory.java b/graphsdk/src/main/java/com/microsoft/graph/serializer/GsonFactory.java index 667188d2..cc36b7e3 100644 --- a/graphsdk/src/main/java/com/microsoft/graph/serializer/GsonFactory.java +++ b/graphsdk/src/main/java/com/microsoft/graph/serializer/GsonFactory.java @@ -1,16 +1,16 @@ // ------------------------------------------------------------------------------ // Copyright (c) 2015 Microsoft Corporation -// +// // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: -// +// // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. -// +// // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE @@ -145,7 +145,12 @@ public DateOnly deserialize(JsonElement json, return null; } - return DateOnlySerializer.deserialize(json.getAsString()); + try { + return DateOnlySerializer.deserialize(json.getAsString()); + } catch (ParseException e) { + logger.logError("Parsing issue on " + json.getAsString(), e); + return null; + } } }; From a96df2e1c0fa372d7a8f8527d8ffa2a222f98214 Mon Sep 17 00:00:00 2001 From: Brian Melton Date: Mon, 25 Apr 2016 11:32:31 -0700 Subject: [PATCH 07/15] Adding throws to test --- .../com/microsoft/graph/serializer/DateOnlySerializerTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateOnlySerializerTest.java b/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateOnlySerializerTest.java index 0f6b3b33..83516b0e 100644 --- a/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateOnlySerializerTest.java +++ b/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateOnlySerializerTest.java @@ -23,7 +23,7 @@ public void testDateDeserializer() throws Exception { assertEquals(27, date.getDay()); } - public void testDateDeserializerIndefinite() { + public void testDateDeserializerIndefinite() throws Exception{ DateOnly date = DateOnlySerializer.deserialize("0001-01-01"); assertEquals(1, date.getYear()); assertEquals(1, date.getMonth()); From 343ca5030448a7a35878636ddc0d08fc510586d4 Mon Sep 17 00:00:00 2001 From: Brian Melton Date: Mon, 25 Apr 2016 11:38:30 -0700 Subject: [PATCH 08/15] More helpful Exception messaging --- .../src/main/java/com/microsoft/graph/model/DateOnly.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/graphsdk/src/main/java/com/microsoft/graph/model/DateOnly.java b/graphsdk/src/main/java/com/microsoft/graph/model/DateOnly.java index 5e580678..a4f38133 100644 --- a/graphsdk/src/main/java/com/microsoft/graph/model/DateOnly.java +++ b/graphsdk/src/main/java/com/microsoft/graph/model/DateOnly.java @@ -25,7 +25,9 @@ public DateOnly(String dateStr) throws ParseException { // validate our split datestring if (dateInfo.length != 3) { - throw new ParseException("Datestring input didn't match format 'yyyy-mm-dd'", 0); + throw new ParseException( + "Expected datestring format 'yyyy-mm-dd' but found: " + dateStr, 0 + ); } // array indices for date parsing From 22032801dc07ac82747a1ee0bb9a197ba4ead44e Mon Sep 17 00:00:00 2001 From: Brian Melton Date: Mon, 25 Apr 2016 12:07:33 -0700 Subject: [PATCH 09/15] Parsing delegates to static method instead of ctor --- .../java/com/microsoft/graph/model/DateOnly.java | 16 +++++++++------- .../graph/serializer/DateOnlySerializer.java | 2 +- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/graphsdk/src/main/java/com/microsoft/graph/model/DateOnly.java b/graphsdk/src/main/java/com/microsoft/graph/model/DateOnly.java index a4f38133..537a3d84 100644 --- a/graphsdk/src/main/java/com/microsoft/graph/model/DateOnly.java +++ b/graphsdk/src/main/java/com/microsoft/graph/model/DateOnly.java @@ -19,7 +19,7 @@ public class DateOnly { * * @param dateStr date string of the form yyyy-mm-dd */ - public DateOnly(String dateStr) throws ParseException { + public static DateOnly parse(String dateStr) throws ParseException { // break the date up into its constituent parts String[] dateInfo = dateStr.split("-"); @@ -31,14 +31,16 @@ public DateOnly(String dateStr) throws ParseException { } // array indices for date parsing - final int year = 0; - final int month = 1; - final int day = 2; + final int indYear = 0; + final int indMonth = 1; + final int indDay = 2; // unpack this array - mYear = Integer.parseInt(dateInfo[year]); - mMonth = Integer.parseInt(dateInfo[month]); - mDay = Integer.parseInt(dateInfo[day]); + int year = Integer.parseInt(dateInfo[indYear]); + int month = Integer.parseInt(dateInfo[indMonth]); + int day = Integer.parseInt(dateInfo[indDay]); + + return new DateOnly(year, month, day); } /** diff --git a/graphsdk/src/main/java/com/microsoft/graph/serializer/DateOnlySerializer.java b/graphsdk/src/main/java/com/microsoft/graph/serializer/DateOnlySerializer.java index 2b567c1a..8d0cdc49 100644 --- a/graphsdk/src/main/java/com/microsoft/graph/serializer/DateOnlySerializer.java +++ b/graphsdk/src/main/java/com/microsoft/graph/serializer/DateOnlySerializer.java @@ -7,7 +7,7 @@ public class DateOnlySerializer { public static DateOnly deserialize(String strVal) throws ParseException { - return new DateOnly(strVal); + return DateOnly.parse(strVal); } public static String serialize(DateOnly src) { From 5825de8279756a114191e79e04b1cfa8cc79bf30 Mon Sep 17 00:00:00 2001 From: Brian Melton Date: Mon, 25 Apr 2016 12:12:16 -0700 Subject: [PATCH 10/15] Update test to delegate to parse --- .../microsoft/graph/serializer/DateOnlySerializerTest.java | 4 ++-- .../com/microsoft/graph/serializer/RecurrenceRangeTest.java | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 graphsdk/src/androidTest/java/com/microsoft/graph/serializer/RecurrenceRangeTest.java diff --git a/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateOnlySerializerTest.java b/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateOnlySerializerTest.java index 83516b0e..9982069b 100644 --- a/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateOnlySerializerTest.java +++ b/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateOnlySerializerTest.java @@ -7,12 +7,12 @@ public class DateOnlySerializerTest extends AndroidTestCase { public void testDateSerializer() throws Exception { - String strDate = DateOnlySerializer.serialize(new DateOnly("2016-04-27")); + String strDate = DateOnlySerializer.serialize(DateOnly.parse("2016-04-27")); assertEquals("2016-04-27", strDate); } public void testDateSerializerIndefinite() throws Exception { - String strDate = DateOnlySerializer.serialize(new DateOnly("0001-01-01")); + String strDate = DateOnlySerializer.serialize(DateOnly.parse("0001-01-01")); assertEquals("0001-01-01", strDate); } diff --git a/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/RecurrenceRangeTest.java b/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/RecurrenceRangeTest.java new file mode 100644 index 00000000..bd222386 --- /dev/null +++ b/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/RecurrenceRangeTest.java @@ -0,0 +1,6 @@ +package com.microsoft.graph.serializer; + +import android.test.AndroidTestCase; + +public class RecurrenceRangeTest extends AndroidTestCase { +} From a046822347ffa688eddb2095dce2fcc9f29b4a5c Mon Sep 17 00:00:00 2001 From: Brian Melton Date: Mon, 25 Apr 2016 12:38:27 -0700 Subject: [PATCH 11/15] Adding new test for deserialization --- .../serializer/DefaultSerializerTests.java | 31 +++++++++++++++++-- .../graph/serializer/RecurrenceRangeTest.java | 6 ---- 2 files changed, 28 insertions(+), 9 deletions(-) delete mode 100644 graphsdk/src/androidTest/java/com/microsoft/graph/serializer/RecurrenceRangeTest.java diff --git a/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DefaultSerializerTests.java b/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DefaultSerializerTests.java index a1119b29..bdd66c10 100644 --- a/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DefaultSerializerTests.java +++ b/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DefaultSerializerTests.java @@ -22,18 +22,21 @@ package com.microsoft.graph.serializer; +import android.test.AndroidTestCase; + import com.microsoft.graph.extensions.Drive; +import com.microsoft.graph.extensions.RecurrenceRangeType; +import com.microsoft.graph.generated.BaseRecurrenceRange; import com.microsoft.graph.logger.DefaultLogger; -import android.test.AndroidTestCase; - /** * Test cases for the {@see DefaultSerializer} */ -public class DefaultSerializerTests extends AndroidTestCase { +public class DefaultSerializerTests extends AndroidTestCase { /** * Make sure that deserializing a Drive also returns members from BaseDrive + * * @throws Exception If there is an exception during the test */ public void testDriveDeserialization() throws Exception { @@ -46,4 +49,26 @@ public void testDriveDeserialization() throws Exception { assertEquals("8bf6ae90006c4a4c", result.id); } + + public void testRecurrenceRangeDeserialization() throws Exception { + final DefaultSerializer serializer = new DefaultSerializer(new DefaultLogger()); + String source = "{\n" + + " \"type\": \"noEnd\",\n" + + " \"startDate\": \"2016-04-27\",\n" + + " \"endDate\": \"0001-01-01\",\n" + + " \"recurrenceTimeZone\": \"China Standard Time\",\n" + + " \"numberOfOccurrences\": 0\n" + + "}"; + BaseRecurrenceRange baseRecurrenceRange = serializer.deserializeObject(source, BaseRecurrenceRange.class); + assertNotNull(source); + assertEquals(baseRecurrenceRange.type, RecurrenceRangeType.noEnd); + assertEquals("2016-04-27", baseRecurrenceRange.startDate.toString()); + assertEquals("0001-01-01", baseRecurrenceRange.endDate.toString()); + assertEquals("China Standard Time", baseRecurrenceRange.recurrenceTimeZone); + assertEquals(Integer.valueOf(0), baseRecurrenceRange.numberOfOccurrences); + } + + public void testRecurrenceRangeSerialization() throws Exception { + + } } diff --git a/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/RecurrenceRangeTest.java b/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/RecurrenceRangeTest.java deleted file mode 100644 index bd222386..00000000 --- a/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/RecurrenceRangeTest.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.microsoft.graph.serializer; - -import android.test.AndroidTestCase; - -public class RecurrenceRangeTest extends AndroidTestCase { -} From 59ee5da39d2a63e127c6c6a778b6c7df90c34f08 Mon Sep 17 00:00:00 2001 From: Brian Melton Date: Mon, 25 Apr 2016 12:52:28 -0700 Subject: [PATCH 12/15] Adding test for serialization --- .../graph/serializer/DefaultSerializerTests.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DefaultSerializerTests.java b/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DefaultSerializerTests.java index bdd66c10..4202d356 100644 --- a/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DefaultSerializerTests.java +++ b/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DefaultSerializerTests.java @@ -28,6 +28,7 @@ import com.microsoft.graph.extensions.RecurrenceRangeType; import com.microsoft.graph.generated.BaseRecurrenceRange; import com.microsoft.graph.logger.DefaultLogger; +import com.microsoft.graph.model.DateOnly; /** * Test cases for the {@see DefaultSerializer} @@ -69,6 +70,16 @@ public void testRecurrenceRangeDeserialization() throws Exception { } public void testRecurrenceRangeSerialization() throws Exception { - + final String expected = "{\"endDate\":\"2016-05-25\",\"numberOfOccurrences\":4,\"@odata.type\":\"microsoft.graph.recurrenceRange\",\"recurrenceTimeZone\":\"PST\",\"startDate\":\"2016-04-25\",\"type\":\"endDate\"}"; + final DefaultSerializer serializer = new DefaultSerializer(new DefaultLogger()); + BaseRecurrenceRange brr = new BaseRecurrenceRange(); + brr.type = RecurrenceRangeType.endDate; + brr.startDate = new DateOnly(2016, 4, 25); + brr.endDate = new DateOnly(2016, 5, 25); + brr.recurrenceTimeZone = "PST"; + brr.numberOfOccurrences = 4; + String jsonOut = serializer.serializeObject(brr); + assertNotNull(jsonOut); + assertEquals(jsonOut, expected); } } From 2ca7d8fa508160bb523c3184642e235a3dd73724 Mon Sep 17 00:00:00 2001 From: Peter Nied Date: Mon, 25 Apr 2016 14:38:48 -0700 Subject: [PATCH 13/15] Fixing CheckStyle issues Fixing a number of check style issues --- .../com/microsoft/graph/model/DateOnly.java | 29 ++++++++++++++----- .../graph/serializer/DateOnlySerializer.java | 16 ---------- .../graph/serializer/GsonFactory.java | 16 +++++----- 3 files changed, 30 insertions(+), 31 deletions(-) delete mode 100644 graphsdk/src/main/java/com/microsoft/graph/serializer/DateOnlySerializer.java diff --git a/graphsdk/src/main/java/com/microsoft/graph/model/DateOnly.java b/graphsdk/src/main/java/com/microsoft/graph/model/DateOnly.java index 537a3d84..b2facbe8 100644 --- a/graphsdk/src/main/java/com/microsoft/graph/model/DateOnly.java +++ b/graphsdk/src/main/java/com/microsoft/graph/model/DateOnly.java @@ -9,22 +9,35 @@ */ public class DateOnly { - private final int - mYear, - mMonth, - mDay; + /** + * The year + */ + private final int mYear; + + /** + * The month + */ + private final int mMonth; + + /** + * The day + */ + private final int mDay; /** * Constructs a timezone-nonspecific DateOnly * * @param dateStr date string of the form yyyy-mm-dd + * @return the parsed DateOnly instance + * @exception ParseException If there was a failure parsing the dateStr */ - public static DateOnly parse(String dateStr) throws ParseException { + public static DateOnly parse(final String dateStr) throws ParseException { // break the date up into its constituent parts String[] dateInfo = dateStr.split("-"); - // validate our split datestring - if (dateInfo.length != 3) { + // validate the split date string + final int expectedLength = 3; + if (dateInfo.length != expectedLength) { throw new ParseException( "Expected datestring format 'yyyy-mm-dd' but found: " + dateStr, 0 ); @@ -50,7 +63,7 @@ public static DateOnly parse(String dateStr) throws ParseException { * @param month 1-indexed month value (Jan == 1) * @param day day of the month */ - public DateOnly(int year, int month, int day) { + public DateOnly(final int year, final int month, final int day) { mYear = year; mMonth = month; mDay = day; diff --git a/graphsdk/src/main/java/com/microsoft/graph/serializer/DateOnlySerializer.java b/graphsdk/src/main/java/com/microsoft/graph/serializer/DateOnlySerializer.java deleted file mode 100644 index 8d0cdc49..00000000 --- a/graphsdk/src/main/java/com/microsoft/graph/serializer/DateOnlySerializer.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.microsoft.graph.serializer; - -import com.microsoft.graph.model.DateOnly; - -import java.text.ParseException; - -public class DateOnlySerializer { - - public static DateOnly deserialize(String strVal) throws ParseException { - return DateOnly.parse(strVal); - } - - public static String serialize(DateOnly src) { - return src.toString(); - } -} diff --git a/graphsdk/src/main/java/com/microsoft/graph/serializer/GsonFactory.java b/graphsdk/src/main/java/com/microsoft/graph/serializer/GsonFactory.java index cc36b7e3..eeb80b93 100644 --- a/graphsdk/src/main/java/com/microsoft/graph/serializer/GsonFactory.java +++ b/graphsdk/src/main/java/com/microsoft/graph/serializer/GsonFactory.java @@ -128,26 +128,28 @@ public byte[] deserialize(final JsonElement json, final JsonSerializer dateJsonSerializer = new JsonSerializer() { @Override - public JsonElement serialize(DateOnly src, Type typeOfSrc, JsonSerializationContext context) { + public JsonElement serialize(final DateOnly src, + final Type typeOfSrc, + final JsonSerializationContext context) { if (src == null) { return null; } - return new JsonPrimitive(DateOnlySerializer.serialize(src)); + return new JsonPrimitive(src.toString()); } }; final JsonDeserializer dateJsonDeserializer = new JsonDeserializer() { @Override - public DateOnly deserialize(JsonElement json, - Type typeOfT, - JsonDeserializationContext context) throws JsonParseException { + public DateOnly deserialize(final JsonElement json, + final Type typeOfT, + final JsonDeserializationContext context) throws JsonParseException { if (json == null) { return null; } try { - return DateOnlySerializer.deserialize(json.getAsString()); - } catch (ParseException e) { + return DateOnly.parse(json.getAsString()); + } catch (final ParseException e) { logger.logError("Parsing issue on " + json.getAsString(), e); return null; } From 63013d27e100c5b5519a14eda5448a0a87faa66e Mon Sep 17 00:00:00 2001 From: Peter Nied Date: Mon, 25 Apr 2016 15:16:44 -0700 Subject: [PATCH 14/15] Fix broken test --- ...{DateOnlySerializerTest.java => DateOnlyTests.java} | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) rename graphsdk/src/androidTest/java/com/microsoft/graph/serializer/{DateOnlySerializerTest.java => DateOnlyTests.java} (66%) diff --git a/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateOnlySerializerTest.java b/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateOnlyTests.java similarity index 66% rename from graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateOnlySerializerTest.java rename to graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateOnlyTests.java index 9982069b..1d79cbd6 100644 --- a/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateOnlySerializerTest.java +++ b/graphsdk/src/androidTest/java/com/microsoft/graph/serializer/DateOnlyTests.java @@ -4,27 +4,27 @@ import com.microsoft.graph.model.DateOnly; -public class DateOnlySerializerTest extends AndroidTestCase { +public class DateOnlyTests extends AndroidTestCase { public void testDateSerializer() throws Exception { - String strDate = DateOnlySerializer.serialize(DateOnly.parse("2016-04-27")); + String strDate = DateOnly.parse("2016-04-27").toString(); assertEquals("2016-04-27", strDate); } public void testDateSerializerIndefinite() throws Exception { - String strDate = DateOnlySerializer.serialize(DateOnly.parse("0001-01-01")); + String strDate = DateOnly.parse("0001-01-01").toString(); assertEquals("0001-01-01", strDate); } public void testDateDeserializer() throws Exception { - DateOnly date = DateOnlySerializer.deserialize("2016-04-27"); + DateOnly date = DateOnly.parse("2016-04-27"); assertEquals(2016, date.getYear()); assertEquals(4, date.getMonth()); assertEquals(27, date.getDay()); } public void testDateDeserializerIndefinite() throws Exception{ - DateOnly date = DateOnlySerializer.deserialize("0001-01-01"); + DateOnly date = DateOnly.parse("0001-01-01"); assertEquals(1, date.getYear()); assertEquals(1, date.getMonth()); assertEquals(1, date.getDay()); From ae6f96fd730fdb244393d4f86836f22d12d52a11 Mon Sep 17 00:00:00 2001 From: Brian Melton Date: Tue, 26 Apr 2016 17:23:01 -0700 Subject: [PATCH 15/15] Rebuilt file via code generator --- .../graph/generated/BaseRecurrenceRange.java | 37 +++++++++++-------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/graphsdk/src/main/java/com/microsoft/graph/generated/BaseRecurrenceRange.java b/graphsdk/src/main/java/com/microsoft/graph/generated/BaseRecurrenceRange.java index 1eb80dc2..8af39aaa 100644 --- a/graphsdk/src/main/java/com/microsoft/graph/generated/BaseRecurrenceRange.java +++ b/graphsdk/src/main/java/com/microsoft/graph/generated/BaseRecurrenceRange.java @@ -4,12 +4,19 @@ package com.microsoft.graph.generated; +import com.microsoft.graph.concurrency.*; +import com.microsoft.graph.core.*; +import com.microsoft.graph.extensions.*; +import com.microsoft.graph.http.*; +import com.microsoft.graph.generated.*; +import com.microsoft.graph.options.*; +import com.microsoft.graph.serializer.*; + +import java.util.Arrays; +import java.util.List; + import com.google.gson.JsonObject; -import com.google.gson.annotations.SerializedName; -import com.microsoft.graph.extensions.RecurrenceRangeType; -import com.microsoft.graph.model.DateOnly; -import com.microsoft.graph.serializer.IJsonBackedObject; -import com.microsoft.graph.serializer.ISerializer; +import com.google.gson.annotations.*; // **NOTE** This file was generated by a tool and any changes will be overwritten. @@ -18,13 +25,13 @@ */ public class BaseRecurrenceRange implements IJsonBackedObject { - @SerializedName("@odata.type") - public String oDataType; - - public BaseRecurrenceRange() { - oDataType = "microsoft.graph.recurrenceRange"; - } + @SerializedName("@odata.type") + public String oDataType; + public BaseRecurrenceRange(){ + oDataType = "microsoft.graph.recurrenceRange"; + } + /** * The Type. */ @@ -35,13 +42,13 @@ public BaseRecurrenceRange() { * The Start Date. */ @SerializedName("startDate") - public DateOnly startDate; + public com.microsoft.graph.model.DateOnly startDate; /** * The End Date. */ @SerializedName("endDate") - public DateOnly endDate; + public com.microsoft.graph.model.DateOnly endDate; /** * The Recurrence Time Zone. @@ -68,7 +75,6 @@ public BaseRecurrenceRange() { /** * Gets the raw representation of this class - * * @return the raw representation of this class */ public JsonObject getRawObject() { @@ -77,7 +83,6 @@ public JsonObject getRawObject() { /** * Gets serializer - * * @return the serializer */ protected ISerializer getSerializer() { @@ -88,7 +93,7 @@ protected ISerializer getSerializer() { * Sets the raw json object * * @param serializer The serializer - * @param json The json object to set this object to + * @param json The json object to set this object to */ public void setRawObject(final ISerializer serializer, final JsonObject json) { mSerializer = serializer;