diff --git a/src/Microsoft.OData.Client/BaseSaveResult.cs b/src/Microsoft.OData.Client/BaseSaveResult.cs
index 3ed8cb2409..315699bdb5 100644
--- a/src/Microsoft.OData.Client/BaseSaveResult.cs
+++ b/src/Microsoft.OData.Client/BaseSaveResult.cs
@@ -736,8 +736,8 @@ protected void HandleOperationResponse(Descriptor descriptor, HeaderCollection c
///
/// entity descriptor whose response is getting materialized.
/// information about the response to be materialized.
- /// an instance of MaterializeAtom, that can be used to materialize the response.
- protected abstract MaterializeAtom GetMaterializer(EntityDescriptor entityDescriptor, ResponseInfo responseInfo);
+ /// an instance of ObjectMaterializer, that can be used to materialize the response.
+ protected abstract ObjectMaterializer GetMaterializer(EntityDescriptor entityDescriptor, ResponseInfo responseInfo);
/// cleanup work to do once the batch / savechanges is complete
protected override void CompletedRequest()
@@ -1420,7 +1420,7 @@ private void AsyncEndRead(IAsyncResult asyncResult)
/// etag value, if specified in the response header.
private void MaterializeResponse(EntityDescriptor entityDescriptor, ResponseInfo responseInfo, string etag)
{
- using (MaterializeAtom materializer = this.GetMaterializer(entityDescriptor, responseInfo))
+ using (ObjectMaterializer materializer = this.GetMaterializer(entityDescriptor, responseInfo))
{
materializer.SetInsertingObject(entityDescriptor.Entity);
diff --git a/src/Microsoft.OData.Client/BatchSaveResult.cs b/src/Microsoft.OData.Client/BatchSaveResult.cs
index 126abe8979..9cb8f2b3ca 100644
--- a/src/Microsoft.OData.Client/BatchSaveResult.cs
+++ b/src/Microsoft.OData.Client/BatchSaveResult.cs
@@ -230,12 +230,12 @@ protected override DataServiceResponse HandleResponse()
///
/// entity descriptor whose response is getting materialized.
/// information about the response to be materialized.
- /// an instance of MaterializeAtom, that can be used to materialize the response.
+ /// an instance of ObjectMaterializer, that can be used to materialize the response.
///
/// This can only be called from inside the HandleBatchResponse or during enumeration of the responses.
/// This is used when processing responses for update operations.
///
- protected override MaterializeAtom GetMaterializer(EntityDescriptor entityDescriptor, ResponseInfo responseInfo)
+ protected override ObjectMaterializer GetMaterializer(EntityDescriptor entityDescriptor, ResponseInfo responseInfo)
{
// check if the batch stream is empty or not
Debug.Assert(this.currentOperationResponse != null, "There must be an active operation response for this method to work correctly.");
@@ -248,7 +248,7 @@ protected override MaterializeAtom GetMaterializer(EntityDescriptor entityDescri
entityDescriptor.Entity.GetType(),
/*projection*/ null,
/*normalizerRewrites*/ null);
- return new MaterializeAtom(
+ return new ObjectMaterializer(
responseInfo,
queryComponents,
/*projectionPlan*/ null,
@@ -683,7 +683,7 @@ private IEnumerable HandleBatchResponse(ODataBatchReader batc
{
DataServiceRequest query = this.Queries[queryCount];
ResponseInfo responseInfo = this.RequestInfo.GetDeserializationInfo(null /*mergeOption*/);
- MaterializeAtom materializer = DataServiceRequest.Materialize(
+ ObjectMaterializer materializer = DataServiceRequest.Materialize(
responseInfo,
query.QueryComponents(this.RequestInfo.Model),
null,
@@ -716,11 +716,11 @@ private IEnumerable HandleBatchResponse(ODataBatchReader batc
if (this.RequestInfo.IgnoreResourceNotFoundException && this.currentOperationResponse.StatusCode == HttpStatusCode.NotFound)
{
- qresponse = QueryOperationResponse.GetInstance(query.ElementType, this.currentOperationResponse.Headers, query, MaterializeAtom.EmptyResults);
+ qresponse = QueryOperationResponse.GetInstance(query.ElementType, this.currentOperationResponse.Headers, query, ObjectMaterializer.EmptyResults);
}
else
{
- qresponse = QueryOperationResponse.GetInstance(query.ElementType, this.currentOperationResponse.Headers, query, MaterializeAtom.EmptyResults);
+ qresponse = QueryOperationResponse.GetInstance(query.ElementType, this.currentOperationResponse.Headers, query, ObjectMaterializer.EmptyResults);
qresponse.Error = exception;
}
}
diff --git a/src/Microsoft.OData.Client/Binding/DataServiceCollectionOfT.cs b/src/Microsoft.OData.Client/Binding/DataServiceCollectionOfT.cs
index 7ee7160685..26ad54d5cb 100644
--- a/src/Microsoft.OData.Client/Binding/DataServiceCollectionOfT.cs
+++ b/src/Microsoft.OData.Client/Binding/DataServiceCollectionOfT.cs
@@ -611,7 +611,7 @@ private static DataServiceContext GetContextFromItems(IEnumerable items)
{
Debug.Assert(queryOperationResponse.Results != null, "Got QueryOperationResponse without valid results.");
DataServiceContext context = queryOperationResponse.Results.Context;
- Debug.Assert(context != null, "Materializer must always have valid context.");
+ Debug.Assert(context != null, "ObjectMaterializer must always have valid context.");
return context;
}
diff --git a/src/Microsoft.OData.Client/BulkUpdateSaveResult.cs b/src/Microsoft.OData.Client/BulkUpdateSaveResult.cs
index 27eacca7c4..7c42e724b8 100644
--- a/src/Microsoft.OData.Client/BulkUpdateSaveResult.cs
+++ b/src/Microsoft.OData.Client/BulkUpdateSaveResult.cs
@@ -386,14 +386,14 @@ protected override ODataRequestMessageWrapper CreateRequestMessage(string method
///
/// The entity descriptor whose response is getting materialized.
/// Information about the response to be materialized.
- /// An instance of that can be used to materialize the response.
- protected override MaterializeAtom GetMaterializer(EntityDescriptor entityDescriptor, ResponseInfo responseInfo)
+ /// An instance of that can be used to materialize the response.
+ protected override ObjectMaterializer GetMaterializer(EntityDescriptor entityDescriptor, ResponseInfo responseInfo)
{
Debug.Assert(this.cachedResponse.Exception == null && this.materializerStateForDescriptor != null, "this.cachedResponse.Exception == null && this.materializerStateForDescriptor != null");
if (this.materializerStateForDescriptor.TryGetValue(entityDescriptor, out IMaterializerState materializerState) && materializerState is MaterializerEntry materializerEntry)
{
- return new MaterializeAtom(responseInfo, new[] { materializerEntry.Entry }, entityDescriptor.Entity.GetType(), materializerEntry.Format, base.MaterializerCache);
+ return new ObjectMaterializer(responseInfo, new[] { materializerEntry.Entry }, entityDescriptor.Entity.GetType(), materializerEntry.Format, base.MaterializerCache);
}
return null;
diff --git a/src/Microsoft.OData.Client/ContentTypeUtil.cs b/src/Microsoft.OData.Client/ContentTypeUtil.cs
index fd7263a692..6ce12aeb4f 100644
--- a/src/Microsoft.OData.Client/ContentTypeUtil.cs
+++ b/src/Microsoft.OData.Client/ContentTypeUtil.cs
@@ -41,8 +41,7 @@ internal static class ContentTypeUtil
///
private static readonly string[] MediaTypesForEntityOrFeedV2 = new string[]
{
- XmlConstants.MimeApplicationJson,
- XmlConstants.MimeApplicationAtom,
+ XmlConstants.MimeApplicationJson
};
///
@@ -61,7 +60,6 @@ internal static class ContentTypeUtil
private static readonly string[] MediaTypesForEntityOrFeedV3 = new string[]
{
XmlConstants.MimeApplicationJson,
- XmlConstants.MimeApplicationAtom,
XmlConstants.MimeApplicationJsonODataMinimalMetadata,
XmlConstants.MimeApplicationJsonODataFullMetadata,
XmlConstants.MimeApplicationJsonODataNoMetadata,
diff --git a/src/Microsoft.OData.Client/DataServiceClientConfigurations.cs b/src/Microsoft.OData.Client/DataServiceClientConfigurations.cs
index 38437a77ff..120660308d 100644
--- a/src/Microsoft.OData.Client/DataServiceClientConfigurations.cs
+++ b/src/Microsoft.OData.Client/DataServiceClientConfigurations.cs
@@ -16,7 +16,7 @@ public class DataServiceClientConfigurations
///
/// Creates a data service client configurations class
///
- /// The sender for the Reading Atom event.
+ /// The sender for the Reading event.
internal DataServiceClientConfigurations(object sender)
{
Debug.Assert(sender != null, "sender!= null");
diff --git a/src/Microsoft.OData.Client/DataServiceClientFormat.cs b/src/Microsoft.OData.Client/DataServiceClientFormat.cs
index edcf705e8e..668f4d1e3e 100644
--- a/src/Microsoft.OData.Client/DataServiceClientFormat.cs
+++ b/src/Microsoft.OData.Client/DataServiceClientFormat.cs
@@ -62,7 +62,7 @@ internal DataServiceClientFormat(DataServiceContext context)
}
///
- /// Gets the current format. Defaults to Atom if nothing else has been specified.
+ /// Gets the current format.
///
public ODataFormat ODataFormat { get; private set; }
@@ -193,7 +193,6 @@ internal void SetRequestContentTypeForEntry(HeaderCollection headers)
/// Dictionary of request headers.
internal void SetRequestContentTypeForOperationParameters(HeaderCollection headers)
{
- // Note: There has never been an atom or xml format for parameters.
this.SetRequestContentTypeHeader(headers, MimeApplicationJsonOData);
}
@@ -350,7 +349,7 @@ private void SetAcceptHeaderAndCharset(HeaderCollection headers, string mediaTyp
}
///
- /// Chooses between using JSON and the context-dependent media type for when Atom is selected based on the user-selected format.
+ /// Chooses between using JSON and the context-dependent media type for when entry is selected based on the user-selected format.
///
///
/// Whether or not the select query option is present in the request URI.
diff --git a/src/Microsoft.OData.Client/DataServiceClientResponsePipelineConfiguration.cs b/src/Microsoft.OData.Client/DataServiceClientResponsePipelineConfiguration.cs
index 360ce22b92..8a5a3fd837 100644
--- a/src/Microsoft.OData.Client/DataServiceClientResponsePipelineConfiguration.cs
+++ b/src/Microsoft.OData.Client/DataServiceClientResponsePipelineConfiguration.cs
@@ -53,7 +53,7 @@ public class DataServiceClientResponsePipelineConfiguration
///
/// Creates a Data service client response pipeline class
///
- /// The sender for the Reading Atom event.
+ /// The sender for the Reading event.
internal DataServiceClientResponsePipelineConfiguration(object sender)
{
Debug.Assert(sender != null, "sender!= null");
diff --git a/src/Microsoft.OData.Client/DataServiceContext.cs b/src/Microsoft.OData.Client/DataServiceContext.cs
index 367e004879..cd9e4e8cd6 100644
--- a/src/Microsoft.OData.Client/DataServiceContext.cs
+++ b/src/Microsoft.OData.Client/DataServiceContext.cs
@@ -464,7 +464,7 @@ public virtual bool ApplyingChanges
/// This enables the client to perform custom mapping between the type name
/// provided in a response from the server and a type on the client.
/// This method enables one to override the entity name that is serialized
- /// to the target representation (ATOM,JSON, etc) for the specified type.
+ /// to the target representation (JSON) for the specified type.
///
public virtual Func ResolveName
{
@@ -3875,7 +3875,7 @@ private LoadPropertyResult CreateLoadPropertyRequest(object entity, string prope
{
if (mediaLink)
{
- // special case for requesting the "media" value of an ATOM media link entry
+ // special case for requesting the "media" value of a media link entry
Uri relativeUri = UriUtil.CreateUri(XmlConstants.UriValueSegment, UriKind.Relative);
requestUri = UriUtil.CreateUri(box.GetResourceUri(this.BaseUriResolver, true /*queryLink*/), relativeUri);
}
diff --git a/src/Microsoft.OData.Client/DataServiceRequest.cs b/src/Microsoft.OData.Client/DataServiceRequest.cs
index e24e5978a0..d1679ba1b7 100644
--- a/src/Microsoft.OData.Client/DataServiceRequest.cs
+++ b/src/Microsoft.OData.Client/DataServiceRequest.cs
@@ -61,8 +61,8 @@ internal ODataPayloadKind PayloadKind
/// the message
/// expected payload kind.
/// Cache used to store temporary metadata used for materialization of OData items.
- /// atom materializer
- internal static MaterializeAtom Materialize(
+ /// object materializer
+ internal static ObjectMaterializer Materialize(
ResponseInfo responseInfo,
QueryComponents queryComponents,
ProjectionPlan plan,
@@ -77,10 +77,10 @@ internal static MaterializeAtom Materialize(
// If there is no content (For e.g. /Customers(1)/BestFriend is null), we need to return empty results.
if (message.StatusCode == (int)HttpStatusCode.NoContent || String.IsNullOrEmpty(contentType))
{
- return MaterializeAtom.EmptyResults;
+ return ObjectMaterializer.EmptyResults;
}
- return new MaterializeAtom(responseInfo, queryComponents, plan, message, expectedPayloadKind, materializerCache);
+ return new ObjectMaterializer(responseInfo, queryComponents, plan, message, expectedPayloadKind, materializerCache);
}
///
@@ -126,7 +126,7 @@ internal static IEnumerable EndExecute(object source, DataSe
serviceEx = serviceEx ?? previousInnerException as DataServiceClientException;
if (context.IgnoreResourceNotFoundException && serviceEx != null && serviceEx.StatusCode == (int)HttpStatusCode.NotFound)
{
- QueryOperationResponse qor = new QueryOperationResponse(ex.Response.HeaderCollection, ex.Response.Query, MaterializeAtom.EmptyResults);
+ QueryOperationResponse qor = new QueryOperationResponse(ex.Response.HeaderCollection, ex.Response.Query, ObjectMaterializer.EmptyResults);
qor.StatusCode = (int)HttpStatusCode.NotFound;
return (IEnumerable)qor;
}
@@ -162,7 +162,7 @@ internal QueryOperationResponse Execute(DataServiceContext c
{
if (result != null)
{
- QueryOperationResponse operationResponse = result.GetResponse(MaterializeAtom.EmptyResults);
+ QueryOperationResponse operationResponse = result.GetResponse(ObjectMaterializer.EmptyResults);
if (operationResponse != null)
{
@@ -235,7 +235,7 @@ internal TElement GetValue(DataServiceContext context, Func(MaterializeAtom.EmptyResults);
+ operationResponse = queryResult.GetResponse(ObjectMaterializer.EmptyResults);
if (operationResponse != null)
{
operationResponse.Error = ex;
diff --git a/src/Microsoft.OData.Client/DeepInsertSaveResult.cs b/src/Microsoft.OData.Client/DeepInsertSaveResult.cs
index 94dc736c5f..963ae39cef 100644
--- a/src/Microsoft.OData.Client/DeepInsertSaveResult.cs
+++ b/src/Microsoft.OData.Client/DeepInsertSaveResult.cs
@@ -340,14 +340,14 @@ protected override void FinishCurrentChange(PerRequest peReq)
///
/// The entity descriptor whose response is getting materialized.
/// Information about the response to be materialized.
- /// An instance of that can be used to materialize the response.
- protected override MaterializeAtom GetMaterializer(EntityDescriptor entityDescriptor, ResponseInfo responseInfo)
+ /// An instance of that can be used to materialize the response.
+ protected override ObjectMaterializer GetMaterializer(EntityDescriptor entityDescriptor, ResponseInfo responseInfo)
{
Debug.Assert(this.materializerStateForDescriptor != null, "this.materializerStateForDescriptor != null");
if (this.materializerStateForDescriptor.TryGetValue(entityDescriptor, out IMaterializerState materializerState) && materializerState is MaterializerEntry materializerEntry)
{
- return new MaterializeAtom(responseInfo, new[] { materializerEntry.Entry }, entityDescriptor.Entity.GetType(), materializerEntry.Format, base.MaterializerCache, false);
+ return new ObjectMaterializer(responseInfo, new[] { materializerEntry.Entry }, entityDescriptor.Entity.GetType(), materializerEntry.Format, base.MaterializerCache, false);
}
return null;
diff --git a/src/Microsoft.OData.Client/EntityDescriptor.cs b/src/Microsoft.OData.Client/EntityDescriptor.cs
index 84ed1ab6d5..05fd045956 100644
--- a/src/Microsoft.OData.Client/EntityDescriptor.cs
+++ b/src/Microsoft.OData.Client/EntityDescriptor.cs
@@ -25,7 +25,6 @@ public sealed class EntityDescriptor : Descriptor
{
#region Fields
/// uri to identify the entity
- /// <atom:id>identity</id>
private Uri identity;
/// entity
@@ -38,11 +37,9 @@ public sealed class EntityDescriptor : Descriptor
private Uri addToUri;
/// uri to query the entity
- /// <atom:link rel="self" href="queryLink" />
private Uri selfLink;
/// uri to edit the entity. In case of deep add, this can also refer to the navigation property name.
- /// <atom:link rel="edit" href="editLink" />
private Uri editLink;
///
@@ -78,7 +75,7 @@ internal EntityDescriptor(ClientEdmModel model)
#region Properties
/// Gets the URI that is the identity value of the entity.
- /// The property corresponds to the identity element of the entry that represents the entity in the Atom response.
+ /// The property corresponds to the identity element of the entry that represents the entity in the response.
public Uri Identity
{
get
@@ -412,7 +409,7 @@ internal EntityDescriptor TransientEntityDescriptor
else
{
// we should merge the data always, as we do in the query case. There might be servers, who might send partial data back.
- AtomMaterializerLog.MergeEntityDescriptorInfo(this.transientEntityDescriptor, value, true /*mergeInfo*/, MergeOption.OverwriteChanges);
+ ObjectMaterializerLog.MergeEntityDescriptorInfo(this.transientEntityDescriptor, value, true /*mergeInfo*/, MergeOption.OverwriteChanges);
}
// During save changes call, BaseSaveResult.ChangeEntries contains the list of descriptors which are changed.
diff --git a/src/Microsoft.OData.Client/EntityTracker.cs b/src/Microsoft.OData.Client/EntityTracker.cs
index 8ad701b605..20a14f7073 100644
--- a/src/Microsoft.OData.Client/EntityTracker.cs
+++ b/src/Microsoft.OData.Client/EntityTracker.cs
@@ -394,7 +394,7 @@ internal override void AttachIdentity(EntityDescriptor entityDescriptorFromMater
}
trackedEntityDescriptor.Identity = entityDescriptorFromMaterializer.Identity; // always attach the identity
- AtomMaterializerLog.MergeEntityDescriptorInfo(trackedEntityDescriptor, entityDescriptorFromMaterializer, true /*mergeInfo*/, metadataMergeOption);
+ ObjectMaterializerLog.MergeEntityDescriptorInfo(trackedEntityDescriptor, entityDescriptorFromMaterializer, true /*mergeInfo*/, metadataMergeOption);
trackedEntityDescriptor.State = EntityStates.Unchanged;
trackedEntityDescriptor.PropertiesToSerialize.Clear();
diff --git a/src/Microsoft.OData.Client/LoadPropertyResult.cs b/src/Microsoft.OData.Client/LoadPropertyResult.cs
index 609aada033..10291692c1 100644
--- a/src/Microsoft.OData.Client/LoadPropertyResult.cs
+++ b/src/Microsoft.OData.Client/LoadPropertyResult.cs
@@ -58,7 +58,7 @@ internal LoadPropertyResult(object entity, string propertyName, DataServiceConte
/// QueryOperationResponse instance containing information about the response.
internal QueryOperationResponse LoadProperty()
{
- MaterializeAtom results = null;
+ ObjectMaterializer results = null;
DataServiceContext context = (DataServiceContext)this.Source;
@@ -177,11 +177,11 @@ private static byte[] ReadByteArrayChunked(Stream responseStream)
}
///
- /// Load property data from an ATOM response
+ /// Load property data from a response
///
/// The property being loaded
/// property values as IEnumerable.
- private MaterializeAtom ReadPropertyFromAtom(ClientPropertyAnnotation property)
+ private ObjectMaterializer ReadPropertyFromAtom(ClientPropertyAnnotation property)
{
DataServiceContext context = (DataServiceContext)this.Source;
bool merging = context.ApplyingChanges;
@@ -197,7 +197,7 @@ private MaterializeAtom ReadPropertyFromAtom(ClientPropertyAnnotation property)
DataServiceQueryContinuation continuation = null;
// elementType.ElementType has Nullable stripped away, use nestedType for materializer
- using (MaterializeAtom materializer = this.GetMaterializer(this.plan))
+ using (ObjectMaterializer materializer = this.GetMaterializer(this.plan))
{
Debug.Assert(materializer != null, "materializer != null -- otherwise GetMaterializer() returned null rather than empty");
@@ -257,7 +257,7 @@ private MaterializeAtom ReadPropertyFromAtom(ClientPropertyAnnotation property)
continuation = materializer.GetContinuation(null);
}
- return MaterializeAtom.CreateWrapper(context, results, continuation);
+ return ObjectMaterializer.CreateWrapper(context, results, continuation);
}
finally
{
@@ -270,7 +270,7 @@ private MaterializeAtom ReadPropertyFromAtom(ClientPropertyAnnotation property)
///
/// The property being loaded
/// property values as IEnumerable.
- private MaterializeAtom ReadPropertyFromRawData(ClientPropertyAnnotation property)
+ private ObjectMaterializer ReadPropertyFromRawData(ClientPropertyAnnotation property)
{
DataServiceContext context = (DataServiceContext)this.Source;
@@ -327,7 +327,7 @@ private MaterializeAtom ReadPropertyFromRawData(ClientPropertyAnnotation propert
property.MimeTypeProperty.SetValue(this.entity, mimeType, null, false);
}
- return MaterializeAtom.CreateWrapper(context, results);
+ return ObjectMaterializer.CreateWrapper(context, results);
}
finally
{
diff --git a/src/Microsoft.OData.Client/Materialization/CollectionValueMaterializationPolicy.cs b/src/Microsoft.OData.Client/Materialization/CollectionValueMaterializationPolicy.cs
index 6e70cf9d51..ccf0fd7bd0 100644
--- a/src/Microsoft.OData.Client/Materialization/CollectionValueMaterializationPolicy.cs
+++ b/src/Microsoft.OData.Client/Materialization/CollectionValueMaterializationPolicy.cs
@@ -65,9 +65,9 @@ internal InstanceAnnotationMaterializationPolicy InstanceAnnotationMaterializati
///
/// Creates Collection instance of store Collection items.
///
- /// ODataProperty instance representing the Collection as seen in the atom payload.
+ /// ODataProperty instance representing the collection as seen in the payload.
/// CLR type of the Collection as defined by the user.
- /// Newly created Collection instance. Never null.
+ /// Newly created collection instance. Never null.
internal object CreateCollectionPropertyInstance(ODataProperty collectionProperty, Type userCollectionType)
{
Debug.Assert(collectionProperty != null, "collectionProperty != null");
@@ -84,7 +84,7 @@ internal object CreateCollectionPropertyInstance(ODataProperty collectionPropert
// get a ClientType instance for the Collection property. This determines what type will be used later when creating the actual Collection instance
ClientTypeAnnotation collectionClientType = this.materializerContext.ResolveTypeForMaterialization(userCollectionType, collectionValue.TypeName);
- return this.CreateCollectionInstance(collectionClientType.EdmTypeReference as IEdmCollectionTypeReference, collectionClientType.ElementType, () => DSClient.Strings.AtomMaterializer_NoParameterlessCtorForCollectionProperty(collectionProperty.Name, collectionClientType.ElementTypeName));
+ return this.CreateCollectionInstance(collectionClientType.EdmTypeReference as IEdmCollectionTypeReference, collectionClientType.ElementType, () => DSClient.Strings.Materializer_NoParameterlessCtorForCollectionProperty(collectionProperty.Name, collectionClientType.ElementTypeName));
}
///
@@ -97,13 +97,13 @@ internal object CreateCollectionInstance(IEdmCollectionTypeReference edmCollecti
{
Debug.Assert(edmCollectionTypeReference != null, "edmCollectionTypeReference!=null");
Debug.Assert(clientCollectionType != null, "clientCollectionType!=null");
- return CreateCollectionInstance(edmCollectionTypeReference, clientCollectionType, () => DSClient.Strings.AtomMaterializer_MaterializationTypeError(clientCollectionType.FullName));
+ return CreateCollectionInstance(edmCollectionTypeReference, clientCollectionType, () => DSClient.Strings.Materializer_MaterializationTypeError(clientCollectionType.FullName));
}
///
/// Applies collectionValue item to the provided .
///
- /// Atom property containing materialized Collection items.
+ /// Property containing materialized collection items.
/// Collection instance. Must implement ICollection<T> where T is either primitive or complex type (not an entity).
/// Type of items in the Collection. Note: this could be calculated from collectionInstance but we already have it in upstream methods.
/// Action called actually add a Collection item to
@@ -225,7 +225,7 @@ private object CreateCollectionInstance(IEdmCollectionTypeReference edmCollectio
// DataServiceCollection cannot track non-entity types so it should not be used for storing primitive or complex types
if (ClientTypeUtil.IsDataServiceCollection(clientCollectionType))
{
- throw DSClient.Error.InvalidOperation(DSClient.Strings.AtomMaterializer_DataServiceCollectionNotSupportedForNonEntities);
+ throw DSClient.Error.InvalidOperation(DSClient.Strings.Materializer_DataServiceCollectionNotSupportedForNonEntities);
}
try
@@ -242,7 +242,7 @@ private object CreateCollectionInstance(IEdmCollectionTypeReference edmCollectio
/// Tries to create a collection instance and apply the materialized collection values.
///
/// Type of the collection item.
- /// Atom property containing materialized collection items.
+ /// Property containing materialized collection items.
/// The collection instance.
/// true if successful
internal bool TryMaterializeODataCollectionValue(Type collectionItemType, ODataProperty collectionProperty, out object collectionInstance)
diff --git a/src/Microsoft.OData.Client/Materialization/EntityTrackingAdapter.cs b/src/Microsoft.OData.Client/Materialization/EntityTrackingAdapter.cs
index 1f9b5b5f33..2a12fde7e7 100644
--- a/src/Microsoft.OData.Client/Materialization/EntityTrackingAdapter.cs
+++ b/src/Microsoft.OData.Client/Materialization/EntityTrackingAdapter.cs
@@ -31,7 +31,7 @@ internal class EntityTrackingAdapter
internal EntityTrackingAdapter(EntityTrackerBase entityTracker, MergeOption mergeOption, ClientEdmModel model, DataServiceContext context, IODataMaterializerContext materializerContext)
{
- this.MaterializationLog = new AtomMaterializerLog(mergeOption, model, entityTracker, materializerContext);
+ this.MaterializationLog = new ObjectMaterializerLog(mergeOption, model, entityTracker, materializerContext);
this.MergeOption = mergeOption;
this.EntityTracker = entityTracker;
this.Model = model;
@@ -55,7 +55,7 @@ internal EntityTrackingAdapter(EntityTrackerBase entityTracker, MergeOption merg
///
/// Gets the materialization log.
///
- internal AtomMaterializerLog MaterializationLog { get; private set; }
+ internal ObjectMaterializerLog MaterializationLog { get; private set; }
///
/// Gets the entity tracker.
diff --git a/src/Microsoft.OData.Client/Materialization/EntryValueMaterializationPolicy.cs b/src/Microsoft.OData.Client/Materialization/EntryValueMaterializationPolicy.cs
index 19d00fbac6..15f5549b92 100644
--- a/src/Microsoft.OData.Client/Materialization/EntryValueMaterializationPolicy.cs
+++ b/src/Microsoft.OData.Client/Materialization/EntryValueMaterializationPolicy.cs
@@ -45,7 +45,7 @@ internal EntryValueMaterializationPolicy(
}
///
- /// Gets the Entity Materializer Context
+ /// Gets the Entity ObjectMaterializer Context
///
internal EntityTrackingAdapter EntityTrackingAdapter { get; private set; }
@@ -62,13 +62,13 @@ internal static void ValidatePropertyMatch(ClientPropertyAnnotation property, OD
///
/// Validates the specified matches
- /// the parsed .
+ /// the parsed .
///
/// Property as understood by the type system.
- /// Property as parsed.
- internal static void ValidatePropertyMatch(ClientPropertyAnnotation property, ODataProperty atomProperty)
+ /// Property as parsed.
+ internal static void ValidatePropertyMatch(ClientPropertyAnnotation property, ODataProperty entryProperty)
{
- ValidatePropertyMatch(property, atomProperty, null, false /*performEntityCheck*/);
+ ValidatePropertyMatch(property, entryProperty, null, false /*performEntityCheck*/);
}
///
@@ -94,7 +94,7 @@ internal static Type ValidatePropertyMatch(ClientPropertyAnnotation property, OD
// and in the client, the property is not a collection property.
if (!property.IsResourceSet)
{
- throw DSClient.Error.InvalidOperation(DSClient.Strings.Deserialize_MismatchAtomLinkFeedPropertyNotCollection(property.PropertyName));
+ throw DSClient.Error.InvalidOperation(DSClient.Strings.Deserialize_MismatchEntryLinkFeedPropertyNotCollection(property.PropertyName));
}
propertyType = property.ResourceSetItemType;
@@ -103,7 +103,7 @@ internal static Type ValidatePropertyMatch(ClientPropertyAnnotation property, OD
{
if (property.IsResourceSet)
{
- throw DSClient.Error.InvalidOperation(DSClient.Strings.Deserialize_MismatchAtomLinkEntryPropertyIsCollection(property.PropertyName));
+ throw DSClient.Error.InvalidOperation(DSClient.Strings.Deserialize_MismatchEntryLinkEntryPropertyIsCollection(property.PropertyName));
}
propertyType = property.PropertyType;
@@ -116,7 +116,7 @@ internal static Type ValidatePropertyMatch(ClientPropertyAnnotation property, OD
{
if (!ClientTypeUtil.TypeIsStructured(propertyType, model))
{
- throw DSClient.Error.InvalidOperation(DSClient.Strings.AtomMaterializer_InvalidNonEntityType(propertyType.ToString()));
+ throw DSClient.Error.InvalidOperation(DSClient.Strings.Materializer_InvalidNonEntityType(propertyType.ToString()));
}
}
@@ -125,23 +125,23 @@ internal static Type ValidatePropertyMatch(ClientPropertyAnnotation property, OD
///
/// Validates the specified matches
- /// the parsed .
+ /// the parsed .
///
/// Property as understood by the type system.
- /// Property as parsed.
+ /// Property as parsed.
/// Client model.
/// whether to do the entity check or not.
- internal static void ValidatePropertyMatch(ClientPropertyAnnotation property, ODataProperty atomProperty, ClientEdmModel model, bool performEntityCheck)
+ internal static void ValidatePropertyMatch(ClientPropertyAnnotation property, ODataProperty entryProperty, ClientEdmModel model, bool performEntityCheck)
{
Debug.Assert(property != null, "property != null");
- Debug.Assert(atomProperty != null, "atomProperty != null");
+ Debug.Assert(entryProperty != null, "entryProperty != null");
- ODataResourceSet feed = atomProperty.Value as ODataResourceSet;
- ODataResource entry = atomProperty.Value as ODataResource;
+ ODataResourceSet feed = entryProperty.Value as ODataResourceSet;
+ ODataResource entry = entryProperty.Value as ODataResource;
if (property.IsKnownType && (feed != null || entry != null))
{
- throw DSClient.Error.InvalidOperation(DSClient.Strings.Deserialize_MismatchAtomLinkLocalSimple);
+ throw DSClient.Error.InvalidOperation(DSClient.Strings.Deserialize_MismatchEntryLinkLocalSimple);
}
Type propertyType = null;
@@ -151,7 +151,7 @@ internal static void ValidatePropertyMatch(ClientPropertyAnnotation property, OD
// and in the client, the property is not a collection property.
if (!property.IsEntityCollection)
{
- throw DSClient.Error.InvalidOperation(DSClient.Strings.Deserialize_MismatchAtomLinkFeedPropertyNotCollection(property.PropertyName));
+ throw DSClient.Error.InvalidOperation(DSClient.Strings.Deserialize_MismatchEntryLinkFeedPropertyNotCollection(property.PropertyName));
}
propertyType = property.EntityCollectionItemType;
@@ -161,7 +161,7 @@ internal static void ValidatePropertyMatch(ClientPropertyAnnotation property, OD
{
if (property.IsEntityCollection)
{
- throw DSClient.Error.InvalidOperation(DSClient.Strings.Deserialize_MismatchAtomLinkEntryPropertyIsCollection(property.PropertyName));
+ throw DSClient.Error.InvalidOperation(DSClient.Strings.Deserialize_MismatchEntryLinkEntryPropertyIsCollection(property.PropertyName));
}
propertyType = property.PropertyType;
@@ -173,7 +173,7 @@ internal static void ValidatePropertyMatch(ClientPropertyAnnotation property, OD
{
if (!ClientTypeUtil.TypeIsEntity(propertyType, model))
{
- throw DSClient.Error.InvalidOperation(DSClient.Strings.AtomMaterializer_InvalidNonEntityType(propertyType.ToString()));
+ throw DSClient.Error.InvalidOperation(DSClient.Strings.Materializer_InvalidNonEntityType(propertyType.ToString()));
}
}
}
@@ -351,7 +351,7 @@ private static void ValidateCollectionElementTypeIsItemType(Type itemType, Type
{
if (!collectionElementType.IsAssignableFrom(itemType))
{
- string message = DSClient.Strings.AtomMaterializer_EntryIntoCollectionMismatch(
+ string message = DSClient.Strings.Materializer_EntryIntoCollectionMismatch(
itemType.FullName,
collectionElementType.FullName);
@@ -569,7 +569,7 @@ private void MaterializeResolvedEntry(MaterializerEntry entry, bool includeLinks
// This is a breaking change from V1/V2 where we allowed materialization of entities into non-entities and vice versa
if (!actualType.IsStructuredType)
{
- throw DSClient.Error.InvalidOperation(DSClient.Strings.AtomMaterializer_InvalidNonEntityType(actualType.ElementTypeName));
+ throw DSClient.Error.InvalidOperation(DSClient.Strings.Materializer_InvalidNonEntityType(actualType.ElementTypeName));
}
// Note that even if ShouldUpdateFromPayload is false, we will still be creating
diff --git a/src/Microsoft.OData.Client/Materialization/FeedAndEntryMaterializerAdapter.cs b/src/Microsoft.OData.Client/Materialization/FeedAndEntryMaterializerAdapter.cs
index 1ffb7d306e..f31fc6f475 100644
--- a/src/Microsoft.OData.Client/Materialization/FeedAndEntryMaterializerAdapter.cs
+++ b/src/Microsoft.OData.Client/Materialization/FeedAndEntryMaterializerAdapter.cs
@@ -149,7 +149,7 @@ public long GetCountValue(bool readIfNoFeed)
return this.currentFeed.Count.Value;
}
- throw new InvalidOperationException(DSClient.Strings.MaterializeFromAtom_CountNotPresent);
+ throw new InvalidOperationException(DSClient.Strings.MaterializeFromObject_CountNotPresent);
}
///
diff --git a/src/Microsoft.OData.Client/Materialization/MaterializerDeletedEntry.cs b/src/Microsoft.OData.Client/Materialization/MaterializerDeletedEntry.cs
index c96913f3d2..ead6cb84c1 100644
--- a/src/Microsoft.OData.Client/Materialization/MaterializerDeletedEntry.cs
+++ b/src/Microsoft.OData.Client/Materialization/MaterializerDeletedEntry.cs
@@ -9,7 +9,7 @@
namespace Microsoft.OData.Client.Materialization
{
///
- /// Materializer state for a given .
+ /// ObjectMaterializer state for a given .
///
internal class MaterializerDeletedEntry : IMaterializerState
{
diff --git a/src/Microsoft.OData.Client/Materialization/MaterializerDeltaFeed.cs b/src/Microsoft.OData.Client/Materialization/MaterializerDeltaFeed.cs
index df56128e4e..32bff73882 100644
--- a/src/Microsoft.OData.Client/Materialization/MaterializerDeltaFeed.cs
+++ b/src/Microsoft.OData.Client/Materialization/MaterializerDeltaFeed.cs
@@ -10,7 +10,7 @@
namespace Microsoft.OData.Client.Materialization
{
///
- /// Materializer state for a given .
+ /// ObjectMaterializer state for a given .
///
internal class MaterializerDeltaFeed : IMaterializerState
{
diff --git a/src/Microsoft.OData.Client/Materialization/MaterializerEntry.cs b/src/Microsoft.OData.Client/Materialization/MaterializerEntry.cs
index 2b0f98e7b3..318f17094f 100644
--- a/src/Microsoft.OData.Client/Materialization/MaterializerEntry.cs
+++ b/src/Microsoft.OData.Client/Materialization/MaterializerEntry.cs
@@ -13,7 +13,7 @@ namespace Microsoft.OData.Client.Materialization
using Microsoft.OData.Client.Metadata;
///
- /// Materializer state for a given ODataResource
+ /// ObjectMaterializer state for a given ODataResource
///
internal class MaterializerEntry : IMaterializerState
{
@@ -23,7 +23,7 @@ internal class MaterializerEntry : IMaterializerState
/// entity descriptor object which keeps track of the entity state and other entity specific information.
private readonly EntityDescriptor entityDescriptor;
- /// True if the context format is Atom or if the MergeOption is anything other than NoTracking.
+ /// True if the MergeOption is anything other than NoTracking.
private readonly bool isTracking;
/// Entry flags.
@@ -126,9 +126,9 @@ internal List NestedItems
}
///
- /// True if the context format is Atom or if the context's MergeOption is anything other than NoTracking.
+ /// True if the context's MergeOption is anything other than NoTracking.
/// This is used to avoid building URI metadata information that is not needed outside of the context, such
- /// as odata.id and odata.editlink. Since this information is always available in the payload with Atom, for
+ /// as odata.id and odata.editlink. Since this information is always available in the payload, for
/// backward compatibility we continue using it as we always have, even for NoTracking cases.
///
public bool IsTracking
diff --git a/src/Microsoft.OData.Client/Materialization/MaterializerFeed.cs b/src/Microsoft.OData.Client/Materialization/MaterializerFeed.cs
index 752cc79d14..67be63f183 100644
--- a/src/Microsoft.OData.Client/Materialization/MaterializerFeed.cs
+++ b/src/Microsoft.OData.Client/Materialization/MaterializerFeed.cs
@@ -14,7 +14,7 @@ namespace Microsoft.OData.Client.Materialization
using Microsoft.OData;
///
- /// Materializer state for a given ODataResourceSet
+ /// ObjectMaterializer state for a given ODataResourceSet
///
internal struct MaterializerFeed : IMaterializerState
{
diff --git a/src/Microsoft.OData.Client/Materialization/MaterializerNestedEntry.cs b/src/Microsoft.OData.Client/Materialization/MaterializerNestedEntry.cs
index 7783f5c217..333b439055 100644
--- a/src/Microsoft.OData.Client/Materialization/MaterializerNestedEntry.cs
+++ b/src/Microsoft.OData.Client/Materialization/MaterializerNestedEntry.cs
@@ -10,7 +10,7 @@
namespace Microsoft.OData.Client.Materialization
{
///
- /// Materializer state for a given
+ /// ObjectMaterializer state for a given
///
internal class MaterializerNestedEntry : IMaterializerState
{
diff --git a/src/Microsoft.OData.Client/Materialization/ODataCollectionMaterializer.cs b/src/Microsoft.OData.Client/Materialization/ODataCollectionMaterializer.cs
index 7f9b99ee12..e0ff0fc4c0 100644
--- a/src/Microsoft.OData.Client/Materialization/ODataCollectionMaterializer.cs
+++ b/src/Microsoft.OData.Client/Materialization/ODataCollectionMaterializer.cs
@@ -53,7 +53,7 @@ protected override void ReadWithExpectedType(IEdmTypeReference expectedClientTyp
{
if (!expectedClientType.IsCollection())
{
- throw new DataServiceClientException(DSClient.Strings.AtomMaterializer_TypeShouldBeCollectionError(expectedClientType.FullName()));
+ throw new DataServiceClientException(DSClient.Strings.Materializer_TypeShouldBeCollectionError(expectedClientType.FullName()));
}
Type underlyingExpectedType = Nullable.GetUnderlyingType(this.ExpectedType) ?? this.ExpectedType;
@@ -162,7 +162,7 @@ public bool MoveNext()
/// The collection was modified after the enumerator was created.
public void Reset()
{
- throw new InvalidOperationException(DSClient.Strings.AtomMaterializer_ResetAfterEnumeratorCreationError);
+ throw new InvalidOperationException(DSClient.Strings.Materializer_ResetAfterEnumeratorCreationError);
}
}
}
diff --git a/src/Microsoft.OData.Client/Materialization/ODataEntityMaterializer.cs b/src/Microsoft.OData.Client/Materialization/ODataEntityMaterializer.cs
index 06b07669a4..dbe1d36613 100644
--- a/src/Microsoft.OData.Client/Materialization/ODataEntityMaterializer.cs
+++ b/src/Microsoft.OData.Client/Materialization/ODataEntityMaterializer.cs
@@ -59,7 +59,7 @@ public ODataEntityMaterializer(
}
///
- /// Gets the Entity Materializer Context
+ /// Gets the Entity ObjectMaterializer Context
///
internal EntityTrackingAdapter EntityTrackingAdapter { get; private set; }
@@ -153,7 +153,7 @@ internal static IEnumerable EnumerateAsElementTypeInternal(IEnumerable sou
}
/// Creates a list to a target element type.
- /// Materializer used to flow link tracking.
+ /// ObjectMaterializer used to flow link tracking.
/// Element type to enumerate over.
/// Element type for list.
/// Element source.
@@ -252,7 +252,7 @@ internal static bool ProjectionCheckValueForPathIsNull(
}
bool result = false;
- MaterializerNestedEntry atomProperty = default(MaterializerNestedEntry);
+ MaterializerNestedEntry entryProperty = default(MaterializerNestedEntry);
IEnumerable properties = entry.NestedResourceInfos;
ClientEdmModel model = entry.EntityDescriptor.Model;
for (int i = 0; i < path.Count; i++)
@@ -281,22 +281,22 @@ internal static bool ProjectionCheckValueForPathIsNull(
IEdmType expectedEdmType = model.GetOrCreateEdmType(expectedType);
ClientPropertyAnnotation property = model.GetClientTypeAnnotation(expectedEdmType).GetProperty(propertyName, UndeclaredPropertyBehavior.ThrowException);
- atomProperty = ODataEntityMaterializer.GetPropertyOrThrow(properties, propertyName, materializerContext);
- EntryValueMaterializationPolicy.ValidatePropertyMatch(property, atomProperty.NestedResourceInfo);
- if (atomProperty.Feed != null)
+ entryProperty = ODataEntityMaterializer.GetPropertyOrThrow(properties, propertyName, materializerContext);
+ EntryValueMaterializationPolicy.ValidatePropertyMatch(property, entryProperty.NestedResourceInfo);
+ if (entryProperty.Feed != null)
{
Debug.Assert(segmentIsLeaf, "segmentIsLeaf -- otherwise the path generated traverses a feed, which should be disallowed");
result = false;
}
- else if (atomProperty.Entry != null)
+ else if (entryProperty.Entry != null)
{
if (segmentIsLeaf)
{
- result = atomProperty.Entry.Entry == null;
+ result = entryProperty.Entry.Entry == null;
}
else
{
- entry = atomProperty.Entry;
+ entry = entryProperty.Entry;
properties = entry.NestedResourceInfos;
}
}
@@ -312,7 +312,7 @@ internal static bool ProjectionCheckValueForPathIsNull(
}
/// Provides support for Select invocations for projections.
- /// Materializer under which projection is taking place.
+ /// ObjectMaterializer under which projection is taking place.
/// Root entry for paths.
/// Expected type for .
/// Expected result type.
@@ -330,7 +330,7 @@ internal static IEnumerable ProjectionSelect(
ClientEdmModel edmModel = materializer.MaterializerContext.Model;
ClientTypeAnnotation entryType = entry.ActualType ?? edmModel.GetClientTypeAnnotation(edmModel.GetOrCreateEdmType(expectedType));
IEnumerable list = (IEnumerable)Util.ActivatorCreateInstance(typeof(List<>).MakeGenericType(resultType));
- MaterializerNestedEntry atomProperty = default(MaterializerNestedEntry);
+ MaterializerNestedEntry entryProperty = default(MaterializerNestedEntry);
ClientPropertyAnnotation property = null;
for (int i = 0; i < path.Count; i++)
{
@@ -350,17 +350,17 @@ internal static IEnumerable ProjectionSelect(
// If we are projecting a property defined on a derived type and the entry is of the base type, get property would throw. The user need to check for null in the query.
// e.g. Select(p => new MyEmployee { ID = p.ID, Manager = (p as Employee).Manager == null ? null : new MyManager { ID = (p as Employee).Manager.ID } })
- atomProperty = ODataEntityMaterializer.GetPropertyOrThrow(entry.NestedResourceInfos, propertyName, materializer.MaterializerContext);
+ entryProperty = ODataEntityMaterializer.GetPropertyOrThrow(entry.NestedResourceInfos, propertyName, materializer.MaterializerContext);
- if (atomProperty.Entry != null)
+ if (entryProperty.Entry != null)
{
- entry = atomProperty.Entry;
+ entry = entryProperty.Entry;
entryType = edmModel.GetClientTypeAnnotation(edmModel.GetOrCreateEdmType(property.PropertyType));
}
}
- EntryValueMaterializationPolicy.ValidatePropertyMatch(property, atomProperty.NestedResourceInfo);
- MaterializerFeed sourceFeed = MaterializerFeed.GetFeed(atomProperty.Feed, materializer.MaterializerContext);
+ EntryValueMaterializationPolicy.ValidatePropertyMatch(property, entryProperty.NestedResourceInfo);
+ MaterializerFeed sourceFeed = MaterializerFeed.GetFeed(entryProperty.Feed, materializer.MaterializerContext);
Debug.Assert(
sourceFeed.Feed != null,
"sourceFeed != null -- otherwise ValidatePropertyMatch should have thrown or property isn't a collection (and should be part of this plan)");
@@ -402,7 +402,7 @@ internal static ODataResource ProjectionGetEntry(MaterializerEntry entry, string
if (result == null)
{
- throw new InvalidOperationException(DSClient.Strings.AtomMaterializer_PropertyNotExpectedEntry(name));
+ throw new InvalidOperationException(DSClient.Strings.Materializer_PropertyNotExpectedEntry(name));
}
if (!materializerContext.AutoNullPropagation)
@@ -413,7 +413,7 @@ internal static ODataResource ProjectionGetEntry(MaterializerEntry entry, string
}
/// Initializes a projection-driven entry (with a specific type and specific properties).
- /// Materializer under which projection is taking place.
+ /// ObjectMaterializer under which projection is taking place.
/// Root entry for paths.
/// Expected type for .
/// Expected result type.
@@ -437,7 +437,7 @@ internal static object ProjectionInitializeEntity(
if (entry.Entry == null)
{
- throw new NullReferenceException(DSClient.Strings.AtomMaterializer_EntryToInitializeIsNull(resultType.FullName));
+ throw new NullReferenceException(DSClient.Strings.Materializer_EntryToInitializeIsNull(resultType.FullName));
}
if (!entry.EntityHasBeenResolved)
@@ -446,7 +446,7 @@ internal static object ProjectionInitializeEntity(
}
else if (!resultType.IsAssignableFrom(entry.ActualType.ElementType))
{
- string message = DSClient.Strings.AtomMaterializer_ProjectEntityTypeMismatch(
+ string message = DSClient.Strings.Materializer_ProjectEntityTypeMismatch(
resultType.FullName,
entry.ActualType.ElementType.FullName,
entry.Id);
@@ -466,16 +466,16 @@ internal static object ProjectionInitializeEntity(
// NOTE:
// 1. The delegate calls into methods such as ProjectionValueForPath or ProjectionCheckValueForPathIsNull where the projection path is given. Those methods
- // will throw if property is missing from the Atom entry and there is no TypeAs before the property access. I.e. if the Manager property is missing in the
- // Atom entry for (p as Employee).Manager, we return null. But we would throw for e.Manager because we are not accessing a derived property.
- // 2. If Manager is missing in the Atom entry for (p as Employee).Manager.Name, the delegate would throw because we are accessing the Name property on Manager
+ // will throw if property is missing from the entry and there is no TypeAs before the property access. I.e. if the Manager property is missing in the
+ // entry for (p as Employee).Manager, we return null. But we would throw for e.Manager because we are not accessing a derived property.
+ // 2. If Manager is missing in the entry for (p as Employee).Manager.Name, the delegate would throw because we are accessing the Name property on Manager
// which is null. We require user to do a null check, e.g. "(p as Employee).Manager == null ? null (p as Employee).Manager.Name".
object value = propertyValues[i](materializer, entry.Entry, expectedType);
- // If the property is missing in the Atom entry, we are projecting a derived property and entry is of the base type which the property is not defined on.
+ // If the property is missing in the entry, we are projecting a derived property and entry is of the base type which the property is not defined on.
// We don't want to set the property value, which is null, for the non-existing property on the base type.
// Take the example Select(p => new MyEmployee { Manager = (p as Employee).Manager }), if p is of Person type, the Manager navigation property would not
- // be on its Atom payload from the server. Thus we don't need to set the MyEmployee.Manager link.
+ // be on its payload from the server. Thus we don't need to set the MyEmployee.Manager link.
StreamDescriptor streamInfo;
var odataProperty = entry.Entry.Properties.Where(p => p.Name == propertyName).FirstOrDefault();
var link = odataProperty == null && entry.NestedResourceInfos != null ? entry.NestedResourceInfos.Where(l => l.Name == propertyName).FirstOrDefault() : null;
@@ -564,7 +564,7 @@ internal static void ProjectionEnsureEntryAvailableOfType(ODataEntityMaterialize
}
/// Materializes an entry with no special selection.
- /// Materializer under which materialization should take place.
+ /// ObjectMaterializer under which materialization should take place.
/// Entry with object to materialize.
/// Expected type for the entry.
/// The materialized instance.
@@ -576,7 +576,7 @@ internal static object DirectMaterializePlan(ODataEntityMaterializer materialize
}
/// Materializes an entry without including in-lined expanded links.
- /// Materializer under which materialization should take place.
+ /// ObjectMaterializer under which materialization should take place.
/// Entry with object to materialize.
/// Expected type for the entry.
/// The materialized instance.
@@ -652,7 +652,7 @@ internal object ProjectionValueForPath(MaterializerEntry entry, Type expectedTyp
else
{
// the named stream projected did not come back as part of the property
- throw new InvalidOperationException(DSClient.Strings.AtomMaterializer_PropertyMissing(propertyName));
+ throw new InvalidOperationException(DSClient.Strings.Materializer_PropertyMissing(propertyName));
}
}
@@ -674,7 +674,7 @@ internal object ProjectionValueForPath(MaterializerEntry entry, Type expectedTyp
link = odataProperty == null && links != null ? links.Where(p => p.Name == propertyName).FirstOrDefault() : null;
if (link == null && odataProperty == null)
{
- throw new InvalidOperationException(DSClient.Strings.AtomMaterializer_PropertyMissing(propertyName));
+ throw new InvalidOperationException(DSClient.Strings.Materializer_PropertyMissing(propertyName));
}
if (link != null)
@@ -775,7 +775,7 @@ internal object ProjectionValueForPath(MaterializerEntry entry, Type expectedTyp
// This is a breaking change from V1/V2 where we allowed materialization of entities into non-entities and vice versa
if (ClientTypeUtil.TypeOrElementTypeIsEntity(property.PropertyType))
{
- throw DSClient.Error.InvalidOperation(DSClient.Strings.AtomMaterializer_InvalidEntityType(property.EntityCollectionItemType ?? property.PropertyType));
+ throw DSClient.Error.InvalidOperation(DSClient.Strings.Materializer_InvalidEntityType(property.EntityCollectionItemType ?? property.PropertyType));
}
if (property.IsPrimitiveOrEnumOrComplexCollection)
@@ -796,7 +796,7 @@ internal object ProjectionValueForPath(MaterializerEntry entry, Type expectedTyp
{
if (odataProperty.Value == null && !ClientTypeUtil.CanAssignNull(property.NullablePropertyType))
{
- throw new InvalidOperationException(DSClient.Strings.AtomMaterializer_CannotAssignNull(odataProperty.Name, property.NullablePropertyType));
+ throw new InvalidOperationException(DSClient.Strings.Materializer_CannotAssignNull(odataProperty.Name, property.NullablePropertyType));
}
this.entryValueMaterializationPolicy.MaterializePrimitiveDataValue(property.NullablePropertyType, odataProperty);
@@ -856,12 +856,12 @@ internal object ProjectionDynamicValueForPath(MaterializerEntry entry, Type expe
if (odataProperty == null)
{
- throw new InvalidOperationException(DSClient.Strings.AtomMaterializer_PropertyMissing(propertyName));
+ throw new InvalidOperationException(DSClient.Strings.Materializer_PropertyMissing(propertyName));
}
if (odataProperty.Value == null && !ClientTypeUtil.CanAssignNull(expectedPropertyType))
{
- throw new InvalidOperationException(DSClient.Strings.AtomMaterializer_CannotAssignNull(odataProperty.Name, expectedPropertyType));
+ throw new InvalidOperationException(DSClient.Strings.Materializer_CannotAssignNull(odataProperty.Name, expectedPropertyType));
}
this.entryValueMaterializationPolicy.MaterializePrimitiveDataValue(expectedPropertyType, odataProperty);
@@ -970,7 +970,7 @@ private static void CheckEntryToAccessNotNull(MaterializerEntry entry, string na
if (entry.Entry == null)
{
- throw new NullReferenceException(DSClient.Strings.AtomMaterializer_EntryToAccessIsNull(name));
+ throw new NullReferenceException(DSClient.Strings.Materializer_EntryToAccessIsNull(name));
}
}
@@ -1005,7 +1005,7 @@ private static ProjectionPlan CreatePlan(QueryComponents queryComponents, IOData
}
/// Materializes the result of a projection into a list.
- /// Materializer to use for the operation.
+ /// ObjectMaterializer to use for the operation.
/// Target list.
/// Expected type for nested object.
/// Entries to materialize from.
@@ -1050,7 +1050,7 @@ private static MaterializerNestedEntry GetPropertyOrThrow(IEnumerable EnumerateAsElementType(IEnumerable source)
}
/// Creates a list to a target element type.
- /// Materializer used to flow link tracking.
+ /// ObjectMaterializer used to flow link tracking.
/// Element type to enumerate over.
/// Element type for list.
/// Element source.
@@ -69,7 +69,7 @@ internal static bool ProjectionCheckValueForPathIsNull(
}
/// Provides support for Select invocations for projections.
- /// Materializer under which projection is taking place.
+ /// ObjectMaterializer under which projection is taking place.
/// Root entry for paths.
/// Expected type for .
/// Expected result type.
@@ -103,7 +103,7 @@ internal static object ProjectionGetEntry(object entry, string name, IODataMater
}
/// Initializes a projection-driven entry (with a specific type and specific properties).
- /// Materializer under which projection is taking place.
+ /// ObjectMaterializer under which projection is taking place.
/// Root entry for paths.
/// Expected type for .
/// Expected result type.
@@ -125,7 +125,7 @@ internal static object ProjectionInitializeEntity(
}
/// Projects a simple value from the specified .
- /// Materializer under which projection is taking place.
+ /// ObjectMaterializer under which projection is taking place.
/// Root entry for paths.
/// Expected type for .
/// Path to pull value for.
@@ -144,7 +144,7 @@ internal static object ProjectionValueForPath(object materializer, object entry,
}
/// Projects a simple dynamic value from the specified .
- /// Materializer under which projection is taking place.
+ /// ObjectMaterializer under which projection is taking place.
/// Root entry for paths.
/// Expected type for dynamic value.
/// Path to pull value for.
@@ -163,7 +163,7 @@ internal static object ProjectionDynamicValueForPath(object materializer, object
}
/// Materializes an entry with no special selection.
- /// Materializer under which materialization should take place.
+ /// ObjectMaterializer under which materialization should take place.
/// Entry with object to materialize.
/// Expected type for the entry.
/// The materialized instance.
@@ -176,7 +176,7 @@ internal static object DirectMaterializePlan(object materializer, object entry,
}
/// Materializes an entry without including in-lined expanded links.
- /// Materializer under which materialization should take place.
+ /// ObjectMaterializer under which materialization should take place.
/// Entry with object to materialize.
/// Expected type for the entry.
/// The materialized instance.
diff --git a/src/Microsoft.OData.Client/Materialization/ODataEntriesEntityMaterializer.cs b/src/Microsoft.OData.Client/Materialization/ODataEntriesEntityMaterializer.cs
index 1a46798d32..428c9d2fd8 100644
--- a/src/Microsoft.OData.Client/Materialization/ODataEntriesEntityMaterializer.cs
+++ b/src/Microsoft.OData.Client/Materialization/ODataEntriesEntityMaterializer.cs
@@ -86,7 +86,7 @@ internal override long CountValue
{
get
{
- throw new InvalidOperationException(DSClient.Strings.MaterializeFromAtom_CountNotPresent);
+ throw new InvalidOperationException(DSClient.Strings.MaterializeFromObject_CountNotPresent);
}
}
diff --git a/src/Microsoft.OData.Client/Materialization/ODataLinksMaterializer.cs b/src/Microsoft.OData.Client/Materialization/ODataLinksMaterializer.cs
index f69af135de..cc414a1b68 100644
--- a/src/Microsoft.OData.Client/Materialization/ODataLinksMaterializer.cs
+++ b/src/Microsoft.OData.Client/Materialization/ODataLinksMaterializer.cs
@@ -50,7 +50,7 @@ internal override long CountValue
return this.links.Count.Value;
}
- throw new InvalidOperationException(DSClient.Strings.MaterializeFromAtom_CountNotPresent);
+ throw new InvalidOperationException(DSClient.Strings.MaterializeFromObject_CountNotPresent);
}
}
@@ -91,7 +91,7 @@ protected override void ReadWithExpectedType(IEdmTypeReference expectedClientTyp
// this is a breaking change from V1/V2 where we allowed materialization of entities into non-entities and vice versa
if (targetType.IsEntityType)
{
- throw DSClient.Error.InvalidOperation(DSClient.Strings.AtomMaterializer_InvalidEntityType(targetType.ElementTypeName));
+ throw DSClient.Error.InvalidOperation(DSClient.Strings.Materializer_InvalidEntityType(targetType.ElementTypeName));
}
else
{
diff --git a/src/Microsoft.OData.Client/Materialization/ODataLoadNavigationPropertyMaterializer.cs b/src/Microsoft.OData.Client/Materialization/ODataLoadNavigationPropertyMaterializer.cs
index b089389c47..0f62607671 100644
--- a/src/Microsoft.OData.Client/Materialization/ODataLoadNavigationPropertyMaterializer.cs
+++ b/src/Microsoft.OData.Client/Materialization/ODataLoadNavigationPropertyMaterializer.cs
@@ -17,7 +17,7 @@ namespace Microsoft.OData.Client.Materialization
#endregion
///
- /// Materializer for LoadProperty API call for navigation properties.
+ /// ObjectMaterializer for LoadProperty API call for navigation properties.
///
internal class ODataLoadNavigationPropertyMaterializer : ODataReaderEntityMaterializer
{
diff --git a/src/Microsoft.OData.Client/Materialization/ODataMaterializer.cs b/src/Microsoft.OData.Client/Materialization/ODataMaterializer.cs
index 0e08ea9857..2cf974e8bb 100644
--- a/src/Microsoft.OData.Client/Materialization/ODataMaterializer.cs
+++ b/src/Microsoft.OData.Client/Materialization/ODataMaterializer.cs
@@ -244,7 +244,7 @@ public static ODataMaterializer CreateMaterializerForMessage(
// Hence we need to explicitly check for System.Object to allow this
if (edmType != null && !edmType.TypeKind.IsStructured())
{
- throw DSClient.Error.InvalidOperation(DSClient.Strings.AtomMaterializer_InvalidNonEntityType(materializerType.FullName));
+ throw DSClient.Error.InvalidOperation(DSClient.Strings.Materializer_InvalidNonEntityType(materializerType.FullName));
}
ODataReaderWrapper reader = ODataReaderWrapper.Create(messageReader, payloadKind, edmType, responseInfo.ResponsePipeline);
@@ -290,7 +290,7 @@ public static ODataMaterializer CreateMaterializerForMessage(
// Top level properties cannot be of entity type.
if (edmType != null && (edmType.TypeKind == EdmTypeKind.Entity || edmType.TypeKind == EdmTypeKind.Complex))
{
- throw DSClient.Error.InvalidOperation(DSClient.Strings.AtomMaterializer_InvalidEntityType(materializerType.FullName));
+ throw DSClient.Error.InvalidOperation(DSClient.Strings.Materializer_InvalidEntityType(materializerType.FullName));
}
result = new ODataPropertyMaterializer(messageReader, materializerContext, materializerType, queryComponents.SingleResult);
@@ -304,7 +304,7 @@ public static ODataMaterializer CreateMaterializerForMessage(
var odataError = messageReader.ReadError();
throw new ODataErrorException(odataError.Message, odataError);
default:
- throw DSClient.Error.InvalidOperation(DSClient.Strings.AtomMaterializer_InvalidResponsePayload(XmlConstants.DataWebNamespace));
+ throw DSClient.Error.InvalidOperation(DSClient.Strings.Materializer_InvalidResponsePayload(XmlConstants.DataWebNamespace));
}
}
@@ -379,7 +379,7 @@ protected static ODataMessageReader CreateODataMessageReader(IODataResponseMessa
if (payloadKinds.Count == 0)
{
- throw DSClient.Error.InvalidOperation(DSClient.Strings.AtomMaterializer_InvalidResponsePayload(XmlConstants.DataWebNamespace));
+ throw DSClient.Error.InvalidOperation(DSClient.Strings.Materializer_InvalidResponsePayload(XmlConstants.DataWebNamespace));
}
// Pick the first payload kind detected by ODataLib and use that to parse the exception.
@@ -394,7 +394,7 @@ protected static ODataMessageReader CreateODataMessageReader(IODataResponseMessa
if (detectionResult.Format != ODataFormat.Json && detectionResult.Format != ODataFormat.RawValue)
{
- throw DSClient.Error.InvalidOperation(DSClient.Strings.AtomMaterializer_InvalidContentTypeEncountered(responseMessage.GetHeader(XmlConstants.HttpContentType)));
+ throw DSClient.Error.InvalidOperation(DSClient.Strings.Materializer_InvalidContentTypeEncountered(responseMessage.GetHeader(XmlConstants.HttpContentType)));
}
payloadKind = detectionResult.PayloadKind;
diff --git a/src/Microsoft.OData.Client/Materialization/ODataMessageReaderMaterializer.cs b/src/Microsoft.OData.Client/Materialization/ODataMessageReaderMaterializer.cs
index 06162cd7cf..0c97c0e54b 100644
--- a/src/Microsoft.OData.Client/Materialization/ODataMessageReaderMaterializer.cs
+++ b/src/Microsoft.OData.Client/Materialization/ODataMessageReaderMaterializer.cs
@@ -80,7 +80,7 @@ internal sealed override bool IsEndOfStream
/// The count value returned from the server
internal override long CountValue
{
- get { throw new InvalidOperationException(ClientStrings.MaterializeFromAtom_CountNotPresent); }
+ get { throw new InvalidOperationException(ClientStrings.MaterializeFromObject_CountNotPresent); }
}
///
diff --git a/src/Microsoft.OData.Client/Materialization/ODataReaderEntityMaterializer.cs b/src/Microsoft.OData.Client/Materialization/ODataReaderEntityMaterializer.cs
index 2b4754c7ec..cb79b43ee0 100644
--- a/src/Microsoft.OData.Client/Materialization/ODataReaderEntityMaterializer.cs
+++ b/src/Microsoft.OData.Client/Materialization/ODataReaderEntityMaterializer.cs
@@ -145,7 +145,7 @@ internal static MaterializerEntry ParseSingleEntityPayload(IODataResponseMessage
{
if (entry != null)
{
- throw new InvalidOperationException(DSClient.Strings.AtomParser_SingleEntry_MultipleFound);
+ throw new InvalidOperationException(DSClient.Strings.Parser_SingleEntry_MultipleFound);
}
entry = parser.CurrentEntry;
@@ -156,11 +156,11 @@ internal static MaterializerEntry ParseSingleEntityPayload(IODataResponseMessage
{
if (readFeed)
{
- throw new InvalidOperationException(DSClient.Strings.AtomParser_SingleEntry_NoneFound);
+ throw new InvalidOperationException(DSClient.Strings.Parser_SingleEntry_NoneFound);
}
else
{
- throw new InvalidOperationException(DSClient.Strings.AtomParser_SingleEntry_ExpectedFeedOrEntry);
+ throw new InvalidOperationException(DSClient.Strings.Parser_SingleEntry_ExpectedFeedOrEntry);
}
}
@@ -204,11 +204,11 @@ internal static MaterializerDeltaFeed ParseDeltaResourceSetPayload(IODataRespons
{
if (readDeltaResourceSet)
{
- throw new InvalidOperationException(DSClient.Strings.AtomParser_SingleEntry_NoneFound);
+ throw new InvalidOperationException(DSClient.Strings.Parser_SingleEntry_NoneFound);
}
else
{
- throw new InvalidOperationException(DSClient.Strings.AtomParser_SingleEntry_ExpectedFeedOrEntry);
+ throw new InvalidOperationException(DSClient.Strings.Parser_SingleEntry_ExpectedFeedOrEntry);
}
}
diff --git a/src/Microsoft.OData.Client/Materialization/StructuralValueMaterializationPolicy.cs b/src/Microsoft.OData.Client/Materialization/StructuralValueMaterializationPolicy.cs
index 9f2caa44b8..f40d086a73 100644
--- a/src/Microsoft.OData.Client/Materialization/StructuralValueMaterializationPolicy.cs
+++ b/src/Microsoft.OData.Client/Materialization/StructuralValueMaterializationPolicy.cs
@@ -111,7 +111,7 @@ protected PrimitivePropertyConverter PrimitivePropertyConverter
internal void MaterializePrimitiveDataValue(Type type, ODataProperty property)
{
Debug.Assert(type != null, "type != null");
- Debug.Assert(property != null, "atomProperty != null");
+ Debug.Assert(property != null, "entryProperty != null");
if (!property.HasMaterializedValue(this.MaterializerContext))
{
@@ -265,7 +265,7 @@ internal void MaterializeDataValues(ClientTypeAnnotation actualType, IEnumerable
// This is a breaking change from V1/V2 where we allowed materialization of entities into non-entities and vice versa
if (ClientTypeUtil.TypeOrElementTypeIsEntity(property.PropertyType))
{
- throw DSClient.Error.InvalidOperation(DSClient.Strings.AtomMaterializer_InvalidEntityType(property.EntityCollectionItemType ?? property.PropertyType));
+ throw DSClient.Error.InvalidOperation(DSClient.Strings.Materializer_InvalidEntityType(property.EntityCollectionItemType ?? property.PropertyType));
}
if (property.IsKnownType)
diff --git a/src/Microsoft.OData.Client/MediaEntryAttribute.cs b/src/Microsoft.OData.Client/MediaEntryAttribute.cs
index 53d4b31c17..71122808ad 100644
--- a/src/Microsoft.OData.Client/MediaEntryAttribute.cs
+++ b/src/Microsoft.OData.Client/MediaEntryAttribute.cs
@@ -11,7 +11,7 @@ namespace Microsoft.OData.Client
///
/// This class marks a type that represents an Astoria client entity
/// such that the Astoria client will treat it as a media entry
- /// according to ATOM's "media link entry" concept.
+ /// according to a "media link entry" concept.
///
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)]
public sealed class MediaEntryAttribute : Attribute
diff --git a/src/Microsoft.OData.Client/Metadata/ClientTypeAnnotation.cs b/src/Microsoft.OData.Client/Metadata/ClientTypeAnnotation.cs
index e4e76a7d21..007d09897e 100644
--- a/src/Microsoft.OData.Client/Metadata/ClientTypeAnnotation.cs
+++ b/src/Microsoft.OData.Client/Metadata/ClientTypeAnnotation.cs
@@ -35,10 +35,10 @@ internal sealed class ClientTypeAnnotation
/// Storage for the client model.
private readonly ClientEdmModel model;
- /// Set to true if the type is marked as ATOM-style media link entry
+ /// Set to true if the type is marked as a media link entry
private bool? isMediaLinkEntry;
- /// Property that holds data for ATOM-style media link entries
+ /// Property that holds data for media link entries
private ClientPropertyAnnotation mediaDataMember;
/// Whether any property (including properties on descendant types) of this type is a collection of primitive or complex types.
@@ -86,7 +86,7 @@ internal bool IsStructuredType
}
}
- /// Property that holds data for ATOM-style media link entries
+ /// Property that holds data for media link entries
internal ClientPropertyAnnotation MediaDataMember
{
get
@@ -101,7 +101,7 @@ internal ClientPropertyAnnotation MediaDataMember
}
}
- /// Returns true if the type is marked as ATOM-style media link entry
+ /// Returns true if the type is marked as a media link entry
internal bool IsMediaLinkEntry
{
get
@@ -240,7 +240,7 @@ private void BuildPropertyCache()
}
///
- /// Check if this type represents an ATOM-style media link entry and
+ /// Check if this type represents a media link entry and
/// if so mark the ClientType as such
///
private void CheckMediaLinkEntry()
diff --git a/src/Microsoft.OData.Client/Microsoft.OData.Client.Common.txt b/src/Microsoft.OData.Client/Microsoft.OData.Client.Common.txt
index 2953930227..f4eef17c48 100644
--- a/src/Microsoft.OData.Client/Microsoft.OData.Client.Common.txt
+++ b/src/Microsoft.OData.Client/Microsoft.OData.Client.Common.txt
@@ -19,7 +19,7 @@ Context_ResolveReturnedInvalidUri=The Uri that is returned by the ResolveEntityS
Context_RequestUriIsRelativeBaseUriRequired=Because the requestUri is a relative Uri, you must set the BaseUri property on the DataServiceContext.
Context_ResolveEntitySetOrBaseUriRequired=The ResolveEntitySet function must return a non-null Uri for the EntitySet '{0}', otherwise you must set the BaseUri property.
Context_CannotConvertKey=Unable to convert value '{0}' into a key string for a URI.
-Context_TrackingExpectsAbsoluteUri=The identity value specified by either the Atom id element or the OData-EntityId header must be an absolute URI.
+Context_TrackingExpectsAbsoluteUri=The identity value specified by either the entry id element or OData-EntityId header must be an absolute URI.
Context_LocationHeaderExpectsAbsoluteUri=The 'Location' header value specified in the response must be an absolute URI.
Context_LinkResourceInsertFailure=One of the link's resources failed to insert.
Context_InternalError=Microsoft.OData.Client internal error {0}.
@@ -120,9 +120,9 @@ Deserialize_GetEnumerator=Only a single enumeration is supported by this IEnumer
Deserialize_Current=The current value '{1}' type is not compatible with the expected '{0}' type.
Deserialize_MixedTextWithComment=Error processing response stream. Element value interspersed with a comment is not supported.
Deserialize_ExpectingSimpleValue=Error processing response stream. The XML element contains mixed content.
-Deserialize_MismatchAtomLinkLocalSimple=Error processing response stream. Atom payload has a link, local object has a simple value.
-Deserialize_MismatchAtomLinkFeedPropertyNotCollection=Error processing response stream. Atom payload has a feed and the property '{0}' is not a collection.
-Deserialize_MismatchAtomLinkEntryPropertyIsCollection=Error processing response stream. Atom payload has an entry and the property '{0}' is a collection.
+Deserialize_MismatchEntryLinkLocalSimple=Error processing response stream. Payload has a link, local object has a simple value.
+Deserialize_MismatchEntryLinkFeedPropertyNotCollection=Error processing response stream. Payload has a feed and the property '{0}' is not a collection.
+Deserialize_MismatchEntryLinkEntryPropertyIsCollection=Error processing response stream. Payload has an entry and the property '{0}' is a collection.
Deserialize_NoLocationHeader=The response to this POST request did not contain a 'location' header. That is not supported by this client.
Deserialize_ServerException=Error processing response stream. Server failed with following message:\r\n{0}
Deserialize_MissingIdElement=Error processing response stream. Missing id element in the response.
@@ -146,10 +146,10 @@ HttpProcessUtility_EscapeCharWithoutQuotes=Value for MIME type parameter '{0}' i
HttpProcessUtility_EscapeCharAtEnd=Value for MIME type parameter '{0}' is incorrect because it terminated with escape character. Escape characters must always be followed by a character in a parameter value.
HttpProcessUtility_ClosingQuoteNotFound=Value for MIME type parameter '{0}' is incorrect because the closing quote character could not be found while the parameter value started with a quote character.
-MaterializeFromAtom_CountNotPresent=Count value is not part of the response stream.
-MaterializeFromAtom_TopLevelLinkNotAvailable=The top level link is only available after the response has been enumerated.
-MaterializeFromAtom_CollectionKeyNotPresentInLinkTable=The collection is not part of the current entry
-MaterializeFromAtom_GetNestLinkForFlatCollection=This response does not contain any nested collections. Use null as Key instead.
+MaterializeFromObject_CountNotPresent=Count value is not part of the response stream.
+MaterializeFromObject_TopLevelLinkNotAvailable=The top level link is only available after the response has been enumerated.
+MaterializeFromObject_CollectionKeyNotPresentInLinkTable=The collection is not part of the current entry
+MaterializeFromObject_GetNestLinkForFlatCollection=This response does not contain any nested collections. Use null as Key instead.
ODataRequestMessage_GetStreamMethodNotSupported=GetStream method is not supported.
@@ -246,28 +246,28 @@ DataBinding_NotifyCollectionChangedNotImpl=An attempt to track an entity or comp
DataBinding_ComplexObjectAssociatedWithMultipleEntities=An attempt to track a complex object of type '{0}' failed because the complex object is already being tracked.
DataBinding_CollectionAssociatedWithMultipleEntities=An attempt to track a collection object of type '{0}' failed because the collection object is already being tracked.
-AtomParser_SingleEntry_NoneFound=Expected exactly one Atom entry in the response from the server, but none was found.
-AtomParser_SingleEntry_MultipleFound=Expected exactly one Atom entry in the response from the server, but more than one was found.
-AtomParser_SingleEntry_ExpectedFeedOrEntry=Expected an Atom feed or entry in the response from the server, but found an unexpected element instead.
-
-AtomMaterializer_CannotAssignNull=The null value from property '{0}' cannot be assigned to a type '{1}'.
-AtomMaterializer_EntryIntoCollectionMismatch=An entry of type '{0}' cannot be added to a collection that contains instances of type '{1}'. This may occur when an existing entry of a different type has the same identity value or when the same entity is projected into two different types in a single query.
-AtomMaterializer_EntryToAccessIsNull=An entry returned by the navigation property '{0}' is null and cannot be initialized. You should check for a null value before accessing this property.
-AtomMaterializer_EntryToInitializeIsNull=An entry that contains the data required to create an instance of type '{0}' is null and cannot be initialized. You should check for a null value before accessing this entry.
-AtomMaterializer_ProjectEntityTypeMismatch=An entity of type '{0}' cannot be projected because there is already an instance of type '{1}' for '{2}'.
-AtomMaterializer_PropertyMissing=The expected property '{0}' could not be found while processing an entry. Check for null before accessing this property.
-AtomMaterializer_PropertyNotExpectedEntry=Property '{0}' is not an entity.
-AtomMaterializer_DataServiceCollectionNotSupportedForNonEntities=A DataServiceCollection can only contain entity types. Primitive and complex types cannot be contained by this kind of collection.
-AtomMaterializer_NoParameterlessCtorForCollectionProperty=Collection property '{0}' cannot be created because the type '{1}' does not have a public parameterless constructor.
-AtomMaterializer_InvalidCollectionItem=The element '{0}' is not a valid collection item. The name of the collection item element must be 'element' and must belong to the 'http://docs.oasis-open.org/odata/ns/data' namespace.
-AtomMaterializer_InvalidEntityType=There is a type mismatch between the client and the service. Type '{0}' is an entity type, but the type in the response payload does not represent an entity type. Please ensure that types defined on the client match the data model of the service, or update the service reference on the client.
-AtomMaterializer_InvalidNonEntityType=There is a type mismatch between the client and the service. Type '{0}' is not an entity type, but the type in the response payload represents an entity type. Please ensure that types defined on the client match the data model of the service, or update the service reference on the client.
-AtomMaterializer_CollectionExpectedCollection=Materialization of top level collection expected ICollection<>, but actual type was {0}.
-AtomMaterializer_InvalidResponsePayload=The response payload is a not a valid response payload. Please make sure that the top level element is a valid Atom or JSON element or belongs to '{0}' namespace.
-AtomMaterializer_InvalidContentTypeEncountered=The response content type '{0}' is not currently supported.
-AtomMaterializer_MaterializationTypeError=Cannot materialize the results into a collection type '{0}' because it does not have a parameterless constructor.
-AtomMaterializer_ResetAfterEnumeratorCreationError=Reset should never be called for collection reader in an internal enumerable.
-AtomMaterializer_TypeShouldBeCollectionError=Cannot materialize a collection of a primitives or complex without the type '{0}' being a collection.
+Parser_SingleEntry_NoneFound=Expected exactly one entry in the response from the server, but none was found.
+Parser_SingleEntry_MultipleFound=Expected exactly one entry in the response from the server, but more than one was found.
+Parser_SingleEntry_ExpectedFeedOrEntry=Expected a feed or entry in the response from the server, but found an unexpected element instead.
+
+Materializer_CannotAssignNull=The null value from property '{0}' cannot be assigned to a type '{1}'.
+Materializer_EntryIntoCollectionMismatch=An entry of type '{0}' cannot be added to a collection that contains instances of type '{1}'. This may occur when an existing entry of a different type has the same identity value or when the same entity is projected into two different types in a single query.
+Materializer_EntryToAccessIsNull=An entry returned by the navigation property '{0}' is null and cannot be initialized. You should check for a null value before accessing this property.
+Materializer_EntryToInitializeIsNull=An entry that contains the data required to create an instance of type '{0}' is null and cannot be initialized. You should check for a null value before accessing this entry.
+Materializer_ProjectEntityTypeMismatch=An entity of type '{0}' cannot be projected because there is already an instance of type '{1}' for '{2}'.
+Materializer_PropertyMissing=The expected property '{0}' could not be found while processing an entry. Check for null before accessing this property.
+Materializer_PropertyNotExpectedEntry=Property '{0}' is not an entity.
+Materializer_DataServiceCollectionNotSupportedForNonEntities=A DataServiceCollection can only contain entity types. Primitive and complex types cannot be contained by this kind of collection.
+Materializer_NoParameterlessCtorForCollectionProperty=Collection property '{0}' cannot be created because the type '{1}' does not have a public parameterless constructor.
+Materializer_InvalidCollectionItem=The element '{0}' is not a valid collection item. The name of the collection item element must be 'element' and must belong to the 'http://docs.oasis-open.org/odata/ns/data' namespace.
+Materializer_InvalidEntityType=There is a type mismatch between the client and the service. Type '{0}' is an entity type, but the type in the response payload does not represent an entity type. Please ensure that types defined on the client match the data model of the service, or update the service reference on the client.
+Materializer_InvalidNonEntityType=There is a type mismatch between the client and the service. Type '{0}' is not an entity type, but the type in the response payload represents an entity type. Please ensure that types defined on the client match the data model of the service, or update the service reference on the client.
+Materializer_CollectionExpectedCollection=Materialization of top level collection expected ICollection<>, but actual type was {0}.
+Materializer_InvalidResponsePayload=The response payload is a not a valid response payload. Please make sure that the top level element is a valid JSON element or belongs to '{0}' namespace.
+Materializer_InvalidContentTypeEncountered=The response content type '{0}' is not currently supported.
+Materializer_MaterializationTypeError=Cannot materialize the results into a collection type '{0}' because it does not have a parameterless constructor.
+Materializer_ResetAfterEnumeratorCreationError=Reset should never be called for collection reader in an internal enumerable.
+Materializer_TypeShouldBeCollectionError=Cannot materialize a collection of a primitives or complex without the type '{0}' being a collection.
Serializer_LoopsNotAllowedInComplexTypes=A circular loop was detected while serializing the property '{0}'. You must make sure that loops are not present in properties that return a collection or complex type.
Serializer_LoopsNotAllowedInNonPropertyComplexTypes=A circular loop was detected while serializing the complex type '{0}'. You must make sure that loops are not present in a collection or a complex type.
diff --git a/src/Microsoft.OData.Client/Microsoft.OData.Client.cs b/src/Microsoft.OData.Client/Microsoft.OData.Client.cs
index 83fc2ae2d0..7b22649e81 100644
--- a/src/Microsoft.OData.Client/Microsoft.OData.Client.cs
+++ b/src/Microsoft.OData.Client/Microsoft.OData.Client.cs
@@ -125,9 +125,9 @@ internal sealed class TextRes {
internal const string Deserialize_Current = "Deserialize_Current";
internal const string Deserialize_MixedTextWithComment = "Deserialize_MixedTextWithComment";
internal const string Deserialize_ExpectingSimpleValue = "Deserialize_ExpectingSimpleValue";
- internal const string Deserialize_MismatchAtomLinkLocalSimple = "Deserialize_MismatchAtomLinkLocalSimple";
- internal const string Deserialize_MismatchAtomLinkFeedPropertyNotCollection = "Deserialize_MismatchAtomLinkFeedPropertyNotCollection";
- internal const string Deserialize_MismatchAtomLinkEntryPropertyIsCollection = "Deserialize_MismatchAtomLinkEntryPropertyIsCollection";
+ internal const string Deserialize_MismatchEntryLinkLocalSimple = "Deserialize_MismatchEntryLinkLocalSimple";
+ internal const string Deserialize_MismatchEntryLinkFeedPropertyNotCollection = "Deserialize_MismatchEntryLinkFeedPropertyNotCollection";
+ internal const string Deserialize_MismatchEntryLinkEntryPropertyIsCollection = "Deserialize_MismatchEntryLinkEntryPropertyIsCollection";
internal const string Deserialize_NoLocationHeader = "Deserialize_NoLocationHeader";
internal const string Deserialize_ServerException = "Deserialize_ServerException";
internal const string Deserialize_MissingIdElement = "Deserialize_MissingIdElement";
@@ -147,10 +147,10 @@ internal sealed class TextRes {
internal const string HttpProcessUtility_EscapeCharWithoutQuotes = "HttpProcessUtility_EscapeCharWithoutQuotes";
internal const string HttpProcessUtility_EscapeCharAtEnd = "HttpProcessUtility_EscapeCharAtEnd";
internal const string HttpProcessUtility_ClosingQuoteNotFound = "HttpProcessUtility_ClosingQuoteNotFound";
- internal const string MaterializeFromAtom_CountNotPresent = "MaterializeFromAtom_CountNotPresent";
- internal const string MaterializeFromAtom_TopLevelLinkNotAvailable = "MaterializeFromAtom_TopLevelLinkNotAvailable";
- internal const string MaterializeFromAtom_CollectionKeyNotPresentInLinkTable = "MaterializeFromAtom_CollectionKeyNotPresentInLinkTable";
- internal const string MaterializeFromAtom_GetNestLinkForFlatCollection = "MaterializeFromAtom_GetNestLinkForFlatCollection";
+ internal const string MaterializeFromObject_CountNotPresent = "MaterializeFromObject_CountNotPresent";
+ internal const string MaterializeFromObject_TopLevelLinkNotAvailable = "MaterializeFromObject_TopLevelLinkNotAvailable";
+ internal const string MaterializeFromObject_CollectionKeyNotPresentInLinkTable = "MaterializeFromObject_CollectionKeyNotPresentInLinkTable";
+ internal const string MaterializeFromObject_GetNestLinkForFlatCollection = "MaterializeFromObject_GetNestLinkForFlatCollection";
internal const string ODataRequestMessage_GetStreamMethodNotSupported = "ODataRequestMessage_GetStreamMethodNotSupported";
internal const string Util_EmptyString = "Util_EmptyString";
internal const string Util_EmptyArray = "Util_EmptyArray";
@@ -240,27 +240,27 @@ internal sealed class TextRes {
internal const string DataBinding_NotifyCollectionChangedNotImpl = "DataBinding_NotifyCollectionChangedNotImpl";
internal const string DataBinding_ComplexObjectAssociatedWithMultipleEntities = "DataBinding_ComplexObjectAssociatedWithMultipleEntities";
internal const string DataBinding_CollectionAssociatedWithMultipleEntities = "DataBinding_CollectionAssociatedWithMultipleEntities";
- internal const string AtomParser_SingleEntry_NoneFound = "AtomParser_SingleEntry_NoneFound";
- internal const string AtomParser_SingleEntry_MultipleFound = "AtomParser_SingleEntry_MultipleFound";
- internal const string AtomParser_SingleEntry_ExpectedFeedOrEntry = "AtomParser_SingleEntry_ExpectedFeedOrEntry";
- internal const string AtomMaterializer_CannotAssignNull = "AtomMaterializer_CannotAssignNull";
- internal const string AtomMaterializer_EntryIntoCollectionMismatch = "AtomMaterializer_EntryIntoCollectionMismatch";
- internal const string AtomMaterializer_EntryToAccessIsNull = "AtomMaterializer_EntryToAccessIsNull";
- internal const string AtomMaterializer_EntryToInitializeIsNull = "AtomMaterializer_EntryToInitializeIsNull";
- internal const string AtomMaterializer_ProjectEntityTypeMismatch = "AtomMaterializer_ProjectEntityTypeMismatch";
- internal const string AtomMaterializer_PropertyMissing = "AtomMaterializer_PropertyMissing";
- internal const string AtomMaterializer_PropertyNotExpectedEntry = "AtomMaterializer_PropertyNotExpectedEntry";
- internal const string AtomMaterializer_DataServiceCollectionNotSupportedForNonEntities = "AtomMaterializer_DataServiceCollectionNotSupportedForNonEntities";
- internal const string AtomMaterializer_NoParameterlessCtorForCollectionProperty = "AtomMaterializer_NoParameterlessCtorForCollectionProperty";
- internal const string AtomMaterializer_InvalidCollectionItem = "AtomMaterializer_InvalidCollectionItem";
- internal const string AtomMaterializer_InvalidEntityType = "AtomMaterializer_InvalidEntityType";
- internal const string AtomMaterializer_InvalidNonEntityType = "AtomMaterializer_InvalidNonEntityType";
- internal const string AtomMaterializer_CollectionExpectedCollection = "AtomMaterializer_CollectionExpectedCollection";
- internal const string AtomMaterializer_InvalidResponsePayload = "AtomMaterializer_InvalidResponsePayload";
- internal const string AtomMaterializer_InvalidContentTypeEncountered = "AtomMaterializer_InvalidContentTypeEncountered";
- internal const string AtomMaterializer_MaterializationTypeError = "AtomMaterializer_MaterializationTypeError";
- internal const string AtomMaterializer_ResetAfterEnumeratorCreationError = "AtomMaterializer_ResetAfterEnumeratorCreationError";
- internal const string AtomMaterializer_TypeShouldBeCollectionError = "AtomMaterializer_TypeShouldBeCollectionError";
+ internal const string Parser_SingleEntry_NoneFound = "Parser_SingleEntry_NoneFound";
+ internal const string Parser_SingleEntry_MultipleFound = "Parser_SingleEntry_MultipleFound";
+ internal const string Parser_SingleEntry_ExpectedFeedOrEntry = "Parser_SingleEntry_ExpectedFeedOrEntry";
+ internal const string Materializer_CannotAssignNull = "Materializer_CannotAssignNull";
+ internal const string Materializer_EntryIntoCollectionMismatch = "Materializer_EntryIntoCollectionMismatch";
+ internal const string Materializer_EntryToAccessIsNull = "Materializer_EntryToAccessIsNull";
+ internal const string Materializer_EntryToInitializeIsNull = "Materializer_EntryToInitializeIsNull";
+ internal const string Materializer_ProjectEntityTypeMismatch = "Materializer_ProjectEntityTypeMismatch";
+ internal const string Materializer_PropertyMissing = "Materializer_PropertyMissing";
+ internal const string Materializer_PropertyNotExpectedEntry = "Materializer_PropertyNotExpectedEntry";
+ internal const string Materializer_DataServiceCollectionNotSupportedForNonEntities = "Materializer_DataServiceCollectionNotSupportedForNonEntities";
+ internal const string Materializer_NoParameterlessCtorForCollectionProperty = "Materializer_NoParameterlessCtorForCollectionProperty";
+ internal const string Materializer_InvalidCollectionItem = "Materializer_InvalidCollectionItem";
+ internal const string Materializer_InvalidEntityType = "Materializer_InvalidEntityType";
+ internal const string Materializer_InvalidNonEntityType = "Materializer_InvalidNonEntityType";
+ internal const string Materializer_CollectionExpectedCollection = "Materializer_CollectionExpectedCollection";
+ internal const string Materializer_InvalidResponsePayload = "Materializer_InvalidResponsePayload";
+ internal const string Materializer_InvalidContentTypeEncountered = "Materializer_InvalidContentTypeEncountered";
+ internal const string Materializer_MaterializationTypeError = "Materializer_MaterializationTypeError";
+ internal const string Materializer_ResetAfterEnumeratorCreationError = "Materializer_ResetAfterEnumeratorCreationError";
+ internal const string Materializer_TypeShouldBeCollectionError = "Materializer_TypeShouldBeCollectionError";
internal const string Serializer_LoopsNotAllowedInComplexTypes = "Serializer_LoopsNotAllowedInComplexTypes";
internal const string Serializer_LoopsNotAllowedInNonPropertyComplexTypes = "Serializer_LoopsNotAllowedInNonPropertyComplexTypes";
internal const string Serializer_InvalidCollectionParameterItemType = "Serializer_InvalidCollectionParameterItemType";
diff --git a/src/Microsoft.OData.Client/Microsoft.OData.Client.txt b/src/Microsoft.OData.Client/Microsoft.OData.Client.txt
index 81efcfa9ab..d944564a9d 100644
--- a/src/Microsoft.OData.Client/Microsoft.OData.Client.txt
+++ b/src/Microsoft.OData.Client/Microsoft.OData.Client.txt
@@ -1,317 +1,317 @@
-
-; NOTE: don't use \", use ' instead
-; NOTE: don't use #, use ; instead for comments
-; NOTE: leave the [strings] alone
-
-; See ResourceManager documentation and the ResGen tool.
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-; Error Messages
-
-Batch_ExpectedContentType=The expected content type for a batch requests is "multipart/mixed;boundary=batch" not "{0}".
-Batch_ExpectedResponse=The POST request expected a response with content. ID={0}
-Batch_IncompleteResponseCount=Not all requests in the batch had a response.
-Batch_UnexpectedContent=The web response contained unexpected sections. ID={0}
-
-Context_BaseUri=Expected an absolute, well formed http URL without a query or fragment.
-Context_BaseUriRequired=You must set the BaseUri property before you perform this operation.
-Context_ResolveReturnedInvalidUri=The Uri that is returned by the ResolveEntitySet function must be an absolute, well-formed URL with an "http" or "https" scheme name and without any query strings or fragment identifiers.
-Context_RequestUriIsRelativeBaseUriRequired=Because the requestUri is a relative Uri, you must set the BaseUri property on the DataServiceContext.
-Context_ResolveEntitySetOrBaseUriRequired=The ResolveEntitySet function must return a non-null Uri for the EntitySet '{0}', otherwise you must set the BaseUri property.
-Context_CannotConvertKey=Unable to convert value '{0}' into a key string for a URI.
-Context_TrackingExpectsAbsoluteUri=The identity value specified by either the Atom id element or the OData-EntityId header must be an absolute URI.
-Context_LocationHeaderExpectsAbsoluteUri=The 'Location' header value specified in the response must be an absolute URI.
-Context_LinkResourceInsertFailure=One of the link's resources failed to insert.
-Context_InternalError=Microsoft.OData.Client internal error {0}.
-Context_BatchExecuteError=An error occurred for this query during batch execution. See the inner exception for details.
-Context_EntitySetName=Expected a relative URL path without query or fragment.
-Context_BatchNotSupportedForNamedStreams=Changes cannot be saved as a batch when an entity has one or more streams associated with it. Retry the SaveChanges operation without enabling the SaveChangesOptions.BatchWithSingleChangeset and the SaveChangesOptions.BatchWithIndependentOperations options.
-Context_SetSaveStreamWithoutNamedStreamEditLink=The stream named '{0}' cannot be modified because it does not have an edit-media link. Make sure that the stream name is correct and that an edit-media link for this stream is included in the entry element in the response.
-Content_EntityWithoutKey=This operation requires the entity be of an Entity Type, and has at least one key property.
-Content_EntityIsNotEntityType=This operation requires the entity to be of an Entity Type, either mark its key properties, or attribute the class with DataServiceEntityAttribute
-Context_EntityNotContained=The context is not currently tracking the entity.
-Context_EntityAlreadyContained=The context is already tracking the entity.
-Context_DifferentEntityAlreadyContained=The context is already tracking a different entity with the same resource Uri.
-Context_DidNotOriginateAsync=The current object did not originate the async result.
-Context_AsyncAlreadyDone=The asynchronous result has already been completed.
-Context_OperationCanceled=The operation has been canceled.
-Context_PropertyNotSupportedForMaxDataServiceVersionGreaterThanX=The property '{0}' is not supported when MaxProtocolVersion is greater than '{1}'.
-
-Context_NoLoadWithInsertEnd=The context can not load the related collection or reference for objects in the added state.
-Context_NoRelationWithInsertEnd=One or both of the ends of the relationship is in the added state.
-Context_NoRelationWithDeleteEnd=One or both of the ends of the relationship is in the deleted state.
-Context_RelationAlreadyContained=The context is already tracking the relationship.
-Context_RelationNotRefOrCollection=The sourceProperty is not a reference or collection of the target's object type.
-Context_AddLinkCollectionOnly=AddLink and DeleteLink methods only work when the sourceProperty is a collection.
-Context_AddRelatedObjectCollectionOnly=AddRelatedObject method only works when the sourceProperty is a collection.
-Context_AddRelatedObjectSourceDeleted=AddRelatedObject method only works if the source entity is in a non-deleted state.
-Context_UpdateRelatedObjectNonCollectionOnly=UpdateRelatedObject method only works when the sourceProperty is not collection.
-Context_SetLinkReferenceOnly=SetLink method only works when the sourceProperty is not a collection.
-Context_SetRelatedObjectNonCollectionOnly=SetRelatedObject method only works when the sourceProperty is not a collection.
-Context_SetRelatedObjectSourceDeleted=SetRelatedObject method only works if the source entity is in a non-deleted state.
-Context_SetRelatedObjectLinkNonCollectionOnly=SetRelatedObjectLink method only works when the sourceProperty is not a collection.
-Context_SetRelatedObjectLinkSourceDeleted=SetRelatedObjectLink method only works if the source entity is in a non-deleted state.
-
-Context_NoContentTypeForMediaLink=Media link object of type '{0}' is configured to use the MIME type specified in the property '{1}'. However, that property's value is null or empty.
-Context_BatchNotSupportedForMediaLink=Saving entities with the [MediaEntry] attribute is not currently supported in batch mode. Use non-batched mode instead.
-Context_UnexpectedZeroRawRead=Unexpected result (<= 0) from stream.Read() while reading raw data for this property.
-Context_VersionNotSupported=Response version '{0}' is not supported. The only supported versions are: {1}.
-Context_ResponseVersionIsBiggerThanProtocolVersion=The response version is {0}, but the MaxProtocolVersion of the data service context is set to {1}. Set the MaxProtocolVersion to the version required by the response, and then retry the request. If the client does not support the required protocol version, then upgrade the client.
-Context_RequestVersionIsBiggerThanProtocolVersion=The request requires that version {0} of the protocol be used, but the MaxProtocolVersion of the data service context is set to {1}. Set the MaxProtocolVersion to the higher version, and then retry the operation.
-
-Context_ChildResourceExists=Attempt to delete a link between two objects failed because the identity of the target object of the link depends on the source object of the link.
-
-Context_ContentTypeRequiredForNamedStream=The ContentType value for a named stream cannot be null or an empty string.
-Context_EntityNotMediaLinkEntry=This operation requires that the specified entity be a Media Link Entry and that the ReadStreamUri be available. However, the specified entity either is not a Media Link Entry or does not have a valid ReadStreamUri value. If the entity is a Media Link Entry, re-query the data service for this entity to obtain a valid ReadStreamUri value.
-Context_MLEWithoutSaveStream=The entity type {0} is marked with MediaEntry attribute but no save stream was set for the entity.
-Context_SetSaveStreamOnMediaEntryProperty=Can't use SetSaveStream on entity with type {0} which has a media entry property defined.
-Context_SetSaveStreamWithoutEditMediaLink=There is no edit-media link for the entity's media stream. Make sure that the edit-media link is specified for this stream.
-Context_SetSaveStreamOnInvalidEntityState=Calling SetSaveStream on an entity with state '{0}' is not allowed.
-Context_EntityDoesNotContainNamedStream=The entity does not have a stream named '{0}'. Make sure that the name of the stream is correct.
-Context_MissingSelfAndEditLinkForNamedStream=There is no self-link or edit-media link for the stream named '{0}'. Make sure that either the self-link or edit-media link is specified for this stream.
-Context_BothLocationAndIdMustBeSpecified=The response should have both 'Location' and 'OData-EntityId' headers or the response should not have any of these headers.
-Context_BodyOperationParametersNotAllowedWithGet=OperationParameter of type BodyOperationParameter cannot be specified when the HttpMethod is set to GET.
-Context_MissingOperationParameterName=The Name property of an OperationParameter must be set to a non-null, non-empty string.
-Context_DuplicateUriOperationParameterName=Multiple uri operation parameters were found with the same name. Uri operation parameter names must be unique.
-Context_DuplicateBodyOperationParameterName=Multiple body operation parameters were found with the same name. Body operation parameter names must be unique.
-Context_NullKeysAreNotSupported=The serialized resource has a null value in key member '{0}'. Null values are not supported in key members.
-Context_ExecuteExpectsGetOrPostOrDelete=The HttpMethod must be GET, POST or DELETE.
-Context_EndExecuteExpectedVoidResponse=EndExecute overload for void service operations and actions received a non-void response from the server.
-Context_NullElementInOperationParameterArray=The operation parameters array contains a null element which is not allowed.
-Context_EntityMetadataBuilderIsRequired=An implementation of ODataEntityMetadataBuilder is required, but a null value was returned from GetEntityMetadataBuilder.
-Context_CannotChangeStateToAdded=The ChangeState method does not support the 'Added' state because additional information is needed for inserts. Use either AddObject or AddRelatedObject instead.
-Context_CannotChangeStateToModifiedIfNotUnchanged=The entity's state can only be changed to 'Modified' if it is currently 'Unchanged'.
-Context_CannotChangeStateIfAdded=An entity in the 'Added' state cannot be changed to '{0}', it can only be changed to 'Detached'.
-Context_OnMessageCreatingReturningNull=DataServiceContext.Configurations.RequestPipeline.OnMessageCreating property must not return a null value. Please return a non-null value for this property.
-Context_SendingRequest_InvalidWhenUsingOnMessageCreating=SendingRequest cannot be used in combination with the DataServiceContext.Configurations.RequestPipeline.OnMessageCreating property. Please use SendingRequest2 with DataServiceContext.Configurations.RequestPipeline.OnMessageCreating property instead.
-Context_MustBeUsedWith='{0}' must be used with '{1}'.
-Context_DeepInsertOneTopLevelEntity=Deep insert can only have one top level entity.
-Context_DeepInsertDeletedOrModified=For deep insert, ChangeState for '{0}' cannot be Deleted or Modified.
-
-DataServiceClientFormat_LoadServiceModelRequired=When you call the UseJson method without a parameter, you must use the LoadServiceModel property to provide a valid IEdmModel instance.
-DataServiceClientFormat_ValidServiceModelRequiredForJson=To use the JSON format, you must first call DataServiceContext.Format.UseJson() and supply a valid service model.
-
-Collection_NullCollectionReference={0}.{1} must return a non-null open property collection.
-
-ClientType_MissingOpenProperty=The open object property '{0}:{1}' is not defined.
-Clienttype_MultipleOpenProperty={0} has multiple definitions for OpenObjectAttribute.
-ClientType_MissingProperty=The closed type {0} does not have a corresponding {1} settable property.
-ClientType_KeysMustBeSimpleTypes=The key property '{0}' on for type '{1}' is of type '{2}', which is not a simple type. Only properties of simple type can be key properties.
-ClientType_KeysOnDifferentDeclaredType={0} has key properties declared at different levels within its type hierarchy.
-ClientType_MissingMimeTypeProperty=Type '{0}' has a MimeTypeProperty attribute that references the MIME type property '{1}'. However, this type does not have a property '{1}'.
-ClientType_MissingMimeTypeDataProperty=Type '{0}' has a MimeTypeProperty attribute that references the data property '{1}'. However, this type does not have a property '{1}'.
-ClientType_MissingMediaEntryProperty=Type '{0}' has a MediaEntry attribute that references a property called '{1}'. However, this type does not have a property '{1}'.
-ClientType_NoSettableFields=The complex type '{0}' has no settable properties.
-ClientType_MultipleImplementationNotSupported=Multiple implementations of ICollection is not supported.
-ClientType_NullOpenProperties=The open type property '{0}' returned a null instance.
-ClientType_Ambiguous=Resolving type from '{0}' that inherits from '{1}' is ambiguous.
-ClientType_UnsupportedType=The type '{0}' is not supported by the client library.
-ClientType_CollectionOfCollectionNotSupported=Collection properties of a collection type are not supported.
-ClientType_MultipleTypesWithSameName=Multiple types were found with the same name '{0}'. Type names must be unique.
-
-WebUtil_TypeMismatchInCollection=An item in the collection property '{0}' is not of the correct type. All items in the collection property must be of the collection item type.
-WebUtil_TypeMismatchInNonPropertyCollection=A collection of item type '{0}' has an item which is not of the correct type. All items in the collection must be of the collection item type.
-ClientTypeCache_NonEntityTypeCannotContainEntityProperties=The property '{0}' is of entity type and it cannot be a property of the type '{1}', which is not of entity type. Only entity types can contain navigation properties.
-DataServiceException_GeneralError=An error occurred while processing this request.
-
-Deserialize_GetEnumerator=Only a single enumeration is supported by this IEnumerable.
-Deserialize_Current=The current value '{1}' type is not compatible with the expected '{0}' type.
-Deserialize_MixedTextWithComment=Error processing response stream. Element value interspersed with a comment is not supported.
-Deserialize_ExpectingSimpleValue=Error processing response stream. The XML element contains mixed content.
-Deserialize_MismatchAtomLinkLocalSimple=Error processing response stream. Atom payload has a link, local object has a simple value.
-Deserialize_MismatchAtomLinkFeedPropertyNotCollection=Error processing response stream. Atom payload has a feed and the property '{0}' is not a collection.
-Deserialize_MismatchAtomLinkEntryPropertyIsCollection=Error processing response stream. Atom payload has an entry and the property '{0}' is a collection.
-Deserialize_NoLocationHeader=The response to this POST request did not contain a 'location' header. That is not supported by this client.
-Deserialize_ServerException=Error processing response stream. Server failed with following message:\r\n{0}
-Deserialize_MissingIdElement=Error processing response stream. Missing id element in the response.
-
-Collection_NullCollectionNotSupported=The value of the property '{0}' is null. Properties that are a collection type of primitive or complex types cannot be null.
-Collection_NullNonPropertyCollectionNotSupported=The value of the collection of item type '{0}' is null. A collection cannot have a null value.
-Collection_NullCollectionItemsNotSupported=An item in the collection property has a null value. Collection properties that contain items with null values are not supported.
-Collection_CollectionTypesInCollectionOfPrimitiveTypesNotAllowed=A collection property of primitive types cannot contain an item of a collection type.
-Collection_PrimitiveTypesInCollectionOfComplexTypesNotAllowed=A collection property of complex types cannot contain an item of a primitive type.
-
-EntityDescriptor_MissingSelfEditLink=The entity with identity '{0}' does not have a self-link or an edit-link associated with it. Please make sure that the entity has either a self-link or an edit-link associated with it.
-
-HttpProcessUtility_ContentTypeMissing=Content-Type header value missing.
-HttpProcessUtility_MediaTypeMissingValue=Media type is missing a parameter value.
-HttpProcessUtility_MediaTypeRequiresSemicolonBeforeParameter=Media type requires a ';' character before a parameter definition.
-HttpProcessUtility_MediaTypeRequiresSlash=Media type requires a '/' character.
-HttpProcessUtility_MediaTypeRequiresSubType=Media type requires a subtype definition.
-HttpProcessUtility_MediaTypeUnspecified=Media type is unspecified.
-HttpProcessUtility_EncodingNotSupported=Character set '{0}' is not supported.
-HttpProcessUtility_EscapeCharWithoutQuotes=Value for MIME type parameter '{0}' is incorrect because it contained escape characters even though it was not quoted.
-HttpProcessUtility_EscapeCharAtEnd=Value for MIME type parameter '{0}' is incorrect because it terminated with escape character. Escape characters must always be followed by a character in a parameter value.
-HttpProcessUtility_ClosingQuoteNotFound=Value for MIME type parameter '{0}' is incorrect because the closing quote character could not be found while the parameter value started with a quote character.
-
-MaterializeFromAtom_CountNotPresent=Count value is not part of the response stream.
-MaterializeFromAtom_TopLevelLinkNotAvailable=The top level link is only available after the response has been enumerated.
-MaterializeFromAtom_CollectionKeyNotPresentInLinkTable=The collection is not part of the current entry
-MaterializeFromAtom_GetNestLinkForFlatCollection=This response does not contain any nested collections. Use null as Key instead.
-
-ODataRequestMessage_GetStreamMethodNotSupported=GetStream method is not supported.
-
-Util_EmptyString=Empty string.
-Util_EmptyArray=Empty array.
-Util_NullArrayElement=Array contains a null element.
-
-ALinq_UnsupportedExpression=The expression type {0} is not supported.
-ALinq_CouldNotConvert=Could not convert constant {0} expression to string.
-ALinq_MethodNotSupported=The method '{0}' is not supported.
-ALinq_UnaryNotSupported=The unary operator '{0}' is not supported.
-ALinq_BinaryNotSupported=The binary operator '{0}' is not supported.
-ALinq_ConstantNotSupported=The constant for '{0}' is not supported.
-ALinq_TypeBinaryNotSupported=An operation between an expression and a type is not supported.
-ALinq_ConditionalNotSupported=The conditional expression is not supported.
-ALinq_ParameterNotSupported=The parameter expression is not supported.
-ALinq_MemberAccessNotSupported=The member access of '{0}' is not supported.
-ALinq_LambdaNotSupported=Lambda Expressions not supported.
-ALinq_NewNotSupported=New Expressions not supported.
-ALinq_MemberInitNotSupported=Member Init Expressions not supported.
-ALinq_ListInitNotSupported=List Init Expressions not supported.
-ALinq_NewArrayNotSupported=New Array Expressions not supported.
-ALinq_InvocationNotSupported=Invocation Expressions not supported.
-ALinq_QueryOptionsOnlyAllowedOnLeafNodes=Can only specify query options (orderby, where, take, skip) after last navigation.
-ALinq_CantExpand=Expand query option not allowed.
-ALinq_CantCastToUnsupportedPrimitive=Can't cast to unsupported type '{0}'
-ALinq_CantNavigateWithoutKeyPredicate=Individual properties can only be selected from a single resource or as part of a type. Specify a key predicate to restrict the entity set to a single instance or project the property into a named or anonymous type.
-ALinq_CanOnlyApplyOneKeyPredicate=Multiple key predicates cannot be specified for the same entity set.
-ALinq_CantTranslateExpression=The expression {0} is not supported.
-ALinq_TranslationError=Error translating Linq expression to URI: {0}
-ALinq_CantAddQueryOption=Custom query option not allowed.
-ALinq_CantAddDuplicateQueryOption=Can't add duplicate query option '{0}'.
-ALinq_CantAddAstoriaQueryOption=Can't add query option '{0}' because it would conflict with the query options from the translated Linq expression.
-ALinq_CantAddQueryOptionStartingWithDollarSign=Can't add query option '{0}' because it begins with reserved character '$'.
-ALinq_CantReferToPublicField=Referencing public field '{0}' not supported in query option expression. Use public property instead.
-ALinq_QueryOptionNotSupported=The query option '{0}' is not supported or is controlled by the OData service.
-ALinq_QueryOptionsOnlyAllowedOnSingletons=Cannot specify query options (orderby, where, take, skip, count) on single resource.
-ALinq_QueryOptionOutOfOrder=The {0} query option cannot be specified after the {1} query option.
-ALinq_CannotAddCountOption=Cannot add count option to the resource set.
-ALinq_CannotAddCountOptionConflict=Cannot add count option to the resource set because it would conflict with existing count options.
-ALinq_ProjectionOnlyAllowedOnLeafNodes=Can only specify 'select' query option after last navigation.
-ALinq_ProjectionCanOnlyHaveOneProjection=Cannot translate multiple Linq Select operations in a single 'select' query option.
-ALinq_ProjectionMemberAssignmentMismatch=Cannot initialize an instance of entity type '{0}' because '{1}' and '{2}' do not refer to the same source entity.
-ALinq_InvalidExpressionInNavigationPath=The expression '{0}' is not a valid expression for navigation path. The only supported operations inside the lambda expression body are MemberAccess and TypeAs. The expression must contain at least one MemberAccess and it cannot end with TypeAs.
-ALinq_ExpressionNotSupportedInProjectionToEntity=Initializing instances of the entity type {0} with the expression {1} is not supported.
-ALinq_ExpressionNotSupportedInProjection=Constructing or initializing instances of the type {0} with the expression {1} is not supported.
-ALinq_CannotConstructKnownEntityTypes=Construction of entity type instances must use object initializer with default constructor.
-ALinq_CannotCreateConstantEntity=Referencing of local entity type instances not supported when projecting results.
-ALinq_PropertyNamesMustMatchInProjections=Cannot assign the value from the {0} property to the {1} property. When projecting results into a entity type, the property names of the source type and the target type must match for the properties being projected.
-ALinq_CanOnlyProjectTheLeaf=Can only project the last entity type in the query being translated.
-ALinq_CannotProjectWithExplicitExpansion=Cannot create projection while there is an explicit expansion specified on the same query.
-ALinq_CollectionPropertyNotSupportedInOrderBy=The collection property '{0}' cannot be used in an 'orderby' query expression. Collection properties are not supported by the 'orderby' query option.
-ALinq_CollectionPropertyNotSupportedInWhere=The collection property '{0}' cannot be used in a 'where' query expression. Collection properties are only supported as the source of 'any' or 'all' methods in a 'where' query option.
-ALinq_CollectionMemberAccessNotSupportedInNavigation=Navigation to members of the collection property '{0}' in a 'select' query expression is not supported.
-ALinq_LinkPropertyNotSupportedInExpression=The property '{0}' of type 'DataServiceStreamLink' cannot be used in 'where' or 'orderby' query expressions. Properties of type 'DataServiceStreamLink' are not supported by these query options.
-ALinq_OfTypeArgumentNotAvailable=The target type for an OfType filter could not be determined.
-ALinq_CannotUseTypeFiltersMultipleTimes=Non-redundant type filters (OfType, C# 'as' and VB 'TryCast') can only be used once per resource set.
-ALinq_ExpressionCannotEndWithTypeAs=Unsupported expression '{0}' in '{1}' method. Expression cannot end with TypeAs.
-ALinq_TypeAsNotSupportedForMaxDataServiceVersionLessThan3=The expression 'TypeAs' is not supported when MaxProtocolVersion is less than '3.0'.
-ALinq_TypeAsArgumentNotEntityType=The type '{0}' is not an entity type. The target type for a TypeAs operator must be an entity type.
-ALinq_InvalidSourceForAnyAll=The source parameter for the '{0}' method has to be either a navigation or a collection property.
-ALinq_AnyAllNotSupportedInOrderBy=The method '{0}' is not supported by the 'orderby' query option.
-ALinq_FormatQueryOptionNotSupported=The '$format' query option is not supported. Use the DataServiceContext.Format property to set the desired format.
-ALinq_IllegalSystemQueryOption=Found the following illegal system token while building a projection or expansion path: '{0}'
-ALinq_IllegalPathStructure=Found a projection as a non-leaf segment in an expand path. Please rephrase your query. The projected property was : '{0}'
-ALinq_TypeTokenWithNoTrailingNavProp=Found an illegal type token '{0}' without a trailing navigation property.
-ALinq_ContainsNotValidOnEmptyCollection=The Contains method cannot be used with an empty collection.
-ALinq_AggregationMethodNotSupported=The aggregation method '{0}' is not supported.
-ALinq_InvalidAggregateExpression=The expression '{0}' is not a valid aggregate expression. The aggregate expression must evaluate to a single-valued property path to an aggregatable property.
+
+; NOTE: don't use \", use ' instead
+; NOTE: don't use #, use ; instead for comments
+; NOTE: leave the [strings] alone
+
+; See ResourceManager documentation and the ResGen tool.
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Error Messages
+
+Batch_ExpectedContentType=The expected content type for a batch requests is "multipart/mixed;boundary=batch" not "{0}".
+Batch_ExpectedResponse=The POST request expected a response with content. ID={0}
+Batch_IncompleteResponseCount=Not all requests in the batch had a response.
+Batch_UnexpectedContent=The web response contained unexpected sections. ID={0}
+
+Context_BaseUri=Expected an absolute, well formed http URL without a query or fragment.
+Context_BaseUriRequired=You must set the BaseUri property before you perform this operation.
+Context_ResolveReturnedInvalidUri=The Uri that is returned by the ResolveEntitySet function must be an absolute, well-formed URL with an "http" or "https" scheme name and without any query strings or fragment identifiers.
+Context_RequestUriIsRelativeBaseUriRequired=Because the requestUri is a relative Uri, you must set the BaseUri property on the DataServiceContext.
+Context_ResolveEntitySetOrBaseUriRequired=The ResolveEntitySet function must return a non-null Uri for the EntitySet '{0}', otherwise you must set the BaseUri property.
+Context_CannotConvertKey=Unable to convert value '{0}' into a key string for a URI.
+Context_TrackingExpectsAbsoluteUri=The identity value specified by either the the OData-EntityId header must be an absolute URI.
+Context_LocationHeaderExpectsAbsoluteUri=The 'Location' header value specified in the response must be an absolute URI.
+Context_LinkResourceInsertFailure=One of the link's resources failed to insert.
+Context_InternalError=Microsoft.OData.Client internal error {0}.
+Context_BatchExecuteError=An error occurred for this query during batch execution. See the inner exception for details.
+Context_EntitySetName=Expected a relative URL path without query or fragment.
+Context_BatchNotSupportedForNamedStreams=Changes cannot be saved as a batch when an entity has one or more streams associated with it. Retry the SaveChanges operation without enabling the SaveChangesOptions.BatchWithSingleChangeset and the SaveChangesOptions.BatchWithIndependentOperations options.
+Context_SetSaveStreamWithoutNamedStreamEditLink=The stream named '{0}' cannot be modified because it does not have an edit-media link. Make sure that the stream name is correct and that an edit-media link for this stream is included in the entry element in the response.
+Content_EntityWithoutKey=This operation requires the entity be of an Entity Type, and has at least one key property.
+Content_EntityIsNotEntityType=This operation requires the entity to be of an Entity Type, either mark its key properties, or attribute the class with DataServiceEntityAttribute
+Context_EntityNotContained=The context is not currently tracking the entity.
+Context_EntityAlreadyContained=The context is already tracking the entity.
+Context_DifferentEntityAlreadyContained=The context is already tracking a different entity with the same resource Uri.
+Context_DidNotOriginateAsync=The current object did not originate the async result.
+Context_AsyncAlreadyDone=The asynchronous result has already been completed.
+Context_OperationCanceled=The operation has been canceled.
+Context_PropertyNotSupportedForMaxDataServiceVersionGreaterThanX=The property '{0}' is not supported when MaxProtocolVersion is greater than '{1}'.
+
+Context_NoLoadWithInsertEnd=The context can not load the related collection or reference for objects in the added state.
+Context_NoRelationWithInsertEnd=One or both of the ends of the relationship is in the added state.
+Context_NoRelationWithDeleteEnd=One or both of the ends of the relationship is in the deleted state.
+Context_RelationAlreadyContained=The context is already tracking the relationship.
+Context_RelationNotRefOrCollection=The sourceProperty is not a reference or collection of the target's object type.
+Context_AddLinkCollectionOnly=AddLink and DeleteLink methods only work when the sourceProperty is a collection.
+Context_AddRelatedObjectCollectionOnly=AddRelatedObject method only works when the sourceProperty is a collection.
+Context_AddRelatedObjectSourceDeleted=AddRelatedObject method only works if the source entity is in a non-deleted state.
+Context_UpdateRelatedObjectNonCollectionOnly=UpdateRelatedObject method only works when the sourceProperty is not collection.
+Context_SetLinkReferenceOnly=SetLink method only works when the sourceProperty is not a collection.
+Context_SetRelatedObjectNonCollectionOnly=SetRelatedObject method only works when the sourceProperty is not a collection.
+Context_SetRelatedObjectSourceDeleted=SetRelatedObject method only works if the source entity is in a non-deleted state.
+Context_SetRelatedObjectLinkNonCollectionOnly=SetRelatedObjectLink method only works when the sourceProperty is not a collection.
+Context_SetRelatedObjectLinkSourceDeleted=SetRelatedObjectLink method only works if the source entity is in a non-deleted state.
+
+Context_NoContentTypeForMediaLink=Media link object of type '{0}' is configured to use the MIME type specified in the property '{1}'. However, that property's value is null or empty.
+Context_BatchNotSupportedForMediaLink=Saving entities with the [MediaEntry] attribute is not currently supported in batch mode. Use non-batched mode instead.
+Context_UnexpectedZeroRawRead=Unexpected result (<= 0) from stream.Read() while reading raw data for this property.
+Context_VersionNotSupported=Response version '{0}' is not supported. The only supported versions are: {1}.
+Context_ResponseVersionIsBiggerThanProtocolVersion=The response version is {0}, but the MaxProtocolVersion of the data service context is set to {1}. Set the MaxProtocolVersion to the version required by the response, and then retry the request. If the client does not support the required protocol version, then upgrade the client.
+Context_RequestVersionIsBiggerThanProtocolVersion=The request requires that version {0} of the protocol be used, but the MaxProtocolVersion of the data service context is set to {1}. Set the MaxProtocolVersion to the higher version, and then retry the operation.
+
+Context_ChildResourceExists=Attempt to delete a link between two objects failed because the identity of the target object of the link depends on the source object of the link.
+
+Context_ContentTypeRequiredForNamedStream=The ContentType value for a named stream cannot be null or an empty string.
+Context_EntityNotMediaLinkEntry=This operation requires that the specified entity be a Media Link Entry and that the ReadStreamUri be available. However, the specified entity either is not a Media Link Entry or does not have a valid ReadStreamUri value. If the entity is a Media Link Entry, re-query the data service for this entity to obtain a valid ReadStreamUri value.
+Context_MLEWithoutSaveStream=The entity type {0} is marked with MediaEntry attribute but no save stream was set for the entity.
+Context_SetSaveStreamOnMediaEntryProperty=Can't use SetSaveStream on entity with type {0} which has a media entry property defined.
+Context_SetSaveStreamWithoutEditMediaLink=There is no edit-media link for the entity's media stream. Make sure that the edit-media link is specified for this stream.
+Context_SetSaveStreamOnInvalidEntityState=Calling SetSaveStream on an entity with state '{0}' is not allowed.
+Context_EntityDoesNotContainNamedStream=The entity does not have a stream named '{0}'. Make sure that the name of the stream is correct.
+Context_MissingSelfAndEditLinkForNamedStream=There is no self-link or edit-media link for the stream named '{0}'. Make sure that either the self-link or edit-media link is specified for this stream.
+Context_BothLocationAndIdMustBeSpecified=The response should have both 'Location' and 'OData-EntityId' headers or the response should not have any of these headers.
+Context_BodyOperationParametersNotAllowedWithGet=OperationParameter of type BodyOperationParameter cannot be specified when the HttpMethod is set to GET.
+Context_MissingOperationParameterName=The Name property of an OperationParameter must be set to a non-null, non-empty string.
+Context_DuplicateUriOperationParameterName=Multiple uri operation parameters were found with the same name. Uri operation parameter names must be unique.
+Context_DuplicateBodyOperationParameterName=Multiple body operation parameters were found with the same name. Body operation parameter names must be unique.
+Context_NullKeysAreNotSupported=The serialized resource has a null value in key member '{0}'. Null values are not supported in key members.
+Context_ExecuteExpectsGetOrPostOrDelete=The HttpMethod must be GET, POST or DELETE.
+Context_EndExecuteExpectedVoidResponse=EndExecute overload for void service operations and actions received a non-void response from the server.
+Context_NullElementInOperationParameterArray=The operation parameters array contains a null element which is not allowed.
+Context_EntityMetadataBuilderIsRequired=An implementation of ODataEntityMetadataBuilder is required, but a null value was returned from GetEntityMetadataBuilder.
+Context_CannotChangeStateToAdded=The ChangeState method does not support the 'Added' state because additional information is needed for inserts. Use either AddObject or AddRelatedObject instead.
+Context_CannotChangeStateToModifiedIfNotUnchanged=The entity's state can only be changed to 'Modified' if it is currently 'Unchanged'.
+Context_CannotChangeStateIfAdded=An entity in the 'Added' state cannot be changed to '{0}', it can only be changed to 'Detached'.
+Context_OnMessageCreatingReturningNull=DataServiceContext.Configurations.RequestPipeline.OnMessageCreating property must not return a null value. Please return a non-null value for this property.
+Context_SendingRequest_InvalidWhenUsingOnMessageCreating=SendingRequest cannot be used in combination with the DataServiceContext.Configurations.RequestPipeline.OnMessageCreating property. Please use SendingRequest2 with DataServiceContext.Configurations.RequestPipeline.OnMessageCreating property instead.
+Context_MustBeUsedWith='{0}' must be used with '{1}'.
+Context_DeepInsertOneTopLevelEntity=Deep insert can only have one top level entity.
+Context_DeepInsertDeletedOrModified=For deep insert, ChangeState for '{0}' cannot be Deleted or Modified.
+
+DataServiceClientFormat_LoadServiceModelRequired=When you call the UseJson method without a parameter, you must use the LoadServiceModel property to provide a valid IEdmModel instance.
+DataServiceClientFormat_ValidServiceModelRequiredForJson=To use the JSON format, you must first call DataServiceContext.Format.UseJson() and supply a valid service model.
+
+Collection_NullCollectionReference={0}.{1} must return a non-null open property collection.
+
+ClientType_MissingOpenProperty=The open object property '{0}:{1}' is not defined.
+Clienttype_MultipleOpenProperty={0} has multiple definitions for OpenObjectAttribute.
+ClientType_MissingProperty=The closed type {0} does not have a corresponding {1} settable property.
+ClientType_KeysMustBeSimpleTypes=The key property '{0}' on for type '{1}' is of type '{2}', which is not a simple type. Only properties of simple type can be key properties.
+ClientType_KeysOnDifferentDeclaredType={0} has key properties declared at different levels within its type hierarchy.
+ClientType_MissingMimeTypeProperty=Type '{0}' has a MimeTypeProperty attribute that references the MIME type property '{1}'. However, this type does not have a property '{1}'.
+ClientType_MissingMimeTypeDataProperty=Type '{0}' has a MimeTypeProperty attribute that references the data property '{1}'. However, this type does not have a property '{1}'.
+ClientType_MissingMediaEntryProperty=Type '{0}' has a MediaEntry attribute that references a property called '{1}'. However, this type does not have a property '{1}'.
+ClientType_NoSettableFields=The complex type '{0}' has no settable properties.
+ClientType_MultipleImplementationNotSupported=Multiple implementations of ICollection is not supported.
+ClientType_NullOpenProperties=The open type property '{0}' returned a null instance.
+ClientType_Ambiguous=Resolving type from '{0}' that inherits from '{1}' is ambiguous.
+ClientType_UnsupportedType=The type '{0}' is not supported by the client library.
+ClientType_CollectionOfCollectionNotSupported=Collection properties of a collection type are not supported.
+ClientType_MultipleTypesWithSameName=Multiple types were found with the same name '{0}'. Type names must be unique.
+
+WebUtil_TypeMismatchInCollection=An item in the collection property '{0}' is not of the correct type. All items in the collection property must be of the collection item type.
+WebUtil_TypeMismatchInNonPropertyCollection=A collection of item type '{0}' has an item which is not of the correct type. All items in the collection must be of the collection item type.
+ClientTypeCache_NonEntityTypeCannotContainEntityProperties=The property '{0}' is of entity type and it cannot be a property of the type '{1}', which is not of entity type. Only entity types can contain navigation properties.
+DataServiceException_GeneralError=An error occurred while processing this request.
+
+Deserialize_GetEnumerator=Only a single enumeration is supported by this IEnumerable.
+Deserialize_Current=The current value '{1}' type is not compatible with the expected '{0}' type.
+Deserialize_MixedTextWithComment=Error processing response stream. Element value interspersed with a comment is not supported.
+Deserialize_ExpectingSimpleValue=Error processing response stream. The XML element contains mixed content.
+Deserialize_MismatchEntryLinkLocalSimple=Error processing response stream. Payload has a link, local object has a simple value.
+Deserialize_MismatchEntryLinkFeedPropertyNotCollection=Error processing response stream. Payload has a feed and the property '{0}' is not a collection.
+Deserialize_MismatchEntryLinkEntryPropertyIsCollection=Error processing response stream. Payload has an entry and the property '{0}' is a collection.
+Deserialize_NoLocationHeader=The response to this POST request did not contain a 'location' header. That is not supported by this client.
+Deserialize_ServerException=Error processing response stream. Server failed with following message:\r\n{0}
+Deserialize_MissingIdElement=Error processing response stream. Missing id element in the response.
+
+Collection_NullCollectionNotSupported=The value of the property '{0}' is null. Properties that are a collection type of primitive or complex types cannot be null.
+Collection_NullNonPropertyCollectionNotSupported=The value of the collection of item type '{0}' is null. A collection cannot have a null value.
+Collection_NullCollectionItemsNotSupported=An item in the collection property has a null value. Collection properties that contain items with null values are not supported.
+Collection_CollectionTypesInCollectionOfPrimitiveTypesNotAllowed=A collection property of primitive types cannot contain an item of a collection type.
+Collection_PrimitiveTypesInCollectionOfComplexTypesNotAllowed=A collection property of complex types cannot contain an item of a primitive type.
+
+EntityDescriptor_MissingSelfEditLink=The entity with identity '{0}' does not have a self-link or an edit-link associated with it. Please make sure that the entity has either a self-link or an edit-link associated with it.
+
+HttpProcessUtility_ContentTypeMissing=Content-Type header value missing.
+HttpProcessUtility_MediaTypeMissingValue=Media type is missing a parameter value.
+HttpProcessUtility_MediaTypeRequiresSemicolonBeforeParameter=Media type requires a ';' character before a parameter definition.
+HttpProcessUtility_MediaTypeRequiresSlash=Media type requires a '/' character.
+HttpProcessUtility_MediaTypeRequiresSubType=Media type requires a subtype definition.
+HttpProcessUtility_MediaTypeUnspecified=Media type is unspecified.
+HttpProcessUtility_EncodingNotSupported=Character set '{0}' is not supported.
+HttpProcessUtility_EscapeCharWithoutQuotes=Value for MIME type parameter '{0}' is incorrect because it contained escape characters even though it was not quoted.
+HttpProcessUtility_EscapeCharAtEnd=Value for MIME type parameter '{0}' is incorrect because it terminated with escape character. Escape characters must always be followed by a character in a parameter value.
+HttpProcessUtility_ClosingQuoteNotFound=Value for MIME type parameter '{0}' is incorrect because the closing quote character could not be found while the parameter value started with a quote character.
+
+MaterializeFromObject_CountNotPresent=Count value is not part of the response stream.
+MaterializeFromObject_TopLevelLinkNotAvailable=The top level link is only available after the response has been enumerated.
+MaterializeFromObject_CollectionKeyNotPresentInLinkTable=The collection is not part of the current entry
+MaterializeFromObject_GetNestLinkForFlatCollection=This response does not contain any nested collections. Use null as Key instead.
+
+ODataRequestMessage_GetStreamMethodNotSupported=GetStream method is not supported.
+
+Util_EmptyString=Empty string.
+Util_EmptyArray=Empty array.
+Util_NullArrayElement=Array contains a null element.
+
+ALinq_UnsupportedExpression=The expression type {0} is not supported.
+ALinq_CouldNotConvert=Could not convert constant {0} expression to string.
+ALinq_MethodNotSupported=The method '{0}' is not supported.
+ALinq_UnaryNotSupported=The unary operator '{0}' is not supported.
+ALinq_BinaryNotSupported=The binary operator '{0}' is not supported.
+ALinq_ConstantNotSupported=The constant for '{0}' is not supported.
+ALinq_TypeBinaryNotSupported=An operation between an expression and a type is not supported.
+ALinq_ConditionalNotSupported=The conditional expression is not supported.
+ALinq_ParameterNotSupported=The parameter expression is not supported.
+ALinq_MemberAccessNotSupported=The member access of '{0}' is not supported.
+ALinq_LambdaNotSupported=Lambda Expressions not supported.
+ALinq_NewNotSupported=New Expressions not supported.
+ALinq_MemberInitNotSupported=Member Init Expressions not supported.
+ALinq_ListInitNotSupported=List Init Expressions not supported.
+ALinq_NewArrayNotSupported=New Array Expressions not supported.
+ALinq_InvocationNotSupported=Invocation Expressions not supported.
+ALinq_QueryOptionsOnlyAllowedOnLeafNodes=Can only specify query options (orderby, where, take, skip) after last navigation.
+ALinq_CantExpand=Expand query option not allowed.
+ALinq_CantCastToUnsupportedPrimitive=Can't cast to unsupported type '{0}'
+ALinq_CantNavigateWithoutKeyPredicate=Individual properties can only be selected from a single resource or as part of a type. Specify a key predicate to restrict the entity set to a single instance or project the property into a named or anonymous type.
+ALinq_CanOnlyApplyOneKeyPredicate=Multiple key predicates cannot be specified for the same entity set.
+ALinq_CantTranslateExpression=The expression {0} is not supported.
+ALinq_TranslationError=Error translating Linq expression to URI: {0}
+ALinq_CantAddQueryOption=Custom query option not allowed.
+ALinq_CantAddDuplicateQueryOption=Can't add duplicate query option '{0}'.
+ALinq_CantAddAstoriaQueryOption=Can't add query option '{0}' because it would conflict with the query options from the translated Linq expression.
+ALinq_CantAddQueryOptionStartingWithDollarSign=Can't add query option '{0}' because it begins with reserved character '$'.
+ALinq_CantReferToPublicField=Referencing public field '{0}' not supported in query option expression. Use public property instead.
+ALinq_QueryOptionNotSupported=The query option '{0}' is not supported or is controlled by the OData service.
+ALinq_QueryOptionsOnlyAllowedOnSingletons=Cannot specify query options (orderby, where, take, skip, count) on single resource.
+ALinq_QueryOptionOutOfOrder=The {0} query option cannot be specified after the {1} query option.
+ALinq_CannotAddCountOption=Cannot add count option to the resource set.
+ALinq_CannotAddCountOptionConflict=Cannot add count option to the resource set because it would conflict with existing count options.
+ALinq_ProjectionOnlyAllowedOnLeafNodes=Can only specify 'select' query option after last navigation.
+ALinq_ProjectionCanOnlyHaveOneProjection=Cannot translate multiple Linq Select operations in a single 'select' query option.
+ALinq_ProjectionMemberAssignmentMismatch=Cannot initialize an instance of entity type '{0}' because '{1}' and '{2}' do not refer to the same source entity.
+ALinq_InvalidExpressionInNavigationPath=The expression '{0}' is not a valid expression for navigation path. The only supported operations inside the lambda expression body are MemberAccess and TypeAs. The expression must contain at least one MemberAccess and it cannot end with TypeAs.
+ALinq_ExpressionNotSupportedInProjectionToEntity=Initializing instances of the entity type {0} with the expression {1} is not supported.
+ALinq_ExpressionNotSupportedInProjection=Constructing or initializing instances of the type {0} with the expression {1} is not supported.
+ALinq_CannotConstructKnownEntityTypes=Construction of entity type instances must use object initializer with default constructor.
+ALinq_CannotCreateConstantEntity=Referencing of local entity type instances not supported when projecting results.
+ALinq_PropertyNamesMustMatchInProjections=Cannot assign the value from the {0} property to the {1} property. When projecting results into a entity type, the property names of the source type and the target type must match for the properties being projected.
+ALinq_CanOnlyProjectTheLeaf=Can only project the last entity type in the query being translated.
+ALinq_CannotProjectWithExplicitExpansion=Cannot create projection while there is an explicit expansion specified on the same query.
+ALinq_CollectionPropertyNotSupportedInOrderBy=The collection property '{0}' cannot be used in an 'orderby' query expression. Collection properties are not supported by the 'orderby' query option.
+ALinq_CollectionPropertyNotSupportedInWhere=The collection property '{0}' cannot be used in a 'where' query expression. Collection properties are only supported as the source of 'any' or 'all' methods in a 'where' query option.
+ALinq_CollectionMemberAccessNotSupportedInNavigation=Navigation to members of the collection property '{0}' in a 'select' query expression is not supported.
+ALinq_LinkPropertyNotSupportedInExpression=The property '{0}' of type 'DataServiceStreamLink' cannot be used in 'where' or 'orderby' query expressions. Properties of type 'DataServiceStreamLink' are not supported by these query options.
+ALinq_OfTypeArgumentNotAvailable=The target type for an OfType filter could not be determined.
+ALinq_CannotUseTypeFiltersMultipleTimes=Non-redundant type filters (OfType, C# 'as' and VB 'TryCast') can only be used once per resource set.
+ALinq_ExpressionCannotEndWithTypeAs=Unsupported expression '{0}' in '{1}' method. Expression cannot end with TypeAs.
+ALinq_TypeAsNotSupportedForMaxDataServiceVersionLessThan3=The expression 'TypeAs' is not supported when MaxProtocolVersion is less than '3.0'.
+ALinq_TypeAsArgumentNotEntityType=The type '{0}' is not an entity type. The target type for a TypeAs operator must be an entity type.
+ALinq_InvalidSourceForAnyAll=The source parameter for the '{0}' method has to be either a navigation or a collection property.
+ALinq_AnyAllNotSupportedInOrderBy=The method '{0}' is not supported by the 'orderby' query option.
+ALinq_FormatQueryOptionNotSupported=The '$format' query option is not supported. Use the DataServiceContext.Format property to set the desired format.
+ALinq_IllegalSystemQueryOption=Found the following illegal system token while building a projection or expansion path: '{0}'
+ALinq_IllegalPathStructure=Found a projection as a non-leaf segment in an expand path. Please rephrase your query. The projected property was : '{0}'
+ALinq_TypeTokenWithNoTrailingNavProp=Found an illegal type token '{0}' without a trailing navigation property.
+ALinq_ContainsNotValidOnEmptyCollection=The Contains method cannot be used with an empty collection.
+ALinq_AggregationMethodNotSupported=The aggregation method '{0}' is not supported.
+ALinq_InvalidAggregateExpression=The expression '{0}' is not a valid aggregate expression. The aggregate expression must evaluate to a single-valued property path to an aggregatable property.
ALinq_InvalidGroupingExpression=The expression '{0}' is not a valid expression for grouping. The grouping expression must evaluate to a single-valued property path, i.e., a path ending in a single-valued primitive.
-ALinq_InvalidGroupByKeySelector=The expression '{0}' in the GroupBy key selector is not supported.
-
-DSKAttribute_MustSpecifyAtleastOnePropertyName=DataServiceKey attribute must specify at least one property name.
-
-DataServiceCollection_LoadRequiresTargetCollectionObserved=Target collection for the Load operation must have an associated DataServiceContext.
-DataServiceCollection_CannotStopTrackingChildCollection=The tracking of DataServiceCollection can not be stopped for child collections.
-DataServiceCollection_OperationForTrackedOnly=This operation is only supported on collections that are being tracked.
-DataServiceCollection_CannotDetermineContextFromItems=The DataServiceContext to which the DataServiceCollection instance belongs could not be determined. The DataServiceContext must either be supplied in the DataServiceCollection constructor or be used to create the DataServiceQuery or QueryOperationResponse object that is the source of the items in the DataServiceCollection.
-DataServiceCollection_InsertIntoTrackedButNotLoadedCollection=An item could not be added to the collection. When items in a DataServiceCollection are tracked by the DataServiceContext, new items cannot be added before items have been loaded into the collection.
-DataServiceCollection_MultipleLoadAsyncOperationsAtTheSameTime=A previous LoadAsync operation has not yet completed. You cannot call the LoadAsync method on the DataServiceCollection again until the previous operation has completed.
-DataServiceCollection_LoadAsyncNoParamsWithoutParentEntity=The LoadAsync method cannot be called when the DataServiceCollection is not a child collection of a related entity.
-DataServiceCollection_LoadAsyncRequiresDataServiceQuery=Only a typed DataServiceQuery object can be supplied when calling the LoadAsync method on DataServiceCollection.
-
-DataBinding_DataServiceCollectionArgumentMustHaveEntityType=The DataServiceCollection to be tracked must contain entity typed elements with at least one key property. The element type '{0}' does not have any key property.
-DataBinding_CollectionPropertySetterValueHasObserver=Setting an instance of DataServiceCollection to an entity property is disallowed if the instance is already being tracked. Error occurred on property '{0}' for entity type '{1}'.
-DataBinding_DataServiceCollectionChangedUnknownActionCollection=Unexpected action '{0}' on the OnCollectionChanged event raised by DataServiceCollection.
-DataBinding_CollectionChangedUnknownActionCollection=Unexpected action '{0}' on the OnCollectionChanged event raised by a collection object of type '{1}'.
-DataBinding_BindingOperation_DetachedSource=Add/Update/Delete operation cannot be performed on a child entity, if the parent entity is already detached.
-DataBinding_BindingOperation_ArrayItemNull=Null values are disallowed during '{0}' operations on DataServiceCollection.
-DataBinding_BindingOperation_ArrayItemNotEntity=A value provided during '{0}' operation on DataServiceCollection is not of an entity type with key.
-DataBinding_Util_UnknownEntitySetName=Entity set name has not been provided for an entity of type '{0}'.
-DataBinding_EntityAlreadyInCollection=An attempt was made to add entity of type '{0}' to a collection in which the same entity already exists.
-DataBinding_NotifyPropertyChangedNotImpl=An attempt to track an entity or complex type failed because the entity or complex type '{0}' does not implement the INotifyPropertyChanged interface.
-DataBinding_NotifyCollectionChangedNotImpl=An attempt to track an entity or complex type failed because the entity or complex type contains a collection property of type '{0}' that does not implement the INotifyCollectionChanged interface.
-DataBinding_ComplexObjectAssociatedWithMultipleEntities=An attempt to track a complex object of type '{0}' failed because the complex object is already being tracked.
-DataBinding_CollectionAssociatedWithMultipleEntities=An attempt to track a collection object of type '{0}' failed because the collection object is already being tracked.
-
-AtomParser_SingleEntry_NoneFound=Expected exactly one Atom entry in the response from the server, but none was found.
-AtomParser_SingleEntry_MultipleFound=Expected exactly one Atom entry in the response from the server, but more than one was found.
-AtomParser_SingleEntry_ExpectedFeedOrEntry=Expected an Atom feed or entry in the response from the server, but found an unexpected element instead.
-
-AtomMaterializer_CannotAssignNull=The null value from property '{0}' cannot be assigned to a type '{1}'.
-AtomMaterializer_EntryIntoCollectionMismatch=An entry of type '{0}' cannot be added to a collection that contains instances of type '{1}'. This may occur when an existing entry of a different type has the same identity value or when the same entity is projected into two different types in a single query.
-AtomMaterializer_EntryToAccessIsNull=An entry returned by the navigation property '{0}' is null and cannot be initialized. You should check for a null value before accessing this property.
-AtomMaterializer_EntryToInitializeIsNull=An entry that contains the data required to create an instance of type '{0}' is null and cannot be initialized. You should check for a null value before accessing this entry.
-AtomMaterializer_ProjectEntityTypeMismatch=An entity of type '{0}' cannot be projected because there is already an instance of type '{1}' for '{2}'.
-AtomMaterializer_PropertyMissing=The expected property '{0}' could not be found while processing an entry. Check for null before accessing this property.
-AtomMaterializer_PropertyNotExpectedEntry=Property '{0}' is not an entity.
-AtomMaterializer_DataServiceCollectionNotSupportedForNonEntities=A DataServiceCollection can only contain entity types. Primitive and complex types cannot be contained by this kind of collection.
-AtomMaterializer_NoParameterlessCtorForCollectionProperty=Collection property '{0}' cannot be created because the type '{1}' does not have a public parameterless constructor.
-AtomMaterializer_InvalidCollectionItem=The element '{0}' is not a valid collection item. The name of the collection item element must be 'element' and must belong to the 'http://docs.oasis-open.org/odata/ns/data' namespace.
-AtomMaterializer_InvalidEntityType=There is a type mismatch between the client and the service. Type '{0}' is an entity type, but the type in the response payload does not represent an entity type. Please ensure that types defined on the client match the data model of the service, or update the service reference on the client.
-AtomMaterializer_InvalidNonEntityType=There is a type mismatch between the client and the service. Type '{0}' is not an entity type, but the type in the response payload represents an entity type. Please ensure that types defined on the client match the data model of the service, or update the service reference on the client.
-AtomMaterializer_CollectionExpectedCollection=Materialization of top level collection expected ICollection<>, but actual type was {0}.
-AtomMaterializer_InvalidResponsePayload=The response payload is a not a valid response payload. Please make sure that the top level element is a valid Atom or JSON element or belongs to '{0}' namespace.
-AtomMaterializer_InvalidContentTypeEncountered=The response content type '{0}' is not currently supported.
-AtomMaterializer_MaterializationTypeError=Cannot materialize the results into a collection type '{0}' because it does not have a parameterless constructor.
-AtomMaterializer_ResetAfterEnumeratorCreationError=Reset should never be called for collection reader in an internal enumerable.
-AtomMaterializer_TypeShouldBeCollectionError=Cannot materialize a collection of a primitives or complex without the type '{0}' being a collection.
-
-Serializer_LoopsNotAllowedInComplexTypes=A circular loop was detected while serializing the property '{0}'. You must make sure that loops are not present in properties that return a collection or complex type.
-Serializer_LoopsNotAllowedInNonPropertyComplexTypes=A circular loop was detected while serializing the complex type '{0}'. You must make sure that loops are not present in a collection or a complex type.
-Serializer_InvalidCollectionParameterItemType=The operation parameter named '{0}' has a collection item of Edm type kind '{1}'. A collection item must be either a primitive type or a complex Edm type kind.
-Serializer_NullCollectionParameterItemValue=The operation parameter named '{0}' has a null collection item. The items of a collection must not be null.
-Serializer_InvalidParameterType=The operation parameter named '{0}' was of Edm type kind '{1}'. An operation parameter must be either a primitive type, a complex type or a collection of primitive or complex types.
-Serializer_UriDoesNotContainParameterAlias=The parameter alias '{0}' was not present in the request URI. All parameters passed as alias must be present in the request URI.
-Serializer_InvalidEnumMemberValue=The enum type '{0}' has no member named '{1}'.
-
-; NOTE: error message copied from Silverlight because the portable library requires this
-DataServiceQuery_EnumerationNotSupported=This target framework does not enable you to directly enumerate over a data service query. This is because enumeration automatically sends a synchronous request to the data service. Because this framework only supports asynchronous operations, you must instead call the BeginExecute and EndExecute methods to obtain a query result that supports enumeration.
-
-; NOTE: Moved over to common as this is used in the portable library
-Context_SendingRequestEventArgsNotHttp=Only instances of HttpWebRequest are currently allowed for this property. Other subtypes of WebRequest are not supported.
-
-; NOTE: these error messages are copied from ODL because they appear in shared source files.
-General_InternalError=An internal error '{0}' occurred.
-
-ODataMetadataBuilder_MissingEntitySetUri=The entity set '{0}' doesn't have the 'OData.EntitySetUri' annotation. This annotation is required.
-ODataMetadataBuilder_MissingSegmentForEntitySetUriSuffix=The entity set '{0}' has a URI '{1}' which has no path segments. An entity set URI suffix cannot be appended to a URI without path segments.
-ODataMetadataBuilder_MissingEntityInstanceUri=Neither the 'OData.EntityInstanceUri' nor the 'OData.EntitySetUriSuffix' annotation was found for entity set '{0}'. One of these annotations is required.
-
-EdmValueUtils_UnsupportedPrimitiveType=The type '{0}' was found for a primitive value. In OData, the type '{0}' is not a supported primitive type.
-EdmValueUtils_IncorrectPrimitiveTypeKind=Incompatible primitive type kinds were found. The type '{0}' was found to be of kind '{2}' instead of the expected kind '{1}'.
-EdmValueUtils_IncorrectPrimitiveTypeKindNoTypeName=Incompatible primitive type kinds were found. Found type kind '{0}' instead of the expected kind '{1}'.
-EdmValueUtils_CannotConvertTypeToClrValue=A value with primitive kind '{0}' cannot be converted into a primitive object value.
-
-; NOTE: these error messages are copied from EdmLib because they appear in shared source files.
-ValueParser_InvalidDuration=The value '{0}' is not a valid duration value.
-
-; Note: The below list of error messages are common to the ODataLib, EdmLib, Spatial, Server and Client projects.
-PlatformHelper_DateTimeOffsetMustContainTimeZone=The time zone information is missing on the DateTimeOffset value '{0}'. A DateTimeOffset value must contain the time zone information.
-;END
-
-; NOTE: don't use \", use ' instead
-; NOTE: don't use #, use ; instead for comments
-; NOTE: leave the [strings] alone
-
-; See ResourceManager documentation and the ResGen tool.
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-; Error Messages
-
-DataServiceRequest_FailGetCount=Failed to get the count value from the server.
-DataServiceRequest_FailGetValue=Failed to get the value from the server.
-
-Context_ExecuteExpectedVoidResponse=Execute overload for void service operations and actions received a non-void response from the server.
-;END
+ALinq_InvalidGroupByKeySelector=The expression '{0}' in the GroupBy key selector is not supported.
+
+DSKAttribute_MustSpecifyAtleastOnePropertyName=DataServiceKey attribute must specify at least one property name.
+
+DataServiceCollection_LoadRequiresTargetCollectionObserved=Target collection for the Load operation must have an associated DataServiceContext.
+DataServiceCollection_CannotStopTrackingChildCollection=The tracking of DataServiceCollection can not be stopped for child collections.
+DataServiceCollection_OperationForTrackedOnly=This operation is only supported on collections that are being tracked.
+DataServiceCollection_CannotDetermineContextFromItems=The DataServiceContext to which the DataServiceCollection instance belongs could not be determined. The DataServiceContext must either be supplied in the DataServiceCollection constructor or be used to create the DataServiceQuery or QueryOperationResponse object that is the source of the items in the DataServiceCollection.
+DataServiceCollection_InsertIntoTrackedButNotLoadedCollection=An item could not be added to the collection. When items in a DataServiceCollection are tracked by the DataServiceContext, new items cannot be added before items have been loaded into the collection.
+DataServiceCollection_MultipleLoadAsyncOperationsAtTheSameTime=A previous LoadAsync operation has not yet completed. You cannot call the LoadAsync method on the DataServiceCollection again until the previous operation has completed.
+DataServiceCollection_LoadAsyncNoParamsWithoutParentEntity=The LoadAsync method cannot be called when the DataServiceCollection is not a child collection of a related entity.
+DataServiceCollection_LoadAsyncRequiresDataServiceQuery=Only a typed DataServiceQuery object can be supplied when calling the LoadAsync method on DataServiceCollection.
+
+DataBinding_DataServiceCollectionArgumentMustHaveEntityType=The DataServiceCollection to be tracked must contain entity typed elements with at least one key property. The element type '{0}' does not have any key property.
+DataBinding_CollectionPropertySetterValueHasObserver=Setting an instance of DataServiceCollection to an entity property is disallowed if the instance is already being tracked. Error occurred on property '{0}' for entity type '{1}'.
+DataBinding_DataServiceCollectionChangedUnknownActionCollection=Unexpected action '{0}' on the OnCollectionChanged event raised by DataServiceCollection.
+DataBinding_CollectionChangedUnknownActionCollection=Unexpected action '{0}' on the OnCollectionChanged event raised by a collection object of type '{1}'.
+DataBinding_BindingOperation_DetachedSource=Add/Update/Delete operation cannot be performed on a child entity, if the parent entity is already detached.
+DataBinding_BindingOperation_ArrayItemNull=Null values are disallowed during '{0}' operations on DataServiceCollection.
+DataBinding_BindingOperation_ArrayItemNotEntity=A value provided during '{0}' operation on DataServiceCollection is not of an entity type with key.
+DataBinding_Util_UnknownEntitySetName=Entity set name has not been provided for an entity of type '{0}'.
+DataBinding_EntityAlreadyInCollection=An attempt was made to add entity of type '{0}' to a collection in which the same entity already exists.
+DataBinding_NotifyPropertyChangedNotImpl=An attempt to track an entity or complex type failed because the entity or complex type '{0}' does not implement the INotifyPropertyChanged interface.
+DataBinding_NotifyCollectionChangedNotImpl=An attempt to track an entity or complex type failed because the entity or complex type contains a collection property of type '{0}' that does not implement the INotifyCollectionChanged interface.
+DataBinding_ComplexObjectAssociatedWithMultipleEntities=An attempt to track a complex object of type '{0}' failed because the complex object is already being tracked.
+DataBinding_CollectionAssociatedWithMultipleEntities=An attempt to track a collection object of type '{0}' failed because the collection object is already being tracked.
+
+Parser_SingleEntry_NoneFound=Expected exactly one entry in the response from the server, but none was found.
+Parser_SingleEntry_MultipleFound=Expected exactly one entry in the response from the server, but more than one was found.
+Parser_SingleEntry_ExpectedFeedOrEntry=Expected a feed or entry in the response from the server, but found an unexpected element instead.
+
+Materializer_CannotAssignNull=The null value from property '{0}' cannot be assigned to a type '{1}'.
+Materializer_EntryIntoCollectionMismatch=An entry of type '{0}' cannot be added to a collection that contains instances of type '{1}'. This may occur when an existing entry of a different type has the same identity value or when the same entity is projected into two different types in a single query.
+Materializer_EntryToAccessIsNull=An entry returned by the navigation property '{0}' is null and cannot be initialized. You should check for a null value before accessing this property.
+Materializer_EntryToInitializeIsNull=An entry that contains the data required to create an instance of type '{0}' is null and cannot be initialized. You should check for a null value before accessing this entry.
+Materializer_ProjectEntityTypeMismatch=An entity of type '{0}' cannot be projected because there is already an instance of type '{1}' for '{2}'.
+Materializer_PropertyMissing=The expected property '{0}' could not be found while processing an entry. Check for null before accessing this property.
+Materializer_PropertyNotExpectedEntry=Property '{0}' is not an entity.
+Materializer_DataServiceCollectionNotSupportedForNonEntities=A DataServiceCollection can only contain entity types. Primitive and complex types cannot be contained by this kind of collection.
+Materializer_NoParameterlessCtorForCollectionProperty=Collection property '{0}' cannot be created because the type '{1}' does not have a public parameterless constructor.
+Materializer_InvalidCollectionItem=The element '{0}' is not a valid collection item. The name of the collection item element must be 'element' and must belong to the 'http://docs.oasis-open.org/odata/ns/data' namespace.
+Materializer_InvalidEntityType=There is a type mismatch between the client and the service. Type '{0}' is an entity type, but the type in the response payload does not represent an entity type. Please ensure that types defined on the client match the data model of the service, or update the service reference on the client.
+Materializer_InvalidNonEntityType=There is a type mismatch between the client and the service. Type '{0}' is not an entity type, but the type in the response payload represents an entity type. Please ensure that types defined on the client match the data model of the service, or update the service reference on the client.
+Materializer_CollectionExpectedCollection=Materialization of top level collection expected ICollection<>, but actual type was {0}.
+Materializer_InvalidResponsePayload=The response payload is a not a valid response payload. Please make sure that the top level element is a valid JSON element or belongs to '{0}' namespace.
+Materializer_InvalidContentTypeEncountered=The response content type '{0}' is not currently supported.
+Materializer_MaterializationTypeError=Cannot materialize the results into a collection type '{0}' because it does not have a parameterless constructor.
+Materializer_ResetAfterEnumeratorCreationError=Reset should never be called for collection reader in an internal enumerable.
+Materializer_TypeShouldBeCollectionError=Cannot materialize a collection of a primitives or complex without the type '{0}' being a collection.
+
+Serializer_LoopsNotAllowedInComplexTypes=A circular loop was detected while serializing the property '{0}'. You must make sure that loops are not present in properties that return a collection or complex type.
+Serializer_LoopsNotAllowedInNonPropertyComplexTypes=A circular loop was detected while serializing the complex type '{0}'. You must make sure that loops are not present in a collection or a complex type.
+Serializer_InvalidCollectionParameterItemType=The operation parameter named '{0}' has a collection item of Edm type kind '{1}'. A collection item must be either a primitive type or a complex Edm type kind.
+Serializer_NullCollectionParameterItemValue=The operation parameter named '{0}' has a null collection item. The items of a collection must not be null.
+Serializer_InvalidParameterType=The operation parameter named '{0}' was of Edm type kind '{1}'. An operation parameter must be either a primitive type, a complex type or a collection of primitive or complex types.
+Serializer_UriDoesNotContainParameterAlias=The parameter alias '{0}' was not present in the request URI. All parameters passed as alias must be present in the request URI.
+Serializer_InvalidEnumMemberValue=The enum type '{0}' has no member named '{1}'.
+
+; NOTE: error message copied from Silverlight because the portable library requires this
+DataServiceQuery_EnumerationNotSupported=This target framework does not enable you to directly enumerate over a data service query. This is because enumeration automatically sends a synchronous request to the data service. Because this framework only supports asynchronous operations, you must instead call the BeginExecute and EndExecute methods to obtain a query result that supports enumeration.
+
+; NOTE: Moved over to common as this is used in the portable library
+Context_SendingRequestEventArgsNotHttp=Only instances of HttpWebRequest are currently allowed for this property. Other subtypes of WebRequest are not supported.
+
+; NOTE: these error messages are copied from ODL because they appear in shared source files.
+General_InternalError=An internal error '{0}' occurred.
+
+ODataMetadataBuilder_MissingEntitySetUri=The entity set '{0}' doesn't have the 'OData.EntitySetUri' annotation. This annotation is required.
+ODataMetadataBuilder_MissingSegmentForEntitySetUriSuffix=The entity set '{0}' has a URI '{1}' which has no path segments. An entity set URI suffix cannot be appended to a URI without path segments.
+ODataMetadataBuilder_MissingEntityInstanceUri=Neither the 'OData.EntityInstanceUri' nor the 'OData.EntitySetUriSuffix' annotation was found for entity set '{0}'. One of these annotations is required.
+
+EdmValueUtils_UnsupportedPrimitiveType=The type '{0}' was found for a primitive value. In OData, the type '{0}' is not a supported primitive type.
+EdmValueUtils_IncorrectPrimitiveTypeKind=Incompatible primitive type kinds were found. The type '{0}' was found to be of kind '{2}' instead of the expected kind '{1}'.
+EdmValueUtils_IncorrectPrimitiveTypeKindNoTypeName=Incompatible primitive type kinds were found. Found type kind '{0}' instead of the expected kind '{1}'.
+EdmValueUtils_CannotConvertTypeToClrValue=A value with primitive kind '{0}' cannot be converted into a primitive object value.
+
+; NOTE: these error messages are copied from EdmLib because they appear in shared source files.
+ValueParser_InvalidDuration=The value '{0}' is not a valid duration value.
+
+; Note: The below list of error messages are common to the ODataLib, EdmLib, Spatial, Server and Client projects.
+PlatformHelper_DateTimeOffsetMustContainTimeZone=The time zone information is missing on the DateTimeOffset value '{0}'. A DateTimeOffset value must contain the time zone information.
+;END
+
+; NOTE: don't use \", use ' instead
+; NOTE: don't use #, use ; instead for comments
+; NOTE: leave the [strings] alone
+
+; See ResourceManager documentation and the ResGen tool.
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Error Messages
+
+DataServiceRequest_FailGetCount=Failed to get the count value from the server.
+DataServiceRequest_FailGetValue=Failed to get the value from the server.
+
+Context_ExecuteExpectedVoidResponse=Execute overload for void service operations and actions received a non-void response from the server.
+;END
diff --git a/src/Microsoft.OData.Client/MaterializeFromAtom.cs b/src/Microsoft.OData.Client/ObjectMaterializer.cs
similarity index 91%
rename from src/Microsoft.OData.Client/MaterializeFromAtom.cs
rename to src/Microsoft.OData.Client/ObjectMaterializer.cs
index f3202b1b6a..d8ddbdd4ad 100644
--- a/src/Microsoft.OData.Client/MaterializeFromAtom.cs
+++ b/src/Microsoft.OData.Client/ObjectMaterializer.cs
@@ -1,5 +1,5 @@
//---------------------------------------------------------------------
-//
+//
// Copyright (C) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
//
//---------------------------------------------------------------------
@@ -21,9 +21,9 @@ namespace Microsoft.OData.Client
#endregion Namespaces
///
- /// Use this class to materialize objects from an application/atom+xml stream.
+ /// Use this class to materialize objects from a stream.
///
- internal class MaterializeAtom : IDisposable, IEnumerable, IEnumerator
+ internal class ObjectMaterializer : IDisposable, IEnumerable, IEnumerator
{
#region Private fields
@@ -37,7 +37,7 @@ internal class MaterializeAtom : IDisposable, IEnumerable, IEnumerator
/// <property> text-value </property>
private readonly bool expectingPrimitiveValue;
- /// Materializer from which instances are read.
+ /// ObjectMaterializer from which instances are read.
///
/// The log for the materializer stores all changes for the
/// associated data context.
@@ -67,7 +67,7 @@ internal class MaterializeAtom : IDisposable, IEnumerable, IEnumerator
#endregion Private fields
///
- /// constructor
+ /// Initializes a new instance of the class.
///
/// originating context
/// Query components (projection, expected type)
@@ -75,7 +75,7 @@ internal class MaterializeAtom : IDisposable, IEnumerable, IEnumerator
/// responseMessage
/// The kind of the payload to materialize.
/// Cache used to store temporary metadata used for materialization of OData items.
- internal MaterializeAtom(
+ internal ObjectMaterializer(
ResponseInfo responseInfo,
QueryComponents queryComponents,
ProjectionPlan plan,
@@ -89,7 +89,7 @@ internal MaterializeAtom(
this.elementType = queryComponents.LastSegmentType;
this.expectingPrimitiveValue = PrimitiveType.IsKnownNullableType(elementType);
- Debug.Assert(responseMessage != null, "Response message is null! Did you mean to use Materializer.ResultsWrapper/EmptyResults?");
+ Debug.Assert(responseMessage != null, "Response message is null! Did you mean to use ObjectMaterializer.ResultsWrapper/EmptyResults?");
Type implementationType;
Type materializerType = GetTypeForMaterializer(this.expectingPrimitiveValue, this.elementType, responseInfo.Model, out implementationType);
@@ -97,7 +97,7 @@ internal MaterializeAtom(
}
///
- /// constructor
+ /// Initializes a new instance of the class.
///
/// originating context
/// entries that needs to be materialized.
@@ -105,7 +105,7 @@ internal MaterializeAtom(
/// The format of the response being materialized from.
/// Cache used to store temporary metadata used for materialization of OData items.
/// Whether to include navigation properties when materializing an entry.
- internal MaterializeAtom(ResponseInfo responseInfo, IEnumerable entries, Type elementType, ODataFormat format, MaterializerCache materializerCache, bool includeLinks = true)
+ internal ObjectMaterializer(ResponseInfo responseInfo, IEnumerable entries, Type elementType, ODataFormat format, MaterializerCache materializerCache, bool includeLinks = true)
{
this.responseInfo = responseInfo;
this.elementType = elementType;
@@ -122,7 +122,7 @@ internal MaterializeAtom(ResponseInfo responseInfo, IEnumerable e
///
/// Private internal constructor used for creating empty wrapper.
///
- private MaterializeAtom()
+ private ObjectMaterializer()
{
}
@@ -147,7 +147,7 @@ public object Current
///
/// A materializer for empty results
///
- internal static MaterializeAtom EmptyResults
+ internal static ObjectMaterializer EmptyResults
{
get
{
@@ -243,7 +243,7 @@ public virtual IEnumerator GetEnumerator()
/// The actual type that implements ICollection<>
/// Type of the instances that will be returned by materializer.
///
- /// For collection navigation properties (i.e. ICollection<T> where T is an entity the method returns T. Materializer will
+ /// For collection navigation properties (i.e. ICollection<T> where T is an entity the method returns T. ObjectMaterializer will
/// return single entity each time MoveNext() is called. However for collection properties we need the whole property instead of just a
/// single collection item.
///
@@ -381,7 +381,7 @@ void System.Collections.IEnumerator.Reset()
/// Context of expression to analyze.
/// the results to wrap
/// a new materializer
- internal static MaterializeAtom CreateWrapper(DataServiceContext context, IEnumerable results)
+ internal static ObjectMaterializer CreateWrapper(DataServiceContext context, IEnumerable results)
{
return new ResultsWrapper(context, results, null);
}
@@ -391,7 +391,7 @@ internal static MaterializeAtom CreateWrapper(DataServiceContext context, IEnume
/// The current page of results
/// The continuation for the results.
/// A new materializer.
- internal static MaterializeAtom CreateWrapper(DataServiceContext context, IEnumerable results, DataServiceQueryContinuation continuation)
+ internal static ObjectMaterializer CreateWrapper(DataServiceContext context, IEnumerable results, DataServiceQueryContinuation continuation)
{
return new ResultsWrapper(context, results, continuation);
}
@@ -420,7 +420,7 @@ internal long CountValue()
/// An Uri pointing to the next page for the collection
internal virtual DataServiceQueryContinuation GetContinuation(IEnumerable key)
{
- Debug.Assert(this.materializer != null, "Materializer is null!");
+ Debug.Assert(this.materializer != null, "ObjectMaterializer is null!");
DataServiceQueryContinuation result;
if (key == null)
@@ -429,7 +429,7 @@ internal virtual DataServiceQueryContinuation GetContinuation(IEnumerable key)
{
// expectingSingleValue && !moved : haven't started parsing single value (single value should not have next link anyway)
// !expectingSingleValue && !IsEndOfStream : collection type feed did not finish parsing yet
- throw new InvalidOperationException(Strings.MaterializeFromAtom_TopLevelLinkNotAvailable);
+ throw new InvalidOperationException(Strings.MaterializeFromObject_TopLevelLinkNotAvailable);
}
// we have already moved to the end of stream
@@ -451,7 +451,7 @@ internal virtual DataServiceQueryContinuation GetContinuation(IEnumerable key)
if (!this.materializer.NextLinkTable.TryGetValue(key, out result))
{
// someone has asked for a collection that's "out of scope" or doesn't exist
- throw new ArgumentException(Strings.MaterializeFromAtom_CollectionKeyNotPresentInLinkTable);
+ throw new ArgumentException(Strings.MaterializeFromObject_CollectionKeyNotPresentInLinkTable);
}
}
@@ -521,7 +521,7 @@ internal static string ReadElementString(XmlReader reader, bool checkNullAttribu
///
/// Private type to wrap partial (paged) results and make it look like standard materialized results.
///
- private class ResultsWrapper : MaterializeAtom
+ private class ResultsWrapper : ObjectMaterializer
{
#region Private fields
@@ -573,7 +573,7 @@ internal override DataServiceQueryContinuation GetContinuation(IEnumerable key)
}
else
{
- throw new InvalidOperationException(Strings.MaterializeFromAtom_GetNestLinkForFlatCollection);
+ throw new InvalidOperationException(Strings.MaterializeFromObject_GetNestLinkForFlatCollection);
}
}
diff --git a/src/Microsoft.OData.Client/AtomMaterializerLog.cs b/src/Microsoft.OData.Client/ObjectMaterializerLog.cs
similarity index 95%
rename from src/Microsoft.OData.Client/AtomMaterializerLog.cs
rename to src/Microsoft.OData.Client/ObjectMaterializerLog.cs
index d3d7510845..79e9f32d26 100644
--- a/src/Microsoft.OData.Client/AtomMaterializerLog.cs
+++ b/src/Microsoft.OData.Client/ObjectMaterializerLog.cs
@@ -1,5 +1,5 @@
//---------------------------------------------------------------------
-//
+//
// Copyright (C) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
//
//---------------------------------------------------------------------
@@ -21,7 +21,7 @@ namespace Microsoft.OData.Client
///
/// Use this class to keep a log of changes done by the materializer.
///
- internal class AtomMaterializerLog
+ internal class ObjectMaterializerLog
{
#region Private fields
@@ -56,7 +56,7 @@ internal class AtomMaterializerLog
#region Constructors
///
- /// Initializes a new instance.
+ /// Initializes a new instance.
///
/// The merge option for the log.
/// The model for the log.
@@ -65,7 +65,7 @@ internal class AtomMaterializerLog
///
/// Note that the merge option can't be changed.
///
- internal AtomMaterializerLog(MergeOption mergeOption, ClientEdmModel model, EntityTrackerBase entityTracker, IODataMaterializerContext materializerContext)
+ internal ObjectMaterializerLog(MergeOption mergeOption, ClientEdmModel model, EntityTrackerBase entityTracker, IODataMaterializerContext materializerContext)
{
Debug.Assert(model != null, "model != null");
Debug.Assert(entityTracker != null, "entityTracker != null");
@@ -195,11 +195,11 @@ internal void ApplyToContext()
// Whenever we merge the data, only at those times will be merge the links also
EntityDescriptor descriptor = this.entityTracker.InternalAttachEntityDescriptor(entry.EntityDescriptor, false /*failIfDuplicated*/);
- AtomMaterializerLog.MergeEntityDescriptorInfo(descriptor, entry.EntityDescriptor, mergeEntityDescriptorInfo, this.mergeOption);
+ ObjectMaterializerLog.MergeEntityDescriptorInfo(descriptor, entry.EntityDescriptor, mergeEntityDescriptorInfo, this.mergeOption);
if (mergeEntityDescriptorInfo)
{
- // In AtomMaterializer.TryResolveFromContext, we set AtomEntry.ShouldUpdateFromPayload to true
+ // In ObjectMaterializer.TryResolveFromContext, we set ObjectEntry.ShouldUpdateFromPayload to true
// when even MergeOption is PreserveChanges and entityState is Deleted. But in that case, we cannot
// set the entity state to Unchanged, hence need to workaround that one scenario
if (this.mergeOption != MergeOption.PreserveChanges || descriptor.State != EntityStates.Deleted)
diff --git a/src/Microsoft.OData.Client/Parameterized.Microsoft.OData.Client.cs b/src/Microsoft.OData.Client/Parameterized.Microsoft.OData.Client.cs
index a3d9e0c68e..316bec8466 100644
--- a/src/Microsoft.OData.Client/Parameterized.Microsoft.OData.Client.cs
+++ b/src/Microsoft.OData.Client/Parameterized.Microsoft.OData.Client.cs
@@ -113,7 +113,7 @@ internal static string Context_CannotConvertKey(object p0)
}
///
- /// A string like "The identity value specified by either the Atom id element or the OData-EntityId header must be an absolute URI."
+ /// A string like "The identity value specified by either the OData-EntityId header must be an absolute URI."
///
internal static string Context_TrackingExpectsAbsoluteUri
{
@@ -1023,30 +1023,30 @@ internal static string Deserialize_ExpectingSimpleValue
}
///
- /// A string like "Error processing response stream. Atom payload has a link, local object has a simple value."
+ /// A string like "Error processing response stream. Payload has a link, local object has a simple value."
///
- internal static string Deserialize_MismatchAtomLinkLocalSimple
+ internal static string Deserialize_MismatchEntryLinkLocalSimple
{
get
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Deserialize_MismatchAtomLinkLocalSimple);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Deserialize_MismatchEntryLinkLocalSimple);
}
}
///
- /// A string like "Error processing response stream. Atom payload has a feed and the property '{0}' is not a collection."
+ /// A string like "Error processing response stream. Payload has a feed and the property '{0}' is not a collection."
///
- internal static string Deserialize_MismatchAtomLinkFeedPropertyNotCollection(object p0)
+ internal static string Deserialize_MismatchEntryLinkFeedPropertyNotCollection(object p0)
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Deserialize_MismatchAtomLinkFeedPropertyNotCollection, p0);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Deserialize_MismatchEntryLinkFeedPropertyNotCollection, p0);
}
///
- /// A string like "Error processing response stream. Atom payload has an entry and the property '{0}' is a collection."
+ /// A string like "Error processing response stream. Payload has an entry and the property '{0}' is a collection."
///
- internal static string Deserialize_MismatchAtomLinkEntryPropertyIsCollection(object p0)
+ internal static string Deserialize_MismatchEntryLinkEntryPropertyIsCollection(object p0)
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Deserialize_MismatchAtomLinkEntryPropertyIsCollection, p0);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Deserialize_MismatchEntryLinkEntryPropertyIsCollection, p0);
}
///
@@ -1237,44 +1237,44 @@ internal static string HttpProcessUtility_ClosingQuoteNotFound(object p0)
///
/// A string like "Count value is not part of the response stream."
///
- internal static string MaterializeFromAtom_CountNotPresent
+ internal static string MaterializeFromObject_CountNotPresent
{
get
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.MaterializeFromAtom_CountNotPresent);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.MaterializeFromObject_CountNotPresent);
}
}
///
/// A string like "The top level link is only available after the response has been enumerated."
///
- internal static string MaterializeFromAtom_TopLevelLinkNotAvailable
+ internal static string MaterializeFromObject_TopLevelLinkNotAvailable
{
get
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.MaterializeFromAtom_TopLevelLinkNotAvailable);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.MaterializeFromObject_TopLevelLinkNotAvailable);
}
}
///
/// A string like "The collection is not part of the current entry"
///
- internal static string MaterializeFromAtom_CollectionKeyNotPresentInLinkTable
+ internal static string MaterializeFromObject_CollectionKeyNotPresentInLinkTable
{
get
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.MaterializeFromAtom_CollectionKeyNotPresentInLinkTable);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.MaterializeFromObject_CollectionKeyNotPresentInLinkTable);
}
}
///
/// A string like "This response does not contain any nested collections. Use null as Key instead."
///
- internal static string MaterializeFromAtom_GetNestLinkForFlatCollection
+ internal static string MaterializeFromObject_GetNestLinkForFlatCollection
{
get
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.MaterializeFromAtom_GetNestLinkForFlatCollection);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.MaterializeFromObject_GetNestLinkForFlatCollection);
}
}
@@ -2117,186 +2117,186 @@ internal static string DataBinding_CollectionAssociatedWithMultipleEntities(obje
}
///
- /// A string like "Expected exactly one Atom entry in the response from the server, but none was found."
+ /// A string like "Expected exactly one entry in the response from the server, but none was found."
///
- internal static string AtomParser_SingleEntry_NoneFound
+ internal static string Parser_SingleEntry_NoneFound
{
get
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.AtomParser_SingleEntry_NoneFound);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Parser_SingleEntry_NoneFound);
}
}
///
- /// A string like "Expected exactly one Atom entry in the response from the server, but more than one was found."
+ /// A string like "Expected exactly one entry in the response from the server, but more than one was found."
///
- internal static string AtomParser_SingleEntry_MultipleFound
+ internal static string Parser_SingleEntry_MultipleFound
{
get
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.AtomParser_SingleEntry_MultipleFound);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Parser_SingleEntry_MultipleFound);
}
}
///
- /// A string like "Expected an Atom feed or entry in the response from the server, but found an unexpected element instead."
+ /// A string like "Expected a feed or entry in the response from the server, but found an unexpected element instead."
///
- internal static string AtomParser_SingleEntry_ExpectedFeedOrEntry
+ internal static string Parser_SingleEntry_ExpectedFeedOrEntry
{
get
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.AtomParser_SingleEntry_ExpectedFeedOrEntry);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Parser_SingleEntry_ExpectedFeedOrEntry);
}
}
///
/// A string like "The null value from property '{0}' cannot be assigned to a type '{1}'."
///
- internal static string AtomMaterializer_CannotAssignNull(object p0, object p1)
+ internal static string Materializer_CannotAssignNull(object p0, object p1)
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.AtomMaterializer_CannotAssignNull, p0, p1);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Materializer_CannotAssignNull, p0, p1);
}
///
/// A string like "An entry of type '{0}' cannot be added to a collection that contains instances of type '{1}'. This may occur when an existing entry of a different type has the same identity value or when the same entity is projected into two different types in a single query."
///
- internal static string AtomMaterializer_EntryIntoCollectionMismatch(object p0, object p1)
+ internal static string Materializer_EntryIntoCollectionMismatch(object p0, object p1)
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.AtomMaterializer_EntryIntoCollectionMismatch, p0, p1);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Materializer_EntryIntoCollectionMismatch, p0, p1);
}
///
/// A string like "An entry returned by the navigation property '{0}' is null and cannot be initialized. You should check for a null value before accessing this property."
///
- internal static string AtomMaterializer_EntryToAccessIsNull(object p0)
+ internal static string Materializer_EntryToAccessIsNull(object p0)
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.AtomMaterializer_EntryToAccessIsNull, p0);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Materializer_EntryToAccessIsNull, p0);
}
///
/// A string like "An entry that contains the data required to create an instance of type '{0}' is null and cannot be initialized. You should check for a null value before accessing this entry."
///
- internal static string AtomMaterializer_EntryToInitializeIsNull(object p0)
+ internal static string Materializer_EntryToInitializeIsNull(object p0)
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.AtomMaterializer_EntryToInitializeIsNull, p0);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Materializer_EntryToInitializeIsNull, p0);
}
///
/// A string like "An entity of type '{0}' cannot be projected because there is already an instance of type '{1}' for '{2}'."
///
- internal static string AtomMaterializer_ProjectEntityTypeMismatch(object p0, object p1, object p2)
+ internal static string Materializer_ProjectEntityTypeMismatch(object p0, object p1, object p2)
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.AtomMaterializer_ProjectEntityTypeMismatch, p0, p1, p2);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Materializer_ProjectEntityTypeMismatch, p0, p1, p2);
}
///
/// A string like "The expected property '{0}' could not be found while processing an entry. Check for null before accessing this property."
///
- internal static string AtomMaterializer_PropertyMissing(object p0)
+ internal static string Materializer_PropertyMissing(object p0)
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.AtomMaterializer_PropertyMissing, p0);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Materializer_PropertyMissing, p0);
}
///
/// A string like "Property '{0}' is not an entity."
///
- internal static string AtomMaterializer_PropertyNotExpectedEntry(object p0)
+ internal static string Materializer_PropertyNotExpectedEntry(object p0)
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.AtomMaterializer_PropertyNotExpectedEntry, p0);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Materializer_PropertyNotExpectedEntry, p0);
}
///
/// A string like "A DataServiceCollection can only contain entity types. Primitive and complex types cannot be contained by this kind of collection."
///
- internal static string AtomMaterializer_DataServiceCollectionNotSupportedForNonEntities
+ internal static string Materializer_DataServiceCollectionNotSupportedForNonEntities
{
get
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.AtomMaterializer_DataServiceCollectionNotSupportedForNonEntities);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Materializer_DataServiceCollectionNotSupportedForNonEntities);
}
}
///
/// A string like "Collection property '{0}' cannot be created because the type '{1}' does not have a public parameterless constructor."
///
- internal static string AtomMaterializer_NoParameterlessCtorForCollectionProperty(object p0, object p1)
+ internal static string Materializer_NoParameterlessCtorForCollectionProperty(object p0, object p1)
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.AtomMaterializer_NoParameterlessCtorForCollectionProperty, p0, p1);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Materializer_NoParameterlessCtorForCollectionProperty, p0, p1);
}
///
/// A string like "The element '{0}' is not a valid collection item. The name of the collection item element must be 'element' and must belong to the 'http://docs.oasis-open.org/odata/ns/data' namespace."
///
- internal static string AtomMaterializer_InvalidCollectionItem(object p0)
+ internal static string Materializer_InvalidCollectionItem(object p0)
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.AtomMaterializer_InvalidCollectionItem, p0);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Materializer_InvalidCollectionItem, p0);
}
///
/// A string like "There is a type mismatch between the client and the service. Type '{0}' is an entity type, but the type in the response payload does not represent an entity type. Please ensure that types defined on the client match the data model of the service, or update the service reference on the client."
///
- internal static string AtomMaterializer_InvalidEntityType(object p0)
+ internal static string Materializer_InvalidEntityType(object p0)
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.AtomMaterializer_InvalidEntityType, p0);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Materializer_InvalidEntityType, p0);
}
///
/// A string like "There is a type mismatch between the client and the service. Type '{0}' is not an entity type, but the type in the response payload represents an entity type. Please ensure that types defined on the client match the data model of the service, or update the service reference on the client."
///
- internal static string AtomMaterializer_InvalidNonEntityType(object p0)
+ internal static string Materializer_InvalidNonEntityType(object p0)
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.AtomMaterializer_InvalidNonEntityType, p0);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Materializer_InvalidNonEntityType, p0);
}
///
/// A string like "Materialization of top level collection expected ICollection<>, but actual type was {0}."
///
- internal static string AtomMaterializer_CollectionExpectedCollection(object p0)
+ internal static string Materializer_CollectionExpectedCollection(object p0)
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.AtomMaterializer_CollectionExpectedCollection, p0);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Materializer_CollectionExpectedCollection, p0);
}
///
- /// A string like "The response payload is a not a valid response payload. Please make sure that the top level element is a valid Atom or JSON element or belongs to '{0}' namespace."
+ /// A string like "The response payload is a not a valid response payload. Please make sure that the top level element is a valid JSON element or belongs to '{0}' namespace."
///
- internal static string AtomMaterializer_InvalidResponsePayload(object p0)
+ internal static string Materializer_InvalidResponsePayload(object p0)
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.AtomMaterializer_InvalidResponsePayload, p0);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Materializer_InvalidResponsePayload, p0);
}
///
/// A string like "The response content type '{0}' is not currently supported."
///
- internal static string AtomMaterializer_InvalidContentTypeEncountered(object p0)
+ internal static string Materializer_InvalidContentTypeEncountered(object p0)
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.AtomMaterializer_InvalidContentTypeEncountered, p0);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Materializer_InvalidContentTypeEncountered, p0);
}
///
/// A string like "Cannot materialize the results into a collection type '{0}' because it does not have a parameterless constructor."
///
- internal static string AtomMaterializer_MaterializationTypeError(object p0)
+ internal static string Materializer_MaterializationTypeError(object p0)
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.AtomMaterializer_MaterializationTypeError, p0);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Materializer_MaterializationTypeError, p0);
}
///
/// A string like "Reset should never be called for collection reader in an internal enumerable."
///
- internal static string AtomMaterializer_ResetAfterEnumeratorCreationError
+ internal static string Materializer_ResetAfterEnumeratorCreationError
{
get
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.AtomMaterializer_ResetAfterEnumeratorCreationError);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Materializer_ResetAfterEnumeratorCreationError);
}
}
///
/// A string like "Cannot materialize a collection of a primitives or complex without the type '{0}' being a collection."
///
- internal static string AtomMaterializer_TypeShouldBeCollectionError(object p0)
+ internal static string Materializer_TypeShouldBeCollectionError(object p0)
{
- return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.AtomMaterializer_TypeShouldBeCollectionError, p0);
+ return Microsoft.OData.Client.TextRes.GetString(Microsoft.OData.Client.TextRes.Materializer_TypeShouldBeCollectionError, p0);
}
///
diff --git a/src/Microsoft.OData.Client/ProjectionPlan.cs b/src/Microsoft.OData.Client/ProjectionPlan.cs
index be3d725c7e..9b063de778 100644
--- a/src/Microsoft.OData.Client/ProjectionPlan.cs
+++ b/src/Microsoft.OData.Client/ProjectionPlan.cs
@@ -66,7 +66,7 @@ public override string ToString()
#endif
/// Runs this plan.
- /// Materializer under which materialization should happen.
+ /// ObjectMaterializer under which materialization should happen.
/// Root entry to materialize.
/// Expected type for the .
/// The materialized object.
diff --git a/src/Microsoft.OData.Client/QueryOperationResponse.cs b/src/Microsoft.OData.Client/QueryOperationResponse.cs
index e25acac5ec..c186f6fb19 100644
--- a/src/Microsoft.OData.Client/QueryOperationResponse.cs
+++ b/src/Microsoft.OData.Client/QueryOperationResponse.cs
@@ -30,7 +30,7 @@ public class QueryOperationResponse : OperationResponse, System.Collections.IEnu
private readonly DataServiceRequest query;
/// Enumerable of objects in query
- private readonly MaterializeAtom results;
+ private readonly ObjectMaterializer results;
#endregion Private fields
@@ -40,7 +40,7 @@ public class QueryOperationResponse : OperationResponse, System.Collections.IEnu
/// HTTP headers
/// original query
/// retrieved objects
- internal QueryOperationResponse(HeaderCollection headers, DataServiceRequest query, MaterializeAtom results)
+ internal QueryOperationResponse(HeaderCollection headers, DataServiceRequest query, ObjectMaterializer results)
: base(headers)
{
this.query = query;
@@ -66,7 +66,7 @@ public virtual long Count
}
/// get a non-null enumerable of the result
- internal MaterializeAtom Results
+ internal ObjectMaterializer Results
{
get
{
@@ -121,7 +121,7 @@ public DataServiceQueryContinuation GetContinuation(IEnumerable collect
/// constructor parameter3
/// returns a new strongly typed instance of QueryOperationResponse.
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining | System.Runtime.CompilerServices.MethodImplOptions.NoOptimization)]
- internal static QueryOperationResponse GetInstance(Type elementType, HeaderCollection headers, DataServiceRequest query, MaterializeAtom results)
+ internal static QueryOperationResponse GetInstance(Type elementType, HeaderCollection headers, DataServiceRequest query, ObjectMaterializer results)
{
Type genericType = typeof(QueryOperationResponse<>).MakeGenericType(elementType);
return (QueryOperationResponse)Activator.CreateInstance(
@@ -159,7 +159,7 @@ protected T GetEnumeratorHelper(Func getEnumerator) where T : IEnumerator
if (materializedCollection == null)
{
- throw new DataServiceClientException(Strings.AtomMaterializer_CollectionExpectedCollection(innerObject.GetType().ToString()));
+ throw new DataServiceClientException(Strings.Materializer_CollectionExpectedCollection(innerObject.GetType().ToString()));
}
Debug.Assert(!enumerator.MoveNext(), "MaterializationEvents of top level collection expected one result of ICollection<>, but found at least 2 results");
diff --git a/src/Microsoft.OData.Client/QueryOperationResponseOfT.cs b/src/Microsoft.OData.Client/QueryOperationResponseOfT.cs
index 24d6c26107..77fededc4e 100644
--- a/src/Microsoft.OData.Client/QueryOperationResponseOfT.cs
+++ b/src/Microsoft.OData.Client/QueryOperationResponseOfT.cs
@@ -31,7 +31,7 @@ public sealed class QueryOperationResponse : QueryOperationResponse, IEnumera
/// HTTP headers
/// original query
/// retrieved objects
- internal QueryOperationResponse(HeaderCollection headers, DataServiceRequest query, MaterializeAtom results)
+ internal QueryOperationResponse(HeaderCollection headers, DataServiceRequest query, ObjectMaterializer results)
: base(headers, query, results)
{
}
@@ -52,7 +52,7 @@ public override long Count
}
else
{
- throw new InvalidOperationException(Strings.MaterializeFromAtom_CountNotPresent);
+ throw new InvalidOperationException(Strings.MaterializeFromObject_CountNotPresent);
}
}
}
diff --git a/src/Microsoft.OData.Client/QueryResult.cs b/src/Microsoft.OData.Client/QueryResult.cs
index 156376832f..cfeaa35cd0 100644
--- a/src/Microsoft.OData.Client/QueryResult.cs
+++ b/src/Microsoft.OData.Client/QueryResult.cs
@@ -145,7 +145,7 @@ internal static QueryResult EndExecuteQuery(object source, string meth
response = asyncResult as QueryResult;
Debug.Assert(response != null, "response != null, BaseAsyncResult.EndExecute() would have thrown a different exception otherwise.");
- QueryOperationResponse operationResponse = response.GetResponse(MaterializeAtom.EmptyResults);
+ QueryOperationResponse operationResponse = response.GetResponse(ObjectMaterializer.EmptyResults);
if (operationResponse != null)
{
operationResponse.Error = ex;
@@ -290,7 +290,7 @@ internal void ExecuteQuery()
/// materialized results for the request.
/// element type of the results.
/// returns the instance of QueryOperationResponse containing the response.
- internal QueryOperationResponse GetResponse(MaterializeAtom results)
+ internal QueryOperationResponse GetResponse(ObjectMaterializer results)
{
if (this.responseMessage != null)
{
@@ -309,7 +309,7 @@ internal QueryOperationResponse GetResponse(MaterializeAtom
/// materialized results for the request.
/// element type of the results.
/// returns the instance of QueryOperationResponse containing the response.
- internal QueryOperationResponse GetResponseWithType(MaterializeAtom results, Type elementType)
+ internal QueryOperationResponse GetResponseWithType(ObjectMaterializer results, Type elementType)
{
if (this.responseMessage != null)
{
@@ -327,11 +327,11 @@ internal QueryOperationResponse GetResponseWithType(MaterializeAtom results, Typ
///
/// Precompiled projection plan (possibly null).
/// A materializer instance ready to deserialize the result
- internal MaterializeAtom GetMaterializer(ProjectionPlan plan)
+ internal ObjectMaterializer GetMaterializer(ProjectionPlan plan)
{
Debug.Assert(this.IsCompletedInternally, "request hasn't completed yet");
- MaterializeAtom materializer;
+ ObjectMaterializer materializer;
if (HttpStatusCode.NoContent != this.StatusCode)
{
Debug.Assert(this.responseInfo != null, "The request didn't complete yet, we don't have a response info for it.");
@@ -339,7 +339,7 @@ internal MaterializeAtom GetMaterializer(ProjectionPlan plan)
}
else
{
- materializer = MaterializeAtom.EmptyResults;
+ materializer = ObjectMaterializer.EmptyResults;
}
return materializer;
@@ -354,12 +354,12 @@ internal MaterializeAtom GetMaterializer(ProjectionPlan plan)
internal QueryOperationResponse ProcessResult(ProjectionPlan plan)
{
Debug.Assert(this.responseInfo != null, "The request didn't complete yet, we don't have a response info for it.");
- MaterializeAtom materializeAtom = this.CreateMaterializer(plan, this.ServiceRequest.PayloadKind);
- var response = this.GetResponse(materializeAtom);
+ ObjectMaterializer materializeObject = this.CreateMaterializer(plan, this.ServiceRequest.PayloadKind);
+ var response = this.GetResponse(materializeObject);
// When query feed, the instance annotation can be materialized only when enumerating the feed.
// So we register this action which will be called when enumerating the feed.
- materializeAtom.SetInstanceAnnotations = (instanceAnnotations) =>
+ materializeObject.SetInstanceAnnotations = (instanceAnnotations) =>
{
if (!this.responseInfo.Context.InstanceAnnotations.ContainsKey(response)
&& instanceAnnotations != null && instanceAnnotations.Count > 0)
@@ -681,12 +681,12 @@ private void AsyncEndRead(IAsyncResult asyncResult)
}
///
- /// Creates an instance of for the given plan.
+ /// Creates an instance of for the given plan.
///
/// The projection plan.
/// expected payload kind.
/// A new materializer instance
- private MaterializeAtom CreateMaterializer(ProjectionPlan plan, ODataPayloadKind payloadKind)
+ private ObjectMaterializer CreateMaterializer(ProjectionPlan plan, ODataPayloadKind payloadKind)
{
QueryComponents queryComponents = this.ServiceRequest.QueryComponents(this.responseInfo.Model);
diff --git a/src/Microsoft.OData.Client/ReadingWritingEntityEventArgs.cs b/src/Microsoft.OData.Client/ReadingWritingEntityEventArgs.cs
index 4713e9b7e1..6f8046a5e5 100644
--- a/src/Microsoft.OData.Client/ReadingWritingEntityEventArgs.cs
+++ b/src/Microsoft.OData.Client/ReadingWritingEntityEventArgs.cs
@@ -19,18 +19,18 @@ public sealed class ReadingWritingEntityEventArgs : EventArgs
/// The entity being (de)serialized
private object entity;
- /// The ATOM entry data to/from the network
+ /// The entry data to/from the network
private XElement data;
- /// The xml base of the feed or entry containing the current ATOM entry
+ /// The xml base of the feed or entry containing the current entry
private Uri baseUri;
///
/// Constructor
///
/// The entity being (de)serialized
- /// The ATOM entry data to/from the network
- /// The xml base of the feed or entry containing the current ATOM entry
+ /// The entry data to/from the network
+ /// The xml base of the feed or entry containing the current entry
internal ReadingWritingEntityEventArgs(object entity, XElement data, Uri baseUri)
{
Debug.Assert(entity != null, "entity != null");
diff --git a/src/Microsoft.OData.Client/SaveResult.cs b/src/Microsoft.OData.Client/SaveResult.cs
index 89eceb6dde..01d027d006 100644
--- a/src/Microsoft.OData.Client/SaveResult.cs
+++ b/src/Microsoft.OData.Client/SaveResult.cs
@@ -355,12 +355,12 @@ protected override DataServiceResponse HandleResponse()
///
/// entity descriptor whose response is getting materialized.
/// information about the response to be materialized.
- /// an instance of MaterializeAtom, that can be used to materialize the response.
- protected override MaterializeAtom GetMaterializer(EntityDescriptor entityDescriptor, ResponseInfo responseInfo)
+ /// an instance of ObjectMaterializer, that can be used to materialize the response.
+ protected override ObjectMaterializer GetMaterializer(EntityDescriptor entityDescriptor, ResponseInfo responseInfo)
{
Debug.Assert(this.cachedResponse.Exception == null && this.cachedResponse.MaterializerEntry != null, "this.cachedResponse.Exception == null && this.cachedResponse.Entry != null");
ODataResource entry = this.cachedResponse.MaterializerEntry == null ? null : this.cachedResponse.MaterializerEntry.Entry;
- return new MaterializeAtom(responseInfo, new[] { entry }, entityDescriptor.Entity.GetType(), this.cachedResponse.MaterializerEntry.Format, base.MaterializerCache);
+ return new ObjectMaterializer(responseInfo, new[] { entry }, entityDescriptor.Entity.GetType(), this.cachedResponse.MaterializerEntry.Format, base.MaterializerCache);
}
///
@@ -969,7 +969,7 @@ private struct CachedResponse
/// headers
/// status code
/// Parsed response OData-Version header.
- /// atom entry, if there is a non-error response payload.
+ /// entry, if there is a non-error response payload.
/// exception, if the request threw an exception.
internal CachedResponse(Descriptor descriptor, HeaderCollection headers, HttpStatusCode statusCode, Version responseVersion, MaterializerEntry entry, Exception exception)
{
diff --git a/src/Microsoft.OData.Client/Serialization/PrimitiveXmlConverter.cs b/src/Microsoft.OData.Client/Serialization/PrimitiveXmlConverter.cs
index af3b3098a6..79335c53c9 100644
--- a/src/Microsoft.OData.Client/Serialization/PrimitiveXmlConverter.cs
+++ b/src/Microsoft.OData.Client/Serialization/PrimitiveXmlConverter.cs
@@ -51,7 +51,7 @@ protected PrimitiveTypeConverter()
internal virtual PrimitiveParserToken TokenizeFromXml(XmlReader reader)
{
Debug.Assert(reader.NodeType == XmlNodeType.Element, "Reader at element");
- string elementString = MaterializeAtom.ReadElementString(reader, true);
+ string elementString = ObjectMaterializer.ReadElementString(reader, true);
if (elementString != null)
{
return new TextPrimitiveParserToken(elementString);
diff --git a/src/Microsoft.OData.Core/GeographyTypeConverter.cs b/src/Microsoft.OData.Core/GeographyTypeConverter.cs
index 5d0a0ce1d3..78b03d9792 100644
--- a/src/Microsoft.OData.Core/GeographyTypeConverter.cs
+++ b/src/Microsoft.OData.Core/GeographyTypeConverter.cs
@@ -4,8 +4,6 @@
//
//---------------------------------------------------------------------
-using System.IO;
-using System.Xml;
using Microsoft.OData.Json;
using Microsoft.Spatial;
@@ -16,26 +14,6 @@ namespace Microsoft.OData
///
internal sealed class GeographyTypeConverter : IPrimitiveTypeConverter
{
- ///
- /// Write the Atom representation of an instance of a primitive type to an XmlWriter.
- ///
- /// The instance to write.
- /// The Xml writer to use to write the instance.
- public void WriteAtom(object instance, XmlWriter writer)
- {
- ((Geography)instance).SendTo(GmlFormatter.Create().CreateWriter(writer));
- }
-
- ///
- /// Write the Atom representation of an instance of a primitive type to an TextWriter.
- ///
- /// The instance to write.
- /// The text writer to use to write the instance.
- public void WriteAtom(object instance, TextWriter writer)
- {
- ((Geography)instance).SendTo(WellKnownTextSqlFormatter.Create().CreateWriter(writer));
- }
-
///
/// Write the Json representation of an instance of a primitive type to a json writer.
///
diff --git a/src/Microsoft.OData.Core/GeometryTypeConverter.cs b/src/Microsoft.OData.Core/GeometryTypeConverter.cs
index 78ee912341..b3a39c85de 100644
--- a/src/Microsoft.OData.Core/GeometryTypeConverter.cs
+++ b/src/Microsoft.OData.Core/GeometryTypeConverter.cs
@@ -4,8 +4,6 @@
//
//---------------------------------------------------------------------
-using System.IO;
-using System.Xml;
using Microsoft.OData.Json;
using Microsoft.Spatial;
@@ -20,26 +18,6 @@ namespace Microsoft.OData
///
internal sealed class GeometryTypeConverter : IPrimitiveTypeConverter
{
- ///
- /// Write the Atom representation of an instance of a primitive type to an XmlWriter.
- ///
- /// The instance to write.
- /// The Xml writer to use to write the instance.
- public void WriteAtom(object instance, XmlWriter writer)
- {
- ((Geometry)instance).SendTo(GmlFormatter.Create().CreateWriter(writer));
- }
-
- ///
- /// Write the Atom representation of an instance of a primitive type to an TextWriter.
- ///
- /// The instance to write.
- /// The text writer to use to write the instance.
- public void WriteAtom(object instance, TextWriter writer)
- {
- ((Geometry)instance).SendTo(WellKnownTextSqlFormatter.Create().CreateWriter(writer));
- }
-
///
/// Write the Json representation of an instance of a primitive type to a json object.
///
diff --git a/src/Microsoft.OData.Core/IPrimitiveTypeConverter.cs b/src/Microsoft.OData.Core/IPrimitiveTypeConverter.cs
index 70cc83a2c6..69cc8fe8c1 100644
--- a/src/Microsoft.OData.Core/IPrimitiveTypeConverter.cs
+++ b/src/Microsoft.OData.Core/IPrimitiveTypeConverter.cs
@@ -7,9 +7,6 @@
namespace Microsoft.OData
{
#region Namespaces
-
- using System.IO;
- using System.Xml;
using Microsoft.OData.Json;
#endregion
@@ -18,20 +15,6 @@ namespace Microsoft.OData
///
internal interface IPrimitiveTypeConverter
{
- ///
- /// Write the Atom representation of an instance of a primitive type to an XmlWriter.
- ///
- /// The instance to write.
- /// The Xml writer to use to write the instance.
- void WriteAtom(object instance, XmlWriter writer);
-
- ///
- /// Write the Atom representation of an instance of a primitive type to an TextWriter.
- ///
- /// The instance to write.
- /// The text writer to use to write the instance.
- void WriteAtom(object instance, TextWriter writer);
-
///
/// Write the Json representation of an instance of a primitive type to a json writer.
///
diff --git a/src/Microsoft.OData.Core/IReaderValidator.cs b/src/Microsoft.OData.Core/IReaderValidator.cs
index 56d90bd327..32fdfcc00d 100644
--- a/src/Microsoft.OData.Core/IReaderValidator.cs
+++ b/src/Microsoft.OData.Core/IReaderValidator.cs
@@ -49,7 +49,7 @@ void ValidateNullValue(IEdmTypeReference expectedTypeReference,
/// This value indicates if a structured type is expected to be return.
/// True for structured type, false for non-structured type, null for indetermination.
/// The default payload type if none is specified in the payload;
- /// for ATOM this is Edm.String, for JSON it is null since there is no payload type name for primitive types in the payload.
+ /// it is null since there is no payload type name for primitive types in the payload.
/// The expected type reference, or null if no expected type is available.
/// The payload type name, or null if no payload type was specified.
/// The model to use.
diff --git a/src/Microsoft.OData.Core/Json/ODataJsonCollectionDeserializer.cs b/src/Microsoft.OData.Core/Json/ODataJsonCollectionDeserializer.cs
index 6e0f34c7cd..0353e5a202 100644
--- a/src/Microsoft.OData.Core/Json/ODataJsonCollectionDeserializer.cs
+++ b/src/Microsoft.OData.Core/Json/ODataJsonCollectionDeserializer.cs
@@ -41,7 +41,7 @@ internal ODataJsonCollectionDeserializer(ODataJsonInputContext jsonInputContext)
/// true if we are reading a nested collection inside a parameter payload; otherwise false.
/// The expected item type reference or null if none is expected.
/// The validated actual item type reference (if specified in the payload) or the expected item type reference.
- /// An representing the collection-level information. Currently this is only the name of the collection in ATOM.
+ /// An representing the collection-level information.
///
/// Pre-Condition: Any: the start of a nested collection value; if this is not a 'StartArray' node this method will fail.
/// JsonNodeType.Property: the first property of the collection wrapper object after the context URI.
@@ -293,7 +293,7 @@ internal void ReadCollectionEnd(bool isReadingNestedPayload)
/// The value of the TResult parameter contains a tuple comprising of:
/// 1. An representing the collection-level information.
/// 2. The validated actual item type reference (if specified in the payload) or the expected item type reference.
- /// Currently this is only the name of the collection in ATOM.
+ /// Currently this is only the name of the collection.
///
///
/// Pre-Condition: Any: the start of a nested collection value; if this is not a 'StartArray' node this method will fail.
diff --git a/src/Microsoft.OData.Core/Metadata/BufferingXmlReader.cs b/src/Microsoft.OData.Core/Metadata/BufferingXmlReader.cs
index 769bde7bf2..8f22f20e08 100644
--- a/src/Microsoft.OData.Core/Metadata/BufferingXmlReader.cs
+++ b/src/Microsoft.OData.Core/Metadata/BufferingXmlReader.cs
@@ -454,7 +454,7 @@ public override bool Read()
if (this.documentBaseUri == null)
{
// If there's no document base URI we need to fail since there's no way to create an absolute URI now.
- throw new ODataException(Strings.ODataAtomDeserializer_RelativeUriUsedWithoutBaseUriSpecified(xmlBaseAttributeValue));
+ throw new ODataException(Strings.ODataXmlDeserializer_RelativeUriUsedWithoutBaseUriSpecified(xmlBaseAttributeValue));
}
newBaseUri = UriUtils.UriToAbsoluteUri(this.documentBaseUri, newBaseUri);
@@ -970,7 +970,7 @@ private bool ReadNextAndCheckForInStreamError()
{
// If we find an element m:error node we detected an in-stream error.
// We read the in-stream error and report it.
- ODataError inStreamError = ODataAtomErrorDeserializer.ReadErrorElement(this, this.maxInnerErrorDepth);
+ ODataError inStreamError = ODataXmlErrorDeserializer.ReadErrorElement(this, this.maxInnerErrorDepth);
Debug.Assert(inStreamError != null, "inStreamError != null");
throw new ODataErrorException(inStreamError);
}
diff --git a/src/Microsoft.OData.Core/Metadata/ODataAtomErrorDeserializer.cs b/src/Microsoft.OData.Core/Metadata/ODataXmlErrorDeserializer.cs
similarity index 95%
rename from src/Microsoft.OData.Core/Metadata/ODataAtomErrorDeserializer.cs
rename to src/Microsoft.OData.Core/Metadata/ODataXmlErrorDeserializer.cs
index 405c1a0dca..fd67a9e45c 100644
--- a/src/Microsoft.OData.Core/Metadata/ODataAtomErrorDeserializer.cs
+++ b/src/Microsoft.OData.Core/Metadata/ODataXmlErrorDeserializer.cs
@@ -1,5 +1,5 @@
//---------------------------------------------------------------------
-//
+//
// Copyright (C) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
//
//---------------------------------------------------------------------
@@ -13,9 +13,9 @@ namespace Microsoft.OData.Metadata
#endregion Namespaces
///
- /// OData ATOM deserializer for error payloads.
+ /// OData Xml deserializer for error payloads.
///
- internal sealed class ODataAtomErrorDeserializer
+ internal sealed class ODataXmlErrorDeserializer
{
///
/// An enumeration of the various kinds of elements in an m:error element.
@@ -161,7 +161,7 @@ private static void VerifyErrorElementNotFound(
if ((elementsFoundBitField & elementFoundBitMask) == elementFoundBitMask)
{
- throw new ODataException(Strings.ODataAtomErrorDeserializer_MultipleErrorElementsWithSameName(elementName));
+ throw new ODataException(Strings.ODataXmlErrorDeserializer_MultipleErrorElementsWithSameName(elementName));
}
elementsFoundBitField |= elementFoundBitMask;
@@ -185,7 +185,7 @@ private static void VerifyInnerErrorElementNotFound(
if ((elementsFoundBitField & elementFoundBitMask) == elementFoundBitMask)
{
- throw new ODataException(Strings.ODataAtomErrorDeserializer_MultipleInnerErrorElementsWithSameName(elementName));
+ throw new ODataException(Strings.ODataXmlErrorDeserializer_MultipleInnerErrorElementsWithSameName(elementName));
}
elementsFoundBitField |= elementFoundBitMask;
diff --git a/src/Microsoft.OData.Core/Microsoft.OData.Core.cs b/src/Microsoft.OData.Core/Microsoft.OData.Core.cs
index 6f24b4a257..92e3fbceb3 100644
--- a/src/Microsoft.OData.Core/Microsoft.OData.Core.cs
+++ b/src/Microsoft.OData.Core/Microsoft.OData.Core.cs
@@ -71,7 +71,7 @@ internal sealed class TextRes {
internal const string DuplicateAnnotationForPropertyNotAllowed = "DuplicateAnnotationForPropertyNotAllowed";
internal const string DuplicateAnnotationForInstanceAnnotationNotAllowed = "DuplicateAnnotationForInstanceAnnotationNotAllowed";
internal const string PropertyAnnotationAfterTheProperty = "PropertyAnnotationAfterTheProperty";
- internal const string AtomValueUtils_CannotConvertValueToAtomPrimitive = "AtomValueUtils_CannotConvertValueToAtomPrimitive";
+ internal const string ValueUtils_CannotConvertValueToPrimitive = "ValueUtils_CannotConvertValueToPrimitive";
internal const string ODataJsonWriter_UnsupportedValueType = "ODataJsonWriter_UnsupportedValueType";
internal const string ODataJsonWriter_UnsupportedValueInCollection = "ODataJsonWriter_UnsupportedValueInCollection";
internal const string ODataJsonWriter_UnsupportedDateTimeFormat = "ODataJsonWriter_UnsupportedDateTimeFormat";
@@ -409,17 +409,17 @@ internal sealed class TextRes {
internal const string ODataMetadataInputContext_ErrorReadingMetadata = "ODataMetadataInputContext_ErrorReadingMetadata";
internal const string ODataMetadataOutputContext_ErrorWritingMetadata = "ODataMetadataOutputContext_ErrorWritingMetadata";
internal const string ODataMetadataOutputContext_NotSupportJsonMetadata = "ODataMetadataOutputContext_NotSupportJsonMetadata";
- internal const string ODataAtomDeserializer_RelativeUriUsedWithoutBaseUriSpecified = "ODataAtomDeserializer_RelativeUriUsedWithoutBaseUriSpecified";
- internal const string ODataAtomPropertyAndValueDeserializer_InvalidCollectionElement = "ODataAtomPropertyAndValueDeserializer_InvalidCollectionElement";
- internal const string ODataAtomPropertyAndValueDeserializer_NavigationPropertyInProperties = "ODataAtomPropertyAndValueDeserializer_NavigationPropertyInProperties";
+ internal const string ODataXmlDeserializer_RelativeUriUsedWithoutBaseUriSpecified = "ODataXmlDeserializer_RelativeUriUsedWithoutBaseUriSpecified";
+ internal const string ODataPropertyAndValueDeserializer_InvalidCollectionElement = "ODataPropertyAndValueDeserializer_InvalidCollectionElement";
+ internal const string ODataPropertyAndValueDeserializer_NavigationPropertyInProperties = "ODataPropertyAndValueDeserializer_NavigationPropertyInProperties";
internal const string JsonInstanceAnnotationWriter_NullValueNotAllowedForInstanceAnnotation = "JsonInstanceAnnotationWriter_NullValueNotAllowedForInstanceAnnotation";
internal const string EdmLibraryExtensions_OperationGroupReturningActionsAndFunctionsModelInvalid = "EdmLibraryExtensions_OperationGroupReturningActionsAndFunctionsModelInvalid";
internal const string EdmLibraryExtensions_UnBoundOperationsFoundFromIEdmModelFindMethodIsInvalid = "EdmLibraryExtensions_UnBoundOperationsFoundFromIEdmModelFindMethodIsInvalid";
internal const string EdmLibraryExtensions_NoParameterBoundOperationsFoundFromIEdmModelFindMethodIsInvalid = "EdmLibraryExtensions_NoParameterBoundOperationsFoundFromIEdmModelFindMethodIsInvalid";
internal const string EdmLibraryExtensions_ValueOverflowForUnderlyingType = "EdmLibraryExtensions_ValueOverflowForUnderlyingType";
- internal const string ODataAtomResourceDeserializer_ContentWithWrongType = "ODataAtomResourceDeserializer_ContentWithWrongType";
- internal const string ODataAtomErrorDeserializer_MultipleErrorElementsWithSameName = "ODataAtomErrorDeserializer_MultipleErrorElementsWithSameName";
- internal const string ODataAtomErrorDeserializer_MultipleInnerErrorElementsWithSameName = "ODataAtomErrorDeserializer_MultipleInnerErrorElementsWithSameName";
+ internal const string ODataXmlResourceDeserializer_ContentWithWrongType = "ODataXmlResourceDeserializer_ContentWithWrongType";
+ internal const string ODataXmlErrorDeserializer_MultipleErrorElementsWithSameName = "ODataXmlErrorDeserializer_MultipleErrorElementsWithSameName";
+ internal const string ODataXmlErrorDeserializer_MultipleInnerErrorElementsWithSameName = "ODataXmlErrorDeserializer_MultipleInnerErrorElementsWithSameName";
internal const string CollectionWithoutExpectedTypeValidator_InvalidItemTypeKind = "CollectionWithoutExpectedTypeValidator_InvalidItemTypeKind";
internal const string CollectionWithoutExpectedTypeValidator_IncompatibleItemTypeKind = "CollectionWithoutExpectedTypeValidator_IncompatibleItemTypeKind";
internal const string CollectionWithoutExpectedTypeValidator_IncompatibleItemTypeName = "CollectionWithoutExpectedTypeValidator_IncompatibleItemTypeName";
@@ -585,10 +585,10 @@ internal sealed class TextRes {
internal const string ODataInstanceAnnotation_ValueCannotBeODataStreamReferenceValue = "ODataInstanceAnnotation_ValueCannotBeODataStreamReferenceValue";
internal const string ODataJsonValueSerializer_MissingTypeNameOnCollection = "ODataJsonValueSerializer_MissingTypeNameOnCollection";
internal const string ODataJsonValueSerializer_MissingRawValueOnUntyped = "ODataJsonValueSerializer_MissingRawValueOnUntyped";
- internal const string AtomInstanceAnnotation_MissingTermAttributeOnAnnotationElement = "AtomInstanceAnnotation_MissingTermAttributeOnAnnotationElement";
- internal const string AtomInstanceAnnotation_AttributeValueNotationUsedWithIncompatibleType = "AtomInstanceAnnotation_AttributeValueNotationUsedWithIncompatibleType";
- internal const string AtomInstanceAnnotation_AttributeValueNotationUsedOnNonEmptyElement = "AtomInstanceAnnotation_AttributeValueNotationUsedOnNonEmptyElement";
- internal const string AtomInstanceAnnotation_MultipleAttributeValueNotationAttributes = "AtomInstanceAnnotation_MultipleAttributeValueNotationAttributes";
+ internal const string InstanceAnnotation_MissingTermAttributeOnAnnotationElement = "InstanceAnnotation_MissingTermAttributeOnAnnotationElement";
+ internal const string InstanceAnnotation_AttributeValueNotationUsedWithIncompatibleType = "InstanceAnnotation_AttributeValueNotationUsedWithIncompatibleType";
+ internal const string InstanceAnnotation_AttributeValueNotationUsedOnNonEmptyElement = "InstanceAnnotation_AttributeValueNotationUsedOnNonEmptyElement";
+ internal const string InstanceAnnotation_MultipleAttributeValueNotationAttributes = "InstanceAnnotation_MultipleAttributeValueNotationAttributes";
internal const string AnnotationFilterPattern_InvalidPatternMissingDot = "AnnotationFilterPattern_InvalidPatternMissingDot";
internal const string AnnotationFilterPattern_InvalidPatternEmptySegment = "AnnotationFilterPattern_InvalidPatternEmptySegment";
internal const string AnnotationFilterPattern_InvalidPatternWildCardInSegment = "AnnotationFilterPattern_InvalidPatternWildCardInSegment";
diff --git a/src/Microsoft.OData.Core/Microsoft.OData.Core.txt b/src/Microsoft.OData.Core/Microsoft.OData.Core.txt
index 77a8498c50..06eb12826f 100644
--- a/src/Microsoft.OData.Core/Microsoft.OData.Core.txt
+++ b/src/Microsoft.OData.Core/Microsoft.OData.Core.txt
@@ -66,7 +66,7 @@ DuplicateAnnotationForPropertyNotAllowed=Multiple annotations with the name '{0}
DuplicateAnnotationForInstanceAnnotationNotAllowed=Multiple annotations with the name '{0}' were detected for the instance annotation with name '{1}'. In OData, duplicate annotations are not allowed.
PropertyAnnotationAfterTheProperty=An annotation with name '{0}' for property '{1}' was detected after the property, or after an annotation for another property. In OData, annotations for a property must be in a single group and must appear before the property they annotate.
-AtomValueUtils_CannotConvertValueToAtomPrimitive=Cannot convert a value of type '{0}' to the string representation of an Atom primitive value.
+ValueUtils_CannotConvertValueToPrimitive=Cannot convert a value of type '{0}' to the string representation of a primitive value.
ODataJsonWriter_UnsupportedValueType=The value of type '{0}' is not supported and cannot be converted to a JSON representation.
ODataJsonWriter_UnsupportedValueInCollection=Unable to serialize an object in a collection as it is not a supported ODataValue.
@@ -454,10 +454,10 @@ ODataMetadataInputContext_ErrorReadingMetadata=The metadata document could not b
ODataMetadataOutputContext_ErrorWritingMetadata=The metadata document could not be written as specified.\r\n{0}
ODataMetadataOutputContext_NotSupportJsonMetadata=The JSON metadata is not supported at this platform. It's only supported at platform implementing .NETStardard 2.0.
-ODataAtomDeserializer_RelativeUriUsedWithoutBaseUriSpecified=A relative URI value '{0}' was specified in the payload, but no base URI for it was found. When the payload contains a relative URI, there must be an xml:base in the payload or else a base URI must specified in the reader settings.
+ODataXmlDeserializer_RelativeUriUsedWithoutBaseUriSpecified=A relative URI value '{0}' was specified in the payload, but no base URI for it was found. When the payload contains a relative URI, there must be an xml:base in the payload or else a base URI must specified in the reader settings.
-ODataAtomPropertyAndValueDeserializer_InvalidCollectionElement=The element with name '{0}' is not a valid collection item. The name of the collection item element must be 'element' and it must belong to the '{1}' namespace.
-ODataAtomPropertyAndValueDeserializer_NavigationPropertyInProperties=The property '{0}' on type '{1}' was found in the {{http://docs.oasis-open.org/odata/ns/metadata}}:properties element, and it is declared as a navigation property. Navigation properties in ATOM must be represented as {{http://www.w3.org/2005/Atom}}:link elements.
+ODataPropertyAndValueDeserializer_InvalidCollectionElement=The element with name '{0}' is not a valid collection item. The name of the collection item element must be 'element' and it must belong to the '{1}' namespace.
+ODataPropertyAndValueDeserializer_NavigationPropertyInProperties=The property '{0}' on type '{1}' was found in the {{http://docs.oasis-open.org/odata/ns/metadata}}:properties element, and it is declared as a navigation property.
JsonInstanceAnnotationWriter_NullValueNotAllowedForInstanceAnnotation=Writing null value for the instance annotation '{0}' is not allowed. The instance annotation '{0}' has the expected type '{1}[Nullable=False]'.
@@ -466,10 +466,10 @@ EdmLibraryExtensions_UnBoundOperationsFoundFromIEdmModelFindMethodIsInvalid=Inva
EdmLibraryExtensions_NoParameterBoundOperationsFoundFromIEdmModelFindMethodIsInvalid=Invalid implementation of an IEdmModel, an operation '{0}' was found using the IEdmModel method 'FindDeclaredBoundOperations' should never return bound operations without any parameters.
EdmLibraryExtensions_ValueOverflowForUnderlyingType=Value '{0}' was either too large or too small for a '{1}'.
-ODataAtomResourceDeserializer_ContentWithWrongType=The 'type' attribute on element {{http://www.w3.org/2005/Atom}}:content is either missing or has an invalid value '{0}'. Only 'application/xml' and 'application/atom+xml' are supported as the value of the 'type' attribute on the {{http://www.w3.org/2005/Atom}}:content element.
+ODataXmlResourceDeserializer_ContentWithWrongType=The 'type' attribute on element {{http://www.w3.org/2005/Atom}}:content is either missing or has an invalid value '{0}'. Only 'application/xml' and 'application/atom+xml' are supported as the value of the 'type' attribute on the {{http://www.w3.org/2005/Atom}}:content element.
-ODataAtomErrorDeserializer_MultipleErrorElementsWithSameName=Multiple '{{http://docs.oasis-open.org/odata/ns/metadata}}:{0}' elements were found in a top-level error value. In OData, the value of a top-level error value can have no more than one '{{http://docs.oasis-open.org/odata/ns/metadata}}:{0}' element
-ODataAtomErrorDeserializer_MultipleInnerErrorElementsWithSameName=Multiple '{{http://docs.oasis-open.org/odata/ns/metadata}}:{0}' elements were found in an inner error value. In OData, the value of an inner error value can have at most one '{{http://docs.oasis-open.org/odata/ns/metadata}}:{0}' element.
+ODataXmlErrorDeserializer_MultipleErrorElementsWithSameName=Multiple '{{http://docs.oasis-open.org/odata/ns/metadata}}:{0}' elements were found in a top-level error value. In OData, the value of a top-level error value can have no more than one '{{http://docs.oasis-open.org/odata/ns/metadata}}:{0}' element
+ODataXmlErrorDeserializer_MultipleInnerErrorElementsWithSameName=Multiple '{{http://docs.oasis-open.org/odata/ns/metadata}}:{0}' elements were found in an inner error value. In OData, the value of an inner error value can have at most one '{{http://docs.oasis-open.org/odata/ns/metadata}}:{0}' element.
CollectionWithoutExpectedTypeValidator_InvalidItemTypeKind=An invalid item type kind '{0}' was found. Items in a collection can only be of type kind 'Primitive' or 'Complex', but not of type kind '{0}'.
CollectionWithoutExpectedTypeValidator_IncompatibleItemTypeKind=An item of type kind '{0}' was found in a collection that otherwise has items of type kind '{1}'. In OData, all items in a collection must have the same type kind.
@@ -672,10 +672,10 @@ ODataInstanceAnnotation_ValueCannotBeODataStreamReferenceValue=The value of an i
ODataJsonValueSerializer_MissingTypeNameOnCollection=A type name was not provided for an instance of ODataCollectionValue.
ODataJsonValueSerializer_MissingRawValueOnUntyped=A raw value was not provided for an instance of ODataUntypedValue.
-AtomInstanceAnnotation_MissingTermAttributeOnAnnotationElement=Encountered an 'annotation' element without a 'term' attribute. All 'annotation' elements must have a 'term' attribute.
-AtomInstanceAnnotation_AttributeValueNotationUsedWithIncompatibleType=The value of the 'type' attribute on an 'annotation' element was '{0}', which is incompatible with the '{1}' attribute.
-AtomInstanceAnnotation_AttributeValueNotationUsedOnNonEmptyElement=Encountered the attribute '{0}' on a non-empty 'annotation' element. If attribute value notation is used to specify the annotation's value, then there can be no body to the element.
-AtomInstanceAnnotation_MultipleAttributeValueNotationAttributes=Encountered an 'annotation' element with more than one attribute from following set: 'int', 'string', 'decimal', 'float', and 'bool'. Only one such attribute may appear on an 'annotation' element.
+InstanceAnnotation_MissingTermAttributeOnAnnotationElement=Encountered an 'annotation' element without a 'term' attribute. All 'annotation' elements must have a 'term' attribute.
+InstanceAnnotation_AttributeValueNotationUsedWithIncompatibleType=The value of the 'type' attribute on an 'annotation' element was '{0}', which is incompatible with the '{1}' attribute.
+InstanceAnnotation_AttributeValueNotationUsedOnNonEmptyElement=Encountered the attribute '{0}' on a non-empty 'annotation' element. If attribute value notation is used to specify the annotation's value, then there can be no body to the element.
+InstanceAnnotation_MultipleAttributeValueNotationAttributes=Encountered an 'annotation' element with more than one attribute from following set: 'int', 'string', 'decimal', 'float', and 'bool'. Only one such attribute may appear on an 'annotation' element.
AnnotationFilterPattern_InvalidPatternMissingDot=The pattern '{0}' is not a valid pattern to match an annotation. It must contain at least one '.' separating the namespace and the name segments of an annotation.
AnnotationFilterPattern_InvalidPatternEmptySegment=The pattern '{0}' is not a valid pattern to match an annotation. It must not contain a namespace or name segment that is empty.
diff --git a/src/Microsoft.OData.Core/MimeConstants.cs b/src/Microsoft.OData.Core/MimeConstants.cs
index 451c700ae2..e5627858d1 100644
--- a/src/Microsoft.OData.Core/MimeConstants.cs
+++ b/src/Microsoft.OData.Core/MimeConstants.cs
@@ -23,12 +23,6 @@ internal static class MimeConstants
/// 'multipart' - media type.
internal const string MimeMultipartType = "multipart";
- /// 'atom+xml' - constant for atom+xml subtypes.
- internal const string MimeAtomXmlSubType = "atom+xml";
-
- /// 'atomsvc+xml' - constant for atomsvc+xml subtypes.
- internal const string MimeAtomSvcXmlSubType = "atomsvc+xml";
-
/// 'xml' - constant for xml subtypes.
internal const string MimeXmlSubType = "xml";
@@ -95,15 +89,6 @@ internal static class MimeConstants
/// Media type for XML bodies.
internal const string MimeApplicationXml = MimeApplicationType + Separator + MimeXmlSubType;
- /// Media type for ATOM payloads.
- internal const string MimeApplicationAtomXml = MimeApplicationType + Separator + MimeAtomXmlSubType;
-
- /// Media type for links referencing a single resource.
- internal const string MimeApplicationAtomXmlTypeEntry = MimeApplicationAtomXml + ";" + MimeTypeParameterName + "=" + MimeTypeParameterValueEntry;
-
- /// Media type for links referencing a collection of entries.
- internal const string MimeApplicationAtomXmlTypeFeed = MimeApplicationAtomXml + ";" + MimeTypeParameterName + "=" + MimeTypeParameterValueFeed;
-
/// Media type for JSON payloads.
internal const string MimeApplicationJson = MimeApplicationType + Separator + MimeJsonSubType;
diff --git a/src/Microsoft.OData.Core/ODataCollectionStart.cs b/src/Microsoft.OData.Core/ODataCollectionStart.cs
index 3f8da383cb..a973c75c62 100644
--- a/src/Microsoft.OData.Core/ODataCollectionStart.cs
+++ b/src/Microsoft.OData.Core/ODataCollectionStart.cs
@@ -18,7 +18,7 @@ public sealed class ODataCollectionStart : ODataAnnotatable
///
private ODataCollectionStartSerializationInfo serializationInfo;
- /// Gets or sets the name of the collection (ATOM only).
+ /// Gets or sets the name of the collection.
/// The name of the collection.
public string Name
{
diff --git a/src/Microsoft.OData.Core/ODataContextUrlLevel.cs b/src/Microsoft.OData.Core/ODataContextUrlLevel.cs
index 9a159f5d96..205ceef689 100644
--- a/src/Microsoft.OData.Core/ODataContextUrlLevel.cs
+++ b/src/Microsoft.OData.Core/ODataContextUrlLevel.cs
@@ -20,7 +20,7 @@ internal enum ODataContextUrlLevel
///
/// Show root context URL of the payload and the context URL for any deleted entries or added or deleted links in a delta response,
/// or for entities or entity collections whose set cannot be determined from the root context URL
- /// Used for atom and json with odata.metadata=minimal
+ /// Used for json with odata.metadata=minimal
///
OnDemand = 1,
diff --git a/src/Microsoft.OData.Core/ODataMediaTypeResolver.cs b/src/Microsoft.OData.Core/ODataMediaTypeResolver.cs
index 343ec91a83..98e4c67a76 100644
--- a/src/Microsoft.OData.Core/ODataMediaTypeResolver.cs
+++ b/src/Microsoft.OData.Core/ODataMediaTypeResolver.cs
@@ -37,7 +37,7 @@ public class ODataMediaTypeResolver
};
///
- /// MediaTypeResolver without atom support
+ /// MediaTypeResolver.
///
private static readonly ODataMediaTypeResolver MediaTypeResolver = new ODataMediaTypeResolver();
diff --git a/src/Microsoft.OData.Core/ODataMessageReaderSettings.cs b/src/Microsoft.OData.Core/ODataMessageReaderSettings.cs
index 8ce2850ad0..be52fa3ad6 100644
--- a/src/Microsoft.OData.Core/ODataMessageReaderSettings.cs
+++ b/src/Microsoft.OData.Core/ODataMessageReaderSettings.cs
@@ -105,7 +105,6 @@ public ValidationKinds Validations
///
/// The base URI used in payload.
///
- /// This URI will be used in ATOM format only, it would be overridden by <xml:base /> element in ATOM payload.
/// If the URI does not end with a slash, a slash would be appended automatically.
///
public Uri BaseUri
diff --git a/src/Microsoft.OData.Core/ODataRawValueUtils.cs b/src/Microsoft.OData.Core/ODataRawValueUtils.cs
index 8bd4d1fa33..7368672822 100644
--- a/src/Microsoft.OData.Core/ODataRawValueUtils.cs
+++ b/src/Microsoft.OData.Core/ODataRawValueUtils.cs
@@ -21,9 +21,9 @@ internal static class ODataRawValueUtils
/// The characters that are considered to be whitespace by XmlConvert.
private static readonly char[] XmlWhitespaceChars = new char[] { ' ', '\t', '\n', '\r' };
- /// Converts the specified value to a serializable string in ATOM format.
+ /// Converts the specified value to a serializable string.
/// Non-null value to convert.
- /// The specified value converted to an ATOM string.
+ /// The specified value converted to a string.
/// boolean value indicating conversion successful conversion
internal static bool TryConvertPrimitiveToString(object value, out string result)
{
diff --git a/src/Microsoft.OData.Core/ODataServiceDocumentElement.cs b/src/Microsoft.OData.Core/ODataServiceDocumentElement.cs
index 4f512b99a9..99dac7523d 100644
--- a/src/Microsoft.OData.Core/ODataServiceDocumentElement.cs
+++ b/src/Microsoft.OData.Core/ODataServiceDocumentElement.cs
@@ -23,11 +23,10 @@ public Uri Url
set;
}
- /// Gets or sets the name of the element; this is the entity set or singleton name in JSON and the HREF in Atom.
+ /// Gets or sets the name of the element; this is the entity set or singleton name in JSON.
/// The name of the element.
///
/// This property is required when reading and writing the Json format.
- /// If present in ATOM, it will be used to populate the title element.
///
public string Name
{
diff --git a/src/Microsoft.OData.Core/ODataWriterCore.cs b/src/Microsoft.OData.Core/ODataWriterCore.cs
index c7c2ac1f73..15f006c9cf 100644
--- a/src/Microsoft.OData.Core/ODataWriterCore.cs
+++ b/src/Microsoft.OData.Core/ODataWriterCore.cs
@@ -1262,7 +1262,7 @@ protected virtual NestedResourceInfoScope CreateNestedResourceInfoScope(
/// The selected properties of this scope.
protected virtual void PrepareResourceForWriteStart(ResourceScope resourceScope, ODataResource resource, bool writingResponse, SelectedPropertiesNode selectedProperties)
{
- // No-op Atom and Verbose JSON. The Json writer will override this method and inject the appropriate metadata builder
+ // The Json writer will override this method and inject the appropriate metadata builder
// into the resource before writing.
// Actually we can inject the metadata builder in here and
// remove virtual from this method.
@@ -1277,7 +1277,7 @@ protected virtual void PrepareResourceForWriteStart(ResourceScope resourceScope,
/// The selected properties of this scope.
protected virtual void PrepareDeletedResourceForWriteStart(DeletedResourceScope resourceScope, ODataDeletedResource deletedResource, bool writingResponse, SelectedPropertiesNode selectedProperties)
{
- // No-op Atom and Verbose JSON. The Json writer will override this method and inject the appropriate metadata builder
+ //.The Json writer will override this method and inject the appropriate metadata builder
// into the resource before writing.
// Actually we can inject the metadata builder in here and
// remove virtual from this method.
@@ -1532,7 +1532,6 @@ protected virtual Task PrepareResourceForWriteStartAsync(
bool writingResponse,
SelectedPropertiesNode selectedProperties)
{
- // No-op Atom and Verbose JSON.
// ODataJsonWriter will override this method and inject the appropriate metadata builder
// into the resource before writing.
return TaskUtils.CompletedTask;
@@ -1552,7 +1551,6 @@ protected virtual Task PrepareDeletedResourceForWriteStartAsync(
bool writingResponse,
SelectedPropertiesNode selectedProperties)
{
- // No-op Atom and Verbose JSON.
// ODataJsonWriter will override this method and inject the appropriate metadata builder
// into the resource before writing.
return TaskUtils.CompletedTask;
diff --git a/src/Microsoft.OData.Core/Parameterized.Microsoft.OData.Core.cs b/src/Microsoft.OData.Core/Parameterized.Microsoft.OData.Core.cs
index 60da501b70..a53e54f958 100644
--- a/src/Microsoft.OData.Core/Parameterized.Microsoft.OData.Core.cs
+++ b/src/Microsoft.OData.Core/Parameterized.Microsoft.OData.Core.cs
@@ -477,11 +477,11 @@ internal static string PropertyAnnotationAfterTheProperty(object p0, object p1)
}
///
- /// A string like "Cannot convert a value of type '{0}' to the string representation of an Atom primitive value."
+ /// A string like "Cannot convert a value of type '{0}' to the string representation of a primitive value."
///
- internal static string AtomValueUtils_CannotConvertValueToAtomPrimitive(object p0)
+ internal static string ValueUtils_CannotConvertValueToPrimitive(object p0)
{
- return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.AtomValueUtils_CannotConvertValueToAtomPrimitive, p0);
+ return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.ValueUtils_CannotConvertValueToPrimitive, p0);
}
///
@@ -3573,25 +3573,25 @@ internal static string ODataMetadataOutputContext_NotSupportJsonMetadata
///
/// A string like "A relative URI value '{0}' was specified in the payload, but no base URI for it was found. When the payload contains a relative URI, there must be an xml:base in the payload or else a base URI must specified in the reader settings."
///
- internal static string ODataAtomDeserializer_RelativeUriUsedWithoutBaseUriSpecified(object p0)
+ internal static string ODataXmlDeserializer_RelativeUriUsedWithoutBaseUriSpecified(object p0)
{
- return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.ODataAtomDeserializer_RelativeUriUsedWithoutBaseUriSpecified, p0);
+ return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.ODataXmlDeserializer_RelativeUriUsedWithoutBaseUriSpecified, p0);
}
///
/// A string like "The element with name '{0}' is not a valid collection item. The name of the collection item element must be 'element' and it must belong to the '{1}' namespace."
///
- internal static string ODataAtomPropertyAndValueDeserializer_InvalidCollectionElement(object p0, object p1)
+ internal static string ODataPropertyAndValueDeserializer_InvalidCollectionElement(object p0, object p1)
{
- return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.ODataAtomPropertyAndValueDeserializer_InvalidCollectionElement, p0, p1);
+ return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.ODataPropertyAndValueDeserializer_InvalidCollectionElement, p0, p1);
}
///
- /// A string like "The property '{0}' on type '{1}' was found in the {{http://docs.oasis-open.org/odata/ns/metadata}}:properties element, and it is declared as a navigation property. Navigation properties in ATOM must be represented as {{http://www.w3.org/2005/Atom}}:link elements."
+ /// A string like "The property '{0}' on type '{1}' was found in the {{http://docs.oasis-open.org/odata/ns/metadata}}:properties element, and it is declared as a navigation property."
///
- internal static string ODataAtomPropertyAndValueDeserializer_NavigationPropertyInProperties(object p0, object p1)
+ internal static string ODataPropertyAndValueDeserializer_NavigationPropertyInProperties(object p0, object p1)
{
- return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.ODataAtomPropertyAndValueDeserializer_NavigationPropertyInProperties, p0, p1);
+ return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.ODataPropertyAndValueDeserializer_NavigationPropertyInProperties, p0, p1);
}
///
@@ -3637,25 +3637,25 @@ internal static string EdmLibraryExtensions_ValueOverflowForUnderlyingType(objec
///
/// A string like "The 'type' attribute on element {{http://www.w3.org/2005/Atom}}:content is either missing or has an invalid value '{0}'. Only 'application/xml' and 'application/atom+xml' are supported as the value of the 'type' attribute on the {{http://www.w3.org/2005/Atom}}:content element."
///
- internal static string ODataAtomResourceDeserializer_ContentWithWrongType(object p0)
+ internal static string ODataXmlResourceDeserializer_ContentWithWrongType(object p0)
{
- return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.ODataAtomResourceDeserializer_ContentWithWrongType, p0);
+ return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.ODataXmlResourceDeserializer_ContentWithWrongType, p0);
}
///
/// A string like "Multiple '{{http://docs.oasis-open.org/odata/ns/metadata}}:{0}' elements were found in a top-level error value. In OData, the value of a top-level error value can have no more than one '{{http://docs.oasis-open.org/odata/ns/metadata}}:{0}' element"
///
- internal static string ODataAtomErrorDeserializer_MultipleErrorElementsWithSameName(object p0)
+ internal static string ODataXmlErrorDeserializer_MultipleErrorElementsWithSameName(object p0)
{
- return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.ODataAtomErrorDeserializer_MultipleErrorElementsWithSameName, p0);
+ return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.ODataXmlErrorDeserializer_MultipleErrorElementsWithSameName, p0);
}
///
/// A string like "Multiple '{{http://docs.oasis-open.org/odata/ns/metadata}}:{0}' elements were found in an inner error value. In OData, the value of an inner error value can have at most one '{{http://docs.oasis-open.org/odata/ns/metadata}}:{0}' element."
///
- internal static string ODataAtomErrorDeserializer_MultipleInnerErrorElementsWithSameName(object p0)
+ internal static string ODataXmlErrorDeserializer_MultipleInnerErrorElementsWithSameName(object p0)
{
- return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.ODataAtomErrorDeserializer_MultipleInnerErrorElementsWithSameName, p0);
+ return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.ODataXmlErrorDeserializer_MultipleInnerErrorElementsWithSameName, p0);
}
///
@@ -5083,38 +5083,38 @@ internal static string ODataJsonValueSerializer_MissingRawValueOnUntyped
///
/// A string like "Encountered an 'annotation' element without a 'term' attribute. All 'annotation' elements must have a 'term' attribute."
///
- internal static string AtomInstanceAnnotation_MissingTermAttributeOnAnnotationElement
+ internal static string InstanceAnnotation_MissingTermAttributeOnAnnotationElement
{
get
{
- return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.AtomInstanceAnnotation_MissingTermAttributeOnAnnotationElement);
+ return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.InstanceAnnotation_MissingTermAttributeOnAnnotationElement);
}
}
///
/// A string like "The value of the 'type' attribute on an 'annotation' element was '{0}', which is incompatible with the '{1}' attribute."
///
- internal static string AtomInstanceAnnotation_AttributeValueNotationUsedWithIncompatibleType(object p0, object p1)
+ internal static string InstanceAnnotation_AttributeValueNotationUsedWithIncompatibleType(object p0, object p1)
{
- return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.AtomInstanceAnnotation_AttributeValueNotationUsedWithIncompatibleType, p0, p1);
+ return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.InstanceAnnotation_AttributeValueNotationUsedWithIncompatibleType, p0, p1);
}
///
/// A string like "Encountered the attribute '{0}' on a non-empty 'annotation' element. If attribute value notation is used to specify the annotation's value, then there can be no body to the element."
///
- internal static string AtomInstanceAnnotation_AttributeValueNotationUsedOnNonEmptyElement(object p0)
+ internal static string InstanceAnnotation_AttributeValueNotationUsedOnNonEmptyElement(object p0)
{
- return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.AtomInstanceAnnotation_AttributeValueNotationUsedOnNonEmptyElement, p0);
+ return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.InstanceAnnotation_AttributeValueNotationUsedOnNonEmptyElement, p0);
}
///
/// A string like "Encountered an 'annotation' element with more than one attribute from following set: 'int', 'string', 'decimal', 'float', and 'bool'. Only one such attribute may appear on an 'annotation' element."
///
- internal static string AtomInstanceAnnotation_MultipleAttributeValueNotationAttributes
+ internal static string InstanceAnnotation_MultipleAttributeValueNotationAttributes
{
get
{
- return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.AtomInstanceAnnotation_MultipleAttributeValueNotationAttributes);
+ return Microsoft.OData.TextRes.GetString(Microsoft.OData.TextRes.InstanceAnnotation_MultipleAttributeValueNotationAttributes);
}
}
diff --git a/src/Microsoft.OData.Core/PrimitiveConverter.cs b/src/Microsoft.OData.Core/PrimitiveConverter.cs
index ee0950b2a4..3c55479968 100644
--- a/src/Microsoft.OData.Core/PrimitiveConverter.cs
+++ b/src/Microsoft.OData.Core/PrimitiveConverter.cs
@@ -68,7 +68,7 @@ internal PrimitiveConverter(KeyValuePair[] spatia
}
}
- /// PrimitiveConverter instance for use by the Atom and Json readers and writers.
+ /// PrimitiveConverter instance for use by Json readers and writers.
internal static PrimitiveConverter Instance
{
get
diff --git a/src/Microsoft.OData.Core/ReaderValidationUtils.cs b/src/Microsoft.OData.Core/ReaderValidationUtils.cs
index 26cd6546f9..1be2e15729 100644
--- a/src/Microsoft.OData.Core/ReaderValidationUtils.cs
+++ b/src/Microsoft.OData.Core/ReaderValidationUtils.cs
@@ -216,7 +216,7 @@ internal static IEdmType ResolvePayloadTypeName(
/// This value indicates if a structured type is expected to be return.
/// True for structured type, false for non-structured type, null for indetermination.
/// The default payload type if none is specified in the payload;
- /// for ATOM this is Edm.String, for JSON it is null since there is no payload type name for primitive types in the payload.
+ /// for JSON it is null since there is no payload type name for primitive types in the payload.
/// The expected type reference, or null if no expected type is available.
/// The payload type name, or null if no payload type was specified.
/// The model to use.
@@ -337,7 +337,7 @@ internal static IEdmTypeReference ResolvePayloadTypeNameAndComputeTargetType(
/// The resolved payload type, or null if no payload type was specified.
/// The name of the payload type, or null if no payload type was specified.
/// The default payload type if none is specified in the payload;
- /// for ATOM this is Edm.String, for JSON it is null since there is no payload type name for primitive types in the payload.
+ /// for JSON it is null since there is no payload type name for primitive types in the payload.
/// The model to use.
/// Custom type resolver used by client, or null if none.
/// Whether primitive type conversion is enabled.
diff --git a/src/Microsoft.OData.Core/ReaderValidator.cs b/src/Microsoft.OData.Core/ReaderValidator.cs
index 8ecc2d3cbf..07b397ca22 100644
--- a/src/Microsoft.OData.Core/ReaderValidator.cs
+++ b/src/Microsoft.OData.Core/ReaderValidator.cs
@@ -76,7 +76,7 @@ public void ValidateNullValue(IEdmTypeReference expectedTypeReference,
/// This value indicates if a structured type is expected to be return.
/// True for structured type, false for non-structured type, null for indetermination.
/// The default payload type if none is specified in the payload;
- /// for ATOM this is Edm.String, for JSON it is null since there is no payload type name for primitive types in the payload.
+ /// for JSON it is null since there is no payload type name for primitive types in the payload.
/// The expected type reference, or null if no expected type is available.
/// The payload type name, or null if no payload type was specified.
/// The model to use.
diff --git a/src/Microsoft.OData.Core/ValidationUtils.cs b/src/Microsoft.OData.Core/ValidationUtils.cs
index 09c45b2e44..8455d1b58e 100644
--- a/src/Microsoft.OData.Core/ValidationUtils.cs
+++ b/src/Microsoft.OData.Core/ValidationUtils.cs
@@ -449,7 +449,7 @@ internal static void ValidateBoundaryString(string boundary)
/// true if the property name is valid, otherwise false.
internal static bool IsValidPropertyName(string propertyName)
{
- Debug.Assert(!string.IsNullOrEmpty(propertyName), "The ATOM or JSON reader should have verified that the property name is not null or empty.");
+ Debug.Assert(!string.IsNullOrEmpty(propertyName), "The JSON reader should have verified that the property name is not null or empty.");
return propertyName.IndexOfAny(ValidationUtils.InvalidCharactersInPropertyNames) < 0;
}
diff --git a/src/Microsoft.OData.Core/Value/ODataUntypedValue.cs b/src/Microsoft.OData.Core/Value/ODataUntypedValue.cs
index fc4a790b31..9f4708756d 100644
--- a/src/Microsoft.OData.Core/Value/ODataUntypedValue.cs
+++ b/src/Microsoft.OData.Core/Value/ODataUntypedValue.cs
@@ -17,7 +17,6 @@ public sealed class ODataUntypedValue : ODataValue
/// The caller of the setter is responsible for formatting the value for the
/// data transmission protocol it will be used in.
/// For instance, if the protocol is JSON, the caller must format this value as JSON.
- /// If the protocol is Atom, the caller must format this value as XML.
/// This library will not perform any formatting.
///
public string RawValue
diff --git a/src/Microsoft.OData.Core/WriterValidationUtils.cs b/src/Microsoft.OData.Core/WriterValidationUtils.cs
index 9cac419d20..7ba8d393b4 100644
--- a/src/Microsoft.OData.Core/WriterValidationUtils.cs
+++ b/src/Microsoft.OData.Core/WriterValidationUtils.cs
@@ -284,7 +284,7 @@ internal static void ValidateStreamReferenceValue(ODataStreamReferenceValue stre
// OData clients when creating new MLE/MR might not have the MR information (yet) when sending the first PUT, but they still
// need to mark the resource as MLE so that properties are written out-of-content. In such scenario the client can just set an empty
// default stream to mark the resource as MLE.
- // That will cause the ATOM writer to write the properties outside the content without producing any content element.
+ // That will cause the writer to write the properties outside the content without producing any content element.
if (streamReference.EditLink == null && streamReference.ReadLink == null && !isDefaultStream)
{
throw new ODataException(Strings.WriterValidationUtils_StreamReferenceValueMustHaveEditLinkOrReadLink);
diff --git a/test/FunctionalTests/Microsoft.OData.Core.Tests/ODataUtilsTests.cs b/test/FunctionalTests/Microsoft.OData.Core.Tests/ODataUtilsTests.cs
index f737875414..f92c9a32e3 100644
--- a/test/FunctionalTests/Microsoft.OData.Core.Tests/ODataUtilsTests.cs
+++ b/test/FunctionalTests/Microsoft.OData.Core.Tests/ODataUtilsTests.cs
@@ -73,16 +73,6 @@ public void CustomValuesShouldOverrideDefaultValuesInMediaTypeOfJson()
MimeConstants.MimeParameterValueTrue);
}
- [Fact]
- public void MediaTypeOfNonJsonShouldNotHaveDefaultValues()
- {
- ODataMediaType mediaTypeObject = GetAppendedMediaTypeObject(MimeConstants.MimeApplicationAtomXml);
-
- string test = mediaTypeObject.ToText();
- Assert.DoesNotContain(MimeConstants.MimeStreamingParameterName, test);
- Assert.DoesNotContain(MimeConstants.MimeIeee754CompatibleParameterName, test);
- }
-
[Fact]
public void NonMediaTypeShouldNotHaveDefaultValues()
{
diff --git a/test/FunctionalTests/Microsoft.OData.Core.Tests/ScenarioTests/Reader/MetadataReaderTests.cs b/test/FunctionalTests/Microsoft.OData.Core.Tests/ScenarioTests/Reader/MetadataReaderTests.cs
index 57eb5cd5f1..5a686f29c6 100644
--- a/test/FunctionalTests/Microsoft.OData.Core.Tests/ScenarioTests/Reader/MetadataReaderTests.cs
+++ b/test/FunctionalTests/Microsoft.OData.Core.Tests/ScenarioTests/Reader/MetadataReaderTests.cs
@@ -134,7 +134,7 @@ public void VerifyErrorElementNotFoundForErrorMetadataDocumentThrows()
};
Action test = () => this.ReadMetadataDocument(map, "main");
- test.Throws(Strings.ODataAtomErrorDeserializer_MultipleErrorElementsWithSameName("code"));
+ test.Throws(Strings.ODataXmlErrorDeserializer_MultipleErrorElementsWithSameName("code"));
}
[Theory]
@@ -194,7 +194,7 @@ public void VerifyInnerErrorElementNotFoundForErrorMetadataDocumentThrows()
};
Action test = () => this.ReadMetadataDocument(map, "main");
- test.Throws(Strings.ODataAtomErrorDeserializer_MultipleInnerErrorElementsWithSameName("stacktrace"));
+ test.Throws(Strings.ODataXmlErrorDeserializer_MultipleInnerErrorElementsWithSameName("stacktrace"));
}
private IEdmModel ReadMetadataDocument(Dictionary map, string mainUrl)