SLING-7798 Switch from JSR-305 annotations to JetBrains Nullable/NotNull annotations
diff --git a/pom.xml b/pom.xml
index 4a55301..be3e90f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -244,9 +244,9 @@
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>com.google.code.findbugs</groupId>
- <artifactId>jsr305</artifactId>
- <version>2.0.0</version>
+ <groupId>org.jetbrains</groupId>
+ <artifactId>annotations</artifactId>
+ <version>16.0.2</version>
<scope>provided</scope>
</dependency>
<dependency>
diff --git a/src/main/java/org/apache/sling/xss/XSSAPI.java b/src/main/java/org/apache/sling/xss/XSSAPI.java
index 349b2e7..5746ccf 100644
--- a/src/main/java/org/apache/sling/xss/XSSAPI.java
+++ b/src/main/java/org/apache/sling/xss/XSSAPI.java
@@ -19,9 +19,8 @@
package org.apache.sling.xss;
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import org.osgi.annotation.versioning.ProviderType;
/**
@@ -92,7 +91,7 @@
* @param url the source URL
* @return a sanitized URL (possibly empty)
*/
- @Nonnull
+ @NotNull
String getValidHref(@Nullable String url);
/**
@@ -234,7 +233,7 @@
* @param source a string containing the source HTML
* @return a string containing the sanitized HTML which may be an empty string if {@code source} is {@code null} or empty
*/
- @Nonnull
+ @NotNull
String filterHTML(@Nullable String source);
}
diff --git a/src/main/java/org/apache/sling/xss/impl/XSSAPIImpl.java b/src/main/java/org/apache/sling/xss/impl/XSSAPIImpl.java
index e9d8afc..5cc576c 100644
--- a/src/main/java/org/apache/sling/xss/impl/XSSAPIImpl.java
+++ b/src/main/java/org/apache/sling/xss/impl/XSSAPIImpl.java
@@ -25,7 +25,6 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import javax.annotation.Nonnull;
import javax.json.Json;
import javax.json.JsonReaderFactory;
import javax.xml.parsers.SAXParser;
@@ -35,6 +34,7 @@
import org.apache.sling.xss.ProtectionContext;
import org.apache.sling.xss.XSSAPI;
import org.apache.sling.xss.XSSFilter;
+import org.jetbrains.annotations.NotNull;
import org.osgi.framework.Constants;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
@@ -230,7 +230,7 @@
* @see org.apache.sling.xss.XSSAPI#getValidHref(String)
*/
@Override
- @Nonnull
+ @NotNull
public String getValidHref(final String url) {
if (StringUtils.isNotEmpty(url)) {
// Percent-encode characters that are not allowed in unquoted
@@ -469,7 +469,7 @@
* @see org.apache.sling.xss.XSSAPI#filterHTML(String)
*/
@Override
- @Nonnull
+ @NotNull
public String filterHTML(String source) {
return xssFilter.filter(ProtectionContext.HTML_HTML_CONTENT, source);
}
diff --git a/src/main/java/org/apache/sling/xss/impl/XSSFilterImpl.java b/src/main/java/org/apache/sling/xss/impl/XSSFilterImpl.java
index f15fc23..24ecaa2 100644
--- a/src/main/java/org/apache/sling/xss/impl/XSSFilterImpl.java
+++ b/src/main/java/org/apache/sling/xss/impl/XSSFilterImpl.java
@@ -26,8 +26,6 @@
import java.util.List;
import java.util.regex.Pattern;
-import javax.annotation.Nonnull;
-
import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.sling.api.resource.LoginException;
@@ -40,6 +38,7 @@
import org.apache.sling.serviceusermapping.ServiceUserMapped;
import org.apache.sling.xss.ProtectionContext;
import org.apache.sling.xss.XSSFilter;
+import org.jetbrains.annotations.NotNull;
import org.osgi.framework.ServiceRegistration;
import org.osgi.service.component.ComponentContext;
import org.osgi.service.component.annotations.Activate;
@@ -198,7 +197,7 @@
return false;
}
- private boolean runHrefValidation(@Nonnull String url) {
+ private boolean runHrefValidation(@NotNull String url) {
// Same logic as in org.owasp.validator.html.scan.MagicSAXFilter.startElement()
boolean isValid = hrefAttribute.containsAllowedValue(url.toLowerCase());
if (!isValid) {
@@ -306,7 +305,7 @@
private class PolicyChangeListener implements ResourceChangeListener, ExternalResourceChangeListener {
@Override
- public void onChange(@Nonnull List<ResourceChange> resourceChanges) {
+ public void onChange(@NotNull List<ResourceChange> resourceChanges) {
for (ResourceChange change : resourceChanges) {
if (change.getPath().endsWith(policyPath)) {
logger.info("Detected policy file change ({}) at {}. Updating policy handler.", change.getType().name(), change.getPath());
diff --git a/src/main/java/org/apache/sling/xss/package-info.java b/src/main/java/org/apache/sling/xss/package-info.java
index b4e3710..57f364d 100644
--- a/src/main/java/org/apache/sling/xss/package-info.java
+++ b/src/main/java/org/apache/sling/xss/package-info.java
@@ -19,7 +19,7 @@
*
* @version 2.0.0
*/
-@Version("2.0.0")
+@Version("2.0.1")
package org.apache.sling.xss;
import org.osgi.annotation.versioning.Version;