1 19 20 26 package org.netbeans.modules.xml.wsdl.ui.extensibility.model.impl; 27 28 import java.util.Collection ; 29 import java.util.Iterator ; 30 import java.util.logging.Logger ; 31 32 import org.netbeans.modules.xml.schema.model.GlobalElement; 33 import org.netbeans.modules.xml.schema.model.Schema; 34 import org.netbeans.modules.xml.wsdl.ui.common.Constants; 35 import org.netbeans.modules.xml.wsdl.ui.extensibility.model.WSDLExtensibilityElementInfo; 36 import org.netbeans.modules.xml.wsdl.ui.extensibility.model.XMLSchemaFileInfo; 37 import org.openide.loaders.DataFolder; 38 import org.openide.loaders.DataObject; 39 40 41 47 public class WSDLExtensibilityElementInfoImpl implements WSDLExtensibilityElementInfo { 48 49 private static final Logger mLogger = Logger.getLogger(WSDLExtensibilityElementInfoImpl.class.getName()); 50 51 private DataObject mDataObject; 52 53 private Schema mSchema; 54 55 private XMLSchemaFileInfo mSchemaFileInfo = null; 56 57 public WSDLExtensibilityElementInfoImpl(DataObject dataObject, XMLSchemaFileInfo schemaFileInfo) { 58 this.mDataObject = dataObject; 59 if ((dataObject instanceof DataFolder) && dataObject.getPrimaryFile().hasExt(Constants.XSD_EXT)) { 60 this.mSchema = ExtensibilityUtils.readSchema(dataObject); 61 } 62 this.mSchemaFileInfo = schemaFileInfo; 63 } 64 65 public String getElementName() { 66 Object val = mDataObject.getPrimaryFile().getAttribute(Constants.ELEMENT); 67 if(val instanceof String ) { 68 return (String ) val; 69 } 70 71 return null; 72 } 73 74 public GlobalElement getElement() { 75 String name = getElementName(); 76 if(name != null && getSchema() != null) { 77 Collection elements = getSchema().getElements(); 78 Iterator iter = elements.iterator(); 79 while (iter.hasNext()) { 80 GlobalElement elem = (GlobalElement) iter.next(); 81 if (elem.getName().equals(name)) { 82 return elem; 83 } 84 } 85 } 86 87 return null; 88 } 89 90 public DataObject getDataObject() { 91 return mDataObject; 92 } 93 94 public Schema getSchema() { 95 if(mSchema != null) { 96 return mSchema; 97 } else if(mSchemaFileInfo != null) { 98 return mSchemaFileInfo.getSchema(); 99 } 100 101 return null; 102 } 103 104 public String getPrefix() { 105 Object val = mDataObject.getPrimaryFile().getAttribute(Constants.PREFIX); 106 if(val instanceof String ) { 107 return (String ) val; 108 } else if(mSchemaFileInfo != null) { 109 return mSchemaFileInfo.getPrefix(); 110 } 111 112 return null; 113 } 114 115 } 116 | Popular Tags |