Skip to content

Commit

Permalink
[571063] Capture preferences encodes dollar literal one time too often
Browse files Browse the repository at this point in the history
  • Loading branch information
merks committed Feb 21, 2021
1 parent da71d25 commit 7d58ae7
Show file tree
Hide file tree
Showing 9 changed files with 66 additions and 16 deletions.
2 changes: 1 addition & 1 deletion plugins/org.eclipse.oomph.setup.core/META-INF/MANIFEST.MF
Expand Up @@ -33,7 +33,7 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
org.eclipse.equinox.security;bundle-version="[1.0.0,2.0.0)",
org.eclipse.oomph.base.edit;bundle-version="[1.13.0,2.0.0)",
org.eclipse.oomph.p2.core;bundle-version="[1.17.0,2.0.0)",
org.eclipse.oomph.setup;bundle-version="[1.18.0,2.0.0)";visibility:=reexport,
org.eclipse.oomph.setup;bundle-version="[1.19.0,2.0.0)";visibility:=reexport,
org.eclipse.oomph.setup.p2;bundle-version="[1.16.0,2.0.0)",
org.eclipse.oomph.preferences;bundle-version="[1.12.0,2.0.0)",
org.eclipse.core.net;bundle-version="[1.2.0,2.0.0)"
Expand Down
8 changes: 4 additions & 4 deletions plugins/org.eclipse.oomph.setup.editor/META-INF/MANIFEST.MF
Expand Up @@ -2,13 +2,13 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.oomph.setup.editor;singleton:=true
Bundle-Version: 1.18.0.qualifier
Bundle-Version: 1.19.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.oomph.setup.presentation.SetupEditorPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: org.eclipse.oomph.setup.editor;version="1.18.0";x-internal:=true,
Export-Package: org.eclipse.oomph.setup.editor;version="1.19.0";x-internal:=true,
org.eclipse.oomph.setup.presentation;version="1.5.0";x-internal:=true,
org.eclipse.oomph.setup.presentation.handlers;version="1.5.0";x-internal:=true,
org.eclipse.oomph.setup.presentation.templates;version="1.5.0";x-internal:=true
Expand All @@ -20,7 +20,7 @@ Require-Bundle: org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
org.eclipse.oomph.resources.edit;bundle-version="[1.11.0,2.0.0)";visibility:=reexport,
org.eclipse.oomph.preferences;bundle-version="[1.12.0,2.0.0)",
org.eclipse.oomph.setup.edit;bundle-version="[1.15.0,2.0.0)";visibility:=reexport,
org.eclipse.oomph.setup.ui;bundle-version="[1.18.0,2.0.0)",
org.eclipse.oomph.setup.ui;bundle-version="[1.20.0,2.0.0)",
org.eclipse.oomph.setup.sync;bundle-version="[1.13.0,2.0.0)",
org.eclipse.oomph.workingsets.edit;bundle-version="[1.11.0,2.0.0)";visibility:=reexport,
org.eclipse.oomph.workingsets.editor;bundle-version="[1.12.0,2.0.0)",
Expand All @@ -32,6 +32,6 @@ Require-Bundle: org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
org.eclipse.oomph.base.edit;bundle-version="[1.13.0,2.0.0)";visibility:=reexport,
org.eclipse.oomph.setup.p2.edit;bundle-version="[1.13.0,2.0.0)",
org.eclipse.oomph.p2.edit;bundle-version="[1.14.0,2.0.0)";visibility:=reexport,
org.eclipse.oomph.p2.ui;bundle-version="[1.14.0,2.0.0)"
org.eclipse.oomph.p2.ui;bundle-version="[1.15.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Automatic-Module-Name: org.eclipse.oomph.setup.editor
2 changes: 1 addition & 1 deletion plugins/org.eclipse.oomph.setup.editor/pom.xml
Expand Up @@ -20,7 +20,7 @@
</parent>
<groupId>org.eclipse.oomph</groupId>
<artifactId>org.eclipse.oomph.setup.editor</artifactId>
<version>1.18.0-SNAPSHOT</version>
<version>1.19.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>

<build>
Expand Down
Expand Up @@ -19,6 +19,8 @@
import org.eclipse.oomph.setup.PreferenceTask;
import org.eclipse.oomph.setup.SetupTask;
import org.eclipse.oomph.setup.ui.recorder.RecorderTransaction;
import org.eclipse.oomph.setup.util.SetupUtil;
import org.eclipse.oomph.setup.util.StringExpander;
import org.eclipse.oomph.util.IORuntimeException;
import org.eclipse.oomph.util.Pair;
import org.eclipse.oomph.util.PropertiesUtil;
Expand Down Expand Up @@ -405,7 +407,30 @@ public Map<URI, Pair<String, String>> getResult()
for (Object object : included)
{
PreferenceTask preferenceTask = (PreferenceTask)object;
result.put(PreferencesFactory.eINSTANCE.createURI(preferenceTask.getKey()), new Pair<String, String>(null, preferenceTask.getValue()));
new StringExpander()
{
@Override
protected String resolve(String key)
{
return null;
}

@Override
protected boolean isUnexpanded(String key)
{
return false;
}

@Override
protected String filter(String value, String filterName)
{
return null;
}
};

String escapedValue = preferenceTask.getValue();
String actualValue = SetupUtil.descape(escapedValue);
result.put(PreferencesFactory.eINSTANCE.createURI(preferenceTask.getKey()), new Pair<String, String>(null, actualValue));
}

return result;
Expand Down
Expand Up @@ -10,7 +10,7 @@ Bundle-Activator: org.eclipse.oomph.setup.internal.installer.SetupInstallerPlugi
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
org.eclipse.emf.ecore.xmi;bundle-version="[2.10.0,3.0.0)",
org.eclipse.emf.edit.ui;bundle-version="[2.10.0,3.0.0)",
org.eclipse.oomph.setup;bundle-version="[1.18.0,2.0.0)",
org.eclipse.oomph.setup;bundle-version="[1.19.0,2.0.0)",
org.eclipse.oomph.setup.edit;bundle-version="[1.15.0,2.0.0)",
org.eclipse.oomph.setup.ui;bundle-version="[1.20.0,2.0.0)",
org.eclipse.equinox.p2.operations;bundle-version="[2.0.0,3.0.0)",
Expand Down
2 changes: 1 addition & 1 deletion plugins/org.eclipse.oomph.setup.jdt/META-INF/MANIFEST.MF
Expand Up @@ -12,7 +12,7 @@ Export-Package: org.eclipse.oomph.setup.jdt;version="1.17.0";x-internal:=true,
org.eclipse.oomph.setup.jdt.util;version="1.17.0";x-internal:=true
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.10.0,3.0.0)";visibility:=reexport,
org.eclipse.oomph.setup;bundle-version="[1.18.0,2.0.0)";visibility:=reexport,
org.eclipse.oomph.setup;bundle-version="[1.19.0,2.0.0)";visibility:=reexport,
org.eclipse.jdt.launching;bundle-version="[3.6.0,4.0.0)"
Bundle-ActivationPolicy: lazy
Automatic-Module-Name: org.eclipse.oomph.setup.jdt
12 changes: 6 additions & 6 deletions plugins/org.eclipse.oomph.setup/META-INF/MANIFEST.MF
@@ -1,7 +1,7 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-SymbolicName: org.eclipse.oomph.setup;singleton:=true
Bundle-Version: 1.18.0.qualifier
Bundle-Version: 1.19.0.qualifier
Bundle-ClassPath: .
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Expand All @@ -16,10 +16,10 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.10.0,3.0.0)";visibility:=reexport
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.oomph.internal.setup;version="1.18.0";x-internal:=true,
org.eclipse.oomph.setup;version="1.18.0";x-internal:=true,
org.eclipse.oomph.setup.impl;version="1.18.0";x-internal:=true,
org.eclipse.oomph.setup.log;version="1.18.0";x-internal:=true,
org.eclipse.oomph.setup.util;version="1.18.0";x-internal:=true
Export-Package: org.eclipse.oomph.internal.setup;version="1.19.0";x-internal:=true,
org.eclipse.oomph.setup;version="1.19.0";x-internal:=true,
org.eclipse.oomph.setup.impl;version="1.19.0";x-internal:=true,
org.eclipse.oomph.setup.log;version="1.19.0";x-internal:=true,
org.eclipse.oomph.setup.util;version="1.19.0";x-internal:=true
Bundle-Activator: org.eclipse.oomph.internal.setup.SetupPlugin$Implementation
Automatic-Module-Name: org.eclipse.oomph.setup
2 changes: 1 addition & 1 deletion plugins/org.eclipse.oomph.setup/pom.xml
Expand Up @@ -20,7 +20,7 @@
</parent>
<groupId>org.eclipse.oomph</groupId>
<artifactId>org.eclipse.oomph.setup</artifactId>
<version>1.18.0-SNAPSHOT</version>
<version>1.19.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>

<build>
Expand Down
Expand Up @@ -87,6 +87,31 @@ public static String escape(String string)
return result.toString();
}

public static String descape(String string)
{
return new StringExpander()
{

@Override
protected String resolve(String key)
{
return CONTROL_CHARACTER_VALUES.containsKey(key) ? CONTROL_CHARACTER_VALUES.get(key) : key;
}

@Override
protected boolean isUnexpanded(String key)
{
return !CONTROL_CHARACTER_VALUES.containsKey(key);
}

@Override
protected String filter(String value, String filterName)
{
return value;
}
}.expandString(string);
}

public static Set<String> getResolvingTargetDefinitions(SetupTaskContext context)
{
@SuppressWarnings("unchecked")
Expand Down

0 comments on commit 7d58ae7

Please sign in to comment.