*** empty log message ***
diff --git a/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/base/BuildPathUtil.java b/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/base/BuildPathUtil.java
index bf8cd36..66f98b5 100644
--- a/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/base/BuildPathUtil.java
+++ b/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/base/BuildPathUtil.java
@@ -112,7 +112,7 @@
if (entry.getName().startsWith("source.")) {
String [] folders = entry.getTokens();
for (int j=0; j<folders.length; j++) {
- addSourceFolder(folders[i],
+ addSourceFolder(folders[j],
model.getUnderlyingResource().getProject(),
result);
}
diff --git a/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/model/component/Component.java b/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/model/component/Component.java
index a5cb31d..944dbb1 100644
--- a/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/model/component/Component.java
+++ b/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/model/component/Component.java
@@ -159,13 +159,13 @@
String indent2 = indent + INDENT;
String indenta = indent + INDENT+INDENT;
writeIfDefined(indenta, writer, "id", id);
- writeIfDefined(indenta, writer, "label", label);
+ writeIfDefined(indenta, writer, "label", getWritableString(label));
writeIfDefined(indenta, writer, "version", version);
- writeIfDefined(indenta, writer, "provider-name", providerName);
+ writeIfDefined(indenta, writer, "provider-name", getWritableString(providerName));
writer.println(">");
if (description!=null) {
String indent3 = indent2+INDENT;
- description = description.trim();
+ description = getWritableString(description.trim());
writer.println();
writer.println(indent2+"<description>");
writer.println(indent3+description);
diff --git a/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/model/component/ComponentFragment.java b/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/model/component/ComponentFragment.java
index d167d6a..a50f438 100644
--- a/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/model/component/ComponentFragment.java
+++ b/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/model/component/ComponentFragment.java
@@ -20,7 +20,7 @@
}
if (getLabel() != null) {
writer.println();
- writer.print(indent2 + "label=\"" + getLabel() + "\"");
+ writer.print(indent2 + "label=\"" + getWritableString(getLabel()) + "\"");
}
if (getVersion() != null) {
writer.println();
diff --git a/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/model/component/ComponentObject.java b/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/model/component/ComponentObject.java
index 2ae0065..85264e1 100644
--- a/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/model/component/ComponentObject.java
+++ b/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/model/component/ComponentObject.java
@@ -67,6 +67,36 @@
new Status(IStatus.ERROR, PDEPlugin.getPluginId(), IStatus.OK, message, null);
throw new CoreException(status);
}
+
+public static String getWritableString(String source) {
+ if (source==null) return "";
+ StringBuffer buf = new StringBuffer();
+ for (int i=0; i<source.length(); i++) {
+ char c = source.charAt(i);
+ switch (c) {
+ case '&':
+ buf.append("&");
+ break;
+ case '<':
+ buf.append("<");
+ break;
+ case '>':
+ buf.append(">");
+ break;
+ case '\'':
+ buf.append("'");
+ break;
+ case '\"':
+ buf.append(""");
+ break;
+ default:
+ buf.append(c);
+ break;
+ }
+ }
+ return buf.toString();
+}
+
public void write(String indent, PrintWriter writer) {
}
}
diff --git a/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/model/component/ComponentPlugin.java b/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/model/component/ComponentPlugin.java
index 188ba03..c7af171 100644
--- a/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/model/component/ComponentPlugin.java
+++ b/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/model/component/ComponentPlugin.java
@@ -20,7 +20,7 @@
}
if (getLabel() != null) {
writer.println();
- writer.print(indent2 + "label=\"" + getLabel() + "\"");
+ writer.print(indent2 + "label=\"" + getWritableString(getLabel()) + "\"");
}
if (getVersion() != null) {
writer.println();
diff --git a/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/model/component/ComponentURLElement.java b/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/model/component/ComponentURLElement.java
index d16a681..710bcc6 100644
--- a/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/model/component/ComponentURLElement.java
+++ b/ui/org.eclipse.pde.ui/Eclipse PDE UI/org/eclipse/pde/internal/model/component/ComponentURLElement.java
@@ -61,10 +61,10 @@
return;
writer.print(indent + "<" + tag);
if (label != null) {
- writer.print(" label=\""+label+"\"");
+ writer.print(" label=\""+getWritableString(label)+"\"");
}
if (url != null) {
- writer.print(" url=\"" + url.toString() + "\"");
+ writer.print(" url=\"" + getWritableString(url.toString()) + "\"");
}
writer.println("/>");
}