Bug 172931 - remove the GUID that is appended to the resource file name
diff --git a/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/layout/Bookmark.java b/plugins/org.eclipse.epf.library/src/org/eclipse/epf/library/layout/Bookmark.java
similarity index 99%
rename from plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/layout/Bookmark.java
rename to plugins/org.eclipse.epf.library/src/org/eclipse/epf/library/layout/Bookmark.java
index 2b10418..3f7de9b 100755
--- a/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/layout/Bookmark.java
+++ b/plugins/org.eclipse.epf.library/src/org/eclipse/epf/library/layout/Bookmark.java
@@ -8,7 +8,7 @@
// Contributors:
// IBM Corporation - initial implementation
//------------------------------------------------------------------------------
-package org.eclipse.epf.publishing.layout;
+package org.eclipse.epf.library.layout;
import java.util.ArrayList;
import java.util.List;
diff --git a/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/layout/BookmarkList.java b/plugins/org.eclipse.epf.library/src/org/eclipse/epf/library/layout/BookmarkList.java
similarity index 98%
rename from plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/layout/BookmarkList.java
rename to plugins/org.eclipse.epf.library/src/org/eclipse/epf/library/layout/BookmarkList.java
index a66f082..5da106f 100755
--- a/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/layout/BookmarkList.java
+++ b/plugins/org.eclipse.epf.library/src/org/eclipse/epf/library/layout/BookmarkList.java
@@ -8,7 +8,7 @@
// Contributors:
// IBM Corporation - initial implementation
//------------------------------------------------------------------------------
-package org.eclipse.epf.publishing.layout;
+package org.eclipse.epf.library.layout;
import java.util.ArrayList;
import java.util.Iterator;
diff --git a/plugins/org.eclipse.epf.library/src/org/eclipse/epf/library/services/NameCache.java b/plugins/org.eclipse.epf.library/src/org/eclipse/epf/library/services/NameCache.java
index 6212ee7..6e62ab0 100755
--- a/plugins/org.eclipse.epf.library/src/org/eclipse/epf/library/services/NameCache.java
+++ b/plugins/org.eclipse.epf.library/src/org/eclipse/epf/library/services/NameCache.java
@@ -17,6 +17,7 @@
import org.eclipse.epf.common.utils.StrUtil;
import org.eclipse.epf.library.LibraryService;
+import org.eclipse.epf.library.layout.Bookmark;
import org.eclipse.epf.persistence.MultiFileResourceSetImpl;
import org.eclipse.epf.uma.MethodElement;
@@ -154,4 +155,53 @@
return guid;
}
+
+ /**
+ * get the file name with the given prefix and extension
+ * @param view Bookmark
+ * @param namePrefix String prefix for the name
+ * @param nameSuffix String suffix for the name
+ * @param ext String file extension, for example, ".html"
+ * @return String
+ */
+ public String getFileName(Bookmark view, String namePrefix,
+ String nameSuffix, String ext) {
+
+ String existingElementName = null;
+ StringBuffer buffer = new StringBuffer();
+ if (namePrefix != null) {
+ buffer.append(namePrefix);
+ }
+
+ if (view.getPresentationName() == "")
+ return "0" + ext; //$NON-NLS-1$
+
+ if (!gMap.isEmpty()) {
+ existingElementName = (String) gMap.get(view.getUniqueId());
+ }
+ // Browsing: Browsing CP with special chars failed with
+ // blank pages and Script Error need to make a valid file name
+ buffer.append((existingElementName != null) ? existingElementName : StrUtil.removeSpecialCharacters(view.getPresentationName()));
+ if (nameSuffix != null) {
+ buffer.append(nameSuffix);
+ }
+
+ if (ext != null) {
+ if (ext.indexOf(".") < 0) //$NON-NLS-1$
+ {
+ ext = "." + ext; //$NON-NLS-1$
+ }
+ buffer.append(ext);
+ }
+
+ ElementFile a = new ElementFile(view.getUniqueId(), buffer.toString());
+
+ if (a != null && aSet.add(a)) {
+ int extDot = a.getFileName().lastIndexOf(".");
+ aMap.put((extDot < 0) ? a.getFileName() : a.getFileName().substring(0, extDot), view.getUniqueId());
+ gMap.put(view.getUniqueId(), (extDot < 0) ? a.getFileName() : a.getFileName().substring(0, extDot));
+ }
+
+ return a.getFileName();
+ }
}
diff --git a/plugins/org.eclipse.epf.publishing/META-INF/MANIFEST.MF b/plugins/org.eclipse.epf.publishing/META-INF/MANIFEST.MF
index cc840cd..f40ced5 100755
--- a/plugins/org.eclipse.epf.publishing/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.epf.publishing/META-INF/MANIFEST.MF
@@ -11,7 +11,6 @@
org.eclipse.core.runtime
Eclipse-LazyStart: true
Export-Package: org.eclipse.epf.publishing,
- org.eclipse.epf.publishing.layout,
org.eclipse.epf.publishing.services,
org.eclipse.epf.publishing.services.index,
org.eclipse.epf.publishing.services.search,
diff --git a/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/layout/package.html b/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/layout/package.html
deleted file mode 100755
index ccd51f6..0000000
--- a/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/layout/package.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<html>
-<body>
-Provides implementation support for generating bookmarks in a published configuration.
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/AbstractViewBuilder.java b/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/AbstractViewBuilder.java
index 6f56378..fbfa13f 100755
--- a/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/AbstractViewBuilder.java
+++ b/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/AbstractViewBuilder.java
@@ -22,6 +22,7 @@
import org.eclipse.epf.common.utils.Timer;
import org.eclipse.epf.library.LibraryService;
import org.eclipse.epf.library.configuration.ConfigurationHelper;
+import org.eclipse.epf.library.layout.Bookmark;
import org.eclipse.epf.library.layout.ElementLayoutManager;
import org.eclipse.epf.library.layout.HtmlBuilder;
import org.eclipse.epf.library.layout.IElementLayout;
@@ -29,7 +30,6 @@
import org.eclipse.epf.library.util.IconUtil;
import org.eclipse.epf.library.util.ResourceHelper;
import org.eclipse.epf.publishing.PublishingResources;
-import org.eclipse.epf.publishing.layout.Bookmark;
import org.eclipse.epf.uma.ContentCategory;
import org.eclipse.epf.uma.DescribableElement;
import org.eclipse.epf.uma.MethodConfiguration;
diff --git a/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/ConfigurationViewBuilder.java b/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/ConfigurationViewBuilder.java
index 55ed06a..0d74c76 100755
--- a/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/ConfigurationViewBuilder.java
+++ b/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/ConfigurationViewBuilder.java
@@ -40,6 +40,7 @@
import org.eclipse.epf.library.edit.process.IBSItemProvider;
import org.eclipse.epf.library.edit.util.ProcessUtil;
import org.eclipse.epf.library.edit.util.Suppression;
+import org.eclipse.epf.library.layout.Bookmark;
import org.eclipse.epf.library.layout.IElementLayout;
import org.eclipse.epf.library.layout.elements.ActivityLayout;
import org.eclipse.epf.library.layout.elements.ProcessElementItem;
@@ -48,7 +49,6 @@
import org.eclipse.epf.library.layout.util.XmlElement;
import org.eclipse.epf.library.util.LibraryUtil;
import org.eclipse.epf.publishing.PublishingResources;
-import org.eclipse.epf.publishing.layout.Bookmark;
import org.eclipse.epf.publishing.util.PublishingUtil;
import org.eclipse.epf.uma.Activity;
import org.eclipse.epf.uma.Artifact;
diff --git a/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/DefaultSiteGenerator.java b/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/DefaultSiteGenerator.java
index 8f4e6b0..63bf004 100755
--- a/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/DefaultSiteGenerator.java
+++ b/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/DefaultSiteGenerator.java
@@ -8,12 +8,12 @@
import org.eclipse.core.runtime.Platform;
import org.eclipse.epf.common.utils.FileUtil;
import org.eclipse.epf.common.utils.StrUtil;
+import org.eclipse.epf.library.layout.Bookmark;
+import org.eclipse.epf.library.layout.BookmarkList;
import org.eclipse.epf.library.layout.HtmlBuilder;
import org.eclipse.epf.library.layout.LayoutResources;
import org.eclipse.epf.library.layout.util.XmlElement;
import org.eclipse.epf.publishing.PublishingPlugin;
-import org.eclipse.epf.publishing.layout.Bookmark;
-import org.eclipse.epf.publishing.layout.BookmarkList;
import org.eclipse.epf.publishing.util.PublishingUtil;
public class DefaultSiteGenerator implements ISiteGenerator {
diff --git a/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/ISiteGenerator.java b/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/ISiteGenerator.java
index da9d099..25688ba 100755
--- a/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/ISiteGenerator.java
+++ b/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/ISiteGenerator.java
@@ -2,8 +2,8 @@
import java.util.List;
+import org.eclipse.epf.library.layout.Bookmark;
import org.eclipse.epf.library.layout.HtmlBuilder;
-import org.eclipse.epf.publishing.layout.Bookmark;
public interface ISiteGenerator {
diff --git a/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/PublishManager.java b/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/PublishManager.java
index 1e800d6..8e9592a 100755
--- a/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/PublishManager.java
+++ b/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/PublishManager.java
@@ -17,12 +17,12 @@
import org.eclipse.core.runtime.Platform;
import org.eclipse.epf.common.utils.FileUtil;
import org.eclipse.epf.library.configuration.ElementRealizer;
+import org.eclipse.epf.library.layout.Bookmark;
import org.eclipse.epf.library.layout.ElementLayoutManager;
import org.eclipse.epf.library.layout.HtmlBuilder;
import org.eclipse.epf.library.layout.util.XmlElement;
import org.eclipse.epf.publishing.PublishingPlugin;
import org.eclipse.epf.publishing.PublishingResources;
-import org.eclipse.epf.publishing.layout.Bookmark;
import org.eclipse.epf.publishing.services.index.DefinitionObject;
import org.eclipse.epf.publishing.services.index.KeyWordIndexHelper;
import org.eclipse.epf.publishing.util.PublishingUtil;