SLING-9662 Javadoc, avoid increasing version of package
org.apache.sling.api.resource
diff --git a/src/main/java/org/apache/sling/api/resource/mapping/PathToUriMappingService.java b/src/main/java/org/apache/sling/api/resource/mapping/PathToUriMappingService.java
index 8134699..0defbc3 100644
--- a/src/main/java/org/apache/sling/api/resource/mapping/PathToUriMappingService.java
+++ b/src/main/java/org/apache/sling/api/resource/mapping/PathToUriMappingService.java
@@ -54,16 +54,17 @@
Map<String, ResourceUri> getIntermediateMappings();
}
+ /** Maps a path to a URI
+ *
+ * @param request
+ * @param resourcePath
+ * @return a @{link PathToUriMappingService.Result} */
+ Result map(@Nullable HttpServletRequest exampleRequest, @NotNull String resourcePath);
+
/** Resolves a path relative to the given request.
*
* @param request
* @param path
* @return a @{link PathToUriMappingService.Result} */
- Result resolve(@Nullable HttpServletRequest request, @NotNull String path);
-
- /** @param request
- * @param resourcePath
- * @return a @{link PathToUriMappingService.Result} */
- Result map(@Nullable HttpServletRequest request, @NotNull String resourcePath);
-
+ Result resolve(@Nullable HttpServletRequest request, @Nullable String path);
}
\ No newline at end of file
diff --git a/src/main/java/org/apache/sling/api/resource/package-info.java b/src/main/java/org/apache/sling/api/resource/package-info.java
index ac05b61..7bd85e6 100644
--- a/src/main/java/org/apache/sling/api/resource/package-info.java
+++ b/src/main/java/org/apache/sling/api/resource/package-info.java
@@ -17,7 +17,7 @@
* under the License.
*/
-@Version("2.13.0")
+@Version("2.12.2")
package org.apache.sling.api.resource;
import org.osgi.annotation.versioning.Version;
diff --git a/src/main/java/org/apache/sling/api/resource/uri/ResourceUriBuilder.java b/src/main/java/org/apache/sling/api/resource/uri/ResourceUriBuilder.java
index bc9c4c6..4dd3b65 100644
--- a/src/main/java/org/apache/sling/api/resource/uri/ResourceUriBuilder.java
+++ b/src/main/java/org/apache/sling/api/resource/uri/ResourceUriBuilder.java
@@ -34,6 +34,8 @@
import org.apache.sling.api.request.RequestPathInfo;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
public class ResourceUriBuilder {
@@ -90,7 +92,9 @@
* @param requestPathInfo
* @return a ResourceUriBuilder */
public static ResourceUriBuilder createFrom(RequestPathInfo requestPathInfo) {
+ Resource suffixResource = requestPathInfo.getSuffixResource();
return create()
+ .setResourceResolver(suffixResource != null ? suffixResource.getResourceResolver() : null)
.setResourcePath(requestPathInfo.getResourcePath())
.setSelectors(requestPathInfo.getSelectors())
.setExtension(requestPathInfo.getExtension())
@@ -106,14 +110,17 @@
.setResourceResolver(request.getResourceResolver())
.setScheme(request.getScheme())
.setHost(request.getServerName())
- .setPort(request.getServerPort());
+ .setPort(request.getServerPort())
+ .setQuery(request.getQueryString());
}
- /** Creates a builder from a URI.
+ /** Creates a builder from an arbitrary URI.
*
- * @param uri
+ * @param uri the uri to transform to a ResourceUri
+ * @param resourceResolver a resource resolver is needed to decide up to what part the path is the resource path (that decision is only
+ * possible by checking against the underlying repository). If null is passed in, the shortest viable resource path is used.
* @return a ResourceUriBuilder */
- public static ResourceUriBuilder createFrom(URI uri, ResourceResolver resourceResolver) {
+ public static ResourceUriBuilder createFrom(@NotNull URI uri, @Nullable ResourceResolver resourceResolver) {
String path = uri.getPath();
boolean pathExists = !StringUtils.isBlank(path);
boolean schemeSpecificRelevant = !pathExists && uri.getQuery() == null;
@@ -131,15 +138,17 @@
/** Creates a builder from an arbitrary URI string.
*
- * @param resourceUriStr
+ * @param uriStr to uri string to parse
+ * @param resourceResolver a resource resolver is needed to decide up to what part the path is the resource path (that decision is only
+ * possible by checking against the underlying repository). If null is passed in, the shortest viable resource path is used.
* @return a ResourceUriBuilder */
- public static ResourceUriBuilder parse(String resourceUriStr, ResourceResolver resourceResolver) {
+ public static ResourceUriBuilder parse(@NotNull String uriStr, @Nullable ResourceResolver resourceResolver) {
URI uri;
try {
- uri = new URI(resourceUriStr);
+ uri = new URI(uriStr);
return createFrom(uri, resourceResolver);
} catch (URISyntaxException e) {
- throw new IllegalArgumentException("Invalid URI " + resourceUriStr + ": " + e.getMessage(), e);
+ throw new IllegalArgumentException("Invalid URI " + uriStr + ": " + e.getMessage(), e);
}
}