1 19 20 package org.netbeans.modules.xml.wsdl.ui.view.treeeditor.extension.bpel; 21 22 23 import java.util.Arrays ; 24 import java.util.Collection ; 25 26 import javax.xml.namespace.QName ; 27 28 import org.netbeans.modules.xml.wsdl.model.ExtensibilityElement; 29 import org.netbeans.modules.xml.wsdl.model.PortType; 30 import org.netbeans.modules.xml.wsdl.model.extensions.bpel.BPELQName; 31 import org.netbeans.modules.xml.wsdl.ui.api.property.ExtensibilityElementPropertyAdapter; 32 import org.netbeans.modules.xml.wsdl.ui.api.property.PortTypeAttributeProperty; 33 import org.netbeans.modules.xml.wsdl.ui.netbeans.module.Utility; 34 import org.netbeans.modules.xml.wsdl.ui.spi.ExtensibilityElementConfigurator; 35 import org.openide.ErrorManager; 36 import org.openide.nodes.Node; 37 import org.openide.nodes.Node.Property; 38 import org.openide.util.NbBundle; 39 40 public class PartnerLinkTypeRoleConfigurator extends 41 ExtensibilityElementConfigurator { 42 43 private static QName myQName = BPELQName.ROLE.getQName(); 44 45 private static QName [] supportedQNames = {myQName}; 46 47 @Override 48 public Collection <QName > getSupportedQNames() { 49 return Arrays.asList(supportedQNames); 50 } 51 52 @Override 53 public Property getProperty(ExtensibilityElement extensibilityElement, 54 QName qname, String attributeName) { 55 if (myQName.equals(qname)) { 56 if ("portType".equals(attributeName)) { 57 ExtensibilityElementPropertyAdapter adapter = new ExtensibilityElementPropertyAdapter(extensibilityElement, attributeName); 58 try { 59 Node.Property attrValueProperty = new PortTypeAttributeProperty(adapter, String .class, "getValue", "setValue"); 60 attrValueProperty.setName(NbBundle.getMessage(PartnerLinkTypeRoleConfigurator.class, "PROPERTY_NAME_PORTTYPE")); 61 return attrValueProperty; 62 } catch (NoSuchMethodException e) { 63 ErrorManager.getDefault().notify(e); 64 } 65 } 66 } 67 return null; 68 } 69 70 @Override 71 public String getDisplayAttributeName(ExtensibilityElement extensibilityElement, QName qname) { 72 return "name"; } 74 75 76 @Override 77 public String getAttributeUniqueValuePrefix(ExtensibilityElement extensibilityElement, QName qname, String attributeName) { 78 if (attributeName.equals("name")) { 80 return NbBundle.getMessage(PartnerLinkTypeRoleConfigurator.class, "PARTNERLINKTYPEROLE_NAME_PREFIX"); 81 } 82 return null; 83 } 84 85 @Override 86 public String getDefaultValue(ExtensibilityElement extensibilityElement, QName qname, String attributeName) { 87 return null; 89 } 90 91 @Override 92 public String getTypeDisplayName(ExtensibilityElement extensibilityElement, QName qname) { 93 return NbBundle.getMessage(PartnerLinkTypeRoleConfigurator.class, "LBL_PartnerLinkTypeRole_TypeDisplayName"); 94 } 95 96 @Override 97 public String getHtmlDisplayNameDecoration (ExtensibilityElement extensibilityElement, QName qname) { 98 String portType = extensibilityElement.getAttribute("portType"); 99 if (portType == null || portType.trim().length() == 0) { 100 return NbBundle.getMessage(PartnerLinkTypeRoleConfigurator.class, "LBL_PortTypeNotSet"); 101 } 102 String [] splits = portType.split(":"); 103 if (splits.length == 2) { 104 String ns = Utility.getNamespaceURI(splits[0], extensibilityElement); 105 PortType portTypeObj = extensibilityElement.getModel().findComponentByName(new QName (ns, splits[1]), PortType.class); 106 if (portTypeObj != null) { 107 return NbBundle.getMessage(PartnerLinkTypeRoleConfigurator.class, "LBL_PortTypeDecorator", 108 Utility.getNameAndDropPrefixIfInCurrentModel(ns, portTypeObj.getName(), extensibilityElement.getModel())); 109 } 110 } 111 return NbBundle.getMessage(PartnerLinkTypeRoleConfigurator.class, "LBL_PortTypeDecorator", portType); 112 } 113 114 } 115 | Popular Tags |