/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.jkan997.slingbeans.nbprojects.maven.actions; import org.jkan997.slingbeans.nbprojects.maven.LocalAbstractNode; import org.jkan997.slingbeans.nbprojects.maven.LocalSlingNode; import org.jkan997.slingbeans.nbprojects.maven.LocalSlingRootNode; import org.openide.nodes.Children; import org.openide.nodes.Node; /** * * @author jakaniew */ public abstract class AbstractAction extends org.jkan997.slingbeans.nbactions.AbstractAction { protected Node node; public LocalSlingRootNode getRootNode() { if (this.node instanceof LocalSlingRootNode) { return (LocalSlingRootNode) this.node; } else { LocalAbstractNode node = (LocalAbstractNode) this.node; while ((node = (LocalAbstractNode) node.getParentNode()) != null) { if (node instanceof LocalSlingRootNode) { return (LocalSlingRootNode) node; } } } return null; } public LocalSlingNode getLocalSlingNode() { if (this.node instanceof LocalSlingRootNode) { LocalSlingRootNode rootNode = (LocalSlingRootNode) this.node; Children rootNodeChildren = rootNode.getChildren(); if (rootNodeChildren.getNodesCount() > 0) { return (LocalSlingNode) rootNodeChildren.getNodeAt(0); } } else { return (LocalSlingNode) this.node; } return null; } }