Changeset 852


Ignore:
Timestamp:
May 3, 2013, 2:25:21 PM (12 years ago)
Author:
alloc
Message:

AEI2.08, AEIUpdater:

Location:
java
Files:
9 added
15 edited
1 copied

Legend:

Unmodified
Added
Removed
  • java/AEInstaller2-Updater/.classpath

    r734 r852  
    55        <classpathentry combineaccessrules="false" kind="src" path="/SVNAccess"/>
    66        <classpathentry combineaccessrules="false" kind="src" path="/PlatformTools"/>
     7        <classpathentry combineaccessrules="false" kind="src" path="/ProxySettings"/>
    78        <classpathentry kind="output" path="bin"/>
    89</classpath>
  • java/AEInstaller2-Updater/src/net/oni2/aeinstaller/updater/AEInstaller2Updater.java

    r777 r852  
    99import javax.swing.UIManager;
    1010
     11import net.oni2.ProxySettings;
    1112import net.oni2.aeinstaller.updater.backend.Paths;
    1213import net.oni2.aeinstaller.updater.gui.MainWin;
     
    4142                }
    4243
     44                if (Paths.getProxySettingsFilename().exists()) {
     45                        ProxySettings.deserializeFromFile(Paths.getProxySettingsFilename());
     46                }
     47
    4348                System.setProperty("networkaddress.cache.ttl", "5");
    4449                System.setProperty("networkaddress.cache.negative.ttl", "1");
  • java/AEInstaller2-Updater/src/net/oni2/aeinstaller/updater/backend/Paths.java

    r777 r852  
    3333
    3434        /**
     35         * @return Proxy settings filename of AEI
     36         */
     37        public static File getProxySettingsFilename() {
     38                return new File(getPrefsPath(), "AEI-ProxySettings.xml");
     39        }
     40
     41        /**
    3542         * Get the preferences path
    3643         *
  • java/HTTPFileDownloader/.classpath

    r741 r852  
    33        <classpathentry kind="src" path="src"/>
    44        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
     5        <classpathentry combineaccessrules="false" kind="src" path="/ProxySettings"/>
    56        <classpathentry kind="output" path="bin"/>
    67</classpath>
  • java/HTTPFileDownloader/src/net/oni2/httpfiledownloader/FileDownloader.java

    r786 r852  
    99import java.net.URLConnection;
    1010import java.util.HashSet;
     11
     12import net.oni2.ProxySettings;
    1113
    1214/**
     
    147149                String strEtag = null;
    148150                RandomAccessFile outFile = null;
     151
    149152                try {
    150153                        outFile = new RandomAccessFile(target, "rw");
     
    174177                                                BufferedInputStream input = null;
    175178                                                try {
    176                                                         URLConnection connection = url.openConnection();
    177                                                         connection.setRequestProperty("Cache-Control", "no-cache");
     179                                                        URLConnection connection = url
     180                                                                        .openConnection(ProxySettings.getInstance()
     181                                                                                        .getProxy());
     182                                                        connection.setRequestProperty("Cache-Control",
     183                                                                        "no-cache");
    178184                                                        if (downloaded == 0) {
    179185                                                                connection.connect();
  • java/ModDepotAccess/.classpath

    r748 r852  
    33        <classpathentry kind="src" path="src"/>
    44        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
    5         <classpathentry kind="lib" path="/_ThirdPartyLibs/httpclient/commons-logging-1.1.1.jar"/>
    6         <classpathentry kind="lib" path="/_ThirdPartyLibs/httpclient/httpclient-4.2.2.jar"/>
    7         <classpathentry kind="lib" path="/_ThirdPartyLibs/httpclient/httpcore-4.2.2.jar"/>
    85        <classpathentry kind="lib" path="/_ThirdPartyLibs/JSON-java.jar"/>
    96        <classpathentry kind="lib" path="/_ThirdPartyLibs/xstream-1.4.3.jar"/>
    107        <classpathentry combineaccessrules="false" kind="src" path="/HTTPFileDownloader"/>
     8        <classpathentry combineaccessrules="false" kind="src" path="/ProxySettings"/>
    119        <classpathentry kind="output" path="bin"/>
    1210</classpath>
  • java/ModDepotAccess/src/net/oni2/moddepot/DepotManager.java

    r748 r852  
    77import java.io.IOException;
    88import java.io.InputStreamReader;
    9 import java.io.UnsupportedEncodingException;
    10 import java.net.UnknownHostException;
     9import java.net.HttpURLConnection;
     10import java.net.URL;
    1111import java.util.Date;
    1212import java.util.Enumeration;
     
    1616import java.util.zip.ZipFile;
    1717
     18import net.oni2.ProxySettings;
     19import net.oni2.httpfiledownloader.FileDownloader;
    1820import net.oni2.moddepot.model.File;
    1921import net.oni2.moddepot.model.Node;
     
    2325import net.oni2.moddepot.model.TaxonomyTerm;
    2426import net.oni2.moddepot.model.TaxonomyVocabulary;
    25 import net.oni2.httpfiledownloader.FileDownloader;
    26 
    27 import org.apache.http.HttpResponse;
    28 import org.apache.http.client.methods.HttpHead;
    29 import org.apache.http.client.methods.HttpRequestBase;
    30 import org.apache.http.impl.client.DefaultHttpClient;
     27
    3128import org.json.JSONArray;
    3229import org.json.JSONException;
     
    214211         */
    215212        public boolean checkConnection() {
    216                 HttpRequestBase httpQuery = null;
    217 
    218213                try {
    219                         DefaultHttpClient httpclient = new DefaultHttpClient();
    220                         httpQuery = new HttpHead(DepotConfig.depotUrl);
    221                         HttpResponse response = httpclient.execute(httpQuery);
    222                         int code = response.getStatusLine().getStatusCode();
     214                        HttpURLConnection con = (HttpURLConnection) new URL(
     215                                        DepotConfig.depotUrl).openConnection(ProxySettings
     216                                        .getInstance().getProxy());
     217                        con.setRequestMethod("HEAD");
     218                        int code = con.getResponseCode();
    223219                        return (code >= 200) && (code <= 299);
    224                 } catch (UnknownHostException e) {
    225                 } catch (UnsupportedEncodingException e) {
    226                         e.printStackTrace();
    227220                } catch (IOException e) {
    228221                        e.printStackTrace();
    229                 } finally {
    230                         if (httpQuery != null)
    231                                 httpQuery.releaseConnection();
    232222                }
    233223                return false;
  • java/ProgramSettings/src/net/oni2/SettingsManager.java

    r776 r852  
    2323        private static SettingsManager instance = new SettingsManager();
    2424
    25         private static boolean debugRun = false;
    26         private static boolean useWorkingDir = false;
    27 
    2825        private HashMap<String, Object> prefs = new HashMap<String, Object>();
    2926
    3027        private boolean printNamesNotInMap = false;
    3128
    32         private boolean offlineMode = false;
    33         private boolean noCacheUpdate = false;
     29        @SuppressWarnings("unused")
     30        private transient boolean offlineMode = false;
     31        @SuppressWarnings("unused")
     32        private transient boolean noCacheUpdate = false;
    3433
    3534        /**
     
    4039        public static SettingsManager getInstance() {
    4140                return instance;
    42         }
    43 
    44         /**
    45          * @param debug
    46          *            Debug mode
    47          */
    48         public static void setDebug(boolean debug) {
    49                 debugRun = debug;
    50         }
    51 
    52         /**
    53          * @return Is debug run
    54          */
    55         public static boolean isDebug() {
    56                 return debugRun;
    57         }
    58 
    59         /**
    60          * @param useWd
    61          *            Use working directory instead of jar path
    62          */
    63         public static void setUseWorkingDir(boolean useWd) {
    64                 useWorkingDir = useWd;
    65         }
    66 
    67         /**
    68          * @return Do we want to use working directory
    69          */
    70         public static boolean getUseWorkingDir() {
    71                 return useWorkingDir;
    72         }
    73 
    74         /**
    75          * @return Is offline?
    76          */
    77         public boolean isOfflineMode() {
    78                 return offlineMode;
    79         }
    80 
    81         /**
    82          * @param offline
    83          *            Is offline?
    84          */
    85         public void setOfflineMode(boolean offline) {
    86                 this.offlineMode = offline;
    87         }
    88 
    89         /**
    90          * @return Is in noCacheUpdate mode?
    91          */
    92         public boolean isNoCacheUpdateMode() {
    93                 return noCacheUpdate;
    94         }
    95 
    96         /**
    97          * @param noCacheUpdate
    98          *            Is in noCacheUpdate mode?
    99          */
    100         public void setNoCacheUpdateMode(boolean noCacheUpdate) {
    101                 this.noCacheUpdate = noCacheUpdate;
    10241        }
    10342
  • java/SVNAccess/.classpath

    r738 r852  
    77        <classpathentry exported="true" kind="lib" path="/_ThirdPartyLibs/svnkit/sqljet-1.1.6.jar"/>
    88        <classpathentry exported="true" kind="lib" path="/_ThirdPartyLibs/svnkit/svnkit-1.7.8.jar" sourcepath="/home/ci/.m2/repository/org/tmatesoft/svnkit/svnkit/1.7.8/svnkit-1.7.8-sources.jar"/>
     9        <classpathentry combineaccessrules="false" kind="src" path="/ProxySettings"/>
    910        <classpathentry kind="output" path="bin"/>
    1011</classpath>
  • java/SVNAccess/src/net/oni2/svnaccess/SVN.java

    r764 r852  
    55import java.io.File;
    66import java.util.Vector;
     7
     8import net.oni2.ProxySettings;
    79
    810import org.tmatesoft.svn.core.SVNDepth;
     
    1012import org.tmatesoft.svn.core.SVNException;
    1113import org.tmatesoft.svn.core.SVNURL;
     14import org.tmatesoft.svn.core.auth.BasicAuthenticationManager;
     15import org.tmatesoft.svn.core.auth.SVNAuthentication;
    1216import org.tmatesoft.svn.core.internal.io.dav.DAVRepositoryFactory;
    1317import org.tmatesoft.svn.core.internal.io.fs.FSRepositoryFactory;
     
    3034        SVNClientManager svnCManager = null;
    3135
    32         /**
    33          * Constructor
    34          */
    35         public SVN() {
     36        private void setup() {
    3637                // For using over http:// and https://
    3738                DAVRepositoryFactory.setup();
     
    4041                // For using over file:///
    4142                FSRepositoryFactory.setup();
    42 
    43                 svnCManager = SVNClientManager.newInstance(SVNWCUtil
    44                                 .createDefaultOptions(true));
     43        }
     44
     45        private void setProxy(BasicAuthenticationManager authMan) {
     46                ProxySettings prox = ProxySettings.getInstance();
     47                if (prox.validate()) {
     48                        authMan.setProxy(prox.getHostOrIp(), prox.getPort(), null, null);
     49                }
     50        }
     51
     52        private BasicAuthenticationManager getAuthManager() {
     53                BasicAuthenticationManager auth = new BasicAuthenticationManager(
     54                                new SVNAuthentication[0]);
     55                setProxy(auth);
     56                return auth;
     57        }
     58
     59        private BasicAuthenticationManager getAuthManager(String username,
     60                        String password) {
     61                BasicAuthenticationManager auth = new BasicAuthenticationManager(
     62                                username, password);
     63                setProxy(auth);
     64                return auth;
     65        }
     66
     67        /**
     68         * Constructor
     69         */
     70        public SVN() {
     71                setup();
     72
     73                svnCManager = SVNClientManager.newInstance(
     74                                SVNWCUtil.createDefaultOptions(true), getAuthManager());
    4575        }
    4676
     
    5484         */
    5585        public SVN(String username, String password) {
    56                 // For using over http:// and https://
    57                 DAVRepositoryFactory.setup();
    58                 // For using over svn:// and svn+xxx://
    59                 SVNRepositoryFactoryImpl.setup();
    60                 // For using over file:///
    61                 FSRepositoryFactory.setup();
     86                setup();
    6287
    6388                svnCManager = SVNClientManager.newInstance(
    64                                 SVNWCUtil.createDefaultOptions(true), username, password);
     89                                SVNWCUtil.createDefaultOptions(true),
     90                                getAuthManager(username, password));
    6591        }
    6692
  • java/installer2/.classpath

    r850 r852  
    2828        <classpathentry combineaccessrules="false" kind="src" path="/SwingComponents"/>
    2929        <classpathentry combineaccessrules="false" kind="src" path="/NaturalOrderComparator"/>
     30        <classpathentry combineaccessrules="false" kind="src" path="/ProxySettings"/>
    3031        <classpathentry kind="output" path="bin"/>
    3132</classpath>
  • java/installer2/src/net/oni2/aeinstaller/AEInstaller2.java

    r849 r852  
    2121import javax.swing.UIManager.LookAndFeelInfo;
    2222
     23import net.oni2.ProxySettings;
    2324import net.oni2.SettingsManager;
    2425import net.oni2.aeinstaller.backend.CaseInsensitiveFile;
    2526import net.oni2.aeinstaller.backend.Paths;
     27import net.oni2.aeinstaller.backend.RuntimeOptions;
    2628import net.oni2.aeinstaller.backend.SizeFormatter;
    2729import net.oni2.aeinstaller.backend.oni.OniSplit;
     
    4749public class AEInstaller2 {
    4850
    49         private static ResourceBundle imagesBundle;
    50         private static ResourceBundle basicBundle;
     51        private static ResourceBundle imagesBundle = ResourceBundle
     52                        .getBundle("net.oni2.aeinstaller.Images");
     53        private static ResourceBundle basicBundle = ResourceBundle
     54                        .getBundle("net.oni2.aeinstaller.AEInstaller");
    5155        private static ResourceBundle globalBundle;
    5256
     
    8286                        }
    8387                }
    84                 imagesBundle = ResourceBundle.getBundle("net.oni2.aeinstaller.Images");
    85                 basicBundle = ResourceBundle
    86                                 .getBundle("net.oni2.aeinstaller.AEInstaller");
    8788                globalBundle = UTF8ResourceBundleLoader
    8889                                .getBundle("net.oni2.aeinstaller.localization.Global");
     
    116117                Paths.getDownloadPath().mkdirs();
    117118
    118                 boolean debug = false;
    119                 boolean useWd = false;
    120                 boolean noCacheUpdate = false;
    121                 boolean offline = false;
    122119                for (String a : args) {
    123120                        if (a.equalsIgnoreCase("-debug"))
    124                                 debug = true;
     121                                RuntimeOptions.setDebug(true);
    125122                        if (a.equalsIgnoreCase("-nocacheupdate"))
    126                                 noCacheUpdate = true;
     123                                RuntimeOptions.setNoCacheUpdateMode(true);
    127124                        if (a.equalsIgnoreCase("-offline"))
    128                                 offline = true;
     125                                RuntimeOptions.setOfflineMode(true);
    129126                        if (a.equalsIgnoreCase("-usewd"))
    130                                 useWd = true;
    131                 }
    132                 if (!debug) {
     127                                RuntimeOptions.setUseWorkingDir(true);
     128                }
     129                if (!RuntimeOptions.isDebug()) {
    133130                        try {
    134131                                PrintStream ps = new PrintStream(new File(Paths.getPrefsPath(),
     
    141138                }
    142139
    143                 SettingsManager.setDebug(debug);
    144                 SettingsManager.deserializeFromFile(Paths.getSettingsFilename());
    145                 SettingsManager.setDebug(debug);
    146                 SettingsManager.setUseWorkingDir(useWd);
    147                 SettingsManager.getInstance().setNoCacheUpdateMode(noCacheUpdate);
    148 
    149                 initBundles();
    150 
    151140                if (PlatformInformation.getPlatform() == Platform.MACOS)
    152141                        initMacOS();
     142
     143                SettingsManager.deserializeFromFile(Paths.getSettingsFilename());
     144               
     145                if (Paths.getProxySettingsFilename().exists()) {
     146                        ProxySettings.deserializeFromFile(Paths.getProxySettingsFilename());
     147                }
     148
     149                initBundles();
    153150
    154151                SwingJavaBuilder.getConfig().addResourceBundle(imagesBundle);
     
    242239                                        globalBundle.getString("invalidPath.title"),
    243240                                        JOptionPane.ERROR_MESSAGE);
    244                         if (!SettingsManager.isDebug()) {
     241                        if (!RuntimeOptions.isDebug()) {
    245242                                return;
    246243                        }
    247244                }
    248245
    249                 if (!offline) {
    250                         offline = !DepotManager.getInstance().checkConnection();
    251                 }
    252                 if (offline) {
     246                if (!RuntimeOptions.isOfflineMode()) {
     247                        RuntimeOptions.setOfflineMode(!DepotManager.getInstance()
     248                                        .checkConnection());
     249                }
     250                if (RuntimeOptions.isOfflineMode()) {
    253251                        JOptionPane.showMessageDialog(null,
    254252                                        globalBundle.getString("offlineModeStartup.text"),
     
    256254                                        JOptionPane.INFORMATION_MESSAGE);
    257255                }
    258                 SettingsManager.getInstance().setOfflineMode(offline);
    259 
    260                 if (!offline) {
     256
     257                if (!RuntimeOptions.isOfflineMode()) {
    261258                        SVN svn = new SVN();
    262259                        try {
  • java/installer2/src/net/oni2/aeinstaller/backend/Paths.java

    r779 r852  
    44import java.io.UnsupportedEncodingException;
    55import java.net.URLDecoder;
    6 
    7 import net.oni2.SettingsManager;
    86
    97/**
     
    2725
    2826        /**
     27         * @return Proxy settings filename of AEI
     28         */
     29        public static File getProxySettingsFilename() {
     30                return new File(getPrefsPath(), "AEI-ProxySettings.xml");
     31        }
     32
     33        /**
    2934         * Get the Jar path
    3035         *
     
    3237         */
    3338        public static File getInstallerPath() {
    34                 if (SettingsManager.isDebug() || SettingsManager.getUseWorkingDir()) {
     39                if (RuntimeOptions.isDebug() || RuntimeOptions.getUseWorkingDir()) {
    3540                        String wd = System.getProperty("user.dir");
    3641                        return new File(wd);
  • java/installer2/src/net/oni2/aeinstaller/gui/MainWin.java

    r840 r852  
    5050import net.oni2.aeinstaller.backend.ImageResizer;
    5151import net.oni2.aeinstaller.backend.Paths;
     52import net.oni2.aeinstaller.backend.RuntimeOptions;
    5253import net.oni2.aeinstaller.backend.SizeFormatter;
    5354import net.oni2.aeinstaller.backend.oni.OniLauncher;
     
    217218                DepotManager.loadFromCacheFile(Paths.getDepotCacheFilename());
    218219
    219                 if (!SettingsManager.getInstance().isOfflineMode()
    220                                 && !SettingsManager.getInstance().isNoCacheUpdateMode()) {
     220                if (!RuntimeOptions.isOfflineMode()
     221                                && !RuntimeOptions.isNoCacheUpdateMode()) {
    221222                        long start = new Date().getTime();
    222223
     
    240241                if ((evtSource != this)
    241242                                || SettingsManager.getInstance().get("notifyupdates", true)) {
    242                         if (SettingsManager.getInstance().isOfflineMode()) {
     243                        if (RuntimeOptions.isOfflineMode()) {
    243244                                if (evtSource != this) {
    244245                                        JOptionPane.showMessageDialog(
     
    584585        @SuppressWarnings("unused")
    585586        private void checkCorePackages() {
    586                 if (!SettingsManager.getInstance().isOfflineMode()) {
     587                if (!RuntimeOptions.isOfflineMode()) {
    587588                        TreeSet<Package> tools = new TreeSet<Package>();
    588589                        for (Package m : PackageManager.getInstance().getCoreTools()) {
     
    649650                        }
    650651
    651                         if (toDownload.size() > 0
    652                                         && SettingsManager.getInstance().isOfflineMode()) {
     652                        if (toDownload.size() > 0 && RuntimeOptions.isOfflineMode()) {
    653653                                installState = EInstallState.OFFLINE;
    654654                                break;
  • java/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.java

    r840 r852  
    1414import javax.swing.UIManager;
    1515
     16import net.oni2.ProxySettings;
    1617import net.oni2.SettingsManager;
     18import net.oni2.aeinstaller.backend.Paths;
    1719import net.oni2.resourcebundle.UTF8ResourceBundleLoader;
    1820
     
    100102                                        JOptionPane.INFORMATION_MESSAGE);
    101103                }
     104               
     105                ProxySettings prox = ProxySettings.getInstance();
     106                prox.serializeToFile(Paths.getProxySettingsFilename());
    102107
    103108                return true;
  • java/installer2/src/net/oni2/aeinstaller/gui/toolmanager/ToolManager.java

    r840 r852  
    1818
    1919import net.oni2.SettingsManager;
     20import net.oni2.aeinstaller.backend.RuntimeOptions;
    2021import net.oni2.aeinstaller.backend.oni.management.tools.ToolsManager;
    2122import net.oni2.aeinstaller.backend.packages.Package;
     
    103104                        } else {
    104105                                if (!selectedPackage.isLocalAvailable()) {
    105                                         if (SettingsManager.getInstance().isOfflineMode()) {
     106                                        if (RuntimeOptions.isOfflineMode()) {
    106107                                                JOptionPane.showMessageDialog(this,
    107108                                                                bundle.getString("offlineMode.text"),
Note: See TracChangeset for help on using the changeset viewer.