18:15 Changeset [104] by sz
introducing object de/serialization - see serialtest.cpp the core GDK classes can be now used in multiple threads (ifdef MULTITHREADED)


23:52 Changeset [103] by psniegowski
HIGHLIGHTS: * add auto loading and saving algorithms between frams files format and Java classes * respect ValueChange? events in GUI (do not reload object) * support results of procedures in Java server * make Experiment automatically convert between frams file and NetFile? object * add MessageLogger? (compatible with original frams server messages) * WorkPackageLogic? now validates results, is able to discard them, reschedule whole package, or only uncomputed remainder * show primes computed in PrimeExperiment? live in GUI CHANGELOG: Show just a short description in PrimeExperiment?. Add primes_changed event to the PrimeExperiment?. Make WorkPackageLogic? robust to frams server returning invalid results. Add MessageLogger? to logics. Add NetFile? interface. Support Messages from server. Minor changes to connections. Merge results in the PrimeExperiment?. More netload class->file conversion to Simulator. Move netsave parsing to Simulator. Fix bug with inverted ordering of events firing in Experiment. Minor changes. Minor logging changes. Use AccessOperations?.convert in NetLoadSaveLogic? NetLoadSaveLogic? now encloses the conversion. Use more generic AccessOperations? saveAll and loadAll in PrimePackage?. Add Result class for enclosing of call invocations' results. Improve feature request handling in Connections. Use AccessOperations?.convert in RemoteTree? events parsing. Minor change. Add some information params to Java server root and CLI objects. A draft implementation of loadAll algorithm. That algorithm tries to load objects into a tree structure. Add AccessOperationsTest? test. Develop WorkPackageLogic?. * add state tracking fields * add work package generation Add utility class SimplePrimitive?. Meant for Java backend classes, enclose a single primitive value and set of listeners. Improve primitive value refresh in GUI. When ValueChange? found in called event, do not reload whole object, but only update GUI (no communication is performed). Use ValueChange? in the TestClass? test. Minor changes. Sending all packages in PrimeExperiment? to the frams servers. Develop AccessOperations?.loadComposites(). Remove addAccess from MultiParamLoader? interface. There is now no default AccessProvider? in MultiParamLoader?. User must explicitely set AccessStash? or Registry. Improve saving algorithms in AccessOperations?.


23:31 Changeset [102] by psniegowski
HIGHLIGHTS: * add StackedJoinable? as a utility class to allow strict stack policy for Joinables running * add SimulatorConnector? * provide Experiment with single Simulator instance * checks loaded expdef * fix bug with sockets closure * improve task dispatching on startup (BufferedDispatcher?) * draft Experiment implementation * add NetLoadSaveLogic? * add WorkPackageLogic? * add PrimeExperiment? experiment class CHANGELOG: Add WorkPackageLogic? and classes representing prime experiment state. Add classes for PrimeExperiment? state. Extract single netload routine in Simulator. Working netload with dummy content in PrimeExperiment?. More development with NetLoadSaveLogic? and PrimeExperiment?. Improvement around prime. Improve BufferedDispatcher?.isActive logic. Add prime-all.xml configuration. Manual connecting to existing simulators from GUI. Guard in SimulatorConnector? against expdef mismatch. Guard against empty target dispatcher in BufferedDispatcher?. Make BufferedDispatcher? a Dispatcher (and Joinable). Minor improvements. Done StackedJoinable?, improve Experiment. Develop StackedJoinable?. Add StackedJoinable? utility joinables controller. Add dependency on apache-commons-lang. Add ready ListChange? on Simulators. Improve hints in ListChange?. Several improvements. Found bug with dispatching in Experiment. Minor improvements. Fix bug with early finishing Server. Many changes in Dispatching. Fix bug with connection. Do not obfuscate log with socket related exceptions. Add SocketClosedException?. Add SimulatorConnector?. Work out conception of experiment composing of logics building blocks. Rename SinkInterface? to Sink. Move saving of Accesses into AccessOperations?. Some improvements to Experiment. Improve joinables. Fix issue with joinables closing. Add direct and managed consoles to popup menu.


23:20 Changeset [101] by psniegowski
HIGHLIGHTS: * improve tree side notes * improve GUI layout * add foldable list of occured events to EventControl? * improve automatic type conversion in proxy listeners * implement several Access functionalities as algorithms independent of Access type * introduce draft base classes for distributed experiments * automatically register dependant Java classes to FramsClass? registry * add testing prime experiment and configuration * simplify and improve task dispatching CHANGELOG: Improve task dispatching in RemoteTree?. GUI no longer hangs on connection problems. Make all dispatchers joinables. Refactorize Thread dispatcher. Remove Task and PeriodicTask?. Use Java utilities in those situations. Reworking tasks dispatching. Fix bug in EventControl? listener dispatching. Minor improvements. Add testing configuration for ExternalProcess? in GUI. More improvement to prime. Support for USERREADONLY in GUI. Add that flag to various params in Java classes. Remove redundant register clauses from several FramsClassAnnotations?. Automatically gather and register dependant classes. Add configuration for prime. Improve Simulator class. Add prime.xml configuration. Introduce draft Experiment and Simulator classes. Add prime experiment tests. Enclose typical map with listeners into SimpleUniqueList?. Needfile works in GUI. Improve needfile handling in Browser. More improvement with NeedFile?. Implementing needfile. Update test. Rename ChangeEvent? to TestChangeEvent?. Automatic argument type search in RemoteTree? listeners. MultiParamLoader? uses AccessProvider?. By default old implementation enclosed in AccessStash? or Registry. Minor changes. Rename SourceInterface? to Source. Also improve toString of File and ListSource?. Remove unused SimpleSource? class. Add clearing in HistoryControl?. Show entries in table at EventControl?. Improve EventControl?. Add listeners registration to EventControl?. Add foldable table to HistoryControl?. Add control row to Procedure and Event controls. Improve layout of controls. Another minor change to gui layout. Minor improvement in the SliderControl?. Minor changes. Move ReflectionAccess?.Backend to separate file. It was to cluttered. Cleanup in ReflectionAccess?. Move setMin, setMax, setDef to AccessOperations?. Extract loading operation into AccessOperations?. Append Framsticks to name of UnsupportedOperationException?. The java.lang.UnsupportedOperationException? was shadowing this class. Rename params.Util to params.ParamsUtil?. Several improvements. * Merge ValueControlListener? into ControlOwner?. * Remove several deprecated utility classes. * Add EventListeners? utility container. Minor changes. Implement revert functionality. Improve local changes management. Minor improvement. Remove methods rendered superfluous after SideNoteKey? improvement. Improve SideNoteKey?. It is now generic type, so explicit type specification at call site is no more needed. Introduce SideNoteKey? interface. Only Objects implementing that key may be used as side note keys. Minor improvements. Use strings instead of ValueControls? in several gui mappings.


23:41 Changeset [100] by psniegowski
HIGHLIGHTS: * add <include/> to configuration * add side notes to tree * used to store arbitrary information alongside the tree structure * migrate to log4j2 * supports lazy string evaluation of passed arguments * improve GUI tree * it stays in synchronization with actual state (even in high load test scenario) * improve panel management in GUI * make loading objects in GUI more lazy * offload parsing to connection receiver thread * info parsing * first step of objects parsing * fix connection parsing bug (eof in long values) * support zero-arguments procedure in table view CHANGELOG: Implement procedure calls from table view. Refactorization around procedures in tables. Add table editor for buttons. Render buttons in the the list view. Further improve Columns. Add Column class for TableModel?. Accept also non-arguments ProcedureParams? in tableView. Increase maximal TextAreaControl? size. Add tooltip to ProcedureControl?. Fix bug of interpreting eofs in long values by connection reader. Further rework connection parsing. Simplify client connection processing. Test ListChange? modification. Test ListChange? events with java server. Add TestChild?. Fix bug with fast deregistering when connecting to running server. Another minor refactorization in TreeOperations?. Fix bug in SimpleAbstractAccess? loading routine. Another minor improvement. Minor change. Make reading of List objects two-phase. Another minor change. Dispatch parsing into receiver thread. Another step. Enclose passing value in ObjectParam? case in closure. Minor step. Minor change on way to offload parsing. Temporarily comment out single ValueParam? get. It will be generalized to multi ValueParam?. Process info in receiver thread. Add DispatchingExceptionHandler?. Make waits in browser test longer. Use FETCHED_MARK. It is honored in GUI, where it used to decide whether to get values after user action. It is set in standard algorithm for processing fetched values. Add remove operation to side notes. Make loading more lazy. Improve loading policy. On node choose load itself, on node expansion, load children. Minor improvement. Fix bug with panel interleaving. Minor improvements. Improve panel management. More cleaning around panels. Reorganize panels. Further improve tree. Fix bug in TreeModel?. Remove children from TreeNode?. Implement TreeNode? hashCode and equals. Make TreeNode? delegate equals and hashcode to internal reference. Move listeners from TreeNode? to side notes. Store path.textual as a side note. Side note params instead of accesses for objects. More refactorizations. In TreeNode? bindAccess based on side notes. Minor step. Hide createAccess. Rename AccessInterface? to Access. Minor changes. Several improvements in high load scenarios. Change semantics of ArrayListAccess?.set(index, null); It now removes the element, making list shorter (it was set to null before). Add path remove handler. Handle exceptions in Connection. Update .gitignore Configure logging to file. Move registration to TreeModel?. Further refactorization. Minor refactorization. Minor improvements. Use specialized event also for Modify action of ListChange?. Use remove events. Use the insertion events for tree. Further improve tree refreshing. Further improve reacting on events in GUI. Fix problem with not adding objects on addition list change. Migrate to log4j lazy String construction interface. Migrate imports to log4j2. Drop dependency on adapter to version 1.2. Switch log4j implementation to log4j2. Add dirty mark to the NodeAtFrame?. Make selecting in AccessInterfaces? type safe. Ignore containers size settings in Model and Genotype. Use tree side notes to remember local changes and panels. Add sideNotes to tree. They will be used to store various accompanying information right in the tree. Use ReferenceIdentityMap? from apache in TreeNode?. It suits the need perfectly (weak semantics on both key and value). Make ArrayListParam? do not react size changes. Guard in TableModel? before not yet loaded objects. Add <include/> clause and AutoInjector?. Extract common columns configuration to separate xml, that can be included by other configurations.


22:41 Changeset [99] by psniegowski
HIGHLIGTS: * complete events implementation * visible as EventListener?<Argument> from Java code * support in both RemoteTree? and LocalTree? * support at Java server side * automated argument printing and parsing * EventParams? are recognized when building FramsClass? from annotation for Java classes * add CLI in Java Framsticks server * add automatic registration for events in GUI * improve objects fetching (object are never overwritten with new instances) * properly react for ListChange? events * add ListPanel? with table view * columns to be shown may be statically specified in configuration * currently modyfying data through tables is not available * improve maven configuration * configuration file may be specified without touching pom.xml CHANGELOG: Extract constants from Flags into ParamFlags? and SetStateFlags?. Extract flags I/O to FlagsUtils? class. Configured maven to exec given resource configuration. For example: mvn exec:exec -Dframsticks.config=/configs/managed-console.xml Cleanup pom.xml Rename ObjectTree? to LocalTree? (also make LocalTree? and RemoteTree? final). Minor change. Add maximum number of columns in ListPanelProvider?. Improve ColumnsConfig? interpretation. Automatically fill FramsClass?.name if trying to construct empty. Improve identitifer case mangling in XmlLoader?. Introduce configurable ColumnsConfig?. Draft working version of ListPanel?. Table is being shown (although empty). More improvements to table building. Move some functionality from Frame to TreeModel?. Move tree classes in gui to separate package. Remove old table related classes. Add draft implementation of TableModel?. Redirect ParamBuilder?.forAccess to AccessInterface?. Optimize ParamBuilder?.forAccess() Do not clear list when loading. Do not load fetched values directly. Implement different AccessInterface? copying policy. Optimize fetching values routine. Remove Mode enum (work out get semantics). Some improvements to ListChange? handling. Improve UniqueListAccess?. Add reaction for ListChanges? in the TreeNode?. EventListeners? are being added in the TreeNode?. Listeners for ListParams? are now very naive (they download whole list). Automatially register on events in GUI. Events are working in RemoteTree? and Server. Move listeners to the ClientSideManagedConnection?. Remove old classes responsible for event subscriptions. Improve event reading. Improve events handling at server side. Add register attribute in FramsClassAnnotation? to automatically also register other classes. Registering events works. Setup for remote listeners registration. More improvements. Minor changes. Add rootTree to the ClientAtServer?. Moving CLI to the ClientAtServer?. Fix bug: use Void.TYPE instead of Void.class More development around CLI. * Improve Path resolving. Add synthetic root to ObjectTree?. It is needed to allow sybling for the original root that would containg CLI. Some work with registering events in RemoteTree?. Draft implementation of listener registering in RemoteTree?. Support events registration in the ObjectTree?. Add events support to ReflectionAccess?. EventParam? is recognized by ParamCandidate?. Prepare interface for Events across project. Add EventListener? and API for listeners in Tree.


23:04 Changeset [98] by psniegowski
HIGHLIGHTS: * use custom TreeModel? * TreeNodes? are now very thin wrappers around actual data * use WeakReferences? extensively to make TreeNodes? only shadow the real structure and not sustain it * remove global Tree listeners * use IdentityHashMap? were appropriate * add CompositeParam? interface to AccessInterface? * this interface takes into account only CompositeParams? (i.e. ValueParams? that are not PrimitiveParams?) * make UniqueLists? sort in order of uids * RemoteTrees? referred to from GUI use SwingDispatcher? * rework resolving of paths * add explicit reloading (Ctrl-R) CHANGELOG: Get data also on tree expansion. Use nice framstick icon for empty nodes. Update panel after reload if it is current. Add shallow reload procedure. Cut Gui prefix from several tree classes. Bring back counter of GuiTreeNode?. Use IdentityHashMap? were it is more appriopriate. Remove TreeListener?. Do not use TreeListener? in GUI. Minor change. Done migration to GuiTreeModel?. BrowserTest? in that version always crashes frams.linux. Move rendering implementation into GuiAbstractNode?. Use hand-crafted list in GuiTreeNode?. Generally, it would be a great place for WeakIdentityHashMap? (but there is none in Java Collection Framework). Remove superfluous logging. Fix bug in GuiTreeNode?. Use IdentityHashMap? instead of HashMap?. Improve structure update. Filter out invalid uids in UniqueListAccess?. Improve TreeCellRenderer?. Add filtering in TrackConsole?. Improve TreeModel?. More changes. More improvements. More changes. Remove TreeNode?. Support MetaNode? in the GuiTreeModel?. Implement more in GuiTreeModel?. Add CompositeParam? interface to FramsClass? and AccessInterface?. Allow access by number to UniqueList?. Add UidComparator?. Use TreeMap? as a default accessee in unique list. It keeps order of keys. Introduce classes to use with new TreeModel?. Another step. Migrate from TreeNode? to Node in many places. Remove some uses of TreeNode? as DefaultMutableTreeNode?. Remove Path from TreeNode? interface. Remove Path from TreeNode?. Add Path recration from node feature. Reworking TreeCellRenderer?. Minor change of TreeOperations? interface. Remove last methods from TreeNode?. Another minor step. Do not store reference to TreeAtFrame? in TreeNode?. Add proxy exceptionHandler to StatusBar?. Move panels management to TreeAtFrame?. Store localChanges in the NodeAtFrame?. More cleanup. Move name computing to TreeCellRenderer?. Move tooltip and icon computations to TreeCellRenderer?. More dispatches removed. Remove most dispatching from TreeNode?. TreeNode? does not actually redispatch tasks. Make Tree embedded in Browser use SwingDispatcher?. Make lazy binding of Tree with Dispatcher. Minor changes. Organizational change in AbstractTree?. Make AbstractTree? compose from Thread instead of inherit from it. Make SwingDispatcher? and AtOnceDispatcher? Joinable compatible. Add ListPanelProvider?. Improve Controls readonly and enabled handling. Properly pass ExceptionHandlers? in more places. Make Tree.get accept ValueParam?. * This is to allow access number of list elements. Remove not needed get redirection in ClientAtServer?. Rename tryResolve to tryGet. Unify tryResolveAndGet into tryResolve. Remove resolveTop from Tree interface. Make Tree.get accept Future<Path>. Use get to implement resolveTop also in ObjectTree?. Unify resolveTop and get in RemoteTree?. Another minor step. More minor changes in tree operations. Minor organizational changes. In RemoteTree? first fetch info for root. Reworking resolving. Minor changes. Make ListAccess? return proxy iterators (instead of creating temporary collection). Let AccessInterface? return Iterable<Param>. Improve resolving. More improvements. First working completion in ManagedConsole?. Rename resolve to resolveTop. This reflects the actuall functionality. Change semantic of tryResolve and tryResolveAndGet.


03:51 Changeset [97] by psniegowski
HIGHLIGHTS: * add proper exception passing between communication sides: if exception occur during handling client request, it is automatically passed as comment to error response. * unify various functors into Future<T> * add FutureHandler?<T> using passed ExceptionHandler? * organize Connections functionalities in more granular way * add TrackConsole? it may be used to snoop communication between peers * fix algorithm choosing text controls in GUI * allow GUI testing in virtual frame buffer (xvfb) FEST had some problem with xvfb but workaround was found * add StatusBar? to show handled exceptions * add DirectConsole? to communicate with server by hand supports tab-completion based on requests history CHANGELOG: Further improve handling of exceptions in GUI. Add StatusBar? implementing ExceptionResultHandler?. Make completion processing asynchronous. Minor changes. Improve completion in console. Improve history in InteractiveConsole?. First working version of DirectConsole?. Minor changes. Make Connection.address non final. It is more suitable to use in configuration. Improvement of consoles. Improve PopupMenu? and closing of FrameJoinable?. Fix BrowserTest?. Found bug with FEST running under xvfb. JButtonFixture.click() is not working under xvfb. GuiTest? has wrapper which uses JButton.doClick() directly. Store CompositeParam? param in TreeNode?. Simplify ClientSideManagedConnection? connecting. There is now connectedFunctor needed, ApplicationRequests? can be send right after creation. They are buffered until the version and features are negotiated. Narow down interface of ClientSideManagedConnection?. Allow that connection specialization send only ApplicationRequests?. Improve policy of text control choosing. Change name of Genotype in BrowserTest?. Make BrowserTest? change name of Genotype. Minor change. First working draft of TrackConsole?. Simplify Consoles. More improvements with gui joinables. Unify initialization on gui joinables. More rework of Frame based entities. Refactorize structure of JFrames based entities. Extract GuiTest? from BrowserBaseTest?. Reorganize Console classes structure. Add Collection view to JoinableCollection?. Configure timeout in testing. Minor changes. Rework connections hierarchy. Add Mode to the get operation. Make get and set in Tree take PrimitiveParam?. Unify naming of operations. Make RunAt? use the given ExceptionHandler?. It wraps the virtual runAt() method call with try-catch passing exception to handler. Force RunAt? to include ExceptionHandler?. Improve ClientAtServer?. Minor change. Another sweep with FindBugs?. Rename Instance to Tree. Minor changes. Minor changes. Further clarify semantics of Futures. Add FutureHandler?. FutureHandler? is refinement of Future, that proxifies exception handling to ExceptionResultHandler? given at construction time. Remove StateFunctor? (use Future<Void> instead). Make Connection use Future<Void>. Unparametrize *ResponseFuture?. Remove StateCallback? not needed anymore. Distinguish between sides of ResponseFuture?. Base ResponseCallback? on Future (now ResponseFuture?). Make asynchronous store taking Future for flags. Implement storeValue in ObjectInstance?.
Note: See TracTimeline for information about the timeline view.