Changeset f68c0952


Ignore:
Timestamp:
Jan 10, 2011 3:45:20 PM (9 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
0c5d88d
Parents:
2a85263
Message:

findbugs util (includes ticket #370)

Location:
core/java/src/net/i2p/util
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • core/java/src/net/i2p/util/EepGet.java

    r2a85263 rf68c0952  
    431431        while (_keepFetching) {
    432432            SocketTimeout timeout = null;
    433             if (_fetchHeaderTimeout > 0)
     433            if (_fetchHeaderTimeout > 0) {
    434434                timeout = new SocketTimeout(_fetchHeaderTimeout);
    435             final SocketTimeout stimeout = timeout; // ugly - why not use sotimeout?
    436             timeout.setTimeoutCommand(new Runnable() {
    437                 public void run() {
    438                     if (_log.shouldLog(Log.DEBUG))
    439                         _log.debug("timeout reached on " + _url + ": " + stimeout);
    440                     _aborted = true;
    441                 }
    442             });
    443             timeout.setTotalTimeoutPeriod(_fetchEndTime);
     435                final SocketTimeout stimeout = timeout; // ugly - why not use sotimeout?
     436                timeout.setTimeoutCommand(new Runnable() {
     437                    public void run() {
     438                        if (_log.shouldLog(Log.DEBUG))
     439                            _log.debug("timeout reached on " + _url + ": " + stimeout);
     440                        _aborted = true;
     441                    }
     442                });
     443                timeout.setTotalTimeoutPeriod(_fetchEndTime);
     444            }
    444445            try {
    445446                for (int i = 0; i < _listeners.size(); i++)
    446447                    _listeners.get(i).attempting(_url);
    447448                sendRequest(timeout);
    448                 timeout.resetTimer();
     449                if (timeout != null)
     450                    timeout.resetTimer();
    449451                doFetch(timeout);
    450                 timeout.cancel();
     452                if (timeout != null)
     453                    timeout.cancel();
    451454                if (!_transferFailed)
    452455                    return true;
    453456                break;
    454457            } catch (IOException ioe) {
    455                 timeout.cancel();
     458                if (timeout != null)
     459                    timeout.cancel();
    456460                for (int i = 0; i < _listeners.size(); i++)
    457461                    _listeners.get(i).attemptFailed(_url, _bytesTransferred, _bytesRemaining, _currentAttempt, _numRetries, ioe);
     
    493497    }
    494498
    495     /** single fetch */
     499    /**
     500     *  single fetch
     501     *  @param timeout may be null
     502     */
    496503    protected void doFetch(SocketTimeout timeout) throws IOException {
    497504        _headersRead = false;
     
    505512            throw new IOException("Timed out reading the HTTP headers");
    506513       
    507         timeout.resetTimer();
    508         if (_fetchInactivityTimeout > 0)
    509             timeout.setInactivityTimeout(_fetchInactivityTimeout);
    510         else
    511             timeout.setInactivityTimeout(INACTIVITY_TIMEOUT);
     514        if (timeout != null) {
     515            timeout.resetTimer();
     516            if (_fetchInactivityTimeout > 0)
     517                timeout.setInactivityTimeout(_fetchInactivityTimeout);
     518            else
     519                timeout.setInactivityTimeout(INACTIVITY_TIMEOUT);
     520        }
    512521       
    513522        if (_redirectLocation != null) {
     
    572581            if (read == -1)
    573582                break;
    574             timeout.resetTimer();
     583            if (timeout != null)
     584                timeout.resetTimer();
    575585            _out.write(buf, 0, read);
    576586            _bytesTransferred += read;
     
    598608                }
    599609            }
    600             timeout.resetTimer();
     610            if (timeout != null)
     611                timeout.resetTimer();
    601612            if (_bytesRemaining >= read) // else chunked?
    602613                _bytesRemaining -= read;
     
    623634            throw new IOException("Timed out reading the HTTP data");
    624635       
    625         timeout.cancel();
     636        if (timeout != null)
     637            timeout.cancel();
    626638       
    627639        if (_log.shouldLog(Log.DEBUG))
     
    868880    private static boolean isNL(byte b) { return (b == NL); }
    869881
     882    /**
     883     *  @param timeout may be null
     884     */
    870885    protected void sendRequest(SocketTimeout timeout) throws IOException {
    871886        if (_outputStream != null) {
     
    908923        _proxyOut = _proxy.getOutputStream();
    909924       
    910         timeout.setSocket(_proxy);
     925        if (timeout != null)
     926            timeout.setSocket(_proxy);
    911927       
    912928        _proxyOut.write(DataHelper.getUTF8(req));
  • core/java/src/net/i2p/util/EepPost.java

    r2a85263 rf68c0952  
    3232    }
    3333   
     34/*****
    3435    public static void main(String args[]) {
    3536        EepPost e = new EepPost();
     
    4849        //e.postFiles("http://localhost:2001/import.jsp", null, -1, fields, null);
    4950    }
     51*****/
     52
    5053    /**
    5154     * Submit an HTTP POST to the given URL (using the proxy if specified),
     
    118121                }
    119122                out.close();
    120             } catch (Exception e) {
     123            } catch (IOException e) {
    121124                e.printStackTrace();
    122125            } finally {
  • core/java/src/net/i2p/util/FileUtil.java

    r2a85263 rf68c0952  
    123123                    }
    124124                } else {
     125                    InputStream in = null;
     126                    FileOutputStream fos = null;
     127                    JarOutputStream jos = null;
    125128                    try {
    126                         InputStream in = zip.getInputStream(entry);
     129                        in = zip.getInputStream(entry);
    127130                        if (entry.getName().endsWith(".jar.pack") || entry.getName().endsWith(".war.pack")) {
    128131                            target = new File(targetDir, entry.getName().substring(0, entry.getName().length() - ".pack".length()));
    129                             JarOutputStream fos = new JarOutputStream(new FileOutputStream(target));
    130                             unpack(in, fos);
    131                             fos.close();
     132                            jos = new JarOutputStream(new FileOutputStream(target));
     133                            unpack(in, jos);
    132134                            System.err.println("INFO: File [" + entry.getName() + "] extracted and unpacked");
    133135                        } else {
    134                             FileOutputStream fos = new FileOutputStream(target);
     136                            fos = new FileOutputStream(target);
    135137                            int read = 0;
    136138                            while ( (read = in.read(buf)) != -1) {
    137139                                fos.write(buf, 0, read);
    138140                            }
    139                             fos.close();
    140141                            System.err.println("INFO: File [" + entry.getName() + "] extracted");
    141142                        }
    142                         in.close();
    143143                    } catch (IOException ioe) {
    144144                        System.err.println("ERROR: Error extracting the zip entry (" + entry.getName() + ')');
     
    152152                                           "), your JVM does not support unpack200");
    153153                        return false;
     154                    } finally {
     155                        try { if (in != null) in.close(); } catch (IOException ioe) {}
     156                        try { if (fos != null) fos.close(); } catch (IOException ioe) {}
     157                        try { if (jos != null) jos.close(); } catch (IOException ioe) {}
    154158                    }
    155159                }
     
    402406       
    403407        byte buf[] = new byte[4096];
    404         try {
    405             FileInputStream in = new FileInputStream(src);
    406             FileOutputStream out = new FileOutputStream(dst);
     408        InputStream in = null;
     409        OutputStream out = null;
     410        try {
     411            in = new FileInputStream(src);
     412            out = new FileOutputStream(dst);
    407413           
    408414            int read = 0;
     
    410416                out.write(buf, 0, read);
    411417           
    412             in.close();
    413             out.close();
    414418            return true;
    415419        } catch (IOException ioe) {
     
    417421                ioe.printStackTrace();
    418422            return false;
     423        } finally {
     424            try { if (in != null) in.close(); } catch (IOException ioe) {}
     425            try { if (out != null) out.close(); } catch (IOException ioe) {}
    419426        }
    420427    }
  • core/java/src/net/i2p/util/Log.java

    r2a85263 rf68c0952  
    206206        @Override
    207207        public boolean equals(Object obj) {
    208             if (obj == null) throw new NullPointerException("Null object scope?");
     208            if (obj == null)
     209                return false;
    209210            if (obj instanceof LogScope) {
    210211                LogScope s = (LogScope)obj;
  • core/java/src/net/i2p/util/LogManager.java

    r2a85263 rf68c0952  
    165165        if (rv == null) {
    166166            rv = new Log(this, cls, name);
    167             _logs.putIfAbsent(scope, rv);
    168             isNew = true;
     167            Log old = _logs.putIfAbsent(scope, rv);
     168            isNew = old == null;
     169            if (!isNew)
     170                rv = old;
    169171        }
    170172        if (isNew)
     
    179181
    180182    void addLog(Log log) {
    181         _logs.putIfAbsent(log.getScope(), log);
    182         updateLimit(log);
     183        Log old = _logs.putIfAbsent(log.getScope(), log);
     184        if (old == null)
     185            updateLimit(log);
    183186    }
    184187   
  • core/java/src/net/i2p/util/LogRecordFormatter.java

    r2a85263 rf68c0952  
    9393
    9494    /** don't translate */
     95/****
    9596    private static String getPriority(LogRecord rec) {
    9697        return toString(Log.toLevelString(rec.getPriority()), MAX_PRIORITY_LENGTH);
    9798    }
     99****/
    98100
     101    /** */
    99102    private static final String BUNDLE_NAME = "net.i2p.router.web.messages";
    100103
  • core/java/src/net/i2p/util/LookaheadInputStream.java

    r2a85263 rf68c0952  
    7979    public byte[] getFooter() { return _footerLookahead; }
    8080   
     81/*******
    8182    public static void main(String args[]) {
    8283        byte buf[] = new byte[32];
     
    129130        }
    130131    }
     132******/
    131133}
  • core/java/src/net/i2p/util/SSLEepGet.java

    r2a85263 rf68c0952  
    483483            throw new IOException("Timed out reading the HTTP headers");
    484484       
    485         timeout.resetTimer();
    486         if (_fetchInactivityTimeout > 0)
    487             timeout.setInactivityTimeout(_fetchInactivityTimeout);
    488         else
    489             timeout.setInactivityTimeout(60*1000);
    490        
     485        if (timeout != null) {
     486            timeout.resetTimer();
     487            if (_fetchInactivityTimeout > 0)
     488                timeout.setInactivityTimeout(_fetchInactivityTimeout);
     489            else
     490                timeout.setInactivityTimeout(60*1000);
     491        }       
     492
    491493        if (_redirectLocation != null) {
    492494            throw new IOException("Server redirect to " + _redirectLocation + " not allowed");
     
    507509            if (read == -1)
    508510                break;
    509             timeout.resetTimer();
     511            if (timeout != null)
     512                timeout.resetTimer();
    510513            _out.write(buf, 0, read);
    511514            _bytesTransferred += read;
     
    532535                }
    533536            }
    534             timeout.resetTimer();
     537            if (timeout != null)
     538                timeout.resetTimer();
    535539            if (_bytesRemaining >= read) // else chunked?
    536540                _bytesRemaining -= read;
     
    557561            throw new IOException("Timed out reading the HTTP data");
    558562       
    559         timeout.cancel();
     563        if (timeout != null)
     564            timeout.cancel();
    560565       
    561566        if (_transferFailed) {
  • core/java/src/net/i2p/util/ShellCommand.java

    r2a85263 rf68c0952  
    9090     * @author hypercubus
    9191     */
    92     private class StreamConsumer extends Thread {
     92    private static class StreamConsumer extends Thread {
    9393
    9494        private BufferedReader    bufferedReader;
     
    124124     * @author hypercubus
    125125     */
    126     private class StreamReader extends Thread {
     126    private static class StreamReader extends Thread {
    127127
    128128        private BufferedReader    bufferedReader;
     
    160160     * @author hypercubus
    161161     */
    162     private class StreamWriter extends Thread {
     162    private static class StreamWriter extends Thread {
    163163
    164164        private BufferedWriter     bufferedWriter;
     
    184184                    bufferedWriter.flush();
    185185                }
    186             } catch (Exception e) {
     186            } catch (IOException e) {
    187187                try {
    188188                    bufferedWriter.flush();
  • core/java/src/net/i2p/util/SimpleTimer.java

    r2a85263 rf68c0952  
    9191        long now = System.currentTimeMillis();
    9292        long eventTime = now + timeoutMs;
    93         Long time = new Long(eventTime);
     93        Long time = Long.valueOf(eventTime);
    9494        synchronized (_events) {
    9595            // remove the old scheduled position, then reinsert it
  • core/java/src/net/i2p/util/SimpleTimer2.java

    r2a85263 rf68c0952  
    5656    }
    5757
    58     private class CustomScheduledThreadPoolExecutor extends ScheduledThreadPoolExecutor {
     58    private static class CustomScheduledThreadPoolExecutor extends ScheduledThreadPoolExecutor {
    5959        public CustomScheduledThreadPoolExecutor(int threads, ThreadFactory factory) {
    6060             super(threads, factory);
Note: See TracChangeset for help on using the changeset viewer.