public JSPTranslationUtil(IDocument document) {
fDocument = document;
}
public TextEdit translateTextEdit(TextEdit textEdit) {
TextEdit translatedTextEdit = null;
int javaOffset = textEdit.getOffset();
int jspOffset = getTranslation().getJspOffset(textEdit.getOffset());
int length = textEdit.getLength();
if (textEdit instanceof MultiTextEdit) {
translatedTextEdit = new MultiTextEdit();
TextEdit[] children = ((MultiTextEdit) textEdit).getChildren();
for (int i = 0; i < children.length; i++) {
TextEdit translatedChildTextEdit = translateTextEdit(children[i]);
if (translatedChildTextEdit != null)
((MultiTextEdit) translatedTextEdit).addChild(translatedChildTextEdit);
}
}
else if (textEdit instanceof ReplaceEdit) {
if (jspOffset == -1)
return null;
if (!getTranslation().javaSpansMultipleJspPartitions(javaOffset, length))
translatedTextEdit = new ReplaceEdit(jspOffset, length, ((ReplaceEdit) textEdit).getText());
}
else if (textEdit instanceof InsertEdit) {
translatedTextEdit = new InsertEdit(jspOffset, ((InsertEdit) textEdit).getText());
}
else if (textEdit instanceof DeleteEdit) {
translatedTextEdit = new DeleteEdit(jspOffset, length);
TextEdit[] children = ((DeleteEdit) textEdit).getChildren();
for (int i = 0; i < children.length; i++) {
TextEdit translatedChildTextEdit = translateTextEdit(children[i]);
if (translatedChildTextEdit != null)
((DeleteEdit) translatedTextEdit).addChild(translatedChildTextEdit);
}
}
else if (textEdit instanceof CopySourceEdit) {