PREF: SITECONF: Removed proxy setting which is used by site
authordonghyuk.yang <donghyuk.yang@samsung.com>
Fri, 24 Jan 2014 07:03:42 +0000 (16:03 +0900)
committerdonghyuk.yang <donghyuk.yang@samsung.com>
Fri, 24 Jan 2014 07:03:42 +0000 (16:03 +0900)
configuration

Removed proxy setting which is used by site configuration. It actually
was not unnecessary. The platform IDE will only uses eclipse network
setting.

Change-Id: I1a87fcb3c095ab27dfc1f587152e1afa7a38e206
Signed-off-by: donghyuk.yang <donghyuk.yang@samsung.com>
14 files changed:
org.tizen.nativeplatform/src/org/tizen/nativeplatform/build/PlatformProjectDependentPackager.java
org.tizen.nativeplatform/src/org/tizen/nativeplatform/git/CachedGitEntries.java [deleted file]
org.tizen.nativeplatform/src/org/tizen/nativeplatform/git/GitDescManager.java
org.tizen.nativeplatform/src/org/tizen/nativeplatform/git/GitIndexUpdater.java [new file with mode: 0644]
org.tizen.nativeplatform/src/org/tizen/nativeplatform/git/model/GitConfiguration.java [deleted file]
org.tizen.nativeplatform/src/org/tizen/nativeplatform/git/parser/FileGitIndexParser.java
org.tizen.nativeplatform/src/org/tizen/nativeplatform/git/parser/IGitIndexParser.java
org.tizen.nativeplatform/src/org/tizen/nativeplatform/git/parser/WebGitIndexParser.java
org.tizen.nativeplatform/src/org/tizen/nativeplatform/preferences/PreferencesManager.java
org.tizen.nativeplatform/src/org/tizen/nativeplatform/preferences/ui/SiteConfigurationDialog.java
org.tizen.nativeplatform/src/org/tizen/nativeplatform/preferences/ui/SiteConfigurationPreferencePage.java
org.tizen.nativeplatform/src/org/tizen/nativeplatform/rootstrap/BaseFileSystemGenerator.java
org.tizen.nativeplatform/src/org/tizen/nativeplatform/wizards/TemplateTizenPlatformNewWizard.java
org.tizen.nativeplatform/src/org/tizen/nativeplatform/wizards/TizenPlatformMainWizardPage.java

index abb8657..fe8f59d 100644 (file)
@@ -166,7 +166,6 @@ public class PlatformProjectDependentPackager extends CommonProjectDependentPack
         if (options == null) {
             return "";
         }
-
         return String.format("%s action %s -- %s %s", sbi.getSBICommandPath("sbi"), targetId,
                 ACTION_BUILDPACKAGE, options);
     }
@@ -174,25 +173,23 @@ public class PlatformProjectDependentPackager extends CommonProjectDependentPack
     public String[] getEnvsWithProxy() {
         String[] envs = sbi.getEnvironmentVariables();
         if (PreferencesManager.isProxyUsed()) {
-            String protocol = PreferencesManager.getProxyProtocol();
-            String host = PreferencesManager.getProxyHost();
-            int port = PreferencesManager.getProxyPort();
+            String[] proxyInfo = PreferencesManager.getProxyParsedURL();
+            String protocol = proxyInfo[0];
+            String host = proxyInfo[1];
+            String port = proxyInfo[2];
             SmartBuildInterface sbi = SmartBuildInterface.getInstance();
             String envKey = String.format("%s_proxy", protocol);
-            String envValue = String.format("%s://%s:%d", protocol, host, port);
+            String envValue = String.format("%s://%s:%s", protocol, host, port);
             envs = sbi.addEnvironmentVariableArray(envKey, envValue);
         }
-
         return envs;
     }
 
     public void buildPackageDependencyCheck() throws SBIException {
-
         IConfiguration config = getCurrentConfiguration();
         String targetID = getTargetID(config);
         String projectDir = getProjectPath();
         String options = getPackageDependencyCheckOption();
-
         sbi.actionConsole(ACTION_CHECKPKGDEPS, options, targetID, projectDir, CONSOLE_NAME);
     }
 
diff --git a/org.tizen.nativeplatform/src/org/tizen/nativeplatform/git/CachedGitEntries.java b/org.tizen.nativeplatform/src/org/tizen/nativeplatform/git/CachedGitEntries.java
deleted file mode 100644 (file)
index 1a0ee93..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Native Platform
- *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact:
- * Donghyuk Yang <donghyuk.yang@samsung.com>  
- * DongHee Yang <donghee.yang@samsung.com>
- * Kangho Kim <kh5325.kim@samsung.com>
- * 
- * Licensed 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.
- *
- * Contributors:
- * - S-Core Co., Ltd
- *
- */
-
-package org.tizen.nativeplatform.git;
-
-import java.util.List;
-
-import org.eclipse.cdt.ui.wizards.EntryDescriptor; 
-
-public class CachedGitEntries {
-       private static List<EntryDescriptor> gitEnties;
-       
-       public static void setGitEntries(List<EntryDescriptor> g) {
-               gitEnties = g;
-       }
-       
-       public static List<EntryDescriptor> getGitEntries() {
-               return gitEnties;
-       }       
-}
index 52a369d..cdd655f 100644 (file)
 package org.tizen.nativeplatform.git;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.Hashtable;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 
 import org.tizen.nativeplatform.git.model.GitDescription;
 
 public class GitDescManager {
-    private static Hashtable<String, GitDescription> gitDescs;
-    public static void setDescs(List<GitDescription> descs) {
-        gitDescs = new Hashtable<String, GitDescription>();
 
+    private static Map<String, Map<String, GitDescription>> siteGitDesc = new Hashtable<String, Map<String, GitDescription>>();
+
+    public static void setDescs(String siteConfigName, List<GitDescription> descs) {
+        Map<String, GitDescription> gitDesc = new HashMap<String, GitDescription>();
         for (GitDescription desc : descs) {
-            gitDescs.put(desc.getProject(), desc);
+            gitDesc.put(desc.getProject(), desc);
         }
+        siteGitDesc.put(siteConfigName, gitDesc);
     }
 
-    public static List<GitDescription> getDescs() {
+    public static List<GitDescription> getDescs(String siteConfigName) {
         List<GitDescription> result = new ArrayList<GitDescription>();
-        Iterator<GitDescription> it = gitDescs.values().iterator();
-
+        Map<String, GitDescription> gitDesc = siteGitDesc.get(siteConfigName);
+        if (gitDesc == null) {
+            return result;
+        }
+        Iterator<GitDescription> it = gitDesc.values().iterator();
         while (it.hasNext()) {
             result.add(it.next());
         }
-
         return result;
     }
 
-    public static GitDescription getDesc(String projectName) {
-        return gitDescs.get(projectName);
+    public static GitDescription getDesc(String siteConfigName, String gitPath) {
+        Map<String, GitDescription> gitDesc = siteGitDesc.get(siteConfigName);
+        if (gitDesc == null) {
+            return null;
+        }
+        return gitDesc.get(gitPath);
+    }
+
+    public static void removeDesc(String siteConfigName) {
+        if (siteGitDesc.containsKey(siteConfigName)) {
+            siteGitDesc.remove(siteConfigName);
+        }
     }
 }
diff --git a/org.tizen.nativeplatform/src/org/tizen/nativeplatform/git/GitIndexUpdater.java b/org.tizen.nativeplatform/src/org/tizen/nativeplatform/git/GitIndexUpdater.java
new file mode 100644 (file)
index 0000000..8290a64
--- /dev/null
@@ -0,0 +1,44 @@
+package org.tizen.nativeplatform.git;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.List;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.tizen.nativeplatform.git.model.GitDescription;
+import org.tizen.nativeplatform.git.parser.GitIndexParserFactory;
+import org.tizen.nativeplatform.git.parser.IGitIndexParser;
+import org.tizen.nativeplatform.preferences.PreferencesManager;
+import org.tizen.nativeplatform.preferences.PreferencesManager.SiteConfiguration;
+
+public class GitIndexUpdater implements IRunnableWithProgress {
+    private int idx;
+    
+    public GitIndexUpdater(int idx) {
+        this.idx = idx;
+    }
+
+    @Override
+    public void run(IProgressMonitor monitor) throws InvocationTargetException,
+            InterruptedException {
+        monitor.beginTask("Updating git index...", -1);
+        try {
+            SiteConfiguration config = PreferencesManager.loadSiteConfiguration(idx);
+            IGitIndexParser parser = GitIndexParserFactory.getIndexParser(config);
+            if (parser == null) {
+                throw new InterruptedException("Failed to get git index parser");
+            }
+            if (!parser.prework(config)) {
+                throw new InterruptedException(String.format("Path is invalid: %s", config.getListLocation()));
+            }
+            List<GitDescription> gitDescs = parser.parse(config);
+            if (gitDescs != null) {
+                String configName = config.getName();
+                GitDescManager.removeDesc(configName);
+                GitDescManager.setDescs(configName, gitDescs);
+            }
+        } finally {
+            monitor.done();
+        }
+    }
+}
diff --git a/org.tizen.nativeplatform/src/org/tizen/nativeplatform/git/model/GitConfiguration.java b/org.tizen.nativeplatform/src/org/tizen/nativeplatform/git/model/GitConfiguration.java
deleted file mode 100644 (file)
index 78fb89d..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Native Platform
- *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact:
- * Donghyuk Yang <donghyuk.yang@samsung.com>  
- * DongHee Yang <donghee.yang@samsung.com>
- * Kangho Kim <kh5325.kim@samsung.com>
- * 
- * Licensed 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.
- *
- * Contributors:
- * - S-Core Co., Ltd
- *
- */
-
-package org.tizen.nativeplatform.git.model;
-
-public class GitConfiguration {
-    private String name = "";
-    private String gitWeb = "";
-    private String sshConn = "";
-
-    public GitConfiguration(String name, String gitWeb, String sshConn) {
-        this.name = name;
-        this.gitWeb = gitWeb;
-        this.sshConn = sshConn;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public String getGitWeb() {
-        return gitWeb;
-    }
-
-    public String getSshConn() {
-        return sshConn;
-    }
-}
index 156c2f4..5f13e2a 100644 (file)
@@ -28,7 +28,9 @@
 package org.tizen.nativeplatform.git.parser;
 
 import static org.tizen.common.util.IOUtil.tryClose;
+
 import java.io.BufferedReader;
+import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileReader;
 import java.io.IOException;
@@ -36,14 +38,22 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.tizen.nativeplatform.git.model.GitDescription;
-import org.tizen.nativeplatform.preferences.PreferencesManager;
+import org.tizen.nativeplatform.preferences.PreferencesManager.SiteConfiguration;
 
 public class FileGitIndexParser implements IGitIndexParser {
 
-    List<GitDescription> GitDescs = new ArrayList<GitDescription>();
+    @Override
+    public boolean prework(SiteConfiguration config) {
+        String path = config.getListLocation();
+        if (new File(path).exists()) {
+            return true;
+        }
+        return false;
+    }
 
     @Override
-    public List<GitDescription> parse(PreferencesManager.SiteConfiguration config) {
+    public List<GitDescription> parse(SiteConfiguration config) {
+        List<GitDescription> GitDescs = new ArrayList<GitDescription>();
         BufferedReader reader = null;
         try {
             reader = new BufferedReader(new FileReader(config.getListLocation()));
index da84e51..fe9da5c 100644 (file)
@@ -33,5 +33,6 @@ import org.tizen.nativeplatform.git.model.GitDescription;
 import org.tizen.nativeplatform.preferences.PreferencesManager;
 
 public interface IGitIndexParser {
-    List<GitDescription> parse(PreferencesManager.SiteConfiguration config);
+    boolean prework(PreferencesManager.SiteConfiguration config) throws InterruptedException;
+    List<GitDescription> parse(PreferencesManager.SiteConfiguration config) throws InterruptedException;
 }
index a80ac54..b61ef9e 100644 (file)
 package org.tizen.nativeplatform.git.parser;
 
 import static org.tizen.common.util.IOUtil.tryClose;
+
 import java.io.BufferedReader;
+import java.io.BufferedWriter;
 import java.io.File;
 import java.io.FileReader;
+import java.io.FileWriter;
 import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.Writer;
 import java.net.MalformedURLException;
+import java.net.Proxy;
+import java.net.URL;
+import java.net.URLConnection;
+import java.security.SecureRandom;
+import java.security.cert.X509Certificate;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.tizen.common.util.DialogUtil;
+import javax.net.ssl.HttpsURLConnection;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
+
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.tizen.common.util.IOUtil;
 import org.tizen.nativeplatform.git.model.GitDescription;
 import org.tizen.nativeplatform.preferences.PreferencesManager;
+import org.tizen.nativeplatform.preferences.PreferencesManager.SiteConfiguration;
 
 public class WebGitIndexParser implements IGitIndexParser {
+    
+    private static final String GIT_LIST_CACHE_FILE_FORMAT = ".%s.index.html";
+
+    @Override
+    public boolean prework(SiteConfiguration config) throws InterruptedException {
+        String name = config.getName();
+        String path = config.getListLocation();
+
+        /*
+         * Disable SSL cert validation because of following exception:
+         *  com.sun.jersey.api.client.ClientHandlerException: 
+         *  javax.net.ssl.SSLHandshakeException: 
+         *  sun.security.validator.ValidatorException: 
+         *  PKIX path building failed: 
+         *  sun.security.provider.certpath.SunCertPathBuilderException: 
+         *  unable to find valid certification path to requested target
+         * This solution is temporary and can be changed.
+         */
+        // Create a trust manager that does not validate certificate chains
+        TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
+            public X509Certificate[] getAcceptedIssuers() {
+                return null;
+            }
+
+            public void checkClientTrusted(X509Certificate[] certs, String authType) {
+            }
+
+            public void checkServerTrusted(X509Certificate[] certs, String authType) {
+            }
+        } };
+
+        // Install the all-trusting trust manager
+        try {
+            SSLContext sc = SSLContext.getInstance("TLS");
+            sc.init(null, trustAllCerts, new SecureRandom());
+            HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        Writer out = null;
+        String cacheFilePath = ResourcesPlugin.getWorkspace().getRoot().getLocation()
+                .append(String.format(GIT_LIST_CACHE_FILE_FORMAT, name)).toString();
+        File cacheFile = new File(cacheFilePath);
+        try {
+            if (cacheFile.exists()) {
+                cacheFile.delete();
+            }
+            URL u = new URL(path);
+            Proxy proxy = PreferencesManager.getProxy();
+            URLConnection yc = null;
+            if (proxy != null) {
+                yc = u.openConnection(proxy);
+            } else {
+                yc = u.openConnection();
+            }
+            BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
+            out = new BufferedWriter(new FileWriter(cacheFilePath));
+            String line = null;
+            while ((line = in.readLine()) != null) {
+                out.write(line + "\n");
+            }
+        } catch (MalformedURLException e) {
+            e.printStackTrace();
+            throw new InterruptedException(e.toString());
+        } catch (IOException e) {
+            e.printStackTrace();
+            throw new InterruptedException(e.toString());
+        } finally {
+            IOUtil.tryClose(out);
+        }
+        if (cacheFile.exists()) {
+            return true;
+        }
+        return false;
+    }
 
     @Override
-    public List<GitDescription> parse(PreferencesManager.SiteConfiguration config) {
+    public List<GitDescription> parse(SiteConfiguration config)  throws InterruptedException {
         boolean startTable = false;
         boolean startTr = false;
         boolean getProjectName = false;
@@ -113,17 +206,14 @@ public class WebGitIndexParser implements IGitIndexParser {
                 }
             }
         } catch (MalformedURLException e) {
-            DialogUtil.openErrorDialog(e.toString());
             e.printStackTrace();
-            return null;
+            throw new InterruptedException(e.toString());
         } catch (IOException e) {
-            DialogUtil.openErrorDialog(e.toString());
             e.printStackTrace();
-            return null;
+            throw new InterruptedException(e.toString());
         } finally {
             tryClose(in);
         }
         return GitDescs;
     }
-
 }
index a518dcd..2bf0bd1 100644 (file)
 
 package org.tizen.nativeplatform.preferences;
 
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Writer;
-import java.net.HttpURLConnection;
 import java.net.InetSocketAddress;
 import java.net.Proxy;
-import java.net.URL;
-import java.net.URLConnection;
-import java.security.SecureRandom;
-import java.security.cert.X509Certificate;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
-import javax.net.ssl.HttpsURLConnection;
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.TrustManager;
-import javax.net.ssl.X509TrustManager;
-
 import org.eclipse.core.net.proxy.IProxyData;
 import org.eclipse.core.net.proxy.IProxyService;
 import org.eclipse.core.resources.ResourcesPlugin;
@@ -57,7 +40,6 @@ import org.eclipse.jface.preference.IPreferenceStore;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.FrameworkUtil;
 import org.osgi.util.tracker.ServiceTracker;
-import org.tizen.common.util.IOUtil;
 
 public class PreferencesManager {
     public static final String PASSWORD_KEY = "org.tizen.nativeplatform.sudo.password";
@@ -67,8 +49,6 @@ public class PreferencesManager {
     private static final String GIT_BASE_URI = "org.tizen.nativeplatform.git.base.uri";
     private static final String GIT_LIST_TYPE = "org.tizen.nativeplatform.git.list.type";
     private static final String GIT_LIST_LOCATION = "org.tizen.nativeplatform.git.list.location";
-    private static final String USE_SITE_PROXY = "org.tizen.nativeplatform.site.use.proxy";
-    private static final String PROXY_URL = "rg.tizen.nativeplatform.site.use.proxy.url";
     private static final String GIT_CONFIG_DELIMITER = "|";
     public static final String GIT_LIST_WEB = "GITWEB";
     public static final String GIT_LIST_LOCAL = "LOCAL";
@@ -76,8 +56,6 @@ public class PreferencesManager {
     private static final String DEFAULT_GIT_BASE_URI = "review.tizen.org";
     private static final String DEFAULT_GIT_LIST_TYPE = GIT_LIST_WEB;
     private static final String DEFAULT_GIT_LIST_LOCATION = "https://review.tizen.org/git/";
-    private static final boolean DEFAULT_USE_SITE_PROXY = false;
-    private static final String DEFAULT_PROXY_URL = "";
     private static final String GIT_LIST_CACHE_FILE_FORMAT = ".%s.index.html";
 
     private static IPreferenceStore prefStore = org.tizen.nativecommon.Activator.getDefault()
@@ -91,8 +69,7 @@ public class PreferencesManager {
     public static void setDefaultValues() {
         if (!prefStore.contains(GIT_CONFIG_NAME)) {
             addSiteConfiguration(DEFAULT_GIT_CONFIG_NAME, DEFAULT_GIT_BASE_URI,
-                    DEFAULT_GIT_LIST_TYPE, DEFAULT_GIT_LIST_LOCATION, DEFAULT_USE_SITE_PROXY,
-                    DEFAULT_PROXY_URL);
+                    DEFAULT_GIT_LIST_TYPE, DEFAULT_GIT_LIST_LOCATION);
         }
     }
 
@@ -101,13 +78,7 @@ public class PreferencesManager {
     }
 
     public static boolean isProxyUsed() {
-        if (isSiteProxyUsed()) {
-            return true;
-        }
-        if (isSystemProxyUsed()) {
-            return true;
-        }
-        return false;
+        return isSystemProxyUsed();
     }
 
     public static Proxy getProxy() {
@@ -122,10 +93,10 @@ public class PreferencesManager {
                 return null;
             }
             Proxy.Type proxyType;
-            if (protocol.equals("http") || protocol.equals("https")) {
-                proxyType = Proxy.Type.HTTP;
-            } else {
+            if (protocol.equals("socks")) {
                 proxyType = Proxy.Type.SOCKS;
+            } else {
+                proxyType = Proxy.Type.HTTP;
             }
             return new Proxy(proxyType, new InetSocketAddress(host, port));
         } else {
@@ -134,23 +105,14 @@ public class PreferencesManager {
     }
 
     public static String getProxyURL() {
-        String proxyURL = getSiteProxyURL();
-        if (proxyURL == null) {
-            proxyURL = getSystemProxyURL();
-        }
-
-        return proxyURL;
+        return getSystemProxyURL();
     }
 
     public static String[] getProxyParsedURL() {
-        String[] proxyURL = getSiteProxyParsedURL();
-        if (proxyURL == null) {
-            proxyURL = getSystemProxyParsedURL();
-        }
-
+        String[] proxyURL = getSystemProxyParsedURL();
         return proxyURL;
     }
-
+    
     public static String getProxyProtocol() {
         String[] proxyURL = getProxyParsedURL();
         if (proxyURL == null) {
@@ -175,52 +137,13 @@ public class PreferencesManager {
         return Integer.parseInt(proxyURL[ProxyURLParser.PROXY_PORT]);
     }
 
-    private static boolean isSiteProxyUsed() {
-        SiteConfiguration activeConf = loadActiveSiteConfiguration();
-        if (activeConf == null) {
-            return false;
-        }
-
-        return activeConf.isSiteProxyUsed;
-    }
-
-    private static String getSiteProxyURL() {
-        SiteConfiguration activeConf = loadActiveSiteConfiguration();
-        if (activeConf == null) {
-            return null;
-        }
-
-        if (activeConf.isSiteProxyUsed) {
-            return activeConf.proxyURL;
-        } else {
-            return null;
-        }
-    }
-
-    private static String[] getSiteProxyParsedURL() {
-        SiteConfiguration activeConf = loadActiveSiteConfiguration();
-        if (activeConf == null) {
-            return null;
-        }
-
-        if (activeConf.isSiteProxyUsed) {
-            return ProxyURLParser.getParsedUrl(activeConf.proxyURL);
-        } else {
-            return null;
-        }
-    }
-
     private static boolean isSystemProxyUsed() {
         return getSystemProxyURL() != null ? true : false;
     }
 
     private static String getSystemProxyURL() {
-        IProxyData data = getProxyData(IProxyData.SOCKS_PROXY_TYPE);
-        if (data != null) {
-            return String.format("socks://%s:%d", data.getHost(), data.getPort());
-        }
 
-        data = getProxyData(IProxyData.HTTP_PROXY_TYPE);
+        IProxyData data = getProxyData(IProxyData.HTTP_PROXY_TYPE);
         if (data != null) {
             return String.format("http://%s:%d", data.getHost(), data.getPort());
         }
@@ -230,31 +153,36 @@ public class PreferencesManager {
             return String.format("https://%s:%d", data.getHost(), data.getPort());
         }
 
+        data = getProxyData(IProxyData.SOCKS_PROXY_TYPE);
+        if (data != null) {
+            return String.format("socks://%s:%d", data.getHost(), data.getPort());
+        }
+
         return null;
     }
 
     private static String[] getSystemProxyParsedURL() {
         String[] parsedUrl = { "", "", "" };
 
-        IProxyData data = getProxyData(IProxyData.SOCKS_PROXY_TYPE);
+        IProxyData data = getProxyData(IProxyData.HTTP_PROXY_TYPE);
         if (data != null) {
-            parsedUrl[0] = IProxyData.SOCKS_PROXY_TYPE.toLowerCase();
+            parsedUrl[0] = IProxyData.HTTP_PROXY_TYPE.toLowerCase();
             parsedUrl[1] = data.getHost();
             parsedUrl[2] = Integer.toString(data.getPort());
             return parsedUrl;
         }
 
-        data = getProxyData(IProxyData.HTTP_PROXY_TYPE);
+        data = getProxyData(IProxyData.HTTPS_PROXY_TYPE);
         if (data != null) {
-            parsedUrl[0] = IProxyData.HTTP_PROXY_TYPE.toLowerCase();
+            parsedUrl[0] = IProxyData.HTTPS_PROXY_TYPE.toLowerCase();
             parsedUrl[1] = data.getHost();
             parsedUrl[2] = Integer.toString(data.getPort());
             return parsedUrl;
         }
 
-        data = getProxyData(IProxyData.HTTPS_PROXY_TYPE);
+        data = getProxyData(IProxyData.SOCKS_PROXY_TYPE);
         if (data != null) {
-            parsedUrl[0] = IProxyData.HTTPS_PROXY_TYPE.toLowerCase();
+            parsedUrl[0] = IProxyData.SOCKS_PROXY_TYPE.toLowerCase();
             parsedUrl[1] = data.getHost();
             parsedUrl[2] = Integer.toString(data.getPort());
             return parsedUrl;
@@ -264,16 +192,14 @@ public class PreferencesManager {
     }
 
     public static String getHttpProxyURL() {
-        String proxyURL = getSiteProxyURL();
-        if (proxyURL != null && proxyURL.split(":")[0].equals("http")) {
-            return proxyURL;
-        } else {
-            IProxyData data = getProxyData(IProxyData.HTTP_PROXY_TYPE);
-            if (data != null) {
-                return String.format("http://%s:%d", data.getHost(), data.getPort());
-            }
+        IProxyData data = getProxyData(IProxyData.HTTP_PROXY_TYPE);
+        if (data != null) {
+            return String.format("http://%s:%d", data.getHost(), data.getPort());
+        }
+        data = getProxyData(IProxyData.HTTPS_PROXY_TYPE);
+        if (data != null) {
+            return String.format("https://%s:%d", data.getHost(), data.getPort());
         }
-
         return "";
     }
 
@@ -346,8 +272,6 @@ public class PreferencesManager {
         List<String> baseURIs = loadGitBaseURI();
         List<String> listTypes = loadGitListType();
         List<String> listLocations = loadGitListLocation();
-        List<String> listUseSiteProxies = loadUseSiteProxies();
-        List<String> listProxyURLs = loadProxyURLs();
 
         int activeId = prefStore.getInt(GIT_ACTIVE_CONFIG);
         if (activeId == -1) {
@@ -355,28 +279,32 @@ public class PreferencesManager {
         }
 
         SiteConfiguration newConfig = new SiteConfiguration(names.get(activeId),
-                baseURIs.get(activeId), listTypes.get(activeId), listLocations.get(activeId),
-                listUseSiteProxies.get(activeId).equals("YES") ? true : false,
-                listProxyURLs.get(activeId));
+                baseURIs.get(activeId), listTypes.get(activeId), listLocations.get(activeId));
         newConfig.setActive(true);
 
         return newConfig;
     }
 
+    public static synchronized SiteConfiguration loadSiteConfiguration(int idx) {
+        String name = loadSiteConfigName(idx);
+        String baseURI = loadGitBaseURI(idx);
+        String listType = loadGitListType(idx);
+        String listLocation = loadGitListLocation(idx);
+        SiteConfiguration newConfig = new SiteConfiguration(name, baseURI, listType, listLocation);
+        return newConfig;
+    }
+
     public static synchronized ArrayList<SiteConfiguration> loadSiteConfigurations() {
         List<String> names = loadSiteConfigName();
         List<String> baseURIs = loadGitBaseURI();
         List<String> listTypes = loadGitListType();
         List<String> listLocations = loadGitListLocation();
-        List<String> listUseSiteProxies = loadUseSiteProxies();
-        List<String> listProxyURLs = loadProxyURLs();
         int activeId = prefStore.getInt(GIT_ACTIVE_CONFIG);
 
         ArrayList<SiteConfiguration> list = new ArrayList<SiteConfiguration>();
         for (int idx = 0; idx < names.size(); idx++) {
             SiteConfiguration newConfig = new SiteConfiguration(names.get(idx), baseURIs.get(idx),
-                    listTypes.get(idx), listLocations.get(idx), listUseSiteProxies.get(idx).equals(
-                            "YES") ? true : false, listProxyURLs.get(idx));
+                    listTypes.get(idx), listLocations.get(idx));
             if (activeId == idx) {
                 newConfig.setActive(true);
             }
@@ -387,7 +315,7 @@ public class PreferencesManager {
     }
 
     public static synchronized void addSiteConfiguration(String name, String baseURI,
-            String listType, String location, boolean useSiteProxy, String proxyURL) {
+            String listType, String location) {
 
         List<String> newList = loadSiteConfigName();
         newList.add(name);
@@ -405,21 +333,13 @@ public class PreferencesManager {
         newList.add(location);
         saveGitListLocation(newList);
 
-        newList = loadUseSiteProxies();
-        newList.add(useSiteProxy ? "YES" : "NO");
-        saveUseSiteProxies(newList);
-
-        newList = loadProxyURLs();
-        newList.add(proxyURL);
-        saveProxyURLs(newList);
-
         if (newList.size() == 1) {
             setActiveSiteConfiguration(0);
         }
     }
 
     public static synchronized void updateSiteConfiguration(int id, String name, String baseURI,
-            String listType, String location, boolean useSiteProxy, String proxyURL) {
+            String listType, String location) {
 
         List<String> newList = loadSiteConfigName();
         newList.set(id, name);
@@ -436,14 +356,6 @@ public class PreferencesManager {
         newList = loadGitListLocation();
         newList.set(id, location);
         saveGitListLocation(newList);
-
-        newList = loadUseSiteProxies();
-        newList.set(id, useSiteProxy ? "YES" : "NO");
-        saveUseSiteProxies(newList);
-
-        newList = loadProxyURLs();
-        newList.set(id, proxyURL);
-        saveProxyURLs(newList);
     }
 
     public static synchronized void setActiveSiteConfiguration(int id) {
@@ -479,59 +391,6 @@ public class PreferencesManager {
         }
     }
 
-    public static synchronized void refreshGitWebConfiguration(int idx) throws IOException {
-        String name = loadSiteConfigName().get(idx);
-        String path = loadGitListLocation().get(idx);
-
-        /*
-         * Disable SSL cert validation because of following exception:
-         *  com.sun.jersey.api.client.ClientHandlerException: 
-         *  javax.net.ssl.SSLHandshakeException: 
-         *  sun.security.validator.ValidatorException: 
-         *  PKIX path building failed: 
-         *  sun.security.provider.certpath.SunCertPathBuilderException: 
-         *  unable to find valid certification path to requested target
-         * This solution is temporary and can be changed.
-         */
-        // Create a trust manager that does not validate certificate chains
-        TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
-            public X509Certificate[] getAcceptedIssuers() {
-                return null;
-            }
-
-            public void checkClientTrusted(X509Certificate[] certs, String authType) {
-            }
-
-            public void checkServerTrusted(X509Certificate[] certs, String authType) {
-            }
-        } };
-
-        // Install the all-trusting trust manager
-        try {
-            SSLContext sc = SSLContext.getInstance("TLS");
-            sc.init(null, trustAllCerts, new SecureRandom());
-            HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
-        } catch (Exception e) {
-            ;
-        }
-
-        Writer out = null;
-        try {
-            URL u = new URL(path);
-            String cacheFile = ResourcesPlugin.getWorkspace().getRoot().getLocation()
-                    .append(String.format(GIT_LIST_CACHE_FILE_FORMAT, name)).toString();
-            URLConnection yc = u.openConnection();
-            BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
-            out = new BufferedWriter(new FileWriter(cacheFile));
-            String line = null;
-            while ((line = in.readLine()) != null) {
-                out.write(line + "\n");
-            }
-        } finally {
-            IOUtil.tryClose(out);
-        }
-    }
-
     private static List<String> loadSiteConfigName() {
         String values = prefStore.getString(GIT_CONFIG_NAME);
         if (!values.isEmpty()) {
@@ -541,6 +400,15 @@ public class PreferencesManager {
         }
     }
 
+    private static String loadSiteConfigName(int idx) {
+        List<String> values = loadSiteConfigName();
+        if (!values.isEmpty()) {
+            return values.get(idx);
+        } else {
+            return "";
+        }
+    }
+
     private static void saveGitConfigName(List<String> list) {
         prefStore.setValue(GIT_CONFIG_NAME, generateListString(list));
     }
@@ -554,6 +422,15 @@ public class PreferencesManager {
         }
     }
 
+    private static String loadGitBaseURI(int idx) {
+        List<String> values = loadGitBaseURI();
+        if (!values.isEmpty()) {
+            return values.get(idx);
+        } else {
+            return "";
+        }
+    }
+
     private static void saveGitBaseURI(List<String> list) {
         prefStore.setValue(GIT_BASE_URI, generateListString(list));
     }
@@ -567,25 +444,21 @@ public class PreferencesManager {
         }
     }
 
-    private static void saveGitListType(List<String> list) {
-        prefStore.setValue(GIT_LIST_TYPE, generateListString(list));
-    }
-
-    private static List<String> loadGitListLocation() {
-        String values = prefStore.getString(GIT_LIST_LOCATION);
+    private static String loadGitListType(int idx) {
+        List<String> values = loadGitListType();
         if (!values.isEmpty()) {
-            return new ArrayList<String>(Arrays.asList(values.split("[|]")));
+            return values.get(idx);
         } else {
-            return new ArrayList<String>();
+            return "";
         }
     }
 
-    private static void saveGitListLocation(List<String> list) {
-        prefStore.setValue(GIT_LIST_LOCATION, generateListString(list));
+    private static void saveGitListType(List<String> list) {
+        prefStore.setValue(GIT_LIST_TYPE, generateListString(list));
     }
 
-    private static List<String> loadUseSiteProxies() {
-        String values = prefStore.getString(USE_SITE_PROXY);
+    private static List<String> loadGitListLocation() {
+        String values = prefStore.getString(GIT_LIST_LOCATION);
         if (!values.isEmpty()) {
             return new ArrayList<String>(Arrays.asList(values.split("[|]")));
         } else {
@@ -593,38 +466,17 @@ public class PreferencesManager {
         }
     }
 
-    private static void saveUseSiteProxies(List<String> list) {
-        prefStore.setValue(USE_SITE_PROXY, generateListString(list));
-    }
-
-    private static List<String> loadProxyURLs() {
-        String values = prefStore.getString(PROXY_URL);
+    private static String loadGitListLocation(int idx) {
+        List<String> values = loadGitListLocation();
         if (!values.isEmpty()) {
-            ArrayList<String> newList = new ArrayList<String>();
-            for (String url : values.split("[|]")) {
-                if (url.equals("EMPTY")) {
-                    newList.add("");
-                } else {
-                    newList.add(url);
-                }
-            }
-            return newList;
+            return values.get(idx);
         } else {
-            return new ArrayList<String>();
+            return "";
         }
     }
 
-    private static void saveProxyURLs(List<String> list) {
-        ArrayList<String> newList = new ArrayList<String>();
-        for (String url : list) {
-            if (url.isEmpty()) {
-                newList.add("EMPTY");
-            } else {
-                newList.add(url);
-            }
-        }
-
-        prefStore.setValue(PROXY_URL, generateListString(newList));
+    private static void saveGitListLocation(List<String> list) {
+        prefStore.setValue(GIT_LIST_LOCATION, generateListString(list));
     }
 
     private static String generateListString(List<String> list) {
@@ -644,18 +496,13 @@ public class PreferencesManager {
         private String listType;
         private String listLocation;
         private boolean isActive;
-        private boolean isSiteProxyUsed;
-        private String proxyURL;
 
         public SiteConfiguration(String name1, String baseURI1, String listType1,
-                String listLocation1, boolean isSiteProxyUsed1, String proxyURL1) {
+                String listLocation1) {
             name = name1;
             baseURI = baseURI1;
             listType = listType1;
             listLocation = listLocation1;
-            isSiteProxyUsed = isSiteProxyUsed1;
-            proxyURL = proxyURL1;
-
             isActive = false;
         }
 
@@ -680,18 +527,10 @@ public class PreferencesManager {
             return listLocation;
         }
 
-        public String getProxyUrl() {
-            return proxyURL;
-        }
-
         public String getBaseURI() {
             return baseURI;
         }
 
-        public boolean useProxy() {
-            return isSiteProxyUsed;
-        }
-
         public boolean isSetActive() {
             return isActive;
         }
index f0c81f4..3fd5677 100644 (file)
@@ -27,8 +27,6 @@
 
 package org.tizen.nativeplatform.preferences.ui;
 
-import java.net.MalformedURLException;
-import java.net.URL;
 import java.util.ResourceBundle;
 
 import org.eclipse.core.runtime.IPath;
@@ -61,15 +59,11 @@ public class SiteConfigurationDialog extends Dialog {
     private Combo gitListTypeCombo;
     private Text gitListLocationText;
     private Button fileBrowseBt;
-    private Button useSiteProxyBt;
-    private Text proxyURLText;
 
     private String siteConfigName = "";
     private String gitBaseURI = "";
     private String gitListType = "";
     private String gitListLocation = "";
-    private boolean useSiteProxy = false;
-    private String proxyURL = "";
 
     private int x = 0;
     private int y = 0;
@@ -86,22 +80,18 @@ public class SiteConfigurationDialog extends Dialog {
         gitBaseURI = "";
         gitListType = "";
         gitListLocation = "";
-        useSiteProxy = false;
-        proxyURL = "";
 
         this.shell = parentShell;
     }
 
     protected SiteConfigurationDialog(Shell parentShell, String gitConfigName1, String gitBaseURI1,
-            String gitListType1, String gitListLocation1, boolean useSiteProxy1, String proxyURL1) {
+            String gitListType1, String gitListLocation1) {
         super(parentShell);
 
         siteConfigName = gitConfigName1;
         gitBaseURI = gitBaseURI1;
         gitListType = gitListType1;
         gitListLocation = gitListLocation1;
-        useSiteProxy = useSiteProxy1;
-        proxyURL = proxyURL1;
 
         this.shell = parentShell;
     }
@@ -130,7 +120,6 @@ public class SiteConfigurationDialog extends Dialog {
 
         createSiteConfigNameComposite(composite);
         createGitConfigGroupComposite(composite);
-        createProxyConfigGroupComposite(composite);
 
         return null;
     }
@@ -279,66 +268,12 @@ public class SiteConfigurationDialog extends Dialog {
         });
     }
 
-    private void createProxyConfigGroupComposite(Composite parent) {
-        Group group = new Group(parent, SWT.NONE);
-        group.setLayout(new GridLayout(2, false));
-        group.setText(resources.getString("SiteConfDlg.Group.Proxy"));
-        GridData gridData = new GridData(GridData.FILL_BOTH);
-        group.setLayoutData(gridData);
-
-        // check box
-        useSiteProxyBt = new Button(group, SWT.CHECK);
-        useSiteProxyBt.setText(resources.getString("SiteConfDlg.Button.UseSiteProxy"));
-        gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING);
-        gridData.horizontalSpan = 2;
-        useSiteProxyBt.setLayoutData(gridData);
-        useSiteProxyBt.setSelection(useSiteProxy);
-        useSiteProxyBt.addSelectionListener(new SelectionListener() {
-
-            @Override
-            public void widgetSelected(SelectionEvent e) {
-                useSiteProxy = useSiteProxyBt.getSelection();
-                proxyURLText.setEnabled(useSiteProxy);
-            }
-
-            @Override
-            public void widgetDefaultSelected(SelectionEvent e) {
-            }
-
-        });
-
-        // label , text
-        Label proxyURLLabel = new Label(group, SWT.NONE);
-        gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-        gridData.widthHint = 100;
-        proxyURLLabel.setLayoutData(gridData);
-        proxyURLLabel.setAlignment(SWT.RIGHT);
-        proxyURLLabel.setText(resources.getString("SiteConfDlg.Label.ProxyURL"));
-
-        proxyURLText = new Text(group, SWT.SINGLE | SWT.BORDER | SWT.SEARCH);
-        gridData = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL);
-        proxyURLText.setLayoutData(gridData);
-        proxyURLText.setText(proxyURL);
-        if (!useSiteProxy) {
-            proxyURLText.setEnabled(false);
-        }
-
-        new Label(group, SWT.NONE);
-
-        Label gitBaseURIExLabel = new Label(group, SWT.NONE);
-        gridData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-        gitBaseURIExLabel.setLayoutData(gridData);
-        gitBaseURIExLabel.setText(resources.getString("SiteConfDlg.Label.ProxyURL.Ex"));
-    }
-
     @Override
     protected void okPressed() {
         siteConfigName = siteConfigNameText.getText().trim();
         gitBaseURI = gitBaseURIText.getText().trim();
         gitListType = gitListTypeCombo.getText();
         gitListLocation = gitListLocationText.getText().trim();
-        useSiteProxy = useSiteProxyBt.getSelection();
-        proxyURL = proxyURLText.getText().trim();
 
         if (siteConfigName.isEmpty()) {
             DialogUtil.openErrorDialog(resources.getString("GitConfDlg.Error.NoName"));
@@ -352,39 +287,6 @@ public class SiteConfigurationDialog extends Dialog {
             DialogUtil.openErrorDialog(resources.getString("GitConfDlg.Error.NoLocation"));
             return;
         }
-        if (useSiteProxy) {
-            if (proxyURL.isEmpty()) {
-                DialogUtil.openErrorDialog(resources.getString("GitConfDlg.Error.NoProxyURL"));
-            }
-
-            try {
-                URL url = new URL(proxyURL);
-                String protocol = url.getProtocol();
-                String host = url.getHost();
-                int port = url.getPort();
-
-                if ((protocol.compareToIgnoreCase("socks") != 0
-                        && protocol.compareToIgnoreCase("http") != 0 && protocol
-                        .compareToIgnoreCase("https") != 0) || host == null || host.isEmpty()) {
-                    DialogUtil
-                            .openErrorDialog(resources.getString("GitConfDlg.Error.MalformedURL"));
-                    return;
-                }
-                // use default port
-                if (port == -1) {
-                    port = 8080;
-                }
-
-                // make new URL
-                proxyURL = String.format("%s://%s:%d", protocol, host, port);
-
-            } catch (MalformedURLException e) {
-                DialogUtil.openErrorDialog(resources.getString("GitConfDlg.Error.MalformedURL"));
-                return;
-            }
-
-        }
-
         super.okPressed();
     }
 
@@ -403,16 +305,4 @@ public class SiteConfigurationDialog extends Dialog {
     public String getGitListLocation() {
         return gitListLocation;
     }
-
-    public boolean isSiteProxyUsed() {
-        return useSiteProxy;
-    }
-
-    public String getProxyURL() {
-        if (useSiteProxy) {
-            return proxyURL;
-        } else {
-            return "";
-        }
-    }
 }
index bf1450e..1cd7ce0 100644 (file)
 
 package org.tizen.nativeplatform.preferences.ui;
 
-import java.io.IOException;
 import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
 import java.util.ResourceBundle;
 
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
 import org.eclipse.jface.preference.PreferencePage;
 import org.eclipse.jface.viewers.ArrayContentProvider;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
@@ -41,7 +39,6 @@ import org.eclipse.jface.viewers.ITableLabelProvider;
 import org.eclipse.jface.viewers.LabelProvider;
 import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.MouseEvent;
 import org.eclipse.swt.events.MouseListener;
@@ -56,6 +53,7 @@ import org.eclipse.swt.widgets.TableColumn;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchPreferencePage;
 import org.tizen.common.util.DialogUtil;
+import org.tizen.nativeplatform.git.GitIndexUpdater;
 import org.tizen.nativeplatform.preferences.PreferencesManager;
 
 public class SiteConfigurationPreferencePage extends PreferencePage implements
@@ -164,12 +162,7 @@ public class SiteConfigurationPreferencePage extends PreferencePage implements
             public void selectionChanged(SelectionChangedEvent event) {
                 int idx = gitConfigTable.getTable().getSelectionIndex();
                 if (idx != -1) {
-                    String gitListType = siteConfigList.get(idx).getListType();
-                    if (gitListType.equals(PreferencesManager.GIT_LIST_WEB)) {
-                        updateBt.setEnabled(true);
-                    } else {
-                        updateBt.setEnabled(false);
-                    }
+                    updateBt.setEnabled(true);
                     editBt.setEnabled(true);
                     setActiveBt.setEnabled(true);
                     removeBt.setEnabled(true);
@@ -220,8 +213,7 @@ public class SiteConfigurationPreferencePage extends PreferencePage implements
                 if (dialog.open() == SiteConfigurationDialog.OK) {
                     PreferencesManager.addSiteConfiguration(dialog.getSiteConfigName(),
                             dialog.getGitBaseURI(), dialog.getGitListType(),
-                            dialog.getGitListLocation(), dialog.isSiteProxyUsed(),
-                            dialog.getProxyURL());
+                            dialog.getGitListLocation());
 
                     updateData();
                 }
@@ -250,17 +242,12 @@ public class SiteConfigurationPreferencePage extends PreferencePage implements
                 String gitBaseURI = siteConfigList.get(idx).getBaseURI();
                 String gitListType = siteConfigList.get(idx).getListType();
                 String gitListLocation = siteConfigList.get(idx).getListLocation();
-                boolean useSiteProxy = siteConfigList.get(idx).useProxy();
-                String proxyURL = siteConfigList.get(idx).getProxyUrl();
-
                 SiteConfigurationDialog dialog = new SiteConfigurationDialog(getShell(),
-                        siteConfigName, gitBaseURI, gitListType, gitListLocation, useSiteProxy,
-                        proxyURL);
+                        siteConfigName, gitBaseURI, gitListType, gitListLocation);
                 if (dialog.open() == SiteConfigurationDialog.OK) {
                     PreferencesManager.updateSiteConfiguration(gitConfigTable.getTable()
                             .getSelectionIndex(), dialog.getSiteConfigName(), dialog
-                            .getGitBaseURI(), dialog.getGitListType(), dialog.getGitListLocation(),
-                            dialog.isSiteProxyUsed(), dialog.getProxyURL());
+                            .getGitBaseURI(), dialog.getGitListType(), dialog.getGitListLocation());
                     updateData();
                 }
             }
@@ -284,13 +271,15 @@ public class SiteConfigurationPreferencePage extends PreferencePage implements
             public void mouseDown(MouseEvent e) {
                 try {
                     new ProgressMonitorDialog(getShell()).run(true, false,
-                            new RefreshGitWebOperation(gitConfigTable.getTable()
+                            new GitIndexUpdater(gitConfigTable.getTable()
                                     .getSelectionIndex()));
-                    DialogUtil.openMessageDialog("Refreshing Git Web succeeded!");
+                    DialogUtil.openMessageDialog("Updating git index succeeded!");
                 } catch (InvocationTargetException e1) {
-                    DialogUtil.openErrorDialog("Refreshing Git Web Failed!\n:" + e1.getMessage());
+                    e1.printStackTrace();
+                    DialogUtil.openErrorDialog("Failed to update git index:\n" + e1.getMessage());
                 } catch (InterruptedException e1) {
-                    // do nothing
+                    e1.printStackTrace();
+                    DialogUtil.openErrorDialog("Failed to update git index:\n" + e1.getMessage());
                 }
             }
 
@@ -380,24 +369,4 @@ public class SiteConfigurationPreferencePage extends PreferencePage implements
             }
         }
     }
-
-    private static class RefreshGitWebOperation implements IRunnableWithProgress {
-        private int idx;
-
-        public RefreshGitWebOperation(int idx1) {
-            idx = idx1;
-        }
-
-        public void run(IProgressMonitor monitor) throws InvocationTargetException,
-                InterruptedException {
-
-            monitor.beginTask("Refreshing Git Web...", IProgressMonitor.UNKNOWN);
-            try {
-                PreferencesManager.refreshGitWebConfiguration(idx);
-            } catch (IOException e) {
-                throw new InvocationTargetException(e, e.getMessage());
-            }
-            monitor.done();
-        }
-    }
 }
index 8b9a11b..51b9d26 100644 (file)
@@ -44,12 +44,13 @@ public class BaseFileSystemGenerator {
             String command;
             Map<String, String> env = null;
             if (PreferencesManager.isProxyUsed()) {
-                String protocol = PreferencesManager.getProxyProtocol();
-                String host = PreferencesManager.getProxyHost();
-                int port = PreferencesManager.getProxyPort();
+                String[] proxyInfo = PreferencesManager.getProxyParsedURL();
+                String protocol = proxyInfo[0];
+                String host = proxyInfo[1];
+                String port = proxyInfo[2];
                 SmartBuildInterface sbi = SmartBuildInterface.getInstance();
                 String envKey = String.format("%s_proxy", protocol);
-                String envValue = String.format("%s://%s:%d", protocol, host, port);
+                String envValue = String.format("%s://%s:%s", protocol, host, port);
                 env = sbi.addEnvironmentVariable(envKey, envValue);
             }
 
@@ -67,8 +68,7 @@ public class BaseFileSystemGenerator {
                 }
             } else {
                 if (!CommandLauncher.executeSudoWithExpect(command, tempDirPath, env,
-                        "Platform Internal",
-                        monitor)) {
+                        "Platform Internal", monitor)) {
                     return false;
                 }
 
@@ -85,9 +85,8 @@ public class BaseFileSystemGenerator {
         return true;
     }
 
-    public static boolean generate(String rootstrapPath, String arch,
-            List<Repository> reposURLs, IPath confFile, IProgressMonitor monitor)
-            throws InterruptedException {
+    public static boolean generate(String rootstrapPath, String arch, List<Repository> reposURLs,
+            IPath confFile, IProgressMonitor monitor) throws InterruptedException {
         List<String> repos = new ArrayList<String>();
         for (Repository repo : reposURLs) {
             repos.add(repo.getUri());
index 92a3809..ab9cbf9 100644 (file)
@@ -115,13 +115,20 @@ public class TemplateTizenPlatformNewWizard extends TemplateTizenNewWizard {
             EntryDescriptor gitEntryDes = null;
             List<GitDescription> gitDescs = null;
 
-            IGitIndexParser parser = GitIndexParserFactory.getIndexParser(config);
-            if (parser == null) {
-                return items.toArray(new EntryDescriptor[items.size()]);
-            }
-            gitDescs = parser.parse(config);
-            if (gitDescs != null) {
-                GitDescManager.setDescs(gitDescs);
+            gitDescs = GitDescManager.getDescs(profileName);
+            if (gitDescs == null || gitDescs.isEmpty()) {
+                IGitIndexParser parser = GitIndexParserFactory.getIndexParser(config);
+                if (parser == null) {
+                    return items.toArray(new EntryDescriptor[items.size()]);
+                }
+                try {
+                    gitDescs = parser.parse(config);
+                } catch (InterruptedException e) {
+                    e.printStackTrace();
+                }
+                if (gitDescs != null) {
+                    GitDescManager.setDescs(profileName, gitDescs);
+                }
             }
             if (gitDescs != null) {
                 for (GitDescription n : gitDescs) {
index 8b031ca..dc79c40 100644 (file)
@@ -67,6 +67,8 @@ import org.tizen.nativeappcommon.wizards.TizenMainWizardPage;
 import org.tizen.nativeappcommon.wizards.WizardConstants;
 import org.tizen.nativecommon.templateengine.TizenTemplateEngine;
 import org.tizen.nativeplatform.git.GitDescManager;
+import org.tizen.nativeplatform.git.model.GitDescription;
+import org.tizen.nativeplatform.preferences.PreferencesManager;
 import org.tizen.nativeplatform.util.PackageUtil;
 import org.tizen.nativeplatform.wizards.model.TizenPlatformTemplateModel;
 import org.w3c.dom.Element;
@@ -282,11 +284,17 @@ public class TizenPlatformMainWizardPage extends TizenMainWizardPage {
                             && tempPath != null) {
                         // substring "Git/PROFILE_NAME"
                         descPath = new Path(tempPath.substring(17) + "/" + ed.getName());
+                        PreferencesManager.SiteConfiguration config = PreferencesManager
+                                .loadActiveSiteConfiguration();
+                        GitDescription desc = null;
+                        if (config != null) {
+                            String siteConfigName = config.getName();
+                            desc = GitDescManager.getDesc(siteConfigName, descPath.toOSString());
+                        }
                         Category entry = addChildEntry(fModel, platformInfo, categories);
                         TizenPlatformTemplateModel template2 = new TizenPlatformTemplateModel(
-                                platformInfo,
-                                ed.getName(), ed, null, null, null, GitDescManager.getDesc(descPath
-                                        .toOSString()), "Platform Git");
+                                platformInfo, ed.getName(), ed, null, null, null, desc,
+                                "Platform Git");
                         entry.addTemplate(template2);
                     } else {
                         if (descPath == null) {