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

HIGHLIGHTS:

  • add SimultorProviders? hierarchy
  • start Framsticks server over SSH
  • FJF compatible with Framsticks 4.0rc3
  • reading and writing of standard.expt
  • a proof-of-concept implementation of StandardExperiment?

CHANGELOG:
Optionally return FreeAccess? from registry.

Add SimulatorRange?.

StandardExperiment? with genotypes circulation.

Automate registration around StandardState?.

More improvements to StandardExperiment?.

Skeleton version of StandardExperiment?.

Test saving of StandardState?.

Standard experiment state is being loaded.

More development towards StandardState? reading.

Work on reading standard experiment state.

Add classes for standard experiment.

Update example standard.expt

Add FreeAccess? and FreeObject?.

Made compatible with version 4.0rc3

Change deserialization policy.

Improve SSH support.

Working running simulator over SSH.

Fix joining bug in Experiment.

Working version of SimulatorRunner?.

Add more SimulatorProviders?.

Working PrimeExperimentTest? with 4.0rc3

Add references to deserialization.

Add OpaqueObject? and it's serialization.

Add deserialization of dictionaries.

Partial implementation of deserialization.

Add more tests for deserialization.

Prepare tests for deserialization.

Add proper result to prime experiment test.

Minor fixes to simulators providers.

Draft version of SimulatorProvider?.

Add SimulatorProvider? interface.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • java/main/src/main/java/com/framsticks/params/AccessOperations.java

    r105 r107  
    9999        public static Access loadAll(@Nullable final Access rootAccess, Source source, final Registry registry) {
    100100                final MultiParamLoader loader = new MultiParamLoader();
     101                log.trace("loading all from {} into {}", source, rootAccess);
    101102                loader.setNewSource(source);
    102103                final LinkedList<Access> accessesStack = new LinkedList<>();
     
    146147
    147148                                                        if (p instanceof ListParam) {
    148                                                                 ListAccess listAccess = Casting.assertCast(ListAccess.class, registry.prepareAccess(p));
    149                                                                 listAccess.select(a.get(p, Object.class));
     149                                                                ListAccess listAccess = Casting.assertCast(ListAccess.class, registry.prepareAccess(p, true));
     150                                                                Object list = a.get(p, Object.class);
     151                                                                if (list == null) {
     152                                                                        list = listAccess.createAccessee();
     153                                                                        a.set(p, list);
     154                                                                }
     155                                                                listAccess.select(list);
    150156                                                                parent.set(new Pair<Access, CompositeParam>(listAccess, listAccess.prepareParamFor(Integer.toString(listAccess.getParamCount()))));
    151157
     
    157163
    158164                                        if (parent.get() == null) {
     165                                                log.trace("{} cannot be placed in {}", name, a);
    159166                                                accessIterator.remove();
    160167                                        }
     
    162169
    163170                                if (parent.get() == null) {
    164                                         throw new FramsticksException().msg("failed to find place for loaded object").arg("name", name);
    165                                 }
    166 
    167                                 currentAccess.set(registry.prepareAccess(parent.get().second));
     171                                        throw new FramsticksException().msg("failed to find place for loaded object").arg("name", name); //.arg("in", accessesStack);
     172                                }
     173
     174                                currentAccess.set(registry.prepareAccess(parent.get().second, true));
    168175                                Object object = parent.get().first.get(parent.get().second, Object.class);
    169176                                if (object != null) {
     
    200207        }
    201208
    202         public static void saveAll(Access access, Sink sink, Registry registry) {
     209        public static <S extends Sink> S saveAll(Access access, S sink, Registry registry) {
    203210                if (access instanceof ObjectAccess) {
    204211                        savePrimitives(access, sink);
     
    209216                                continue;
    210217                        }
    211                         saveAll(registry.prepareAccess(p).select(child), sink, registry);
    212                 }
     218                        saveAll(registry.prepareAccess(p, true).select(child), sink, registry);
     219                }
     220                return sink;
    213221        }
    214222
     
    219227                                continue;
    220228                        }
    221                         savePrimitives(registry.prepareAccess(p).select(child), sink);
     229                        savePrimitives(registry.prepareAccess(p, true).select(child), sink);
    222230                }
    223231        }
     
    297305                                        }
    298306
    299                                         return registry.prepareAccess(result).select(objectAccess.get(result, Object.class));
     307                                        return registry.prepareAccess(result, true).select(objectAccess.get(result, Object.class));
    300308                                }
    301309                        });
     
    323331                        }
    324332                        if ((param.getFlags() & ParamFlags.DONTLOAD) == 0) {
    325                                 int retFlags = access.set((ValueParam) param, entry.value);
     333                                ValueParam valueParam = (ValueParam) param;
     334                                // Object object = valueParam.deserialize(entry.value, null,  Object.class);
     335                                int retFlags = access.set(valueParam, entry.value);
    326336                                if ((retFlags & (PSET_HITMIN | PSET_HITMAX)) != 0) {
    327337                                        String which = ((retFlags & PSET_HITMIN) != 0) ? "small" : "big";
     
    440450         */
    441451        public static <T, F> T convert(Class<T> toJavaClass, F from, Registry registry) {
     452                log.trace("converting from {} to {}", from, toJavaClass);
    442453                if (toJavaClass.equals(from.getClass())) {
    443454                        return toJavaClass.cast(from);
     
    478489
    479490                                if (avp instanceof CompositeParam) {
    480                                         assureEquality(registry.prepareAccess((CompositeParam) avp).select(oa), registry.prepareAccess((CompositeParam) bvp).select(ob), registry);
     491                                        assureEquality(registry.prepareAccess((CompositeParam) avp, false).select(oa), registry.prepareAccess((CompositeParam) bvp, false).select(ob), registry);
    481492                                        continue;
    482493                                }
Note: See TracChangeset for help on using the changeset viewer.