create a folder to store customized icons,becase Windows is not case
sensitive,once the customized icon name as same as default,the icon will
miss in left tree
diff --git a/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/AbstractSiteGenerator.java b/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/AbstractSiteGenerator.java
index 504804f..b0926cb 100644
--- a/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/AbstractSiteGenerator.java
+++ b/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/AbstractSiteGenerator.java
@@ -32,6 +32,7 @@
private static final String WEB_INF_PATH = "docroot/WEB-INF"; //$NON-NLS-1$
private static final String WEB_INF_DIR = "WEB-INF"; //$NON-NLS-1$
+ public static final String customizedName = "customized"; //$NON-NLS-1$
protected String pubDir;
protected PublishHTMLOptions options;
diff --git a/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/AbstractViewBuilder.java b/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/AbstractViewBuilder.java
index 987a70f..7610add 100644
--- a/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/AbstractViewBuilder.java
+++ b/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/AbstractViewBuilder.java
@@ -295,21 +295,31 @@
protected void elementPublished(IElementLayout layout, String htmlfile) {
}
- private void copyNodeIcon(File source) {
+ private String copyNodeIcon(File source,boolean isCustomized) {
String name = source.getName();
- File dest = new File(siteGenerator.getNodeIconPath(), name);
+ File dest = null;
+ if(isCustomized){
+ dest = new File(siteGenerator.getCustomizedNodeIconPath(), name);
+ }else{
+ dest = new File(siteGenerator.getNodeIconPath(), name);
+ }
if (FileUtil.copyFile(source, dest) == false) {
getHtmlBuilder().getValidator().logWarning(
NLS.bind(PublishingResources.copyFileWarning_msg, source
.getAbsolutePath(), dest.getAbsolutePath()));
}
+ if(isCustomized){
+ name = AbstractSiteGenerator.customizedName + "/" + name;
+ }
+ return name;
}
protected String getNodeIconName(Object obj) {
File iconFile = null;
String iconName = null;
+ boolean isCustomized = true;
if (obj instanceof DescribableElement) {
URI uri = ((DescribableElement) obj).getNodeicon();
@@ -358,6 +368,7 @@
}
if (iconFile == null) {
+ isCustomized = false;
// get the default icon name
if (obj instanceof MethodElement) {
String type = ((MethodElement) obj).getType().getName()
@@ -436,8 +447,7 @@
}
}
- copyNodeIcon(iconFile);
- iconName = iconFile.getName();
+ iconName = copyNodeIcon(iconFile,isCustomized);
}
if (iconName == null || iconName.length() == 0) {
diff --git a/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/DefaultSiteGenerator.java b/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/DefaultSiteGenerator.java
index 262a57c..825a171 100644
--- a/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/DefaultSiteGenerator.java
+++ b/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/DefaultSiteGenerator.java
@@ -18,7 +18,6 @@
import org.eclipse.core.runtime.FileLocator;
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;
@@ -67,18 +66,24 @@
private static final String APPLET_PATH = "applet" + File.separatorChar; //$NON-NLS-1$
private static final String NO_APPLET_PATH = "noapplet" + File.separatorChar; //$NON-NLS-1$
private static final String ICON_PATH = "images" + File.separatorChar; //$NON-NLS-1$
+ private static final String CUSTOMIZED_ICON_PATH = ICON_PATH + AbstractSiteGenerator.customizedName + File.separatorChar; //$NON-NLS-1$
private static final String SERVER_SEARCH_PATH = "docroot/server_search"; //$NON-NLS-1$
private static final String DEFAULT_BANNER_FILE = "EPFC_banner.jpg"; //$NON-NLS-1$
protected File iconPath;
+
+ protected File customizedIconPath;
public DefaultSiteGenerator(HtmlBuilder builder, PublishHTMLOptions options) {
super(builder, options);
-
+
iconPath = new File(pubDir, (options.isPublishDynamicWebApp() ) ? NO_APPLET_PATH + ICON_PATH
: APPLET_PATH + ICON_PATH);
+
+ customizedIconPath = new File(pubDir, (options.isPublishDynamicWebApp() ) ? NO_APPLET_PATH + CUSTOMIZED_ICON_PATH
+ : APPLET_PATH + CUSTOMIZED_ICON_PATH);
}
public HtmlBuilder getHtmlBuilder() {
@@ -93,6 +98,10 @@
return iconPath.getAbsolutePath();
}
+ public String getCustomizedNodeIconPath() {
+ return customizedIconPath.getAbsolutePath();
+ }
+
public String getDefaultBannerImageFile() {
//return "banner.gif"; //$NON-NLS-1$
return DEFAULT_BANNER_FILE;
diff --git a/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/ISiteGenerator.java b/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/ISiteGenerator.java
index 826de16..956e62a 100644
--- a/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/ISiteGenerator.java
+++ b/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/ISiteGenerator.java
@@ -34,6 +34,7 @@
public PublishOptions getPublishOptions();
public String getIndexFilePath();
public String getNodeIconPath();
+ public String getCustomizedNodeIconPath();
public void dispose();
}