diff --git a/features/org.eclipse.datatools.enablement.sybase.feature/feature.xml b/features/org.eclipse.datatools.enablement.sybase.feature/feature.xml
index cfc7aa3..0679f9e 100644
--- a/features/org.eclipse.datatools.enablement.sybase.feature/feature.xml
+++ b/features/org.eclipse.datatools.enablement.sybase.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.datatools.enablement.sybase.feature"
       label="%featureName"
-      version="1.14.200.qualifier"
+      version="1.14.201.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.datatools.enablement.sybase"
       image="eclipse_update_120.jpg">
diff --git a/features/org.eclipse.datatools.sqldevtools.data.feature/feature.xml b/features/org.eclipse.datatools.sqldevtools.data.feature/feature.xml
index cdadb0c..afa9888 100644
--- a/features/org.eclipse.datatools.sqldevtools.data.feature/feature.xml
+++ b/features/org.eclipse.datatools.sqldevtools.data.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.datatools.sqldevtools.data.feature"
       label="%featureName"
-      version="1.14.200.qualifier"
+      version="1.14.201.qualifier"
       provider-name="%providerName"
       image="eclipse_update_120.jpg">
 
diff --git a/features/org.eclipse.datatools.sqldevtools.ddlgen.feature/feature.xml b/features/org.eclipse.datatools.sqldevtools.ddlgen.feature/feature.xml
index 0c32195..d6cb90c 100644
--- a/features/org.eclipse.datatools.sqldevtools.ddlgen.feature/feature.xml
+++ b/features/org.eclipse.datatools.sqldevtools.ddlgen.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.datatools.sqldevtools.ddlgen.feature"
       label="%featureName"
-      version="1.14.200.qualifier"
+      version="1.14.201.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.datatools.sqltools.ddlgen.ui"
       image="eclipse_update_120.jpg">
diff --git a/features/org.eclipse.datatools.sqldevtools.feature/feature.xml b/features/org.eclipse.datatools.sqldevtools.feature/feature.xml
index 6dec4d2..d6a0bdc 100644
--- a/features/org.eclipse.datatools.sqldevtools.feature/feature.xml
+++ b/features/org.eclipse.datatools.sqldevtools.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.datatools.sqldevtools.feature"
       label="%featureName"
-      version="1.14.200.qualifier"
+      version="1.14.201.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.datatools.sqltools.common.ui"
       image="eclipse_update_120.jpg">
diff --git a/features/org.eclipse.datatools.sqldevtools.sqlbuilder.feature/feature.xml b/features/org.eclipse.datatools.sqldevtools.sqlbuilder.feature/feature.xml
index c634369..2925727 100644
--- a/features/org.eclipse.datatools.sqldevtools.sqlbuilder.feature/feature.xml
+++ b/features/org.eclipse.datatools.sqldevtools.sqlbuilder.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.datatools.sqldevtools.sqlbuilder.feature"
       label="%featureName"
-      version="1.14.200.qualifier"
+      version="1.14.201.qualifier"
       provider-name="%providerName"
       image="eclipse_update_120.jpg">
 
diff --git a/tests/org.eclipse.datatools.enablement.oda.xml.tests/src/org/eclipse/datatools/enablement/oda/xml/util/SaxParserTest.java b/tests/org.eclipse.datatools.enablement.oda.xml.tests/src/org/eclipse/datatools/enablement/oda/xml/util/SaxParserTest.java
index fdfbc38..543685d 100644
--- a/tests/org.eclipse.datatools.enablement.oda.xml.tests/src/org/eclipse/datatools/enablement/oda/xml/util/SaxParserTest.java
+++ b/tests/org.eclipse.datatools.enablement.oda.xml.tests/src/org/eclipse/datatools/enablement/oda/xml/util/SaxParserTest.java
@@ -16,6 +16,8 @@
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
@@ -37,7 +39,11 @@
 public class SaxParserTest extends BaseTest
 {
 	private IResultSet rs;
-	static String lineSeparator = (String) java.security.AccessController.doPrivileged( new sun.security.action.GetPropertyAction( "line.separator" ) );
+	static String lineSeparator = (String) AccessController.doPrivileged( new PrivilegedAction<String>() {
+		public String run() {
+			return System.getProperty( "line.separator" );
+		}
+	});
 
 	private String testString = "book#:#[//book]#:#{book.category;String;//book/@category},{book.title;String;//book/title},{book.author_1;String;//book/author[1]/@name},{book.author_2;String;//book/author[2]/@name}"
 			+ "#-# stat #:#[/library/book/title]#:#{cat9;String;},{cat10;String;/},{cat;String;../@category}"
diff --git a/tests/org.eclipse.datatools.enablement.oda.xml.tests/src/org/eclipse/datatools/enablement/oda/xml/util/ui/SchemaPopulationUtilTest.java b/tests/org.eclipse.datatools.enablement.oda.xml.tests/src/org/eclipse/datatools/enablement/oda/xml/util/ui/SchemaPopulationUtilTest.java
index 36722d2..50e6a78 100644
--- a/tests/org.eclipse.datatools.enablement.oda.xml.tests/src/org/eclipse/datatools/enablement/oda/xml/util/ui/SchemaPopulationUtilTest.java
+++ b/tests/org.eclipse.datatools.enablement.oda.xml.tests/src/org/eclipse/datatools/enablement/oda/xml/util/ui/SchemaPopulationUtilTest.java
@@ -14,6 +14,8 @@
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.net.URISyntaxException;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 
 import org.eclipse.datatools.connectivity.oda.OdaException;
 import org.eclipse.datatools.enablement.oda.xml.BaseTest;
@@ -26,7 +28,11 @@
 public class SchemaPopulationUtilTest extends BaseTest
 {
 	static String lineSeparator = (String) java.security.AccessController.doPrivileged(
-            new sun.security.action.GetPropertyAction("line.separator"));
+            new PrivilegedAction<String>() {
+                public String run() {
+                    return System.getProperty("line.separator");
+                }
+            });
 
 	/*
 	 * Test method for 'org.eclipse.datatools.enablement.oda.xml.util.ui.SchemaPopulationUtil.getSchemaTree(String)'
