diff --git a/src/main/java/org/caosdb/server/entity/Message.java b/src/main/java/org/caosdb/server/entity/Message.java index 91720aed492a8b1875bb5613df2aaace7df3bef5..a1d9513f3d7a2068e10563fbc2d4fb447fe1964b 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 bc26f539e04ebc9d3d696d731f57654fe7a7ddcc..f3e3bd0af91b2601a6d70d9e8c012f1545c7dd5f 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) {