Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVikas Chandra2019-02-28 14:27:59 +0000
committerVikas Chandra2019-02-28 14:27:59 +0000
commit944436e37909d89f74d7b21abacefc660de09d12 (patch)
treeb2500ae90b1232d92434c14be09c0c5ce6e5bb9d
parent32eec5bd6f3e0140d860f5bbeb601c1d0674968f (diff)
parent1f9b2c673d11dd00995ec9db87b40afd54833135 (diff)
downloadeclipse.pde.ui-BETA_JAVA_12.tar.gz
eclipse.pde.ui-BETA_JAVA_12.tar.xz
eclipse.pde.ui-BETA_JAVA_12.zip
-rw-r--r--apitools/org.eclipse.pde.api.tools.ui/META-INF/MANIFEST.MF2
-rw-r--r--apitools/org.eclipse.pde.api.tools.ui/pom.xml2
-rw-r--r--apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiUseScanPreferencePage.java4
-rw-r--r--apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/CompareOperation.java8
-rw-r--r--apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiDescriptionProcessor.java2
-rw-r--r--apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ProjectApiDescription.java9
-rw-r--r--apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ReferenceExtractor.java9
-rw-r--r--apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/UseScanManager.java2
-rw-r--r--apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/ApiFileGenerationTask.java4
-rw-r--r--ua/org.eclipse.pde.ua.ui/META-INF/MANIFEST.MF2
-rw-r--r--ua/org.eclipse.pde.ua.ui/pom.xml2
-rwxr-xr-xua/org.eclipse.pde.ua.ui/src/org/eclipse/pde/internal/ua/ui/editor/toc/TocTreeSection.java8
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/P2Utils.java2
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PreferenceInitializer.java4
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/TargetPlatformHelper.java2
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/CompilerFlags.java2
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/plugin/ImportObject.java5
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/JREInfo.java2
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/PluginConfiguration.java2
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/ProductPlugin.java2
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/RepositoryInfo.java2
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/schema/Schema.java2
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/site/RepositoryReference.java2
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/AbstractTargetHandle.java13
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/ExternalFileTargetHandle.java75
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/IULocationFactory.java6
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/LocalTargetHandle.java48
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/P2TargetUtils.java6
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetDefinition.java28
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetDefinitionPersistenceHelper.java64
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPersistence34Helper.java2
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPersistence35Helper.java2
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPersistence36Helper.java4
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPlatformService.java43
-rw-r--r--ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/WorkspaceFileTargetHandle.java30
-rw-r--r--ui/org.eclipse.pde.genericeditor.extension.tests/META-INF/MANIFEST.MF2
-rw-r--r--ui/org.eclipse.pde.genericeditor.extension.tests/pom.xml2
-rw-r--r--ui/org.eclipse.pde.genericeditor.extension.tests/src/org/eclipse/pde/genericeditor/extension/tests/Bug528706CompletionWithMultilineTagsTest.java6
-rw-r--r--ui/org.eclipse.pde.genericeditor.extension.tests/src/org/eclipse/pde/genericeditor/extension/tests/Bug531602FormattingTests.java52
-rw-r--r--ui/org.eclipse.pde.genericeditor.extension.tests/testing-files/target-files/MultilineTagTestCaseTarget.txt4
-rw-r--r--ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/reconciler/folding/FoldingReconcilerStrategy.java24
-rw-r--r--ui/org.eclipse.pde.launching/src/org/eclipse/pde/internal/launching/launcher/BundleLauncherHelper.java2
-rw-r--r--ui/org.eclipse.pde.ui.templates.tests/META-INF/MANIFEST.MF2
-rw-r--r--ui/org.eclipse.pde.ui.templates.tests/pom.xml2
-rw-r--r--ui/org.eclipse.pde.ui.templates.tests/src/org/eclipse/pde/ui/templates/tests/TestPDETemplates.java10
-rw-r--r--ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/runtime/AbstractRegistryModelTest.java2
-rw-r--r--ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/runtime/TestUtils.java21
-rw-r--r--ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/IUBundleContainerTests.java71
-rw-r--r--ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/LocalTargetDefinitionTests.java16
-rw-r--r--ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/MinimalTargetDefinitionPersistenceTests.java24
-rw-r--r--ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/TargetDefinitionPersistenceTests.java54
-rw-r--r--ui/org.eclipse.pde.ui/plugin.properties20
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AbstractManifestMarkerResolution.java7
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AbstractPDEMarkerResolution.java23
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AbstractXMLMarkerResolution.java8
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddActivationHeaderResolution.java8
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddActivationPolicyResolution.java7
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddAutomaticModuleResolution.java4
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddBuildEntryResolution.java8
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddBundleClassPathMarkerResolution.java8
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddBundleManifestVersionResolution.java13
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddDefaultExecutionEnvironmentResolution.java8
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddExportPackageMarkerResolution.java27
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddNewExtensionPointResolution.java7
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddNewExtensionResolution.java7
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddSingletonToSymbolicName.java7
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddSourceBuildEntryResolution.java8
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AppendSeperatorBuildEntryResolution.java6
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/BuildEntryMarkerResolution.java4
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ChooseManifestClassResolution.java7
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ConfigureProblemSeverityForPDECompilerResolution.java6
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/CreateJREBundleHeaderResolution.java7
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/CreateManifestClassResolution.java7
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/DeletePluginBaseResolution.java6
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ExternalizeResolution.java7
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ExternalizeStringsResolution.java12
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/NoLineTerminationResolution.java13
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OptionalImportPackageResolution.java8
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OptionalRequireBundleResolution.java8
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OrganizeExportPackageResolution.java7
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OrganizeImportPackageResolution.java7
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OrganizeRequireBundleResolution.java7
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveBuildEntryResolution.java8
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveExportPackageResolution.java8
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveImportExportServicesResolution.java7
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveImportPackageResolution.java8
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveInternalDirectiveEntryResolution.java8
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveLazyLoadingDirectiveResolution.java9
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveRequireBundleResolution.java8
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveSeperatorBuildEntryResolution.java8
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveStaticProjectReferences.java6
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveUnknownExecEnvironments.java7
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RenameProvidePackageResolution.java7
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ReplaceBuildEntryResolution.java8
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ResolutionGenerator.java62
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/UnsupportedSingletonDirectiveResolution.java7
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/UpdateActivationResolution.java9
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/UpdateClasspathResolution.java6
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/category/RepositoryReferenceSection.java2
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/contentassist/ManifestContentAssistProcessor.java27
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/JavaAttributeWizardPage.java4
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/GeneralInfoSection.java2
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/PluginConfigurationSection.java2
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/UpdatesSection.java2
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/targetdefinition/TargetEditor.java16
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/preferences/PDECompilersConfigurationBlock.java4
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/search/dependencies/DependencyExtentOperation.java4
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/search/dependencies/GatherUnusedDependenciesOperation.java4
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/views/plugins/PluginsView.java21
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/exports/ExportOptionsTab.java6
-rw-r--r--ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/FragmentContentPage.java4
-rw-r--r--ui/org.eclipse.ui.trace/META-INF/MANIFEST.MF2
-rw-r--r--ui/org.eclipse.ui.trace/pom.xml2
-rw-r--r--ui/org.eclipse.ui.trace/src/org/eclipse/ui/trace/internal/TracingPreferencePage.java4
-rw-r--r--ui/org.eclipse.ui.trace/src/org/eclipse/ui/trace/internal/datamodel/TracingComponent.java2
115 files changed, 616 insertions, 646 deletions
diff --git a/apitools/org.eclipse.pde.api.tools.ui/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.ui/META-INF/MANIFEST.MF
index 531b1194f4..a94f2006b1 100644
--- a/apitools/org.eclipse.pde.api.tools.ui/META-INF/MANIFEST.MF
+++ b/apitools/org.eclipse.pde.api.tools.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.pde.api.tools.ui; singleton:=true
-Bundle-Version: 1.1.500.qualifier
+Bundle-Version: 1.1.600.qualifier
Bundle-Localization: plugin
Eclipse-LazyStart: true
Bundle-ActivationPolicy: lazy
diff --git a/apitools/org.eclipse.pde.api.tools.ui/pom.xml b/apitools/org.eclipse.pde.api.tools.ui/pom.xml
index 95105cc797..7c20a46ea5 100644
--- a/apitools/org.eclipse.pde.api.tools.ui/pom.xml
+++ b/apitools/org.eclipse.pde.api.tools.ui/pom.xml
@@ -19,6 +19,6 @@
</parent>
<groupId>org.eclipse.pde</groupId>
<artifactId>org.eclipse.pde.api.tools.ui</artifactId>
- <version>1.1.500-SNAPSHOT</version>
+ <version>1.1.600-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiUseScanPreferencePage.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiUseScanPreferencePage.java
index f845ff0221..361451bb38 100644
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiUseScanPreferencePage.java
+++ b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiUseScanPreferencePage.java
@@ -332,7 +332,7 @@ public class ApiUseScanPreferencePage extends PreferencePage implements IWorkben
for (String locationString : locations) {
String values[] = locationString.split(UseScanManager.ESCAPE_REGEX + UseScanManager.STATE_DELIM);
fLocationList.add(values[0]);
- if (Boolean.valueOf(values[1]).booleanValue()) {
+ if (Boolean.parseBoolean(values[1])) {
checkedLocations.add(values[0]);
}
}
@@ -396,7 +396,7 @@ public class ApiUseScanPreferencePage extends PreferencePage implements IWorkben
String[] locations = oldLocations.split(UseScanManager.ESCAPE_REGEX + UseScanManager.LOCATION_DELIM);
for (String location : locations) {
String values[] = location.split(UseScanManager.ESCAPE_REGEX + UseScanManager.STATE_DELIM);
- if (Boolean.valueOf(values[1]).booleanValue()) {
+ if (Boolean.parseBoolean(values[1])) {
oldCheckedElements.add(values[0]);
}
}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/CompareOperation.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/CompareOperation.java
index 8ae331f862..236c7a863f 100644
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/CompareOperation.java
+++ b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/CompareOperation.java
@@ -22,10 +22,10 @@ import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.OperationCanceledException;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jdt.core.IClassFile;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.IOrdinaryClassFile;
import org.eclipse.jdt.core.IPackageFragment;
import org.eclipse.jdt.core.IPackageFragmentRoot;
import org.eclipse.jdt.core.IType;
@@ -206,8 +206,8 @@ public class CompareOperation extends Job {
return;
}
if (isArchive) {
- IClassFile[] classFiles = packageFragment.getClassFiles();
- for (IClassFile classFile : classFiles) {
+ IOrdinaryClassFile[] classFiles = packageFragment.getOrdinaryClassFiles();
+ for (IOrdinaryClassFile classFile : classFiles) {
addElementFor(classFile, apiComponent, scope);
}
} else {
@@ -218,7 +218,7 @@ public class CompareOperation extends Job {
}
}
- private static void addElementFor(IClassFile classFile, IApiComponent apiComponent, ApiScope scope) {
+ private static void addElementFor(IOrdinaryClassFile classFile, IApiComponent apiComponent, ApiScope scope) {
try {
IApiTypeRoot typeRoot = apiComponent.findTypeRoot(classFile.getType().getFullyQualifiedName());
if (typeRoot != null) {
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiDescriptionProcessor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiDescriptionProcessor.java
index d07420de94..6371330fa7 100644
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiDescriptionProcessor.java
+++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiDescriptionProcessor.java
@@ -758,7 +758,7 @@ public class ApiDescriptionProcessor {
String value = element.getAttribute(name);
int lres = res;
if (value.length() > 0) {
- if (!Boolean.valueOf(value).booleanValue()) {
+ if (!Boolean.parseBoolean(value)) {
lres = res | flag;
}
}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ProjectApiDescription.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ProjectApiDescription.java
index a7bb8919ea..33790001f9 100644
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ProjectApiDescription.java
+++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ProjectApiDescription.java
@@ -33,6 +33,7 @@ import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.IOrdinaryClassFile;
import org.eclipse.jdt.core.IPackageFragment;
import org.eclipse.jdt.core.IPackageFragmentRoot;
import org.eclipse.jdt.core.IType;
@@ -368,8 +369,8 @@ public class ProjectApiDescription extends ApiDescription {
String cuName = unit.getElementName();
String tName = cuName.substring(0, cuName.length() - ".java".length()); //$NON-NLS-1$
visit(visitor, unit.getType(tName));
- } else if (child instanceof IClassFile) {
- visit(visitor, ((IClassFile) child).getType());
+ } else if (child instanceof IOrdinaryClassFile) {
+ visit(visitor, ((IOrdinaryClassFile) child).getType());
}
}
} else {
@@ -489,8 +490,8 @@ public class ProjectApiDescription extends ApiDescription {
}
} else {
IClassFile file = fragment.getClassFile(name + ".class"); //$NON-NLS-1$
- if (file.exists()) {
- type = file.getType();
+ if (file.exists() && file instanceof IOrdinaryClassFile) {
+ type = ((IOrdinaryClassFile) file).getType();
}
}
}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ReferenceExtractor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ReferenceExtractor.java
index e4d50336a6..e6d64cf8dc 100644
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ReferenceExtractor.java
+++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ReferenceExtractor.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2018 IBM Corporation and others.
+ * Copyright (c) 2007, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -415,7 +415,8 @@ public class ReferenceExtractor extends ClassVisitor {
}
if (root != null) {
IApiType type = root.getStructure();
- if (type != null && getDefaultDefined(type, name, desc, false) != null) {
+ if (type != null && (!"<init>".equals(name)) //$NON-NLS-1$
+ && getDefaultDefined(type, name, desc, false) != null) {
flags = IReference.F_DEFAULT_METHOD;
}
}
@@ -1397,7 +1398,9 @@ public class ReferenceExtractor extends ClassVisitor {
IApiType def = null;
if (fVersion >= Opcodes.V1_8) {
// See if we are overriding a default interface method
- def = getDefaultDefined(owner, name, desc, true);
+ if (!"<init>".equals(name)) { //$NON-NLS-1$
+ def = getDefaultDefined(owner, name, desc, true);
+ }
}
if (def != null) {
addReference(Reference.methodReference(method, def.getName(), method.getName(), method.getSignature(), IReference.REF_OVERRIDE, IReference.F_DEFAULT_METHOD));
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/UseScanManager.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/UseScanManager.java
index a3899ec48a..cd18bf3710 100644
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/UseScanManager.java
+++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/UseScanManager.java
@@ -376,7 +376,7 @@ public class UseScanManager {
ArrayList<String> locationList = new ArrayList<>(locations.length);
for (String location : locations) {
String values[] = location.split(ESCAPE_REGEX + STATE_DELIM);
- if (Boolean.valueOf(values[1]).booleanValue()) {
+ if (Boolean.parseBoolean(values[1])) {
locationList.add(values[0]);
}
}
diff --git a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/ApiFileGenerationTask.java b/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/ApiFileGenerationTask.java
index 9a633bb570..30853cbaec 100644
--- a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/ApiFileGenerationTask.java
+++ b/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/ApiFileGenerationTask.java
@@ -200,7 +200,7 @@ public class ApiFileGenerationTask extends Task {
* @param allow
*/
public void setAllowNonApiProject(String allow) {
- this.allowNonApiProject = Boolean.valueOf(allow).booleanValue();
+ this.allowNonApiProject = Boolean.parseBoolean(allow);
}
/**
@@ -509,7 +509,7 @@ public class ApiFileGenerationTask extends Task {
Object directive = directiveKeys.nextElement();
if ("x-internal".equals(directive)) { //$NON-NLS-1$
String value = packageName.getDirective((String) directive);
- if (Boolean.valueOf(value).booleanValue()) {
+ if (Boolean.parseBoolean(value)) {
include = false;
break loop;
}
diff --git a/ua/org.eclipse.pde.ua.ui/META-INF/MANIFEST.MF b/ua/org.eclipse.pde.ua.ui/META-INF/MANIFEST.MF
index eeac35e2ba..5c1de44ab6 100644
--- a/ua/org.eclipse.pde.ua.ui/META-INF/MANIFEST.MF
+++ b/ua/org.eclipse.pde.ua.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.pde.ua.ui;singleton:=true
-Bundle-Version: 1.1.300.qualifier
+Bundle-Version: 1.1.400.qualifier
Bundle-Activator: org.eclipse.pde.internal.ua.ui.PDEUserAssistanceUIPlugin
Require-Bundle: org.eclipse.ui;bundle-version="[3.4.0,4.0.0)",
org.eclipse.core.runtime;bundle-version="[3.11.0,4.0.0)",
diff --git a/ua/org.eclipse.pde.ua.ui/pom.xml b/ua/org.eclipse.pde.ua.ui/pom.xml
index 4d2ec03c31..0e0b5b1340 100644
--- a/ua/org.eclipse.pde.ua.ui/pom.xml
+++ b/ua/org.eclipse.pde.ua.ui/pom.xml
@@ -20,7 +20,7 @@
</parent>
<groupId>org.eclipse.pde</groupId>
<artifactId>org.eclipse.pde.ua.ui</artifactId>
- <version>1.1.300-SNAPSHOT</version>
+ <version>1.1.400-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<properties>
diff --git a/ua/org.eclipse.pde.ua.ui/src/org/eclipse/pde/internal/ua/ui/editor/toc/TocTreeSection.java b/ua/org.eclipse.pde.ua.ui/src/org/eclipse/pde/internal/ua/ui/editor/toc/TocTreeSection.java
index 2b5140b43e..26454e44a9 100755
--- a/ua/org.eclipse.pde.ua.ui/src/org/eclipse/pde/internal/ua/ui/editor/toc/TocTreeSection.java
+++ b/ua/org.eclipse.pde.ua.ui/src/org/eclipse/pde/internal/ua/ui/editor/toc/TocTreeSection.java
@@ -1109,8 +1109,12 @@ public class TocTreeSection extends TreeSection {
* Remove the selected objects from the TOC tree
*/
private void handleDeleteAction() {
- ArrayList objects = new ArrayList<>(
- fTocTree.getStructuredSelection().toList());
+ List<?> list = fTocTree.getStructuredSelection().toList();
+ ArrayList<TocObject> objects = new ArrayList<>(list.size());
+ for (Object o : list) {
+ if (o instanceof TocObject)
+ objects.add((TocObject) o);
+ }
boolean beep = false;
// Iterate through the list of selected objects, removing ones
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/P2Utils.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/P2Utils.java
index f99d23aa70..98881e3981 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/P2Utils.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/P2Utils.java
@@ -296,7 +296,7 @@ public class P2Utils {
if ("default".equals(auto)) {//$NON-NLS-1$
isAuto = defaultAutoStart;
} else {
- isAuto = Boolean.valueOf(auto).booleanValue();
+ isAuto = Boolean.parseBoolean(auto);
}
if ("default".equals(levelString)) {//$NON-NLS-1$
level = defaultStartLevel;
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PreferenceInitializer.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PreferenceInitializer.java
index 4aab67f067..aa833d895a 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PreferenceInitializer.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PreferenceInitializer.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2017 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -52,7 +52,7 @@ public class PreferenceInitializer extends AbstractPreferenceInitializer {
prefs.putInt(CompilerFlags.P_BUILD_ENCODINGS, CompilerFlags.IGNORE);
prefs.putInt(CompilerFlags.P_INCOMPATIBLE_ENV, CompilerFlags.WARNING);
- prefs.putInt(CompilerFlags.P_MISSING_EXPORT_PKGS, CompilerFlags.IGNORE);
+ prefs.putInt(CompilerFlags.P_MISSING_EXPORT_PKGS, CompilerFlags.WARNING);
prefs.putInt(CompilerFlags.P_MISSING_VERSION_EXP_PKG, CompilerFlags.IGNORE);
prefs.putInt(CompilerFlags.P_MISSING_VERSION_IMP_PKG, CompilerFlags.IGNORE);
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/TargetPlatformHelper.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/TargetPlatformHelper.java
index 7d3c76b718..f41c729a32 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/TargetPlatformHelper.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/TargetPlatformHelper.java
@@ -296,7 +296,7 @@ public class TargetPlatformHelper {
continue;
}
String visiblity = elements[0].getAttribute("visible"); //$NON-NLS-1$
- boolean visible = visiblity == null ? true : Boolean.valueOf(visiblity).booleanValue();
+ boolean visible = visiblity == null ? true : Boolean.parseBoolean(visiblity);
if (id != null && visible) {
result.add(id);
}
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/CompilerFlags.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/CompilerFlags.java
index ea0ac4f3db..dee6c320b6 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/CompilerFlags.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/CompilerFlags.java
@@ -112,7 +112,7 @@ public class CompilerFlags {
* @return the boolean value for the given preference id
*/
public static boolean getBoolean(IProject project, String flagId) {
- return Boolean.valueOf(getString(project, flagId)).booleanValue();
+ return Boolean.parseBoolean(getString(project, flagId));
}
/**
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/plugin/ImportObject.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/plugin/ImportObject.java
index 5eaed5ceef..4172ab4a24 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/plugin/ImportObject.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/plugin/ImportObject.java
@@ -15,6 +15,7 @@ package org.eclipse.pde.internal.core.plugin;
import java.io.PrintWriter;
import java.io.Serializable;
+import org.eclipse.osgi.service.resolver.VersionRange;
import org.eclipse.pde.core.ISourceObject;
import org.eclipse.pde.core.IWritable;
import org.eclipse.pde.core.plugin.IPluginBase;
@@ -86,7 +87,9 @@ public class ImportObject extends PluginReference implements IWritable, Serializ
@Override
protected IPluginModelBase findModel() {
- return PluginRegistry.findModel(getId(), iimport.getVersion(), iimport.getMatch(), null);
+ String version = iimport.getVersion();
+ VersionRange range = new VersionRange(version);
+ return PluginRegistry.findModel(getId(), range, null);
}
}
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/JREInfo.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/JREInfo.java
index c50bdc4855..2fd53c76f3 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/JREInfo.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/JREInfo.java
@@ -103,7 +103,7 @@ public class JREInfo extends ProductObject implements IJREInfo {
Node child = list.item(i);
if (child.getNodeType() == Node.ELEMENT_NODE) {
Node includeNode = child.getAttributes().getNamedItem("include"); //$NON-NLS-1$
- boolean include = includeNode != null ? Boolean.valueOf(includeNode.getNodeValue()).booleanValue() : true;
+ boolean include = includeNode != null ? Boolean.parseBoolean(includeNode.getNodeValue()) : true;
if (child.getNodeName().equals(JRE_LIN)) {
fJVMLin = getPath(child);
bIncludeLin = include;
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/PluginConfiguration.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/PluginConfiguration.java
index 0bd47a0895..36b7bc1fcf 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/PluginConfiguration.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/PluginConfiguration.java
@@ -41,7 +41,7 @@ public class PluginConfiguration extends ProductObject implements IPluginConfigu
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) node;
fId = element.getAttribute("id"); //$NON-NLS-1$
- fAutoStart = Boolean.valueOf(element.getAttribute(P_AUTO_START)).booleanValue();
+ fAutoStart = Boolean.parseBoolean(element.getAttribute(P_AUTO_START));
fStartLevel = Integer.parseInt(element.getAttribute(P_START_LEVEL));
}
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/ProductPlugin.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/ProductPlugin.java
index bc5c53ae53..a1d0399ae8 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/ProductPlugin.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/ProductPlugin.java
@@ -48,7 +48,7 @@ public class ProductPlugin extends ProductObject implements IProductPlugin {
fId = element.getAttribute("id"); //$NON-NLS-1$
fVersion = element.getAttribute("version"); //$NON-NLS-1$
String fragment = element.getAttribute("fragment"); //$NON-NLS-1$
- fFragment = Boolean.valueOf(fragment).booleanValue();
+ fFragment = Boolean.parseBoolean(fragment);
}
}
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/RepositoryInfo.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/RepositoryInfo.java
index a57adb6cea..b7e4f4456c 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/RepositoryInfo.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/product/RepositoryInfo.java
@@ -66,7 +66,7 @@ public class RepositoryInfo extends ProductObject implements IRepositoryInfo {
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) node;
fURL = element.getAttribute("location"); //$NON-NLS-1$
- fEnabled = Boolean.valueOf(element.getAttribute(P_ENABLED)).booleanValue();
+ fEnabled = Boolean.parseBoolean(element.getAttribute(P_ENABLED));
}
}
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/schema/Schema.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/schema/Schema.java
index 5462c118e6..5b9643855f 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/schema/Schema.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/schema/Schema.java
@@ -783,7 +783,7 @@ public class Schema extends PlatformObject implements ISchema {
// set internal
String internal = getAttribute(meta, ISchemaRootElement.P_INTERNAL);
- ((ISchemaRootElement) element).setInternal(Boolean.valueOf(internal).booleanValue());
+ ((ISchemaRootElement) element).setInternal(Boolean.parseBoolean(internal));
}
}
}
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/site/RepositoryReference.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/site/RepositoryReference.java
index dcf0faadff..13b21ee578 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/site/RepositoryReference.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/site/RepositoryReference.java
@@ -64,7 +64,7 @@ public class RepositoryReference extends SiteObject implements IRepositoryRefere
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) node;
fURL = element.getAttribute("location"); //$NON-NLS-1$
- fEnabled = Boolean.valueOf(element.getAttribute(P_ENABLED)).booleanValue();
+ fEnabled = Boolean.parseBoolean(element.getAttribute(P_ENABLED));
}
}
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/AbstractTargetHandle.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/AbstractTargetHandle.java
index 5f6b918dd5..1b249ae7e1 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/AbstractTargetHandle.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/AbstractTargetHandle.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2011 IBM Corporation and others.
+ * Copyright (c) 2008, 2018 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -8,13 +8,14 @@
*
* SPDX-License-Identifier: EPL-2.0
*
+ *
* Contributors:
* IBM Corporation - initial API and implementation
* EclipseSource Inc. - initial API and implementation
*******************************************************************************/
package org.eclipse.pde.internal.core.target;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
+import java.io.InputStream;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.pde.core.target.ITargetDefinition;
import org.eclipse.pde.core.target.ITargetHandle;
@@ -30,7 +31,7 @@ public abstract class AbstractTargetHandle implements ITargetHandle {
public ITargetDefinition getTargetDefinition() throws CoreException {
TargetDefinition definition = new TargetDefinition(this);
if (exists()) {
- definition.setContents(getTextFileBuffer());
+ definition.setContents(getInputStream());
}
return definition;
}
@@ -38,11 +39,11 @@ public abstract class AbstractTargetHandle implements ITargetHandle {
/**
* Returns an input stream of the target definition's contents.
*
- * @return file buffer of content
+ * @return stream of content
* @throws CoreException
- * if an error occurs
+ * if an error occurs
*/
- protected abstract ITextFileBuffer getTextFileBuffer() throws CoreException;
+ protected abstract InputStream getInputStream() throws CoreException;
/**
* Deletes the underlying target definition.
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/ExternalFileTargetHandle.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/ExternalFileTargetHandle.java
index 6cc71cf815..b143d0361e 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/ExternalFileTargetHandle.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/ExternalFileTargetHandle.java
@@ -1,11 +1,11 @@
/*******************************************************************************
* Copyright (c) 2009, 2011 IBM Corporation and others.
- *
+ *
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
@@ -13,18 +13,22 @@
*******************************************************************************/
package org.eclipse.pde.internal.core.target;
+import java.io.BufferedOutputStream;
import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.MalformedURLException;
import java.net.URI;
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
-import org.eclipse.core.filebuffers.ITextFileBufferManager;
-import org.eclipse.core.filebuffers.LocationKind;
import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.URIUtil;
+import org.eclipse.osgi.util.NLS;
import org.eclipse.pde.core.target.ITargetDefinition;
import org.eclipse.pde.core.target.ITargetHandle;
+import org.eclipse.pde.internal.core.PDECore;
/**
* A handle to a target stored in a remote file (outside workspace) and accessed using its URI.
@@ -49,45 +53,55 @@ public class ExternalFileTargetHandle extends AbstractTargetHandle {
}
private final URI fURI;
- private ITextFileBuffer fFileBuffer;
+ private File fFile;
/**
* Constructs a new target handle to the remote file, based on its URI.
*/
protected ExternalFileTargetHandle(URI uri) {
fURI = uri;
- File file = URIUtil.toFile(fURI);
- ITextFileBufferManager manager = FileBuffers.getTextFileBufferManager();
- IPath path = Path.fromOSString(file.getAbsolutePath());
- try {
- manager.connect(path, LocationKind.LOCATION, null);
- fFileBuffer = manager.getTextFileBuffer(path, LocationKind.LOCATION);
- } catch (CoreException e) {
- fFileBuffer = null;
- }
+ fFile = URIUtil.toFile(fURI);
}
-
+
+
+
@Override
void delete() throws CoreException {
// We can not delete a file lying outside the workspace
}
-
+
+
+
@Override
- protected ITextFileBuffer getTextFileBuffer() throws CoreException {
- return fFileBuffer;
+ protected InputStream getInputStream() throws CoreException {
+ try {
+ return fURI.toURL().openStream();
+ } catch (MalformedURLException e) {
+ } catch (IOException e) {
+ }
+ return null;
}
-
+
+
@Override
void save(ITargetDefinition definition) throws CoreException {
- ((TargetDefinition) definition).write(getTextFileBuffer());
+ try {
+ OutputStream stream = new BufferedOutputStream(new FileOutputStream(fFile));
+ ((TargetDefinition) definition).write(stream);
+ stream.close();
+ } catch (IOException e) {
+ throw new CoreException(new Status(IStatus.ERROR, PDECore.PLUGIN_ID,
+ NLS.bind(Messages.LocalTargetHandle_4, fFile.getName()), e));
+ }
}
-
+
+
@Override
public boolean exists() {
- return fFileBuffer != null && fFileBuffer.getFileStore() != null
- && fFileBuffer.getFileStore().fetchInfo() != null && fFileBuffer.getFileStore().fetchInfo().exists();
+ return fFile != null && fFile.exists();
}
-
+
+
@Override
public String getMemento() throws CoreException {
return fURI.toString();
@@ -105,7 +119,8 @@ public class ExternalFileTargetHandle extends AbstractTargetHandle {
public URI getLocation() {
return fURI;
}
-
+
+
@Override
public String toString() {
return fURI.toString();
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/IULocationFactory.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/IULocationFactory.java
index 8d20da6dcf..abdacd645a 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/IULocationFactory.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/IULocationFactory.java
@@ -102,9 +102,9 @@ public class IULocationFactory implements ITargetLocationFactory {
flags = 0;
}
}
- flags |= Boolean.valueOf(includeAllPlatforms).booleanValue() ? IUBundleContainer.INCLUDE_ALL_ENVIRONMENTS : 0;
- flags |= Boolean.valueOf(includeSource).booleanValue() ? IUBundleContainer.INCLUDE_SOURCE : 0;
- flags |= Boolean.valueOf(includeConfigurePhase).booleanValue() ? IUBundleContainer.INCLUDE_CONFIGURE_PHASE : 0;
+ flags |= Boolean.parseBoolean(includeAllPlatforms) ? IUBundleContainer.INCLUDE_ALL_ENVIRONMENTS : 0;
+ flags |= Boolean.parseBoolean(includeSource) ? IUBundleContainer.INCLUDE_SOURCE : 0;
+ flags |= Boolean.parseBoolean(includeConfigurePhase) ? IUBundleContainer.INCLUDE_CONFIGURE_PHASE : 0;
IUBundleContainer targetLocation = new IUBundleContainer(iuIDs, iuVer, uris, flags);
return targetLocation;
}
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/LocalTargetHandle.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/LocalTargetHandle.java
index 1943d84160..89015ff8ca 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/LocalTargetHandle.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/LocalTargetHandle.java
@@ -13,15 +13,17 @@
*******************************************************************************/
package org.eclipse.pde.internal.core.target;
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
import java.io.File;
+import java.io.FileInputStream;
import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
import java.net.URI;
import java.net.URISyntaxException;
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
-import org.eclipse.core.filebuffers.ITextFileBufferManager;
-import org.eclipse.core.filebuffers.LocationKind;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IStatus;
@@ -115,22 +117,12 @@ public class LocalTargetHandle extends AbstractTargetHandle {
}
@Override
- protected ITextFileBuffer getTextFileBuffer() throws CoreException {
- File file = getFile();
+ protected InputStream getInputStream() throws CoreException {
try {
- if (!file.exists()) {
- file.getParentFile().mkdirs();
- file.createNewFile();
- }
+ return new BufferedInputStream(new FileInputStream(getFile()));
} catch (FileNotFoundException e) {
throw new CoreException(new Status(IStatus.ERROR, PDECore.PLUGIN_ID, Messages.LocalTargetHandle_1, e));
- } catch (IOException e) {
- throw new CoreException(new Status(IStatus.ERROR, PDECore.PLUGIN_ID, Messages.LocalTargetHandle_5, e));
}
- IPath path = Path.fromOSString(getFile().getAbsolutePath());
- ITextFileBufferManager manager = FileBuffers.getTextFileBufferManager();
- manager.connect(path, LocationKind.LOCATION, null);
- return manager.getTextFileBuffer(path, LocationKind.LOCATION);
}
@Override
@@ -187,9 +179,31 @@ public class LocalTargetHandle extends AbstractTargetHandle {
P2TargetUtils.deleteProfile(this);
}
+ protected OutputStream getOutputStream() throws CoreException {
+ try {
+ File file = getFile();
+ if (!file.exists()) {
+ file.getParentFile().mkdirs();
+ file.createNewFile();
+ }
+ return new BufferedOutputStream(new FileOutputStream(file));
+ } catch (FileNotFoundException e) {
+ throw new CoreException(new Status(IStatus.ERROR, PDECore.PLUGIN_ID, Messages.LocalTargetHandle_1, e));
+ } catch (IOException e) {
+ throw new CoreException(new Status(IStatus.ERROR, PDECore.PLUGIN_ID, Messages.LocalTargetHandle_5, e));
+ }
+ }
+
@Override
void save(ITargetDefinition definition) throws CoreException {
- ((TargetDefinition) definition).write(getTextFileBuffer());
+ OutputStream stream = getOutputStream();
+ ((TargetDefinition) definition).write(stream);
+ try {
+ stream.close();
+ } catch (IOException e) {
+ throw new CoreException(new Status(IStatus.ERROR, PDECore.PLUGIN_ID,
+ NLS.bind(Messages.LocalTargetHandle_4, getFile().getName()), e));
+ }
}
@Override
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/P2TargetUtils.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/P2TargetUtils.java
index 2ff4ced47d..72cf3d88ae 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/P2TargetUtils.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/P2TargetUtils.java
@@ -532,7 +532,7 @@ public class P2TargetUtils {
boolean all = false;
String value = fProfile.getProperty(PROP_ALL_ENVIRONMENTS);
if (value != null) {
- all = Boolean.valueOf(value).booleanValue();
+ all = Boolean.parseBoolean(value);
if (!Boolean.toString(getIncludeAllEnvironments()).equals(value)) {
return false;
}
@@ -559,11 +559,11 @@ public class P2TargetUtils {
}
// check that the include source flag matches what the profile represents
- if (getIncludeSource() != Boolean.valueOf(fProfile.getProperty(PROP_AUTO_INCLUDE_SOURCE)).booleanValue()) {
+ if (getIncludeSource() != Boolean.parseBoolean(fProfile.getProperty(PROP_AUTO_INCLUDE_SOURCE))) {
return false;
}
- if (getIncludeConfigurePhase() != Boolean.valueOf(fProfile.getProperty(PROP_INCLUDE_CONFIGURE_PHASE)).booleanValue()) {
+ if (getIncludeConfigurePhase() != Boolean.parseBoolean(fProfile.getProperty(PROP_INCLUDE_CONFIGURE_PHASE))) {
return false;
}
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetDefinition.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetDefinition.java
index ab9b977d89..693cf983b7 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetDefinition.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetDefinition.java
@@ -17,6 +17,8 @@ package org.eclipse.pde.internal.core.target;
import java.io.ByteArrayInputStream;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Arrays;
@@ -33,7 +35,6 @@ import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -776,12 +777,12 @@ public class TargetDefinition implements ITargetDefinition {
/**
* Build contents from the given stream.
*
- * @param input
- * input file buffer
+ * @param stream
+ * input stream
* @throws CoreException
- * if an error occurs
+ * if an error occurs
*/
- void setContents(ITextFileBuffer input) throws CoreException {
+ void setContents(InputStream stream) throws CoreException {
try {
fArch = null;
fContainers = null;
@@ -797,7 +798,7 @@ public class TargetDefinition implements ITargetDefinition {
fSequenceNumber = 0;
fDocument = null;
fRoot = null;
- TargetDefinitionPersistenceHelper.initFromXML(this, input);
+ TargetDefinitionPersistenceHelper.initFromXML(this, stream);
} catch (ParserConfigurationException | SAXException | IOException e) {
setDocument(createNewDocument());
abort(Messages.TargetDefinition_0, e);
@@ -807,14 +808,19 @@ public class TargetDefinition implements ITargetDefinition {
/**
* Persists contents to the given stream.
*
- * @param output
- * output file buffer
+ * @param stream
+ * output stream
* @throws CoreException
- * if an error occurs
+ * if an error occurs
*/
- void write(ITextFileBuffer output) throws CoreException {
+ void write(OutputStream stream) throws CoreException {
try {
- TargetDefinitionPersistenceHelper.persistXML(this, output);
+ if (fContainers != null && fContainers.length != 0) {
+ Element containersElement = TargetDefinitionDocumentTools.getChildElement(fRoot,
+ TargetDefinitionPersistenceHelper.LOCATIONS);
+ serializeBundleContainers(fContainers, containersElement);
+ }
+ TargetDefinitionPersistenceHelper.persistXML(this, stream);
} catch (IOException | ParserConfigurationException | TransformerException | SAXException e) {
abort(Messages.TargetDefinition_3, e);
}
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetDefinitionPersistenceHelper.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetDefinitionPersistenceHelper.java
index c7dc9c8c4d..76bd0392f3 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetDefinitionPersistenceHelper.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetDefinitionPersistenceHelper.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2017 IBM Corporation and others.
+ * Copyright (c) 2008, 2018 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -8,13 +8,12 @@
*
* SPDX-License-Identifier: EPL-2.0
*
+ *
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.pde.internal.core.target;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -29,11 +28,9 @@ import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.text.TextUtilities;
import org.eclipse.pde.core.target.ITargetDefinition;
import org.eclipse.pde.core.target.ITargetPlatformService;
import org.eclipse.pde.internal.core.ICoreConstants;
@@ -101,83 +98,48 @@ public class TargetDefinitionPersistenceHelper {
private static ITargetPlatformService fTargetService;
/**
- * Serializes a target definition to xml and writes the xml to the given stream
+ * Serializes a target definition to xml and writes the xml to the given
+ * stream
*
* @param definition
- * target definition to serialize
+ * target definition to serialize
* @param output
- * output file buffer to write xml to
+ * output stream to write xml to
* @throws CoreException
* @throws ParserConfigurationException
* @throws TransformerException
* @throws IOException
* @throws SAXException
*/
- public static void persistXML(ITargetDefinition definition, ITextFileBuffer output)
+ public static void persistXML(ITargetDefinition definition, OutputStream output)
throws CoreException, ParserConfigurationException, TransformerException, IOException, SAXException {
- if (output == null) {
- return;
- }
Document document = definition.getDocument();
DOMSource source = new DOMSource(document);
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- StreamResult outputTarget = new StreamResult(outputStream);
+ StreamResult outputTarget = new StreamResult(output);
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();
transformer.transform(source, outputTarget);
-
- // Convert the line separators
- byte[] bytes = outputStream.toByteArray();
- String encoding = output.getEncoding();
- String strContent = outputStream.toString(encoding);
- strContent = strContent.replace(System.getProperty("line.separator"), //$NON-NLS-1$
- TextUtilities.getDefaultLineDelimiter(output.getDocument()));
- bytes = strContent.getBytes(encoding);
-
- try (OutputStream stream = output.getFileStore().openOutputStream(0, null)) {
- stream.write(bytes);
- }
}
/**
- * Parses an xml document from the text file buffer and deserializes it into a
+ * Parses an xml document from the input stream and deserializes it into a
* target definition.
*
* @param definition
- * definition to be filled with the result of
- * deserialization
+ * definition to be filled with the result of deserialization
* @param input
- * text file buffer to get xml input from
+ * stream to get xml input from
* @throws CoreException
* @throws ParserConfigurationException
* @throws IOException
* @throws SAXException
*/
- public static void initFromXML(ITargetDefinition definition, ITextFileBuffer input)
+ public static void initFromXML(ITargetDefinition definition, InputStream input)
throws CoreException, ParserConfigurationException, SAXException, IOException {
- if (input == null) {
- return;
- }
- InputStream stream = null;
- if (input.isDirty()) {
- String documentContent = input.getDocument().get();
- if (!documentContent.isEmpty()) {
- stream = new ByteArrayInputStream(documentContent.getBytes());
- } else {
- return;
- }
- } else {
- stream = input.getFileStore().openInputStream(0, null);
- if (stream.available() == 0) {
- // do not process empty stream
- return;
- }
- }
DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
parser.setErrorHandler(new DefaultHandler());
- Document doc = parser.parse(new InputSource(stream));
- stream.close();
+ Document doc = parser.parse(new InputSource(input));
Element root = doc.getDocumentElement();
if (!root.getNodeName().equalsIgnoreCase(ROOT)) {
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPersistence34Helper.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPersistence34Helper.java
index 71298ad552..3847f50963 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPersistence34Helper.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPersistence34Helper.java
@@ -197,7 +197,7 @@ public class TargetPersistence34Helper {
String def = location.getAttribute(TargetDefinitionPersistenceHelper.ATTR_USE_DEFAULT);
String path = null;
String type = null;
- if (def.length() > 0 && Boolean.valueOf(def).booleanValue()) {
+ if (def.length() > 0 && Boolean.parseBoolean(def)) {
path = "${eclipse_home}"; //$NON-NLS-1$
type = ProfileBundleContainer.TYPE;
} else {
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPersistence35Helper.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPersistence35Helper.java
index 9500fba3c1..85419a028f 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPersistence35Helper.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPersistence35Helper.java
@@ -241,7 +241,7 @@ public class TargetPersistence35Helper {
flags = 0;
}
}
- flags |= Boolean.valueOf(includeAllPlatforms).booleanValue() ? IUBundleContainer.INCLUDE_ALL_ENVIRONMENTS : 0;
+ flags |= Boolean.parseBoolean(includeAllPlatforms) ? IUBundleContainer.INCLUDE_ALL_ENVIRONMENTS : 0;
container = new IUBundleContainer(iuIDs, iuVer, uris, flags);
}
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPersistence36Helper.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPersistence36Helper.java
index 6d617ef26b..6ec2dea14c 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPersistence36Helper.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPersistence36Helper.java
@@ -248,8 +248,8 @@ public class TargetPersistence36Helper {
flags = 0;
}
}
- flags |= Boolean.valueOf(includeAllPlatforms).booleanValue() ? IUBundleContainer.INCLUDE_ALL_ENVIRONMENTS : 0;
- flags |= Boolean.valueOf(includeSource).booleanValue() ? IUBundleContainer.INCLUDE_SOURCE : 0;
+ flags |= Boolean.parseBoolean(includeAllPlatforms) ? IUBundleContainer.INCLUDE_ALL_ENVIRONMENTS : 0;
+ flags |= Boolean.parseBoolean(includeSource) ? IUBundleContainer.INCLUDE_SOURCE : 0;
container = new IUBundleContainer(iuIDs, iuVer, uris, flags);
}
return container;
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPlatformService.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPlatformService.java
index 0090d28647..1915c3f904 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPlatformService.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/TargetPlatformService.java
@@ -13,6 +13,9 @@
*******************************************************************************/
package org.eclipse.pde.internal.core.target;
+import java.io.BufferedInputStream;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
@@ -28,10 +31,6 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.StringTokenizer;
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
-import org.eclipse.core.filebuffers.ITextFileBufferManager;
-import org.eclipse.core.filebuffers.LocationKind;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IResourceProxy;
@@ -65,6 +64,7 @@ import org.eclipse.pde.internal.core.ICoreConstants;
import org.eclipse.pde.internal.core.PDECore;
import org.eclipse.pde.internal.core.PDECoreMessages;
import org.eclipse.pde.internal.core.PDEPreferencesManager;
+import org.eclipse.pde.internal.core.TargetDefinitionManager;
import org.eclipse.pde.internal.core.TargetPlatformHelper;
import org.osgi.service.prefs.BackingStoreException;
@@ -100,7 +100,7 @@ public class TargetPlatformService implements ITargetPlatformService {
*/
class ResourceProxyVisitor implements IResourceProxyVisitor {
- private final List<IResource> fList;
+ private List<IResource> fList;
protected ResourceProxyVisitor(List<IResource> list) {
fList = list;
@@ -399,22 +399,10 @@ public class TargetPlatformService implements ITargetPlatformService {
@Override
public void copyTargetDefinition(ITargetDefinition from, ITargetDefinition to) throws CoreException {
- File tempFile = null;
- try {
- tempFile = File.createTempFile("targetDefinition", null); //$NON-NLS-1$
- IPath path = Path.fromOSString(tempFile.getAbsolutePath());
- ITextFileBufferManager manager = FileBuffers.getTextFileBufferManager();
- manager.connect(path, LocationKind.LOCATION, null);
- ITextFileBuffer holdFileBuffer = manager.getTextFileBuffer(path, LocationKind.LOCATION);
- ((TargetDefinition) from).write(holdFileBuffer);
- ((TargetDefinition) to).setContents(holdFileBuffer);
- } catch (IOException e) {
- throw new CoreException(new Status(IStatus.ERROR, PDECore.PLUGIN_ID, e.getLocalizedMessage()));
- } finally {
- if (tempFile != null) {
- tempFile.delete();
- }
- }
+ ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+ ((TargetDefinition) from).write(outputStream);
+ ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
+ ((TargetDefinition) to).setContents(inputStream);
}
@Override
@@ -424,10 +412,15 @@ public class TargetPlatformService implements ITargetPlatformService {
throw new CoreException(new Status(IStatus.ERROR, PDECore.PLUGIN_ID, NLS.bind(Messages.TargetPlatformService_2, targetExtensionId)));
}
String path = elem.getAttribute("definition"); //$NON-NLS-1$
- if (path != null) {
- ITextFileBufferManager manager = FileBuffers.getTextFileBufferManager();
- ITextFileBuffer fileBuffer = manager.getTextFileBuffer(Path.fromOSString(path), LocationKind.LOCATION);
- ((TargetDefinition) definition).setContents(fileBuffer);
+ String symbolicName = elem.getDeclaringExtension().getContributor().getName();
+ URL url = TargetDefinitionManager.getResourceURL(symbolicName, path);
+ if (url != null) {
+ try {
+ ((TargetDefinition) definition).setContents(new BufferedInputStream(url.openStream()));
+ } catch (IOException e) {
+ throw new CoreException(new Status(IStatus.ERROR, PDECore.PLUGIN_ID,
+ NLS.bind(Messages.TargetPlatformService_3, path), e));
+ }
} else {
throw new CoreException(new Status(IStatus.ERROR, PDECore.PLUGIN_ID, NLS.bind(Messages.TargetPlatformService_4, path)));
}
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/WorkspaceFileTargetHandle.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/WorkspaceFileTargetHandle.java
index 0eb9ec79e6..9533f1be4d 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/WorkspaceFileTargetHandle.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/WorkspaceFileTargetHandle.java
@@ -14,15 +14,12 @@
package org.eclipse.pde.internal.core.target;
import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.HashMap;
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
-import org.eclipse.core.filebuffers.ITextFileBufferManager;
-import org.eclipse.core.filebuffers.LocationKind;
import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
@@ -84,9 +81,12 @@ public class WorkspaceFileTargetHandle extends AbstractTargetHandle {
}
@Override
- protected ITextFileBuffer getTextFileBuffer() throws CoreException {
+ public void save(ITargetDefinition definition) throws CoreException {
+ ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+ ((TargetDefinition) definition).write(outputStream);
+ ByteArrayInputStream stream = new ByteArrayInputStream(outputStream.toByteArray());
if (!fFile.exists()) {
- fFile.create(new ByteArrayInputStream(new byte[0]), false, null);
+ fFile.create(stream, false, null);
} else {
// validate edit
if (fFile.isReadOnly()) {
@@ -95,10 +95,13 @@ public class WorkspaceFileTargetHandle extends AbstractTargetHandle {
throw new CoreException(status);
}
}
+ fFile.setContents(stream, true, false, null);
}
- ITextFileBufferManager manager = FileBuffers.getTextFileBufferManager();
- manager.connect(fFile.getFullPath(), LocationKind.IFILE, null);
- return manager.getTextFileBuffer(fFile.getFullPath(), LocationKind.IFILE);
+ }
+
+ @Override
+ protected InputStream getInputStream() throws CoreException {
+ return fFile.getContents();
}
@Override
@@ -128,13 +131,6 @@ public class WorkspaceFileTargetHandle extends AbstractTargetHandle {
P2TargetUtils.deleteProfile(this);
}
- @Override
- public void save(ITargetDefinition definition) throws CoreException {
- ((TargetDefinition) definition).write(getTextFileBuffer());
- if (fFile.exists()) {
- fFile.refreshLocal(IResource.DEPTH_ZERO, null);
- }
- }
@Override
public String toString() {
diff --git a/ui/org.eclipse.pde.genericeditor.extension.tests/META-INF/MANIFEST.MF b/ui/org.eclipse.pde.genericeditor.extension.tests/META-INF/MANIFEST.MF
index bc9b74f799..32b27e3a6f 100644
--- a/ui/org.eclipse.pde.genericeditor.extension.tests/META-INF/MANIFEST.MF
+++ b/ui/org.eclipse.pde.genericeditor.extension.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Tests for Generic Target Platform Editor
Bundle-SymbolicName: org.eclipse.pde.genericeditor.extension.tests
-Bundle-Version: 1.0.200.qualifier
+Bundle-Version: 1.0.300.qualifier
Bundle-ClassPath: .
Bundle-Vendor: Eclipse.org
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/ui/org.eclipse.pde.genericeditor.extension.tests/pom.xml b/ui/org.eclipse.pde.genericeditor.extension.tests/pom.xml
index b686c98390..d2c50f5cda 100644
--- a/ui/org.eclipse.pde.genericeditor.extension.tests/pom.xml
+++ b/ui/org.eclipse.pde.genericeditor.extension.tests/pom.xml
@@ -19,7 +19,7 @@
</parent>
<groupId>org.eclipse.pde</groupId>
<artifactId>org.eclipse.pde.genericeditor.extension.tests</artifactId>
- <version>1.0.200-SNAPSHOT</version>
+ <version>1.0.300-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<properties>
diff --git a/ui/org.eclipse.pde.genericeditor.extension.tests/src/org/eclipse/pde/genericeditor/extension/tests/Bug528706CompletionWithMultilineTagsTest.java b/ui/org.eclipse.pde.genericeditor.extension.tests/src/org/eclipse/pde/genericeditor/extension/tests/Bug528706CompletionWithMultilineTagsTest.java
index ebd0fba1b7..50fccff103 100644
--- a/ui/org.eclipse.pde.genericeditor.extension.tests/src/org/eclipse/pde/genericeditor/extension/tests/Bug528706CompletionWithMultilineTagsTest.java
+++ b/ui/org.eclipse.pde.genericeditor.extension.tests/src/org/eclipse/pde/genericeditor/extension/tests/Bug528706CompletionWithMultilineTagsTest.java
@@ -39,17 +39,17 @@ public class Bug528706CompletionWithMultilineTagsTest extends AbstractTargetEdit
@Test
public void testTagValueCompletionBeforeAMultiline() {
- confirmCompletionAtOffset(151, "carbon");
+ confirmCompletionAtOffset(150, "cocoa");
}
@Test
public void testTagValueCompletionAsAMultiline() {
- confirmCompletionAtOffset(167, "linux");
+ confirmCompletionAtOffset(166, "linux");
}
@Test
public void testTagValueCompletionAfterAMultiline() {
- confirmCompletionAtOffset(187, "PA_RISC");
+ confirmCompletionAtOffset(181, "x86");
}
@Test
diff --git a/ui/org.eclipse.pde.genericeditor.extension.tests/src/org/eclipse/pde/genericeditor/extension/tests/Bug531602FormattingTests.java b/ui/org.eclipse.pde.genericeditor.extension.tests/src/org/eclipse/pde/genericeditor/extension/tests/Bug531602FormattingTests.java
index 0da2cfffd8..cb86bba961 100644
--- a/ui/org.eclipse.pde.genericeditor.extension.tests/src/org/eclipse/pde/genericeditor/extension/tests/Bug531602FormattingTests.java
+++ b/ui/org.eclipse.pde.genericeditor.extension.tests/src/org/eclipse/pde/genericeditor/extension/tests/Bug531602FormattingTests.java
@@ -15,19 +15,14 @@ package org.eclipse.pde.genericeditor.extension.tests;
import static org.junit.Assert.assertEquals;
-import java.io.File;
+import java.io.ByteArrayOutputStream;
import java.io.IOException;
+import java.io.InputStream;
import java.net.URI;
-import java.net.URL;
-import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
-import java.nio.file.Path;
import java.util.Arrays;
import java.util.Scanner;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
-import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.eclipse.equinox.p2.metadata.IInstallableUnit;
@@ -43,22 +38,20 @@ import org.junit.Test;
import org.osgi.framework.FrameworkUtil;
public class Bug531602FormattingTests extends AbstractTargetEditorTest {
- private static final String TEST_FILE_LINE_SEPERATOR = "\n";
@Test
public void testSettingNullPersists() throws Exception {
ITargetPlatformService service = PDECore.getDefault().acquireService(ITargetPlatformService.class);
ITargetDefinition targetDefinition = service.newTarget();
targetDefinition.setName("test");
- tempFile = File.createTempFile("targetDefinition", null);
- ITextFileBuffer buffer = getTextFileBufferFromFile(tempFile);
- TargetDefinitionPersistenceHelper.persistXML(targetDefinition, buffer);
- String expectedOutput = readFile(tempFile.toPath(), StandardCharsets.UTF_8);
+ ByteArrayOutputStream expectedOutput = new ByteArrayOutputStream();
+ TargetDefinitionPersistenceHelper.persistXML(targetDefinition, expectedOutput);
+ ByteArrayOutputStream actualOutput = new ByteArrayOutputStream();
targetDefinition.setProgramArguments(null);
- TargetDefinitionPersistenceHelper.persistXML(targetDefinition, buffer);
- String actualOutput = readFile(tempFile.toPath(), StandardCharsets.UTF_8);
- assertEquals(expectedOutput, actualOutput);
+ TargetDefinitionPersistenceHelper.persistXML(targetDefinition, actualOutput);
+ assertEquals(expectedOutput.toString(StandardCharsets.UTF_8.toString()),
+ actualOutput.toString(StandardCharsets.UTF_8.toString()));
}
@Test
@@ -66,18 +59,18 @@ public class Bug531602FormattingTests extends AbstractTargetEditorTest {
ITargetPlatformService service = PDECore.getDefault().acquireService(ITargetPlatformService.class);
ITargetDefinition targetDefinition = service.newTarget();
targetDefinition.setOS("test_os");
+ ByteArrayOutputStream actualOutput = new ByteArrayOutputStream();
+ TargetDefinitionPersistenceHelper.persistXML(targetDefinition, actualOutput);
confirmMatch(targetDefinition, "IndentingTestCaseTarget.txt");
}
@Test
public void testCommentsAndWhitespacePersists() throws Exception {
- URL url = FrameworkUtil.getBundle(this.getClass())
- .getEntry("testing-files/target-files/PersistTestCaseTarget.txt");
- File inputFile = new File(FileLocator.toFileURL(url).getFile());
+ InputStream inputStream = FrameworkUtil.getBundle(this.getClass())
+ .getEntry("testing-files/target-files/PersistTestCaseTarget.txt").openStream();
ITargetPlatformService service = PDECore.getDefault().acquireService(ITargetPlatformService.class);
ITargetDefinition targetDefinition = service.newTarget();
- ITextFileBuffer buffer = getTextFileBufferFromFile(inputFile);
- TargetDefinitionPersistenceHelper.initFromXML(targetDefinition, buffer);
+ TargetDefinitionPersistenceHelper.initFromXML(targetDefinition, inputStream);
confirmMatch(targetDefinition, "PersistTestCaseTarget.txt");
}
@@ -116,8 +109,6 @@ public class Bug531602FormattingTests extends AbstractTargetEditorTest {
StringAsserts.assertEqualStringIgnoreDelim(actual, expected);
}
private void confirmMatch(ITargetDefinition targetDefinition, String expectedDefinitionPath) throws Exception {
- String lineSeparator = System.getProperty("line.separator");
- boolean requireReplaceLineSeparator = !lineSeparator.equals(TEST_FILE_LINE_SEPERATOR);
try (Scanner s = new Scanner(FrameworkUtil.getBundle(this.getClass())
.getEntry("testing-files/target-files/" + expectedDefinitionPath).openStream()).useDelimiter("\\A")) {
String result = s.hasNext() ? s.next() : "";
@@ -129,14 +120,10 @@ public class Bug531602FormattingTests extends AbstractTargetEditorTest {
Arrays.fill(chars, ' ');
result.replace("\t", new String(chars));
}
- tempFile = File.createTempFile("targetDefinition", null);
- ITextFileBuffer buffer = getTextFileBufferFromFile(tempFile);
- TargetDefinitionPersistenceHelper.persistXML(targetDefinition, buffer);
- String fileContent = readFile(tempFile.toPath(), StandardCharsets.UTF_8);
- if (requireReplaceLineSeparator) {
- fileContent = fileContent.replace(lineSeparator, TEST_FILE_LINE_SEPERATOR);
- }
- assertEquals(result, fileContent);
+ ByteArrayOutputStream actualOutput = new ByteArrayOutputStream();
+ TargetDefinitionPersistenceHelper.persistXML(targetDefinition, actualOutput);
+
+ assertEqualStringIgnoreDelim(result, actualOutput.toString(StandardCharsets.UTF_8.toString()));
} catch (IOException e) {
}
}
@@ -164,9 +151,4 @@ public class Bug531602FormattingTests extends AbstractTargetEditorTest {
targetDefinition.setTargetLocations(new ITargetLocation[] { dirContainer, profileContainer, featureContainer,
restrictedProfileContainer, siteContainer });
}
-
- static String readFile(Path path, Charset encoding) throws IOException {
- byte[] encoded = Files.readAllBytes(path);
- return new String(encoded, encoding);
- }
} \ No newline at end of file
diff --git a/ui/org.eclipse.pde.genericeditor.extension.tests/testing-files/target-files/MultilineTagTestCaseTarget.txt b/ui/org.eclipse.pde.genericeditor.extension.tests/testing-files/target-files/MultilineTagTestCaseTarget.txt
index d51da58210..acf466094d 100644
--- a/ui/org.eclipse.pde.genericeditor.extension.tests/testing-files/target-files/MultilineTagTestCaseTarget.txt
+++ b/ui/org.eclipse.pde.genericeditor.extension.tests/testing-files/target-files/MultilineTagTestCaseTarget.txt
@@ -11,12 +11,12 @@
<pro
</locations>
<environment>
-<ws>carb</ws>
+<ws>coc</ws>
<os>
linu
</os>
-<arch>PA_RIS</arch>
+<arch>x</arch>
</environment>
</target> \ No newline at end of file
diff --git a/ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/reconciler/folding/FoldingReconcilerStrategy.java b/ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/reconciler/folding/FoldingReconcilerStrategy.java
index 6cbd364ee5..e1b8e1e4c6 100644
--- a/ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/reconciler/folding/FoldingReconcilerStrategy.java
+++ b/ui/org.eclipse.pde.genericeditor.extension/src/org/eclipse/pde/internal/genericeditor/target/extension/reconciler/folding/FoldingReconcilerStrategy.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2017 Red Hat Inc. and others
+ * Copyright (c) 2017, 2019 Red Hat Inc. and others
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -172,16 +172,18 @@ public class FoldingReconcilerStrategy implements IReconcilingStrategy, IReconci
}
break;
case END_OF_LINE:
- if (currentChar == '\n' || characters == currentCharIndex + 1) {
- List<Integer> listOfAnnotationIndexes = startOfAnnotation.get(word);
- int start = listOfAnnotationIndexes.get(0);
- if (document.getLineOfOffset(start) != document.getLineOfOffset(currentCharIndex)) {
- positions.add(new Position(start, currentCharIndex + 1 - start));
- }
- if (listOfAnnotationIndexes.size() > 0) {
- listOfAnnotationIndexes.remove(0);
- }else {
- startOfAnnotation.remove(word);
+ if (startOfAnnotation.containsKey(word)) {
+ if (currentChar == '\n' || characters == currentCharIndex + 1) {
+ List<Integer> listOfAnnotationIndexes = startOfAnnotation.get(word);
+ int start = listOfAnnotationIndexes.get(0);
+ if (document.getLineOfOffset(start) != document.getLineOfOffset(currentCharIndex)) {
+ positions.add(new Position(start, currentCharIndex + 1 - start));
+ }
+ if (listOfAnnotationIndexes.size() > 0) {
+ listOfAnnotationIndexes.remove(0);
+ } else {
+ startOfAnnotation.remove(word);
+ }
}
searchingFor = SearchingFor.START_OF_TAG;
}
diff --git a/ui/org.eclipse.pde.launching/src/org/eclipse/pde/internal/launching/launcher/BundleLauncherHelper.java b/ui/org.eclipse.pde.launching/src/org/eclipse/pde/internal/launching/launcher/BundleLauncherHelper.java
index faf998a935..e46ad69d0b 100644
--- a/ui/org.eclipse.pde.launching/src/org/eclipse/pde/internal/launching/launcher/BundleLauncherHelper.java
+++ b/ui/org.eclipse.pde.launching/src/org/eclipse/pde/internal/launching/launcher/BundleLauncherHelper.java
@@ -607,7 +607,7 @@ public class BundleLauncherHelper {
if (userAddedPlugins != null) {
for (String addedPlugin : userAddedPlugins) {
String[] pluginData = addedPlugin.split(":"); //$NON-NLS-1$
- boolean checked = Boolean.valueOf(pluginData[3]).booleanValue();
+ boolean checked = Boolean.parseBoolean(pluginData[3]);
if (!onlyEnabled || checked) {
String id = pluginData[0];
String version = pluginData[1];
diff --git a/ui/org.eclipse.pde.ui.templates.tests/META-INF/MANIFEST.MF b/ui/org.eclipse.pde.ui.templates.tests/META-INF/MANIFEST.MF
index 12724bf5bb..8ee78a4da7 100644
--- a/ui/org.eclipse.pde.ui.templates.tests/META-INF/MANIFEST.MF
+++ b/ui/org.eclipse.pde.ui.templates.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Tests for PDE templates
Bundle-SymbolicName: org.eclipse.pde.ui.templates.tests
-Bundle-Version: 1.0.200.qualifier
+Bundle-Version: 1.0.300.qualifier
Bundle-Vendor: Eclipse.org
Bundle-ClassPath: tests.jar
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/ui/org.eclipse.pde.ui.templates.tests/pom.xml b/ui/org.eclipse.pde.ui.templates.tests/pom.xml
index 835e49b6c4..11233e03da 100644
--- a/ui/org.eclipse.pde.ui.templates.tests/pom.xml
+++ b/ui/org.eclipse.pde.ui.templates.tests/pom.xml
@@ -19,7 +19,7 @@
</parent>
<groupId>org.eclipse.pde</groupId>
<artifactId>org.eclipse.pde.ui.templates.tests</artifactId>
- <version>1.0.200-SNAPSHOT</version>
+ <version>1.0.300-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<properties>
diff --git a/ui/org.eclipse.pde.ui.templates.tests/src/org/eclipse/pde/ui/templates/tests/TestPDETemplates.java b/ui/org.eclipse.pde.ui.templates.tests/src/org/eclipse/pde/ui/templates/tests/TestPDETemplates.java
index 9346d3e79b..27830882df 100644
--- a/ui/org.eclipse.pde.ui.templates.tests/src/org/eclipse/pde/ui/templates/tests/TestPDETemplates.java
+++ b/ui/org.eclipse.pde.ui.templates.tests/src/org/eclipse/pde/ui/templates/tests/TestPDETemplates.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2017 Red Hat Inc. and others
+ * Copyright (c) 2017, 2019 Red Hat Inc. and others
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -24,6 +24,8 @@ import org.eclipse.osgi.internal.framework.EquinoxBundle;
import org.eclipse.osgi.storage.BundleInfo.Generation;
import org.eclipse.pde.core.target.*;
import org.eclipse.pde.internal.core.ICoreConstants;
+import org.eclipse.pde.internal.core.builders.CompilerFlags;
+import org.eclipse.pde.internal.core.builders.PDEMarkerFactory;
import org.eclipse.pde.internal.core.target.TargetPlatformService;
import org.eclipse.pde.internal.ui.wizards.IProjectProvider;
import org.eclipse.pde.internal.ui.wizards.WizardElement;
@@ -159,6 +161,12 @@ public class TestPDETemplates {
this.project.build(IncrementalProjectBuilder.FULL_BUILD, new NullProgressMonitor());
IMarker[] markers = this.project.findMarkers(IMarker.PROBLEM, true, IResource.DEPTH_INFINITE);
+
+ // ignore missing package export marker
+ if (markers.length == 1 && CompilerFlags.P_MISSING_EXPORT_PKGS
+ .equals(markers[0].getAttribute(PDEMarkerFactory.compilerKey, ""))) {
+ markers = new IMarker[0];
+ }
if (markers.length > 0) {
System.out.println("Template '" + template.getLabel() + "' generates errors.");
for (IMarker marker : markers) {
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/runtime/AbstractRegistryModelTest.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/runtime/AbstractRegistryModelTest.java
index e6f80c7c71..b004e4efe8 100644
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/runtime/AbstractRegistryModelTest.java
+++ b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/runtime/AbstractRegistryModelTest.java
@@ -92,7 +92,7 @@ public abstract class AbstractRegistryModelTest extends TestCase implements Mode
testServiceReference = registration.getReference();
testExtPoint = Platform.getExtensionRegistry().getExtensionPoint(TEST_EXT_POINT);
- testExtPointBundle = TestUtils.getBundle(TEST_EXT_POINT_BUNDLE);
+ testExtPointBundle = Platform.getBundle(TEST_EXT_POINT_BUNDLE);
}
@Override
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/runtime/TestUtils.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/runtime/TestUtils.java
index 4a3314e7ce..b05b94426b 100644
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/runtime/TestUtils.java
+++ b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/runtime/TestUtils.java
@@ -26,32 +26,11 @@ import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.pde.ui.tests.PDETestsPlugin;
import org.eclipse.swt.widgets.Display;
import org.junit.Assert;
-import org.osgi.framework.Bundle;
-import org.osgi.service.packageadmin.PackageAdmin;
/**
* Utility methods for JUnit tests.
*/
-@SuppressWarnings("deprecation")
-// We use package admin to access bundles during the tests
public class TestUtils {
-
- private static PackageAdmin packageAdmin;
-
- public static Bundle getBundle(String symbolicName) {
- if (packageAdmin == null) {
- packageAdmin = PDETestsPlugin.getBundleContext()
- .getService(PDETestsPlugin.getBundleContext().getServiceReference(PackageAdmin.class));
- }
- Bundle[] bundles = packageAdmin.getBundles(symbolicName, null);
-
- if (bundles != null) {
- return bundles[0];
- }
-
- return null;
- }
-
public static IExtensionPoint getExtensionPoint(String extensionPointId) {
return Platform.getExtensionRegistry().getExtensionPoint(extensionPointId);
}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/IUBundleContainerTests.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/IUBundleContainerTests.java
index 85b9c812d1..2a8621cce7 100644
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/IUBundleContainerTests.java
+++ b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/IUBundleContainerTests.java
@@ -13,17 +13,16 @@
*******************************************************************************/
package org.eclipse.pde.ui.tests.target;
-import java.io.File;
+import java.io.*;
import java.net.URI;
import java.net.URL;
+import java.nio.charset.StandardCharsets;
import java.util.*;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
import org.eclipse.core.filesystem.URIUtil;
import org.eclipse.core.runtime.*;
import org.eclipse.equinox.frameworkadmin.BundleInfo;
-import org.eclipse.equinox.internal.p2.metadata.InstallableUnit;
import org.eclipse.equinox.p2.metadata.IInstallableUnit;
import org.eclipse.equinox.p2.query.IQueryResult;
import org.eclipse.equinox.p2.query.QueryUtil;
@@ -43,15 +42,6 @@ import org.xml.sax.helpers.DefaultHandler;
* Tests for the IU bundle container
*/
public class IUBundleContainerTests extends AbstractTargetTest {
- protected File tempFile;
-
- @Override
- protected void tearDown() throws Exception {
- if (tempFile != null) {
- tempFile.delete();
- }
- super.tearDown();
- }
/**
* Returns the metadata repository at the specified location.
@@ -89,7 +79,7 @@ public class IUBundleContainerTests extends AbstractTargetTest {
*/
protected IInstallableUnit getUnit(String id, IMetadataRepository repository) {
IQueryResult<IInstallableUnit> result = repository.query(QueryUtil.createIUQuery(id), null);
- IInstallableUnit[] units = result.toArray(IInstallableUnit.class);
+ IInstallableUnit[] units = result.toArray(IInstallableUnit.class);
if (units.length == 1) {
return units[0];
}
@@ -147,38 +137,6 @@ public class IUBundleContainerTests extends AbstractTargetTest {
}
/**
- * P2TargetUtils should not consume much memory if all target definitions
- * are deleted
- */
- public void testSynchronizerLeak() throws Exception {
- ITargetPlatformService service = getTargetService();
- URI[] uris = new URI[] { getURI("/tests/sites/site.a.b") };
-
- long bundleCount = 0;
- long memoryLimit = usedMemory() + 200_000_000;
- for (int i = 0; i < 1000; i++) {
- ITargetDefinition target = service.newTarget();
- try {
- IInstallableUnit[] units = new IInstallableUnit[10000];
- for (int m = 0; m < units.length; m++) {
- InstallableUnit unit = new InstallableUnit();
- unit.setId("bundle.a" + (bundleCount++));
- units[m] = unit;
- }
- IUBundleContainer container = createContainer(units, uris, 0);
- target.setTargetLocations(new ITargetLocation[] { container });
- } finally {
- // Free up memory and disk used by target
- service.deleteTarget(target.getHandle());
- P2TargetUtils.cleanOrphanedTargetDefinitionProfiles();
- }
- // If we omit this assertion, further tests won't be executed due
- // to VM fatal error
- assertTrue("Memory should not be consumed if all targets are deleted", usedMemory() < memoryLimit);
- }
- }
-
- /**
* Tests all bundles are resolved for a single feature
*
* @throws Exception
@@ -296,11 +254,12 @@ public class IUBundleContainerTests extends AbstractTargetTest {
IUBundleContainer container = createContainer(unitIds);
ITargetDefinition target = getTargetService().newTarget();
target.setTargetLocations(new ITargetLocation[]{container});
- tempFile = File.createTempFile("targetDefinition", null);
- ITextFileBuffer fileBuffer = getTextFileBufferFromFile(tempFile);
- TargetDefinitionPersistenceHelper.persistXML(target, fileBuffer);
+
+ ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+ TargetDefinitionPersistenceHelper.persistXML(target, outputStream);
ITargetDefinition definitionB = getTargetService().newTarget();
- TargetDefinitionPersistenceHelper.initFromXML(definitionB, fileBuffer);
+ ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
+ TargetDefinitionPersistenceHelper.initFromXML(definitionB, inputStream);
assertTrue("Target content not equal",((TargetDefinition)target).isContentEqual(definitionB));
// resolve the restored target and ensure bundles are correct
@@ -555,12 +514,12 @@ public class IUBundleContainerTests extends AbstractTargetTest {
public void deserializationTest(IUBundleContainer location) throws Exception {
ITargetDefinition td = getTargetService().newTarget();
td.setTargetLocations(new ITargetLocation[] {location});
- tempFile = File.createTempFile("targetDefinition", null);
- ITextFileBuffer fileBuffer = getTextFileBufferFromFile(tempFile);
- TargetDefinitionPersistenceHelper.persistXML(td, fileBuffer);
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ TargetDefinitionPersistenceHelper.persistXML(td, out);
+ String xml = new String(out.toByteArray());
DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
parser.setErrorHandler(new DefaultHandler());
- Document doc = parser.parse(new InputSource(fileBuffer.getFileStore().openInputStream(0, null)));
+ Document doc = parser.parse(new InputSource(new ByteArrayInputStream(xml.getBytes(StandardCharsets.UTF_8))));
ITargetDefinition definition = getTargetService().newTarget();
Element root = doc.getDocumentElement();
@@ -588,10 +547,4 @@ public class IUBundleContainerTests extends AbstractTargetTest {
String actualValue = xml.substring(start, start + String.valueOf(expectedValue).length()) ;
assertEquals(String.valueOf(expectedValue), actualValue);
}
-
- private long usedMemory() {
- System.gc();
- return Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
- }
-
}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/LocalTargetDefinitionTests.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/LocalTargetDefinitionTests.java
index ce5c2412d4..49e4c0cded 100644
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/LocalTargetDefinitionTests.java
+++ b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/LocalTargetDefinitionTests.java
@@ -450,7 +450,9 @@ public class LocalTargetDefinitionTests extends AbstractTargetTest {
for (TargetBundle bundle : bundles) {
expected.remove(bundle.getBundleInfo().getSymbolicName());
}
- for (String name : expected) {
+ Iterator<String> iterator = expected.iterator();
+ while (iterator.hasNext()) {
+ String name = iterator.next();
System.err.println("Missing: " + name);
}
assertTrue("Wrong bundles in JDT feature", expected.isEmpty());
@@ -500,7 +502,9 @@ public class LocalTargetDefinitionTests extends AbstractTargetTest {
}
}
}
- for (String name : expected) {
+ Iterator<String> iterator = expected.iterator();
+ while (iterator.hasNext()) {
+ String name = iterator.next();
System.err.println("Missing: " + name);
}
assertTrue("Wrong bundles in JDT feature", expected.isEmpty());
@@ -613,7 +617,9 @@ public class LocalTargetDefinitionTests extends AbstractTargetTest {
expected.remove(model.getPluginBase().getId());
assertTrue(model.isEnabled());
}
- for (String name : expected) {
+ Iterator<String> iterator = expected.iterator();
+ while (iterator.hasNext()) {
+ String name = iterator.next();
System.err.println("Missing: " + name);
}
assertTrue("Wrong bundles in target platform", expected.isEmpty());
@@ -657,7 +663,9 @@ public class LocalTargetDefinitionTests extends AbstractTargetTest {
URL url = PDETestsPlugin.getBundleContext().getBundle().getEntry("/tests/targets/target-files/" + name + ".target");
File file = new File(FileLocator.toFileURL(url).getFile());
ITargetDefinition target = getNewTarget();
- TargetDefinitionPersistenceHelper.initFromXML(target, getTextFileBufferFromFile(file));
+ try (FileInputStream stream = new FileInputStream(file)) {
+ TargetDefinitionPersistenceHelper.initFromXML(target, stream);
+ }
return target;
}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/MinimalTargetDefinitionPersistenceTests.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/MinimalTargetDefinitionPersistenceTests.java
index c734620182..66d6294043 100644
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/MinimalTargetDefinitionPersistenceTests.java
+++ b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/MinimalTargetDefinitionPersistenceTests.java
@@ -13,12 +13,11 @@
*******************************************************************************/
package org.eclipse.pde.ui.tests.target;
-import java.io.File;
+import java.io.*;
import java.net.*;
import java.util.HashSet;
import java.util.Set;
import junit.framework.TestCase;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.*;
@@ -38,15 +37,6 @@ import org.osgi.framework.ServiceReference;
*
*/
public class MinimalTargetDefinitionPersistenceTests extends TestCase {
- protected File tempFile;
-
- @Override
- protected void tearDown() throws Exception {
- if (tempFile != null) {
- tempFile.delete();
- }
- super.tearDown();
- }
protected void assertTargetDefinitionsEqual(ITargetDefinition targetA, ITargetDefinition targetB) {
assertTrue("Target content not equal", ((TargetDefinition) targetA).isContentEqual(targetB));
@@ -185,11 +175,11 @@ public class MinimalTargetDefinitionPersistenceTests extends TestCase {
*/
public void testPersistEmptyDefinition() throws Exception {
ITargetDefinition definitionA = getTargetService().newTarget();
- tempFile = File.createTempFile("targetDefinition", null);
- ITextFileBuffer fileBuffer = AbstractTargetTest.getTextFileBufferFromFile(tempFile);
- TargetDefinitionPersistenceHelper.persistXML(definitionA, fileBuffer);
+ ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+ TargetDefinitionPersistenceHelper.persistXML(definitionA, outputStream);
ITargetDefinition definitionB = getTargetService().newTarget();
- TargetDefinitionPersistenceHelper.initFromXML(definitionB, fileBuffer);
+ ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
+ TargetDefinitionPersistenceHelper.initFromXML(definitionB, inputStream);
assertTargetDefinitionsEqual(definitionA, definitionB);
}
@@ -206,7 +196,9 @@ public class MinimalTargetDefinitionPersistenceTests extends TestCase {
.getEntry("/tests/targets/target-files/" + name + ".trgt");
File file = new File(FileLocator.toFileURL(url).getFile());
ITargetDefinition target = getTargetService().newTarget();
- TargetDefinitionPersistenceHelper.initFromXML(target, AbstractTargetTest.getTextFileBufferFromFile(file));
+ try (FileInputStream stream = new FileInputStream(file)) {
+ TargetDefinitionPersistenceHelper.initFromXML(target, stream);
+ }
return target;
}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/TargetDefinitionPersistenceTests.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/TargetDefinitionPersistenceTests.java
index df02f8429a..307460964e 100644
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/TargetDefinitionPersistenceTests.java
+++ b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/TargetDefinitionPersistenceTests.java
@@ -13,21 +13,18 @@
*******************************************************************************/
package org.eclipse.pde.ui.tests.target;
-import static org.junit.Assert.assertArrayEquals;
-
-import java.io.File;
-import java.net.*;
-import java.nio.file.Files;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
+import java.io.*;
+import java.net.URI;
+import java.net.URISyntaxException;
import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Platform;
import org.eclipse.equinox.p2.metadata.IInstallableUnit;
import org.eclipse.jdt.launching.JavaRuntime;
import org.eclipse.pde.core.plugin.TargetPlatform;
import org.eclipse.pde.core.target.*;
import org.eclipse.pde.internal.core.target.IUBundleContainer;
import org.eclipse.pde.internal.core.target.TargetDefinitionPersistenceHelper;
-import org.eclipse.pde.ui.tests.PDETestsPlugin;
/**
* Tests the persistence of target definitions. Tests memento creation, reading of old target files, and writing of the model.
@@ -49,47 +46,18 @@ public class TargetDefinitionPersistenceTests extends MinimalTargetDefinitionPer
ITargetDefinition definitionA = getTargetService().newTarget();
initComplexDefiniton(definitionA);
- tempFile = File.createTempFile("targetDefinition", null);
- ITextFileBuffer fileBuffer = AbstractTargetTest.getTextFileBufferFromFile(tempFile);
- TargetDefinitionPersistenceHelper.persistXML(definitionA, fileBuffer);
+ ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+ TargetDefinitionPersistenceHelper.persistXML(definitionA, outputStream);
ITargetDefinition definitionB = getTargetService().newTarget();
- TargetDefinitionPersistenceHelper.initFromXML(definitionB, fileBuffer);
+ ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
+ TargetDefinitionPersistenceHelper.initFromXML(definitionB, inputStream);
assertTargetDefinitionsEqual(definitionA, definitionB);
}
/**
- * Tests that a target definition file with a non system default line delimiters
- * can be deserialized and serialized back to xml without having it's line
- * delimiters changed.
- *
- * @throws Exception
- */
- public void testPersistLineDelimiters() throws Exception {
- String lineSeparator = System.getProperty("line.separator");
- URL url;
- if (!lineSeparator.equals("\n")) {
- url = PDETestsPlugin.getBundleContext().getBundle()
- .getEntry("/tests/targets/target-files/unixLineDelimiters.trgt");
- } else {
- url = PDETestsPlugin.getBundleContext().getBundle()
- .getEntry("/tests/targets/target-files/windowsLineDelimiters.trgt");
- }
- File file = new File(FileLocator.toFileURL(url).getFile());
- byte[] f1 = Files.readAllBytes(file.toPath());
-
- ITextFileBuffer fileBuffer = AbstractTargetTest.getTextFileBufferFromFile(file);
- ITargetDefinition target = getTargetService().newTarget();
- TargetDefinitionPersistenceHelper.initFromXML(target, fileBuffer);
- TargetDefinitionPersistenceHelper.persistXML(target, fileBuffer);
- byte[] f2 = Files.readAllBytes(fileBuffer.getFileStore().toLocalFile(0, null).toPath());
-
- assertArrayEquals(f1, f2);
- }
-
- /**
- * Tests that a complex workspace file based target definition can be serialized
- * to xml, then deserialized without any loss of data.
+ * Tests that a complex workspace file based target definition can be
+ * serialized to xml, then deserialized without any loss of data.
*
* @throws Exception
*/
diff --git a/ui/org.eclipse.pde.ui/plugin.properties b/ui/org.eclipse.pde.ui/plugin.properties
index 63b77fbc30..ccacf9e737 100644
--- a/ui/org.eclipse.pde.ui/plugin.properties
+++ b/ui/org.eclipse.pde.ui/plugin.properties
@@ -52,26 +52,26 @@ as binary (no source code)
new.category.name=Plug-in Development
new.pluginProject.name=Plug-in Project
-new.pluginProject.description=Create a Plug-in Project
+new.pluginProject.description=Create a plug-in project
new.pluginWithJarsProject.name=Plug-in from Existing JAR Archives
new.pluginWithJarsProject.description=Create a plug-in project from existing JAR archives
new.fragmentProject.name=Fragment Project
-new.fragmentProject.description=Create a Plug-in Fragment Project
+new.fragmentProject.description=Create a plug-in fragment project
new.schemaFile.name = Extension Point Schema
-new.schemaFile.description = Create an Extension Point Schema File
-new.cheat.sheet.description = Create a Cheat Sheet
+new.schemaFile.description = Create an extension point schema file
+new.cheat.sheet.description = Create a cheat sheet
new.convert.name= Convert to Plug-in Projects...
new.feature.name=Feature Project
-new.feature.description=Create a Feature project
+new.feature.description=Create a feature project
new.patch.name=Feature Patch
-new.patch.description=Create a Feature Patch
+new.patch.description=Create a feature patch
new.site.name=Update Site Project
-new.site.description=Create an Update Site project
+new.site.description=Create an update site project
new.toc.name=Help Table of Contents
-new.toc.description=Create a Table of Contents
+new.toc.description=Create a table of contents
new.ctxhelp.name=Context Help
-new.ctxhelp.description=Create a Context Help file
-new.categoryDefinition.description=Create a Category Definition file
+new.ctxhelp.description=Create a context help file
+new.categoryDefinition.description=Create a category definition file
PluginImportWizard.label=Plug-ins and Fragments
PluginImportWizard.description=Create projects from plug-ins and fragments in the file system.
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AbstractManifestMarkerResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AbstractManifestMarkerResolution.java
index 09401808f9..c76631182b 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AbstractManifestMarkerResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AbstractManifestMarkerResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.pde.core.IBaseModel;
import org.eclipse.pde.internal.core.ibundle.IBundlePluginModelBase;
import org.eclipse.pde.internal.core.text.bundle.BundleModel;
@@ -23,6 +24,10 @@ public abstract class AbstractManifestMarkerResolution extends AbstractPDEMarker
super(type);
}
+ public AbstractManifestMarkerResolution(int type, IMarker marker) {
+ super(type, marker);
+ }
+
protected abstract void createChange(BundleModel model);
@Override
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AbstractPDEMarkerResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AbstractPDEMarkerResolution.java
index eea7af8e20..a6b8fff060 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AbstractPDEMarkerResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AbstractPDEMarkerResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2017 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,10 +13,12 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import java.util.HashSet;
import org.eclipse.core.resources.*;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.pde.core.IBaseModel;
+import org.eclipse.pde.internal.core.builders.PDEMarkerFactory;
import org.eclipse.pde.internal.ui.PDEPluginImages;
import org.eclipse.pde.internal.ui.util.ModelModification;
import org.eclipse.pde.internal.ui.util.PDEModelUtility;
@@ -37,15 +39,31 @@ public abstract class AbstractPDEMarkerResolution extends WorkbenchMarkerResolut
* ie. its not the be used in getImage()/getType()/getDesciption()
*/
protected IResource fResource;
+ protected IMarker marker = null;
public AbstractPDEMarkerResolution(int type) {
fType = type;
}
+ public AbstractPDEMarkerResolution(int type, IMarker marker2) {
+ fType = type;
+ marker = marker2;
+ }
+
@Override
public IMarker[] findOtherMarkers(IMarker[] markers) {
- return new IMarker[0];
+ HashSet<IMarker> mset = new HashSet<>(markers.length);
+ for (IMarker iMarker : markers) {
+ if (iMarker.equals(marker))
+ continue;
+ String str = iMarker.getAttribute(PDEMarkerFactory.compilerKey, ""); //$NON-NLS-1$
+ if (str.equals(marker.getAttribute(PDEMarkerFactory.compilerKey, ""))) //$NON-NLS-1$
+ mset.add(iMarker);
+ }
+ int size = mset.size();
+ return mset.toArray(new IMarker[size]);
}
+
@Override
public Image getImage() {
if (image == null) {
@@ -78,6 +96,7 @@ public abstract class AbstractPDEMarkerResolution extends WorkbenchMarkerResolut
@Override
public void run(IMarker marker) {
+ this.marker = marker;
fResource = marker.getResource();
ModelModification modification = new ModelModification((IFile) marker.getResource()) {
@Override
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AbstractXMLMarkerResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AbstractXMLMarkerResolution.java
index bfad1724d9..9beb42f7e7 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AbstractXMLMarkerResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AbstractXMLMarkerResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -30,7 +30,7 @@ public abstract class AbstractXMLMarkerResolution extends AbstractPDEMarkerResol
protected String fLocationPath;
public AbstractXMLMarkerResolution(int resolutionType, IMarker marker) {
- super(resolutionType);
+ super(resolutionType, marker);
try {
fLocationPath = (String) marker.getAttribute(PDEMarkerFactory.MPK_LOCATION_PATH);
} catch (CoreException e) {
@@ -46,6 +46,10 @@ public abstract class AbstractXMLMarkerResolution extends AbstractPDEMarkerResol
}
protected Object findNode(IPluginModelBase base) {
+ try {
+ fLocationPath = (String) marker.getAttribute(PDEMarkerFactory.MPK_LOCATION_PATH);
+ } catch (CoreException e) {
+ }
if (fLocationPath == null)
return null;
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddActivationHeaderResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddActivationHeaderResolution.java
index 8f1f3c25d2..b24463dfad 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddActivationHeaderResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddActivationHeaderResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2015 IBM Corporation and others.
+ * Copyright (c) 2008, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.osgi.util.NLS;
import org.eclipse.pde.internal.core.ICoreConstants;
import org.eclipse.pde.internal.core.TargetPlatformHelper;
@@ -27,13 +28,14 @@ public class AddActivationHeaderResolution extends AbstractManifestMarkerResolut
String fHeader = null;
- public AddActivationHeaderResolution(int type, String currentHeader) {
- super(type);
+ public AddActivationHeaderResolution(int type, String currentHeader, IMarker marker) {
+ super(type, marker);
fHeader = currentHeader;
}
@Override
protected void createChange(BundleModel model) {
+ marker.getAttribute("header", ICoreConstants.ECLIPSE_AUTOSTART); //$NON-NLS-1$
IBundle bundle = model.getBundle();
IManifestHeader header = bundle.getManifestHeader(fHeader);
if (header instanceof LazyStartHeader) {
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddActivationPolicyResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddActivationPolicyResolution.java
index 31e60327c5..6258959c7f 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddActivationPolicyResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddActivationPolicyResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2015 Alex Blewitt and others.
+ * Copyright (c) 2015, 2019 Alex Blewitt and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.pde.internal.core.ibundle.IBundle;
import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
import org.eclipse.pde.internal.core.text.bundle.Bundle;
@@ -22,8 +23,8 @@ import org.osgi.framework.Constants;
public class AddActivationPolicyResolution extends AbstractManifestMarkerResolution {
- public AddActivationPolicyResolution(int type) {
- super(type);
+ public AddActivationPolicyResolution(int type, IMarker marker) {
+ super(type, marker);
}
@Override
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddAutomaticModuleResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddAutomaticModuleResolution.java
index 3148a1e77d..306aa51db3 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddAutomaticModuleResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddAutomaticModuleResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2017 IBM Corporation and others.
+ * Copyright (c) 2017, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -28,7 +28,7 @@ public class AddAutomaticModuleResolution extends AbstractManifestMarkerResoluti
private IMarker mark;
public AddAutomaticModuleResolution(int type, IMarker marker) {
- super(type);
+ super(type, marker);
mark = marker;
}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddBuildEntryResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddBuildEntryResolution.java
index d8f0f224be..cf365f5c3f 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddBuildEntryResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddBuildEntryResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -16,6 +16,7 @@ package org.eclipse.pde.internal.ui.correction;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.osgi.util.NLS;
+import org.eclipse.pde.internal.core.builders.PDEMarkerFactory;
import org.eclipse.pde.internal.core.text.build.*;
import org.eclipse.pde.internal.ui.PDEUIMessages;
@@ -39,6 +40,11 @@ public class AddBuildEntryResolution extends BuildEntryMarkerResolution {
@Override
protected void createChange(Build build) {
try {
+ fEntry = (String) marker.getAttribute(PDEMarkerFactory.BK_BUILD_ENTRY);
+ fToken = (String) marker.getAttribute(PDEMarkerFactory.BK_BUILD_TOKEN);
+ } catch (CoreException e) {
+ }
+ try {
BuildModel buildModel = build.getModel();
if (buildModel.isStale()) {
buildModel.reconciled(buildModel.getDocument());
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddBundleClassPathMarkerResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddBundleClassPathMarkerResolution.java
index d991cef28d..09ce2dbdd0 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddBundleClassPathMarkerResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddBundleClassPathMarkerResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2015 IBM Corporation and others.
+ * Copyright (c) 2007, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.osgi.util.NLS;
import org.eclipse.pde.internal.core.ibundle.IBundle;
import org.eclipse.pde.internal.core.text.bundle.*;
@@ -23,8 +24,8 @@ public class AddBundleClassPathMarkerResolution extends AbstractManifestMarkerRe
private String fValue;
- public AddBundleClassPathMarkerResolution(int type, String value) {
- super(type);
+ public AddBundleClassPathMarkerResolution(int type, String value, IMarker marker) {
+ super(type, marker);
this.fValue = value;
}
@@ -35,6 +36,7 @@ public class AddBundleClassPathMarkerResolution extends AbstractManifestMarkerRe
@Override
protected void createChange(BundleModel model) {
+ this.fValue = marker.getAttribute("entry", null) ;//$NON-NLS-1$
IBundle bundle = model.getBundle();
if (bundle instanceof Bundle) {
BundleClasspathHeader header = (BundleClasspathHeader) bundle.getManifestHeader(Constants.BUNDLE_CLASSPATH);
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddBundleManifestVersionResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddBundleManifestVersionResolution.java
index 612fa7f0e7..f491ec1287 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddBundleManifestVersionResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddBundleManifestVersionResolution.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2011, 2015 IBM Corporation and others.
- *
+ * Copyright (c) 2011, 2019 IBM Corporation and others.
+ *
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.pde.internal.core.text.bundle.BundleModel;
import org.eclipse.pde.internal.ui.PDEUIMessages;
import org.osgi.framework.Constants;
@@ -23,8 +24,8 @@ import org.osgi.framework.Constants;
*/
public class AddBundleManifestVersionResolution extends AbstractManifestMarkerResolution {
- public AddBundleManifestVersionResolution() {
- super(AbstractPDEMarkerResolution.CREATE_TYPE);
+ public AddBundleManifestVersionResolution(IMarker marker) {
+ super(AbstractPDEMarkerResolution.CREATE_TYPE, marker);
}
@Override
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddDefaultExecutionEnvironmentResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddDefaultExecutionEnvironmentResolution.java
index f96771b74b..55d671fa96 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddDefaultExecutionEnvironmentResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddDefaultExecutionEnvironmentResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2015 IBM Corporation and others.
+ * Copyright (c) 2007, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -14,6 +14,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.jdt.launching.JavaRuntime;
import org.eclipse.jdt.launching.environments.IExecutionEnvironment;
import org.eclipse.osgi.util.NLS;
@@ -27,13 +28,14 @@ public class AddDefaultExecutionEnvironmentResolution extends AbstractManifestMa
private String id;
- public AddDefaultExecutionEnvironmentResolution(int type, String id) {
- super(type);
+ public AddDefaultExecutionEnvironmentResolution(int type, String id, IMarker marker) {
+ super(type, marker);
this.id = id;
}
@Override
protected void createChange(BundleModel model) {
+ id = this.marker.getAttribute("ee_id", null); //$NON-NLS-1$
IManifestHeader header = model.getBundle().getManifestHeader(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
if (header == null) {
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddExportPackageMarkerResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddExportPackageMarkerResolution.java
index b911fa0d73..7ad6fd74dc 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddExportPackageMarkerResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddExportPackageMarkerResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2018 IBM Corporation and others.
+ * Copyright (c) 2006, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,10 +13,8 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
-import java.util.HashSet;
import java.util.regex.Pattern;
import org.eclipse.core.resources.IMarker;
-import org.eclipse.pde.internal.core.builders.PDEMarkerFactory;
import org.eclipse.pde.internal.core.ibundle.IBundle;
import org.eclipse.pde.internal.core.text.bundle.*;
import org.eclipse.pde.internal.core.util.PatternConstructor;
@@ -28,10 +26,9 @@ import org.osgi.framework.Constants;
public class AddExportPackageMarkerResolution extends AbstractManifestMarkerResolution {
private String fValues;
- IMarker marker = null;
public AddExportPackageMarkerResolution(IMarker mark, int type, String values) {
- super(type);
+ super(type, mark);
this.fValues = values;
this.marker = mark;
}
@@ -42,12 +39,6 @@ public class AddExportPackageMarkerResolution extends AbstractManifestMarkerReso
}
@Override
- public void run(IMarker marker) {
- this.marker = marker;
- super.run(marker);
- }
-
- @Override
protected void createChange(BundleModel model) {
IBundle bundle = model.getBundle();
if (bundle instanceof Bundle) {
@@ -78,18 +69,4 @@ public class AddExportPackageMarkerResolution extends AbstractManifestMarkerReso
}
}
- @Override
- public IMarker[] findOtherMarkers(IMarker[] markers) {
- HashSet<IMarker> mset = new HashSet<>(markers.length);
- for (IMarker iMarker : markers) {
- if (iMarker.equals(marker))
- continue;
- String str = iMarker.getAttribute(PDEMarkerFactory.compilerKey, ""); //$NON-NLS-1$
- if (str.equals(marker.getAttribute(PDEMarkerFactory.compilerKey, ""))) //$NON-NLS-1$
- mset.add(iMarker);
- }
- int size = mset.size();
- return mset.toArray(new IMarker[size]);
- }
-
}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddNewExtensionPointResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddNewExtensionPointResolution.java
index 11cb269080..3a4a13b4b8 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddNewExtensionPointResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddNewExtensionPointResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2015 IBM Corporation and others.
+ * Copyright (c) 2008, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.pde.core.IBaseModel;
import org.eclipse.pde.internal.core.ibundle.IBundlePluginModelBase;
@@ -25,8 +26,8 @@ import org.eclipse.ui.IEditorPart;
public class AddNewExtensionPointResolution extends AbstractPDEMarkerResolution {
- public AddNewExtensionPointResolution(int type) {
- super(type);
+ public AddNewExtensionPointResolution(int type, IMarker marker) {
+ super(type, marker);
}
@Override
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddNewExtensionResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddNewExtensionResolution.java
index 1fe5504dbc..c56c137569 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddNewExtensionResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddNewExtensionResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2015 IBM Corporation and others.
+ * Copyright (c) 2008, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.pde.core.IBaseModel;
import org.eclipse.pde.internal.core.ibundle.IBundlePluginModelBase;
@@ -25,8 +26,8 @@ import org.eclipse.ui.IEditorPart;
public class AddNewExtensionResolution extends AbstractPDEMarkerResolution {
- public AddNewExtensionResolution(int type) {
- super(type);
+ public AddNewExtensionResolution(int type, IMarker marker) {
+ super(type, marker);
}
@Override
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddSingletonToSymbolicName.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddSingletonToSymbolicName.java
index 68216f85e3..342ebdba6b 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddSingletonToSymbolicName.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddSingletonToSymbolicName.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.pde.internal.core.TargetPlatformHelper;
import org.eclipse.pde.internal.core.ibundle.IBundle;
import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
@@ -24,8 +25,8 @@ public class AddSingletonToSymbolicName extends AbstractManifestMarkerResolution
private boolean fisDirective;
- public AddSingletonToSymbolicName(int type, boolean directive) {
- super(type);
+ public AddSingletonToSymbolicName(int type, boolean directive, IMarker marker) {
+ super(type, marker);
fisDirective = directive;
}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddSourceBuildEntryResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddSourceBuildEntryResolution.java
index 88fe0f5265..333671f4f3 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddSourceBuildEntryResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AddSourceBuildEntryResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -22,6 +22,7 @@ import org.eclipse.osgi.util.NLS;
import org.eclipse.pde.core.build.IBuildEntry;
import org.eclipse.pde.internal.build.IBuildPropertiesConstants;
import org.eclipse.pde.internal.core.builders.PDEBuilderHelper;
+import org.eclipse.pde.internal.core.builders.PDEMarkerFactory;
import org.eclipse.pde.internal.core.text.build.Build;
import org.eclipse.pde.internal.core.text.build.BuildEntry;
import org.eclipse.pde.internal.ui.PDEUIMessages;
@@ -40,6 +41,11 @@ public class AddSourceBuildEntryResolution extends BuildEntryMarkerResolution {
@Override
protected void createChange(Build build) {
try {
+ fEntry = (String) marker.getAttribute(PDEMarkerFactory.BK_BUILD_ENTRY);
+ fToken = (String) marker.getAttribute(PDEMarkerFactory.BK_BUILD_TOKEN);
+ } catch (CoreException e) {
+ }
+ try {
BuildEntry buildEntry = (BuildEntry) build.getEntry(fEntry);
boolean unlistedOnly = true;
if (buildEntry == null) {
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AppendSeperatorBuildEntryResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AppendSeperatorBuildEntryResolution.java
index 6c03f0f278..1d04fd0f0b 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AppendSeperatorBuildEntryResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/AppendSeperatorBuildEntryResolution.java
@@ -16,6 +16,7 @@ package org.eclipse.pde.internal.ui.correction;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.osgi.util.NLS;
+import org.eclipse.pde.internal.core.builders.PDEMarkerFactory;
import org.eclipse.pde.internal.core.text.build.Build;
import org.eclipse.pde.internal.core.text.build.BuildEntry;
import org.eclipse.pde.internal.ui.PDEUIMessages;
@@ -29,6 +30,11 @@ public class AppendSeperatorBuildEntryResolution extends BuildEntryMarkerResolut
@Override
protected void createChange(Build build) {
try {
+ fEntry = (String) marker.getAttribute(PDEMarkerFactory.BK_BUILD_ENTRY);
+ fToken = (String) marker.getAttribute(PDEMarkerFactory.BK_BUILD_TOKEN);
+ } catch (CoreException e) {
+ }
+ try {
BuildEntry buildEntry = (BuildEntry) build.getEntry(fEntry);
buildEntry.renameToken(fToken, fToken + '/');
} catch (CoreException e) {
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/BuildEntryMarkerResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/BuildEntryMarkerResolution.java
index a544807032..2ec55c915e 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/BuildEntryMarkerResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/BuildEntryMarkerResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -26,7 +26,7 @@ public abstract class BuildEntryMarkerResolution extends AbstractPDEMarkerResolu
protected String fToken;
public BuildEntryMarkerResolution(int type, IMarker marker) {
- super(type);
+ super(type, marker);
try {
fEntry = (String) marker.getAttribute(PDEMarkerFactory.BK_BUILD_ENTRY);
fToken = (String) marker.getAttribute(PDEMarkerFactory.BK_BUILD_TOKEN);
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ChooseManifestClassResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ChooseManifestClassResolution.java
index ea840a7795..937e34a25c 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ChooseManifestClassResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ChooseManifestClassResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.jdt.ui.IJavaElementSearchConstants;
import org.eclipse.osgi.util.NLS;
import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
@@ -24,8 +25,8 @@ public class ChooseManifestClassResolution extends AbstractManifestMarkerResolut
private String fHeader;
- public ChooseManifestClassResolution(int type, String headerName) {
- super(type);
+ public ChooseManifestClassResolution(int type, String headerName, IMarker marker) {
+ super(type, marker);
fHeader = headerName;
}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ConfigureProblemSeverityForPDECompilerResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ConfigureProblemSeverityForPDECompilerResolution.java
index d9b08ea3dd..2a6a81b541 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ConfigureProblemSeverityForPDECompilerResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ConfigureProblemSeverityForPDECompilerResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2017, 2018 IBM Corporation and others.
+ * Copyright (c) 2017, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -45,12 +45,10 @@ import org.eclipse.ui.dialogs.PreferencesUtil;
public class ConfigureProblemSeverityForPDECompilerResolution extends AbstractManifestMarkerResolution
implements IJavaCompletionProposal, IMarkerResolutionRelevance {
private static final String CONFIGURE_PROBLEM_SEVERITY_DIALOG_ID = "configure_problem_severity_dialog_id_compiler"; //$NON-NLS-1$
- IMarker marker = null;
String id = ""; //$NON-NLS-1$
public ConfigureProblemSeverityForPDECompilerResolution(IMarker mker, int type, String key) {
- super(type);
- marker = mker;
+ super(type, mker);
id = key;
}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/CreateJREBundleHeaderResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/CreateJREBundleHeaderResolution.java
index 46e4f542d1..5965cd41a7 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/CreateJREBundleHeaderResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/CreateJREBundleHeaderResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,14 +13,15 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.pde.internal.core.ICoreConstants;
import org.eclipse.pde.internal.core.text.bundle.BundleModel;
import org.eclipse.pde.internal.ui.PDEUIMessages;
public class CreateJREBundleHeaderResolution extends AbstractManifestMarkerResolution {
- public CreateJREBundleHeaderResolution(int type) {
- super(type);
+ public CreateJREBundleHeaderResolution(int type, IMarker marker) {
+ super(type, marker);
}
@Override
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/CreateManifestClassResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/CreateManifestClassResolution.java
index fdbb4d6158..6789edb667 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/CreateManifestClassResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/CreateManifestClassResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IProject;
import org.eclipse.osgi.util.NLS;
import org.eclipse.pde.core.plugin.IPluginModelBase;
@@ -28,8 +29,8 @@ public class CreateManifestClassResolution extends AbstractManifestMarkerResolut
private String fHeader;
- public CreateManifestClassResolution(int type, String headerName) {
- super(type);
+ public CreateManifestClassResolution(int type, String headerName, IMarker marker) {
+ super(type, marker);
fHeader = headerName;
}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/DeletePluginBaseResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/DeletePluginBaseResolution.java
index 075c4d093b..96ad6322ec 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/DeletePluginBaseResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/DeletePluginBaseResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2015 IBM Corporation and others.
+ * Copyright (c) 2008, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -29,8 +29,8 @@ import org.eclipse.ui.IMarkerResolution;
public class DeletePluginBaseResolution extends AbstractPDEMarkerResolution {
- public DeletePluginBaseResolution(int type) {
- super(type);
+ public DeletePluginBaseResolution(int type, IMarker marker) {
+ super(type, marker);
}
@Override
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ExternalizeResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ExternalizeResolution.java
index c1c259aab1..fef96d750e 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ExternalizeResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ExternalizeResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -128,6 +128,11 @@ public class ExternalizeResolution extends AbstractXMLMarkerResolution {
PDEModelUtility.modifyModel(modification, null);
}
+ @Override
+ public IMarker[] findOtherMarkers(IMarker[] markers) {
+ return new IMarker[0];
+ }
+
private void checkPropertiesFile(IFile file) {
if (!file.exists()) {
String propertiesFileComment = ExternalizeStringsOperation.getPropertiesFileComment(file);
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ExternalizeStringsResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ExternalizeStringsResolution.java
index c1ba3459ae..ffc765408d 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ExternalizeStringsResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ExternalizeStringsResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2018 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -24,16 +24,22 @@ import org.eclipse.swt.custom.BusyIndicator;
public class ExternalizeStringsResolution extends AbstractPDEMarkerResolution {
- public ExternalizeStringsResolution(int type) {
- super(type);
+ private boolean hasRun = false;
+
+ public ExternalizeStringsResolution(int type, IMarker marker) {
+ super(type, marker);
}
@Override
public void run(final IMarker marker) {
+ // even for multiple error markers, this wizard must be run only once
+ if (hasRun)
+ return;
BusyIndicator.showWhile(SWTUtil.getStandardDisplay(), () -> {
GetNonExternalizedStringsAction fGetExternAction = new GetNonExternalizedStringsAction();
IStructuredSelection selection = new StructuredSelection(marker.getResource().getProject());
fGetExternAction.runGetNonExternalizedStringsAction(selection);
+ hasRun = true;
});
}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/NoLineTerminationResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/NoLineTerminationResolution.java
index 50b8b6455e..499b0eb17f 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/NoLineTerminationResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/NoLineTerminationResolution.java
@@ -1,11 +1,11 @@
/*******************************************************************************
- * Copyright (c) 2011, 2015 IBM Corporation and others.
- *
+ * Copyright (c) 2011, 2019 IBM Corporation and others.
+ *
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.jface.text.*;
import org.eclipse.pde.internal.core.text.bundle.BundleModel;
import org.eclipse.pde.internal.ui.PDEUIMessages;
@@ -28,8 +29,8 @@ public class NoLineTerminationResolution extends AbstractManifestMarkerResolutio
* @param type Either {@link AbstractPDEMarkerResolution#REMOVE_TYPE} to delete a whitespace only line
* or {@link AbstractPDEMarkerResolution#CREATE_TYPE} to add a new line
*/
- public NoLineTerminationResolution(int type) {
- super(type);
+ public NoLineTerminationResolution(int type, IMarker marker) {
+ super(type, marker);
}
/**
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OptionalImportPackageResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OptionalImportPackageResolution.java
index 0cef8255aa..4f8d84a400 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OptionalImportPackageResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OptionalImportPackageResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.osgi.util.NLS;
import org.eclipse.pde.internal.core.text.bundle.*;
import org.eclipse.pde.internal.ui.PDEUIMessages;
@@ -22,13 +23,14 @@ public class OptionalImportPackageResolution extends AbstractManifestMarkerResol
private String fPackageName;
- public OptionalImportPackageResolution(int type, String packageName) {
- super(type);
+ public OptionalImportPackageResolution(int type, String packageName, IMarker marker) {
+ super(type, marker);
fPackageName = packageName;
}
@Override
protected void createChange(BundleModel model) {
+ fPackageName = marker.getAttribute("packageName", (String) null); //$NON-NLS-1$
Bundle bundle = (Bundle) model.getBundle();
ImportPackageHeader header = (ImportPackageHeader) bundle.getManifestHeader(Constants.IMPORT_PACKAGE);
if (header != null) {
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OptionalRequireBundleResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OptionalRequireBundleResolution.java
index 265ab9a866..0496196882 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OptionalRequireBundleResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OptionalRequireBundleResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.osgi.util.NLS;
import org.eclipse.pde.internal.core.text.bundle.*;
import org.eclipse.pde.internal.ui.PDEUIMessages;
@@ -22,13 +23,14 @@ public class OptionalRequireBundleResolution extends AbstractManifestMarkerResol
private String fBundleId;
- public OptionalRequireBundleResolution(int type, String bundleId) {
- super(type);
+ public OptionalRequireBundleResolution(int type, String bundleId, IMarker marker) {
+ super(type, marker);
fBundleId = bundleId;
}
@Override
protected void createChange(BundleModel model) {
+ fBundleId= marker.getAttribute("bundleId", (String) null); //$NON-NLS-1$
Bundle bundle = (Bundle) model.getBundle();
RequireBundleHeader header = (RequireBundleHeader) bundle.getManifestHeader(Constants.REQUIRE_BUNDLE);
if (header != null) {
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OrganizeExportPackageResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OrganizeExportPackageResolution.java
index 724472d4e8..7713ea73f7 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OrganizeExportPackageResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OrganizeExportPackageResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,14 +13,15 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.pde.internal.core.text.bundle.BundleModel;
import org.eclipse.pde.internal.ui.PDEUIMessages;
import org.eclipse.pde.internal.ui.wizards.tools.OrganizeManifest;
public class OrganizeExportPackageResolution extends AbstractManifestMarkerResolution {
- public OrganizeExportPackageResolution(int type) {
- super(type);
+ public OrganizeExportPackageResolution(int type, IMarker marker) {
+ super(type, marker);
}
@Override
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OrganizeImportPackageResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OrganizeImportPackageResolution.java
index a00af87807..1f93d32e4c 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OrganizeImportPackageResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OrganizeImportPackageResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.pde.internal.core.text.bundle.BundleModel;
import org.eclipse.pde.internal.ui.PDEUIMessages;
import org.eclipse.pde.internal.ui.wizards.tools.OrganizeManifest;
@@ -21,8 +22,8 @@ public class OrganizeImportPackageResolution extends AbstractManifestMarkerResol
private boolean fRemoveImports;
- public OrganizeImportPackageResolution(int type, boolean removeImports) {
- super(type);
+ public OrganizeImportPackageResolution(int type, boolean removeImports, IMarker marker) {
+ super(type, marker);
fRemoveImports = removeImports;
}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OrganizeRequireBundleResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OrganizeRequireBundleResolution.java
index aa5bbb1fd3..20f7beb0f0 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OrganizeRequireBundleResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/OrganizeRequireBundleResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.pde.internal.core.text.bundle.BundleModel;
import org.eclipse.pde.internal.ui.PDEUIMessages;
import org.eclipse.pde.internal.ui.wizards.tools.OrganizeManifest;
@@ -21,8 +22,8 @@ public class OrganizeRequireBundleResolution extends AbstractManifestMarkerResol
private boolean fRemoveImports;
- public OrganizeRequireBundleResolution(int type, boolean removeImports) {
- super(type);
+ public OrganizeRequireBundleResolution(int type, boolean removeImports, IMarker marker) {
+ super(type, marker);
fRemoveImports = removeImports;
}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveBuildEntryResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveBuildEntryResolution.java
index fd3f5d2fa3..80b533d010 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveBuildEntryResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveBuildEntryResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -16,6 +16,7 @@ package org.eclipse.pde.internal.ui.correction;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.osgi.util.NLS;
+import org.eclipse.pde.internal.core.builders.PDEMarkerFactory;
import org.eclipse.pde.internal.core.text.build.Build;
import org.eclipse.pde.internal.core.text.build.BuildEntry;
import org.eclipse.pde.internal.ui.PDEUIMessages;
@@ -36,6 +37,11 @@ public class RemoveBuildEntryResolution extends BuildEntryMarkerResolution {
@Override
protected void createChange(Build build) {
try {
+ fEntry = (String) marker.getAttribute(PDEMarkerFactory.BK_BUILD_ENTRY);
+ fToken = (String) marker.getAttribute(PDEMarkerFactory.BK_BUILD_TOKEN);
+ } catch (CoreException e) {
+ }
+ try {
BuildEntry buildEntry = (BuildEntry) build.getEntry(fEntry);
if (buildEntry == null)
return;
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveExportPackageResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveExportPackageResolution.java
index 5bb0ae0950..08ca7839e3 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveExportPackageResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveExportPackageResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.osgi.util.NLS;
import org.eclipse.pde.internal.core.text.bundle.*;
import org.eclipse.pde.internal.ui.PDEUIMessages;
@@ -22,13 +23,14 @@ public class RemoveExportPackageResolution extends AbstractManifestMarkerResolut
String fPackage;
- public RemoveExportPackageResolution(int type, String pkgName) {
- super(type);
+ public RemoveExportPackageResolution(int type, String pkgName, IMarker marker) {
+ super(type, marker);
fPackage = pkgName;
}
@Override
protected void createChange(BundleModel model) {
+ fPackage = marker.getAttribute("packageName", (String) null); //$NON-NLS-1$
Bundle bundle = (Bundle) model.getBundle();
ExportPackageHeader header = (ExportPackageHeader) bundle.getManifestHeader(Constants.EXPORT_PACKAGE);
if (header != null)
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveImportExportServicesResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveImportExportServicesResolution.java
index 7d375dd671..396ba561b3 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveImportExportServicesResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveImportExportServicesResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2015 IBM Corporation and others.
+ * Copyright (c) 2006, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.osgi.util.NLS;
import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
import org.eclipse.pde.internal.core.text.bundle.Bundle;
@@ -23,8 +24,8 @@ public class RemoveImportExportServicesResolution extends AbstractManifestMarker
String fServiceHeader;
- public RemoveImportExportServicesResolution(int type, String serviceHeader) {
- super(type);
+ public RemoveImportExportServicesResolution(int type, String serviceHeader, IMarker marker) {
+ super(type, marker);
fServiceHeader = serviceHeader;
}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveImportPackageResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveImportPackageResolution.java
index cc2fad7671..450f856bde 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveImportPackageResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveImportPackageResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.osgi.util.NLS;
import org.eclipse.pde.internal.core.text.bundle.*;
import org.eclipse.pde.internal.ui.PDEUIMessages;
@@ -22,13 +23,14 @@ public class RemoveImportPackageResolution extends AbstractManifestMarkerResolut
private String fPkgName;
- public RemoveImportPackageResolution(int type, String packageName) {
- super(type);
+ public RemoveImportPackageResolution(int type, String packageName, IMarker marker) {
+ super(type, marker);
fPkgName = packageName;
}
@Override
protected void createChange(BundleModel model) {
+ fPkgName = marker.getAttribute("packageName", (String) null); //$NON-NLS-1$
Bundle bundle = (Bundle) model.getBundle();
ImportPackageHeader header = (ImportPackageHeader) bundle.getManifestHeader(Constants.IMPORT_PACKAGE);
if (header != null)
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveInternalDirectiveEntryResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveInternalDirectiveEntryResolution.java
index 19be3644c1..448b481747 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveInternalDirectiveEntryResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveInternalDirectiveEntryResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2015 IBM Corporation and others.
+ * Copyright (c) 2006, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
import org.eclipse.pde.internal.core.text.bundle.*;
import org.eclipse.pde.internal.ui.PDEUIMessages;
@@ -22,13 +23,14 @@ public class RemoveInternalDirectiveEntryResolution extends AbstractManifestMark
private String fPackageName;
- public RemoveInternalDirectiveEntryResolution(int type, String packageName) {
- super(type);
+ public RemoveInternalDirectiveEntryResolution(int type, String packageName, IMarker marker) {
+ super(type, marker);
fPackageName = packageName;
}
@Override
protected void createChange(BundleModel model) {
+ fPackageName= marker.getAttribute("packageName", (String) null); //$NON-NLS-1$
IManifestHeader header = model.getBundle().getManifestHeader(Constants.EXPORT_PACKAGE);
if (header instanceof ExportPackageHeader) {
ExportPackageObject exportedPackage = ((ExportPackageHeader) header).getPackage(fPackageName);
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveLazyLoadingDirectiveResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveLazyLoadingDirectiveResolution.java
index 7da2d3051b..d568a6577d 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveLazyLoadingDirectiveResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveLazyLoadingDirectiveResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2015 IBM Corporation and others.
+ * Copyright (c) 2008, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -14,6 +14,8 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.pde.internal.core.ICoreConstants;
import org.eclipse.pde.internal.core.text.bundle.BundleModel;
import org.eclipse.pde.internal.ui.PDEUIMessages;
@@ -21,13 +23,14 @@ public class RemoveLazyLoadingDirectiveResolution extends AbstractManifestMarker
private String fHeader = null;
- public RemoveLazyLoadingDirectiveResolution(int type, String currentHeader) {
- super(type);
+ public RemoveLazyLoadingDirectiveResolution(int type, String currentHeader, IMarker marker) {
+ super(type, marker);
fHeader = currentHeader;
}
@Override
protected void createChange(BundleModel model) {
+ fHeader = marker.getAttribute("header", ICoreConstants.ECLIPSE_LAZYSTART) ;//$NON-NLS-1$
model.getBundle().setHeader(fHeader, null);
}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveRequireBundleResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveRequireBundleResolution.java
index feedb25469..c2cee3ae7b 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveRequireBundleResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveRequireBundleResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.osgi.util.NLS;
import org.eclipse.pde.internal.core.text.bundle.*;
import org.eclipse.pde.internal.ui.PDEUIMessages;
@@ -22,13 +23,14 @@ public class RemoveRequireBundleResolution extends AbstractManifestMarkerResolut
private String fBundleId;
- public RemoveRequireBundleResolution(int type, String bundleID) {
- super(type);
+ public RemoveRequireBundleResolution(int type, String bundleID, IMarker marker) {
+ super(type, marker);
fBundleId = bundleID;
}
@Override
protected void createChange(BundleModel model) {
+ fBundleId = marker.getAttribute("bundleId", null); //$NON-NLS-1$
Bundle bundle = (Bundle) model.getBundle();
RequireBundleHeader header = (RequireBundleHeader) bundle.getManifestHeader(Constants.REQUIRE_BUNDLE);
if (header != null)
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveSeperatorBuildEntryResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveSeperatorBuildEntryResolution.java
index de605be4a2..7992c5307b 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveSeperatorBuildEntryResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveSeperatorBuildEntryResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -16,6 +16,7 @@ package org.eclipse.pde.internal.ui.correction;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.osgi.util.NLS;
+import org.eclipse.pde.internal.core.builders.PDEMarkerFactory;
import org.eclipse.pde.internal.core.text.build.Build;
import org.eclipse.pde.internal.core.text.build.BuildEntry;
import org.eclipse.pde.internal.ui.PDEUIMessages;
@@ -29,6 +30,11 @@ public class RemoveSeperatorBuildEntryResolution extends BuildEntryMarkerResolut
@Override
protected void createChange(Build build) {
try {
+ fEntry = (String) marker.getAttribute(PDEMarkerFactory.BK_BUILD_ENTRY);
+ fToken = (String) marker.getAttribute(PDEMarkerFactory.BK_BUILD_TOKEN);
+ } catch (CoreException e) {
+ }
+ try {
BuildEntry buildEntry = (BuildEntry) build.getEntry(fEntry);
buildEntry.renameToken(fToken, fToken.substring(0, fToken.length() - 1));
} catch (CoreException e) {
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveStaticProjectReferences.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveStaticProjectReferences.java
index f13c5a4bdb..bfc27e2b7b 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveStaticProjectReferences.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveStaticProjectReferences.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -20,8 +20,8 @@ import org.eclipse.pde.internal.ui.PDEUIMessages;
public class RemoveStaticProjectReferences extends AbstractPDEMarkerResolution {
- public RemoveStaticProjectReferences(int type) {
- super(type);
+ public RemoveStaticProjectReferences(int type, IMarker marker) {
+ super(type, marker);
}
@Override
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveUnknownExecEnvironments.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveUnknownExecEnvironments.java
index 2d9a9363d7..88202a2679 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveUnknownExecEnvironments.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RemoveUnknownExecEnvironments.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.jdt.launching.JavaRuntime;
import org.eclipse.jdt.launching.environments.IExecutionEnvironment;
import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
@@ -22,8 +23,8 @@ import org.osgi.framework.Constants;
public class RemoveUnknownExecEnvironments extends AbstractManifestMarkerResolution {
- public RemoveUnknownExecEnvironments(int type) {
- super(type);
+ public RemoveUnknownExecEnvironments(int type, IMarker marker) {
+ super(type, marker);
}
@Override
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RenameProvidePackageResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RenameProvidePackageResolution.java
index b47a1b8f8f..4acceba1e4 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RenameProvidePackageResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/RenameProvidePackageResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2015 IBM Corporation and others.
+ * Copyright (c) 2007, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -14,6 +14,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.pde.internal.core.ICoreConstants;
import org.eclipse.pde.internal.core.text.bundle.BundleModel;
import org.eclipse.pde.internal.ui.PDEUIMessages;
@@ -21,8 +22,8 @@ import org.osgi.framework.Constants;
public class RenameProvidePackageResolution extends AbstractManifestMarkerResolution {
- public RenameProvidePackageResolution(int type) {
- super(type);
+ public RenameProvidePackageResolution(int type, IMarker marker) {
+ super(type, marker);
}
@Override
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ReplaceBuildEntryResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ReplaceBuildEntryResolution.java
index 692b8fec90..b00a84a779 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ReplaceBuildEntryResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ReplaceBuildEntryResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2015 IBM Corporation and others.
+ * Copyright (c) 2009, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -16,6 +16,7 @@ package org.eclipse.pde.internal.ui.correction;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.osgi.util.NLS;
+import org.eclipse.pde.internal.core.builders.PDEMarkerFactory;
import org.eclipse.pde.internal.core.text.build.Build;
import org.eclipse.pde.internal.core.text.build.BuildEntry;
import org.eclipse.pde.internal.ui.PDEUIMessages;
@@ -34,6 +35,11 @@ public class ReplaceBuildEntryResolution extends BuildEntryMarkerResolution {
@Override
protected void createChange(Build build) {
try {
+ fEntry = (String) marker.getAttribute(PDEMarkerFactory.BK_BUILD_ENTRY);
+ fToken = (String) marker.getAttribute(PDEMarkerFactory.BK_BUILD_TOKEN);
+ } catch (CoreException e) {
+ }
+ try {
BuildEntry buildEntry = (BuildEntry) build.getEntry(fEntry);
if (buildEntry == null)
return;
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ResolutionGenerator.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ResolutionGenerator.java
index 94b477184f..49c75e2010 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ResolutionGenerator.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ResolutionGenerator.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2018 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -53,18 +53,18 @@ public class ResolutionGenerator implements IMarkerResolutionGenerator2 {
case PDEMarkerFactory.M_DEPRECATED_AUTOSTART :
// if targetVersion <= 3.3, we can add Eclipse-LazyStart header even if previous header's value was false. We can't do this for 3.4+ since Bundle-AcativationPolicy does not have a "false" value.
if (marker.getAttribute(PDEMarkerFactory.ATTR_CAN_ADD, true) || TargetPlatformHelper.getTargetVersion() <= 3.3)
- return new IMarkerResolution[] {new UpdateActivationResolution(AbstractPDEMarkerResolution.RENAME_TYPE, marker.getAttribute(PDEMarkerFactory.ATTR_HEADER, ICoreConstants.ECLIPSE_AUTOSTART)), new AddActivationHeaderResolution(AbstractPDEMarkerResolution.CREATE_TYPE, marker.getAttribute("header", ICoreConstants.ECLIPSE_AUTOSTART))}; //$NON-NLS-1$
- return new IMarkerResolution[] {new UpdateActivationResolution(AbstractPDEMarkerResolution.RENAME_TYPE, marker.getAttribute(PDEMarkerFactory.ATTR_HEADER, ICoreConstants.ECLIPSE_AUTOSTART))};
+ return new IMarkerResolution[] {new UpdateActivationResolution(AbstractPDEMarkerResolution.RENAME_TYPE, marker.getAttribute(PDEMarkerFactory.ATTR_HEADER, ICoreConstants.ECLIPSE_AUTOSTART),marker), new AddActivationHeaderResolution(AbstractPDEMarkerResolution.CREATE_TYPE, marker.getAttribute("header", ICoreConstants.ECLIPSE_AUTOSTART), marker)}; //$NON-NLS-1$
+ return new IMarkerResolution[] {new UpdateActivationResolution(AbstractPDEMarkerResolution.RENAME_TYPE, marker.getAttribute(PDEMarkerFactory.ATTR_HEADER, ICoreConstants.ECLIPSE_AUTOSTART), marker)};
case PDEMarkerFactory.M_JAVA_PACKAGE__PORTED :
- return new IMarkerResolution[] {new CreateJREBundleHeaderResolution(AbstractPDEMarkerResolution.CREATE_TYPE)};
+ return new IMarkerResolution[] {new CreateJREBundleHeaderResolution(AbstractPDEMarkerResolution.CREATE_TYPE, marker)};
case PDEMarkerFactory.M_SINGLETON_DIR_NOT_SET :
- return new IMarkerResolution[] {new AddSingletonToSymbolicName(AbstractPDEMarkerResolution.RENAME_TYPE, true)};
+ return new IMarkerResolution[] {new AddSingletonToSymbolicName(AbstractPDEMarkerResolution.RENAME_TYPE, true, marker)};
case PDEMarkerFactory.M_SINGLETON_ATT_NOT_SET :
- return new IMarkerResolution[] {new AddSingletonToSymbolicName(AbstractPDEMarkerResolution.RENAME_TYPE, false)};
+ return new IMarkerResolution[] {new AddSingletonToSymbolicName(AbstractPDEMarkerResolution.RENAME_TYPE, false,marker)};
case PDEMarkerFactory.M_SINGLETON_DIR_NOT_SUPPORTED :
- return new IMarkerResolution[] {new UnsupportedSingletonDirectiveResolution(AbstractPDEMarkerResolution.RENAME_TYPE)};
+ return new IMarkerResolution[] {new UnsupportedSingletonDirectiveResolution(AbstractPDEMarkerResolution.RENAME_TYPE, marker)};
case PDEMarkerFactory.M_PROJECT_BUILD_ORDER_ENTRIES :
- return new IMarkerResolution[] {new RemoveStaticProjectReferences(AbstractPDEMarkerResolution.REMOVE_TYPE)};
+ return new IMarkerResolution[] {new RemoveStaticProjectReferences(AbstractPDEMarkerResolution.REMOVE_TYPE, marker)};
case PDEMarkerFactory.M_EXPORT_PKG_NOT_EXIST :
return getUnresolvedExportProposals(marker);
case PDEMarkerFactory.M_IMPORT_PKG_NOT_AVAILABLE :
@@ -72,21 +72,21 @@ public class ResolutionGenerator implements IMarkerResolutionGenerator2 {
case PDEMarkerFactory.M_REQ_BUNDLE_NOT_AVAILABLE :
return getUnresolvedBundle(marker);
case PDEMarkerFactory.M_UNKNOWN_ACTIVATOR :
- return new IMarkerResolution[] {new CreateManifestClassResolution(AbstractPDEMarkerResolution.CREATE_TYPE, Constants.BUNDLE_ACTIVATOR), new ChooseManifestClassResolution(AbstractPDEMarkerResolution.RENAME_TYPE, Constants.BUNDLE_ACTIVATOR)};
+ return new IMarkerResolution[] {new CreateManifestClassResolution(AbstractPDEMarkerResolution.CREATE_TYPE, Constants.BUNDLE_ACTIVATOR, marker), new ChooseManifestClassResolution(AbstractPDEMarkerResolution.RENAME_TYPE, Constants.BUNDLE_ACTIVATOR, marker)};
case PDEMarkerFactory.M_UNKNOWN_CLASS :
- return new IMarkerResolution[] {new CreateManifestClassResolution(AbstractPDEMarkerResolution.CREATE_TYPE, ICoreConstants.PLUGIN_CLASS), new ChooseManifestClassResolution(AbstractPDEMarkerResolution.RENAME_TYPE, ICoreConstants.PLUGIN_CLASS)};
+ return new IMarkerResolution[] {new CreateManifestClassResolution(AbstractPDEMarkerResolution.CREATE_TYPE, ICoreConstants.PLUGIN_CLASS, marker), new ChooseManifestClassResolution(AbstractPDEMarkerResolution.RENAME_TYPE, ICoreConstants.PLUGIN_CLASS, marker)};
case PDEMarkerFactory.M_DIRECTIVE_HAS_NO_EFFECT :
return getRemoveInternalDirectiveResolution(marker);
case PDEMarkerFactory.M_MISMATCHED_EXEC_ENV :
- return new IMarkerResolution[] {new UpdateClasspathResolution(AbstractPDEMarkerResolution.RENAME_TYPE)};
+ return new IMarkerResolution[] {new UpdateClasspathResolution(AbstractPDEMarkerResolution.RENAME_TYPE, marker)};
case PDEMarkerFactory.M_UNKNOW_EXEC_ENV :
- return new IMarkerResolution[] {new RemoveUnknownExecEnvironments(AbstractPDEMarkerResolution.REMOVE_TYPE)};
+ return new IMarkerResolution[] {new RemoveUnknownExecEnvironments(AbstractPDEMarkerResolution.REMOVE_TYPE,marker)};
case PDEMarkerFactory.M_DEPRECATED_IMPORT_SERVICE :
- return new IMarkerResolution[] {new RemoveImportExportServicesResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, ICoreConstants.IMPORT_SERVICE)};
+ return new IMarkerResolution[] {new RemoveImportExportServicesResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, ICoreConstants.IMPORT_SERVICE, marker)};
case PDEMarkerFactory.M_DEPRECATED_EXPORT_SERVICE :
- return new IMarkerResolution[] {new RemoveImportExportServicesResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, ICoreConstants.EXPORT_SERVICE)};
+ return new IMarkerResolution[] {new RemoveImportExportServicesResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, ICoreConstants.EXPORT_SERVICE, marker)};
case PDEMarkerFactory.M_UNECESSARY_DEP :
- return new IMarkerResolution[] {new RemoveRequireBundleResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, marker.getAttribute("bundleId", null))}; //$NON-NLS-1$
+ return new IMarkerResolution[] {new RemoveRequireBundleResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, marker.getAttribute("bundleId", null), marker)}; //$NON-NLS-1$
case PDEMarkerFactory.M_MISSING_EXPORT_PKGS :
return new IMarkerResolution[] { new AddExportPackageMarkerResolution(marker,AbstractPDEMarkerResolution.CREATE_TYPE, marker.getAttribute("packages", null)) }; //$NON-NLS-1$
case PDEMarkerFactory.B_REMOVE_SLASH_FILE_ENTRY :
@@ -106,29 +106,29 @@ public class ResolutionGenerator implements IMarkerResolutionGenerator2 {
case PDEMarkerFactory.P_ILLEGAL_XML_NODE :
return new IMarkerResolution[] {new RemoveNodeXMLResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, marker)};
case PDEMarkerFactory.P_UNTRANSLATED_NODE :
- return new IMarkerResolution[] {new ExternalizeResolution(AbstractPDEMarkerResolution.RENAME_TYPE, marker), new ExternalizeStringsResolution(AbstractPDEMarkerResolution.RENAME_TYPE)};
+ return new IMarkerResolution[] {new ExternalizeResolution(AbstractPDEMarkerResolution.RENAME_TYPE, marker), new ExternalizeStringsResolution(AbstractPDEMarkerResolution.RENAME_TYPE, marker)};
case PDEMarkerFactory.P_UNKNOWN_CLASS :
return new IMarkerResolution[] {new CreateClassXMLResolution(AbstractPDEMarkerResolution.CREATE_TYPE, marker), new ChooseClassXMLResolution(AbstractPDEMarkerResolution.RENAME_TYPE, marker)};
case PDEMarkerFactory.P_USELESS_FILE :
- return new IMarkerResolution[] {new DeletePluginBaseResolution(AbstractPDEMarkerResolution.REMOVE_TYPE), new AddNewExtensionResolution(AbstractPDEMarkerResolution.CREATE_TYPE), new AddNewExtensionPointResolution(AbstractPDEMarkerResolution.CREATE_TYPE)};
+ return new IMarkerResolution[] {new DeletePluginBaseResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, marker), new AddNewExtensionResolution(AbstractPDEMarkerResolution.CREATE_TYPE,marker), new AddNewExtensionPointResolution(AbstractPDEMarkerResolution.CREATE_TYPE, marker)};
case PDEMarkerFactory.M_DEPRECATED_PROVIDE_PACKAGE :
- return new IMarkerResolution[] {new RenameProvidePackageResolution(AbstractPDEMarkerResolution.RENAME_TYPE)};
+ return new IMarkerResolution[] {new RenameProvidePackageResolution(AbstractPDEMarkerResolution.RENAME_TYPE,marker)};
case PDEMarkerFactory.M_EXECUTION_ENVIRONMENT_NOT_SET :
- return new IMarkerResolution[] {new AddDefaultExecutionEnvironmentResolution(AbstractPDEMarkerResolution.CREATE_TYPE, marker.getAttribute("ee_id", null))}; //$NON-NLS-1$
+ return new IMarkerResolution[] {new AddDefaultExecutionEnvironmentResolution(AbstractPDEMarkerResolution.CREATE_TYPE, marker.getAttribute("ee_id", null),marker)}; //$NON-NLS-1$
case PDEMarkerFactory.M_MISSING_BUNDLE_CLASSPATH_ENTRY :
- return new IMarkerResolution[] {new AddBundleClassPathMarkerResolution(AbstractPDEMarkerResolution.CREATE_TYPE, marker.getAttribute("entry", null))}; //$NON-NLS-1$
+ return new IMarkerResolution[] {new AddBundleClassPathMarkerResolution(AbstractPDEMarkerResolution.CREATE_TYPE, marker.getAttribute("entry", null), marker)}; //$NON-NLS-1$
case PDEMarkerFactory.M_LAZYLOADING_HAS_NO_EFFECT :
- return new IMarkerResolution[] {new RemoveLazyLoadingDirectiveResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, marker.getAttribute("header", ICoreConstants.ECLIPSE_LAZYSTART))}; //$NON-NLS-1$
+ return new IMarkerResolution[] {new RemoveLazyLoadingDirectiveResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, marker.getAttribute("header", ICoreConstants.ECLIPSE_LAZYSTART), marker)}; //$NON-NLS-1$
case PDEMarkerFactory.M_NO_LINE_TERMINATION :
if (marker.getAttribute(PDEMarkerFactory.ATTR_HAS_CONTENT, true)) {
- return new IMarkerResolution[] {new NoLineTerminationResolution(AbstractPDEMarkerResolution.CREATE_TYPE)};
+ return new IMarkerResolution[] {new NoLineTerminationResolution(AbstractPDEMarkerResolution.CREATE_TYPE,marker)};
}
- return new IMarkerResolution[] {new NoLineTerminationResolution(AbstractPDEMarkerResolution.REMOVE_TYPE)};
+ return new IMarkerResolution[] {new NoLineTerminationResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, marker)};
case PDEMarkerFactory.M_R4_SYNTAX_IN_R3_BUNDLE :
- return new IMarkerResolution[] {new AddBundleManifestVersionResolution()};
+ return new IMarkerResolution[] {new AddBundleManifestVersionResolution(marker)};
case PDEMarkerFactory.M_SERVICECOMPONENT_MISSING_LAZY:
return new IMarkerResolution[] {
- new AddActivationPolicyResolution(AbstractPDEMarkerResolution.CREATE_TYPE) };
+ new AddActivationPolicyResolution(AbstractPDEMarkerResolution.CREATE_TYPE, marker) };
case PDEMarkerFactory.M_NO_AUTOMATIC_MODULE:
return new IMarkerResolution[] {
new AddAutomaticModuleResolution(AbstractPDEMarkerResolution.CREATE_TYPE, marker) };
@@ -187,7 +187,7 @@ public class ResolutionGenerator implements IMarkerResolutionGenerator2 {
if (packageName != null) {
IResource res = marker.getResource();
if (res != null)
- return new IMarkerResolution[] {new RemoveInternalDirectiveEntryResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, packageName)};
+ return new IMarkerResolution[] {new RemoveInternalDirectiveEntryResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, packageName,marker)};
}
return NO_RESOLUTIONS;
}
@@ -197,7 +197,7 @@ public class ResolutionGenerator implements IMarkerResolutionGenerator2 {
if (packageName != null) {
IResource res = marker.getResource();
if (res != null)
- return new IMarkerResolution[] {new RemoveExportPackageResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, packageName)};
+ return new IMarkerResolution[] {new RemoveExportPackageResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, packageName, marker)};
}
return NO_RESOLUTIONS;
}
@@ -209,9 +209,9 @@ public class ResolutionGenerator implements IMarkerResolutionGenerator2 {
boolean optionalPkg = marker.getAttribute("optional", false); //$NON-NLS-1$
if (optionalPkg)
- return new IMarkerResolution[] {new RemoveImportPackageResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, packageName), new ConfigureTargetPlatformResolution()};
+ return new IMarkerResolution[] {new RemoveImportPackageResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, packageName, marker), new ConfigureTargetPlatformResolution()};
- return new IMarkerResolution[] {new RemoveImportPackageResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, packageName), new OptionalImportPackageResolution(AbstractPDEMarkerResolution.RENAME_TYPE, packageName), new ConfigureTargetPlatformResolution()};
+ return new IMarkerResolution[] {new RemoveImportPackageResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, packageName, marker), new OptionalImportPackageResolution(AbstractPDEMarkerResolution.RENAME_TYPE, packageName, marker), new ConfigureTargetPlatformResolution()};
}
private IMarkerResolution[] getUnresolvedBundle(IMarker marker) {
@@ -221,12 +221,12 @@ public class ResolutionGenerator implements IMarkerResolutionGenerator2 {
boolean optionalBundle = marker.getAttribute("optional", false); //$NON-NLS-1$
if (optionalBundle) {
- return new IMarkerResolution[] {new RemoveRequireBundleResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, bundleId), new ConfigureTargetPlatformResolution()};
+ return new IMarkerResolution[] {new RemoveRequireBundleResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, bundleId, marker), new ConfigureTargetPlatformResolution()};
}
// IPreferenceStore store = PDEPlugin.getDefault().getPreferenceStore();
// boolean removeImports = store.getString(IPreferenceConstants.PROP_RESOLVE_IMPORTS).equals(IPreferenceConstants.VALUE_REMOVE_IMPORT);
- return new IMarkerResolution[] {new RemoveRequireBundleResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, bundleId), new OptionalRequireBundleResolution(AbstractPDEMarkerResolution.RENAME_TYPE, bundleId), new ConfigureTargetPlatformResolution()
+ return new IMarkerResolution[] {new RemoveRequireBundleResolution(AbstractPDEMarkerResolution.REMOVE_TYPE, bundleId, marker), new OptionalRequireBundleResolution(AbstractPDEMarkerResolution.RENAME_TYPE, bundleId, marker), new ConfigureTargetPlatformResolution()
// new OrganizeRequireBundleResolution(AbstractPDEMarkerResolution.RENAME_TYPE, removeImports)
};
}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/UnsupportedSingletonDirectiveResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/UnsupportedSingletonDirectiveResolution.java
index 5f00554c47..9489c325c0 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/UnsupportedSingletonDirectiveResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/UnsupportedSingletonDirectiveResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,6 +13,7 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.correction;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.pde.internal.core.ibundle.IBundle;
import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
import org.eclipse.pde.internal.core.text.bundle.*;
@@ -21,8 +22,8 @@ import org.osgi.framework.Constants;
public class UnsupportedSingletonDirectiveResolution extends AbstractManifestMarkerResolution {
- public UnsupportedSingletonDirectiveResolution(int type) {
- super(type);
+ public UnsupportedSingletonDirectiveResolution(int type, IMarker marker) {
+ super(type, marker);
}
@Override
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/UpdateActivationResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/UpdateActivationResolution.java
index 2098fcdd38..bade7ac4cc 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/UpdateActivationResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/UpdateActivationResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2015 IBM Corporation and others.
+ * Copyright (c) 2008, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -14,9 +14,11 @@
package org.eclipse.pde.internal.ui.correction;
import java.util.Map;
+import org.eclipse.core.resources.IMarker;
import org.eclipse.osgi.util.NLS;
import org.eclipse.pde.internal.core.ICoreConstants;
import org.eclipse.pde.internal.core.TargetPlatformHelper;
+import org.eclipse.pde.internal.core.builders.PDEMarkerFactory;
import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
import org.eclipse.pde.internal.core.text.bundle.*;
import org.eclipse.pde.internal.ui.PDEUIMessages;
@@ -26,13 +28,14 @@ public class UpdateActivationResolution extends AbstractManifestMarkerResolution
private String fHeader = null;
- public UpdateActivationResolution(int type, String currentHeader) {
- super(type);
+ public UpdateActivationResolution(int type, String currentHeader, IMarker marker) {
+ super(type, marker);
fHeader = currentHeader;
}
@Override
protected void createChange(BundleModel model) {
+ fHeader = marker.getAttribute(PDEMarkerFactory.ATTR_HEADER, ICoreConstants.ECLIPSE_AUTOSTART);
if (TargetPlatformHelper.getTargetVersion() >= 3.4) {
// get the header we wish to replace
LazyStartHeader header = (LazyStartHeader) model.getBundle().getManifestHeader(fHeader);
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/UpdateClasspathResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/UpdateClasspathResolution.java
index ee25073e03..49f21123fa 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/UpdateClasspathResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/UpdateClasspathResolution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -24,8 +24,8 @@ import org.eclipse.pde.internal.ui.PDEUIMessages;
public class UpdateClasspathResolution extends AbstractPDEMarkerResolution {
- public UpdateClasspathResolution(int type) {
- super(type);
+ public UpdateClasspathResolution(int type, IMarker marker) {
+ super(type, marker);
}
@Override
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/category/RepositoryReferenceSection.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/category/RepositoryReferenceSection.java
index c0eacc75ef..e5b9f96abd 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/category/RepositoryReferenceSection.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/category/RepositoryReferenceSection.java
@@ -441,7 +441,7 @@ public class RepositoryReferenceSection extends TableSection {
combo.addSelectionListener(widgetSelectedAdapter(e -> {
item.setText(1, combo.getText());
try {
- repo.setEnabled(Boolean.valueOf(combo.getText()).booleanValue());
+ repo.setEnabled(Boolean.parseBoolean(combo.getText()));
} catch (CoreException ex) {
PDEPlugin.log(ex);
}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/contentassist/ManifestContentAssistProcessor.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/contentassist/ManifestContentAssistProcessor.java
index fbab565902..cee2e4770e 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/contentassist/ManifestContentAssistProcessor.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/contentassist/ManifestContentAssistProcessor.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2017 IBM Corporation and others.
+ * Copyright (c) 2006, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -51,14 +51,6 @@ public class ManifestContentAssistProcessor extends TypePackageCompletionProcess
private static final String[] fHeader = {Constants.BUNDLE_ACTIVATIONPOLICY, Constants.BUNDLE_ACTIVATOR, Constants.BUNDLE_CATEGORY, Constants.BUNDLE_CLASSPATH, Constants.BUNDLE_CONTACTADDRESS, Constants.BUNDLE_COPYRIGHT, Constants.BUNDLE_DESCRIPTION, Constants.BUNDLE_DOCURL, Constants.BUNDLE_LOCALIZATION, Constants.BUNDLE_MANIFESTVERSION, Constants.BUNDLE_NAME, Constants.BUNDLE_NATIVECODE, Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, Constants.BUNDLE_SYMBOLICNAME, Constants.BUNDLE_UPDATELOCATION, Constants.BUNDLE_VENDOR, Constants.BUNDLE_VERSION, Constants.DYNAMICIMPORT_PACKAGE, ICoreConstants.ECLIPSE_BUDDY_POLICY, ICoreConstants.ECLIPSE_BUNDLE_SHAPE, ICoreConstants.ECLIPSE_GENERIC_CAPABILITY, ICoreConstants.ECLIPSE_GENERIC_REQUIRED, ICoreConstants.ECLIPSE_LAZYSTART,
ICoreConstants.PLATFORM_FILTER, ICoreConstants.ECLIPSE_REGISTER_BUDDY, ICoreConstants.ECLIPSE_SOURCE_REFERENCES, Constants.EXPORT_PACKAGE, ICoreConstants.EXPORT_SERVICE, Constants.FRAGMENT_HOST, Constants.IMPORT_PACKAGE, ICoreConstants.IMPORT_SERVICE, Constants.PROVIDE_CAPABILITY, Constants.REQUIRE_BUNDLE, Constants.REQUIRE_CAPABILITY};
- private static final String BAUMAN = "Brian Bauman"; //$NON-NLS-1$
- private static final String ANISZCZYK = "Chris Aniszczyk"; //$NON-NLS-1$
- private static final String LASOCKI_BICZYSKO = "Janek Lasocki-Biczysko"; //$NON-NLS-1$
- private static final String PAWLOWSKI = "Mike Pawlowski"; //$NON-NLS-1$
- private static final String MELHEM = "Wassim Melhem"; //$NON-NLS-1$
- private static final String WINDATT = "Curtis Windatt"; //$NON-NLS-1$
-
- private static final String[] fNames = {BAUMAN, ANISZCZYK, LASOCKI_BICZYSKO, PAWLOWSKI, MELHEM, WINDATT};
private static final char[] fAutoActivationChars = { ':', ' ', ',', '.', ';', '=' };
@@ -245,23 +237,6 @@ public class ManifestContentAssistProcessor extends TypePackageCompletionProcess
*/
protected ICompletionProposal[] handleBundleNameCompletion(String currentValue, int offset) {
currentValue = removeLeadingSpaces(currentValue);
- int length = currentValue.length();
-
- // only show when there is no bundle name
- if (length == 0) {
- return new ICompletionProposal[] {new TypeCompletionProposal(BAUMAN, null, BAUMAN, offset - length, length), new TypeCompletionProposal(ANISZCZYK, null, ANISZCZYK, offset - length, length), new TypeCompletionProposal(LASOCKI_BICZYSKO, null, LASOCKI_BICZYSKO, offset - length, length), new TypeCompletionProposal(PAWLOWSKI, null, PAWLOWSKI, offset - length, length), new TypeCompletionProposal(MELHEM, null, MELHEM, offset - length, length), new TypeCompletionProposal(WINDATT, null, WINDATT, offset - length, length)};
- }
-
- // only show when we are trying to complete a name
- for (String fName : fNames) {
- StringTokenizer tokenizer = new StringTokenizer(currentValue, " "); //$NON-NLS-1$
- while (tokenizer.hasMoreTokens()) {
- String token = tokenizer.nextToken();
- if (fName.regionMatches(true, 0, token, 0, token.length())) {
- return new ICompletionProposal[] {new TypeCompletionProposal(fName, null, fName, offset - token.length(), token.length())};
- }
- }
- }
return new ICompletionProposal[0];
}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/JavaAttributeWizardPage.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/JavaAttributeWizardPage.java
index 694fb06467..2d95577735 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/JavaAttributeWizardPage.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/JavaAttributeWizardPage.java
@@ -112,8 +112,8 @@ public class JavaAttributeWizardPage extends NewClassWizardPage {
IJavaElement element = javaProject.findElement(new Path(fileName));
if (element == null)
return null;
- if (element instanceof IClassFile) {
- type = ((IClassFile) element).getType();
+ if (element instanceof IOrdinaryClassFile) {
+ type = ((IOrdinaryClassFile) element).getType();
} else if (element instanceof ICompilationUnit) {
IType[] types = ((ICompilationUnit) element).getTypes();
type = types[0];
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/GeneralInfoSection.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/GeneralInfoSection.java
index 00bce8cc8a..55fa40bb0a 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/GeneralInfoSection.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/GeneralInfoSection.java
@@ -204,7 +204,7 @@ public class GeneralInfoSection extends PDESection {
} else if (prop.equals(IProduct.P_VERSION)) {
fVersionEntry.setValue(e.getNewValue().toString(), true);
} else if (prop.equals(IProduct.P_INCLUDE_LAUNCHERS)) {
- fLaunchersButton.setSelection(Boolean.valueOf(e.getNewValue().toString()).booleanValue());
+ fLaunchersButton.setSelection(Boolean.parseBoolean(e.getNewValue().toString()));
}
}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/PluginConfigurationSection.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/PluginConfigurationSection.java
index 80c868b6c3..343d3ddb78 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/PluginConfigurationSection.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/PluginConfigurationSection.java
@@ -478,7 +478,7 @@ public class PluginConfigurationSection extends TableSection {
combo.pack();
combo.addSelectionListener(widgetSelectedAdapter(e -> {
item.setText(2, combo.getText());
- ppc.setAutoStart(Boolean.valueOf(combo.getText()).booleanValue());
+ ppc.setAutoStart(Boolean.parseBoolean(combo.getText()));
}));
fAutoColumnEditor.setEditor(combo, item, 2);
}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/UpdatesSection.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/UpdatesSection.java
index 938c10405d..73b50a1713 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/UpdatesSection.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/UpdatesSection.java
@@ -433,7 +433,7 @@ public class UpdatesSection extends TableSection {
combo.pack();
combo.addSelectionListener(widgetSelectedAdapter(e -> {
item.setText(1, combo.getText());
- repo.setEnabled(Boolean.valueOf(combo.getText()).booleanValue());
+ repo.setEnabled(Boolean.parseBoolean(combo.getText()));
}));
fEnabledColumnEditor.setEditor(combo, item, 1);
}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/targetdefinition/TargetEditor.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/targetdefinition/TargetEditor.java
index aef4fd391f..3b283f6bf6 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/targetdefinition/TargetEditor.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/targetdefinition/TargetEditor.java
@@ -16,15 +16,13 @@
*******************************************************************************/
package org.eclipse.pde.internal.ui.editor.targetdefinition;
-import java.io.File;
-import java.io.IOException;
+import java.io.*;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.ITextFileBufferManager;
import org.eclipse.core.resources.*;
import org.eclipse.core.runtime.*;
import org.eclipse.core.runtime.jobs.Job;
@@ -99,8 +97,8 @@ public class TargetEditor extends FormEditor {
protected void pageChange(int newPageIndex) {
try {
if (newPageIndex != fSourceTabIndex && getCurrentPage() == fSourceTabIndex) {
- ITextFileBufferManager manager = FileBuffers.getTextFileBufferManager();
- TargetDefinitionPersistenceHelper.initFromXML(getTarget(), manager.getTextFileBuffer(fTargetDocument));
+ InputStream stream = new ByteArrayInputStream(fTargetDocument.get().getBytes(StandardCharsets.UTF_8));
+ TargetDefinitionPersistenceHelper.initFromXML(getTarget(), stream);
if (!getTarget().isResolved()) {
getTargetChangedListener().contentsChanged(getTarget(), this, true, false);
}
@@ -524,11 +522,11 @@ public class TargetEditor extends FormEditor {
}
private void updateTextualEditor() {
- ITextFileBufferManager manager = FileBuffers.getTextFileBufferManager();
fTargetDocument.removeDocumentListener(fTargetDocumentListener);
+ ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
try {
- TargetDefinitionPersistenceHelper.persistXML(getTarget(), manager.getTextFileBuffer(fTargetDocument));
- fTextualEditor.getDocumentProvider().resetDocument(getEditorInput());
+ TargetDefinitionPersistenceHelper.persistXML(getTarget(), byteArrayOutputStream);
+ fTargetDocument.set(new String(byteArrayOutputStream.toByteArray()));
} catch (CoreException | ParserConfigurationException | TransformerException | IOException | SAXException e) {
PDEPlugin.log(e);
}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/preferences/PDECompilersConfigurationBlock.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/preferences/PDECompilersConfigurationBlock.java
index 13e4a419d7..dffb9ce2ed 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/preferences/PDECompilersConfigurationBlock.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/preferences/PDECompilersConfigurationBlock.java
@@ -450,7 +450,7 @@ public class PDECompilersConfigurationBlock extends ConfigurationBlock {
} else if (control instanceof Button) {
Button button = (Button) control;
ControlData data = (ControlData) button.getData();
- button.setSelection(Boolean.valueOf(data.key.getStoredValue(fLookupOrder, false, fManager)).booleanValue());
+ button.setSelection(Boolean.parseBoolean(data.key.getStoredValue(fLookupOrder, false, fManager)));
} else if (control instanceof Text) {
Text text = (Text) control;
ControlData data = (ControlData) text.getData();
@@ -591,7 +591,7 @@ public class PDECompilersConfigurationBlock extends ConfigurationBlock {
Button button = SWTFactory.createCheckButton(parent, label, null, false, 2);
ControlData data = new ControlData(key, new String[] {Boolean.toString(false)});
button.setData(data);
- button.setSelection(Boolean.valueOf(data.key.getStoredValue(fLookupOrder, false, fManager)).booleanValue());
+ button.setSelection(Boolean.parseBoolean(data.key.getStoredValue(fLookupOrder, false, fManager)));
button.addSelectionListener(selectionlistener);
Integer mapkey = Integer.valueOf(tabkind);
HashSet<Control> controls = fControlMap.get(mapkey);
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/search/dependencies/DependencyExtentOperation.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/search/dependencies/DependencyExtentOperation.java
index 88bb66b314..6e0651f0a1 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/search/dependencies/DependencyExtentOperation.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/search/dependencies/DependencyExtentOperation.java
@@ -124,8 +124,8 @@ public class DependencyExtentOperation {
if (monitor.isCanceled())
break;
IType[] types = new IType[0];
- if (child instanceof IClassFile) {
- types = new IType[] {((IClassFile) child).getType()};
+ if (child instanceof IOrdinaryClassFile) {
+ types = new IType[] {((IOrdinaryClassFile) child).getType()};
} else if (child instanceof ICompilationUnit) {
types = ((ICompilationUnit) child).getTypes();
}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/search/dependencies/GatherUnusedDependenciesOperation.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/search/dependencies/GatherUnusedDependenciesOperation.java
index 336e962fc0..8bde42271b 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/search/dependencies/GatherUnusedDependenciesOperation.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/search/dependencies/GatherUnusedDependenciesOperation.java
@@ -173,8 +173,8 @@ public class GatherUnusedDependenciesOperation implements IRunnableWithProgress
IType[] types = null;
if (child instanceof ICompilationUnit) {
types = ((ICompilationUnit) child).getAllTypes();
- } else if (child instanceof IClassFile) {
- types = new IType[] { ((IClassFile) child).getType() };
+ } else if (child instanceof IOrdinaryClassFile) {
+ types = new IType[] { ((IOrdinaryClassFile) child).getType() };
}
if (types != null) {
SubMonitor iterationMonitor = subMonitor.split(1).setWorkRemaining(types.length);
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/views/plugins/PluginsView.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/views/plugins/PluginsView.java
index 10ffe92e47..6a6766235c 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/views/plugins/PluginsView.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/views/plugins/PluginsView.java
@@ -23,6 +23,7 @@ import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IStorage;
import org.eclipse.core.runtime.*;
import org.eclipse.core.runtime.jobs.ISchedulingRule;
+import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jdt.core.*;
import org.eclipse.jdt.ui.JavaUI;
import org.eclipse.jdt.ui.actions.OpenAction;
@@ -81,7 +82,6 @@ public class PluginsView extends ViewPart implements IPluginModelListener {
private DisabledFilter fHideExtEnabledFilter = new DisabledFilter(true);
private DisabledFilter fHideExtDisabledFilter = new DisabledFilter(false);
private WorkspaceFilter fHideWorkspaceFilter = new WorkspaceFilter();
- private SourcePluginFilter fSourcePluginFilter = new SourcePluginFilter();
private JavaFilter fJavaFilter = new JavaFilter();
private CopyToClipboardAction fCopyAction;
private Clipboard fClipboard;
@@ -558,7 +558,24 @@ public class PluginsView extends ViewPart implements IPluginModelListener {
fHideWorkspaceFilterAction.setChecked(!hideWorkspace);
fHideExtEnabledFilterAction.setChecked(!hideEnabledExternal);
fHideExtDisabledFilterAction.setChecked(!hideDisabledExternal);
- fTreeViewer.addFilter(fSourcePluginFilter);
+
+ if (PDECore.getDefault().getModelManager().isInitialized()) {
+ PDEState state = PDECore.getDefault().getModelManager().getState();
+ fTreeViewer.addFilter(new SourcePluginFilter(state));
+ } else {
+ // when TP state is not initialized yet defer computation to
+ // background
+ // job and apply the filter when it is available
+ Job.createSystem("Initialize PDE State", monitor -> { //$NON-NLS-1$
+ PDEState state = TargetPlatformHelper.getPDEState();
+ Tree tree = fTreeViewer.getTree();
+ if (!tree.isDisposed()) {
+ tree.getDisplay().asyncExec(() -> {
+ fTreeViewer.addFilter(new SourcePluginFilter(state));
+ });
+ }
+ }).schedule();
+ }
}
private void hookContextMenu() {
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/exports/ExportOptionsTab.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/exports/ExportOptionsTab.java
index 48fdcbf1b0..08c014a3ed 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/exports/ExportOptionsTab.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/exports/ExportOptionsTab.java
@@ -194,17 +194,17 @@ public class ExportOptionsTab extends AbstractExportTab {
protected boolean getInitialJarButtonSelection(IDialogSettings settings) {
String selected = settings.get(S_JAR_FORMAT);
- return selected == null ? TargetPlatformHelper.getTargetVersion() >= 3.1 : Boolean.valueOf(selected).booleanValue();
+ return selected == null ? TargetPlatformHelper.getTargetVersion() >= 3.1 : Boolean.parseBoolean(selected);
}
protected boolean getInitialAllowBinaryCyclesSelection(IDialogSettings settings) {
String selected = settings.get(S_ALLOW_BINARY_CYCLES);
- return selected == null ? true : Boolean.valueOf(selected).booleanValue();
+ return selected == null ? true : Boolean.parseBoolean(selected);
}
protected boolean getInitialUseWorkspaceCompiledClassesSelection(IDialogSettings settings) {
String selected = settings.get(S_USE_WORKSPACE_COMPILED_CLASSES);
- return selected == null ? false : Boolean.valueOf(selected).booleanValue();
+ return selected == null ? false : Boolean.parseBoolean(selected);
}
protected void hookListeners() {
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/FragmentContentPage.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/FragmentContentPage.java
index 9f7b35f49a..6d35e25fcf 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/FragmentContentPage.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/FragmentContentPage.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2018 IBM Corporation and others.
+ * Copyright (c) 2000, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -219,7 +219,7 @@ public class FragmentContentPage extends ContentPage {
fExeEnvButton.setText(PDEUIMessages.NewProjectCreationPage_environmentsButton);
fExeEnvButton.addListener(SWT.Selection,
event -> PreferencesUtil.createPreferenceDialogOn(getShell(), "org.eclipse.jdt.debug.ui.jreProfiles", //$NON-NLS-1$
- new String[] { "org.eclipse.jdt.debug.ui.jreProfiles" }, null).open());
+ new String[] { "org.eclipse.jdt.debug.ui.jreProfiles" }, null).open()); //$NON-NLS-1$
}
private Text createPluginIdContainer(Composite parent, final boolean validateRange, int span) {
diff --git a/ui/org.eclipse.ui.trace/META-INF/MANIFEST.MF b/ui/org.eclipse.ui.trace/META-INF/MANIFEST.MF
index 5486e550b3..32532b6b44 100644
--- a/ui/org.eclipse.ui.trace/META-INF/MANIFEST.MF
+++ b/ui/org.eclipse.ui.trace/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.ui.trace;singleton:=true
-Bundle-Version: 1.1.300.qualifier
+Bundle-Version: 1.1.400.qualifier
Bundle-Activator: org.eclipse.ui.trace.internal.TracingUIActivator
Bundle-Vendor: %providerName
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/ui/org.eclipse.ui.trace/pom.xml b/ui/org.eclipse.ui.trace/pom.xml
index 8839102592..f99e2dbae1 100644
--- a/ui/org.eclipse.ui.trace/pom.xml
+++ b/ui/org.eclipse.ui.trace/pom.xml
@@ -19,6 +19,6 @@
</parent>
<groupId>org.eclipse.ui</groupId>
<artifactId>org.eclipse.ui.trace</artifactId>
- <version>1.1.300-SNAPSHOT</version>
+ <version>1.1.400-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/ui/org.eclipse.ui.trace/src/org/eclipse/ui/trace/internal/TracingPreferencePage.java b/ui/org.eclipse.ui.trace/src/org/eclipse/ui/trace/internal/TracingPreferencePage.java
index 7fd50dbbac..119ee57c44 100644
--- a/ui/org.eclipse.ui.trace/src/org/eclipse/ui/trace/internal/TracingPreferencePage.java
+++ b/ui/org.eclipse.ui.trace/src/org/eclipse/ui/trace/internal/TracingPreferencePage.java
@@ -572,8 +572,8 @@ public class TracingPreferencePage extends PreferencePage implements IWorkbenchP
if (debugOptionsValue != null) {
if (TracingUtils.isValueBoolean(debugOptionsValue) && TracingUtils.isValueBoolean(prefDebugOption.getValue())) {
// pick the one that is 'true'
- boolean optionValue = Boolean.valueOf(debugOptionsValue).booleanValue();
- boolean prefValue = Boolean.valueOf(prefDebugOption.getValue()).booleanValue();
+ boolean optionValue = Boolean.parseBoolean(debugOptionsValue);
+ boolean prefValue = Boolean.parseBoolean(prefDebugOption.getValue());
if (prefValue != optionValue) {
// if the preference value is 'true' then use it... otherwise do nothing since the value
// in the debug options will be used.
diff --git a/ui/org.eclipse.ui.trace/src/org/eclipse/ui/trace/internal/datamodel/TracingComponent.java b/ui/org.eclipse.ui.trace/src/org/eclipse/ui/trace/internal/datamodel/TracingComponent.java
index 7567d64e75..646d17bade 100644
--- a/ui/org.eclipse.ui.trace/src/org/eclipse/ui/trace/internal/datamodel/TracingComponent.java
+++ b/ui/org.eclipse.ui.trace/src/org/eclipse/ui/trace/internal/datamodel/TracingComponent.java
@@ -221,7 +221,7 @@ public class TracingComponent extends AbstractTracingNode {
for (IConfigurationElement child : componentChildren) {
if (child.getName().equals(TracingConstants.TRACING_EXTENSION_BUNDLE_ATTRIBUTE)) {
String name = child.getAttribute(TracingConstants.TRACING_EXTENSION_BUNDLE_NAME_ATTRIBUTE);
- boolean consumed = Boolean.valueOf(child.getAttribute(TracingConstants.TRACING_EXTENSION_BUNDLE_CONSUMED_ATTRIBUTE)).booleanValue();
+ boolean consumed = Boolean.parseBoolean(child.getAttribute(TracingConstants.TRACING_EXTENSION_BUNDLE_CONSUMED_ATTRIBUTE));
this.addBundle(name, consumed, installedBundles);
}
}

Back to the top