Skip to content

Commit ef6c9d3

Browse files
author
Robert Anderson
committed
Changes to ObjC template to move from deprecated 'Type' to using 'Projection'
1 parent 9ec15d4 commit ef6c9d3

13 files changed

+61
-58
lines changed

Templates/ObjC/Base/SharedObjC.template.tt

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ private string GetObjCTypeIdentifier(OdcmObject o, bool getUnderlyingType=false)
3232
return @"NSArray";
3333
}
3434

35-
return GetObjCTypeIdentifier(prop.Type,getUnderlyingType);
35+
return GetObjCTypeIdentifier(prop.Projection.Type,getUnderlyingType);
3636
}
3737
else if(o is OdcmType)
3838
{
@@ -113,7 +113,9 @@ private string GetJsonToObjCExpressionConversion(string expr,OdcmProperty prop)
113113
GetObjCTypeIdentifier(prop,true));
114114
}
115115

116-
if(prop.Type is OdcmEntityClass || prop.Type is OdcmMediaClass || prop.Type is OdcmComplexClass)
116+
var type = prop.Projection.Type;
117+
118+
if(type is OdcmEntityClass || type is OdcmMediaClass || type is OdcmComplexClass)
117119
{
118120
return String.Format(
119121
@"[[{0} alloc] initWithDictionary: {1}]",
@@ -124,7 +126,7 @@ private string GetJsonToObjCExpressionConversion(string expr,OdcmProperty prop)
124126
return String.Format(
125127
@"[{0} {1}]",
126128
expr,
127-
prop.Type.GetNSNumberValueMethod());
129+
type.GetNSNumberValueMethod());
128130
}
129131

130132
private string GetHydratedPropertyFromDictionary(OdcmProperty prop)
@@ -156,7 +158,7 @@ private string GetObjCToJsonConvertibleExpressionConversion(OdcmType type, bool
156158

157159
private string GetObjCToJsonConvertibleExpressionConversion(OdcmProperty prop,string val)
158160
{
159-
return GetObjCToJsonConvertibleExpressionConversion(prop.Type, prop.IsCollection, val);
161+
return GetObjCToJsonConvertibleExpressionConversion(prop.Projection.Type, prop.IsCollection, val);
160162
}
161163

162164
private string SetDictionaryPropertyInJsonConvertibleForm(OdcmProperty prop, string val)
@@ -185,8 +187,8 @@ private string GetHydratedIVarFromDictionary(OdcmProperty prop)
185187
",
186188
GetObjCProperty(prop),
187189
prop.Name,
188-
prop.Type.Name.ToLowerFirstChar(),
189-
GetJsonToObjCExpressionConversion(prop.Type.Name.ToLowerFirstChar(), prop));
190+
prop.Projection.Type.Name.ToLowerFirstChar(),
191+
GetJsonToObjCExpressionConversion(prop.Projection.Type.Name.ToLowerFirstChar(), prop));
190192
}
191193

192194
return String.Format(@"_{0} = {1};",GetObjCProperty(prop),GetHydratedPropertyFromDictionary(prop));
@@ -248,7 +250,7 @@ private void PropertyGetterImplementation(OdcmProperty prop)
248250
- (<#=GetObjCTypeForVarDeclaration(prop)#>) <#=GetObjCPropertyGetter(prop)#>
249251
{
250252
<#+
251-
if(IsObjCTypeSameAsJsonType(prop.Type))
253+
if(IsObjCTypeSameAsJsonType(prop.Projection.Type))
252254
{
253255
#>
254256
return self.dictionary[@"<#=prop.Name#>"];
@@ -287,7 +289,7 @@ private void PropertySetterImplementation(OdcmProperty prop)
287289
- (void) <#=GetObjCPropertySetter(prop)#>: (<#=GetObjCTypeForVarDeclaration(prop)#>) val
288290
{
289291
<#+
290-
if(IsObjCTypeSameAsJsonType(prop.Type))
292+
if(IsObjCTypeSameAsJsonType(prop.Projection.Type))
291293
{
292294
#>
293295
self.dictionary[@"<#=prop.Name#>"] = val;

Templates/ObjC/Requests/EntityClient.h.tt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ foreach(var prop in containerProps)
1212
{
1313
var propName = writer.GetPrefix() + prop.Name.ToUpperFirstChar();
1414
classes.Add(propName + "CollectionRequestBuilder;");
15-
classes.Add(writer.GetPrefix() + prop.Type.Name.ToUpperFirstChar() + "RequestBuilder;");
15+
classes.Add(writer.GetPrefix() + prop.Projection.Type.Name.ToUpperFirstChar() + "RequestBuilder;");
1616
}
1717

1818
foreach(var propertyClass in classes)

Templates/ObjC/Requests/EntityClient.m.tt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ var containerProps = model.EntityContainer.Properties;
1515
foreach(var prop in containerProps)
1616
{
1717
var propName = writer.GetPrefix() + prop.Name.ToUpperFirstChar();
18-
var propType = writer.GetPrefix() + prop.Type.Name.ToUpperFirstChar();
18+
var propType = writer.GetPrefix() + prop.Projection.Type.Name.ToUpperFirstChar();
1919

2020
if(prop.IsCollection())
2121
{
@@ -24,12 +24,12 @@ foreach(var prop in containerProps)
2424
-(<#=propName#>CollectionRequestBuilder *)<#=prop.Name#>
2525
{
2626
return [[<#=propName#>CollectionRequestBuilder alloc] initWithURL:[self.baseURL URLByAppendingPathComponent:@"<#=prop.Name#>"]
27-
<#=prop.Type.GetTypeString().ToSpaces()#><#="CollectionRequestBuilder alloc] ".ToSpaces()#>client:self];
27+
<#=prop.Projection.Type.GetTypeString().ToSpaces()#><#="CollectionRequestBuilder alloc] ".ToSpaces()#>client:self];
2828
}
2929

30-
-(<#=propType#>RequestBuilder*)<#=prop.Name#>:(NSString*)<#=prop.Type.Name#>
30+
-(<#=propType#>RequestBuilder*)<#=prop.Name#>:(NSString*)<#=prop.Projection.Type.Name#>
3131
{
32-
return [[self <#=prop.Name#>] <#=prop.Type.Name#>:<#=prop.Type.Name#>];
32+
return [[self <#=prop.Name#>] <#=prop.Projection.Type.Name#>:<#=prop.Type.Name#>];
3333
}
3434

3535
<#
@@ -40,7 +40,7 @@ foreach(var prop in containerProps)
4040
-(<#=propType#>RequestBuilder *) <#=prop.Name#>
4141
{
4242
return [[<#=propType#>RequestBuilder alloc] initWithURL:[self.baseURL URLByAppendingPathComponent:@"<#=prop.Name#>"]
43-
<#=prop.Type.GetTypeString().ToSpaces()#><#="RequestBuilder alloc] ".ToSpaces()#>client:self];
43+
<#=prop.Projection.Type.GetTypeString().ToSpaces()#><#="RequestBuilder alloc] ".ToSpaces()#>client:self];
4444
}
4545
<#
4646
}

Templates/ObjC/Requests/EntityCollectionRequest.h.tt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<#
55

66
var prop = host.CurrentType.AsOdcmProperty();
7-
var innerEntity = prop.Type;
7+
var innerEntity = prop.Projection.Type;
88
var isServiceES = prop.Class.Kind == OdcmClassKind.Service;
99

1010
var collectionNamer = prop.IsReference() ? ((collectionReference)?"CollectionReferences":"CollectionWithReferences") : "Collection";

Templates/ObjC/Requests/EntityCollectionRequest.m.tt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<#
55

66
var prop = host.CurrentType.AsOdcmProperty();
7-
var innerEntity = prop.Type;
7+
var innerEntity = prop.Projection.Type;
88
var isServiceES = prop.Class.Kind == OdcmClassKind.Service;
99

1010
var collectionNamer = prop.IsReference() ? ((collectionReference)?"CollectionReferences":"CollectionWithReferences") : "Collection";

Templates/ObjC/Requests/EntityCollectionRequestBuilder.h.tt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<#
55

66
var prop = host.CurrentType.AsOdcmProperty();
7-
var innerEntity = prop.Type;
7+
var innerEntity = prop.Projection.Type;
88
var innerEntityType = writer.GetPrefix() + innerEntity.Name.ToUpperFirstChar();
99
var isServiceES = prop.Class.Kind == OdcmClassKind.Service;
1010

Templates/ObjC/Requests/EntityCollectionRequestBuilder.m.tt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<#
55

66
var prop = host.CurrentType.AsOdcmProperty();
7-
var innerEntity = prop.Type;
7+
var innerEntity = prop.Projection.Type;
88
var isServiceES = prop.Class.Kind == OdcmClassKind.Service;
99

1010
var collectionNamer = prop.IsReference() ? ((collectionReference)?"CollectionReferences":"CollectionWithReferences") : "Collection";

Templates/ObjC/Requests/EntityRequest.h.tt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ if(!withReference && !entityReference)
1414
foreach(var prop in entity.NavigationProperties())
1515
{
1616
var fetcher = string.Empty;
17-
fetcher = writer.GetPrefix() + prop.Type.Name.ToUpperFirstChar() + "RequestBuilder";
17+
fetcher = writer.GetPrefix() + prop.Projection.Type.Name.ToUpperFirstChar() + "RequestBuilder";
1818

1919
if(!clasess.Contains(fetcher)) clasess.Add(fetcher);
2020

Templates/ObjC/Requests/EntityRequestBuilder.h.tt

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ if(!withReference && !entityReference)
2727
foreach(var prop in entity.NavigationProperties())
2828
{
2929
var fetcher = string.Empty;
30-
fetcher = writer.GetPrefix() + prop.Type.Name.ToUpperFirstChar() + "RequestBuilder";
30+
fetcher = writer.GetPrefix() + prop.Projection.Type.Name.ToUpperFirstChar() + "RequestBuilder";
3131

3232
if(!classes.Contains(fetcher)) classes.Add(fetcher);
3333

@@ -57,9 +57,9 @@ foreach(var prop in entity.GetProperties(typeName:"Stream"))
5757
}
5858
}
5959

60-
foreach(var prop in entity.Properties.Where( prop => prop.Type is OdcmMediaClass))
60+
foreach(var prop in entity.Properties.Where(prop => prop.Projection.Type is OdcmMediaClass))
6161
{
62-
var streamRequest = writer.GetPrefix() + prop.Type.Name.ToUpperFirstChar() + "StreamRequest";
62+
var streamRequest = writer.GetPrefix() + prop.Projection.Type.Name.ToUpperFirstChar() + "StreamRequest";
6363
if (!classes.Contains(streamRequest))
6464
{
6565
classes.Add(streamRequest);
@@ -77,10 +77,10 @@ foreach(var func in entity.Methods)
7777
}
7878

7979
foreach(var complexType in entity.Properties.Where(prop => prop.LongDescriptionContains("navigable") ||
80-
prop.Type.LongDescriptionContains("navigable"))
81-
.Where(prop => prop.Type is OdcmClass))
80+
prop.Projection.Type.LongDescriptionContains("navigable"))
81+
.Where(prop => prop.Projection.Type is OdcmClass))
8282
{
83-
var requestType = writer.GetPrefix() + complexType.Type.Name.ToUpperFirstChar() + "RequestBuilder";
83+
var requestType = writer.GetPrefix() + complexType.Projection.Type.Name.ToUpperFirstChar() + "RequestBuilder";
8484
if (!classes.Contains(requestType))
8585
{
8686
classes.Add(requestType);
@@ -133,19 +133,19 @@ if(!withReference && !entityReference)
133133
foreach(var prop in entity.NavigationProperties())
134134
{
135135
var propInstanceName = prop.Name.ToLowerFirstChar();
136-
var innerPropTypeName = writer.GetPrefix() + prop.Type.Name.ToUpperFirstChar();
136+
var innerPropTypeName = writer.GetPrefix() + prop.Projection.Type.Name.ToUpperFirstChar();
137137
var innerPropTypeRequestName = innerPropTypeName + "RequestBuilder";
138138

139139
if(prop.IsCollection)
140140
{
141141
var collectionNamer = prop.IsReference() ? "CollectionWithReferences" : "Collection";
142142
var collectionRequestName = writer.GetPrefix() + prop.Class.Name.ToUpperFirstChar() + prop.Name.ToUpperFirstChar() + collectionNamer + "RequestBuilder";
143-
var innerPropInstanceName = prop.Type.Name.ToLowerFirstChar();
143+
var innerPropInstanceName = prop.Projection.Type.Name.ToLowerFirstChar();
144144
#>
145145
- (<#=collectionRequestName#> *)<#=propInstanceName#>;
146146

147147
<#
148-
if (!(prop.Type is OdcmComplexClass) || prop.LongDescriptionContains("queryable"))
148+
if (!(prop.Projection.Type is OdcmComplexClass) || prop.LongDescriptionContains("queryable"))
149149
{
150150
#>
151151
- (<#=innerPropTypeRequestName#> *)<#=propInstanceName#>:(NSString *)<#=innerPropInstanceName#>;
@@ -162,11 +162,11 @@ foreach(var prop in entity.NavigationProperties())
162162
}
163163
}
164164
foreach(var complexType in entity.Properties.Where(prop => prop.LongDescriptionContains("navigable") ||
165-
prop.Type.LongDescriptionContains("navigable"))
166-
.Where(prop => prop.Type is OdcmClass))
165+
prop.Projection.Type.LongDescriptionContains("navigable"))
166+
.Where(prop => prop.Projection.Type is OdcmClass))
167167
{
168168
#>
169-
- (<#=writer.GetPrefix() + complexType.Type.Name.ToUpperFirstChar()#>RequestBuilder *) <#=complexType.Name#>;
169+
- (<#=writer.GetPrefix() + complexType.Projection.Type.Name.ToUpperFirstChar()#>RequestBuilder *) <#=complexType.Name#>;
170170

171171
<#
172172
}
@@ -182,10 +182,10 @@ foreach(var prop in entity.GetProperties(typeName:"Stream"))
182182

183183
<#
184184
}
185-
foreach(var prop in entity.Properties.Where( prop => prop.Type is OdcmMediaClass))
185+
foreach(var prop in entity.Properties.Where( prop => prop.Projection.Type is OdcmMediaClass))
186186
{
187187
var propName = prop.Name.ToUpperFirstChar();
188-
var propRequestName = writer.GetPrefix() + prop.Type.Name.ToUpperFirstChar() + "StreamRequest";
188+
var propRequestName = writer.GetPrefix() + prop.Projection.Type.Name.ToUpperFirstChar() + "StreamRequest";
189189
#>
190190
- (<#=propRequestName#> *) <#=propName.ToLowerFirstChar()#>ValueWithOptions:(NSArray *)options;
191191

Templates/ObjC/Requests/EntityRequestBuilder.m.tt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ foreach(var prop in entity.NavigationProperties())
2424
var propTypeName = writer.GetPrefix() + prop.Name.ToUpperFirstChar();
2525
var collectionNamer = prop.IsReference() ? "CollectionWithReferences" : "Collection";
2626
var collectionRequestName = writer.GetPrefix() + prop.Class.Name.ToUpperFirstChar() + prop.Name.ToUpperFirstChar() + collectionNamer +"RequestBuilder";
27-
var innerPropTypeName = writer.GetPrefix() + prop.Type.Name.ToUpperFirstChar();
28-
var innerPropInstanceName = prop.Type.Name.ToLowerFirstChar();
27+
var innerPropTypeName = writer.GetPrefix() + prop.Projection.Type.Name.ToUpperFirstChar();
28+
var innerPropInstanceName = prop.Projection.Type.Name.ToLowerFirstChar();
2929
var innerPropTypeRequestName = innerPropTypeName + "RequestBuilder";
3030

3131
#>
@@ -37,7 +37,7 @@ foreach(var prop in entity.NavigationProperties())
3737
}
3838

3939
<#
40-
if (!(prop.Type is OdcmComplexClass) || prop.LongDescriptionContains("queryable"))
40+
if (!(prop.Projection.Type is OdcmComplexClass) || prop.LongDescriptionContains("queryable"))
4141
{
4242
#>
4343
- (<#=innerPropTypeRequestName#> *)<#=propInstanceName#>:(NSString *)<#=innerPropInstanceName#>
@@ -52,23 +52,23 @@ foreach(var prop in entity.NavigationProperties())
5252
else
5353
{
5454
#>
55-
-(<#=writer.GetPrefix() + prop.Type.Name.ToUpperFirstChar()#>RequestBuilder *)<#=prop.Name#>
55+
-(<#=writer.GetPrefix() + prop.Projection.Type.Name.ToUpperFirstChar()#>RequestBuilder *)<#=prop.Name#>
5656
{
57-
return [[<#=writer.GetPrefix() + prop.Type.Name.ToUpperFirstChar()#>RequestBuilder alloc] initWithURL:[self.requestURL URLByAppendingPathComponent:@"<#=prop.Name#>"] client:self.client];
57+
return [[<#=writer.GetPrefix() + prop.Projection.Type.Name.ToUpperFirstChar()#>RequestBuilder alloc] initWithURL:[self.requestURL URLByAppendingPathComponent:@"<#=prop.Name#>"] client:self.client];
5858

5959
}
6060

6161
<#
6262
}
6363
}
6464
foreach (var complexType in entity.Properties.Where(prop => prop.LongDescriptionContains("navigable") ||
65-
prop.Type.LongDescriptionContains("navigable"))
66-
.Where(prop => prop.Type is OdcmClass))
65+
prop.Projection.Type.LongDescriptionContains("navigable"))
66+
.Where(prop => prop.Projection.Type is OdcmClass))
6767
{
6868
#>
69-
-(<#=writer.GetPrefix() + complexType.Type.Name.ToUpperFirstChar()#>RequestBuilder *)<#=complexType.Name#>
69+
-(<#=writer.GetPrefix() + complexType.Projection.Type.Name.ToUpperFirstChar()#>RequestBuilder *)<#=complexType.Name#>
7070
{
71-
return [[<#=writer.GetPrefix() + complexType.Type.Name.ToUpperFirstChar()#>RequestBuilder alloc] initWithURL:[self.requestURL URLByAppendingPathComponent:@"<#=complexType.Name#>"] client:self.client];
71+
return [[<#=writer.GetPrefix() + complexType.Projection.Type.Name.ToUpperFirstChar()#>RequestBuilder alloc] initWithURL:[self.requestURL URLByAppendingPathComponent:@"<#=complexType.Name#>"] client:self.client];
7272

7373
}
7474

@@ -95,10 +95,10 @@ foreach(var prop in entity.GetProperties(typeName:"Stream"))
9595

9696
}
9797

98-
foreach(var prop in entity.Properties.Where( prop => prop.Type is OdcmMediaClass))
98+
foreach(var prop in entity.Properties.Where( prop => prop.Projection.Type is OdcmMediaClass))
9999
{
100100
var propName = prop.Name.ToUpperFirstChar();
101-
var propRequestName = writer.GetPrefix() + prop.Type.Name.ToUpperFirstChar() + "StreamRequest";
101+
var propRequestName = writer.GetPrefix() + prop.Projection.Type.Name.ToUpperFirstChar() + "StreamRequest";
102102
#>
103103
- (<#=propRequestName#> *) <#=propName.ToLowerFirstChar()#>ValueWithOptions:(NSArray *)options
104104
{

0 commit comments

Comments
 (0)