This is an automated email from the ASF dual-hosted git repository.

jlahoda pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-netbeans.git


The following commit(s) were added to refs/heads/master by this push:
     new 25e27ce  [NETBEANS-1490] Setting the OSGi to use the ext class loader 
as a parent so that bundles (e.g. gson) can load java.sql.Time on JDK 11; based 
on jtulach's suggestion.
25e27ce is described below

commit 25e27ce1a2527bc6b934d09363d5482dc794ff53
Author: Jan Lahoda <lah...@gmail.com>
AuthorDate: Fri Oct 26 23:22:35 2018 +0200

    [NETBEANS-1490] Setting the OSGi to use the ext class loader as a parent so 
that bundles (e.g. gson) can load java.sql.Time on JDK 11; based on jtulach's 
suggestion.
---
 .../netbeans/modules/netbinox/NetbinoxFactory.java |  1 +
 .../test/unit/src/org/netbeans/SetupHid.java       |  2 +-
 .../org/netbeans/modules/netbinox/SQLTimeTest.java | 87 ++++++++++++++++++++++
 3 files changed, 89 insertions(+), 1 deletion(-)

diff --git 
a/platform/netbinox/src/org/netbeans/modules/netbinox/NetbinoxFactory.java 
b/platform/netbinox/src/org/netbeans/modules/netbinox/NetbinoxFactory.java
index ef310b0..b431999 100644
--- a/platform/netbinox/src/org/netbeans/modules/netbinox/NetbinoxFactory.java
+++ b/platform/netbinox/src/org/netbeans/modules/netbinox/NetbinoxFactory.java
@@ -53,6 +53,7 @@ public class NetbinoxFactory implements FrameworkFactory {
 //            "org.eclipse.core.runtime.internal.adaptor.EclipseLogHook" // 
NOI18N
 ////            + 
",org.eclipse.core.runtime.internal.adaptor.EclipseClassLoadingHook" // NOI18N
 //        );
+        configMap.put("org.osgi.framework.bundle.parent", "ext"); // NOI18N
         configMap.put("osgi.hook.configurators.include", 
NetbinoxHooks.class.getName()); // NOI18N
         final String userArea = toFileURL(System.getProperty("netbeans.user"));
         configMap.put("osgi.user.area.default", userArea); // NOI18N
diff --git a/platform/netbinox/test/unit/src/org/netbeans/SetupHid.java 
b/platform/netbinox/test/unit/src/org/netbeans/SetupHid.java
index f512779..d616a69 100644
--- a/platform/netbinox/test/unit/src/org/netbeans/SetupHid.java
+++ b/platform/netbinox/test/unit/src/org/netbeans/SetupHid.java
@@ -315,7 +315,7 @@ public abstract class SetupHid extends NbTestCase {
         JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
         StandardJavaFileManager mgr = compiler.getStandardFileManager(null, 
null, null);
         List<String> fullOptions = new ArrayList<String>(options);
-        fullOptions.addAll(Arrays.asList("-source", "1.5", "-target", "1.5"));
+        fullOptions.addAll(Arrays.asList("-source", "1.8", "-target", "1.8"));
         if (!compiler.getTask(null, mgr, null, fullOptions, null, 
mgr.getJavaFileObjectsFromFiles(files)).call()) {
             throw new IOException("compilation failed");
         }
diff --git 
a/platform/netbinox/test/unit/src/org/netbeans/modules/netbinox/SQLTimeTest.java
 
b/platform/netbinox/test/unit/src/org/netbeans/modules/netbinox/SQLTimeTest.java
new file mode 100644
index 0000000..51bfc9a
--- /dev/null
+++ 
b/platform/netbinox/test/unit/src/org/netbeans/modules/netbinox/SQLTimeTest.java
@@ -0,0 +1,87 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.modules.netbinox;
+
+import java.awt.GraphicsEnvironment;
+import java.io.File;
+import java.util.logging.Level;
+import junit.framework.Test;
+import static junit.framework.TestCase.assertTrue;
+import static junit.framework.TestCase.fail;
+import org.netbeans.Module;
+import org.netbeans.ModuleManager;
+import org.netbeans.core.netigso.NetigsoUtil;
+import org.netbeans.core.startup.Main;
+import org.netbeans.junit.NbModuleSuite;
+import org.netbeans.junit.NbTestCase;
+import org.netbeans.junit.NbTestSuite;
+import org.netbeans.modules.netbinox.ContextClassLoaderTest.Compile;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.launch.Framework;
+
+public class SQLTimeTest extends NbTestCase {
+    static {
+        System.setProperty("java.awt.headless", "true");
+    }
+
+    public SQLTimeTest(String name) {
+        super(name);
+    }
+
+    public static Test suite() {
+        System.setProperty("java.awt.headless", "true");
+        assertTrue("In headless mode", GraphicsEnvironment.isHeadless());
+        NbTestSuite s = new NbTestSuite();
+        s.addTest(new Compile("testCompileJAR"));
+        
s.addTest(NbModuleSuite.create(NbModuleSuite.createConfiguration(SQLTimeTest.class)
+                                                    
.failOnException(Level.WARNING)
+                                                    .gui(false)));
+        return s;
+    }
+
+    public void testSQLTime() throws Exception {
+        File j1 = new File(System.getProperty("activate.jar"));
+        assertTrue("File " + j1 + " exists", j1.exists());
+        
+        ModuleManager mgr = Main.getModuleSystem().getManager();
+        mgr.mutexPrivileged().enterWriteAccess();
+        Module m1;
+        m1 = mgr.create(j1, null, false, false, false);
+        System.setProperty("activated.checkentries", 
"/org/activate/entry.txt");
+        mgr.enable(m1);
+
+        assertTrue("OSGi module is now enabled", m1.isEnabled());
+        mgr.mutexPrivileged().exitWriteAccess();
+        Framework w = NetigsoUtil.framework(mgr);
+        StringBuilder sb = new StringBuilder();
+        boolean found = false;
+        for (Bundle b : w.getBundleContext().getBundles()) {
+            sb.append("\n").append(b.getSymbolicName());
+            if ("org.activate".equals(b.getSymbolicName())) {
+                b.loadClass("java.sql.Time");
+                found = true;
+                break;
+            }
+        }
+        if (!found) {
+            fail("Expecting equinox among list of enabled bundles:" + sb);
+        }
+    }
+    
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org
For additional commands, e-mail: commits-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to