Merge branch 'master' into integration
diff --git a/apitools/org.eclipse.pde.api.tools.ee.osgiminimum12/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.ee.osgiminimum12/META-INF/MANIFEST.MF
index 038f0f5..5ac6dcf 100644
--- a/apitools/org.eclipse.pde.api.tools.ee.osgiminimum12/META-INF/MANIFEST.MF
+++ b/apitools/org.eclipse.pde.api.tools.ee.osgiminimum12/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %fragmentName
Bundle-SymbolicName: org.eclipse.pde.api.tools.ee.osgiminimum12
-Bundle-Version: 1.0.200.qualifier
+Bundle-Version: 1.0.300.qualifier
Bundle-Vendor: %providerName
Fragment-Host: org.eclipse.pde.api.tools;bundle-version="1.0.300"
Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/apitools/org.eclipse.pde.api.tools.ee.osgiminimum12/src/org/eclipse/pde/api/tools/internal/api_stubs/OSGi_Minimum-1.2.zip b/apitools/org.eclipse.pde.api.tools.ee.osgiminimum12/src/org/eclipse/pde/api/tools/internal/api_stubs/OSGi_Minimum-1.2.zip
index 4d57618..6f2a73e 100644
--- a/apitools/org.eclipse.pde.api.tools.ee.osgiminimum12/src/org/eclipse/pde/api/tools/internal/api_stubs/OSGi_Minimum-1.2.zip
+++ b/apitools/org.eclipse.pde.api.tools.ee.osgiminimum12/src/org/eclipse/pde/api/tools/internal/api_stubs/OSGi_Minimum-1.2.zip
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.generator/.settings/org.eclipse.jdt.core.prefs b/apitools/org.eclipse.pde.api.tools.generator/.settings/org.eclipse.jdt.core.prefs
index 6d75609..c49d89e 100644
--- a/apitools/org.eclipse.pde.api.tools.generator/.settings/org.eclipse.jdt.core.prefs
+++ b/apitools/org.eclipse.pde.api.tools.generator/.settings/org.eclipse.jdt.core.prefs
@@ -28,7 +28,7 @@
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=disabled
@@ -37,6 +37,9 @@
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disable
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
diff --git a/apitools/org.eclipse.pde.api.tools.generator/src/org/eclipse/pde/api/tools/generator/EEGenerator.java b/apitools/org.eclipse.pde.api.tools.generator/src/org/eclipse/pde/api/tools/generator/EEGenerator.java
index 8c9c3e9..5b2ef50 100644
--- a/apitools/org.eclipse.pde.api.tools.generator/src/org/eclipse/pde/api/tools/generator/EEGenerator.java
+++ b/apitools/org.eclipse.pde.api.tools.generator/src/org/eclipse/pde/api/tools/generator/EEGenerator.java
@@ -793,6 +793,12 @@
// initialize known packages
String osgiProfileName = this.OSGiProfile;
Set<String> knownPackages = initializePackages(osgiProfileName);
+ // known packages should be part of the white list by default
+ if (this.whiteList != null && !this.whiteList.isEmpty()) {
+ this.whiteList.addAll(knownPackages);
+ } else {
+ this.whiteList = Collections.unmodifiableSet(knownPackages);
+ }
Map<String, Type> allVisibleTypes = new HashMap<String, Type>();
Map<String, Type> allTypes = new HashMap<String, Type>();
this.totalSize = 0;
@@ -924,7 +930,7 @@
return this.blackList.contains(typeName);
}
private boolean isOnWhiteList(String packageName) {
- return packageName.startsWith("java.") || this.whiteList.contains(packageName); //$NON-NLS-1$
+ return packageName.startsWith("java.") || packageName.startsWith("javax.") || this.whiteList.contains(packageName); //$NON-NLS-1$ //$NON-NLS-2$
}
private boolean isOnWhiteList(Type type) {
return isOnWhiteList(type.getPackage());
diff --git a/apitools/org.eclipse.pde.api.tools.tests/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/META-INF/MANIFEST.MF
index 221e801..6d2f088 100644
--- a/apitools/org.eclipse.pde.api.tools.tests/META-INF/MANIFEST.MF
+++ b/apitools/org.eclipse.pde.api.tools.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: API Tools Tests
Bundle-SymbolicName: org.eclipse.pde.api.tools.tests
-Bundle-Version: 1.0.200.qualifier
+Bundle-Version: 1.0.300.qualifier
Bundle-Vendor: Eclipse.org
Require-Bundle: org.eclipse.core.runtime,
org.junit,
@@ -42,3 +42,4 @@
org.eclipse.pde.api.tools.util.tests;uses:="junit.framework"
Bundle-Activator: org.eclipse.pde.api.tools.tests.ApiTestsPlugin
Bundle-ActivationPolicy: lazy
+Eclipse-BundleShape: dir
diff --git a/apitools/org.eclipse.pde.api.tools.ui/.settings/org.eclipse.jdt.core.prefs b/apitools/org.eclipse.pde.api.tools.ui/.settings/org.eclipse.jdt.core.prefs
index 2cc99a6..a2dfaff 100644
--- a/apitools/org.eclipse.pde.api.tools.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/apitools/org.eclipse.pde.api.tools.ui/.settings/org.eclipse.jdt.core.prefs
@@ -28,7 +28,7 @@
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=disabled
diff --git a/apitools/org.eclipse.pde.api.tools/.settings/org.eclipse.jdt.core.prefs b/apitools/org.eclipse.pde.api.tools/.settings/org.eclipse.jdt.core.prefs
index f5154f4..830fbe4 100644
--- a/apitools/org.eclipse.pde.api.tools/.settings/org.eclipse.jdt.core.prefs
+++ b/apitools/org.eclipse.pde.api.tools/.settings/org.eclipse.jdt.core.prefs
@@ -28,7 +28,7 @@
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=disabled
@@ -37,6 +37,9 @@
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disable
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
diff --git a/ds/org.eclipse.pde.ds.tests/.settings/org.eclipse.jdt.core.prefs b/ds/org.eclipse.pde.ds.tests/.settings/org.eclipse.jdt.core.prefs
index 31ed0c7..7098c08 100644
--- a/ds/org.eclipse.pde.ds.tests/.settings/org.eclipse.jdt.core.prefs
+++ b/ds/org.eclipse.pde.ds.tests/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Tue Mar 03 18:36:09 CST 2009
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
diff --git a/ds/org.eclipse.pde.ds.ui/.settings/org.eclipse.jdt.core.prefs b/ds/org.eclipse.pde.ds.ui/.settings/org.eclipse.jdt.core.prefs
index 0f49dfe..b1181c0 100644
--- a/ds/org.eclipse.pde.ds.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/ds/org.eclipse.pde.ds.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Thu Mar 19 11:34:55 CDT 2009
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
@@ -26,7 +25,7 @@
org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
diff --git a/ui/org.eclipse.pde.core/.settings/org.eclipse.jdt.core.prefs b/ui/org.eclipse.pde.core/.settings/org.eclipse.jdt.core.prefs
index 6dcf1a7..6d52a71 100644
--- a/ui/org.eclipse.pde.core/.settings/org.eclipse.jdt.core.prefs
+++ b/ui/org.eclipse.pde.core/.settings/org.eclipse.jdt.core.prefs
@@ -37,7 +37,7 @@
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
diff --git a/ui/org.eclipse.pde.core/META-INF/MANIFEST.MF b/ui/org.eclipse.pde.core/META-INF/MANIFEST.MF
index b8ecbcf..f64c7fe 100644
--- a/ui/org.eclipse.pde.core/META-INF/MANIFEST.MF
+++ b/ui/org.eclipse.pde.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %name
Bundle-SymbolicName: org.eclipse.pde.core; singleton:=true
-Bundle-Version: 3.8.0.qualifier
+Bundle-Version: 3.8.100.qualifier
Bundle-Activator: org.eclipse.pde.internal.core.PDECore
Bundle-Vendor: %provider-name
Bundle-Localization: plugin
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/core/build/package.html b/ui/org.eclipse.pde.core/src/org/eclipse/pde/core/build/package.html
new file mode 100644
index 0000000..bf19f01
--- /dev/null
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/core/build/package.html
@@ -0,0 +1,15 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="IBM">
+ <title>Package-level Javadoc</title>
+</head>
+<body>
+Application programming interfaces for working with PDE's model of build.properties.
+<h2>
+Package Specification</h2>
+Provides interfaces describing the shape of PDE's model of build.properties. See <strong>org.eclipse.pde.core</strong> for
+the generic models that this package extends from.
+</body>
+</html>
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/ClasspathHelper.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/ClasspathHelper.java
index 70a85f8..457793b 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/ClasspathHelper.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/ClasspathHelper.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2011 IBM Corporation and others.
+ * Copyright (c) 2003, 2012 IBM Corporation and others.
* 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
@@ -165,7 +165,7 @@
}
// creates a map whose key is a Path to the source directory/jar and the value is a Path output directory or jar.
- private static Map getClasspathMap(IProject project, boolean checkExcluded, boolean onlyJarsIfLinked, boolean absolutePaths) throws JavaModelException {
+ private static Map getClasspathMap(IProject project, boolean checkExcluded, boolean absolutePaths) throws JavaModelException {
List excluded = getFoldersToExclude(project, checkExcluded);
IJavaProject jProject = JavaCore.create(project);
HashMap map = new HashMap();
@@ -190,8 +190,6 @@
// make the path either relative or absolute
if (file != null) {
boolean isLinked = file.isLinked(IResource.CHECK_ANCESTORS);
- if (entries[i].getEntryKind() != IClasspathEntry.CPE_SOURCE && !isLinked && onlyJarsIfLinked)
- continue;
output = (isLinked || absolutePaths) ? file.getLocation().makeAbsolute() : output.makeRelative();
} else
continue;
@@ -270,7 +268,7 @@
IPluginLibrary[] libraries = base.getLibraries();
try {
if (project.hasNature(JavaCore.NATURE_ID)) {
- Map classpathMap = getClasspathMap(project, checkExcluded, !base.getId().equals(PDECore.getDefault().getModelManager().getSystemBundleId()), false);
+ Map classpathMap = getClasspathMap(project, checkExcluded, false);
IFile file = PDEProject.getBuildProperties(project);
IPath filePath = file.getLocation();
boolean searchBuild = filePath != null && filePath.toFile().exists();
@@ -340,7 +338,7 @@
if (frags[i].getUnderlyingResource() != null) {
try {
IProject project = frags[i].getUnderlyingResource().getProject();
- Map classpathMap = getClasspathMap(project, checkExcluded, false, true);
+ Map classpathMap = getClasspathMap(project, checkExcluded, true);
IFile file = PDEProject.getBuildProperties(project);
IBuild build = null;
if (file.exists()) {
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/SchemaTransformer.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/SchemaTransformer.java
index 903c49f..3b9f046 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/SchemaTransformer.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/SchemaTransformer.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
+ * Copyright (c) 2000, 2012 IBM Corporation and others.
* 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
@@ -275,10 +275,13 @@
+ name + "</p>"); //$NON-NLS-1$
int maxWidth = calculateMaxAttributeWidth(element.getAttributes());
for (int i = 0; i < attributes.length; i++) {
+ fWriter.print("<p class=\"code SchemaDtdAttlist\">"); //$NON-NLS-1$
appendAttlist(attributes[i], maxWidth);
+ if (i + 1 == attributes.length) {
+ fWriter.print(">"); //$NON-NLS-1$
+ }
+ fWriter.println("</p>"); //$NON-NLS-1$
}
- fWriter.println("></p>"); //$NON-NLS-1$
-
}
fWriter.println("<p></p>"); //$NON-NLS-1$
@@ -327,8 +330,12 @@
return false;
}
+ /**
+ * Writes out an attribute for an element's attribute list. Note that this method does not add newlines.
+ * @param att the schema attribute to print
+ * @param maxWidth the length of the largest name in the list so items can be padded out.
+ */
private void appendAttlist(ISchemaAttribute att, int maxWidth) {
- fWriter.print("<p class=\"code SchemaDtdAttlist\">"); //$NON-NLS-1$
// add name
fWriter.print(att.getName());
// fill spaces to align data type
@@ -363,7 +370,6 @@
fWriter.print("\"" + att.getValue() + "\""); //$NON-NLS-1$ //$NON-NLS-2$
} else if (!choices)
fWriter.print("#IMPLIED"); //$NON-NLS-1$
- fWriter.print("</p>"); //$NON-NLS-1$
}
private void appendRestriction(ISchemaRestriction restriction) {
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/bundle/Bundle.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/bundle/Bundle.java
index 49d79a2..4b0633b 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/bundle/Bundle.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/bundle/Bundle.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2010 IBM Corporation and others.
+ * Copyright (c) 2003, 2012 IBM Corporation and others.
* 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
@@ -10,8 +10,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.core.bundle;
-import java.util.Iterator;
-import java.util.Map;
+import java.util.*;
import org.eclipse.pde.internal.core.ibundle.IBundle;
import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
import org.eclipse.pde.internal.core.text.bundle.ManifestHeader;
@@ -20,40 +19,47 @@
public class Bundle extends BundleObject implements IBundle {
private static final long serialVersionUID = 1L;
- private Map fProperties;
+ private Map fDocumentHeaders = new HeaderMap();
/* (non-Javadoc)
* @see org.eclipse.pde.internal.core.ibundle.IBundle#setHeader(java.lang.String, java.lang.String)
*/
public void setHeader(String key, String value) {
- if (fProperties == null)
- fProperties = new HeaderMap();//TreeMap(new HeaderComparator());
- Object oldValue = fProperties.get(key);
- // an empty string removes the header whereas a non-zero length string with spaces is used to generate an empty header
- if (value == null || value.length() == 0)
- fProperties.remove(key);
- else
- fProperties.put(key, value);
- getModel().fireModelObjectChanged(this, key, oldValue, value);
+ IManifestHeader header = (ManifestHeader) fDocumentHeaders.get(key);
+ String old = null;
+ if (header == null) {
+ header = getModel().getFactory().createHeader(key, value);
+ fDocumentHeaders.put(key, header);
+ getModel().fireModelObjectChanged(header, key, old, value);
+ } else {
+ old = header.getValue();
+ header.setValue(value);
+ }
}
/* (non-Javadoc)
* @see org.eclipse.pde.internal.core.ibundle.IBundle#getHeader(java.lang.String)
*/
public String getHeader(String key) {
- if (fProperties == null) {
- return null;
- }
- return (String) fProperties.get(key);
+ ManifestHeader header = (ManifestHeader) fDocumentHeaders.get(key);
+ return (header != null) ? header.getValue() : null;
}
- public void load(Map properties) {
- // Passed dictionary is read-only
- fProperties = new HeaderMap();//TreeMap(new HeaderComparator());
- Iterator it = properties.keySet().iterator();
- while (it.hasNext()) {
- Object o = it.next();
- fProperties.put(o, properties.get(o));
+ /**
+ * Load a map of String key value pairs into the list of known manifest headers.
+ * Empty value strings will create empty headers. Null values will be ignored.
+ * @param headers map<String, String> of manifest key and values
+ */
+ public void load(Map headers) {
+ Iterator iter = headers.keySet().iterator();
+ while (iter.hasNext()) {
+ String key = iter.next().toString();
+ if (headers.get(key) != null) {
+ String value = headers.get(key).toString();
+ IManifestHeader header = getModel().getFactory().createHeader(key.toString(), value);
+ header.update(); // Format the headers, unknown if this step is necessary for new header objects
+ fDocumentHeaders.put(key.toString(), header);
+ }
}
}
@@ -62,23 +68,36 @@
return localization != null ? localization : Constants.BUNDLE_LOCALIZATION_DEFAULT_BASENAME;
}
- public void setLocalization(String localization) {
- setHeader(Constants.BUNDLE_LOCALIZATION, localization);
- }
-
public void renameHeader(String key, String newKey) {
- if (fProperties == null)
- fProperties = new HeaderMap();//TreeMap(new HeaderComparator());
- if (fProperties.get(key) != null) {
- fProperties.put(newKey, fProperties.remove(key));
+ ManifestHeader header = (ManifestHeader) getManifestHeader(key);
+ if (header != null) {
+ header.setName(newKey);
+ fDocumentHeaders.put(newKey, fDocumentHeaders.remove(key));
}
+ getModel().fireModelObjectChanged(header, newKey, key, newKey);
}
+ /* (non-Javadoc)
+ * @see org.eclipse.pde.internal.core.ibundle.IBundle#getManifestHeader(java.lang.String)
+ */
public IManifestHeader getManifestHeader(String key) {
- return new ManifestHeader(key, getHeader(key), this, System.getProperty("line.separator")); //$NON-NLS-1$
+ IManifestHeader header = getModel().getFactory().createHeader(key, getHeader(key));
+ header.update(); // Format the headers, unknown if this step is necessary for new header objects
+ fDocumentHeaders.put(key, header);
+ return header;
}
+ /**
+ * @return a map containing all key/value pairs of manifest headers as strings, values may be empty strings, but not <code>null</code>
+ */
protected Map getHeaders() {
- return fProperties;
+ Map result = new HashMap(fDocumentHeaders.values().size());
+ for (Iterator iterator = fDocumentHeaders.values().iterator(); iterator.hasNext();) {
+ IManifestHeader currentHeader = (IManifestHeader) iterator.next();
+ if (currentHeader.getValue() != null) {
+ result.put(currentHeader.getKey(), currentHeader.getValue());
+ }
+ }
+ return result;
}
}
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/bundle/BundleModel.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/bundle/BundleModel.java
index bacd61d..6962da1 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/bundle/BundleModel.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/bundle/BundleModel.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
+ * Copyright (c) 2000, 2012 IBM Corporation and others.
* 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
@@ -12,7 +12,6 @@
import java.io.IOException;
import java.io.InputStream;
-import java.util.Map;
import java.util.Properties;
import org.eclipse.osgi.service.resolver.BundleDescription;
import org.eclipse.osgi.service.resolver.HostSpecification;
@@ -20,8 +19,8 @@
import org.eclipse.pde.core.IModelChangedEvent;
import org.eclipse.pde.core.ModelChangedEvent;
import org.eclipse.pde.internal.core.*;
-import org.eclipse.pde.internal.core.ibundle.*;
-import org.eclipse.pde.internal.core.text.bundle.BundleModelFactory;
+import org.eclipse.pde.internal.core.ibundle.IBundle;
+import org.eclipse.pde.internal.core.ibundle.IBundleModel;
import org.osgi.framework.BundleException;
import org.osgi.framework.Constants;
@@ -54,27 +53,15 @@
public void load(InputStream source, boolean outOfSync) {
try {
+ setLoaded(true); // Must be set before loading the manifest otherwise calls to getModel() cause a stack overflow
fBundle.load(ManifestElement.parseBundleManifest(source, null));
if (!outOfSync)
updateTimeStamp();
- setLoaded(true);
- // format headers
- BundleModelFactory factory = new BundleModelFactory(this);
- Map headers = fBundle.getHeaders();
- Object[] keys = headers.keySet().toArray();
- for (int i = 0; i < keys.length; i++) {
- String key = (String) keys[i];
- String value = (String) headers.get(key);
- IManifestHeader header = factory.createHeader(key, value);
- header.update();
- String formatted = header.getValue();
- if (formatted != null && formatted.trim().length() > 0) {
- fBundle.setHeader(key, formatted);
- }
- }
+
} catch (BundleException e) {
+ PDECore.log(e);
} catch (IOException e) {
- } finally {
+ PDECore.log(e);
}
}
@@ -114,9 +101,9 @@
if (desc.getHost() != null) {
properties.put(Constants.FRAGMENT_HOST, writeFragmentHost(desc.getHost()));
}
+ setLoaded(true); // Must set loaded before creating headers as calls to getModel() throw stack overflows
fBundle.load(properties);
updateTimeStamp();
- setLoaded(true);
}
private String writeFragmentHost(HostSpecification host) {
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/ibundle/IBundle.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/ibundle/IBundle.java
index 2059c30..db2f637 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/ibundle/IBundle.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/ibundle/IBundle.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2010 IBM Corporation and others.
+ * Copyright (c) 2003, 2012 IBM Corporation and others.
* 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
@@ -16,21 +16,49 @@
* Sets the value of a header in this bundle. If the value is <code>null</code> the header will be removed from the bundle.
*
* @param key header name
- * @param value value to set the header to, or <code>null</code> or an <b>EMPTY STRING</b> to remove the header.
- * A non-zero length empty string sets an empty header.
+ * @param value value to set the header to, or <code>null</code> to remove a header
*/
void setHeader(String key, String value);
- void renameHeader(String key, String newKey);
+ /**
+ * Convenience method for renaming a manifest header. Creates newKey if it does not exist. Removes oldKey if it exists.
+ * If oldKey exists, the value will be copied to newKey.
+ *
+ * @param oldKey header to rename
+ * @param newKey new name for the header
+ */
+ void renameHeader(String oldKey, String newKey);
+ /**
+ * Returns the current value for the specified header or <code>null</code> if the header does not exist.
+ *
+ * @param key name of the header
+ * @return value of the header or <code>null</code>, may also be an empty string.
+ */
String getHeader(String key);
+ /**
+ * Returns a {@link IManifestHeader} object for the given header key. Will return an existing object if this model
+ * has created it before. Otherwise a new object will be created. The returned object is not guaranteed to be
+ * a specific implementation of IManifestHeader.
+ *
+ * @param key name of the header
+ * @return the manifest header object this model has for the given key or a new object
+ */
IManifestHeader getManifestHeader(String key);
+ /**
+ * Returns the bundle model that this bundle object belongs to.
+ *
+ * @return the bundle model that this bundle object belongs to
+ */
IBundleModel getModel();
+ /**
+ * Returns the value of the bundle localization header or the default location if no header is found
+ *
+ * @return localization header value or the default value
+ */
String getLocalization();
- void setLocalization(String localization);
-
}
diff --git a/ui/org.eclipse.pde.core/text/org/eclipse/pde/internal/core/text/bundle/Bundle.java b/ui/org.eclipse.pde.core/text/org/eclipse/pde/internal/core/text/bundle/Bundle.java
index bdf9404..4b8910c 100644
--- a/ui/org.eclipse.pde.core/text/org/eclipse/pde/internal/core/text/bundle/Bundle.java
+++ b/ui/org.eclipse.pde.core/text/org/eclipse/pde/internal/core/text/bundle/Bundle.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2012 IBM Corporation and others.
* 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
@@ -141,10 +141,6 @@
return localization != null ? localization : Constants.BUNDLE_LOCALIZATION_DEFAULT_BASENAME;
}
- public void setLocalization(String localization) {
- setHeader(Constants.BUNDLE_LOCALIZATION, localization);
- }
-
public void renameHeader(String key, String newKey) {
ManifestHeader header = (ManifestHeader) getManifestHeader(key);
if (header != null) {
diff --git a/ui/org.eclipse.pde.core/text/org/eclipse/pde/internal/core/text/bundle/CompositeManifestHeader.java b/ui/org.eclipse.pde.core/text/org/eclipse/pde/internal/core/text/bundle/CompositeManifestHeader.java
index 75d0000..a1278e7 100644
--- a/ui/org.eclipse.pde.core/text/org/eclipse/pde/internal/core/text/bundle/CompositeManifestHeader.java
+++ b/ui/org.eclipse.pde.core/text/org/eclipse/pde/internal/core/text/bundle/CompositeManifestHeader.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2011 IBM Corporation and others.
+ * Copyright (c) 2005, 2012 IBM Corporation and others.
* 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
@@ -46,8 +46,11 @@
protected void processValue(String value) {
try {
ManifestElement[] elements = ManifestElement.parseHeader(fName, value);
- for (int i = 0; i < elements.length; i++)
- addManifestElement(createElement(elements[i]), false);
+ if (elements != null) {
+ for (int i = 0; i < elements.length; i++) {
+ addManifestElement(createElement(elements[i]), false);
+ }
+ }
} catch (BundleException e) {
}
}
diff --git a/ui/org.eclipse.pde.core/text/org/eclipse/pde/internal/core/text/bundle/SingleManifestHeader.java b/ui/org.eclipse.pde.core/text/org/eclipse/pde/internal/core/text/bundle/SingleManifestHeader.java
index f8c586e..147856c 100644
--- a/ui/org.eclipse.pde.core/text/org/eclipse/pde/internal/core/text/bundle/SingleManifestHeader.java
+++ b/ui/org.eclipse.pde.core/text/org/eclipse/pde/internal/core/text/bundle/SingleManifestHeader.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
+ * Copyright (c) 2005, 2012 IBM Corporation and others.
* 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
@@ -27,7 +27,7 @@
protected void processValue(String value) {
try {
ManifestElement[] elements = ManifestElement.parseHeader(getName(), value);
- if (elements.length > 0)
+ if (elements != null && elements.length > 0)
fElement = new PDEManifestElement(this, elements[0]);
} catch (BundleException e) {
}
diff --git a/ui/org.eclipse.pde.junit.runtime/.settings/org.eclipse.jdt.core.prefs b/ui/org.eclipse.pde.junit.runtime/.settings/org.eclipse.jdt.core.prefs
index fe7c90c..4d0d0d3 100644
--- a/ui/org.eclipse.pde.junit.runtime/.settings/org.eclipse.jdt.core.prefs
+++ b/ui/org.eclipse.pde.junit.runtime/.settings/org.eclipse.jdt.core.prefs
@@ -37,7 +37,7 @@
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
diff --git a/ui/org.eclipse.pde.launching/.settings/org.eclipse.jdt.core.prefs b/ui/org.eclipse.pde.launching/.settings/org.eclipse.jdt.core.prefs
index ad7d416..650f780 100644
--- a/ui/org.eclipse.pde.launching/.settings/org.eclipse.jdt.core.prefs
+++ b/ui/org.eclipse.pde.launching/.settings/org.eclipse.jdt.core.prefs
@@ -37,7 +37,7 @@
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=disabled
diff --git a/ui/org.eclipse.pde.runtime/.settings/org.eclipse.jdt.core.prefs b/ui/org.eclipse.pde.runtime/.settings/org.eclipse.jdt.core.prefs
index 18d544b..ef4b2fc 100644
--- a/ui/org.eclipse.pde.runtime/.settings/org.eclipse.jdt.core.prefs
+++ b/ui/org.eclipse.pde.runtime/.settings/org.eclipse.jdt.core.prefs
@@ -37,7 +37,7 @@
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=disabled
diff --git a/ui/org.eclipse.pde.ui.templates/.settings/org.eclipse.jdt.core.prefs b/ui/org.eclipse.pde.ui.templates/.settings/org.eclipse.jdt.core.prefs
index e391828..61aa843 100644
--- a/ui/org.eclipse.pde.ui.templates/.settings/org.eclipse.jdt.core.prefs
+++ b/ui/org.eclipse.pde.ui.templates/.settings/org.eclipse.jdt.core.prefs
@@ -37,7 +37,7 @@
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/project/ProjectCreationTests.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/project/ProjectCreationTests.java
index 9db65d4..da5433f 100644
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/project/ProjectCreationTests.java
+++ b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/project/ProjectCreationTests.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010, 2012 IBM Corporation and others.
* 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
@@ -747,9 +747,92 @@
assertFalse("Wrong singleton", d2.isSingleton());
assertNull("Wrong export wizard", d2.getExportWizardId());
assertNull("Wrong launch shortctus", d2.getLaunchShortcuts());
- }
+ }
/**
+ * Modify a simple project to add/remove/clear some entries.
+ * See bug 380444 where previous settings weren't being cleared
+ *
+ * @throws CoreException
+ */
+ public void testModifyRequiredBundles() throws CoreException {
+ IBundleProjectDescription description = newProject();
+ IProject project = description.getProject();
+ IBundleProjectService service = getBundleProjectService();
+
+ IRequiredBundleDescription requireDesc = service.newRequiredBundle("requiredBundleOne", null, false, false);
+ IRequiredBundleDescription requireDesc2 = service.newRequiredBundle("requiredBundleTwo", new VersionRange("[1.0.0,2.0.0)"), false, false);
+ IRequiredBundleDescription requireDesc3 = service.newRequiredBundle("requiredBundleThree", null, true, false);
+ IRequiredBundleDescription requireDesc4 = service.newRequiredBundle("requiredBundleFour", null, false, true);
+ description.setRequiredBundles(new IRequiredBundleDescription[]{requireDesc, requireDesc2, requireDesc3, requireDesc4});
+
+ IPackageExportDescription ex0 = service.newPackageExport("a.b.c", new Version("2.0.0"), true, null);
+ IPackageExportDescription ex1 = service.newPackageExport("a.b.c.interal", null, false, null);
+ IPackageExportDescription ex2 = service.newPackageExport("a.b.c.interal.x", null, false, new String[]{"x.y.z"});
+ IPackageExportDescription ex3 = service.newPackageExport("a.b.c.interal.y", new Version("1.2.3"), false, new String[]{"d.e.f", "g.h.i"});
+ description.setPackageExports(new IPackageExportDescription[]{ex0, ex1, ex2, ex3});
+
+ IPackageImportDescription importDesc = service.newPackageImport("importPkgOne", null, false);
+ IPackageImportDescription importDesc2 = service.newPackageImport("importPkgTwo", new VersionRange("[1.0.0,2.0.0)"), false);
+ IPackageImportDescription importDesc3 = service.newPackageImport("importPkgThree", null, true);
+ IPackageImportDescription importDesc4 = service.newPackageImport("importPkgFour", null, false);
+ description.setPackageImports(new IPackageImportDescription[]{importDesc, importDesc2, importDesc3, importDesc4});
+
+ description.apply(null);
+
+ // verify attributes
+ IBundleProjectDescription d2 = service.getDescription(project);
+ assertEquals("Wrong number of required bundles", 4, d2.getRequiredBundles().length);
+ assertEquals("Wrong number of package exports", 4, d2.getPackageExports().length);
+ assertEquals("Wrong number of package imports", 4, d2.getPackageImports().length);
+
+ // add entries
+ IRequiredBundleDescription requireDesc5 = service.newRequiredBundle("requiredBundleFive", null, false, false);
+ IRequiredBundleDescription requireDesc6 = service.newRequiredBundle("requiredBundleSix", null, false, false);
+ description.setRequiredBundles(new IRequiredBundleDescription[]{requireDesc, requireDesc2, requireDesc3, requireDesc4, requireDesc5, requireDesc6});
+
+ IPackageExportDescription ex4 = service.newPackageExport("a.b.c.interal.x2", null, false, new String[]{"x.y.z"});
+ IPackageExportDescription ex5 = service.newPackageExport("a.b.c.interal.y2", new Version("1.2.3"), false, new String[]{"d.e.f", "g.h.i"});
+ description.setPackageExports(new IPackageExportDescription[]{ex0, ex1, ex2, ex3, ex4, ex5});
+
+ IPackageImportDescription importDesc5 = service.newPackageImport("importPkgFive", null, true);
+ IPackageImportDescription importDesc6 = service.newPackageImport("importPkgSix", null, false);
+ description.setPackageImports(new IPackageImportDescription[]{importDesc, importDesc2, importDesc3, importDesc4, importDesc5, importDesc6});
+
+ description.apply(null);
+
+ // verify attributes
+ IBundleProjectDescription d3 = service.getDescription(project);
+ assertEquals("Wrong number of required bundles after additions", 6, d3.getRequiredBundles().length);
+ assertEquals("Wrong number of package exports after addtions", 6, d3.getPackageExports().length);
+ assertEquals("Wrong number of package imports after additions", 6, d3.getPackageImports().length);
+
+ // remove most entries
+ description.setRequiredBundles(new IRequiredBundleDescription[]{requireDesc2, requireDesc5});
+ description.setPackageExports(new IPackageExportDescription[]{ex1, ex4});
+ description.setPackageImports(new IPackageImportDescription[]{importDesc2, importDesc5});
+ description.apply(null);
+
+ // verify attributes
+ IBundleProjectDescription d4 = service.getDescription(project);
+ assertEquals("Wrong number of required bundles after removals", 2, d4.getRequiredBundles().length);
+ assertEquals("Wrong number of package exports after removals", 2, d4.getPackageExports().length);
+ assertEquals("Wrong number of package imports after removals", 2, d4.getPackageImports().length);
+
+ // clear entries
+ description.setRequiredBundles(null);
+ description.setPackageExports(null);
+ description.setPackageImports(null);
+ description.apply(null);
+
+ // verify attributes
+ IBundleProjectDescription d5 = service.getDescription(project);
+ assertNull("Wrong number of required bundles after removals", d5.getRequiredBundles());
+ assertNull("Wrong number of package exports after removals", d5.getPackageExports());
+ assertNull("Wrong number of package imports after removals", d5.getPackageImports());
+ }
+
+ /**
* Convert a fragment into a bundle
*
* @throws CoreException
diff --git a/ui/org.eclipse.pde.ui/.settings/org.eclipse.jdt.core.prefs b/ui/org.eclipse.pde.ui/.settings/org.eclipse.jdt.core.prefs
index fe7c90c..4d0d0d3 100644
--- a/ui/org.eclipse.pde.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/ui/org.eclipse.pde.ui/.settings/org.eclipse.jdt.core.prefs
@@ -37,7 +37,7 @@
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
diff --git a/ui/org.eclipse.pde.ui/META-INF/MANIFEST.MF b/ui/org.eclipse.pde.ui/META-INF/MANIFEST.MF
index 96c2e98..41cf46a 100644
--- a/ui/org.eclipse.pde.ui/META-INF/MANIFEST.MF
+++ b/ui/org.eclipse.pde.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %name
Bundle-SymbolicName: org.eclipse.pde.ui; singleton:=true
-Bundle-Version: 3.7.0.qualifier
+Bundle-Version: 3.7.100.qualifier
Bundle-Activator: org.eclipse.pde.internal.ui.PDEPlugin
Bundle-Vendor: %provider-name
Bundle-Localization: plugin
diff --git a/ui/org.eclipse.pde.ui/icons/dtool16/eclipse_launcher_wiz.gif b/ui/org.eclipse.pde.ui/icons/dtool16/eclipse_launcher_wiz.gif
deleted file mode 100644
index 18aac88..0000000
--- a/ui/org.eclipse.pde.ui/icons/dtool16/eclipse_launcher_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui/icons/etool16/eclipse_launcher_wiz.gif b/ui/org.eclipse.pde.ui/icons/etool16/eclipse_launcher_wiz.gif
deleted file mode 100644
index 4cdb299..0000000
--- a/ui/org.eclipse.pde.ui/icons/etool16/eclipse_launcher_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/PDEPluginImages.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/PDEPluginImages.java
index f3b36df..4fb9439 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/PDEPluginImages.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/PDEPluginImages.java
@@ -200,7 +200,6 @@
public static final ImageDescriptor DESC_NEWFTRPRJ_TOOL = create(PATH_TOOL, "newftrprj_wiz.gif"); //$NON-NLS-1$
public static final ImageDescriptor DESC_NEWPPRJ_TOOL = create(PATH_TOOL, "newpprj_wiz.gif"); //$NON-NLS-1$
public static final ImageDescriptor DESC_NEWFRAGPRJ_TOOL = create(PATH_TOOL, "newfprj_wiz.gif"); //$NON-NLS-1$
- public static final ImageDescriptor DESC_WORKBENCH_LAUNCHER_WIZ = create(PATH_TOOL, "eclipse_launcher_wiz.gif"); //$NON-NLS-1$
public static final ImageDescriptor DESC_NEWEXP_WIZ_TOOL = create(PATH_TOOL, "newexp_wiz.gif"); //$NON-NLS-1$
public static final ImageDescriptor DESC_DEPLOYCS_TOOL = create(PATH_TOOL, "new_cheatsheet_wiz.gif"); //$NON-NLS-1$
public static final ImageDescriptor DESC_VALIDATE_TOOL = create(PATH_TOOL, "validate.gif"); //$NON-NLS-1$
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/ExternalizeStringsOperation.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/ExternalizeStringsOperation.java
index e5deb32..9e9f5a6 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/ExternalizeStringsOperation.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/ExternalizeStringsOperation.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2010 IBM Corporation and others.
+ * Copyright (c) 2005, 2012 IBM Corporation and others.
* 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
@@ -37,6 +37,7 @@
import org.eclipse.pde.internal.ui.util.PDEModelUtility;
import org.eclipse.text.edits.*;
import org.eclipse.ui.actions.WorkspaceModifyOperation;
+import org.osgi.framework.Constants;
public class ExternalizeStringsOperation extends WorkspaceModifyOperation {
@@ -178,7 +179,7 @@
if (model instanceof IBundlePluginModelBase) {
IBundlePluginModelBase bundleModel = (IBundlePluginModelBase) model;
IBundle bundle = bundleModel.getBundleModel().getBundle();
- bundle.setLocalization(localiz);
+ bundle.setHeader(Constants.BUNDLE_LOCALIZATION, localiz);
}
}
}, mon);
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/refactoring/BundleManifestChange.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/refactoring/BundleManifestChange.java
index 832e16f..e898597 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/refactoring/BundleManifestChange.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/refactoring/BundleManifestChange.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
+ * Copyright (c) 2005, 2012 IBM Corporation and others.
* 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
@@ -155,9 +155,9 @@
private static void renameLocalization(Bundle bundle, String oldText, String newText) {
if (newText.endsWith(".properties")) //$NON-NLS-1$
- bundle.setLocalization(LocaleUtil.trimLocalization(newText));
+ bundle.setHeader(Constants.BUNDLE_LOCALIZATION, LocaleUtil.trimLocalization(newText));
else
- bundle.setLocalization(null);
+ bundle.setHeader(Constants.BUNDLE_LOCALIZATION, null);
}
private static void resetHeaderValue(IManifestHeader header, boolean isPackage, String oldText, String newText) {
diff --git a/ui/org.eclipse.pde/.settings/org.eclipse.jdt.core.prefs b/ui/org.eclipse.pde/.settings/org.eclipse.jdt.core.prefs
index c0cb5a6..d1075bf 100644
--- a/ui/org.eclipse.pde/.settings/org.eclipse.jdt.core.prefs
+++ b/ui/org.eclipse.pde/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Fri Oct 03 17:34:09 CDT 2008
eclipse.preferences.version=1
org.eclipse.jdt.core.builder.cleanOutputFolder=clean
org.eclipse.jdt.core.builder.duplicateResourceTask=warning
@@ -42,7 +41,7 @@
org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
diff --git a/ui/org.eclipse.ui.trace/.settings/org.eclipse.jdt.core.prefs b/ui/org.eclipse.ui.trace/.settings/org.eclipse.jdt.core.prefs
index 55a11d7..239445b 100644
--- a/ui/org.eclipse.ui.trace/.settings/org.eclipse.jdt.core.prefs
+++ b/ui/org.eclipse.ui.trace/.settings/org.eclipse.jdt.core.prefs
@@ -43,7 +43,7 @@
org.eclipse.jdt.core.compiler.problem.includeFieldsInNullAnalysis=disabled
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
diff --git a/ui/org.eclipse.ui.views.log/.settings/org.eclipse.jdt.core.prefs b/ui/org.eclipse.ui.views.log/.settings/org.eclipse.jdt.core.prefs
index 10c4d00..1eb11a5 100644
--- a/ui/org.eclipse.ui.views.log/.settings/org.eclipse.jdt.core.prefs
+++ b/ui/org.eclipse.ui.views.log/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Wed Jan 02 10:20:52 CST 2008
eclipse.preferences.version=1
org.eclipse.jdt.core.builder.cleanOutputFolder=clean
org.eclipse.jdt.core.builder.duplicateResourceTask=warning
@@ -42,7 +41,7 @@
org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private