Ignore:
Timestamp:
06/24/13 13:38:40 (11 years ago)
Author:
psniegowski
Message:

HIGHLIGHTS:

  • upgrade to Java 7
    • use try-multi-catch clauses
    • use try-with-resources were appropriate
  • configure FindBugs? (use mvn site and then navigate in browser to the report)
    • remove most bugs found
  • parametrize Dispatching environment (Dispatcher, RunAt?) to enforce more control on the place of closures actual call

CHANGELOG:
Rework FavouritesXMLFactory.

FindBugs?. Thread start.

FindBugs?. Minor change.

FindBugs?. Iterate over entrySet.

FindBugs?. Various.

FindBug?.

FindBug?. Encoding.

FindBug?. Final fields.

FindBug?.

Remove synchronization bug in ClientConnection?.

Experiments with findbugs.

Finish parametrization.

Make RunAt? an abstract class.

More changes in parametrization.

More changes in parametrizing dispatching.

Several changes to parametrize tasks.

Rename Runnable to RunAt?.

Add specific framsticks Runnable.

Add JSR305 (annotations).

Add findbugs reporting.

More improvements to ParamBuilder? wording.

Make FramsClass? accept also ParamBuilder?.

Change wording of ParamBuilder?.

Change wording of Request creation.

Use Java 7 exception catch syntax.

Add ScopeEnd? class.

Upgrade to Java 7.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • java/main/src/main/java/com/framsticks/communication/Connection.java

    r84 r85  
    11package com.framsticks.communication;
    22
     3import com.framsticks.util.io.Encoding;
    34import com.framsticks.util.lang.Pair;
    45import org.apache.log4j.Logger;
     
    67import java.io.IOException;
    78import java.io.InputStreamReader;
     9import java.io.OutputStreamWriter;
    810import java.io.PrintWriter;
    9 import java.lang.Thread;
    1011import java.net.Socket;
    1112import java.net.SocketTimeoutException;
    1213import java.util.regex.Matcher;
    1314import java.util.regex.Pattern;
     15
     16import com.framsticks.util.dispatching.RunAt;
     17import com.framsticks.util.dispatching.Thread;
    1418
    1519public abstract class Connection {
     
    2832        protected int protocolVersion = -1;
    2933
    30         protected final com.framsticks.util.dispatching.Thread senderThread = new com.framsticks.util.dispatching.Thread();
    31         protected Thread receiverThread;
     34        protected final Thread<Connection> senderThread = new Thread<>();
     35        protected final Thread<Connection> receiverThread = new Thread<>();
    3236
    3337        public boolean isConnected() {
     
    4246                        senderThread.interrupt();
    4347                        senderThread.join();
    44                         if (receiverThread != null) {
    45                                 receiverThread.interrupt();
    46                                 receiverThread.join();
    47                                 receiverThread = null;
    48                         }
     48
     49                        receiverThread.interrupt();
     50                        receiverThread.join();
    4951
    5052                        if (output != null) {
     
    7274
    7375        protected static final String ARGUMENT_PATTERN_FRAGMENT = "((?:\\S+)|(?:\"[^\"]*\"))";
    74         protected static Pattern requestIdEnabledPattern = Pattern.compile("^\\s*([0-9]+)(?:\\s+" + ARGUMENT_PATTERN_FRAGMENT + ")?\\n$");
    75         protected static Pattern requestIDisabledPattern = Pattern.compile("^\\s*" + ARGUMENT_PATTERN_FRAGMENT + "?\\n$");
    76         protected static Pattern eventPattern = Pattern.compile("^\\s*(\\S+)\\s*(\\S+)\\n");
     76        protected static final Pattern requestIdEnabledPattern = Pattern.compile("^\\s*([0-9]+)(?:\\s+" + ARGUMENT_PATTERN_FRAGMENT + ")?\\n$");
     77        protected static final Pattern requestIDisabledPattern = Pattern.compile("^\\s*" + ARGUMENT_PATTERN_FRAGMENT + "?\\n$");
     78        protected static final Pattern eventPattern = Pattern.compile("^\\s*(\\S+)\\s*(\\S+)\\n");
    7779
    7880
     
    126128        protected void runThreads() {
    127129                try {
    128                         output = new PrintWriter(socket.getOutputStream(), true);
    129                         input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
     130                        output = new PrintWriter(new OutputStreamWriter(socket.getOutputStream(), Encoding.getFramsticksCharset()), true);
     131                        input = new BufferedReader(new InputStreamReader(socket.getInputStream(), Encoding.getFramsticksCharset()));
    130132                } catch (IOException e) {
    131133                        log.error("buffer creation failure");
     
    135137
    136138                senderThread.setName(this + "-sender");
    137                 receiverThread = new Thread(new Runnable() {
     139                receiverThread.setName(this + "-receiver");
     140
     141                senderThread.start();
     142                receiverThread.start();
     143
     144                receiverThread.invokeLater(new RunAt<Connection>() {
    138145                        @Override
    139146                        public void run() {
     
    148155                        }
    149156                });
    150                 receiverThread.setName(this + "-receiver");
    151157
    152                 senderThread.start();
    153                 receiverThread.start();
    154158        }
    155159
Note: See TracChangeset for help on using the changeset viewer.