From 3278fe690f41e5dc5bf2fc75eb2b94412fd8031a Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Tue, 13 Dec 2022 17:06:27 +0100 Subject: [PATCH] WIP: file storage refactoring: link --- src/main/java/org/caosdb/server/entity/Role.java | 3 +++ src/main/java/org/caosdb/server/query/CQLLexer.g4 | 4 ++++ src/main/java/org/caosdb/server/query/CQLParser.g4 | 1 + src/main/java/org/caosdb/server/query/Query.java | 1 + 4 files changed, 9 insertions(+) diff --git a/src/main/java/org/caosdb/server/entity/Role.java b/src/main/java/org/caosdb/server/entity/Role.java index 53bc3a47..992ddc6e 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 1b113a27..aa4a080e 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 a9656ca1..2bb92a65 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 ac1a41a2..5c07b9dd 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 } -- GitLab