Pages

Saturday, 22 October 2016

Appending or Concatenating Strings

Appending two strings

${'{0} {1}' @ format=[properties.property1,properties.property2]}

In other way

${[properties.property1,properties.property1] @ join=' '}
 

  This shows that we are appending two strings with a single white space. You can use any other elements/characters.

Appending .html to the URL in Sightly

<a href="${properties.path ? '{0}.{1}' : 'Default Path'  @ format=[properties.path,'html']}" class="link">${properties.title || 'Default Title'}</a>

Or

<a href="${currentPage.path @ extension = 'html'}">${currentPage.title}</a>

AEM Node to JSON Converter Logic Ignoring Unnecessary Properties

            final Node node = resource.adaptTo(Node.class);
            /* Node properties to exclude from the JSON object. */
            @SuppressWarnings("serial")
            final Set<String> propertiesToIgnore = new HashSet<String>() {{
                add("jcr:created");
                add("jcr:createdBy");
                add("jcr:lastModified");
                add("jcr:lastModifiedBy");
                add("jcr:versionHistory");
                add("jcr:predecessors");
                add("jcr:baseVersion");
                add("jcr:uuid");
                add("sling:resourceType");
                add("jcr:primaryType");
            }};
           
            StringWriter stringWriter = new StringWriter();
            JsonItemWriter jsonWriter = new JsonItemWriter(propertiesToIgnore);
            JSONObject jsonObject = null;

            try {
                jsonWriter.dump(node, stringWriter, 0);
                jsonObject = new JSONObject(stringWriter.toString());
                return jsonObject;
            } catch (RepositoryException e) {
                LOG.info("Repository exception :: {} ", e);
            } catch (JSONException e) {
                LOG.info("JSON exception :: {} ", e);
                e.printStackTrace();
            } catch (Exception e) {
                LOG.info("Exception :: {} ", e);
            }

Converting InputStream to String

    private String convertToString(InputStream inputStreamObj)             throws IOException {         if (inputStreamObj != null) {     ...