This is an automated email from the ASF dual-hosted git repository.

dklco pushed a commit to branch SLING-7858
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git

commit ac140a55fa1e3b889676517f3d42796b28c5b923
Author: Dan Klco <[email protected]>
AuthorDate: Wed Sep 5 10:14:36 2018 -0400

    Fixing a number of SonarQube violations
---
 .../java/org/apache/sling/cms/core/CMSUtils.java   | 10 ++--
 .../core/internal/filters/CMSSecurityFilter.java   |  2 +-
 .../internal/operations/BulkReplaceOperation.java  | 25 +++++-----
 .../operations/UpdateReferencesPostOperation.java  | 31 ++++++------
 .../core/internal/rewriter/HTML5Serializer.java    | 10 ++--
 .../rewriter/ReferenceMappingTransformer.java      |  7 ++-
 .../cms/core/internal/servlets/CMSPageServlet.java |  4 +-
 .../internal/servlets/PathSuggestionServlet.java   | 14 +++---
 .../apache/sling/cms/core/models/Component.java    | 27 ++++++----
 .../sling/cms/core/models/ComponentManager.java    |  6 +--
 .../apache/sling/cms/core/models/ErrorHandler.java | 57 +++++++++++-----------
 .../apache/sling/cms/core/models/LocaleList.java   |  2 +-
 .../sling/cms/core/models/LocaleResource.java      |  2 +-
 .../org/apache/sling/cms/core/models/Page.java     | 23 ++++++---
 .../apache/sling/cms/core/models/PageTemplate.java |  2 +-
 .../sling/cms/core/models/PageTemplateManager.java | 12 +++--
 .../apache/sling/cms/core/models/References.java   |  6 +--
 .../org/apache/sling/cms/core/models/Site.java     | 17 ++++---
 .../apache/sling/cms/core/models/i18nHelper.java   |  2 +-
 .../usergenerated/UserGeneratedContentService.java |  2 +-
 .../impl/UserGeneratedContentServiceImpl.java      |  7 ++-
 21 files changed, 158 insertions(+), 110 deletions(-)

diff --git a/core/src/main/java/org/apache/sling/cms/core/CMSUtils.java 
b/core/src/main/java/org/apache/sling/cms/core/CMSUtils.java
index 3b33fbe..09ccbf6 100644
--- a/core/src/main/java/org/apache/sling/cms/core/CMSUtils.java
+++ b/core/src/main/java/org/apache/sling/cms/core/CMSUtils.java
@@ -28,6 +28,9 @@ import org.apache.sling.api.resource.Resource;
  */
 public class CMSUtils {
 
+       private CMSUtils() {
+       }
+
        public static final <T> List<T> adaptResources(List<Resource> 
resources, Class<T> type) {
                List<T> values = new ArrayList<T>();
                if (resources != null) {
@@ -39,7 +42,7 @@ public class CMSUtils {
        }
 
        public static final <T> List<T> adaptResources(Resource[] resources, 
Class<T> type) {
-               List<T> values = new ArrayList<T>();
+               List<T> values = new ArrayList<>();
                if (resources != null) {
                        for (Resource resource : resources) {
                                values.add(resource.adaptTo(type));
@@ -72,8 +75,9 @@ public class CMSUtils {
        public static final boolean isPublished(Resource resource) {
                boolean published = true;
                Resource publishable = findPublishableParent(resource);
-               if (publishable != null && 
publishable.getChild(JcrConstants.JCR_CONTENT) != null) {
-                       if 
(!(publishable.getChild(JcrConstants.JCR_CONTENT).getValueMap().get(CMSConstants.PN_PUBLISHED,
 false))) {
+               if (publishable != null) {
+                       Resource content = 
publishable.getChild(JcrConstants.JCR_CONTENT);
+                       if (content != null && 
!(content.getValueMap().get(CMSConstants.PN_PUBLISHED, false))) {
                                published = false;
                        }
                }
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 91f806c..bfb2e65 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
@@ -92,7 +92,7 @@ public class CMSSecurityFilter implements Filter {
                        boolean allowed = false;
                        for (Pattern p : this.patterns) {
                                if (p.matcher(uri).matches()) {
-                                       log.trace("Allowing request matching 
pattern {}", p.toString());
+                                       log.trace("Allowing request matching 
pattern {}", p);
                                        allowed = true;
                                        break;
                                }
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 ece0aa1..f2df10b 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
@@ -22,6 +22,7 @@ import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -113,30 +114,30 @@ public class BulkReplaceOperation implements 
PostOperation {
                        String replace, PostResponse response, 
List<Modification> changes) {
                ModifiableValueMap properties = 
resource.adaptTo(ModifiableValueMap.class);
                boolean updated = false;
-               for (String key : properties.keySet()) {
+               for (Entry<String, Object> entry : properties.entrySet()) {
 
-                       if (updateProperties.matcher(key).matches()) {
-                               log.trace("Checking property {}@{}", 
resource.getPath(), key);
-                               if (properties.get(key) instanceof String) {
-                                       String value = properties.get(key, 
String.class);
+                       if (updateProperties.matcher(entry.getKey()).matches()) 
{
+                               log.trace("Checking property {}@{}", 
resource.getPath(), entry.getKey());
+                               if (properties.get(entry.getKey()) instanceof 
String) {
+                                       String value = (String) 
entry.getValue();
                                        if (rfind == null && 
(value.contains(find) || value.equals(find))) {
                                                value = value.replace(find, 
replace);
                                                log.trace("Value after 
replacement: {}", value);
-                                               properties.put(key, value);
+                                               properties.put(entry.getKey(), 
value);
                                                updated = true;
                                        } else if (rfind != null) {
                                                Matcher m = 
rfind.matcher(value);
                                                if (m.find()) {
                                                        value = 
rfind.matcher(value).replaceAll(replace);
                                                        log.trace("Value after 
replacement: {}", value);
-                                                       properties.put(key, 
value);
+                                                       
properties.put(entry.getKey(), value);
                                                        updated = true;
                                                }
                                        }
-                               } else if (properties.get(key) instanceof 
String[]) {
+                               } else if (properties.get(entry) instanceof 
String[]) {
                                        log.trace("Found array value");
                                        boolean arrUpdated = false;
-                                       String[] v = properties.get(key, 
String[].class);
+                                       String[] v = (String[]) 
entry.getValue();
                                        for (int i = 0; i < v.length; i++) {
                                                String value = v[i];
                                                if (rfind == null && 
(value.contains(find) || value.equals(find))) {
@@ -151,8 +152,10 @@ public class BulkReplaceOperation implements PostOperation 
{
                                                }
                                        }
                                        if (arrUpdated) {
-                                               log.trace("Value after 
replacement: {}", Arrays.toString(v));
-                                               properties.put(key, v);
+                                               if (log.isTraceEnabled()) {
+                                                       log.trace("Value after 
replacement: {}", Arrays.toString(v));
+                                               }
+                                               properties.put(entry.getKey(), 
v);
                                                updated = true;
                                        }
                                }
diff --git 
a/core/src/main/java/org/apache/sling/cms/core/internal/operations/UpdateReferencesPostOperation.java
 
b/core/src/main/java/org/apache/sling/cms/core/internal/operations/UpdateReferencesPostOperation.java
index c2653d8..d1261d7 100644
--- 
a/core/src/main/java/org/apache/sling/cms/core/internal/operations/UpdateReferencesPostOperation.java
+++ 
b/core/src/main/java/org/apache/sling/cms/core/internal/operations/UpdateReferencesPostOperation.java
@@ -36,8 +36,7 @@ import org.slf4j.LoggerFactory;
  * references from a resource which is being moved or deleted to another
  * resource.
  */
-@Component(immediate = true, service = { SlingPostProcessor.class }, property 
= Constants.SERVICE_RANKING
-               + "=-1")
+@Component(immediate = true, service = { SlingPostProcessor.class }, property 
= Constants.SERVICE_RANKING + "=-1")
 public class UpdateReferencesPostOperation implements SlingPostProcessor {
 
        public static final String RP_UPDATE_REFERENCES = 
SlingPostConstants.RP_PREFIX + "updateReferences";
@@ -58,19 +57,23 @@ public class UpdateReferencesPostOperation implements 
SlingPostProcessor {
                                public void doProcess(Resource resource, String 
matchingKey) {
                                        ModifiableValueMap properties = 
resource.adaptTo(ModifiableValueMap.class);
                                        log.trace("Updating references in 
property {}@{}", resource.getPath(), matchingKey);
-                                       if (properties.get(matchingKey) 
instanceof String) {
-                                               String value = 
properties.get(matchingKey, String.class).replace(find, destination);
-                                               properties.put(matchingKey, 
value);
-                                               log.trace("Updated value {}", 
value);
-                                       } else if (properties.get(matchingKey) 
instanceof String[]) {
-                                               String[] values = 
properties.get(matchingKey, String[].class);
-                                               for (int i = 0; i < 
values.length; i++) {
-                                                       values[i] = 
values[i].replace(find, destination);
-                                               }
-                                               properties.put(matchingKey, 
values);
-                                               if(log.isTraceEnabled()) {
-                                               log.trace("Updated values {}", 
Arrays.toString(values));
+                                       if (properties != null) {
+                                               if (properties.get(matchingKey) 
instanceof String) {
+                                                       String value = 
properties.get(matchingKey, "").replace(find, destination);
+                                                       
properties.put(matchingKey, value);
+                                                       log.trace("Updated 
value {}", value);
+                                               } else if 
(properties.get(matchingKey) instanceof String[]) {
+                                                       String[] values = 
properties.get(matchingKey, new String[0]);
+                                                       for (int i = 0; i < 
values.length; i++) {
+                                                               values[i] = 
values[i].replace(find, destination);
+                                                       }
+                                                       
properties.put(matchingKey, values);
+                                                       if 
(log.isTraceEnabled()) {
+                                                               
log.trace("Updated values {}", Arrays.toString(values));
+                                                       }
                                                }
+                                       } else {
+                                               log.warn("Unable to update 
references in {}, unable to edit", resource);
                                        }
                                        
changes.add(Modification.onModified(resource.getPath()));
                                }
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 3f88f1e..405d3e7 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
@@ -80,8 +80,7 @@ public class HTML5Serializer implements Serializer {
 
        @Override
        public void dispose() {
-               // TODO Auto-generated method stub
-
+               // Nothing required
        }
 
        public void endDocument() throws SAXException {
@@ -97,9 +96,11 @@ public class HTML5Serializer implements Serializer {
        }
 
        public void endPrefixMapping(String s) throws SAXException {
+               // Nothing required
        }
 
        public void ignorableWhitespace(char ac[], int i, int j) throws 
SAXException {
+               // Nothing required
        }
 
        @Override
@@ -109,17 +110,19 @@ public class HTML5Serializer implements Serializer {
                } else {
                        writer = context.getWriter();
                        rewriteConfig = 
resolver.getResource(context.getRequest().getResource(), "site", "rewrite");
-                       return;
                }
        }
 
        public void processingInstruction(String s, String s1) throws 
SAXException {
+               // Nothing required
        }
 
        public void setDocumentLocator(Locator locator1) {
+               // Nothing required
        }
 
        public void skippedEntity(String s) throws SAXException {
+               // Nothing required
        }
 
        public void startDocument() throws SAXException {
@@ -155,5 +158,6 @@ public class HTML5Serializer implements Serializer {
        }
 
        public void startPrefixMapping(String s, String s1) throws SAXException 
{
+               // Nothing required
        }
 }
diff --git 
a/core/src/main/java/org/apache/sling/cms/core/internal/rewriter/ReferenceMappingTransformer.java
 
b/core/src/main/java/org/apache/sling/cms/core/internal/rewriter/ReferenceMappingTransformer.java
index a2d8956..5e3adf2 100644
--- 
a/core/src/main/java/org/apache/sling/cms/core/internal/rewriter/ReferenceMappingTransformer.java
+++ 
b/core/src/main/java/org/apache/sling/cms/core/internal/rewriter/ReferenceMappingTransformer.java
@@ -140,6 +140,7 @@ public class ReferenceMappingTransformer implements 
Transformer {
 
        @Override
        public void dispose() {
+               // Nothing required
        }
 
        @Override
@@ -158,7 +159,11 @@ public class ReferenceMappingTransformer implements 
Transformer {
                                }
                        }
                        Resource configResource = 
resolver.getResource(slingRequest.getResource(), "site", "rewrite");
-                       attributes = 
configResource.getValueMap().get("attributes", String[].class);
+                       if (configResource != null) {
+                               attributes = 
configResource.getValueMap().get("attributes", String[].class);
+                       } else {
+                               log.warn("Unable to find configuration for {}", 
slingRequest.getResource());
+                       }
                }
        }
 
diff --git 
a/core/src/main/java/org/apache/sling/cms/core/internal/servlets/CMSPageServlet.java
 
b/core/src/main/java/org/apache/sling/cms/core/internal/servlets/CMSPageServlet.java
index 3fbe1c4..93deac9 100644
--- 
a/core/src/main/java/org/apache/sling/cms/core/internal/servlets/CMSPageServlet.java
+++ 
b/core/src/main/java/org/apache/sling/cms/core/internal/servlets/CMSPageServlet.java
@@ -44,19 +44,19 @@ public class CMSPageServlet extends SlingSafeMethodsServlet 
{
        private static final long serialVersionUID = -410942682163323725L;
        private static final Logger log = 
LoggerFactory.getLogger(CMSPageServlet.class);
 
+       @Override
        protected void doGet(SlingHttpServletRequest request, 
SlingHttpServletResponse response)
                        throws ServletException, IOException {
                Resource contentResource = 
request.getResourceResolver().getResource(request.getResource(),
                                JcrConstants.JCR_CONTENT);
                if (contentResource == null) {
-                       log.error("No countent for page {}", 
request.getResource());
+                       log.error("No content for page {}", 
request.getResource());
                        response.sendError(HttpServletResponse.SC_NOT_FOUND, 
"no content");
                        return;
                }
                RequestDispatcher requestDispatcher = 
request.getRequestDispatcher(contentResource);
                if (requestDispatcher != null) {
                        requestDispatcher.include(request, response);
-                       return;
                } else {
                        log.error("Failed to get request dispatcher for content 
of {}", request.getResource());
                        throw new ServletException("No Content");
diff --git 
a/core/src/main/java/org/apache/sling/cms/core/internal/servlets/PathSuggestionServlet.java
 
b/core/src/main/java/org/apache/sling/cms/core/internal/servlets/PathSuggestionServlet.java
index 808f236..a2457b3 100644
--- 
a/core/src/main/java/org/apache/sling/cms/core/internal/servlets/PathSuggestionServlet.java
+++ 
b/core/src/main/java/org/apache/sling/cms/core/internal/servlets/PathSuggestionServlet.java
@@ -50,7 +50,7 @@ public class PathSuggestionServlet extends 
SlingSafeMethodsServlet {
        private static final long serialVersionUID = -410942682163323725L;
        private static final Logger log = 
LoggerFactory.getLogger(PathSuggestionServlet.class);
 
-       private static final Map<String, String[]> typeFilters = new 
HashMap<String, String[]>();
+       private static final Map<String, String[]> typeFilters = new 
HashMap<>();
 
        @Activate
        public void activate(PathSuggestionServletConfig config) {
@@ -64,6 +64,7 @@ public class PathSuggestionServlet extends 
SlingSafeMethodsServlet {
                log.info("Loaded type filters {}", typeFilters);
        }
 
+       @Override
        protected void doGet(SlingHttpServletRequest request, 
SlingHttpServletResponse response)
                        throws ServletException, IOException {
                String path = request.getParameter("path");
@@ -83,7 +84,7 @@ public class PathSuggestionServlet extends 
SlingSafeMethodsServlet {
                Resource parent = 
request.getResourceResolver().getResource(path);
 
                if (parent == null) {
-                       path = StringUtils.left(path, path.lastIndexOf("/"));
+                       path = StringUtils.left(path, path.lastIndexOf('/'));
                        if (StringUtils.isEmpty(path)) {
                                path = "/";
                        }
@@ -91,11 +92,12 @@ public class PathSuggestionServlet extends 
SlingSafeMethodsServlet {
                        log.debug("Using stemmed path {}", path);
                        parent = 
request.getResourceResolver().getResource(path);
                }
-               for (Resource child : parent.getChildren()) {
-                       if (isIncluded(child, type)) {
-                               arrBuilder.add(child.getPath());
+               if (parent != null) {
+                       for (Resource child : parent.getChildren()) {
+                               if (isIncluded(child, type)) {
+                                       arrBuilder.add(child.getPath());
+                               }
                        }
-
                }
 
                response.setContentType("application/json");
diff --git a/core/src/main/java/org/apache/sling/cms/core/models/Component.java 
b/core/src/main/java/org/apache/sling/cms/core/models/Component.java
index 71c4292..cb62547 100644
--- a/core/src/main/java/org/apache/sling/cms/core/models/Component.java
+++ b/core/src/main/java/org/apache/sling/cms/core/models/Component.java
@@ -54,18 +54,23 @@ public class Component {
         */
        @Override
        public boolean equals(Object obj) {
-               if (this == obj)
+               if (this == obj) {
                        return true;
-               if (obj == null)
+               }
+               if (obj == null) {
                        return false;
-               if (getClass() != obj.getClass())
+               }
+               if (getClass() != obj.getClass()) {
                        return false;
+               }
                Component other = (Component) obj;
                if (resource == null) {
-                       if (other.resource != null)
+                       if (other.resource != null) {
                                return false;
-               } else if (!resource.getPath().equals(other.resource.getPath()))
+                       }
+               } else if 
(!resource.getPath().equals(other.resource.getPath())) {
                        return false;
+               }
                return true;
        }
 
@@ -74,10 +79,12 @@ public class Component {
                        if (component.getChild("edit") != null) {
                                return component.getChild("edit");
                        } else {
-                               component = component.getResourceResolver()
-                                               
.getResource(component.getResourceResolver().getParentResourceType(component));
-                               if (component != null) {
-                                       return getComponentEditPath(component);
+                               String parentResourceType = 
component.getResourceResolver().getParentResourceType(component);
+                               if (StringUtils.isNotBlank(parentResourceType)) 
{
+                                       component = 
component.getResourceResolver().getResource(parentResourceType);
+                                       if (component != null) {
+                                               return 
getComponentEditPath(component);
+                                       }
                                }
                        }
                }
@@ -133,7 +140,7 @@ public class Component {
        public int hashCode() {
                final int prime = 31;
                int result = 1;
-               result = prime * result + ((resource.getPath() == null) ? 0 : 
resource.getPath().hashCode());
+               result = prime * result + resource.getPath().hashCode();
                return result;
        }
 
diff --git 
a/core/src/main/java/org/apache/sling/cms/core/models/ComponentManager.java 
b/core/src/main/java/org/apache/sling/cms/core/models/ComponentManager.java
index b480c65..4032a3f 100644
--- a/core/src/main/java/org/apache/sling/cms/core/models/ComponentManager.java
+++ b/core/src/main/java/org/apache/sling/cms/core/models/ComponentManager.java
@@ -52,14 +52,14 @@ public class ComponentManager {
         * @return a list of the components
         */
        public List<Component> getAllComponents() {
-               Set<Component> allComponents = new HashSet<Component>();
+               Set<Component> allComponents = new HashSet<>();
                if (componentCache == null) {
                        loadComponents();
                }
                for (List<Component> components : componentCache.values()) {
                        allComponents.addAll(components);
                }
-               return new ArrayList<Component>(allComponents);
+               return new ArrayList<>(allComponents);
        }
 
        /**
@@ -85,7 +85,7 @@ public class ComponentManager {
                if (componentCache == null) {
                        loadComponents();
                }
-               List<String> types = new 
ArrayList<String>(componentCache.keySet());
+               List<String> types = new ArrayList<>(componentCache.keySet());
                Collections.sort(types);
                return types;
        }
diff --git 
a/core/src/main/java/org/apache/sling/cms/core/models/ErrorHandler.java 
b/core/src/main/java/org/apache/sling/cms/core/models/ErrorHandler.java
index 10f15bf..e56a010 100644
--- a/core/src/main/java/org/apache/sling/cms/core/models/ErrorHandler.java
+++ b/core/src/main/java/org/apache/sling/cms/core/models/ErrorHandler.java
@@ -16,7 +16,6 @@
  */
 package org.apache.sling.cms.core.models;
 
-import java.io.IOException;
 import java.util.HashMap;
 
 import javax.annotation.PostConstruct;
@@ -73,7 +72,7 @@ public class ErrorHandler {
        }
 
        @PostConstruct
-       public void init() throws IOException {
+       public void init() {
 
                Resource resource = slingRequest.getResource();
                ResourceResolver resolver = slingRequest.getResourceResolver();
@@ -81,34 +80,11 @@ public class ErrorHandler {
                log.debug("Calculating error handling scripts for resource {} 
and error code {}", resource, errorCode);
 
                if (slingRequest.getAttribute(SlingConstants.ERROR_EXCEPTION) 
!= null) {
-                       log.warn("Handing exception of type " + errorCode,
-                                       
slingRequest.getAttribute(SlingConstants.ERROR_EXCEPTION));
+                       log.warn("Handing exception of type {}", errorCode,
+                                       (Exception) 
slingRequest.getAttribute(SlingConstants.ERROR_EXCEPTION));
                }
 
-               if (errorCode == 404) {
-                       log.debug("Validating the resource does not exist for 
all users");
-                       ResourceResolver adminResolver;
-                       try {
-                               adminResolver = 
factory.getServiceResourceResolver(new HashMap<String, Object>() {
-                                       private static final long 
serialVersionUID = 1L;
-                                       {
-                                               
put(ResourceResolverFactory.SUBSERVICE, "sling-cms-error");
-                                       }
-                               });
-                               Resource pResource = 
adminResolver.resolve(slingRequest, slingRequest.getResource().getPath());
-                               if (pResource != null) {
-                                       if (!CMSUtils.isPublished(pResource)) {
-                                               errorCode = 404;
-                                       } else if 
("anonymous".equals(resolver.getUserID())) {
-                                               errorCode = 401;
-                                       } else {
-                                               errorCode = 403;
-                                       }
-                               }
-                       } catch (LoginException e) {
-                               log.error("Exception retrieving service user", 
e);
-                       }
-               }
+               calculateErrorCode(resolver);
 
                try {
                        SiteManager siteMgr = 
resource.adaptTo(SiteManager.class);
@@ -146,6 +122,31 @@ public class ErrorHandler {
                log.debug("Error handler initialized successfully!");
        }
 
+       private void calculateErrorCode(ResourceResolver resolver) {
+               if (errorCode == 404) {
+                       log.debug("Validating the resource does not exist for 
all users");
+                       ResourceResolver adminResolver;
+                       try {
+                               adminResolver = 
factory.getServiceResourceResolver(new HashMap<String, Object>() {
+                                       private static final long 
serialVersionUID = 1L;
+                                       {
+                                               
put(ResourceResolverFactory.SUBSERVICE, SERVICE_USER_NAME);
+                                       }
+                               });
+                               Resource pResource = 
adminResolver.resolve(slingRequest, slingRequest.getResource().getPath());
+                               if (!CMSUtils.isPublished(pResource)) {
+                                       errorCode = 404;
+                               } else if 
("anonymous".equals(resolver.getUserID())) {
+                                       errorCode = 401;
+                               } else {
+                                       errorCode = 403;
+                               }
+                       } catch (LoginException e) {
+                               log.error("Exception retrieving service user", 
e);
+                       }
+               }
+       }
+
        public Resource getHandler() {
                return handler;
        }
diff --git 
a/core/src/main/java/org/apache/sling/cms/core/models/LocaleList.java 
b/core/src/main/java/org/apache/sling/cms/core/models/LocaleList.java
index c83f481..0bf53f1 100644
--- a/core/src/main/java/org/apache/sling/cms/core/models/LocaleList.java
+++ b/core/src/main/java/org/apache/sling/cms/core/models/LocaleList.java
@@ -33,7 +33,7 @@ import org.apache.sling.models.annotations.Model;
 public class LocaleList {
 
        public List<Locale> getLocales() {
-               List<Locale> locales = new ArrayList<Locale>();
+               List<Locale> locales = new ArrayList<>();
                for (Locale locale : SimpleDateFormat.getAvailableLocales()) {
                        locales.add(locale);
                }
diff --git 
a/core/src/main/java/org/apache/sling/cms/core/models/LocaleResource.java 
b/core/src/main/java/org/apache/sling/cms/core/models/LocaleResource.java
index 2a91c98..8b1d72c 100644
--- a/core/src/main/java/org/apache/sling/cms/core/models/LocaleResource.java
+++ b/core/src/main/java/org/apache/sling/cms/core/models/LocaleResource.java
@@ -33,7 +33,7 @@ public class LocaleResource {
 
        public LocaleResource(Resource resource) {
                this.locale = Locale
-                               
.forLanguageTag(resource.getValueMap().get(JcrConstants.JCR_LANGUAGE, 
String.class).replace("_", "-"));
+                               
.forLanguageTag(resource.getValueMap().get(JcrConstants.JCR_LANGUAGE, 
"").replace("_", "-"));
        }
 
        public Locale getLocale() {
diff --git a/core/src/main/java/org/apache/sling/cms/core/models/Page.java 
b/core/src/main/java/org/apache/sling/cms/core/models/Page.java
index cad085b..1375a7b 100644
--- a/core/src/main/java/org/apache/sling/cms/core/models/Page.java
+++ b/core/src/main/java/org/apache/sling/cms/core/models/Page.java
@@ -65,7 +65,7 @@ public class Page extends AbstractContentModel {
        }
 
        public String[] getKeywords() {
-               List<String> keywords = new ArrayList<String>();
+               List<String> keywords = new ArrayList<>();
                if (taxonomy != null) {
                        for (String item : taxonomy) {
                                Resource resource = 
this.resource.getResourceResolver().getResource(item);
@@ -77,12 +77,8 @@ public class Page extends AbstractContentModel {
                return keywords.toArray(new String[keywords.size()]);
        }
 
-       public boolean isPublished() {
-               return published;
-       }
-
        public String getPublishedPath() {
-               Site site = resource.adaptTo(SiteManager.class).getSite();
+               Site site = getSite();
                if (site != null) {
                        return resource.getPath().replace(site.getPath(), "") + 
".html";
                } else {
@@ -91,7 +87,7 @@ public class Page extends AbstractContentModel {
        }
 
        public String getPublishedUrl() {
-               Site site = resource.adaptTo(SiteManager.class).getSite();
+               Site site = getSite();
                if (site != null) {
                        return site.getUrl() + getPublishedPath();
                } else {
@@ -99,6 +95,15 @@ public class Page extends AbstractContentModel {
                }
        }
 
+       public Site getSite() {
+               SiteManager siteMgr = resource.adaptTo(SiteManager.class);
+               Site site = null;
+               if (siteMgr != null) {
+                       site = siteMgr.getSite();
+               }
+               return site;
+       }
+
        public PageTemplate getTemplate() {
                Resource templateResource = 
this.resource.getResourceResolver().getResource(template);
                if (templateResource != null) {
@@ -111,4 +116,8 @@ public class Page extends AbstractContentModel {
        public String getTemplatePath() {
                return this.template;
        }
+
+       public boolean isPublished() {
+               return published;
+       }
 }
diff --git 
a/core/src/main/java/org/apache/sling/cms/core/models/PageTemplate.java 
b/core/src/main/java/org/apache/sling/cms/core/models/PageTemplate.java
index dd6884b..98a661e 100644
--- a/core/src/main/java/org/apache/sling/cms/core/models/PageTemplate.java
+++ b/core/src/main/java/org/apache/sling/cms/core/models/PageTemplate.java
@@ -82,7 +82,7 @@ public class PageTemplate {
         * @return the componentConfigs
         */
        public Map<String, Resource> getComponentConfigs() {
-               Map<String, Resource> configs = new HashMap<String, Resource>();
+               Map<String, Resource> configs = new HashMap<>();
                if (componentConfigurations != null) {
                        for (Resource cfg : componentConfigurations) {
                                configs.put(cfg.getValueMap().get("type", 
String.class), cfg);
diff --git 
a/core/src/main/java/org/apache/sling/cms/core/models/PageTemplateManager.java 
b/core/src/main/java/org/apache/sling/cms/core/models/PageTemplateManager.java
index 1887c79..a82c077 100644
--- 
a/core/src/main/java/org/apache/sling/cms/core/models/PageTemplateManager.java
+++ 
b/core/src/main/java/org/apache/sling/cms/core/models/PageTemplateManager.java
@@ -33,14 +33,20 @@ public class PageTemplateManager {
        private Resource resource;
 
        public PageTemplateManager(Resource resource) {
-               Site site = resource.adaptTo(SiteManager.class).getSite();
-               this.siteConfig = site.getSiteConfig();
+               SiteManager siteMgr = resource.adaptTo(SiteManager.class);
+               Site site = null;
+               if (siteMgr != null) {
+                       site = siteMgr.getSite();
+               }
+               if (site != null) {
+                       this.siteConfig = site.getSiteConfig();
+               }
                this.resource = resource;
        }
 
        public List<PageTemplate> getAvailableTemplates() {
                String path = resource.getPath();
-               List<PageTemplate> availableTemplates = new 
ArrayList<PageTemplate>();
+               List<PageTemplate> availableTemplates = new ArrayList<>();
                if (siteConfig != null && siteConfig.getPageTemplates() != 
null) {
                        for (PageTemplate template : 
siteConfig.getPageTemplates()) {
                                if (template != null && 
template.getAllowedPaths() != null) {
diff --git 
a/core/src/main/java/org/apache/sling/cms/core/models/References.java 
b/core/src/main/java/org/apache/sling/cms/core/models/References.java
index 9be4882..3aa091a 100644
--- a/core/src/main/java/org/apache/sling/cms/core/models/References.java
+++ b/core/src/main/java/org/apache/sling/cms/core/models/References.java
@@ -28,7 +28,7 @@ import org.apache.sling.models.annotations.Model;
 @Model(adaptables = Resource.class)
 public class References extends ReferenceOperation {
 
-       private List<String> references = new ArrayList<String>();
+       private List<String> referenceList = new ArrayList<>();
 
        public References(Resource resource) {
                super(resource);
@@ -37,11 +37,11 @@ public class References extends ReferenceOperation {
 
        public List<String> getReferences() {
                init();
-               return references;
+               return referenceList;
        }
 
        @Override
        public void doProcess(Resource r, String matchingKey) {
-               references.add(r.getPath() + "@" + matchingKey);
+               referenceList.add(r.getPath() + "@" + matchingKey);
        }
 }
diff --git a/core/src/main/java/org/apache/sling/cms/core/models/Site.java 
b/core/src/main/java/org/apache/sling/cms/core/models/Site.java
index 281e62a..5f5b5eb 100644
--- a/core/src/main/java/org/apache/sling/cms/core/models/Site.java
+++ b/core/src/main/java/org/apache/sling/cms/core/models/Site.java
@@ -89,18 +89,23 @@ public class Site {
         */
        @Override
        public boolean equals(Object obj) {
-               if (this == obj)
+               if (this == obj) {
                        return true;
-               if (obj == null)
+               }
+               if (obj == null) {
                        return false;
-               if (getClass() != obj.getClass())
+               }
+               if (getClass() != obj.getClass()) {
                        return false;
+               }
                Site other = (Site) obj;
                if (resource == null) {
-                       if (other.resource != null)
+                       if (other.resource != null) {
                                return false;
-               } else if (!resource.getPath().equals(other.resource.getPath()))
+                       }
+               } else if 
(!resource.getPath().equals(other.resource.getPath())) {
                        return false;
+               }
                return true;
        }
 
@@ -162,7 +167,7 @@ public class Site {
        public int hashCode() {
                final int prime = 31;
                int result = 1;
-               result = prime * result + ((resource.getPath() == null) ? 0 : 
resource.getPath().hashCode());
+               result = prime * result + resource.getPath().hashCode();
                return result;
        }
 
diff --git 
a/core/src/main/java/org/apache/sling/cms/core/models/i18nHelper.java 
b/core/src/main/java/org/apache/sling/cms/core/models/i18nHelper.java
index 655305d..8375929 100644
--- a/core/src/main/java/org/apache/sling/cms/core/models/i18nHelper.java
+++ b/core/src/main/java/org/apache/sling/cms/core/models/i18nHelper.java
@@ -34,7 +34,7 @@ public class i18nHelper {
 
        private Resource resource;
 
-       private Set<String> keys = new HashSet<String>();
+       private Set<String> keys = new HashSet<>();
 
        private Random rand = new Random();
 
diff --git 
a/core/src/main/java/org/apache/sling/cms/core/usergenerated/UserGeneratedContentService.java
 
b/core/src/main/java/org/apache/sling/cms/core/usergenerated/UserGeneratedContentService.java
index 062ebe9..8997e93 100644
--- 
a/core/src/main/java/org/apache/sling/cms/core/usergenerated/UserGeneratedContentService.java
+++ 
b/core/src/main/java/org/apache/sling/cms/core/usergenerated/UserGeneratedContentService.java
@@ -31,7 +31,7 @@ public interface UserGeneratedContentService {
 
        enum CONTENT_TYPE {
                comment, forum_post, reply, blog_post, contact_form, signup, 
message, other
-       };
+       }
 
        /**
         * Creates a new container for adding user generated content which 
should be
diff --git 
a/core/src/main/java/org/apache/sling/cms/core/usergenerated/impl/UserGeneratedContentServiceImpl.java
 
b/core/src/main/java/org/apache/sling/cms/core/usergenerated/impl/UserGeneratedContentServiceImpl.java
index f54b21f..588d2ee 100644
--- 
a/core/src/main/java/org/apache/sling/cms/core/usergenerated/impl/UserGeneratedContentServiceImpl.java
+++ 
b/core/src/main/java/org/apache/sling/cms/core/usergenerated/impl/UserGeneratedContentServiceImpl.java
@@ -58,7 +58,7 @@ public class UserGeneratedContentServiceImpl implements 
UserGeneratedContentServ
                this.config = config;
 
                log.debug("Connecting with service user");
-               Map<String, Object> serviceParams = new HashMap<String, 
Object>();
+               Map<String, Object> serviceParams = new HashMap<>();
                serviceParams.put(ResourceResolverFactory.SUBSERVICE, 
"sling-ugc");
                serviceResolver = 
factory.getServiceResourceResolver(serviceParams);
        }
@@ -78,9 +78,8 @@ public class UserGeneratedContentServiceImpl implements 
UserGeneratedContentServ
 
                Resource resource = null;
 
-               log.debug("Creating content of type {} in bucket {}", 
bucketConfig.getContentType().toString(),
-                               bucketConfig.getBucket());
-               Map<String, Object> resourceProperties = new HashMap<String, 
Object>();
+               log.debug("Creating content of type {} in bucket {}", 
bucketConfig.getContentType(), bucketConfig.getBucket());
+               Map<String, Object> resourceProperties = new HashMap<>();
                resourceProperties.put(JcrConstants.JCR_PRIMARYTYPE, 
CMSConstants.NT_UGC);
                resourceProperties.put("approveaction", 
bucketConfig.getAction().toString());
                resourceProperties.put("contenttype", 
bucketConfig.getContentType().toString());

Reply via email to