Ticket #11101 (closed: fixed)

Opened 6 years ago

Last modified 5 years ago

Create a FileBackedExperimentInfo class

Reported by: Ian Bush Owned by: Martyn Gigg
Priority: major Milestone: Release 3.4
Component: Framework Keywords: PatchCandidate
Cc: nick.draper@…, martyn.gigg@… Blocked By:
Blocking: #11111 Tester: Federico M Pouzols

Description (last modified by Ian Bush) (diff)

Create a class that inherits from ExperimentInfo, but lazy loads the experiment information. Otherwise should behave the same as the parent class.

Change History

comment:1 Changed 6 years ago by Ian Bush

Refs #11101 Initial commit with some of the class structure.

Changeset: b94b3f4ea6d2d229ccf4a296ad0a5b237098d27a

comment:2 Changed 6 years ago by Ian Bush

Refs #11101 Constructor wired up properly.

Changeset: 775f952fa51a69375788a3b3c71ccde377754b7e

comment:3 Changed 6 years ago by Ian Bush

Refs #11101 Added overwridden method for toString.

Changeset: f67fc4e4b3e3b488dac18153ce89a6d2e86fe00e

comment:4 Changed 6 years ago by Ian Bush

Refs #11101 Unit test for toString method. Fixes to coding style.

Changeset: d1651b2820a44bb839f6eaa66bc6ef9724fdb88f

comment:5 Changed 6 years ago by Ian Bush

Refs #11101 Fixed toString unit test, to test as intended.

Changeset: c3b77604b4b6bcae6fc07435b674e6d015f05a90

comment:6 Changed 6 years ago by Ian Bush

  • Description modified (diff)

I have started work on this, but this is likely as far as I will be able to get before passing it on to someone else.

Currently the test case is for MD files, but the method should be general for any NeXus file with experiment info.

Most of the other methods contained in ExperimentInfo will need similar treatment to the toString method, in terms of implementation and testing.

comment:7 Changed 6 years ago by Ian Bush

  • Blocking 11111 added

comment:8 Changed 6 years ago by Ian Bush

  • Keywords PatchCandidate added
  • Milestone changed from Backlog to Release 3.4

comment:9 Changed 6 years ago by Martyn Gigg

Clang format the files.

Refs #11101

Changeset: 82fb6614f8bd8cfb159dc3f8de16e90227a29428

comment:10 Changed 6 years ago by Martyn Gigg

Clean up of code and extend the test.

Refs #11101

Changeset: bfbc41ed573da8d2c6866b8925b897e5dd95c247

comment:11 Changed 6 years ago by Martyn Gigg

Add boilerplate methods to create test using new

This avoids the HistoryView constructor running when other tests are run. Refs #11101

Changeset: 74daa59d9d4bdd31e0aec97ec6a2a08909dd91d8

comment:12 Changed 6 years ago by Martyn Gigg

Avoid a warning written to stderr by NeXus.

Refs #11101

Changeset: 432d9b9020d2300ed2841138367ce0c288b9aad9

comment:13 Changed 6 years ago by Martyn Gigg

Virtualise base class methods appropriately.

Refs #11101

Changeset: f1d09bf0c9396d6657c2636fad04a35e68f74858

comment:14 Changed 6 years ago by Martyn Gigg

Checkpoint current status.

Switched file to HRPD file to improve speed. Refs #11101

Changeset: 3f76a29a5b9579660361fe74c143efa0ebdd70cc

comment:15 Changed 6 years ago by Martyn Gigg

Run clang-format on the test.

Refs #11101

Changeset: f99093e939c68b576317937bc89ceaa1716a47fb

comment:16 Changed 6 years ago by Martyn Gigg

Add further method overrides for the file backed class

Refs #11101

Changeset: 9580f0480a0f58c7292617ba91466c5d3338e98a

comment:17 Changed 6 years ago by Martyn Gigg

Add further method overrides for the file backed class

Refs #11101

Changeset: 088f3b91fb90b303407012ee2f7b46a73ca1c2fb

comment:18 Changed 6 years ago by Martyn Gigg

Better utilisation of branch prediction

Places the most likely code path first. Refs #11101

Changeset: 8f0de0ea303e6ce9702a9a06a33cca3f51f5b4d7

comment:19 Changed 6 years ago by Martyn Gigg

Implement the remaining methods on ExperimentInfo + tests

Refs #11101

Changeset: 2f91c82a28b68905f9c96b3edfc866543223a501

comment:20 Changed 6 years ago by Martyn Gigg

Clang format the files.

Refs #11101

Changeset: 72f11bb8a5bc1436c38c450cd0d21d6fabf83d06

comment:21 Changed 6 years ago by Martyn Gigg

  • Status changed from new to assigned
  • Owner changed from Ian Bush to Martyn Gigg

comment:22 Changed 6 years ago by Martyn Gigg

  • Status changed from assigned to inprogress

Remove debugging print statements.

Refs #11101

Changeset: 6182367a41a7e435de205b17db283c8d2695ce31

comment:23 Changed 6 years ago by Martyn Gigg

  • Status changed from inprogress to verify
  • Resolution set to fixed

This is being verified as pull request #307.

comment:24 Changed 6 years ago by Martyn Gigg

Fix constness of mock method.

Refs #11101

Changeset: 76d2b589436a184c8e020f50711605ba886a8689

comment:25 Changed 6 years ago by Martyn Gigg

Remove outdated comments.

Refs #11101

Changeset: 14add7e2c0564a3819ef43cd13ec694e8781034e

comment:26 Changed 6 years ago by Martyn Gigg

Jenkins, retest this please

comment:27 Changed 6 years ago by Martyn Gigg

Jenkins, retest this please

comment:28 Changed 6 years ago by Federico M Pouzols

Jenkins, retest this please...

comment:29 Changed 6 years ago by Federico M Pouzols

There's a a couple of places in FileBackedExperimentInfoTest.h where the intel compiler and old gcc cannot cope with boost::make_shared<::NeXus::File> (lines 38 and 240) because of the <::.

comment:30 Changed 6 years ago by Federico M Pouzols

  • Status changed from verify to verifying
  • Tester set to Federico M Pouzols

comment:31 Changed 6 years ago by Martyn Gigg

Thanks, I thought I'd caught all of those.

comment:32 Changed 6 years ago by Martyn Gigg

Fix usage of ::NeXus::File as template parameter

Some compilers don't like the colon next to the bracket. Refs #11101

Changeset: bb926fbfad20b1b7be1d1d25286d6e2e5f10ea42

comment:33 Changed 6 years ago by Martyn Gigg

Jenkins, retest this please

comment:34 Changed 6 years ago by Federico M Pouzols

Jenkins, retest this please

comment:35 Changed 6 years ago by Federico M Pouzols

MSVC is now complaining with some warnings that come from NeXusStream.hpp. Strange, I hadn't seen those in the previous build.

comment:36 Changed 6 years ago by Martyn Gigg

I hadn't seen that either. It must be from the NeXus inclusion in the unit test. The warning is actually something we have to suppress anyway and this is usually done in System.h but it is not included before the NeXus include here at the moment. I'll move the include.

comment:37 Changed 6 years ago by Martyn Gigg

Move include line so that a warning is suppressed.

Refs #11101

Changeset: c9308d7af8f90d6be98f5cc7f311771209999fd1

comment:38 Changed 6 years ago by Martyn Gigg

That seems to have fixed the warnings now.

comment:39 Changed 6 years ago by Federico M Pouzols

All compilers are happy now. The code looks really neat, well organized, documented and tested. Ready for further work in LoadMD.

comment:40 Changed 6 years ago by Martyn Gigg

Fix usage of ::NeXus::File as template parameter

Some compilers don't like the colon next to the bracket. Refs #11101

Changeset: bb926fbfad20b1b7be1d1d25286d6e2e5f10ea42

comment:41 Changed 6 years ago by Martyn Gigg

Move include line so that a warning is suppressed.

Refs #11101

Changeset: c9308d7af8f90d6be98f5cc7f311771209999fd1

comment:42 Changed 6 years ago by Federico M Pouzols

  • Status changed from verifying to closed

Merge pull request #307 from mantidproject/11101_lazy_load_experiment_info

Implement a lazy loading ExperimentInfo class

Full changeset: f8fdbf188fbf77024d492c8d36c4a94cb693b2c5

comment:43 Changed 5 years ago by Nick Draper

Somehow these slipped through without a resolution. Set to Fixed.

comment:44 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 11940

Note: See TracTickets for help on using tickets.