Skip to content

Commit

Permalink
Merge pull request #2 from merkle-open/develop
Browse files Browse the repository at this point in the history
Merge develop to main
  • Loading branch information
michaelrauch authored Feb 9, 2024
2 parents 0594e07 + 993fb9e commit af911f6
Show file tree
Hide file tree
Showing 6 changed files with 38 additions and 29 deletions.
5 changes: 5 additions & 0 deletions .github/workflows/release-and-deploy-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@ jobs:
uses: actions/setup-java@v1
with:
java-version: 11
- name: Maven setup
uses: ./.github/actions/mvn-setup
with:
mgnl_nexus_user: ${{secrets.MGNL_NEXUS_USER}}
mgnl_nexus_pass: ${{secrets.MGNL_NEXUS_PASS}}
# Install xmllint
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install libxml2-utils
Expand Down
2 changes: 1 addition & 1 deletion blossom-reference-generator/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>com.namics.oss.magnolia</groupId>
<artifactId>magnolia-handlebars-renderer-parent</artifactId>
<version>0.0.12</version>
<version>0.0.13-SNAPSHOT</version>
</parent>

<artifactId>magnolia-handlebars-blossom-reference-generator</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion blossom/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>com.namics.oss.magnolia</groupId>
<artifactId>magnolia-handlebars-renderer-parent</artifactId>
<version>0.0.12</version>
<version>0.0.13-SNAPSHOT</version>
</parent>

<artifactId>magnolia-handlebars-renderer-blossom</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion light-development/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>com.namics.oss.magnolia</groupId>
<artifactId>magnolia-handlebars-renderer-parent</artifactId>
<version>0.0.12</version>
<version>0.0.13-SNAPSHOT</version>
</parent>

<artifactId>magnolia-handlebars-renderer</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import info.magnolia.templating.module.TemplatingModule;
import org.apache.commons.lang3.StringUtils;

import javax.annotation.Nullable;
import javax.inject.Inject;
import javax.inject.Provider;
import javax.jcr.*;
Expand Down Expand Up @@ -67,27 +68,32 @@ public Optional<CharSequence> applySafe(final Object ignored, final Options opti
final Node templateNode = Optional.ofNullable((Node)options.hash("templateNode")).orElseGet(model::getNode);

final AreaDefinition areaDefinition = getAreaDefinition(area, templateNode);
final Node areaNode = getOrCreateAreaNode(area, templateNode, areaDefinition);
final String workspace = areaNode.getSession().getWorkspace().getName();
final String nodeIdentifier = areaNode.getIdentifier();
final String path = areaNode.getPath();

//Magnolia's AreaElement.begin calls render with empty HashMap --> use ContextObjectsRenderingEngineWrapper
final AreaElement areaElement = Components.getComponentProvider().newInstance(
CustomAvailableComponentsAreaElement.class,
new ContextObjectsRenderingEngineWrapper(renderingEngine, options.hash)
);
areaElement.setContent(areaNode);
areaElement.setWorkspace(workspace);
areaElement.setNodeIdentifier(nodeIdentifier);
areaElement.setPath(path);
areaElement.setArea(areaDefinition);
areaElement.setName(name);
areaElement.setContextAttributes(options.hash);

areaElement.setEditable(editable);
@Nullable
final Node areaNode = getOrCreateAreaNode(area, templateNode, areaDefinition).orElse(null);
if(areaNode != null) {
final String workspace = areaNode.getSession().getWorkspace().getName();
final String nodeIdentifier = areaNode.getIdentifier();
final String path = areaNode.getPath();

//Magnolia's AreaElement.begin calls render with empty HashMap --> use ContextObjectsRenderingEngineWrapper
final AreaElement areaElement = Components.getComponentProvider().newInstance(
CustomAvailableComponentsAreaElement.class,
new ContextObjectsRenderingEngineWrapper(renderingEngine, options.hash)
);
areaElement.setContent(areaNode);
areaElement.setWorkspace(workspace);
areaElement.setNodeIdentifier(nodeIdentifier);
areaElement.setPath(path);
areaElement.setArea(areaDefinition);
areaElement.setName(name);
areaElement.setContextAttributes(options.hash);

areaElement.setEditable(editable);

return Optional.of(render(areaElement));
return Optional.of(render(areaElement));
}
return Optional.empty();
}

@SuppressWarnings("rawtypes")
Expand Down Expand Up @@ -136,16 +142,14 @@ private Optional<AreaDefinition> getAreaDefinition(final String name, final Map<
.findFirst();
}

private Node getOrCreateAreaNode(final String name, final Node node, final AreaDefinition areaDefinition) throws RenderException {
private Optional<Node> getOrCreateAreaNode(final String name, final Node node, final AreaDefinition areaDefinition) throws RenderException {
try {
if(Boolean.FALSE.equals(areaDefinition.getCreateAreaNode())) {
return node;
return Optional.of(node);
}
return node.getNode(name);
return Optional.of(node.getNode(name));
} catch (PathNotFoundException e) {
return createAreaNode(name, node, areaDefinition).orElseThrow(() ->
new RenderException("Couldn't create area node " + name + " " + NodeUtil.getPathIfPossible(node))
);
return createAreaNode(name, node, areaDefinition);
} catch (RepositoryException e) {
throw Exceptions.sneak().handle(e);
}
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<groupId>com.namics.oss.magnolia</groupId>
<artifactId>magnolia-handlebars-renderer-parent</artifactId>
<version>0.0.12</version>
<version>0.0.13-SNAPSHOT</version>
<packaging>pom</packaging>

<name>${project.artifactId}</name>
Expand Down

0 comments on commit af911f6

Please sign in to comment.