1 19 20 package org.netbeans.modules.xml.wsdl.ui.view.property; 21 22 import javax.xml.namespace.QName ; 23 24 import org.netbeans.modules.xml.wsdl.model.Message; 25 import org.netbeans.modules.xml.wsdl.model.Operation; 26 import org.netbeans.modules.xml.wsdl.model.OperationParameter; 27 import org.netbeans.modules.xml.wsdl.model.WSDLComponent; 28 import org.netbeans.modules.xml.wsdl.ui.commands.ConstraintNamedPropertyAdapter; 29 import org.netbeans.modules.xml.wsdl.ui.commands.NamedPropertyAdapter; 30 import org.netbeans.modules.xml.wsdl.ui.netbeans.module.Utility; 31 import org.netbeans.modules.xml.xam.dom.NamedComponentReference; 32 import org.openide.ErrorManager; 33 34 39 public class OperationInputOutputFaultPropertyAdapter extends ConstraintNamedPropertyAdapter implements NamedPropertyAdapter { 40 41 private OperationParameter mOParameter; 42 43 public OperationInputOutputFaultPropertyAdapter(WSDLComponent wsdlComponent) { 44 super(wsdlComponent); 45 this.mOParameter = (OperationParameter) wsdlComponent; 46 } 47 48 public String getMessage() { 49 NamedComponentReference message = mOParameter.getMessage(); 50 if(message == null) { 51 return ""; 52 } 53 QName messageQName = message.getQName(); 54 return Utility.fromQNameToString(messageQName); 55 } 56 57 public void setMessage(String message) { 58 if(message != null) { 59 try { 60 org.netbeans.modules.xml.wsdl.ui.common.QName messageQName = org.netbeans.modules.xml.wsdl.ui.common.QName.getQNameFromString(message); 61 if(messageQName == null) { 62 mOParameter.getModel().startTransaction(); 63 mOParameter.setMessage(null); 64 mOParameter.getModel().endTransaction(); 65 } else { 66 67 String ns = messageQName.getNamespaceURI(); 68 String prefix = messageQName.getPrefix(); 69 if(ns == null || ns.trim().equals("")) { 70 ns = Utility.getNamespaceURI(prefix, mOParameter.getModel()); 71 } 72 73 QName qname = null; 74 if (ns != null) { 75 qname = new QName (ns, messageQName.getLocalName()); 76 } 77 78 if(qname != null) { 79 Message msg = mOParameter.getModel().findComponentByName(qname, Message.class); 80 if (msg == null) { 81 ErrorManager.getDefault().notify(ErrorManager.ERROR, new Exception ("Not a valid type")); 82 } else { 83 mOParameter.getModel().startTransaction(); 84 mOParameter.setMessage(mOParameter.createReferenceTo(msg, Message.class)); 85 86 mOParameter.getModel().endTransaction(); 87 } 88 } 89 } 90 } catch (Exception e) { 91 ErrorManager.getDefault().notify(e); 92 } 93 } 94 } 95 96 @Override 97 public boolean isNameExists(String name) { 98 boolean exists = false; 99 Operation operation = (Operation) mOParameter.getParent(); 100 if (operation.getInput() != null) { 101 exists = operation.getInput().getName().equals(name); 102 } 103 104 if (operation.getOutput() != null) { 105 exists = operation.getOutput().getName().equals(name); 106 } 107 108 return exists; 109 } 110 111 } 112 | Popular Tags |