From 7db4b169fafe206fdfad4a5e7222f28d5584fb34 Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Thu, 29 Jul 2021 17:04:09 +0200 Subject: [PATCH] WIP: error handling --- src/main/java/org/caosdb/server/entity/Message.java | 8 ++++++-- .../server/grpc/EntityTransactionServiceImpl.java | 10 +++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/caosdb/server/entity/Message.java b/src/main/java/org/caosdb/server/entity/Message.java index 91720aed..a1d9513f 100644 --- a/src/main/java/org/caosdb/server/entity/Message.java +++ b/src/main/java/org/caosdb/server/entity/Message.java @@ -78,7 +78,7 @@ public class Message extends Exception implements Comparable<Message>, ToElement this(type, code, null, null); } - public Message(Integer code, String description) { + public Message(final Integer code, final String description) { this(MessageType.Info, code, description); } @@ -95,7 +95,7 @@ public class Message extends Exception implements Comparable<Message>, ToElement this(type, code, description, null); } - public Message(MessageType type, String description) { + public Message(final MessageType type, final String description) { this(type.toString(), 0, description); } @@ -160,6 +160,10 @@ public class Message extends Exception implements Comparable<Message>, ToElement System.out.println(indent + "+------------------------------------------------------ "); } + public boolean equalsCore(final Message other) { + return this.code == other.code && this.description == other.description; + } + @Override public int compareTo(final Message o) { final int tc = this.type.compareToIgnoreCase(o.type); diff --git a/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java b/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java index bc26f539..f3e3bd0a 100644 --- a/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java +++ b/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java @@ -105,12 +105,16 @@ public class EntityTransactionServiceImpl extends EntityTransactionServiceImplBa private MessageCode getMessageCode(final Message m) { // TODO move to Message class. - if (m.equals(ServerMessages.ENTITY_DOES_NOT_EXIST)) { + if (m.equalsCore(ServerMessages.ENTITY_DOES_NOT_EXIST)) { return MessageCode.MESSAGE_CODE_ENTITY_DOES_NOT_EXIST; - } else if (m.equals(ServerMessages.ENTITY_HAS_NO_PROPERTIES)) { + } else if (m.equalsCore(ServerMessages.ENTITY_HAS_NO_PROPERTIES)) { return MessageCode.MESSAGE_CODE_ENTITY_HAS_NO_PROPERTIES; + } else if (m.getCode() == 0) { + return MessageCode.MESSAGE_CODE_UNSPECIFIED; + } else { + return MessageCode.MESSAGE_CODE_UNKNOWN; + // TODO(tf) throw new UnsupportedOperationException("Unkown message code: " + m.toString()); } - throw new UnsupportedOperationException("Unkown message code: " + m.toString()); } public Version convert(final org.caosdb.server.entity.Version from) { -- GitLab