protected int getPackageLine(IHeader header, ManifestElement element) { String packageName = element.getValue(); if (element.getDirectiveKeys() != null || element.getKeys() != null) return getLine(header, packageName + ";"); //$NON-NLS-1$ // check for this exact package on the last line try { IRegion lineRegion = fTextDocument.getLineInformation(header.getLineNumber() + header.getLinesSpan() - 1); String lineStr = fTextDocument.get(lineRegion.getOffset(), lineRegion.getLength()); if (lineStr.endsWith(packageName)) { return header.getLineNumber() + header.getLinesSpan(); } } catch (BadLocationException ble) { PDECore.logException(ble); } // search all except last line return getLine(header, packageName + ","); //$NON-NLS-1$ }
protected int getPackageLine(IHeader header, ManifestElement element) { String packageName = element.getValue(); if (element.getDirectiveKeys() != null || element.getKeys() != null) return getLine(header, packageName + ";"); //$NON-NLS-1$ // check for this exact package on the last line try { IRegion lineRegion = fTextDocument.getLineInformation(header .getLineNumber() + header.getLinesSpan() - 1); String lineStr = fTextDocument.get(lineRegion.getOffset(), lineRegion.getLength()); if (lineStr.endsWith(packageName)) { return header.getLineNumber() + header.getLinesSpan(); } } catch (BadLocationException ble) { PDECore.logException(ble); } // search all except last line return getLine(header, packageName + ","); //$NON-NLS-1$ }
protected int getLine(IHeader header, String valueSubstring) { for (int l = header.getLineNumber(); l < header.getLineNumber() + header.getLinesSpan(); l++) { try { IRegion lineRegion = fTextDocument.getLineInformation(l); String lineStr = fTextDocument.get(lineRegion.getOffset(), lineRegion.getLength()); if (lineStr.indexOf(valueSubstring) >= 0) { return l + 1; } } catch (BadLocationException ble) { PDECore.logException(ble); } } // it might span mutliple lines, try a longer algorithm try { IRegion lineRegion = fTextDocument.getLineInformation(header.getLineNumber()); String lineStr = fTextDocument.get(lineRegion.getOffset(), lineRegion.getLength()); for (int l = header.getLineNumber() + 1; l < header.getLineNumber() + header.getLinesSpan(); l++) { lineRegion = fTextDocument.getLineInformation(l); lineStr += fTextDocument.get(lineRegion.getOffset() + 1/* the space */, lineRegion.getLength()); if (lineStr.indexOf(valueSubstring) >= 0) { return l; } } } catch (BadLocationException ble) { PDECore.logException(ble); } return header.getLineNumber() + 1; }
protected int getLine(IHeader header, String valueSubstring) { for (int l = header.getLineNumber(); l < header.getLineNumber() + header.getLinesSpan(); l++) { try { IRegion lineRegion = fTextDocument.getLineInformation(l); String lineStr = fTextDocument.get(lineRegion.getOffset(), lineRegion.getLength()); for (int l = header.getLineNumber() + 1; l < header.getLineNumber() + header.getLinesSpan(); l++) { lineRegion = fTextDocument.getLineInformation(l); lineStr += fTextDocument.get(