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/09/05 17:44:59 UTC

[sling-org-apache-sling-app-cms] branch master updated (c19ca94 -> 45985fe)

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

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


    from c19ca94  Adding health checks to ensure CMS is configured correctly.
     new 9bae49c  Re-adding the reload property as it caused display issues if removed
     new 45985fe  Fixing some issues found by SonarQube

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../cms/reference/forms/impl/FormHandler.java      |  8 ++-
 .../forms/impl/actions/UpdateProfileAction.java    | 67 ++++++++++++----------
 .../providers/UserProfileFormValueProvider.java    | 23 ++++----
 .../components/forms/fields/selection.json         |  3 +-
 .../components/forms/fields/textarea.json          |  3 +-
 .../components/forms/fields/textfield.json         |  3 +-
 .../apps/reference/components/forms/fieldset.json  |  3 +-
 7 files changed, 63 insertions(+), 47 deletions(-)


[sling-org-apache-sling-app-cms] 02/02: Fixing some issues found by SonarQube

Posted by dk...@apache.org.
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

commit 45985fed1afa45e6a92f5225af4d3f560312fa1e
Author: Dan Klco <dk...@apache.org>
AuthorDate: Thu Sep 5 13:44:44 2019 -0400

    Fixing some issues found by SonarQube
---
 .../cms/reference/forms/impl/FormHandler.java      |  8 ++-
 .../forms/impl/actions/UpdateProfileAction.java    | 67 ++++++++++++----------
 .../providers/UserProfileFormValueProvider.java    | 23 ++++----
 3 files changed, 55 insertions(+), 43 deletions(-)

diff --git a/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/FormHandler.java b/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/FormHandler.java
index 3a36daf..2bce68f 100644
--- a/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/FormHandler.java
+++ b/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/FormHandler.java
@@ -99,7 +99,11 @@ public class FormHandler extends SlingAllMethodsServlet {
 
     protected FormRequest getFormRequest(SlingHttpServletRequest request) throws FormException {
         FormRequest fr = request.adaptTo(FormRequest.class);
-        ((FormRequestImpl) fr).initFields();
-        return fr;
+        if (fr != null) {
+            ((FormRequestImpl) fr).initFields();
+            return fr;
+        } else {
+            throw new FormException("Unable to adapt to a form request");
+        }
     }
 }
diff --git a/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/actions/UpdateProfileAction.java b/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/actions/UpdateProfileAction.java
index 09fa95c..53d24d9 100644
--- a/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/actions/UpdateProfileAction.java
+++ b/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/actions/UpdateProfileAction.java
@@ -51,45 +51,50 @@ public class UpdateProfileAction implements FormAction {
         String userId = resolver.getUserID();
         JackrabbitSession session = (JackrabbitSession) resolver.adaptTo(Session.class);
 
-        try {
-            final UserManager userManager = session.getUserManager();
-            if (userManager.getAuthorizable(userId) != null) {
+        if (session != null) {
+            try {
+                final UserManager userManager = session.getUserManager();
+                if (userManager.getAuthorizable(userId) != null) {
 
-                User user = (User) userManager.getAuthorizable(userId);
-                log.debug("Updating profile for {}", userId);
+                    User user = (User) userManager.getAuthorizable(userId);
+                    log.debug("Updating profile for {}", userId);
 
-                String subpath = actionResource.getValueMap().get("subpath", "profile");
-                ValueFactory valueFactory = session.getValueFactory();
+                    String subpath = actionResource.getValueMap().get("subpath", "profile");
+                    ValueFactory valueFactory = session.getValueFactory();
 
-                for (Entry<String, Object> e : request.getFormData().entrySet()) {
-                    Value value = null;
-                    if (e.getValue() instanceof String[]) {
-                        user.setProperty(subpath + "/" + e.getKey(), Arrays.stream((String[]) e.getValue())
-                                .map(valueFactory::createValue).collect(Collectors.toList()).toArray(new Value[0]));
-                    } else {
-                        if (e.getValue() instanceof Calendar) {
-                            value = valueFactory.createValue((Calendar) e.getValue());
-                        } else if (e.getValue() instanceof Double) {
-                            value = valueFactory.createValue((Double) e.getValue());
-                        } else if (e.getValue() instanceof Integer) {
-                            value = valueFactory.createValue((Double) e.getValue());
+                    for (Entry<String, Object> e : request.getFormData().entrySet()) {
+                        Value value = null;
+                        if (e.getValue() instanceof String[]) {
+                            user.setProperty(subpath + "/" + e.getKey(), Arrays.stream((String[]) e.getValue())
+                                    .map(valueFactory::createValue).collect(Collectors.toList()).toArray(new Value[0]));
                         } else {
-                            value = valueFactory.createValue((String) e.getValue());
+                            if (e.getValue() instanceof Calendar) {
+                                value = valueFactory.createValue((Calendar) e.getValue());
+                            } else if (e.getValue() instanceof Double) {
+                                value = valueFactory.createValue((Double) e.getValue());
+                            } else if (e.getValue() instanceof Integer) {
+                                value = valueFactory.createValue((Double) e.getValue());
+                            } else {
+                                value = valueFactory.createValue((String) e.getValue());
+                            }
+                            user.setProperty(subpath + "/" + e.getKey(), value);
                         }
-                        user.setProperty(subpath + "/" + e.getKey(), value);
                     }
-                }
-                log.debug("Saving changes!");
-                resolver.commit();
+                    log.debug("Saving changes!");
+                    resolver.commit();
 
-                return FormActionResult.success("Profile Updated");
-            } else {
-                log.warn("No profile found for {}", userId);
-                return FormActionResult.failure("No profile found for " + userId);
+                    return FormActionResult.success("Profile Updated");
+                } else {
+                    log.warn("No profile found for {}", userId);
+                    return FormActionResult.failure("No profile found for " + userId);
+                }
+            } catch (RepositoryException | PersistenceException e) {
+                log.warn("Failed to update profile for {}", userId, e);
+                return FormActionResult.failure("Failed to update profile for " + userId);
             }
-        } catch (RepositoryException | PersistenceException e) {
-            log.warn("Failed to update profile for {}", userId, e);
-            return FormActionResult.failure("Failed to update profile for " + userId);
+        } else {
+            log.warn("Failed to get session for {}", userId);
+            return FormActionResult.failure("Failed to get session for " + userId);
         }
     }
 
diff --git a/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/providers/UserProfileFormValueProvider.java b/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/providers/UserProfileFormValueProvider.java
index a37023d..c9212a5 100644
--- a/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/providers/UserProfileFormValueProvider.java
+++ b/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/providers/UserProfileFormValueProvider.java
@@ -48,20 +48,23 @@ public class UserProfileFormValueProvider implements FormValueProvider {
             ResourceResolver resolver = providerResource.getResourceResolver();
             String userId = resolver.getUserID();
             JackrabbitSession session = (JackrabbitSession) resolver.adaptTo(Session.class);
-            UserManager userManager = session.getUserManager();
-            User user = (User) userManager.getAuthorizable(userId);
+            if (session != null) {
+                UserManager userManager = session.getUserManager();
+                User user = (User) userManager.getAuthorizable(userId);
 
-            String subpath = providerResource.getValueMap().get("subpath", "profile");
-            log.debug("Loading profile data from: {}/{}", user.getPath(), subpath);
+                String subpath = providerResource.getValueMap().get("subpath", "profile");
+                log.debug("Loading profile data from: {}/{}", user.getPath(), subpath);
 
-            Iterator<String> keys = user.getPropertyNames(subpath);
-            while (keys.hasNext()) {
+                Iterator<String> keys = user.getPropertyNames(subpath);
+                while (keys.hasNext()) {
 
-                String key = keys.next();
-                log.debug("Loading key {}", key);
-                loadKey(formData, subpath, key, user);
+                    String key = keys.next();
+                    log.debug("Loading key {}", key);
+                    loadKey(formData, subpath, key, user);
+                }
+            } else {
+                log.warn("Failed to load Jackrabbit session for request");
             }
-
         } catch (RepositoryException e) {
             log.warn("Exception loading values from user profile", e);
         }


[sling-org-apache-sling-app-cms] 01/02: Re-adding the reload property as it caused display issues if removed

Posted by dk...@apache.org.
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

commit 9bae49c8c9d6c096c2717d1d25cd7cf69c2c4bb2
Author: Dan Klco <dk...@apache.org>
AuthorDate: Thu Sep 5 13:38:08 2019 -0400

    Re-adding the reload property as it caused display issues if removed
---
 .../jcr_root/apps/reference/components/forms/fields/selection.json     | 3 ++-
 .../jcr_root/apps/reference/components/forms/fields/textarea.json      | 3 ++-
 .../jcr_root/apps/reference/components/forms/fields/textfield.json     | 3 ++-
 .../resources/jcr_root/apps/reference/components/forms/fieldset.json   | 3 ++-
 4 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/reference/src/main/resources/jcr_root/apps/reference/components/forms/fields/selection.json b/reference/src/main/resources/jcr_root/apps/reference/components/forms/fields/selection.json
index d3f03c2..341d4a1 100644
--- a/reference/src/main/resources/jcr_root/apps/reference/components/forms/fields/selection.json
+++ b/reference/src/main/resources/jcr_root/apps/reference/components/forms/fields/selection.json
@@ -1,5 +1,6 @@
 {
     "jcr:primaryType" : "sling:Component",
     "jcr:title": "Selection",
-    "componentType": "Form Field"
+    "componentType": "Form Field",
+    "reloadPage": true
 }
\ No newline at end of file
diff --git a/reference/src/main/resources/jcr_root/apps/reference/components/forms/fields/textarea.json b/reference/src/main/resources/jcr_root/apps/reference/components/forms/fields/textarea.json
index d9c86e4..0722adc 100644
--- a/reference/src/main/resources/jcr_root/apps/reference/components/forms/fields/textarea.json
+++ b/reference/src/main/resources/jcr_root/apps/reference/components/forms/fields/textarea.json
@@ -1,5 +1,6 @@
 {
     "jcr:primaryType" : "sling:Component",
     "jcr:title": "Textarea",
-    "componentType": "Form Field"
+    "componentType": "Form Field",
+    "reloadPage": true
 }
\ No newline at end of file
diff --git a/reference/src/main/resources/jcr_root/apps/reference/components/forms/fields/textfield.json b/reference/src/main/resources/jcr_root/apps/reference/components/forms/fields/textfield.json
index c2976c7..7cb2186 100644
--- a/reference/src/main/resources/jcr_root/apps/reference/components/forms/fields/textfield.json
+++ b/reference/src/main/resources/jcr_root/apps/reference/components/forms/fields/textfield.json
@@ -1,5 +1,6 @@
 {
     "jcr:primaryType" : "sling:Component",
     "jcr:title": "Text Field",
-    "componentType": "Form Field"
+    "componentType": "Form Field",
+    "reloadPage": true
 }
\ No newline at end of file
diff --git a/reference/src/main/resources/jcr_root/apps/reference/components/forms/fieldset.json b/reference/src/main/resources/jcr_root/apps/reference/components/forms/fieldset.json
index 5d40038..3926e8d 100644
--- a/reference/src/main/resources/jcr_root/apps/reference/components/forms/fieldset.json
+++ b/reference/src/main/resources/jcr_root/apps/reference/components/forms/fieldset.json
@@ -1,5 +1,6 @@
 {
     "jcr:primaryType" : "sling:Component",
     "jcr:title": "Fieldset",
-    "componentType": "Form Field"
+    "componentType": "Form Field",
+    "reloadPage": true
 }
\ No newline at end of file