diff --git a/src/main/java/com/namics/oss/magnolia/appbuilder/action/add/AddAppActionDefinition.java b/src/main/java/com/namics/oss/magnolia/appbuilder/action/add/AddAppActionDefinition.java index 816d018..e817505 100644 --- a/src/main/java/com/namics/oss/magnolia/appbuilder/action/add/AddAppActionDefinition.java +++ b/src/main/java/com/namics/oss/magnolia/appbuilder/action/add/AddAppActionDefinition.java @@ -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, @@ -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); diff --git a/src/main/java/com/namics/oss/magnolia/appbuilder/action/add/CreateNodeAction.java b/src/main/java/com/namics/oss/magnolia/appbuilder/action/add/CreateNodeAction.java index 4bf3921..531c17c 100644 --- a/src/main/java/com/namics/oss/magnolia/appbuilder/action/add/CreateNodeAction.java +++ b/src/main/java/com/namics/oss/magnolia/appbuilder/action/add/CreateNodeAction.java @@ -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; @@ -18,7 +17,6 @@ public class CreateNodeAction extends CommitAction { private final CreateNodeActionDefinition definition; private final JcrDatasource jcrDatasource; - private final NodeNameHelper nodeNameHelper; @Inject public CreateNodeAction( @@ -27,12 +25,11 @@ public CreateNodeAction( final ValueContext 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 @@ -40,11 +37,8 @@ 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()); diff --git a/src/main/java/com/namics/oss/magnolia/appbuilder/action/add/CreateNodeActionDefinition.java b/src/main/java/com/namics/oss/magnolia/appbuilder/action/add/CreateNodeActionDefinition.java index c782eac..72c102c 100644 --- a/src/main/java/com/namics/oss/magnolia/appbuilder/action/add/CreateNodeActionDefinition.java +++ b/src/main/java/com/namics/oss/magnolia/appbuilder/action/add/CreateNodeActionDefinition.java @@ -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; - } }