Skip to content

Commit

Permalink
Remove option to specify custom nodeNameProperty (only allow jcrName)
Browse files Browse the repository at this point in the history
  • Loading branch information
eschleb committed Mar 12, 2024
1 parent 14b84c1 commit 699ca76
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ public class AddAppActionDefinition implements AppActionDefinition {
private final String icon;
@Nullable
private final String label;
@Nullable
private final String nodeNameProperty;

public AddAppActionDefinition(
final String name,
Expand All @@ -41,28 +39,18 @@ public AddAppActionDefinition(
final String nodeType,
final String dialogId,
final String icon,
@Nullable final String label) {
this(name, nodeType, dialogId, icon, label, "jcrName");
}

public AddAppActionDefinition(
final String name,
final String nodeType,
final String dialogId,
final String icon,
@Nullable final String label,
@Nullable final String nodeNameProperty) {
@Nullable final String label
) {
this.name = name;
this.nodeType = nodeType;
this.dialogId = dialogId;
this.icon = icon;
this.label = label;
this.nodeNameProperty = nodeNameProperty;
}

@Override
public ConfiguredActionDefinition action() {
final CreateNodeActionDefinition commitAction = new CreateNodeActionDefinition(nodeType, nodeNameProperty);
final CreateNodeActionDefinition commitAction = new CreateNodeActionDefinition(nodeType);
final OpenCreateDialogActionDefinition definition = new OpenCreateDialogActionDefinition(commitAction);
definition.setName(name);
definition.setDialogId(dialogId);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.namics.oss.magnolia.appbuilder.action.add;

import com.machinezoo.noexception.Exceptions;
import info.magnolia.jcr.util.NodeNameHelper;
import info.magnolia.jcr.util.NodeUtil;
import info.magnolia.ui.CloseHandler;
import info.magnolia.ui.ValueContext;
Expand All @@ -18,7 +17,6 @@
public class CreateNodeAction extends CommitAction<Node> {
private final CreateNodeActionDefinition definition;
private final JcrDatasource jcrDatasource;
private final NodeNameHelper nodeNameHelper;

@Inject
public CreateNodeAction(
Expand All @@ -27,24 +25,20 @@ public CreateNodeAction(
final ValueContext<Node> valueContext,
final JcrDatasource jcrDatasource,
final CloseHandler closeHandler,
final NodeNameHelper nodeNameHelper,
final DatasourceObservation.Manual datasourceObservation) {
final DatasourceObservation.Manual datasourceObservation
) {
super(definition, closeHandler, valueContext, form, (Datasource) jcrDatasource, datasourceObservation);
this.definition = definition;
this.jcrDatasource = jcrDatasource;
this.nodeNameHelper = nodeNameHelper;
}

@Override
public void execute() {
if (validateForm()) {
Exceptions.wrap().run(() -> {
final Node parent = getValueContext().getSingle().orElseGet(jcrDatasource::getRoot);
final String nodeName = nodeNameHelper.getUniqueName(
parent,
getForm().getPropertyValue(definition.getNodeNameProperty()).map(String::valueOf).orElseThrow(() ->
new ActionExecutionException("Failed to get node name property " + definition.getNodeNameProperty() + " from form")
)
final String nodeName = getForm().getPropertyValue("jcrName").map(String::valueOf).orElseThrow(() ->
new ActionExecutionException("Failed to get 'jcrName' property from form - Make sure your dialog has a field named 'jcrName'!")
);

final Node node = NodeUtil.createPath(parent, nodeName, definition.getNodeType());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,13 @@

public class CreateNodeActionDefinition extends CommitActionDefinition {
private final String nodeType;
private final String nodeNameProperty;

public CreateNodeActionDefinition(final String nodeType, final String nodeNameProperty) {
public CreateNodeActionDefinition(final String nodeType) {
this.nodeType = nodeType;
this.nodeNameProperty = nodeNameProperty;
setImplementationClass(CreateNodeAction.class);
}

public String getNodeType() {
return nodeType;
}

public String getNodeNameProperty() {
return nodeNameProperty;
}
}

0 comments on commit 699ca76

Please sign in to comment.