[581759] Support string filter rseFreeze
https://bugs.eclipse.org/bugs/show_bug.cgi?id=581759
diff --git a/features/org.eclipse.oomph.setup.core-feature/feature.xml b/features/org.eclipse.oomph.setup.core-feature/feature.xml
index 3a10399..5f3a16f 100644
--- a/features/org.eclipse.oomph.setup.core-feature/feature.xml
+++ b/features/org.eclipse.oomph.setup.core-feature/feature.xml
@@ -12,7 +12,7 @@
<feature
id="org.eclipse.oomph.setup.core"
label="%featureName"
- version="1.26.0.qualifier"
+ version="1.27.0.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.oomph.license"
license-feature-version="0.0.0">
diff --git a/features/org.eclipse.oomph.setup.core-feature/pom.xml b/features/org.eclipse.oomph.setup.core-feature/pom.xml
index 8153896..b502f03 100644
--- a/features/org.eclipse.oomph.setup.core-feature/pom.xml
+++ b/features/org.eclipse.oomph.setup.core-feature/pom.xml
@@ -20,6 +20,6 @@
</parent>
<groupId>org.eclipse.oomph.features</groupId>
<artifactId>org.eclipse.oomph.setup.core</artifactId>
- <version>1.26.0-SNAPSHOT</version>
+ <version>1.27.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/plugins/org.eclipse.oomph.setup.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.oomph.setup.core/META-INF/MANIFEST.MF
index 0bb3cef..7c9f439 100644
--- a/plugins/org.eclipse.oomph.setup.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.oomph.setup.core/META-INF/MANIFEST.MF
@@ -1,7 +1,7 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-SymbolicName: org.eclipse.oomph.setup.core;singleton:=true
-Bundle-Version: 1.26.0.qualifier
+Bundle-Version: 1.27.0.qualifier
Bundle-ClassPath: .
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
@@ -32,7 +32,7 @@
org.eclipse.equinox.p2.updatesite;bundle-version="[1.0.0,2.0.0)",
org.eclipse.equinox.security;bundle-version="[1.0.0,2.0.0)",
org.eclipse.oomph.base.edit;bundle-version="[1.16.0,2.0.0)",
- org.eclipse.oomph.p2.core;bundle-version="[1.24.0,2.0.0)",
+ org.eclipse.oomph.p2.core;bundle-version="[1.25.0,2.0.0)",
org.eclipse.oomph.setup;bundle-version="[1.26.0,2.0.0)";visibility:=reexport,
org.eclipse.oomph.setup.p2;bundle-version="[1.19.0,2.0.0)",
org.eclipse.oomph.preferences;bundle-version="[1.13.0,2.0.0)",
@@ -40,7 +40,7 @@
Import-Package: org.bouncycastle.openpgp;version="[1.65.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.oomph.setup.internal.core;version="1.26.0";x-internal:=true,
- org.eclipse.oomph.setup.internal.core.util;version="1.26.0";x-internal:=true
+Export-Package: org.eclipse.oomph.setup.internal.core;version="1.27.0";x-internal:=true,
+ org.eclipse.oomph.setup.internal.core.util;version="1.27.0";x-internal:=true
Bundle-Activator: org.eclipse.oomph.setup.internal.core.SetupCorePlugin$Implementation
Automatic-Module-Name: org.eclipse.oomph.setup.core
diff --git a/plugins/org.eclipse.oomph.setup.core/pom.xml b/plugins/org.eclipse.oomph.setup.core/pom.xml
index 07df797..1410f09 100644
--- a/plugins/org.eclipse.oomph.setup.core/pom.xml
+++ b/plugins/org.eclipse.oomph.setup.core/pom.xml
@@ -20,7 +20,7 @@
</parent>
<groupId>org.eclipse.oomph</groupId>
<artifactId>org.eclipse.oomph.setup.core</artifactId>
- <version>1.26.0-SNAPSHOT</version>
+ <version>1.27.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<build>
diff --git a/plugins/org.eclipse.oomph.setup.core/src/org/eclipse/oomph/setup/internal/core/Messages.java b/plugins/org.eclipse.oomph.setup.core/src/org/eclipse/oomph/setup/internal/core/Messages.java
index 5e9bb49..1e04456 100644
--- a/plugins/org.eclipse.oomph.setup.core/src/org/eclipse/oomph/setup/internal/core/Messages.java
+++ b/plugins/org.eclipse.oomph.setup.core/src/org/eclipse/oomph/setup/internal/core/Messages.java
@@ -119,6 +119,8 @@
public static String StringFilterRegistry_QualifiedName_description;
+ public static String StringFilterRegistry_RSEFreeze_description;
+
public static String StringFilterRegistry_SlashDecode_description;
public static String StringFilterRegistry_SlashEncode_description;
diff --git a/plugins/org.eclipse.oomph.setup.core/src/org/eclipse/oomph/setup/internal/core/StringFilterRegistry.java b/plugins/org.eclipse.oomph.setup.core/src/org/eclipse/oomph/setup/internal/core/StringFilterRegistry.java
index 65faefb..148b3c7 100644
--- a/plugins/org.eclipse.oomph.setup.core/src/org/eclipse/oomph/setup/internal/core/StringFilterRegistry.java
+++ b/plugins/org.eclipse.oomph.setup.core/src/org/eclipse/oomph/setup/internal/core/StringFilterRegistry.java
@@ -890,6 +890,60 @@
return Pattern.quote(value);
}
});
+
+ registerFilter(new DocumentedStringFilter()
+ {
+ @Override
+ public String getName()
+ {
+ return "rseFreeze"; //$NON-NLS-1$
+ }
+
+ @Override
+ public String getDescription()
+ {
+ return Messages.StringFilterRegistry_RSEFreeze_description;
+ }
+
+ @Override
+ public String filter(String name)
+ {
+ int p = name.indexOf(':');
+ if (p >= 0)
+ {
+ name = name.substring(p + 1);
+ }
+ StringBuffer buf = new StringBuffer(name.length());
+ char[] chars = name.toCharArray();
+ long suffix = 0;
+ for (int i = 0; i < chars.length; i++)
+ {
+ char c = chars[i];
+ suffix *= 2;
+ if ("abcdefghijklmnopqrstuvwxyz0123456789-._".indexOf(c) >= 0) //$NON-NLS-1$
+ {
+ buf.append(c);
+ }
+ else if ("ABCDEFGHIJKLMNOPQRTSUVWXYZ".indexOf(c) >= 0) //$NON-NLS-1$
+ {
+ buf.append(Character.toLowerCase(c));
+ suffix += 1;
+ }
+ else if (c == ' ')
+ {
+ buf.append('_');
+ suffix += 1;
+ }
+ else
+ {
+ buf.append('#');
+ buf.append(Integer.toHexString(c));
+ buf.append('#');
+ }
+ }
+ return buf.toString() + "_" + Long.toString(suffix); //$NON-NLS-1$
+ }
+ });
}
public static void main(String[] args) throws UnsupportedEncodingException
diff --git a/plugins/org.eclipse.oomph.setup.core/src/org/eclipse/oomph/setup/internal/core/messages.properties b/plugins/org.eclipse.oomph.setup.core/src/org/eclipse/oomph/setup/internal/core/messages.properties
index 7776e43..68048ad 100644
--- a/plugins/org.eclipse.oomph.setup.core/src/org/eclipse/oomph/setup/internal/core/messages.properties
+++ b/plugins/org.eclipse.oomph.setup.core/src/org/eclipse/oomph/setup/internal/core/messages.properties
@@ -51,6 +51,7 @@
StringFilterRegistry_Property_description=Escapes all double back slashes (\\\\) of a String value, so that the result can be used as a value in properties.
StringFilterRegistry_PropertyValue_description=Interprets the String value as a preference property path and returns the value of that property.
StringFilterRegistry_QualifiedName_description=Converts a camel case String value name to a qualified name.
+StringFilterRegistry_RSEFreeze_description=The result of org.eclipse.rse.internal.persistence.PropertyFileProvider.freeze(String).
StringFilterRegistry_SlashDecode_description=Decodes a slashEncoded String value.
StringFilterRegistry_SlashEncode_description=Encodes all slashes and backslashes of a String value.
StringFilterRegistry_Trim_description=Removes all whitespace from the beginning and the end of a String.
diff --git a/plugins/org.eclipse.oomph.setup.installer/META-INF/MANIFEST.MF b/plugins/org.eclipse.oomph.setup.installer/META-INF/MANIFEST.MF
index 173aa05..57b4874 100644
--- a/plugins/org.eclipse.oomph.setup.installer/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.oomph.setup.installer/META-INF/MANIFEST.MF
@@ -27,7 +27,7 @@
org.eclipse.oomph.ui;bundle-version="[1.19.0,2.0.0)",
org.eclipse.oomph.p2.ui;bundle-version="[1.19.0,2.0.0)",
org.eclipse.oomph.setup.p2;bundle-version="[1.19.0,2.0.0)",
- org.eclipse.oomph.setup.core;bundle-version="[1.26.0,2.0.0)",
+ org.eclipse.oomph.setup.core;bundle-version="[1.27.0,2.0.0)",
org.eclipse.oomph.jreinfo.ui;bundle-version="[1.15.0,2.0.0)",
org.eclipse.help;bundle-version="[3.5.0,4.0.0)",
org.eclipse.ui.net;bundle-version="[1.0.0,2.0.0)",