Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Joy2013-11-20 20:10:26 +0000
committerMark Joy2013-11-20 22:54:30 +0000
commit7762efe9d8c949cf4f569b4847daa1a11a0a5f0a (patch)
tree680646c2447ee45c9af3ecc8c0cceccfa8af01d9 /plugins/org.eclipse.osee.framework.ui.skynet
parent33e7bf2d56ce398c5b64b82b389e4e87aee75ed1 (diff)
downloadorg.eclipse.osee-7762efe9d8c949cf4f569b4847daa1a11a0a5f0a.tar.gz
org.eclipse.osee-7762efe9d8c949cf4f569b4847daa1a11a0a5f0a.tar.xz
org.eclipse.osee-7762efe9d8c949cf4f569b4847daa1a11a0a5f0a.zip
bug[ats_8V73H]: Modified hyperlink references not shown in diff report
Change-Id: I5f210d3c35f7f4f3a5ee3fabf49fb3b5c12896d0 Signed-off-by: Mark Joy <mark.joy@boeing.com>
Diffstat (limited to 'plugins/org.eclipse.osee.framework.ui.skynet')
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/preferences/MsWordPreferencePage.java8
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/compare/AbstractWordCompare.java3
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/VbaWordDiffGenerator.java16
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/WordUiUtil.java4
4 files changed, 23 insertions, 8 deletions
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/preferences/MsWordPreferencePage.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/preferences/MsWordPreferencePage.java
index 65da2f5bb3b..827a8d6caf6 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/preferences/MsWordPreferencePage.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/preferences/MsWordPreferencePage.java
@@ -30,8 +30,11 @@ import org.eclipse.ui.IWorkbenchPreferencePage;
public class MsWordPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
public static final String IDENTFY_IMAGE_CHANGES = "IdentifyImageChangesInWordDiff";
public static final String MUTI_EDIT_SAVE_ALL_CHANGES = "multieditSaveAllChanges";
+ public static final String IGNORE_FIELD_CODE_CHANGES = "ignoreFieldCodeChanges";
+
private Button identifyImageChangesInWord;
private Button saveAllChanges;
+ private Button ignoreFieldCodes;
@Override
protected Control createContents(Composite parent) {
@@ -45,6 +48,10 @@ public class MsWordPreferencePage extends PreferencePage implements IWorkbenchPr
saveAllChanges.setText("When multi-editing, save all changed artifacts (even those with no textual changes)");
saveAllChanges.setSelection(getUserBooleanSetting(MUTI_EDIT_SAVE_ALL_CHANGES));
+ ignoreFieldCodes = new Button(parent, SWT.CHECK);
+ ignoreFieldCodes.setText("Ignore Field Codes when performing Word diff");
+ ignoreFieldCodes.setSelection(getUserBooleanSetting(IGNORE_FIELD_CODE_CHANGES));
+
return parent;
}
@@ -77,6 +84,7 @@ public class MsWordPreferencePage extends PreferencePage implements IWorkbenchPr
public boolean performOk() {
setUserBooleanSetting(IDENTFY_IMAGE_CHANGES, identifyImageChangesInWord);
setUserBooleanSetting(MUTI_EDIT_SAVE_ALL_CHANGES, saveAllChanges);
+ setUserBooleanSetting(IGNORE_FIELD_CODE_CHANGES, ignoreFieldCodes);
try {
UserManager.getUser().persist(getClass().getSimpleName());
} catch (OseeCoreException ex) {
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/compare/AbstractWordCompare.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/compare/AbstractWordCompare.java
index 46f3c1270ea..2868d475427 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/compare/AbstractWordCompare.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/compare/AbstractWordCompare.java
@@ -59,10 +59,11 @@ public abstract class AbstractWordCompare implements IComparator {
boolean show = !getRenderer().getBooleanOption(IRenderer.NO_DISPLAY);
boolean executeVbScript = System.getProperty("os.name").contains("Windows");
boolean skipErrors = !getRenderer().getBooleanOption(IRenderer.SKIP_ERRORS);
+ boolean diffFieldCodes = !UserManager.getBooleanSetting(MsWordPreferencePage.IGNORE_FIELD_CODE_CHANGES);
IVbaDiffGenerator diffGenerator =
WordUiUtil.createScriptGenerator(presentationType == PresentationType.MERGE, show,
- presentationType == PresentationType.MERGE, executeVbScript, skipErrors);
+ presentationType == PresentationType.MERGE, executeVbScript, skipErrors, diffFieldCodes);
return diffGenerator;
}
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/VbaWordDiffGenerator.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/VbaWordDiffGenerator.java
index dc8c1fee862..43ef7a2418d 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/VbaWordDiffGenerator.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/VbaWordDiffGenerator.java
@@ -39,16 +39,18 @@ public class VbaWordDiffGenerator implements IVbaDiffGenerator {
private static final String OSEE_WORD_DIFF_SLEEP_MS = "osee.word.diff.sleep.ms";
private final static String header_begin =
- "Option Explicit\n\nDim oWord\nDim baseDoc\nDim compareDoc\nDim authorName\nDim detectFormatChanges\nDim ver1\nDim ver2\ndim wdGranularityWordLevel\nDim wdCompareTargetSelectedDiff\nDim wdCompareTargetSelectedMerge\nDim wdFormattingFromCurrent\nDim wdFormatXML\nDim wdDoNotSaveChanges\nDim mainDoc\ndim newDoc\n\nPublic Sub main()\n ";
+ "Option Explicit\n\nDim oWord\nDim baseDoc\nDim compareDoc\nDim authorName\nDim detectFormatChanges\nDim ver1\nDim ver2\ndim wdGranularityWordLevel\nDim wdCompareTargetSelectedDiff\nDim wdCompareTargetSelectedMerge\nDim wdFormattingFromCurrent\nDim wdFormatXML\nDim wdDoNotSaveChanges\nDim wdFieldCodeChanges\nDim mainDoc\ndim newDoc\n\nPublic Sub main()\n ";
private final static String header_end =
"wdCompareTargetSelectedDiff = 2\n wdGranularityWordLevel = 1\n wdDoNotSaveChanges = 0\n wdFormattingFromCurrent = 3\n wdFormatXML = 11\n\n authorName = \"OSEE Doc compare\"\n set oWord = WScript.CreateObject(\"Word.Application\")\n oWord.Visible = False\n detectFormatChanges = ";
+ private final static String diff_field_codes = " wdFieldCodeChanges = ";
+
private static final String Skip_Errors = "On error resume next\n ";
private final static String comparisonCommand =
- // The true/false flags define what to compare: Formats, Case, Whitespace, Tables, Headers, Footers, TextBox, Field values, Comments
- " set newDoc = oWord.CompareDocuments (baseDoc, compareDoc, wdCompareTargetSelectedDiff, wdGranularityWordLevel, true, true, true, true, true, true, true, false, true, true, authorName) \n compareDoc.close \n newDoc.Activate\n set compareDoc = oWord.ActiveDocument\n\n";
+ // The true/false flags define what to compare: Formats, Case, Whitespace, Tables, Headers, Footers, TextBox, Field values (wdFieldCodeChanges), Comments
+ " set newDoc = oWord.CompareDocuments (baseDoc, compareDoc, wdCompareTargetSelectedDiff, wdGranularityWordLevel, true, true, true, true, true, true, true, wdFieldCodeChanges, true, true, authorName) \n compareDoc.close \n newDoc.Activate\n set compareDoc = oWord.ActiveDocument\n\n";
private final static String comparisonCommandFirst =
" set mainDoc = compareDoc\n baseDoc.close\n set baseDoc = Nothing\n";
@@ -66,16 +68,18 @@ public class VbaWordDiffGenerator implements IVbaDiffGenerator {
private final boolean merge;
private final boolean show;
+ private final boolean diffFieldCode;
private final boolean detectFormatChanges;
private final boolean executeVbScript;
private final boolean skipErrors;
- public VbaWordDiffGenerator(boolean merge, boolean show, boolean detectFormatChanges, boolean executeVbScript, boolean skipErrors) {
+ public VbaWordDiffGenerator(boolean merge, boolean show, boolean detectFormatChanges, boolean executeVbScript, boolean skipErrors, boolean diffFieldCode) {
this.merge = merge;
this.show = show;
this.detectFormatChanges = detectFormatChanges;
this.executeVbScript = executeVbScript;
this.skipErrors = skipErrors;
+ this.diffFieldCode = diffFieldCode;
}
@Override
@@ -93,6 +97,8 @@ public class VbaWordDiffGenerator implements IVbaDiffGenerator {
writer.append("");
writer.append(Boolean.toString(detectFormatChanges));
+ writer.append("\n");
+ writer.append(diff_field_codes + String.valueOf(diffFieldCode));
writer.append("\n\n");
addComparison(monitor, writer, compareData, merge);
@@ -135,7 +141,7 @@ public class VbaWordDiffGenerator implements IVbaDiffGenerator {
throw new OperationCanceledException();
}
- //Unforunately Word seems to need a little extra time to close, otherwise Word 2007 will crash periodically if too many files are being compared.
+ //Unfortunately Word seems to need a little extra time to close, otherwise Word 2007 will crash periodically if too many files are being compared.
String propertyWordDiffSleepMs = System.getProperty(OSEE_WORD_DIFF_SLEEP_MS, "250");// Quarter second is the default sleep value
appendable.append("WScript.sleep(" + propertyWordDiffSleepMs + ")\n");
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/WordUiUtil.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/WordUiUtil.java
index 34bd36c6203..64af53e02b9 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/WordUiUtil.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/WordUiUtil.java
@@ -59,7 +59,7 @@ public final class WordUiUtil {
}
}
- public static IVbaDiffGenerator createScriptGenerator(boolean merge, boolean show, boolean detectFormatChanges, boolean executeVbScript, boolean skipErrors) {
- return new VbaWordDiffGenerator(merge, show, detectFormatChanges, executeVbScript, skipErrors);
+ public static IVbaDiffGenerator createScriptGenerator(boolean merge, boolean show, boolean detectFormatChanges, boolean executeVbScript, boolean skipErrors, boolean diffFieldCodes) {
+ return new VbaWordDiffGenerator(merge, show, detectFormatChanges, executeVbScript, skipErrors, diffFieldCodes);
}
} \ No newline at end of file

Back to the top