You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by lk...@apache.org on 2021/01/11 16:32:39 UTC
[netbeans] branch release120 updated: Include both KDE4 and KDE5
proxy settings.
This is an automated email from the ASF dual-hosted git repository.
lkishalmi pushed a commit to branch release120
in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/release120 by this push:
new f77f796 Include both KDE4 and KDE5 proxy settings.
f77f796 is described below
commit f77f7961f5584e47e70c7b16d48171dda181984d
Author: Svata Dedic <sv...@oracle.com>
AuthorDate: Thu Jul 16 18:34:12 2020 +0200
Include both KDE4 and KDE5 proxy settings.
---
platform/core.network/manifest.mf | 2 +-
.../core/network/proxy/kde/KdeNetworkProxy.java | 70 +++++++++++++++-------
2 files changed, 49 insertions(+), 23 deletions(-)
diff --git a/platform/core.network/manifest.mf b/platform/core.network/manifest.mf
index f2ba9d2..b26315b 100644
--- a/platform/core.network/manifest.mf
+++ b/platform/core.network/manifest.mf
@@ -2,5 +2,5 @@ Manifest-Version: 1.0
OpenIDE-Module: org.netbeans.core.network
OpenIDE-Module-Localizing-Bundle: org/netbeans/core/network/proxy/Bundle.properties
OpenIDE-Module-Provides: org.netbeans.core.ProxySettings.Reloader
-OpenIDE-Module-Specification-Version: 1.20
+OpenIDE-Module-Specification-Version: 1.20.1
OpenIDE-Module-Recommends: javax.script.ScriptEngine.js
diff --git a/platform/core.network/src/org/netbeans/core/network/proxy/kde/KdeNetworkProxy.java b/platform/core.network/src/org/netbeans/core/network/proxy/kde/KdeNetworkProxy.java
index 553d1e5..dc165ac 100644
--- a/platform/core.network/src/org/netbeans/core/network/proxy/kde/KdeNetworkProxy.java
+++ b/platform/core.network/src/org/netbeans/core/network/proxy/kde/KdeNetworkProxy.java
@@ -25,7 +25,13 @@ import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Arrays;
+import java.util.Collections;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -59,11 +65,13 @@ public class KdeNetworkProxy implements NetworkProxyResolver {
private final static String KIOSLAVERC_PROXY_TYPE_PAC = "2"; //NOI18N
private final static String KIOSLAVERC_PROXY_TYPE_AUTO = "3"; //NOI18N
private final static String KIOSLAVERC_PROXY_TYPE_SYSTEM = "4"; //NOI18N
- private final static String KIOSLAVERC_PATH_IN_HOME = ".kde/share/config/kioslaverc"; //NOI18N
- private final String KIOSLAVERC_PATH;
+ private final static String KIOSLAVERC_PATH_IN_HOME = ".config/kioslaverc"; //NOI18N
+ private final static String KIOSLAVERC_PATH_IN_HOME_KDE4 = ".kde/share/config/kioslaverc"; //NOI18N
+
+ private final List<Path> KIOSLAVERC_PATHS;
public KdeNetworkProxy() {
- KIOSLAVERC_PATH = getKioslavercPath();
+ KIOSLAVERC_PATHS = getKioslavercPaths();
}
@Override
@@ -77,14 +85,21 @@ public class KdeNetworkProxy implements NetworkProxyResolver {
return new NetworkProxySettings(false);
}
- if (proxyType.equals(KIOSLAVERC_PROXY_TYPE_NONE) || proxyType.equals(KIOSLAVERC_PROXY_TYPE_AUTO)) {
+ if (proxyType.equals(KIOSLAVERC_PROXY_TYPE_NONE)) {
LOGGER.log(Level.INFO, "KDE system proxy resolver: direct (proxy type: {0})", proxyType); //NOI18N
return new NetworkProxySettings();
}
- if (proxyType.equals(KIOSLAVERC_PROXY_TYPE_PAC)) {
- LOGGER.log(Level.INFO, "KDE system proxy resolver: auto - PAC"); //NOI18N
- String pacFileUrl = kioslavercMap.get(KIOSLAVERC_PROXY_CONFIG_SCRIPT);
+ if (proxyType.equals(KIOSLAVERC_PROXY_TYPE_PAC) || proxyType.equals(KIOSLAVERC_PROXY_TYPE_AUTO)) {
+ String pacFileUrl;
+
+ if (proxyType.equals(KIOSLAVERC_PROXY_TYPE_AUTO)) {
+ LOGGER.log(Level.INFO, "KDE system proxy resolver: auto"); //NOI18N
+ pacFileUrl = "http://wpad/wpad.dat"; // NOI18N
+ } else {
+ LOGGER.log(Level.INFO, "KDE system proxy resolver: auto - PAC"); //NOI18N
+ pacFileUrl = kioslavercMap.get(KIOSLAVERC_PROXY_CONFIG_SCRIPT);
+ }
if (pacFileUrl != null) {
LOGGER.log(Level.INFO, "KDE system proxy resolver: PAC URL ({0})", pacFileUrl); //NOI18N
return new NetworkProxySettings(pacFileUrl);
@@ -129,14 +144,16 @@ public class KdeNetworkProxy implements NetworkProxyResolver {
* @return Map of keys and values from kioslaverc group Proxy settings.
*/
private Map<String, String> getKioslavercMap() {
- File kioslavercFile = new File(KIOSLAVERC_PATH);
- Map<String, String> map = new HashMap<String, String>();
-
- if (kioslavercFile.exists()) {
- try {
- FileInputStream fis = new FileInputStream(kioslavercFile);
- DataInputStream dis = new DataInputStream(fis);
- BufferedReader br = new BufferedReader(new InputStreamReader(dis));
+ boolean fileExists = false;
+ for (Path p : KIOSLAVERC_PATHS) {
+ if (!Files.isRegularFile(p)) {
+ continue;
+ }
+ fileExists = true;
+ Map<String, String> map = new HashMap<String, String>();
+ boolean groupFound = false;
+
+ try (BufferedReader br = Files.newBufferedReader(p)) {
String line;
boolean inGroup = false;
while ((line = br.readLine()) != null) {
@@ -151,19 +168,25 @@ public class KdeNetworkProxy implements NetworkProxyResolver {
}
} else if (line.startsWith(KIOSLAVERC_PROXY_SETTINGS_GROUP)) {
inGroup = true;
+ groupFound = true;
}
}
- dis.close();
} catch (FileNotFoundException fnfe) {
LOGGER.log(Level.SEVERE, "Cannot read file: ", fnfe);
} catch (IOException ioe) {
LOGGER.log(Level.SEVERE, "Cannot read file: ", ioe);
}
+ if (groupFound) {
+ return map;
+ }
+ }
+
+ if (fileExists) {
+ LOGGER.log(Level.WARNING, "KDE system proxy resolver: The kioslaverc file does not contain proxy configuration ({0})", KIOSLAVERC_PATHS);
} else {
- LOGGER.log(Level.WARNING, "KDE system proxy resolver: The kioslaverc file not found ({0})", KIOSLAVERC_PATH);
+ LOGGER.log(Level.WARNING, "KDE system proxy resolver: The kioslaverc file not found ({0})", KIOSLAVERC_PATHS);
}
-
- return map;
+ return Collections.emptyMap();
}
/**
@@ -171,13 +194,16 @@ public class KdeNetworkProxy implements NetworkProxyResolver {
*
* @return Path of the kioslaverc config file.
*/
- private String getKioslavercPath() {
+ private List<Path> getKioslavercPaths() {
String homePath = System.getenv(HOME);
if (homePath != null) {
- return homePath + File.separator + KIOSLAVERC_PATH_IN_HOME;
+ return Arrays.asList(
+ Paths.get(homePath, KIOSLAVERC_PATH_IN_HOME),
+ Paths.get(homePath, KIOSLAVERC_PATH_IN_HOME_KDE4)
+ );
} else {
- return EMPTY_STRING;
+ return Collections.emptyList();
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists