KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > websvc > core > jaxws > nodes > OperationEditorDrop


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.websvc.core.jaxws.nodes;
21
22 import javax.swing.text.JTextComponent JavaDoc;
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 /** Implementation of ActiveEditorDrop
34  *
35  * @author mkuchtiak
36  */

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 JavaDoc targetComponent) {
46         Object JavaDoc mimeType = targetComponent.getDocument().getProperty("mimeType"); //NOI18N
47
if (mimeType!=null && ("text/x-java".equals(mimeType) || "text/x-jsp".equals(mimeType) )) { //NOI18N
48

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 JavaDoc ex) {
61                 ErrorManager.getDefault().log(ex.getLocalizedMessage());
62             }
63         }
64         return false;
65     }
66     
67 }
Popular Tags