package application.actions;
import application.editor.Editor;
import models.dataConstraintModel.ResourcePath;
import models.dataFlowModel.ResourceNode;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.util.List;
public class NewResourceAction extends AbstractEditorAction {
private static final long serialVersionUID = -4439207504700741286L;
public NewResourceAction(Editor editor) {
super("Resource...", editor);
}
@Override
public void actionPerformed(ActionEvent e) {
List<ResourceNode> selectedResNodes = editor.getSelectedResourceNodes();
String initialName = "";
if (selectedResNodes != null && selectedResNodes.size() == 1) {
initialName = selectedResNodes.get(0).getPrimaryResourcePath().toString();
}
String resName = JOptionPane.showInputDialog("Resource Name:", initialName);
if (resName == null) {
return;
}
if (selectedResNodes == null || selectedResNodes.size() == 0) {
editor.addResourceNode(null, resName);
} else if (selectedResNodes.size() == 1) {
if (initialName.length() > 0 && resName.startsWith(initialName)) {
resName = resName.substring(initialName.length());
if (resName.startsWith(".")) {
resName = resName.substring(1);
}
}
editor.addResourceNode(selectedResNodes.get(0), resName);
}
}
}