Newer
Older
AlgebraicDataflowArchitectureModel / AlgebraicDataflowArchitectureModel / src / application / actions / NewResourceAction.java
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);
    	}
    }
}