diff options
Diffstat (limited to 'plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee')
4 files changed, 58 insertions, 76 deletions
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/FileSystemRenderer.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/FileSystemRenderer.java index 5abf74971cd..260afe4c8c6 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/FileSystemRenderer.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/FileSystemRenderer.java @@ -29,7 +29,6 @@ import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.plugin.core.util.AIFile; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin; -import org.eclipse.osee.framework.ui.skynet.util.FileUiUtil; import org.eclipse.swt.program.Program; import org.eclipse.ui.IEditorDescriptor; import org.eclipse.ui.IWorkbench; @@ -162,7 +161,7 @@ public abstract class FileSystemRenderer extends DefaultArtifactRenderer { Artifact firstArtifact = artifacts.iterator().next(); try { if (RenderingUtil.arePopupsAllowed()) { - FileUiUtil.ensureFilenameLimit(file); + RenderingUtil.ensureFilenameLimit(file); Program program = getAssociatedProgram(firstArtifact); program.execute(file.getLocation().toFile().getAbsolutePath()); } else { diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/RenderingUtil.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/RenderingUtil.java index 98d585992d3..5b20643d86f 100644 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/RenderingUtil.java +++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/render/RenderingUtil.java @@ -10,28 +10,28 @@ *******************************************************************************/ package org.eclipse.osee.framework.ui.skynet.render; +import java.net.URLEncoder; import java.util.Date; -import java.util.HashSet; import java.util.Random; -import java.util.Set; +import java.util.logging.Level; +import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFolder; import org.eclipse.core.runtime.CoreException; +import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.osee.framework.core.data.IOseeBranch; -import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; import org.eclipse.osee.framework.core.exception.OseeArgumentException; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.exception.OseeExceptions; import org.eclipse.osee.framework.jdk.core.type.Pair; import org.eclipse.osee.framework.jdk.core.util.GUID; +import org.eclipse.osee.framework.jdk.core.util.Lib; import org.eclipse.osee.framework.jdk.core.util.Strings; +import org.eclipse.osee.framework.logging.OseeLog; import org.eclipse.osee.framework.plugin.core.util.OseeData; -import org.eclipse.osee.framework.skynet.core.UserManager; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; -import org.eclipse.osee.framework.skynet.core.artifact.Attribute; -import org.eclipse.osee.framework.skynet.core.artifact.BranchUtility; import org.eclipse.osee.framework.skynet.core.change.ArtifactDelta; -import org.eclipse.osee.framework.skynet.core.word.WordUtil; -import org.eclipse.osee.framework.ui.skynet.preferences.MsWordPreferencePage; +import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin; +import org.eclipse.osee.framework.ui.swt.Displays; public final class RenderingUtil { private static final Random generator = new Random(); @@ -46,6 +46,39 @@ public final class RenderingUtil { arePopupsAllowed = popupsAllowed; } + private static final String FILENAME_WARNING_MESSAGE = + "\n\nis approaching a large size which may cause the opening application to error. " + "\nSuggest moving your workspace to avoid potential errors. "; + private static final int FILENAME_LIMIT = 215; + + private static boolean showAgain = true; + + public static boolean ensureFilenameLimit(IFile file) { + boolean withinLimit = true; + if (Lib.isWindows()) { + String absPath = file.getLocation().toFile().getAbsolutePath(); + if (absPath.length() > FILENAME_LIMIT) { + final String warningMessage = "Your filename: \n\n" + absPath + FILENAME_WARNING_MESSAGE; + // need to warn user that their filename size is large and may cause the program (Word, Excel, PPT) to error + if (showAgain && arePopupsAllowed()) { + //display warning once per session + + Displays.pendInDisplayThread(new Runnable() { + @Override + public void run() { + MessageDialog.openWarning(Displays.getActiveShell(), "Filename Size Warning", warningMessage); + } + }); + + showAgain = false; + } + //log the warning every time + OseeLog.log(SkynetGuiPlugin.class, Level.WARNING, warningMessage); + withinLimit = false; + } + } + return withinLimit; + } + public static boolean arePopupsAllowed() { return arePopupsAllowed; } @@ -122,7 +155,7 @@ public final class RenderingUtil { public static IFolder getRenderFolder(IOseeBranch branch, PresentationType presentationType) throws OseeCoreException { try { IFolder baseFolder = ensureRenderFolderExists(presentationType); - IFolder renderFolder = baseFolder.getFolder(BranchUtility.toFileName(branch)); + IFolder renderFolder = baseFolder.getFolder(toFileName(branch)); if (!renderFolder.exists()) { renderFolder.create(true, true, null); } @@ -133,6 +166,20 @@ public final class RenderingUtil { } } + public static String toFileName(IOseeBranch branch) throws OseeCoreException { + return encode(branch.getGuid()); + } + + private static String encode(String name) throws OseeCoreException { + String toReturn = null; + try { + toReturn = URLEncoder.encode(name, "UTF-8"); + } catch (Exception ex) { + OseeExceptions.wrapAndThrow(ex); + } + return toReturn; + } + public static IFolder ensureRenderFolderExists(PresentationType presentationType) throws OseeCoreException { IFolder toReturn = null; switch (presentationType) { 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 392e7f1c4a7..a6e48601b5d 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 @@ -57,7 +57,6 @@ 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; @@ -138,7 +137,7 @@ public class WordTemplateProcessor { applyTemplate(variableMap, artifacts, masterTemplate, folder, null, null, PresentationType.PREVIEW)); if (variableMap.getBoolean("OpenDocument") && file != null) { - FileUiUtil.ensureFilenameLimit(file); + RenderingUtil.ensureFilenameLimit(file); wordApp.execute(file.getLocation().toFile().getAbsolutePath()); } } diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/FileUiUtil.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/FileUiUtil.java deleted file mode 100644 index 854a96c4ca7..00000000000 --- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/FileUiUtil.java +++ /dev/null @@ -1,63 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Boeing. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.framework.ui.skynet.util; - -import java.util.logging.Level; -import org.eclipse.core.resources.IFile; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.osee.framework.jdk.core.util.Lib; -import org.eclipse.osee.framework.logging.OseeLog; -import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin; -import org.eclipse.osee.framework.ui.skynet.render.RenderingUtil; -import org.eclipse.osee.framework.ui.swt.Displays; - -/** - * @author Megumi Telles - */ -public final class FileUiUtil { - private static final String FILENAME_WARNING_MESSAGE = - "\n\nis approaching a large size which may cause the opening application to error. " + "\nSuggest moving your workspace to avoid potential errors. "; - private static final int FILENAME_LIMIT = 215; - - private static boolean showAgain = true; - - private FileUiUtil() { - // Utility class - } - - public static boolean ensureFilenameLimit(IFile file) { - boolean withinLimit = true; - if (Lib.isWindows()) { - String absPath = file.getLocation().toFile().getAbsolutePath(); - if (absPath.length() > FILENAME_LIMIT) { - final String warningMessage = "Your filename: \n\n" + absPath + FILENAME_WARNING_MESSAGE; - // need to warn user that their filename size is large and may cause the program (Word, Excel, PPT) to error - if (showAgain && RenderingUtil.arePopupsAllowed()) { - //display warning once per session - - Displays.pendInDisplayThread(new Runnable() { - @Override - public void run() { - MessageDialog.openWarning(Displays.getActiveShell(), "Filename Size Warning", warningMessage); - } - }); - - showAgain = false; - } - //log the warning every time - OseeLog.log(SkynetGuiPlugin.class, Level.WARNING, warningMessage); - withinLimit = false; - } - } - return withinLimit; - } - -} |