/** * */ private boolean isOldNode(IStructuredDocumentRegion flatNode) { if (fOldStructuredDocumentRegions != null) { for (Enumeration e = fOldStructuredDocumentRegions.elements(); e.hasMoreElements();) { if (e.nextElement() == flatNode) { return true; } } } return false; }
this.context = new XMLModelContext(this.model.getDocument()); int newCount = (newStructuredDocumentRegions != null ? newStructuredDocumentRegions.getLength() : 0); int oldCount = (oldStructuredDocumentRegions != null ? oldStructuredDocumentRegions.getLength() : 0); setupContext(oldStructuredDocumentRegions.item(0)); Enumeration e = oldStructuredDocumentRegions.elements(); while (e.hasMoreElements()) { IStructuredDocumentRegion flatNode = (IStructuredDocumentRegion) e.nextElement(); if (newCount == 0) return; setupContext(newStructuredDocumentRegions.item(0)); Enumeration e = newStructuredDocumentRegions.elements(); while (e.hasMoreElements()) { IStructuredDocumentRegion flatNode = (IStructuredDocumentRegion) e.nextElement();
/** * Old Nodes: --[O1]--[O2]--[O3]--- : / \ Current Nodes: * ---[C1]-----[C2]-----[C3]-----[C4]--- * * Input: O* -> Output: C1 Input: Cn -> Output: Cn-1 */ public IStructuredDocumentRegion getPrevNodeInCurrent(IStructuredDocumentRegion node) { IStructuredDocumentRegion prevNode = null; if (isOldNode(node)) { IStructuredDocumentRegion oldStartNode = fOldStructuredDocumentRegionList.item(0); int newEnd = oldStartNode.getStart() - 1; prevNode = fStructuredDocument.getRegionAtCharacterOffset(newEnd); } else if (node != null) { prevNode = node.getPrevious(); } return prevNode; }
return; IStructuredDocumentRegionList flatNodes = structuredDocument.getRegionList(); if ((flatNodes == null) || (flatNodes.getLength() == 0)) { return;
/** * */ private void insertStructuredDocumentRegions(IStructuredDocumentRegionList regionList) { for (Enumeration e = regionList.elements(); e.hasMoreElements();) { IStructuredDocumentRegion region = (IStructuredDocumentRegion) e.nextElement(); if (region == null) { continue; } insertStructuredDocumentRegion(region); if (fCreationContext.isToReparse()) { int origStart = region.getEnd(); int origEnd = regionList.item(regionList.getLength() - 1).getEnd(); int newStart = fCreationContext.getReparseStart(); int newEnd = fCreationContext.getReparseEnd(); if (newStart < origStart || origEnd < newEnd) { IStructuredDocumentRegionList newNodeList = getStructuredDocumentRegionList(newStart, newEnd); setupCreationContext(newNodeList.item(0)); insertStructuredDocumentRegions(newNodeList); return; } else { fCreationContext.resetReparseRange(); } } } }
int length = 0; if (oldStructuredDocumentRegions != null) { int count = oldStructuredDocumentRegions.getLength(); if (count > 0) { IStructuredDocumentRegion first = oldStructuredDocumentRegions.item(0); if (first != null) offset = first.getStart(); IStructuredDocumentRegion last = oldStructuredDocumentRegions.item(count - 1); if (last != null) length = last.getEnd() - offset; int count = newStructuredDocumentRegions.getLength(); if (count > 0) { StringBuffer buffer = new StringBuffer(); for (int i = 0; i < count; i++) { IStructuredDocumentRegion flatNode = newStructuredDocumentRegions.item(i); if (flatNode == null) continue;
/** * */ public boolean isOldNode(IStructuredDocumentRegion node) { boolean bOld = false; if (fOldStructuredDocumentRegionList != null) { Enumeration e = fOldStructuredDocumentRegionList.elements(); while (e.hasMoreElements()) { if (e.nextElement() == node) { bOld = true; break; } } } return bOld; } }
/** * Old Nodes: --[O1]--[O2]--[O3]--- : / \ Current Nodes: * ---[C1]-----[C2]-----[C3]-----[C4]--- * * Input: O* -> Output: C4 Input: Cn -> Output: Cn+1 */ public IStructuredDocumentRegion getNextNodeInCurrent(IStructuredDocumentRegion node) { IStructuredDocumentRegion nextNode = null; if (isOldNode(node)) { IStructuredDocumentRegion oldEndNode = fOldStructuredDocumentRegionList.item(fOldStructuredDocumentRegionList.getLength() - 1); int newStart = oldEndNode.getEnd() - fLengthDifference; nextNode = fStructuredDocument.getRegionAtCharacterOffset(newStart); } else if (node != null) { nextNode = node.getNext(); } return nextNode; }
/** * */ public static int getTextLength(IStructuredDocumentRegionList nodes) { int length = 0; if (nodes != null) { for (Enumeration e = nodes.elements(); e.hasMoreElements();) { IStructuredDocumentRegion flatNode = (IStructuredDocumentRegion) e.nextElement(); if (flatNode != null) { length += flatNode.getText().length(); } } } return length; }
IStructuredDocumentRegion flatNode = null; fOldLength = CSSUtil.getTextLength(oldStructuredDocumentRegions); if (oldStructuredDocumentRegions != null && 0 < oldStructuredDocumentRegions.getLength() && (flatNode = oldStructuredDocumentRegions.item(0)) != null) { fOldStart = flatNode.getStart(); if (newStructuredDocumentRegions != null && 0 < newStructuredDocumentRegions.getLength() && (flatNode = newStructuredDocumentRegions.item(0)) != null) { fNewStart = flatNode.getStart(); fRemovedRangeBegin = fNewStart;
/** * */ private void removeStructuredDocumentRegions(IStructuredDocumentRegionList flatNodes) { for (Enumeration e = flatNodes.elements(); e.hasMoreElements();) { IStructuredDocumentRegion flatNode = (IStructuredDocumentRegion) e.nextElement(); if (flatNode == null) { continue; } removeStructuredDocumentRegion(flatNode); } Iterator i = fDeletionContext.getNodesToBeRemoved(); while (i.hasNext()) { CSSNodeImpl node = (CSSNodeImpl) i.next(); if (!(node instanceof CSSStructuredDocumentRegionContainer)) { continue; } CSSNodeImpl parent = (CSSNodeImpl) node.getParentNode(); if (!(parent instanceof CSSStructuredDocumentRegionContainer)) { continue; } shrinkContainer((CSSStructuredDocumentRegionContainer) parent, (CSSStructuredDocumentRegionContainer) node); parent.removeChild(node); } }
IStructuredDocumentRegionList flatNodes = structuredDocument.getRegionList(); if (flatNodes != null) { int count = flatNodes.getLength(); if (count > 0) { StringBuffer buffer = new StringBuffer(); for (int i = 0; i < count; i++) { IStructuredDocumentRegion flatNode = flatNodes.item(i); if (flatNode == null) continue;
CSSRuleImpl parentRule = null; for (Enumeration e = flatNodes.elements(); e.hasMoreElements();) { IStructuredDocumentRegion flatNode = (IStructuredDocumentRegion) e.nextElement(); if (flatNode == null) {
this.nextNode = (NodeImpl) root.getFirstChild(); Enumeration e = oldStructuredDocumentRegions.elements(); while (e.hasMoreElements()) { IStructuredDocumentRegion flatNode = (IStructuredDocumentRegion) e.nextElement(); Enumeration e = newStructuredDocumentRegions.elements(); while (e.hasMoreElements()) { IStructuredDocumentRegion flatNode = (IStructuredDocumentRegion) e.nextElement();
if (oldStructuredDocumentRegions != null && 0 < oldStructuredDocumentRegions.getLength()) { setupDeletionContext(newStructuredDocumentRegions, oldStructuredDocumentRegions); short updateMode = fUpdateContext.getUpdateMode(); if (newStructuredDocumentRegions != null && 0 < newStructuredDocumentRegions.getLength()) { setupCreationContext(newStructuredDocumentRegions.item(0)); insertStructuredDocumentRegions(newStructuredDocumentRegions);