feature/collection navigation props raw object by baywet · Pull Request #298 · microsoftgraph/MSGraph-SDK-Code-Generator

31 changes: 2 additions & 29 deletions src/GraphODataTemplateWriter/CodeHelpers/Java/TypeHelperJava.cs

Original file line number Diff line number Diff line change
Expand Up @@ -1045,7 +1045,6 @@ public static string CreatePackageDefForEntity(this CustomT4Host host)
sb.AppendFormat(@"import {0}.serializer.ISerializer;
import {0}.serializer.IJsonBackedObject;
import {0}.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;", host.CurrentModel.GetNamespace().AddPrefix());

sb.Append("\n");
Expand Down Expand Up @@ -1129,18 +1128,6 @@ public static string CreatePackageDefForEntity(this CustomT4Host host)
if (property.Type is OdcmPrimitiveType)
continue;

var propertyType = TypeCollectionResponse(property);
string importstr = String.Format(importFormat,
property.Projection.Type.Namespace.Name.AddPrefix(),
GetPrefixForRequests(),
propertyType);
if (!uniqueStore.ContainsKey(importstr))
{
uniqueStore.Add(importstr, 0);
sb.Append(importstr);
sb.Append("\n");
}

string propertyValue = TypeCollectionPage(property);
string importstr1 = String.Format(importFormat,
property.Projection.Type.Namespace.Name.AddPrefix(),
Expand Down Expand Up @@ -1354,25 +1341,11 @@ public static string UpdatePropertiesWithinSetRawObject(IEnumerable<OdcmProperty
sb.AppendFormat(
@"
if (json.has(""{0}"")) {{
final {1} response = new {1}();
if (json.has(""{0}@odata.nextLink"")) {{
response.nextLink = json.get(""{0}@odata.nextLink"").getAsString();
}}

final JsonObject[] sourceArray = serializer.deserializeObject(json.get(""{0}"").toString(), JsonObject[].class);
final {3}[] array = new {3}[sourceArray.length];
for (int i = 0; i < sourceArray.length; i++) {{
array[i] = serializer.deserializeObject(sourceArray[i].toString(), {3}.class);
array[i].setRawObject(serializer, sourceArray[i]);
}}
response.value = Arrays.asList(array);
{0} = new {2}(response, null);
{0} = serializer.deserializeObject(json.get(""{0}"").toString(), {1}.class);
}}
",
property.Name.SanitizePropertyName(property),
TypeCollectionResponse(property),
TypeCollectionPage(property),
property.GetTypeString());
TypeCollectionPage(property));
}
}
sb.Append(" }");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;
import com.microsoft.graph.models.extensions.Entity;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,11 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;
import com.microsoft.graph.models.extensions.Call;
import com.microsoft.graph2.callrecords.models.extensions.CallRecord;
import com.microsoft.graph.models.extensions.Entity;
import com.microsoft.graph.requests.extensions.CallCollectionResponse;
import com.microsoft.graph.requests.extensions.CallCollectionPage;
import com.microsoft.graph2.callrecords.requests.extensions.CallRecordCollectionResponse;
import com.microsoft.graph2.callrecords.requests.extensions.CallRecordCollectionPage;


Expand Down Expand Up @@ -86,35 +83,11 @@ public void setRawObject(final ISerializer serializer, final JsonObject json) {


if (json.has("calls")) {
final CallCollectionResponse response = new CallCollectionResponse();
if (json.has("calls@odata.nextLink")) {
response.nextLink = json.get("calls@odata.nextLink").getAsString();
}

final JsonObject[] sourceArray = serializer.deserializeObject(json.get("calls").toString(), JsonObject[].class);
final Call[] array = new Call[sourceArray.length];
for (int i = 0; i < sourceArray.length; i++) {
array[i] = serializer.deserializeObject(sourceArray[i].toString(), Call.class);
array[i].setRawObject(serializer, sourceArray[i]);
}
response.value = Arrays.asList(array);
calls = new CallCollectionPage(response, null);
calls = serializer.deserializeObject(json.get("calls").toString(), CallCollectionPage.class);
}

if (json.has("callRecords")) {
final CallRecordCollectionResponse response = new CallRecordCollectionResponse();
if (json.has("callRecords@odata.nextLink")) {
response.nextLink = json.get("callRecords@odata.nextLink").getAsString();
}

final JsonObject[] sourceArray = serializer.deserializeObject(json.get("callRecords").toString(), JsonObject[].class);
final CallRecord[] array = new CallRecord[sourceArray.length];
for (int i = 0; i < sourceArray.length; i++) {
array[i] = serializer.deserializeObject(sourceArray[i].toString(), CallRecord.class);
array[i].setRawObject(serializer, sourceArray[i]);
}
response.value = Arrays.asList(array);
callRecords = new CallRecordCollectionPage(response, null);
callRecords = serializer.deserializeObject(json.get("callRecords").toString(), CallRecordCollectionPage.class);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;
import com.microsoft.graph.models.generated.Enum1;
import com.microsoft.graph.models.extensions.EmptyBaseComplexTypeRequest;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;
import com.microsoft.graph.models.extensions.Entity;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;
import com.microsoft.graph.models.extensions.Entity;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;
import com.microsoft.graph.models.extensions.Entity;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;
import com.microsoft.graph.models.extensions.Identity;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;
import com.microsoft.graph.models.extensions.Entity;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;
import com.microsoft.graph.models.extensions.Entity;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,11 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;
import com.microsoft.graph.models.extensions.TimeOff;
import com.microsoft.graph.models.extensions.TimeOffRequest;
import com.microsoft.graph.models.extensions.Entity;
import com.microsoft.graph.requests.extensions.TimeOffCollectionResponse;
import com.microsoft.graph.requests.extensions.TimeOffCollectionPage;
import com.microsoft.graph.requests.extensions.TimeOffRequestCollectionResponse;
import com.microsoft.graph.requests.extensions.TimeOffRequestCollectionPage;


Expand Down Expand Up @@ -94,35 +91,11 @@ public void setRawObject(final ISerializer serializer, final JsonObject json) {


if (json.has("timesOff")) {
final TimeOffCollectionResponse response = new TimeOffCollectionResponse();
if (json.has("timesOff@odata.nextLink")) {
response.nextLink = json.get("timesOff@odata.nextLink").getAsString();
}

final JsonObject[] sourceArray = serializer.deserializeObject(json.get("timesOff").toString(), JsonObject[].class);
final TimeOff[] array = new TimeOff[sourceArray.length];
for (int i = 0; i < sourceArray.length; i++) {
array[i] = serializer.deserializeObject(sourceArray[i].toString(), TimeOff.class);
array[i].setRawObject(serializer, sourceArray[i]);
}
response.value = Arrays.asList(array);
timesOff = new TimeOffCollectionPage(response, null);
timesOff = serializer.deserializeObject(json.get("timesOff").toString(), TimeOffCollectionPage.class);
}

if (json.has("timeOffRequests")) {
final TimeOffRequestCollectionResponse response = new TimeOffRequestCollectionResponse();
if (json.has("timeOffRequests@odata.nextLink")) {
response.nextLink = json.get("timeOffRequests@odata.nextLink").getAsString();
}

final JsonObject[] sourceArray = serializer.deserializeObject(json.get("timeOffRequests").toString(), JsonObject[].class);
final TimeOffRequest[] array = new TimeOffRequest[sourceArray.length];
for (int i = 0; i < sourceArray.length; i++) {
array[i] = serializer.deserializeObject(sourceArray[i].toString(), TimeOffRequest.class);
array[i].setRawObject(serializer, sourceArray[i]);
}
response.value = Arrays.asList(array);
timeOffRequests = new TimeOffRequestCollectionPage(response, null);
timeOffRequests = serializer.deserializeObject(json.get("timeOffRequests").toString(), TimeOffRequestCollectionPage.class);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;
import com.microsoft.graph.models.extensions.TestType;
import com.microsoft.graph.models.extensions.Entity;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;
import com.microsoft.graph.models.extensions.EntityType3;
import com.microsoft.graph.models.extensions.Entity;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;
import com.microsoft.graph.models.extensions.TestType;
import com.microsoft.graph.models.extensions.EntityType2;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;
import com.microsoft.graph.models.extensions.DerivedComplexTypeRequest;
import com.microsoft.graph.models.extensions.Entity;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;
import com.microsoft.graph.models.extensions.Entity;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;
import com.microsoft.graph.models.extensions.Entity;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,14 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;
import com.microsoft.graph2.callrecords.models.generated.CallType;
import com.microsoft.graph2.callrecords.models.generated.Modality;
import com.microsoft.graph.models.extensions.IdentitySet;
import com.microsoft.graph2.callrecords.models.extensions.Session;
import com.microsoft.graph.models.extensions.EntityType2;
import com.microsoft.graph.models.extensions.Entity;
import com.microsoft.graph2.callrecords.requests.extensions.SessionCollectionResponse;
import com.microsoft.graph2.callrecords.requests.extensions.SessionCollectionPage;
import com.microsoft.graph.requests.extensions.EntityType2CollectionResponse;
import com.microsoft.graph.requests.extensions.EntityType2CollectionPage;


Expand Down Expand Up @@ -161,35 +158,11 @@ public void setRawObject(final ISerializer serializer, final JsonObject json) {


if (json.has("sessions")) {
final SessionCollectionResponse response = new SessionCollectionResponse();
if (json.has("sessions@odata.nextLink")) {
response.nextLink = json.get("sessions@odata.nextLink").getAsString();
}

final JsonObject[] sourceArray = serializer.deserializeObject(json.get("sessions").toString(), JsonObject[].class);
final Session[] array = new Session[sourceArray.length];
for (int i = 0; i < sourceArray.length; i++) {
array[i] = serializer.deserializeObject(sourceArray[i].toString(), Session.class);
array[i].setRawObject(serializer, sourceArray[i]);
}
response.value = Arrays.asList(array);
sessions = new SessionCollectionPage(response, null);
sessions = serializer.deserializeObject(json.get("sessions").toString(), SessionCollectionPage.class);
}

if (json.has("recipients")) {
final EntityType2CollectionResponse response = new EntityType2CollectionResponse();
if (json.has("recipients@odata.nextLink")) {
response.nextLink = json.get("recipients@odata.nextLink").getAsString();
}

final JsonObject[] sourceArray = serializer.deserializeObject(json.get("recipients").toString(), JsonObject[].class);
final EntityType2[] array = new EntityType2[sourceArray.length];
for (int i = 0; i < sourceArray.length; i++) {
array[i] = serializer.deserializeObject(sourceArray[i].toString(), EntityType2.class);
array[i].setRawObject(serializer, sourceArray[i]);
}
response.value = Arrays.asList(array);
recipients = new EntityType2CollectionPage(response, null);
recipients = serializer.deserializeObject(json.get("recipients").toString(), EntityType2CollectionPage.class);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;
import com.microsoft.graph2.callrecords.models.generated.ClientPlatform;
import com.microsoft.graph2.callrecords.models.generated.ProductFamily;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.microsoft.graph.serializer.ISerializer;
import com.microsoft.graph.serializer.IJsonBackedObject;
import com.microsoft.graph.serializer.AdditionalDataManager;
import java.util.Arrays;
import java.util.EnumSet;


Expand Down