summaryrefslogtreecommitdiffstats
path: root/rba.tool.editor.endpoint/src/rba/tool/editor/endpoint/server/persistence/RBAModelResourceBaseProviderImpl.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'rba.tool.editor.endpoint/src/rba/tool/editor/endpoint/server/persistence/RBAModelResourceBaseProviderImpl.xtend')
-rw-r--r--rba.tool.editor.endpoint/src/rba/tool/editor/endpoint/server/persistence/RBAModelResourceBaseProviderImpl.xtend27
1 files changed, 27 insertions, 0 deletions
diff --git a/rba.tool.editor.endpoint/src/rba/tool/editor/endpoint/server/persistence/RBAModelResourceBaseProviderImpl.xtend b/rba.tool.editor.endpoint/src/rba/tool/editor/endpoint/server/persistence/RBAModelResourceBaseProviderImpl.xtend
new file mode 100644
index 0000000..02d1519
--- /dev/null
+++ b/rba.tool.editor.endpoint/src/rba/tool/editor/endpoint/server/persistence/RBAModelResourceBaseProviderImpl.xtend
@@ -0,0 +1,27 @@
+package rba.tool.editor.endpoint.server.persistence
+
+import java.io.File
+import org.eclipse.emf.common.util.URI
+import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
+import org.eclipse.xtext.web.server.persistence.IResourceBaseProvider
+
+@FinalFieldsConstructor
+class RBAModelResourceBaseProviderImpl implements IResourceBaseProvider {
+
+ val String resourceBase
+
+ override getFileURI(String resourceId) {
+// if (resourceId.contains('..'))
+// throw new InvalidRequestException.InvalidParametersException('Invalid resource path.')
+ URI.createURI(slashify(resourceBase + resourceId, true))
+ }
+
+ def static String slashify(String resourceId, boolean isDirectory) {
+ var p = resourceId;
+ if (File.separatorChar != '/')
+ p = p.replace(File.separatorChar, '/');
+ if (!p.endsWith("/") && isDirectory)
+ p = p + "/";
+ return p;
+ }
+}