You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2018/05/13 14:37:04 UTC
[isis] 01/05: ISIS-1946: allows running using o.a.i.WebServer by
relaxing validation in _Resource_Path.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit fed4479b409201634a8218f1c034d6b1f4da8ed5
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Sun May 13 15:15:10 2018 +0100
ISIS-1946: allows running using o.a.i.WebServer by relaxing validation in _Resource_Path.
---
.../applib/internal/resources/_Resource_Path.java | 37 ++++++++++++++++------
1 file changed, 27 insertions(+), 10 deletions(-)
diff --git a/core/applib/src/main/java/org/apache/isis/applib/internal/resources/_Resource_Path.java b/core/applib/src/main/java/org/apache/isis/applib/internal/resources/_Resource_Path.java
index abd19de..fd047d6 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/internal/resources/_Resource_Path.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/internal/resources/_Resource_Path.java
@@ -34,15 +34,21 @@ abstract class _Resource_Path {
protected abstract String resourceName();
public _Resource_Path(String contextPath) {
-
- if(_Strings.isEmpty(contextPath))
- throw new IllegalArgumentException(resourceName()+" can not be empty");
-
- contextPath = contextPath.trim();
-
- if(_Strings.isEmpty(contextPath))
- throw new IllegalArgumentException(resourceName()+" can not be empty");
-
+
+// as it stands, this code fails when running under org.apache.isis.WebServer, because the contextPath passed in is just ""
+// But it's not obvious to me why an empty contextPath is not allowed; a value of "/" would be trimmed down to "" anyway.
+// Therefore relaxing the logic.
+//
+// if(_Strings.isEmpty(contextPath))
+// throw new IllegalArgumentException(resourceName()+" can not be empty");
+//
+// contextPath = contextPath.trim();
+//
+// if(_Strings.isEmpty(contextPath))
+// throw new IllegalArgumentException(resourceName()+" can not be empty");
+
+ contextPath = defaultIfEmpty(contextPath);
+
while(contextPath.startsWith("/")) {
contextPath = contextPath.substring(1);
}
@@ -58,5 +64,16 @@ abstract class _Resource_Path {
this.path = contextPath;
}
-
+
+ private static String defaultIfEmpty(final String contextPath) {
+ if(contextPath == null) {
+ return "/";
+ }
+ final String trimmedContextPath = contextPath.trim();
+ if(_Strings.isEmpty(trimmedContextPath)) {
+ return "/";
+ }
+ return trimmedContextPath;
+ }
+
}
--
To stop receiving notification emails like this one, please contact
danhaywood@apache.org.