KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xml > wsdl > ui > wizard > PartnerLinkTypeGenerator


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-2007 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.xml.wsdl.ui.wizard;
21
22 import javax.xml.namespace.QName JavaDoc;
23
24 import org.netbeans.modules.xml.wsdl.model.ExtensibilityElement;
25 import org.netbeans.modules.xml.wsdl.model.PortType;
26 import org.netbeans.modules.xml.wsdl.model.WSDLModel;
27 import org.netbeans.modules.xml.wsdl.model.extensions.bpel.BPELQName;
28 import org.netbeans.modules.xml.wsdl.ui.actions.NameGenerator;
29 import org.netbeans.modules.xml.xam.dom.AbstractDocumentComponent;
30
31 /**
32  *
33  * @author radval
34  */

35 public class PartnerLinkTypeGenerator implements Command {
36     
37     private PortType mPortType;
38     
39     private WSDLModel mModel;
40     
41     private ExtensibilityElement mPartnerLinkTypeElement = null;
42             
43     private static final QName JavaDoc partnerLinkTypeQName = BPELQName.PARTNER_LINK_TYPE.getQName();
44     private static final QName JavaDoc partnerLinkTypeRoleQName = BPELQName.ROLE.getQName();
45             
46     /** Creates a new instance of PartnerLinkTypeGenerator */
47     public PartnerLinkTypeGenerator(PortType portType, WSDLModel model) {
48         this.mPortType = portType;
49         this.mModel = model;
50     }
51     
52     public ExtensibilityElement getPartnerLinkType() {
53         return mPartnerLinkTypeElement;
54     }
55     
56     public void execute() {
57         String JavaDoc portTypeName = this.mPortType.getName();
58         String JavaDoc wsdlDefinitionName = this.mModel.getDefinitions().getName();
59         
60         if(portTypeName != null && wsdlDefinitionName != null) {
61             String JavaDoc portTypeNamespace = this.mPortType.getModel().getDefinitions().getTargetNamespace();
62             if(portTypeNamespace != null) {
63                 String JavaDoc prefix = ((AbstractDocumentComponent) this.mModel.getDefinitions()).lookupPrefix(portTypeNamespace);
64                 if(prefix != null) {
65                     ExtensibilityElement partnerLinkType = (ExtensibilityElement) this.mModel.getFactory().create(this.mModel.getDefinitions(), partnerLinkTypeQName);
66                     ExtensibilityElement partnerLinkTypeRole = (ExtensibilityElement) this.mModel.getFactory().create(partnerLinkType, partnerLinkTypeRoleQName);
67                     partnerLinkType.addExtensibilityElement(partnerLinkTypeRole);
68                     
69                     String JavaDoc partnerLinkTypeName = NameGenerator.getInstance().generateUniquePartnerLinkType(wsdlDefinitionName, partnerLinkTypeQName, this.mModel);
70                     if(partnerLinkTypeName != null) {
71                         partnerLinkType.setAttribute("name", partnerLinkTypeName); //NOI18N
72
partnerLinkTypeRole.setAttribute("name", portTypeName + "Role"); //NOI18N
73
partnerLinkTypeRole.setAttribute("portType", prefix + ":" + portTypeName); //NOI18N
74
mPartnerLinkTypeElement = partnerLinkType;
75                     }
76                 }
77             }
78         }
79         
80         
81     }
82     
83     
84     
85 }
86
Popular Tags