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;