Skip to content

Commit

Permalink
fix(TypeHandlerLibrary): fix error-during-error-logging in GenericMap
Browse files Browse the repository at this point in the history
  • Loading branch information
keturn committed Jun 14, 2022
1 parent 558c841 commit a926465
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 10 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2021 The Terasology Foundation
// Copyright 2022 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0

package org.terasology.persistence.typeHandling.coreTypes;
Expand Down Expand Up @@ -68,13 +68,14 @@ public Optional<Map<K, V>> deserialize(PersistedData data) {

for (PersistedData entry : data.getAsArray()) {
final Optional<K> key = keyHandler.deserialize(entry.getAsValueMap().get(KEY));
final Optional<V> value = valueHandler.deserialize(entry.getAsValueMap().get(VALUE));

if (key.isPresent()) {
PersistedData valueData = entry.getAsValueMap().get(VALUE);
final Optional<V> value = valueHandler.deserialize(valueData);
if (value.isPresent()) {
result.put(key.get(), value.get());
} else {
logger.warn("Missing field '{}' for entry '{}'", VALUE, data.getAsString());
logger.warn("Missing value for key '{}' with {} given entry '{}'", key.get(), valueHandler, valueData);
}
} else {
logger.warn("Missing field '{}' for entry '{}'", KEY, data.getAsString());
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
// Copyright 2021 The Terasology Foundation
// Copyright 2022 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.persistence.typeHandling.coreTypes;

import com.google.common.base.Defaults;
import com.google.common.base.MoreObjects;
import com.google.common.collect.Maps;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand Down Expand Up @@ -111,4 +112,12 @@ public Optional<T> deserialize(PersistedData data) {
}
return Optional.empty();
}

@Override
public String toString() {
return MoreObjects.toStringHelper(this)
.add("fields", fieldByName.keySet())
.add("constructor", constructor)
.toString();
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
// Copyright 2021 The Terasology Foundation
// Copyright 2022 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.persistence.typeHandling.coreTypes;

import com.google.common.base.MoreObjects;
import com.google.common.collect.Maps;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand Down Expand Up @@ -34,10 +35,10 @@ public class RuntimeDelegatingTypeHandler<T> extends TypeHandler<T> {

private static final Logger LOGGER = LoggerFactory.getLogger(RuntimeDelegatingTypeHandler.class);

private TypeHandler<T> delegateHandler;
private TypeInfo<T> typeInfo;
private TypeHandlerLibrary typeHandlerLibrary;
private SerializationSandbox sandbox;
private final TypeHandler<T> delegateHandler;
private final TypeInfo<T> typeInfo;
private final TypeHandlerLibrary typeHandlerLibrary;
private final SerializationSandbox sandbox;

public RuntimeDelegatingTypeHandler(TypeHandler<T> delegateHandler, TypeInfo<T> typeInfo, TypeHandlerContext context) {
this.delegateHandler = delegateHandler;
Expand Down Expand Up @@ -242,4 +243,11 @@ private Optional<Type> findSubtypeWithName(String runtimeTypeName) {
);
}

@Override
public String toString() {
return MoreObjects.toStringHelper(this)
.add("delegate", delegateHandler)
.add("type", typeInfo)
.toString();
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
// Copyright 2021 The Terasology Foundation
// Copyright 2022 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
package org.terasology.reflection.reflect;

import com.google.common.base.MoreObjects;
import com.google.common.collect.HashMultiset;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMultiset;
Expand Down Expand Up @@ -65,6 +66,13 @@ public T construct() {
"Register an InstanceCreator for this type to fix this problem.", e);
}
}

@Override
public String toString() {
return MoreObjects.toStringHelper(this)
.add("type", typeInfo)
.toString();
}
};
}

Expand Down

0 comments on commit a926465

Please sign in to comment.