1 19 20 package org.netbeans.modules.j2ee.ejbcore.ui.logicalview.ejb.entity; 21 22 import javax.swing.Action ; 23 import org.netbeans.modules.j2ee.dd.api.ejb.EjbJar; 24 import org.openide.actions.*; 25 import org.openide.cookies.OpenCookie; 26 import org.openide.loaders.DataObject; 27 import org.openide.nodes.*; 28 import org.openide.util.actions.SystemAction; 29 import org.netbeans.modules.j2ee.dd.api.ejb.Entity; 30 import org.netbeans.modules.j2ee.ejbcore.ui.logicalview.ejb.action.AddCmpFieldAction; 31 import org.netbeans.modules.j2ee.ejbcore.api.methodcontroller.EntityMethodController; 32 import org.netbeans.modules.j2ee.common.DDEditorNavigator; 33 import org.openide.ErrorManager; 34 import org.openide.filesystems.FileObject; 35 import org.openide.loaders.DataObjectNotFoundException; 36 import org.openide.util.lookup.AbstractLookup; 37 import org.openide.util.lookup.InstanceContent; 38 39 40 44 public class CMPFieldsNode extends AbstractNode implements OpenCookie { 45 private final EntityMethodController controller; 46 private final EjbJar ejbJar; 47 private final FileObject ddFile; 48 private Entity entity; 49 50 public CMPFieldsNode(EntityMethodController controller, Entity model, EjbJar jar, FileObject ddFile) { 51 this(new InstanceContent(), controller, model, jar, ddFile); 52 } 53 54 private CMPFieldsNode(InstanceContent content, EntityMethodController controller, Entity model, EjbJar jar, FileObject ddFile) { 55 super(new CMFieldChildren(controller, model, jar, ddFile), new AbstractLookup(content)); 56 entity = model; 57 this.controller = controller; 58 this.ejbJar = jar; 59 this.ddFile = ddFile; 60 content.add(this); 61 } 66 67 public Action [] getActions(boolean context) { 68 return new SystemAction[] { 69 SystemAction.get(AddCmpFieldAction.class) 70 }; 71 } 72 73 public Action getPreferredAction() { 74 return SystemAction.get(OpenAction.class); 75 } 76 77 public void open() { 78 try { 79 DataObject ddFileDO = DataObject.find(ddFile); 80 Object cookie = ddFileDO.getCookie(DDEditorNavigator.class); 81 if (cookie != null) { 82 ((DDEditorNavigator) cookie).showElement(entity.getCmpField()); 83 } 84 } catch (DataObjectNotFoundException donf) { 85 ErrorManager.getDefault().notify(donf); 86 } 87 } 88 } 89 | Popular Tags |