Ticket #9569 (closed: fixed)

Opened 6 years ago

Last modified 5 years ago

ICAT for data

Reported by: Owen Arnold Owned by: Owen Arnold
Priority: critical Milestone: Release 3.2
Component: Reflectometry Keywords:
Cc: Blocked By: #9594
Blocking: Tester: Roman Tolchenov

Description

  • Add an option to use ICAT for data searching rather than the journals. I think this behaviour should be switchable via an option in the GUI. Default to the current xml lookup. Make sure that the qsettings remember the chosen option.
  • Use the code below as a guide (provided by Max), but don't hard-code values such as the instrument into the working code. Also, if possible run CatalogLoginDialog, if not already logged in (prior to running CatalogGetDataFiles)
   catList = CatalogGetDataFiles(InvestigationId=str(self.textRB.text()))
                self.statusMain.clearMessage()
                for i in range(len(catList)):
                    if '.raw' in catList.column(0)[i]:
                        print catList.column(0)[i].lstrip('INTER').lstrip('0').rstrip('.raw')+': '+catList.column(6)[i]
                        self.listMain.addItem(catList.column(0)[i].lstrip('INTER').lstrip('0').rstrip('.raw')+': '+catList.column(6)[i])
                self.listMain.sortItems()

Change History

comment:1 Changed 6 years ago by Jay Rainey

  • Blocked By 9594 added

comment:2 Changed 6 years ago by Nick Draper

  • Status changed from new to assigned

comment:3 Changed 6 years ago by Keith Brown

  • Owner changed from Keith Brown to Owen Arnold

not going to get this done before i leave, given to Owen

comment:4 Changed 6 years ago by Owen Arnold

Need to expose the CatalogManager, numberActiveSessions to python. Should make the following query possible.

from mantid.api import CatalogManager
# Login here via ICAT
print CatalogManager.numberActiveSessions()

comment:5 Changed 6 years ago by Owen Arnold

  • Status changed from assigned to inprogress

refs #9569. Expose CatalogManager.

Add python tests for new behaviour

Changeset: 55c14c3c8a341af1034f56496217909ee2ef8aa1

comment:6 Changed 6 years ago by Owen Arnold

refs #9569. Expose CatalogSessions and test.

Changeset: ff4c267a4ff9ce5db77765d876ff87a666ce2b1b

comment:7 Changed 6 years ago by Owen Arnold

refs #9569. Use ICAT in ReflGUI.

Have added extra options on the options dialog to enable/disable this, but have not wired everythin in yet. Will also need to uncomment and test that the old code still works.

Changeset: 7e4d8555041dddbc034e72eb65bb71ae590804cd

comment:8 Changed 6 years ago by Owen Arnold

refs #9569. Expose CatalogManager.

Add python tests for new behaviour

Changeset: 55c14c3c8a341af1034f56496217909ee2ef8aa1

comment:9 Changed 6 years ago by Owen Arnold

refs #9569. Expose CatalogSessions and test.

Changeset: ff4c267a4ff9ce5db77765d876ff87a666ce2b1b

comment:10 Changed 6 years ago by Owen Arnold

refs #9569. Use ICAT in ReflGUI.

Have added extra options on the options dialog to enable/disable this, but have not wired everythin in yet. Will also need to uncomment and test that the old code still works.

Changeset: 8f427871c6e62a3616291fcbd81c98606eb621d0

comment:11 Changed 6 years ago by Owen Arnold

refs #9569. Allow switchable behaviour.

Warn if ICAT search without ICAT download.

Enable the Journal searching as the default.

Changeset: b0c681e5faa2591fc7a072d8f29a2edf9b18e91b

comment:12 Changed 6 years ago by Owen Arnold

refs #9569. Fix merge conflict and other errors.

Merge branch 'master' into feature/9569_icat_for_refl

Conflicts:

Code/Mantid/scripts/Interface/ui/reflectometer/refl_gui.py

Changeset: 58da6204104a3b1d7014963387477bf74f6e72a3

comment:13 Changed 6 years ago by Owen Arnold

Tester: Needs to be at ISIS

  • Start MantidPlot
  • Load the ISIS Reflectometry GUI from the custom interface
  • On the Options menu -> Refl GUI Options
  • Check RB Search Using ICAT and Download Files Using ICAT
  • Close the options dialog
  • Set the instrument on the top LHS to INTER
  • Enter '1320341' in the RB search box and hit Search
  • You should be prompted with and ICAT login dialog. Enter your credentials and select OK.
  • You should see the list of the LHS of the GUI populated with runs
  • Choose the first run and hit the => Transfer button. The run number should appear in the first 'runs column'
  • In the MantidLog you should see a notification that it's used the ICAT download algorithm
  • In the angle column on the same row enter 1.0
  • in the dq/q column on the same row enter 1.0
  • Hit the process button
  • You should get two ws generated called IvsQ_{run_number} and IvsLam_{run_number}

comment:14 Changed 6 years ago by Owen Arnold

refs #9569. Return const ref to fix test failure.

Tests now seem to run correctly on windows. The const ref must have been used to extend the lifetime of the member variable!

Changeset: e138ca9131aaa4e3644a1fe3f8329dc49db7fd85

comment:15 Changed 6 years ago by Owen Arnold

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

comment:16 Changed 6 years ago by Peter Parker

Jay and I had a conversation about const references back when I tested the ticket that put them in. My recollection is a little hazy as it was 4 months ago, but we came to the conclusion that we were stuck with them as a result of the auto-generated gsoap code.

Given what you've seen, do you agree with this assessment?

comment:17 Changed 6 years ago by Roman Tolchenov

  • Status changed from verify to verifying
  • Tester set to Roman Tolchenov

comment:18 Changed 6 years ago by Roman Tolchenov

  • Status changed from verifying to closed

Merge remote-tracking branch 'origin/feature/9569_icat_for_refl'

Full changeset: 904d1153037116c6f7547f7abdaa66af56f0da84

comment:19 Changed 6 years ago by Roman Tolchenov

If archive search property is off the download may fail. See #9820.

comment:20 Changed 6 years ago by Owen Arnold

refs #9569. Strip down tests for profiling.

Changeset: 299eaf6bce1b6af85e14bdef02018aa370bb2a88

comment:21 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 10412

Note: See TracTickets for help on using tickets.