Ignore:
Timestamp:
09/10/13 21:11:41 (11 years ago)
Author:
psniegowski
Message:

HIGHLIGHTS:

  • import refactorization: move Tree, Path, etc.

from core to structure package

  • initial serialization implementation
  • improve PrimeExperiment? test
  • many organizational changes and convenience improvements

CHANGELOG:
Make registry in AbstractTree? final.

Move most classes from core to structure package.

Minor changes.

Switch names of Future and FutureHandler?.

Rename ExceptionResultHandler? to ExceptionHandler?.

Rename ExceptionHandler? to ExceptionDispatcherHandler?.

Fix bug in ParamCandidate? cache.

Add missing synchronization to the BufferedDispatcher?.

Develop @Serialized support.

Rework serialization further.

Add serialization/deserialization interface to ValueParam?.

Move getStorageType and isNumeric from Param down to params hierarchy.

Minor changes.

Improve param type induction.

Add TestSerializedClass? for testing new serialization.

Add info files gor GenePool? and Population.

Add standard.expt exemplary netfile.

Add type name field to PropertiesObject?.

Use PropertiesObject? for PropertiesAccess? instead of ordinary map.

Hide getFramsClass is several more places.

More unification accross FramsClass?, Access and Path.

Add ParamCollection?.

Simplify interface for getting params from FramsClass?, Access
or Path.

Make Access.call() interface variadic.

Add arguments(args) convenience wrapper around new Object[] {args}.

Upgrade to apache.commons.lang version 3.1

Minor improvement with Response constructors.

Develop proper result printing in ClientAtServer?.

Add experimentNetsave to PrimeExperiment?.

Location:
java/main/src/main/java/com/framsticks/util/dispatching
Files:
1 added
2 deleted
11 edited

Legend:

Unmodified
Added
Removed
  • java/main/src/main/java/com/framsticks/util/dispatching/BufferedDispatcher.java

    r102 r105  
    9292
    9393        public void createThreadIfNeeded() {
    94                 if (targetDispatcher != null) {
    95                         return;
     94                synchronized (this) {
     95                        if (targetDispatcher != null) {
     96                                return;
     97                        }
    9698                }
    9799                this.setTargetDispatcher(new Thread<C>().setName(parent.getName()));
     
    104106
    105107        @Override
    106         protected void joinableStart() {
     108        protected synchronized void joinableStart() {
    107109                Dispatching.use(targetDispatcher, this);
    108110        }
    109111
    110112        @Override
    111         protected void joinableInterrupt() {
     113        protected synchronized void joinableInterrupt() {
    112114                Dispatching.drop(targetDispatcher, this);
    113115
     
    121123
    122124        @Override
    123         protected void joinableJoin() throws InterruptedException {
     125        protected synchronized void joinableJoin() throws InterruptedException {
    124126                Dispatching.join(targetDispatcher);
    125127        }
  • java/main/src/main/java/com/framsticks/util/dispatching/Dispatching.java

    r102 r105  
    77import org.apache.logging.log4j.LogManager;
    88
     9import com.framsticks.util.ExceptionHandler;
    910import com.framsticks.util.FramsticksException;
    1011import com.framsticks.util.Misc;
     
    141142        }
    142143
    143         public interface Query<T> extends ExceptionResultHandler {
     144        public interface Query<T> extends ExceptionHandler {
    144145                T get();
    145146        }
    146147
    147148        public static abstract class QueryHandler<T> implements Query<T> {
    148                 ExceptionResultHandler handler;
     149                ExceptionHandler handler;
    149150
    150151                /**
    151152                 * @param handler
    152153                 */
    153                 public QueryHandler(ExceptionResultHandler handler) {
     154                public QueryHandler(ExceptionHandler handler) {
    154155                        this.handler = handler;
    155156                }
     
    244245
    245246                protected final double timeOut;
    246                 protected final ExceptionResultHandler handler;
     247                protected final ExceptionHandler handler;
    247248
    248249                /**
    249250                 * @param timeOut
    250251                 */
    251                 public Waiter(double timeOut, ExceptionResultHandler handler) {
     252                public Waiter(double timeOut, ExceptionHandler handler) {
    252253                        this.timeOut = timeOut;
    253254                        this.handler = handler;
     
    273274                }
    274275
    275                 public <T> Future<T> passInFuture(Class<T> type) {
    276                         return new FutureHandler<T>(handler) {
     276                public <T> FutureHandler<T> passInFuture(Class<T> type) {
     277                        return new Future<T>(handler) {
    277278                                @Override
    278279                                protected void result(T result) {
  • java/main/src/main/java/com/framsticks/util/dispatching/DispatchingExceptionHandler.java

    r100 r105  
    11package com.framsticks.util.dispatching;
    22
     3import com.framsticks.util.ExceptionHandler;
    34import com.framsticks.util.FramsticksException;
    45
    5 public class DispatchingExceptionHandler implements ExceptionResultHandler {
     6public class DispatchingExceptionHandler implements ExceptionHandler {
    67
    78        protected final Dispatcher<?> dispatcher;
    8         protected final ExceptionResultHandler handler;
     9        protected final ExceptionHandler handler;
    910
    1011        /**
     
    1213         * @param handler
    1314         */
    14         public DispatchingExceptionHandler(Dispatcher<?> dispatcher, ExceptionResultHandler handler) {
     15        public DispatchingExceptionHandler(Dispatcher<?> dispatcher, ExceptionHandler handler) {
    1516                this.dispatcher = dispatcher;
    1617                this.handler = handler;
  • java/main/src/main/java/com/framsticks/util/dispatching/DispatchingFuture.java

    r100 r105  
    33import com.framsticks.util.FramsticksException;
    44
    5 public class DispatchingFuture<C, T> extends Future<T> {
     5public class DispatchingFuture<C, T> extends FutureHandler<T> {
    66
    77        protected final Dispatcher<? super C> dispatcher;
    8         protected final Future<T> future;
     8        protected final FutureHandler<T> future;
    99
    1010        /**
     
    1212         * @param future
    1313         */
    14         public DispatchingFuture(Dispatcher<? super C> dispatcher, Future<T> future) {
     14        public DispatchingFuture(Dispatcher<? super C> dispatcher, FutureHandler<T> future) {
    1515                this.dispatcher = dispatcher;
    1616                this.future = future;
     
    3737        }
    3838
    39         public static <Ca, Ta> Future<Ta> create(Dispatcher<Ca> dispatcher, Future<Ta> future) {
     39        public static <Ca, Ta> FutureHandler<Ta> create(Dispatcher<Ca> dispatcher, FutureHandler<Ta> future) {
    4040                return new DispatchingFuture<Ca, Ta>(dispatcher, future);
    4141        }
  • java/main/src/main/java/com/framsticks/util/dispatching/Future.java

    r97 r105  
    11package com.framsticks.util.dispatching;
    22
     3import com.framsticks.util.ExceptionHandler;
    34import com.framsticks.util.FramsticksException;
    45
    5 /**
    6  * @author Piotr Sniegowski
    7  */
    8 public abstract class Future<T> implements ExceptionResultHandler {
     6public abstract class Future<T> extends FutureHandler<T> {
    97
    10         protected abstract void result(T result);
     8        protected final ExceptionHandler handler;
    119
    12         public final void pass(T result) {
    13                 try {
    14                         result(result);
    15                 } catch (FramsticksException e) {
    16                         handle(e);
    17                 }
     10        public Future(ExceptionHandler handler) {
     11                assert handler != null;
     12                this.handler = handler;
    1813        }
    1914
     15        @Override
     16        public final void handle(FramsticksException exception) {
     17                handler.handle(exception);
     18        }
     19
     20        public static <T> Future<T> doNothing(Class<T> type, ExceptionHandler handler) {
     21                return new Future<T>(handler) {
     22
     23                        @Override
     24                        protected void result(T result) {
     25
     26                        }
     27                };
     28        }
    2029
    2130}
  • java/main/src/main/java/com/framsticks/util/dispatching/FutureHandler.java

    r99 r105  
    11package com.framsticks.util.dispatching;
    22
     3import com.framsticks.util.ExceptionHandler;
    34import com.framsticks.util.FramsticksException;
    45
    5 public abstract class FutureHandler<T> extends Future<T> {
     6/**
     7 * @author Piotr Sniegowski
     8 */
     9public abstract class FutureHandler<T> implements ExceptionHandler {
    610
    7         protected final ExceptionResultHandler handler;
     11        protected abstract void result(T result);
    812
    9         public FutureHandler(ExceptionResultHandler handler) {
    10                 assert handler != null;
    11                 this.handler = handler;
     13        public final void pass(T result) {
     14                try {
     15                        result(result);
     16                } catch (FramsticksException e) {
     17                        handle(e);
     18                }
    1219        }
    13 
    14         @Override
    15         public final void handle(FramsticksException exception) {
    16                 handler.handle(exception);
    17         }
    18 
    19         public static <T> FutureHandler<T> doNothing(Class<T> type, ExceptionResultHandler handler) {
    20                 return new FutureHandler<T>(handler) {
    21 
    22                         @Override
    23                         protected void result(T result) {
    24 
    25                         }
    26                 };
    27         }
    28 
    2920}
  • java/main/src/main/java/com/framsticks/util/dispatching/IgnoreExceptionHandler.java

    r99 r105  
    11package com.framsticks.util.dispatching;
    22
     3import com.framsticks.util.ExceptionHandler;
    34import com.framsticks.util.FramsticksException;
    45
    5 public class IgnoreExceptionHandler implements ExceptionResultHandler {
     6public class IgnoreExceptionHandler implements ExceptionHandler {
    67
    78        private static final IgnoreExceptionHandler instance = new IgnoreExceptionHandler();
  • java/main/src/main/java/com/framsticks/util/dispatching/Monitor.java

    r102 r105  
    104104        }
    105105
    106         protected ExceptionHandler taskExceptionHandler;
     106        protected ExceptionDispatcherHandler taskExceptionHandler;
    107107
    108108        /**
    109109         * @return the taskExceptionHandler
    110110         */
    111         public ExceptionHandler getTaskExceptionHandler() {
     111        public ExceptionDispatcherHandler getTaskExceptionHandler() {
    112112                return taskExceptionHandler;
    113113        }
     
    116116         * @param taskExceptionHandler the taskExceptionHandler to set
    117117         */
    118         public void setTaskExceptionHandler(ExceptionHandler taskExceptionHandler) {
     118        public void setTaskExceptionHandler(ExceptionDispatcherHandler taskExceptionHandler) {
    119119                this.taskExceptionHandler = taskExceptionHandler;
    120120        }
  • java/main/src/main/java/com/framsticks/util/dispatching/RunAt.java

    r97 r105  
    11package com.framsticks.util.dispatching;
    22
     3import com.framsticks.util.ExceptionHandler;
    34import com.framsticks.util.FramsticksException;
    45
    5 public abstract class RunAt<C> implements ExceptionResultHandler, Runnable {
     6public abstract class RunAt<C> implements ExceptionHandler, Runnable {
    67
    7         protected final ExceptionResultHandler handler;
     8        protected final ExceptionHandler handler;
    89
    9         public RunAt(ExceptionResultHandler handler) {
     10        public RunAt(ExceptionHandler handler) {
    1011                assert handler != null;
    1112                this.handler = handler;
  • java/main/src/main/java/com/framsticks/util/dispatching/Thread.java

    r102 r105  
    4646                log.debug("starting thread {}", this);
    4747                assert getMonitor() != null;
    48                 ExceptionHandler exceptionHandler = getMonitor().getTaskExceptionHandler();
    4948                while (!java.lang.Thread.interrupted()) {
    5049                        RunAt<? extends C> runnable;
     
    6463                                        runnable.run();
    6564                                } catch (Exception e) {
     65                                        final ExceptionDispatcherHandler exceptionHandler = getMonitor().getTaskExceptionHandler();
    6666                                        if (exceptionHandler != null) {
    6767                                                if (exceptionHandler.handle(this, e)) {
     
    122122        // @Override
    123123        // public String toString() {
    124         //      return getName();
     124        //      return getName();
    125125        // }
    126126
  • java/main/src/main/java/com/framsticks/util/dispatching/ThrowExceptionHandler.java

    r97 r105  
    11package com.framsticks.util.dispatching;
    22
     3import com.framsticks.util.ExceptionHandler;
    34import com.framsticks.util.FramsticksException;
    45
    5 public class ThrowExceptionHandler implements ExceptionResultHandler {
     6public class ThrowExceptionHandler implements ExceptionHandler {
    67
    78        private static final ThrowExceptionHandler instance = new ThrowExceptionHandler();
Note: See TracChangeset for help on using the changeset viewer.