Skip to content

Commit

Permalink
more null changes
Browse files Browse the repository at this point in the history
  • Loading branch information
j4qfrost committed May 11, 2024
1 parent dde66c2 commit 8a4f33f
Show file tree
Hide file tree
Showing 10 changed files with 49 additions and 61 deletions.
16 changes: 8 additions & 8 deletions packages/core/lib/src/db/managed/entity.dart
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ class ManagedEntity implements APIComponentDocumenter {
/// for [ManagedRelationshipType.hasMany] or [ManagedRelationshipType.hasOne] properties, as those values are derived by the foreign key reference
/// on the inverse relationship property.
/// Keys are the case-sensitive name of the relationship.
late Map<String, ManagedRelationshipDescription?> relationships;
late Map<String, ManagedRelationshipDescription> relationships;

/// All properties (relationships and attributes) of this entity.
///
Expand Down Expand Up @@ -104,9 +104,9 @@ class ManagedEntity implements APIComponentDocumenter {
/// set in their [Column] and all [ManagedRelationshipType.belongsTo] relationships.
///
/// This list cannot be modified.
List<String>? get defaultProperties {
List<String> get defaultProperties {
if (_defaultProperties == null) {
final elements = <String?>[];
final elements = <String>[];
elements.addAll(
attributes.values
.where((prop) => prop!.isIncludedInDefaultResultSet)
Expand All @@ -118,14 +118,14 @@ class ManagedEntity implements APIComponentDocumenter {
relationships.values
.where(
(prop) =>
prop!.isIncludedInDefaultResultSet &&
prop.isIncludedInDefaultResultSet &&
prop.relationshipType == ManagedRelationshipType.belongsTo,
)
.map((prop) => prop!.name),
.map((prop) => prop.name),
);
_defaultProperties = List.unmodifiable(elements);
}
return _defaultProperties;
return _defaultProperties!;
}

/// Name of primary key property.
Expand Down Expand Up @@ -176,8 +176,8 @@ class ManagedEntity implements APIComponentDocumenter {
return (runtime.instanceOfImplementation()..entity = this) as T;
}

ManagedSet<T>? setOf<T extends ManagedObject>(Iterable<dynamic> objects) {
return runtime.setOfImplementation(objects) as ManagedSet<T>?;
ManagedSet<T> setOf<T extends ManagedObject>(Iterable<dynamic> objects) {
return runtime.setOfImplementation(objects) as ManagedSet<T>;
}

/// Returns an attribute in this entity for a property selector.
Expand Down
4 changes: 2 additions & 2 deletions packages/core/lib/src/db/managed/object.dart
Original file line number Diff line number Diff line change
Expand Up @@ -267,13 +267,13 @@ abstract class ManagedObject<T> extends Serializable {
/// var json = json.encode(model.asMap());
@override
Map<String, dynamic> asMap() {
final outputMap = <String, dynamic>{};
final outputMap = <String, Object>{};

backing.contents.forEach((k, v) {
if (!_isPropertyPrivate(k)) {
final property = properties[k];
final value = property!.convertToPrimitiveValue(v);
if (value == null && !_includeIfNull(property)) {
if (!_includeIfNull(property)) {
return;
}
outputMap[mapKeyName(k)] = value;
Expand Down
2 changes: 1 addition & 1 deletion packages/core/lib/src/db/managed/validation/metadata.dart
Original file line number Diff line number Diff line change
Expand Up @@ -479,7 +479,7 @@ class Validate {
break;
case ValidateType.oneOf:
{
object.enumerated = _value as List<dynamic>?;
object.enumerated = _value as List<Object>?;
}
break;
}
Expand Down
4 changes: 2 additions & 2 deletions packages/core/lib/src/db/query/mixin.dart
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ mixin QueryMixin<InstanceType extends ManagedObject>

List<KeyPath> get propertiesToFetch =>
_propertiesToFetch ??
entity.defaultProperties!
entity.defaultProperties
.map((k) => KeyPath(entity.properties[k]))
.toList();

Expand Down Expand Up @@ -167,7 +167,7 @@ mixin QueryMixin<InstanceType extends ManagedObject>
if (parent.subQueries.containsKey(fromRelationship.inverse)) {
final validJoins = fromRelationship.entity.relationships.values
.where((r) => !identical(r, fromRelationship))
.map((r) => "'${r!.name}'")
.map((r) => "'${r.name}'")
.join(", ");

throw StateError(
Expand Down
18 changes: 3 additions & 15 deletions packages/core/lib/src/runtime/orm/data_model_compiler.dart
Original file line number Diff line number Diff line change
Expand Up @@ -160,8 +160,8 @@ class ManagedDataModelErrorImpl extends ManagedDataModelError {

factory ManagedDataModelErrorImpl.duplicateInverse(
String tableName,
String? inverseName,
List<String?> conflictingNames,
String inverseName,
List<String> conflictingNames,
) {
return ManagedDataModelErrorImpl(
"Entity '$tableName' has multiple relationship "
Expand Down Expand Up @@ -280,23 +280,11 @@ class ManagedDataModelErrorImpl extends ManagedDataModelError {
"in this way.");
}

static String? _getPersistentClassName(ManagedEntity entity) {
// if (entity == null) {
// return null;
// }

// if (entity.tableDefinition == null) {
// return null;
// }

static String _getPersistentClassName(ManagedEntity entity) {
return entity.tableDefinition;
}

static String _getInstanceClassName(ManagedEntity entity) {
// if (entity.instanceType == null) {
// return null;
// }

return _getName(reflectType(entity.instanceType).simpleName);
}

Expand Down
6 changes: 3 additions & 3 deletions packages/core/lib/src/runtime/orm/entity_builder.dart
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ class EntityBuilder {
late final PropertyBuilder primaryKeyProperty;
late final List<PropertyBuilder> properties;
final Map<String, ManagedAttributeDescription?> attributes = {};
final Map<String, ManagedRelationshipDescription?> relationships = {};
final Map<String, ManagedRelationshipDescription> relationships = {};

String get instanceTypeName => MirrorSystem.getName(instanceType.simpleName);

Expand Down Expand Up @@ -149,7 +149,7 @@ class EntityBuilder {
entity.symbolMap[Symbol("${p.propertyName}=")] = p.name;

if (p.isRelationship) {
relationships[p.name] = p.relationship;
relationships[p.name] = p.relationship!;
} else {
attributes[p.name] = p.attribute;
if (p.primaryKey) {
Expand All @@ -162,7 +162,7 @@ class EntityBuilder {
entity.relationships = relationships;
entity.validators = [];
entity.validators.addAll(attributes.values.expand((a) => a!.validators));
entity.validators.addAll(relationships.values.expand((a) => a!.validators));
entity.validators.addAll(relationships.values.expand((a) => a.validators));
entity.uniquePropertySet = uniquePropertySet
?.map((key) => entity.properties[key])
.whereType<ManagedPropertyDescription>()
Expand Down
18 changes: 9 additions & 9 deletions packages/core/lib/src/runtime/orm/property_builder.dart
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@ class PropertyBuilder {
.toList();

if (column?.validators.isNotEmpty ?? false) {
_validators!
_validators
.addAll(column!.validators.map((v) => ValidatorBuilder(this, v)));
}

if (type?.isEnumerated ?? false) {
_validators!.add(
_validators.add(
ValidatorBuilder(
this,
Validate.oneOf(type!.enumerationMap.values.toList()),
Expand All @@ -48,7 +48,7 @@ class PropertyBuilder {
final Column? column;
final ResponseKey? responseKey;

List<ValidatorBuilder>? get validators => _validators;
List<ValidatorBuilder> get validators => _validators;
Serialize? serialize;

ManagedAttributeDescription? attribute;
Expand All @@ -70,7 +70,7 @@ class PropertyBuilder {
bool indexed = false;
bool autoincrement = false;
DeleteRule? deleteRule;
List<ValidatorBuilder>? _validators;
late final List<ValidatorBuilder> _validators;

void compile(final List<EntityBuilder> entityBuilders) {
if (type == null) {
Expand All @@ -97,7 +97,7 @@ class PropertyBuilder {
name = column?.name ?? name;
}

for (final vb in validators!) {
for (final vb in validators) {
vb.compile(entityBuilders);
}
}
Expand Down Expand Up @@ -144,13 +144,13 @@ class PropertyBuilder {
);
}

for (final vb in validators!) {
for (final vb in validators) {
vb.validate(entityBuilders);
}
}

void link(List<ManagedEntity> others) {
for (final v in validators!) {
for (final v in validators) {
v.link(others);
}
if (isRelationship) {
Expand All @@ -172,7 +172,7 @@ class PropertyBuilder {
indexed: true,
nullable: nullable,
includedInDefaultResultSet: includeInDefaultResultSet,
validators: validators!
validators: validators
.map((v) => v.managedValidator)
.whereType<ManagedValidator>()
.toList(),
Expand All @@ -194,7 +194,7 @@ class PropertyBuilder {
nullable: nullable,
includedInDefaultResultSet: includeInDefaultResultSet,
autoincrement: autoincrement,
validators: validators!
validators: validators
.map((v) => v.managedValidator)
.whereType<ManagedValidator>()
.toList(),
Expand Down
2 changes: 1 addition & 1 deletion packages/core/lib/src/runtime/orm_impl.dart
Original file line number Diff line number Diff line change
Expand Up @@ -454,7 +454,7 @@ return entity.symbolMap[Symbol(symbolName)];
// Need to import any relationships types and metadata types
// todo: limit import of importUris to only show symbols required to replicate metadata
final directives = entity.relationships.values.map((r) {
var mirror = reflectType(r!.declaredType!);
var mirror = reflectType(r.declaredType!);
if (mirror.isSubtypeOf(reflectType(ManagedSet))) {
mirror = mirror.typeArguments.first;
}
Expand Down
4 changes: 2 additions & 2 deletions packages/core/test/db/data_model_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -426,15 +426,15 @@ void main() {
() {
final dataModel = ManagedDataModel([TotalModel, PartialReferenceModel]);
final defaultProperties =
dataModel.entityForType(TotalModel).defaultProperties!;
dataModel.entityForType(TotalModel).defaultProperties;
expect(defaultProperties.contains("id"), true);
expect(defaultProperties.contains("field"), true);
expect(defaultProperties.contains("addedField"), true);

expect(
dataModel
.entityForType(PartialReferenceModel)
.defaultProperties!
.defaultProperties
.contains("foreignKeyColumn"),
true,
);
Expand Down
36 changes: 18 additions & 18 deletions packages/postgresql/test/tiered_where_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ void main() {

for (final r in results) {
expect(r.backing.contents.containsKey("child"), false);
expect(r.backing.contents.length, r.entity.defaultProperties!.length);
for (final property in r.entity.defaultProperties!) {
expect(r.backing.contents.length, r.entity.defaultProperties.length);
for (final property in r.entity.defaultProperties) {
expect(r.backing.contents.containsKey(property), true);
}
}
Expand All @@ -53,9 +53,9 @@ void main() {
for (final r in results) {
expect(
r.backing.contents.length,
r.entity.defaultProperties!.length + 1,
r.entity.defaultProperties.length + 1,
); // +1 is for key containing 'child'
for (final property in r.entity.defaultProperties!) {
for (final property in r.entity.defaultProperties) {
expect(r.backing.contents.containsKey(property), true);
}

Expand All @@ -64,9 +64,9 @@ void main() {
if (r.child != null) {
expect(
r.child!.backing.contents.length,
r.child!.entity.defaultProperties!.length,
r.child!.entity.defaultProperties.length,
);
for (final property in r.child!.entity.defaultProperties!) {
for (final property in r.child!.entity.defaultProperties) {
expect(r.child!.backing.contents.containsKey(property), true);
}
}
Expand All @@ -92,9 +92,9 @@ void main() {
for (final r in results) {
expect(
r.backing.contents.length,
r.entity.defaultProperties!.length + 1,
r.entity.defaultProperties.length + 1,
); // +1 is for key containing 'child'
for (final property in r.entity.defaultProperties!) {
for (final property in r.entity.defaultProperties) {
expect(r.backing.contents.containsKey(property), true);
}

Expand All @@ -103,9 +103,9 @@ void main() {
if (r.child != null) {
expect(
r.child!.backing.contents.length,
r.child!.entity.defaultProperties!.length,
r.child!.entity.defaultProperties.length,
);
for (final property in r.child!.entity.defaultProperties!) {
for (final property in r.child!.entity.defaultProperties) {
expect(r.child!.backing.contents.containsKey(property), true);
}
expect(r.child!.backing.contents.containsKey("grandChild"), false);
Expand All @@ -122,30 +122,30 @@ void main() {
for (final r in results) {
expect(
r.backing.contents.length,
r.entity.defaultProperties!.length + 1,
r.entity.defaultProperties.length + 1,
); // +1 is for key containing 'child'
for (final property in r.entity.defaultProperties!) {
for (final property in r.entity.defaultProperties) {
expect(r.backing.contents.containsKey(property), true);
}

expect(r.backing.contents.containsKey("child"), true);
if (r.child != null) {
expect(
r.child!.backing.contents.length,
r.child!.entity.defaultProperties!.length + 1,
r.child!.entity.defaultProperties.length + 1,
); // +1 is for key containing 'grandchild
for (final property in r.child!.entity.defaultProperties!) {
for (final property in r.child!.entity.defaultProperties) {
expect(r.child!.backing.contents.containsKey(property), true);
}

expect(r.child!.backing.contents.containsKey("grandChild"), true);
if (r.child!.grandChild != null) {
expect(
r.child!.grandChild!.backing.contents.length,
r.child!.grandChild!.entity.defaultProperties!.length,
r.child!.grandChild!.entity.defaultProperties.length,
);
for (final property
in r.child!.grandChild!.entity.defaultProperties!) {
in r.child!.grandChild!.entity.defaultProperties) {
expect(
r.child!.grandChild!.backing.contents.containsKey(property),
true,
Expand Down Expand Up @@ -508,9 +508,9 @@ void main() {
for (final r in results) {
expect(
r.backing.contents.length,
r.entity.defaultProperties!.length + 1,
r.entity.defaultProperties.length + 1,
); // +1 is for child
for (final property in r.entity.defaultProperties!) {
for (final property in r.entity.defaultProperties) {
expect(r.backing.contents.containsKey(property), true);
}
expect(r.child!.backing.contents.length, 1);
Expand Down

0 comments on commit 8a4f33f

Please sign in to comment.