1 19 20 package org.netbeans.modules.websvc.core.jaxws.nodes; 21 22 import javax.swing.text.JTextComponent ; 23 import org.netbeans.api.project.FileOwnerQuery; 24 import org.netbeans.api.project.Project; 25 import org.netbeans.modules.editor.NbEditorUtilities; 26 import org.netbeans.modules.websvc.core.JaxWsUtils; 27 import org.netbeans.modules.websvc.core.jaxws.actions.JaxWsCodeGenerator; 28 import org.openide.ErrorManager; 29 import org.openide.filesystems.FileObject; 30 import org.openide.nodes.Node; 31 import org.openide.text.ActiveEditorDrop; 32 33 37 public class OperationEditorDrop implements ActiveEditorDrop { 38 39 OperationNode operationNode; 40 41 public OperationEditorDrop(OperationNode operationNode) { 42 this.operationNode=operationNode; 43 } 44 45 public boolean handleTransfer(JTextComponent targetComponent) { 46 Object mimeType = targetComponent.getDocument().getProperty("mimeType"); if (mimeType!=null && ("text/x-java".equals(mimeType) || "text/x-jsp".equals(mimeType) )) { 49 try { 50 boolean enableDnD=false; 51 Node clientNode = operationNode.getParentNode().getParentNode().getParentNode(); 52 FileObject srcRoot = (FileObject)clientNode.getLookup().lookup(FileObject.class); 53 Project clientProject = FileOwnerQuery.getOwner(srcRoot); 54 Project targetProject = FileOwnerQuery.getOwner( 55 NbEditorUtilities.getFileObject(targetComponent.getDocument())); 56 if (JaxWsUtils.addProjectReference(clientProject, targetProject)) { 57 JaxWsCodeGenerator.insertMethod(targetComponent.getDocument(), targetComponent.getCaret().getDot(), operationNode); 58 return true; 59 } 60 } catch (Exception ex) { 61 ErrorManager.getDefault().log(ex.getLocalizedMessage()); 62 } 63 } 64 return false; 65 } 66 67 } | Popular Tags |