Changeset 11160
- Timestamp:
- 06/07/08 10:34:24 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Jav_BDP/com/scenari/m/bdp/facet/outline/leaf/FacetOutlineLeaf.java
r9979 r11160 39 39 package com.scenari.m.bdp.facet.outline.leaf; 40 40 41 import java.util.ArrayList; 41 42 import java.util.List; 43 import java.util.Properties; 44 45 import javax.xml.transform.OutputKeys; 42 46 43 47 import org.xml.sax.ContentHandler; … … 46 50 import com.scenari.m.bdp.facet.Facet; 47 51 import com.scenari.m.bdp.facet.outline.IFacetOutline; 52 import com.scenari.m.bdp.facet.outline.FacetOutline.SerializerMergeDoc; 53 import com.scenari.m.bdp.item.HQCode; 54 import com.scenari.m.bdp.item.IHItem; 48 55 import com.scenari.m.bdp.item.IHItemDef; 49 56 import com.scenari.m.bdp.itemtype.IHItemType; 50 57 import com.scenari.s.co.source.IHSource; 58 import com.scenari.s.co.source.externes.HSourceOneShot; 51 59 import com.scenari.s.co.transform.HTransformParams; 52 60 import com.scenari.s.fw.log.HLogMgr; 61 import com.scenari.s.fw.utils.HCharSeqUtil; 62 import com.scenari.s.fw.utils.stream.HBufferStream; 53 63 54 64 /** … … 74 84 */ 75 85 public IHSource getFacet(IHItemDef pItem, String pIdSubItem, HTransformParams pQueryString) throws Exception { 76 //HSource 77 return IHSource.NULL; 86 HBufferStream vBuf = new HBufferStream(); 87 88 String vDepthStr = pQueryString.hGetValueParam(IFacetOutline.PARAM_DEPTH); 89 int vDepth = -1; 90 if (vDepthStr != null && vDepthStr.length() > 0) vDepth = Integer.parseInt(vDepthStr); 91 92 Properties vProps = new Properties(); 93 vProps.put(OutputKeys.METHOD, "xml"); 94 vProps.put(OutputKeys.ENCODING, "UTF-8"); 95 SerializerMergeDoc vSer = new SerializerMergeDoc(); 96 vSer.init(vBuf, vProps); 97 98 List vStackCycleGuard = new ArrayList(); 99 vStackCycleGuard.add(pItem); 100 vStackCycleGuard.add(pIdSubItem); 101 102 AttributesImpl vAtts = new AttributesImpl(); 103 vSer.startDocument(); 104 vSer.startElement(IFacetOutline.OUTLINE_NS, "outline", "outline", vAtts); 105 vAtts.addAttribute("", "uri", "uri", "CDATA", HQCode.hGetUri(pItem.hGetSpace(), pItem.hGetCode(), null, pIdSubItem)); 106 String vSgn; 107 if (pIdSubItem != null && pIdSubItem.length() > 0) { 108 //En cas de subItem, on a besoin de l'item entier, pas seulement de l'itemDef (recherche de la signature) 109 IHItem vItem = (!(pItem instanceof IHItem)) ? pItem.hGetWorkspace().hGetItem(pItem.hGetId(), null) : (IHItem) pItem; 110 vSgn = vItem.hGetSubItemSgn(pIdSubItem); 111 } else { 112 vSgn = pItem.hGetSignature(); 113 } 114 if(vSgn!=null) vAtts.addAttribute("", "sgn", "sgn", "CDATA", vSgn); 115 vAtts.addAttribute("", "st", "st", "CDATA", HCharSeqUtil.hGetIntToString(pItem.hGetStatus())); 116 vSer.startElement(IFacetOutline.OUTLINE_NS, "item", "item", vAtts); 117 118 // 119 writeOutline(vSer, pItem, pIdSubItem, true, pQueryString, vDepth, vStackCycleGuard); 120 121 vSer.endElement(IFacetOutline.OUTLINE_NS, "item", "item"); 122 vSer.endElement(IFacetOutline.OUTLINE_NS, "outline", "outline"); 123 vSer.endDocument(); 124 vSer.flush(); 125 vSer.flushWriter(); 126 vBuf.close(); 127 128 return new HSourceOneShot(vBuf.hGetInputStream(true), vBuf.hGetLenght(), System.currentTimeMillis(), "text/xml"); 78 129 } 79 130
Note: See TracChangeset
for help on using the changeset viewer.