diff --git a/src/main/java/org/caosdb/server/entity/Role.java b/src/main/java/org/caosdb/server/entity/Role.java index 53bc3a47a9c78c8dfd753e3f2e8128788bade3bf..992ddc6e6bbc8c8cfbc702667afce13a0a0ba93b 100644 --- a/src/main/java/org/caosdb/server/entity/Role.java +++ b/src/main/java/org/caosdb/server/entity/Role.java @@ -35,6 +35,7 @@ public enum Role { Domain, File, Directory, + Link, Property, DataType, QueryTemplate; @@ -74,6 +75,8 @@ public enum Role { return new FileToElementStrategy(toString()); case Directory: return new FileToElementStrategy(toString()); + case Link: + return new FileToElementStrategy(toString()); default: return new EntityToElementStrategy(toString()); } diff --git a/src/main/java/org/caosdb/server/query/CQLLexer.g4 b/src/main/java/org/caosdb/server/query/CQLLexer.g4 index 1b113a275ab5bbaa75dde3bb689fb2b1f81e60f1..aa4a080e2fc2c858e2dc7da846a1bbfb593dd93d 100644 --- a/src/main/java/org/caosdb/server/query/CQLLexer.g4 +++ b/src/main/java/org/caosdb/server/query/CQLLexer.g4 @@ -347,6 +347,10 @@ DIRECTORY: [Dd][Ii][Rr][Ee][Cc][Tt][Oo][Rr]([Yy]|[Ii][Ee][Ss]) WHITE_SPACE_f? ; +LINK: + [Ll][Ii][Nn][Kk]([Ss])? WHITE_SPACE_f? +; + ENTITY: [Ee][Nn][Tt][Ii][Tt]([Yy]|[Ii][Ee][Ss]) WHITE_SPACE_f? ; diff --git a/src/main/java/org/caosdb/server/query/CQLParser.g4 b/src/main/java/org/caosdb/server/query/CQLParser.g4 index a9656ca1ced8055e3915bb81cdaa566988a2bf92..2bb92a65e9597d9038acb175db3dfdfa8afa23fd 100644 --- a/src/main/java/org/caosdb/server/query/CQLParser.g4 +++ b/src/main/java/org/caosdb/server/query/CQLParser.g4 @@ -100,6 +100,7 @@ role returns [Query.Role r]: | PROPERTY {$r = Query.Role.PROPERTY;} | FILE {$r = Query.Role.FILE;} | DIRECTORY {$r = Query.Role.DIRECTORY;} + | LINK {$r = Query.Role.LINK;} | QUERYTEMPLATE {$r = Query.Role.QUERYTEMPLATE;} | ENTITY {$r = Query.Role.ENTITY;} ; diff --git a/src/main/java/org/caosdb/server/query/Query.java b/src/main/java/org/caosdb/server/query/Query.java index ac1a41a254501f895e81a1764c048850f268fcbf..5c07b9dd0087cbd970af333e68833a2c0f5d6403 100644 --- a/src/main/java/org/caosdb/server/query/Query.java +++ b/src/main/java/org/caosdb/server/query/Query.java @@ -161,6 +161,7 @@ public class Query implements QueryInterface, ToElementable, TransactionInterfac ENTITY, FILE, DIRECTORY, + LINK, QUERYTEMPLATE }