Ignore:
Timestamp:
07/18/13 23:52:25 (11 years ago)
Author:
psniegowski
Message:

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

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?.

File:
1 edited

Legend:

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

    r102 r103  
    8080                setDescription("client connection");
    8181                protocolVersion = -1;
     82                requestedFeatures.add("request_id");
     83                requestedFeatures.add("call_empty_result");
     84                requestedFeatures.add("needfile_id");
    8285        }
    8386
     
    192195        }
    193196
     197        private void sendNextUseRequest(final Iterator<String> featuresIterator, final Future<Void> future) {
     198                if (!featuresIterator.hasNext()) {
     199                        future.pass(null);
     200                        return;
     201                }
     202                final String feature = featuresIterator.next();
     203
     204                send(new UseRequest().feature(feature), new ClientSideResponseFuture(future) {
     205
     206                        @Override
     207                        protected void processOk(Response response) {
     208                                if (feature.equals("request_id")) {
     209                                        requestIdEnabled = true;
     210                                }
     211                                sendNextUseRequest(featuresIterator, future);
     212                        }
     213                });
     214        }
     215
    194216        private void sendQueryVersion(final int version, final Future<Void> future) {
    195217                send(new VersionRequest().version(version), new ClientSideResponseFuture(future) {
     
    202224                                        return;
    203225                                }
    204                                 send(new UseRequest().feature("request_id"), new ClientSideResponseFuture(future) {
    205 
    206                                         @Override
    207                                         protected void processOk(Response response) {
    208                                                 requestIdEnabled = true;
    209                                                 future.pass(null);
    210                                         }
    211                                 });
     226                                sendNextUseRequest(requestedFeatures.iterator(), future);
    212227
    213228                        }
     
    323338
    324339                        protected void send(final File result) {
    325                                 log.info("sending file: " + result);
     340                                log.debug("sending file: " + result);
    326341                                needFiles.clear(id);
    327342                                sendFile(null, result, id, ClientSideManagedConnection.this);
    328 
    329343                        }
    330344
Note: See TracChangeset for help on using the changeset viewer.