1 19 20 package org.openharmonise.dav.server.property.ranges; 21 22 import org.openharmonise.commons.dsi.*; 23 import org.openharmonise.commons.xml.*; 24 import org.openharmonise.commons.xml.namespace.*; 25 import org.openharmonise.rm.resources.metadata.properties.ranges.*; 26 import org.w3c.dom.Document ; 27 import org.w3c.dom.Element ; 28 29 import com.ibm.webdav.WebDAVException; 30 31 39 public class DAVFloatRange extends DAVRange { 40 41 44 public DAVFloatRange(AbstractDataStoreInterface dsi) { 45 super(dsi,new FloatRange()); 46 47 } 48 49 53 public DAVFloatRange(AbstractDataStoreInterface dsi, Range range) { 54 super(dsi, range); 55 56 } 57 58 62 public DAVFloatRange(AbstractDataStoreInterface dsi, Element davPropEl) throws WebDAVException { 63 super(dsi,new FloatRange(), davPropEl); 64 } 65 66 67 70 protected void addRangeDetails(Element rangeEl, Range range, Document doc) 71 throws WebDAVException { 72 Element restrEl = 73 doc.createElementNS( 74 NamespaceType.XML_SCHEMA.getURI(), 75 TAG_RESTRICTION); 76 restrEl.setPrefix(NamespaceType.XML_SCHEMA.getPrefix()); 77 78 String sType = null; 79 sType = TYPE_FLOAT; 80 81 restrEl.setAttributeNS(NamespaceType.XML_SCHEMA.getURI(), ATTRIB_PREFIXED_BASE, sType); 82 83 84 restrEl.setAttribute("xmlns:" + NamespaceType.XML_SCHEMA.getPrefix(), NamespaceType.XML_SCHEMA.getURI()); 85 86 FloatRange floatRange = (FloatRange) range; 87 88 if (floatRange.hasMin() == true) { 89 String sTag = TAG_MININCLUSIVE; 90 if (floatRange.isMinExclusive() == true) { 91 sTag = TAG_MINEXCLUSIVE; 92 } 93 94 Element minEl = 95 doc.createElementNS( 96 NamespaceType.XML_SCHEMA.getURI(), 97 sTag); 98 minEl.setPrefix(NamespaceType.XML_SCHEMA.getPrefix()); 99 minEl.appendChild( 100 doc.createTextNode(String.valueOf(floatRange.getMin()))); 101 102 restrEl.appendChild(minEl); 103 } 104 105 if (floatRange.hasMax() == true) { 106 String sTag = TAG_MAXINCLUSIVE; 107 if (floatRange.isMaxExclusive() == true) { 108 sTag = TAG_MAXEXCLUSIVE; 109 } 110 111 Element maxEl = 112 doc.createElementNS( 113 NamespaceType.XML_SCHEMA.getURI(), 114 sTag); 115 maxEl.setPrefix(NamespaceType.XML_SCHEMA.getPrefix()); 116 maxEl.appendChild( 117 doc.createTextNode(String.valueOf(floatRange.getMax()))); 118 restrEl.appendChild(maxEl); 119 } 120 121 restrEl.setAttributeNS(NamespaceType.XML_SCHEMA.getURI(), ATTRIB_PREFIXED_BASE, sType); 122 123 restrEl.setAttribute("xmlns:" + NamespaceType.XML_SCHEMA.getPrefix(), NamespaceType.XML_SCHEMA.getURI()); 124 125 126 rangeEl.appendChild(restrEl); 127 128 rangeEl.appendChild(restrEl); 129 } 130 131 132 135 public void populate(Element propEl) throws WebDAVException { 136 FloatRange range = (FloatRange) m_range; 137 138 Element restrEl = XMLUtils.getFirstNamedChild(propEl, TAG_RESTRICTION); 139 140 Element maxEl = XMLUtils.getFirstNamedChild(restrEl,TAG_MAXEXCLUSIVE); 141 142 if(maxEl != null) { 143 String sVal = maxEl.getChildNodes().item(0).getNodeValue(); 144 range.setMax(Float.parseFloat(sVal),true); 145 } 146 147 maxEl = XMLUtils.getFirstNamedChild(restrEl,TAG_MAXINCLUSIVE); 148 149 if(maxEl != null) { 150 String sVal = maxEl.getChildNodes().item(0).getNodeValue(); 151 range.setMax(Float.parseFloat(sVal),false); 152 } 153 154 Element minEl = XMLUtils.getFirstNamedChild(restrEl,TAG_MINEXCLUSIVE); 155 156 if(minEl != null) { 157 String sVal = minEl.getChildNodes().item(0).getNodeValue(); 158 range.setMin(Float.parseFloat(sVal),true); 159 } 160 161 minEl = XMLUtils.getFirstNamedChild(restrEl,TAG_MININCLUSIVE); 162 163 if(minEl != null) { 164 String sVal = minEl.getChildNodes().item(0).getNodeValue(); 165 range.setMin(Float.parseFloat(sVal),false); 166 } 167 168 } 169 170 } 171 | Popular Tags |