diff options
author | jphillips | 2010-12-02 21:27:24 +0000 |
---|---|---|
committer | Ryan D. Brooks | 2010-12-02 21:27:24 +0000 |
commit | 3ecefce7ad05962f64fe90a1a39aa759aa25c04b (patch) | |
tree | 290d10383c8548e87b7c3b864e46cb46ba969ca8 /plugins | |
parent | d797f6da69cd31b52e9148bab705044258659b1d (diff) | |
download | org.eclipse.osee-3ecefce7ad05962f64fe90a1a39aa759aa25c04b.tar.gz org.eclipse.osee-3ecefce7ad05962f64fe90a1a39aa759aa25c04b.tar.xz org.eclipse.osee-3ecefce7ad05962f64fe90a1a39aa759aa25c04b.zip |
refinement: Improve publish BLAM by adding open in Word feature
Diffstat (limited to 'plugins')
2 files changed, 14 insertions, 2 deletions
diff --git a/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/blam/operation/PublishWithSpecifiedTemplate.java b/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/blam/operation/PublishWithSpecifiedTemplate.java index 4cf38f141c7..9ea6628c647 100644 --- a/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/blam/operation/PublishWithSpecifiedTemplate.java +++ b/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/blam/operation/PublishWithSpecifiedTemplate.java @@ -76,6 +76,7 @@ public class PublishWithSpecifiedTemplate extends AbstractBlam { newVariableMap.setValue("Publish As Diff", variableMap.getValue("Publish As Diff")); // newVariableMap.setValue("Diff from Baseline", variableMap.getValue("Diff from Baseline")); newVariableMap.setValue("linkType", linkType); + newVariableMap.setValue("OpenDocument", variableMap.getValue("Open Document in Word")); WordTemplateRenderer renderer = new WordTemplateRenderer(); SkynetTransaction transaction = new SkynetTransaction(branch, "BLAM: Publish with specified template"); @@ -96,7 +97,8 @@ public class PublishWithSpecifiedTemplate extends AbstractBlam { public String getXWidgetsXml() { populateTemplateList(); StringBuilder builder = new StringBuilder(); - builder.append("<xWidgets><XWidget xwidgetType=\"XCheckBox\" horizontalLabel=\"true\" labelAfter=\"true\" displayName=\"Update Paragraph Numbers\" />"); + builder.append("<xWidgets><XWidget xwidgetType=\"XCheckBox\" horizontalLabel=\"true\" labelAfter=\"true\" displayName=\"Open Document in Word\" />"); + builder.append("<XWidget xwidgetType=\"XCheckBox\" horizontalLabel=\"true\" labelAfter=\"true\" displayName=\"Update Paragraph Numbers\" />"); builder.append("<XWidget xwidgetType=\"XLabel\" displayName=\"Document Link Format:\"/>"); builder.append("<XWidget xwidgetType=\"XCheckBox\" horizontalLabel=\"true\" labelAfter=\"true\" displayName=\"Use Artifact Names\" />"); diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/word/WordTemplateProcessor.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/word/WordTemplateProcessor.java index 872619d4da4..5d710c79bb4 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/word/WordTemplateProcessor.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/word/WordTemplateProcessor.java @@ -22,6 +22,7 @@ import java.util.List; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFolder; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IConfigurationElement; @@ -54,8 +55,10 @@ import org.eclipse.osee.framework.ui.skynet.render.PresentationType; import org.eclipse.osee.framework.ui.skynet.render.RendererManager; import org.eclipse.osee.framework.ui.skynet.render.RenderingUtil; import org.eclipse.osee.framework.ui.skynet.render.WordTemplateRenderer; +import org.eclipse.osee.framework.ui.skynet.util.FileUiUtil; import org.eclipse.osee.framework.ui.skynet.util.WordUiUtil; import org.eclipse.osee.framework.ui.swt.Displays; +import org.eclipse.swt.program.Program; /** * @author Robert A. Fisher @@ -92,6 +95,7 @@ public class WordTemplateProcessor { private static final Pattern internalOutlineElementsPattern = Pattern.compile( "<((\\w+:)?(HeadingAttribute|RecurseChildren|Number))>(.*?)</\\1>", Pattern.CASE_INSENSITIVE | Pattern.DOTALL | Pattern.MULTILINE); + private static final Program wordApp = Program.findProgram("doc"); private String slaveTemplate; private String slaveTemplateName; @@ -126,8 +130,14 @@ public class WordTemplateProcessor { IFolder folder = RenderingUtil.ensureRenderFolderExists(PresentationType.PREVIEW); String fileName = String.format("%s_%s.xml", masterTemplateArtifact.getSafeName(), Lib.getDateTimeString()); - AIFile.writeToFile(folder.getFile(fileName), + IFile file = folder.getFile(fileName); + AIFile.writeToFile(file, applyTemplate(variableMap, artifacts, masterTemplate, folder, null, null, PresentationType.PREVIEW)); + + if (variableMap.getBoolean("OpenDocument") && file != null) { + FileUiUtil.ensureFilenameLimit(file); + wordApp.execute(file.getLocation().toFile().getAbsolutePath()); + } } /** |