mirror of
https://github.com/usatiuk/dhfs.git
synced 2025-10-29 04:57:48 +01:00
less hacky ProtoSerializerService
Some checks failed
Server / build-dhfs (push) Failing after 34m46s
Server / build-webui (push) Successful in 2m24s
Server / publish-docker (push) Has been skipped
Server / publish-run-wrapper (push) Has been skipped
Some checks failed
Server / build-dhfs (push) Failing after 34m46s
Server / build-webui (push) Successful in 2m24s
Server / publish-docker (push) Has been skipped
Server / publish-run-wrapper (push) Has been skipped
This commit is contained in:
@@ -9,6 +9,7 @@ import jakarta.enterprise.inject.Instance;
|
||||
import jakarta.inject.Inject;
|
||||
|
||||
import java.lang.reflect.ParameterizedType;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Optional;
|
||||
|
||||
@@ -38,8 +39,13 @@ public class ProtoSerializerService {
|
||||
@PostConstruct
|
||||
void init() {
|
||||
for (var s : _protoSerializers) {
|
||||
var args = ((ParameterizedType) ClientProxy.unwrap(s).getClass()
|
||||
.getGenericInterfaces()[0]).getActualTypeArguments(); //FIXME:
|
||||
var args = ((ParameterizedType) Arrays.stream(ClientProxy.unwrap(s).getClass().getGenericInterfaces())
|
||||
.filter(t -> {
|
||||
if (t instanceof ParameterizedType)
|
||||
return ((ParameterizedType) t).getRawType().equals(ProtoSerializer.class);
|
||||
return false;
|
||||
}).findFirst().orElseThrow(() -> new IllegalArgumentException("ProtoSerializer interface not found on ProtoSerializer?")))
|
||||
.getActualTypeArguments(); //FIXME:
|
||||
Class<? extends Message> messageClass = (Class<? extends Message>) args[0];
|
||||
Class<?> objClass = (Class<?>) args[1];
|
||||
|
||||
@@ -50,8 +56,13 @@ public class ProtoSerializerService {
|
||||
}
|
||||
|
||||
for (var s : _protoDeserializers) {
|
||||
var args = ((ParameterizedType) ClientProxy.unwrap(s).getClass()
|
||||
.getGenericInterfaces()[0]).getActualTypeArguments(); //FIXME:
|
||||
var args = ((ParameterizedType) Arrays.stream(ClientProxy.unwrap(s).getClass().getGenericInterfaces())
|
||||
.filter(t -> {
|
||||
if (t instanceof ParameterizedType)
|
||||
return ((ParameterizedType) t).getRawType().equals(ProtoDeserializer.class);
|
||||
return false;
|
||||
}).findFirst().orElseThrow(() -> new IllegalArgumentException("ProtoSerializer interface not found on ProtoSerializer?")))
|
||||
.getActualTypeArguments(); //FIXME:
|
||||
Class<? extends Message> messageClass = (Class<? extends Message>) args[0];
|
||||
Class<?> objClass = (Class<?>) args[1];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user