You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by dk...@apache.org on 2019/04/12 20:14:06 UTC
[sling-org-apache-sling-app-cms] branch master updated: Cleaning up
SonarLint violations and formatting whitespace
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
The following commit(s) were added to refs/heads/master by this push:
new 791fff9 Cleaning up SonarLint violations and formatting whitespace
791fff9 is described below
commit 791fff90a51b4a8dc509aad8dcfae5be3a495208
Author: Dan Klco <dk...@apache.org>
AuthorDate: Fri Apr 12 16:13:54 2019 -0400
Cleaning up SonarLint violations and formatting whitespace
---
.../apache/sling/cms/ConfigurableJobExecutor.java | 1 +
.../org/apache/sling/cms/PageTemplateManager.java | 1 -
.../sling/cms/core/i18n/impl/I18NProviderImpl.java | 6 +-
.../sling/cms/core/insights/impl/FakeRequest.java | 2 +-
.../sling/cms/core/insights/impl/FakeResponse.java | 50 ++++++
.../providers/HTMLValdiatorInsightProvider.java | 12 +-
.../impl/providers/PageSpeedInsightProvider.java | 11 +-
.../impl/providers/ReadabilityInsightProvider.java | 16 +-
.../core/internal/filters/CMSSecurityFilter.java | 194 +++++++++++----------
.../internal/operations/BulkReplaceOperation.java | 10 +-
.../core/internal/rewriter/HTML5Serializer.java | 4 +-
.../impl/ReadabilityServiceFactoryImpl.java | 2 +-
12 files changed, 192 insertions(+), 117 deletions(-)
diff --git a/api/src/main/java/org/apache/sling/cms/ConfigurableJobExecutor.java b/api/src/main/java/org/apache/sling/cms/ConfigurableJobExecutor.java
index 0804a2f..ec375d8 100644
--- a/api/src/main/java/org/apache/sling/cms/ConfigurableJobExecutor.java
+++ b/api/src/main/java/org/apache/sling/cms/ConfigurableJobExecutor.java
@@ -79,6 +79,7 @@ public abstract class ConfigurableJobExecutor implements JobExecutor {
*/
public abstract String getTopic();
+ @Override
@SuppressWarnings("deprecation")
public final JobExecutionResult process(Job job, JobExecutionContext context) {
ResourceResolver resolver = null;
diff --git a/api/src/main/java/org/apache/sling/cms/PageTemplateManager.java b/api/src/main/java/org/apache/sling/cms/PageTemplateManager.java
index ca397ad..f841540 100644
--- a/api/src/main/java/org/apache/sling/cms/PageTemplateManager.java
+++ b/api/src/main/java/org/apache/sling/cms/PageTemplateManager.java
@@ -18,7 +18,6 @@ package org.apache.sling.cms;
import java.util.List;
-import org.apache.sling.cms.PageTemplate;
import org.osgi.annotation.versioning.ProviderType;
/**
diff --git a/core/src/main/java/org/apache/sling/cms/core/i18n/impl/I18NProviderImpl.java b/core/src/main/java/org/apache/sling/cms/core/i18n/impl/I18NProviderImpl.java
index 32aacb7..0ebc2b3 100644
--- a/core/src/main/java/org/apache/sling/cms/core/i18n/impl/I18NProviderImpl.java
+++ b/core/src/main/java/org/apache/sling/cms/core/i18n/impl/I18NProviderImpl.java
@@ -91,13 +91,13 @@ public class I18NProviderImpl implements I18NProvider {
private final DefaultLocaleResolver defaultLocaleResolver = new DefaultLocaleResolver();
- private volatile LocaleResolver localeResolver = defaultLocaleResolver;
+ private LocaleResolver localeResolver = defaultLocaleResolver;
private final Map<Object, ResourceBundleProvider> providers = new TreeMap<>();
- private volatile RequestLocaleResolver requestLocaleResolver = defaultLocaleResolver;
+ private RequestLocaleResolver requestLocaleResolver = defaultLocaleResolver;
- private volatile ResourceBundleProvider[] sortedProviders = new ResourceBundleProvider[0];
+ private ResourceBundleProvider[] sortedProviders = new ResourceBundleProvider[0];
@Reference(cardinality = ReferenceCardinality.OPTIONAL, policy = ReferencePolicy.DYNAMIC, policyOption = ReferencePolicyOption.GREEDY)
protected void bindLocaleResolver(final LocaleResolver resolver) {
diff --git a/core/src/main/java/org/apache/sling/cms/core/insights/impl/FakeRequest.java b/core/src/main/java/org/apache/sling/cms/core/insights/impl/FakeRequest.java
index 32c3a4c..78c3234 100644
--- a/core/src/main/java/org/apache/sling/cms/core/insights/impl/FakeRequest.java
+++ b/core/src/main/java/org/apache/sling/cms/core/insights/impl/FakeRequest.java
@@ -249,7 +249,7 @@ public class FakeRequest implements HttpServletRequest {
}
public String getServletPath() {
- return path;
+ return this.getRequestURI();
}
public HttpSession getSession() {
diff --git a/core/src/main/java/org/apache/sling/cms/core/insights/impl/FakeResponse.java b/core/src/main/java/org/apache/sling/cms/core/insights/impl/FakeResponse.java
index 9de5a02..20d445c 100644
--- a/core/src/main/java/org/apache/sling/cms/core/insights/impl/FakeResponse.java
+++ b/core/src/main/java/org/apache/sling/cms/core/insights/impl/FakeResponse.java
@@ -69,53 +69,72 @@ public class FakeResponse implements HttpServletResponse {
};
}
+ @Override
public void addCookie(Cookie cookie1) {
+ throw new UnsupportedOperationException();
}
+ @Override
public void addDateHeader(String s, long l) {
+ throw new UnsupportedOperationException();
}
+ @Override
public void addHeader(String s, String s1) {
+ throw new UnsupportedOperationException();
}
+ @Override
public void addIntHeader(String s, int i) {
+ throw new UnsupportedOperationException();
}
+ @Override
public boolean containsHeader(String name) {
return false;
}
+ @Override
public String encodeRedirectUrl(String url) {
return null;
}
+ @Override
public String encodeRedirectURL(String url) {
return null;
}
+ @Override
public String encodeUrl(String url) {
return null;
}
+ @Override
public String encodeURL(String url) {
return null;
}
+ @Override
public void flushBuffer() throws IOException {
+ throw new UnsupportedOperationException();
}
+ @Override
public int getBufferSize() {
return 0;
}
+ @Override
public String getCharacterEncoding() {
return charset;
}
+ @Override
public String getContentType() {
return contentType;
}
+ @Override
public Locale getLocale() {
return null;
}
@@ -124,10 +143,12 @@ public class FakeResponse implements HttpServletResponse {
return new String(md.digest());
}
+ @Override
public ServletOutputStream getOutputStream() throws IOException {
return outputStream;
}
+ @Override
public PrintWriter getWriter() throws IOException {
if (printWriter == null) {
java.io.Writer osWriter = new OutputStreamWriter(getOutputStream(), "UTF-8");
@@ -136,54 +157,83 @@ public class FakeResponse implements HttpServletResponse {
return printWriter;
}
+ @Override
public boolean isCommitted() {
return false;
}
+ @Override
public void reset() {
+ throw new UnsupportedOperationException();
}
+ @Override
public void resetBuffer() {
+ throw new UnsupportedOperationException();
}
+ @Override
public void sendError(int i) throws IOException {
+ throw new UnsupportedOperationException();
}
+ @Override
public void sendError(int i, String s) throws IOException {
+ throw new UnsupportedOperationException();
}
+ @Override
public void sendRedirect(String s) throws IOException {
+ throw new UnsupportedOperationException();
}
+ @Override
public void setBufferSize(int i) {
+ throw new UnsupportedOperationException();
}
+ @Override
public void setCharacterEncoding(String charset) {
this.charset = charset;
}
+ @Override
public void setContentLength(int i) {
+ throw new UnsupportedOperationException();
}
+ @Override
public void setContentType(String type) {
contentType = type;
}
+ @Override
public void setDateHeader(String s, long l) {
+ throw new UnsupportedOperationException();
}
+ @Override
public void setHeader(String s, String s1) {
+ throw new UnsupportedOperationException();
}
+ @Override
public void setIntHeader(String s, int i) {
+ throw new UnsupportedOperationException();
}
+ @Override
public void setLocale(Locale locale) {
+ throw new UnsupportedOperationException();
}
+ @Override
public void setStatus(int i) {
+ throw new UnsupportedOperationException();
}
+ @Override
public void setStatus(int i, String s) {
+ throw new UnsupportedOperationException();
}
}
diff --git a/core/src/main/java/org/apache/sling/cms/core/insights/impl/providers/HTMLValdiatorInsightProvider.java b/core/src/main/java/org/apache/sling/cms/core/insights/impl/providers/HTMLValdiatorInsightProvider.java
index ac9e19e..9b77ecc 100644
--- a/core/src/main/java/org/apache/sling/cms/core/insights/impl/providers/HTMLValdiatorInsightProvider.java
+++ b/core/src/main/java/org/apache/sling/cms/core/insights/impl/providers/HTMLValdiatorInsightProvider.java
@@ -20,12 +20,14 @@ package org.apache.sling.cms.core.insights.impl.providers;
import java.io.StringReader;
import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
import java.util.HashSet;
import java.util.Set;
import javax.json.Json;
import javax.json.JsonArray;
import javax.json.JsonObject;
+import javax.json.JsonReader;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
@@ -90,16 +92,18 @@ public class HTMLValdiatorInsightProvider extends BaseInsightProvider {
HttpPost httpPost = new HttpPost("http://validator.w3.org/nu/?out=json&showsource=no&level=all");
httpPost.addHeader("Content-type", "text/html; charset=utf-8");
- HttpEntity htmlEntity = new ByteArrayEntity(html.getBytes("UTF-8"));
+ HttpEntity htmlEntity = new ByteArrayEntity(html.getBytes(StandardCharsets.UTF_8));
httpPost.setEntity(htmlEntity);
I18NDictionary dictionary = i18nProvider.getDictionary(request.getResource().getResourceResolver());
CloseableHttpResponse response = null;
+ JsonReader reader = null;
try (CloseableHttpClient client = HttpClients.createDefault()) {
response = client.execute(httpPost);
HttpEntity entity = response.getEntity();
- JsonObject json = Json.createReader(new StringReader(EntityUtils.toString(entity))).readObject();
+ reader = Json.createReader(new StringReader(EntityUtils.toString(entity)));
+ JsonObject json = reader.readObject();
log.debug("Loaded response: {}", json);
JsonArray messages = json.getJsonArray("messages");
int errors = 0;
@@ -148,6 +152,10 @@ public class HTMLValdiatorInsightProvider extends BaseInsightProvider {
insight.setScore(score);
insight.setMoreDetailsLink("https://validator.w3.org/nu/?doc="
+ URLEncoder.encode(pageRequest.getPage().getPublishedUrl(), Charsets.UTF_8.toString()));
+ } finally {
+ if (reader != null) {
+ reader.close();
+ }
}
return insight;
diff --git a/core/src/main/java/org/apache/sling/cms/core/insights/impl/providers/PageSpeedInsightProvider.java b/core/src/main/java/org/apache/sling/cms/core/insights/impl/providers/PageSpeedInsightProvider.java
index 0036907..c3141d6 100644
--- a/core/src/main/java/org/apache/sling/cms/core/insights/impl/providers/PageSpeedInsightProvider.java
+++ b/core/src/main/java/org/apache/sling/cms/core/insights/impl/providers/PageSpeedInsightProvider.java
@@ -23,6 +23,7 @@ import java.net.URLEncoder;
import javax.json.Json;
import javax.json.JsonObject;
+import javax.json.JsonReader;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
@@ -90,6 +91,7 @@ public class PageSpeedInsightProvider extends BaseInsightProvider {
HttpGet httpGet = new HttpGet(checkUrl);
CloseableHttpResponse response = null;
+ JsonReader reader = null;
try (CloseableHttpClient client = HttpClients.createDefault()) {
I18NDictionary dictionary = i18nProvider.getDictionary(request.getResource().getResourceResolver());
@@ -97,9 +99,10 @@ public class PageSpeedInsightProvider extends BaseInsightProvider {
log.debug("Requesting page speed via: {}", checkUrl);
response = client.execute(httpGet);
HttpEntity entity = response.getEntity();
- JsonObject resp = Json.createReader(new StringReader(EntityUtils.toString(entity))).readObject();
+ reader = Json.createReader(new StringReader(EntityUtils.toString(entity)));
+ JsonObject resp = reader.readObject();
- log.debug("Retrieved response: {}", resp.toString());
+ log.debug("Retrieved response: {}", resp);
insight.setScored(true);
double score = resp.getJsonObject("ruleGroups").getJsonObject("SPEED").getJsonNumber("score").doubleValue()
@@ -118,6 +121,10 @@ public class PageSpeedInsightProvider extends BaseInsightProvider {
log.debug("Response parsed successfully");
+ } finally {
+ if (reader != null) {
+ reader.close();
+ }
}
return insight;
}
diff --git a/core/src/main/java/org/apache/sling/cms/core/insights/impl/providers/ReadabilityInsightProvider.java b/core/src/main/java/org/apache/sling/cms/core/insights/impl/providers/ReadabilityInsightProvider.java
index 9a5d0af..0a62b22 100644
--- a/core/src/main/java/org/apache/sling/cms/core/insights/impl/providers/ReadabilityInsightProvider.java
+++ b/core/src/main/java/org/apache/sling/cms/core/insights/impl/providers/ReadabilityInsightProvider.java
@@ -63,7 +63,7 @@ public class ReadabilityInsightProvider extends BaseInsightProvider {
@Reference
private I18NProvider i18nProvider;
- private void addDetail(Insight insight, I18NDictionary dictionary, double score, String title) {
+ private void addDetail(Insight insight, double score, String title) {
insight.getScoreDetails().add(Message.defaultMsg(title + ": " + new DecimalFormat("##0.00").format(score)));
}
@@ -112,7 +112,7 @@ public class ReadabilityInsightProvider extends BaseInsightProvider {
StandardDeviation sd = new StandardDeviation(false);
double stddev = sd.evaluate(new double[] { config.getMinGradeLevel(), config.getMaxGradeLevel() });
- double dev = 0.0;
+ double dev;
if (score > config.getMaxGradeLevel()) {
dev = score - config.getMaxGradeLevel();
} else {
@@ -137,12 +137,12 @@ public class ReadabilityInsightProvider extends BaseInsightProvider {
insight.getScoreDetails().add(Message.defaultMsg(dictionary.get(I18N_KEY_READABILITY_STATS,
new Object[] { t.getSentences().size(), t.getWordCount(), t.getComplexWordCount() })));
- addDetail(insight, dictionary, svc.calculateARI(t), "ARI");
- addDetail(insight, dictionary, svc.calculateColemanLiauIndex(t), "Coleman-Liau Index");
- addDetail(insight, dictionary, svc.calculateFleschKincaidGradeLevel(t), "Flesch-Kincaid Grade Level");
- addDetail(insight, dictionary, svc.calculateFleschReadingEase(t), "Flesch-Kincaid Reading Ease");
- addDetail(insight, dictionary, svc.calculateGunningFog(t), "Gunning Fog");
- addDetail(insight, dictionary, svc.calculateSMOG(t), "SMOG");
+ addDetail(insight, svc.calculateARI(t), "ARI");
+ addDetail(insight, svc.calculateColemanLiauIndex(t), "Coleman-Liau Index");
+ addDetail(insight, svc.calculateFleschKincaidGradeLevel(t), "Flesch-Kincaid Grade Level");
+ addDetail(insight, svc.calculateFleschReadingEase(t), "Flesch-Kincaid Reading Ease");
+ addDetail(insight, svc.calculateGunningFog(t), "Gunning Fog");
+ addDetail(insight, svc.calculateSMOG(t), "SMOG");
} else {
log.warn("Failed to get readability for resource {} site or config were null",
diff --git a/core/src/main/java/org/apache/sling/cms/core/internal/filters/CMSSecurityFilter.java b/core/src/main/java/org/apache/sling/cms/core/internal/filters/CMSSecurityFilter.java
index bfb2e65..ec20f35 100644
--- a/core/src/main/java/org/apache/sling/cms/core/internal/filters/CMSSecurityFilter.java
+++ b/core/src/main/java/org/apache/sling/cms/core/internal/filters/CMSSecurityFilter.java
@@ -55,101 +55,103 @@ import org.slf4j.LoggerFactory;
@Designate(ocd = CMSSecurityFilterConfig.class)
public class CMSSecurityFilter implements Filter {
- private static final Logger log = LoggerFactory.getLogger(CMSSecurityFilter.class);
-
- private CMSSecurityFilterConfig config;
-
- private List<Pattern> patterns = new ArrayList<>();
-
- @Modified
- @Activate
- public void activate(CMSSecurityFilterConfig config) {
- if (config.hostDomains() != null && config.hostDomains().length > 0) {
- log.info("Applying CMS Security Filter for domains {}", Arrays.toString(config.hostDomains()));
- this.config = config;
- for (String p : config.allowedPatterns()) {
- patterns.add(Pattern.compile(p));
- }
- } else {
- this.config = null;
- log.info("No host domains supplied, CMS Security Filter not enabled");
- }
- }
-
- @Override
- public void init(FilterConfig filterConfig) throws ServletException {
- // Nothing required
- }
-
- @Override
- public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
- throws IOException, ServletException {
-
- SlingHttpServletRequest slingRequest = (SlingHttpServletRequest) request;
- if (config != null && ArrayUtils.contains(config.hostDomains(), request.getServerName())) {
- log.trace("Filtering requests to host {}", request.getServerName());
- String uri = slingRequest.getRequestURI();
- boolean allowed = false;
- for (Pattern p : this.patterns) {
- if (p.matcher(uri).matches()) {
- log.trace("Allowing request matching pattern {}", p);
- allowed = true;
- break;
- }
- }
-
- // the uri isn't allowed automatically, so check user permissions
- if (!allowed) {
-
- // check to see if the user is a member of the specified group
- if (StringUtils.isNotBlank(config.group())) {
- Authorizable auth;
- try {
- Session session = slingRequest.getResourceResolver().adaptTo(Session.class);
- UserManager userManager = AccessControlUtil.getUserManager(session);
- log.trace("Retrieved user manager {} with session {}", userManager, session);
- auth = userManager.getAuthorizable(slingRequest.getUserPrincipal());
- if (auth != null) {
- log.trace("Checking to see if user {} is in required group {}", auth.getID(),
- config.group());
- Iterator<Group> groups = ((User) auth).memberOf();
- while (groups.hasNext()) {
- if (groups.next().getID().equals(config.group())) {
- allowed = true;
- break;
- }
- }
- }
- } catch (Exception e) {
- log.error("Exception determing group membership", e);
- }
-
- // just check to make sure the user is logged in
- } else {
- if (!"anonymous".equals(slingRequest.getResourceResolver().getUserID())) {
- allowed = true;
- }
- }
-
- }
-
- // permission checked failed, so return an unauthorized error
- if (!allowed) {
- log.trace("Request to {} not allowed for user {}", slingRequest.getRequestURI(),
- slingRequest.getResourceResolver().getUserID());
- ((HttpServletResponse) response).sendError(401);
- return;
- }
- } else {
- log.trace("Not filtering request to host {}", request.getServerName());
- }
-
- chain.doFilter(request, response);
- }
-
- @Override
- public void destroy() {
- // Nothing required
- }
+ private static final Logger log = LoggerFactory.getLogger(CMSSecurityFilter.class);
+
+ private CMSSecurityFilterConfig config;
+
+ private List<Pattern> patterns = new ArrayList<>();
+
+ @Modified
+ @Activate
+ public void activate(CMSSecurityFilterConfig config) {
+ if (config.hostDomains() != null && config.hostDomains().length > 0) {
+ if (log.isInfoEnabled()) {
+ log.info("Applying CMS Security Filter for domains {}", Arrays.toString(config.hostDomains()));
+ }
+ this.config = config;
+ for (String p : config.allowedPatterns()) {
+ patterns.add(Pattern.compile(p));
+ }
+ } else {
+ this.config = null;
+ log.info("No host domains supplied, CMS Security Filter not enabled");
+ }
+ }
+
+ @Override
+ public void init(FilterConfig filterConfig) throws ServletException {
+ // Nothing required
+ }
+
+ @Override
+ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
+ throws IOException, ServletException {
+
+ SlingHttpServletRequest slingRequest = (SlingHttpServletRequest) request;
+ if (config != null && ArrayUtils.contains(config.hostDomains(), request.getServerName())) {
+ log.trace("Filtering requests to host {}", request.getServerName());
+ String uri = slingRequest.getRequestURI();
+ boolean allowed = false;
+ for (Pattern p : this.patterns) {
+ if (p.matcher(uri).matches()) {
+ log.trace("Allowing request matching pattern {}", p);
+ allowed = true;
+ break;
+ }
+ }
+
+ // the uri isn't allowed automatically, so check user permissions
+ if (!allowed) {
+
+ // check to see if the user is a member of the specified group
+ if (StringUtils.isNotBlank(config.group())) {
+ Authorizable auth;
+ try {
+ Session session = slingRequest.getResourceResolver().adaptTo(Session.class);
+ UserManager userManager = AccessControlUtil.getUserManager(session);
+ log.trace("Retrieved user manager {} with session {}", userManager, session);
+ auth = userManager.getAuthorizable(slingRequest.getUserPrincipal());
+ if (auth != null) {
+ log.trace("Checking to see if user {} is in required group {}", auth.getID(),
+ config.group());
+ Iterator<Group> groups = ((User) auth).memberOf();
+ while (groups.hasNext()) {
+ if (groups.next().getID().equals(config.group())) {
+ allowed = true;
+ break;
+ }
+ }
+ }
+ } catch (Exception e) {
+ log.error("Exception determing group membership", e);
+ }
+
+ // just check to make sure the user is logged in
+ } else {
+ if (!"anonymous".equals(slingRequest.getResourceResolver().getUserID())) {
+ allowed = true;
+ }
+ }
+
+ }
+
+ // permission checked failed, so return an unauthorized error
+ if (!allowed) {
+ log.trace("Request to {} not allowed for user {}", slingRequest.getRequestURI(),
+ slingRequest.getResourceResolver().getUserID());
+ ((HttpServletResponse) response).sendError(401);
+ return;
+ }
+ } else {
+ log.trace("Not filtering request to host {}", request.getServerName());
+ }
+
+ chain.doFilter(request, response);
+ }
+
+ @Override
+ public void destroy() {
+ // Nothing required
+ }
}
diff --git a/core/src/main/java/org/apache/sling/cms/core/internal/operations/BulkReplaceOperation.java b/core/src/main/java/org/apache/sling/cms/core/internal/operations/BulkReplaceOperation.java
index 18c5d05..2e40792 100644
--- a/core/src/main/java/org/apache/sling/cms/core/internal/operations/BulkReplaceOperation.java
+++ b/core/src/main/java/org/apache/sling/cms/core/internal/operations/BulkReplaceOperation.java
@@ -27,6 +27,7 @@ import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import org.apache.sling.api.SlingException;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.resource.ModifiableValueMap;
import org.apache.sling.api.resource.Resource;
@@ -65,7 +66,9 @@ public class BulkReplaceOperation implements PostOperation {
// perform the bulk replacement
Pattern updateProperties = Pattern.compile(request.getParameter(PN_UPDATE_PROPERTIES));
- log.debug("Updating properties matching: {}", updateProperties.pattern());
+ if (log.isDebugEnabled()) {
+ log.debug("Updating properties matching: {}", updateProperties.pattern());
+ }
Pattern rfind = null;
String find = request.getParameter(PN_FIND);
if (MODE_REGEX.equals(request.getParameter(PN_MODE))) {
@@ -114,6 +117,11 @@ public class BulkReplaceOperation implements PostOperation {
String replace, PostResponse response, List<Modification> changes) {
ModifiableValueMap properties = resource.adaptTo(ModifiableValueMap.class);
boolean updated = false;
+
+ if (properties == null) {
+ throw new SlingException("Failed to retrieve modifiable value map, cannot update properties", null);
+ }
+
for (Entry<String, Object> entry : properties.entrySet()) {
if (updateProperties.matcher(entry.getKey()).matches()) {
diff --git a/core/src/main/java/org/apache/sling/cms/core/internal/rewriter/HTML5Serializer.java b/core/src/main/java/org/apache/sling/cms/core/internal/rewriter/HTML5Serializer.java
index aa0ff2b..a36bb36 100644
--- a/core/src/main/java/org/apache/sling/cms/core/internal/rewriter/HTML5Serializer.java
+++ b/core/src/main/java/org/apache/sling/cms/core/internal/rewriter/HTML5Serializer.java
@@ -69,7 +69,7 @@ public class HTML5Serializer implements Serializer {
this.resolver = resolver;
}
- public void characters(char buffer[], int offset, int length) throws SAXException {
+ public void characters(char[] buffer, int offset, int length) throws SAXException {
if (length == 0) {
writer.flush();
} else {
@@ -98,7 +98,7 @@ public class HTML5Serializer implements Serializer {
// Nothing required
}
- public void ignorableWhitespace(char ac[], int i, int j) throws SAXException {
+ public void ignorableWhitespace(char[] ac, int i, int j) throws SAXException {
// Nothing required
}
diff --git a/core/src/main/java/org/apache/sling/cms/core/readability/impl/ReadabilityServiceFactoryImpl.java b/core/src/main/java/org/apache/sling/cms/core/readability/impl/ReadabilityServiceFactoryImpl.java
index e5354ab..28e0241 100644
--- a/core/src/main/java/org/apache/sling/cms/core/readability/impl/ReadabilityServiceFactoryImpl.java
+++ b/core/src/main/java/org/apache/sling/cms/core/readability/impl/ReadabilityServiceFactoryImpl.java
@@ -36,7 +36,7 @@ public class ReadabilityServiceFactoryImpl implements ReadabilityServiceFactory
private static final Logger log = LoggerFactory.getLogger(ReadabilityServiceFactoryImpl.class);
@Reference(cardinality = ReferenceCardinality.MULTIPLE)
- private volatile List<ReadabilityService> services;
+ private List<ReadabilityService> services;
public ReadabilityService getReadabilityService(Locale locale) {
log.debug("Locating readability service for {}", locale);