From 5e3956785691b992a13c365c087f095b7a5132b2 Mon Sep 17 00:00:00 2001 From: labkey-klum Date: Mon, 1 Aug 2016 17:26:01 -0700 Subject: [PATCH 01/72] Update .gitignore --- .gitignore | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..32858aad3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +*.class + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.ear + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* From d910f3af7891457b7eb9f327610ebd0ae7a8c73f Mon Sep 17 00:00:00 2001 From: labkey-ians Date: Thu, 22 Sep 2016 13:54:16 -0700 Subject: [PATCH 02/72] Spec 25970: Import more x/y data (#1) --- README.md | 4 + distributions/signaldata.xml | 28 + module.properties | 6 + resources/assay/signalData/config.xml | 7 + resources/assay/signalData/domains/batch.xml | 19 + resources/assay/signalData/domains/result.xml | 14 + resources/assay/signalData/domains/run.xml | 8 + .../assay/signalData/queries/Data.query.xml | 42 + .../queries/SearchSignalDataData.sql | 8 + resources/assay/signalData/views/begin.html | 45 + .../assay/signalData/views/begin.view.xml | 5 + resources/assay/signalData/views/upload.html | 9 + resources/views/mockSignalDataWatch.html | 232 + resources/views/mockSignalDataWatch.view.xml | 5 + resources/views/qc.html | 10 + resources/views/qc.view.xml | 14 + resources/views/signalDataUpload.html | 58 + resources/views/signalDataUpload.view.xml | 5 + resources/views/signalDataUpload.webpart.xml | 6 + resources/views/update.html | 5 + resources/views/update.view.xml | 12 + resources/web/signaldata-upload.lib.xml | 16 + .../web/signaldata/QCView/DataService.js | 389 + .../web/signaldata/QCView/ProvisionalRun.js | 51 + .../web/signaldata/QCView/QualityControl.js | 88 + .../web/signaldata/QCView/SampleCreator.js | 547 + .../web/signaldata/QCView/SpectrumPlot.js | 149 + resources/web/signaldata/QCView/Stats.js | 142 + resources/web/signaldata/QCView/regression.js | 210 + resources/web/signaldata/QCView/signaldata.js | 18 + .../signaldata/ResultUpdate/resultupdate.js | 348 + .../web/signaldata/UploadView/UploadLog.js | 417 + .../UploadView/uploadResultDataForm.js | 153 + .../UploadView/uploadResultFiles.js | 400 + resources/web/signaldata/signaldata.css | 19 + signalData.iml | 13 + .../signaldata/SignalDataController.java | 211 + .../labkey/signaldata/SignalDataModule.java | 76 + .../assay/SignalDataAssayDataHandler.java | 35 + .../signaldata/RunsMetadata/datafiles.tsv | 4 + .../TestRun001/BLANK235.TXT | 18002 +++++++++++++++ .../TestRun001/LGC10030.TXT | 18003 ++++++++++++++++ .../TestRun001/LGC12392.TXT | 18002 +++++++++++++++ .../TestRun001/LGC14332.TXT | 18002 +++++++++++++++ .../TestRun001/LGC16080.TXT | 18002 +++++++++++++++ .../TestRun001/LGC20371.TXT | 18002 +++++++++++++++ .../TestRun001/LGC21318.TXT | 18002 +++++++++++++++ .../TestRun001/LGC40060.TXT | 18002 +++++++++++++++ .../TestRun001/LGC44214.TXT | 18001 +++++++++++++++ .../TestRun001/LGC60342.TXT | 18002 +++++++++++++++ .../TestRun001/LGC80021.TXT | 18001 +++++++++++++++ .../TestRun001/LGC81029.TXT | 18003 ++++++++++++++++ .../TestRun001/MPP10055.TXT | 18003 ++++++++++++++++ .../TestRun001/MPP12502.TXT | 18002 +++++++++++++++ .../TestRun001/MPP15430.TXT | 18001 +++++++++++++++ .../TestRun001/MPP16185.TXT | 18002 +++++++++++++++ .../TestRun001/MPP16E57.TXT | 18001 +++++++++++++++ .../TestRun001/MPP20474.TXT | 18002 +++++++++++++++ .../TestRun001/MPP2152.TXT | 18002 +++++++++++++++ .../TestRun001/MPP22326.TXT | 18002 +++++++++++++++ .../TestRun001/MPP40162.TXT | 18001 +++++++++++++++ .../TestRun001/MPP45218.TXT | 18003 ++++++++++++++++ .../TestRun001/MPP60445.TXT | 18001 +++++++++++++++ .../TestRun001/MPP80274.TXT | 18002 +++++++++++++++ .../TestRun001/MPP82113.TXT | 18002 +++++++++++++++ .../TestRun001/POST2242.TXT | 18003 ++++++++++++++++ .../TestRun001/PRE23181.TXT | 18002 +++++++++++++++ .../TestRun001/QD123-11.TXT | 18003 ++++++++++++++++ .../TestRun001/QD123-24.TXT | 18002 +++++++++++++++ .../TestRun001/QD123-31.TXT | 18002 +++++++++++++++ .../TestRun001/TD789-12.TXT | 18001 +++++++++++++++ .../TestRun001/TD789-25.TXT | 18001 +++++++++++++++ .../TestRun001/TD789-32.TXT | 18002 +++++++++++++++ .../signaldata/SignalDataAssayBeginPage.java | 120 + .../signaldata/SignalDataRunViewerPage.java | 35 + .../signaldata/SignalDataUploadPage.java | 97 + .../tests/signaldata/SignalDataRawTest.java | 195 + .../signaldata/SignalDataInitializer.java | 75 + test/test_SignalData.iml | 12 + 79 files changed, 598426 insertions(+) create mode 100644 README.md create mode 100644 distributions/signaldata.xml create mode 100644 module.properties create mode 100644 resources/assay/signalData/config.xml create mode 100644 resources/assay/signalData/domains/batch.xml create mode 100644 resources/assay/signalData/domains/result.xml create mode 100644 resources/assay/signalData/domains/run.xml create mode 100644 resources/assay/signalData/queries/Data.query.xml create mode 100644 resources/assay/signalData/queries/SearchSignalDataData.sql create mode 100644 resources/assay/signalData/views/begin.html create mode 100644 resources/assay/signalData/views/begin.view.xml create mode 100644 resources/assay/signalData/views/upload.html create mode 100644 resources/views/mockSignalDataWatch.html create mode 100644 resources/views/mockSignalDataWatch.view.xml create mode 100644 resources/views/qc.html create mode 100644 resources/views/qc.view.xml create mode 100644 resources/views/signalDataUpload.html create mode 100644 resources/views/signalDataUpload.view.xml create mode 100644 resources/views/signalDataUpload.webpart.xml create mode 100644 resources/views/update.html create mode 100644 resources/views/update.view.xml create mode 100644 resources/web/signaldata-upload.lib.xml create mode 100644 resources/web/signaldata/QCView/DataService.js create mode 100644 resources/web/signaldata/QCView/ProvisionalRun.js create mode 100644 resources/web/signaldata/QCView/QualityControl.js create mode 100644 resources/web/signaldata/QCView/SampleCreator.js create mode 100644 resources/web/signaldata/QCView/SpectrumPlot.js create mode 100644 resources/web/signaldata/QCView/Stats.js create mode 100644 resources/web/signaldata/QCView/regression.js create mode 100644 resources/web/signaldata/QCView/signaldata.js create mode 100644 resources/web/signaldata/ResultUpdate/resultupdate.js create mode 100644 resources/web/signaldata/UploadView/UploadLog.js create mode 100644 resources/web/signaldata/UploadView/uploadResultDataForm.js create mode 100644 resources/web/signaldata/UploadView/uploadResultFiles.js create mode 100644 resources/web/signaldata/signaldata.css create mode 100644 signalData.iml create mode 100644 src/org/labkey/signaldata/SignalDataController.java create mode 100644 src/org/labkey/signaldata/SignalDataModule.java create mode 100644 src/org/labkey/signaldata/assay/SignalDataAssayDataHandler.java create mode 100644 test/sampledata/signaldata/RunsMetadata/datafiles.tsv create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/BLANK235.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC10030.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC12392.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC14332.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC16080.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC20371.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC21318.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC40060.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC44214.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC60342.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC80021.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC81029.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP10055.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP12502.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP15430.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP16185.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP16E57.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP20474.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP2152.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP22326.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP40162.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP45218.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP60445.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP80274.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP82113.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/POST2242.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/PRE23181.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/QD123-11.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/QD123-24.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/QD123-31.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/TD789-12.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/TD789-25.TXT create mode 100644 test/sampledata/signaldata/SignalDataAssayData/TestRun001/TD789-32.TXT create mode 100644 test/src/org/labkey/test/pages/signaldata/SignalDataAssayBeginPage.java create mode 100644 test/src/org/labkey/test/pages/signaldata/SignalDataRunViewerPage.java create mode 100644 test/src/org/labkey/test/pages/signaldata/SignalDataUploadPage.java create mode 100644 test/src/org/labkey/test/tests/signaldata/SignalDataRawTest.java create mode 100644 test/src/org/labkey/test/util/signaldata/SignalDataInitializer.java create mode 100644 test/test_SignalData.iml diff --git a/README.md b/README.md new file mode 100644 index 000000000..3fddeb328 --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +# SignalData + +####This module is is under active development and may migrate to a new and more generalized module in the near future.#### + diff --git a/distributions/signaldata.xml b/distributions/signaldata.xml new file mode 100644 index 000000000..56d191fa9 --- /dev/null +++ b/distributions/signaldata.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + Not intended to be run directly + Run `ant dist -Dname=distname` from the project root to prepare a particular distribution + + + diff --git a/module.properties b/module.properties new file mode 100644 index 000000000..499c0d390 --- /dev/null +++ b/module.properties @@ -0,0 +1,6 @@ +ModuleClass: org.labkey.signaldata.SignalDataModule +Label: signaldata +Description: A module defining general X/Y plottable assays and tools for working with those assays. +URL: http://www.labkey.org +License: Apache 2.0 +LicenseURL: http://www.apache.org/licenses/LICENSE-2.0 diff --git a/resources/assay/signalData/config.xml b/resources/assay/signalData/config.xml new file mode 100644 index 000000000..fd5ee4ae6 --- /dev/null +++ b/resources/assay/signalData/config.xml @@ -0,0 +1,7 @@ + + Signal Data + X/Y plottable Signal Data + + SignalData + + diff --git a/resources/assay/signalData/domains/batch.xml b/resources/assay/signalData/domains/batch.xml new file mode 100644 index 000000000..1915a5e35 --- /dev/null +++ b/resources/assay/signalData/domains/batch.xml @@ -0,0 +1,19 @@ + + Signal Data Assay Batch fields + + XAxis + true + http://www.w3.org/2001/XMLSchema#string + X-Axis Label + FixedValue + Time (m) + + + YAxis + true + http://www.w3.org/2001/XMLSchema#string + Y-Axis Label + FixedValue + mV + + \ No newline at end of file diff --git a/resources/assay/signalData/domains/result.xml b/resources/assay/signalData/domains/result.xml new file mode 100644 index 000000000..3c859714d --- /dev/null +++ b/resources/assay/signalData/domains/result.xml @@ -0,0 +1,14 @@ + + Signal Data Assay Results + + Name + true + http://www.w3.org/2001/XMLSchema#string + + + DataFile + true + http://cpas.fhcrc.org/exp/xml#fileLink + Data File + + diff --git a/resources/assay/signalData/domains/run.xml b/resources/assay/signalData/domains/run.xml new file mode 100644 index 000000000..cebcdfcbd --- /dev/null +++ b/resources/assay/signalData/domains/run.xml @@ -0,0 +1,8 @@ + + + RunIdentifier + true + http://www.w3.org/2001/XMLSchema#string + Run Identifier + + diff --git a/resources/assay/signalData/queries/Data.query.xml b/resources/assay/signalData/queries/Data.query.xml new file mode 100644 index 000000000..613863d85 --- /dev/null +++ b/resources/assay/signalData/queries/Data.query.xml @@ -0,0 +1,42 @@ + + + + + + + /signaldata/update.view?protocolId=${Run/Protocol/RowId}&batchId=${Run/Batch/RowId}&runId=${Run/RowId}&rowId=${RowId}&runName=${Run/Name} + + /signaldata/QCView/SignalData.js + + LABKEY.SignalData.signalDataSelection(dataRegion, dataRegionName, 'signaldata') + + + + + + + SearchSignalDataData + RowId + + + +
+
+
+
diff --git a/resources/assay/signalData/queries/SearchSignalDataData.sql b/resources/assay/signalData/queries/SearchSignalDataData.sql new file mode 100644 index 000000000..ae7fe7496 --- /dev/null +++ b/resources/assay/signalData/queries/SearchSignalDataData.sql @@ -0,0 +1,8 @@ +-- noinspection SqlDialectInspectionForFile +-- noinspection SqlNoDataSourceInspectionForFile +-- This query is used to define the search criteria as used for the SignalData initial view +SELECT +Data.RowId, +--TODO: Identify search fields +COALESCE(Data.Name, '') || COALESCE(Data.Run.RunIdentifier, '')AS Search +FROM Data \ No newline at end of file diff --git a/resources/assay/signalData/views/begin.html b/resources/assay/signalData/views/begin.html new file mode 100644 index 000000000..c97251b0c --- /dev/null +++ b/resources/assay/signalData/views/begin.html @@ -0,0 +1,45 @@ +
+ + +
+
+ \ No newline at end of file diff --git a/resources/assay/signalData/views/begin.view.xml b/resources/assay/signalData/views/begin.view.xml new file mode 100644 index 000000000..5fbe3ce56 --- /dev/null +++ b/resources/assay/signalData/views/begin.view.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/resources/assay/signalData/views/upload.html b/resources/assay/signalData/views/upload.html new file mode 100644 index 000000000..373294e11 --- /dev/null +++ b/resources/assay/signalData/views/upload.html @@ -0,0 +1,9 @@ +
+ \ No newline at end of file diff --git a/resources/views/mockSignalDataWatch.html b/resources/views/mockSignalDataWatch.html new file mode 100644 index 000000000..11aa8aaee --- /dev/null +++ b/resources/views/mockSignalDataWatch.html @@ -0,0 +1,232 @@ + +
+
    + diff --git a/resources/views/mockSignalDataWatch.view.xml b/resources/views/mockSignalDataWatch.view.xml new file mode 100644 index 000000000..1e4bca528 --- /dev/null +++ b/resources/views/mockSignalDataWatch.view.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/resources/views/qc.html b/resources/views/qc.html new file mode 100644 index 000000000..fb044a31e --- /dev/null +++ b/resources/views/qc.html @@ -0,0 +1,10 @@ +
    + diff --git a/resources/views/qc.view.xml b/resources/views/qc.view.xml new file mode 100644 index 000000000..1f2474cdd --- /dev/null +++ b/resources/views/qc.view.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/resources/views/signalDataUpload.html b/resources/views/signalDataUpload.html new file mode 100644 index 000000000..fdc335968 --- /dev/null +++ b/resources/views/signalDataUpload.html @@ -0,0 +1,58 @@ +
    +

    Signal Data Files

    +
      +
    1. + Import (or paste) the results file. Data must include a column that has the signal data filename (case-sensitive). +
      Download Spreadsheet Template
      +
    2. +
    3. + Enter Run-level data and import the relevant signal data files. +
    4. +
    +
    + + + + + + + + + + +
    Upload Type + Cut/Paste
    + File +
    Upload +
    +
    +
    + +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/resources/views/signalDataUpload.view.xml b/resources/views/signalDataUpload.view.xml new file mode 100644 index 000000000..f529f151b --- /dev/null +++ b/resources/views/signalDataUpload.view.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/resources/views/signalDataUpload.webpart.xml b/resources/views/signalDataUpload.webpart.xml new file mode 100644 index 000000000..6635cc2fb --- /dev/null +++ b/resources/views/signalDataUpload.webpart.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/resources/views/update.html b/resources/views/update.html new file mode 100644 index 000000000..d7b200603 --- /dev/null +++ b/resources/views/update.html @@ -0,0 +1,5 @@ +

    + Update Signal Data result +

    +
    +
    \ No newline at end of file diff --git a/resources/views/update.view.xml b/resources/views/update.view.xml new file mode 100644 index 000000000..b30f54a90 --- /dev/null +++ b/resources/views/update.view.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/resources/web/signaldata-upload.lib.xml b/resources/web/signaldata-upload.lib.xml new file mode 100644 index 000000000..fc53383ed --- /dev/null +++ b/resources/web/signaldata-upload.lib.xml @@ -0,0 +1,16 @@ + + + \ No newline at end of file diff --git a/resources/web/signaldata/QCView/DataService.js b/resources/web/signaldata/QCView/DataService.js index 0a36c878c..edaa7cd4f 100644 --- a/resources/web/signaldata/QCView/DataService.js +++ b/resources/web/signaldata/QCView/DataService.js @@ -25,7 +25,7 @@ Ext4.define('LABKEY.SignalData.DataService', { if (content) { if (Ext4.isFunction(callback)) - callback.call(scope || this, content); + callback.call(scope || this, content, expData); } else { @@ -35,7 +35,7 @@ Ext4.define('LABKEY.SignalData.DataService', { { this._ContentCache[path] = c; if (Ext4.isFunction(callback)) - callback.call(scope || this, c); + callback.call(scope || this, c, expData); }, failure: function (error) { @@ -61,7 +61,7 @@ Ext4.define('LABKEY.SignalData.DataService', { getData : function(datacontent, xleft, xright, mod) { var data = []; if (datacontent) { - var _data = datacontent.sheets[0].data; + var _data = [...datacontent.sheets[0].data]; _data.shift(); // get rid of column headers var newData = [], d, xy; @@ -75,7 +75,7 @@ Ext4.define('LABKEY.SignalData.DataService', { // if (xleft == 0 && xright == 0) { for (d=0; d < _data.length; d++) { - xy = _data[d][0].split(' '); + xy = this.getXYRow(_data[d]); xy[0] = parseFloat(xy[0]); xy[1] = parseFloat(xy[1]); newData.push(xy); @@ -86,7 +86,7 @@ Ext4.define('LABKEY.SignalData.DataService', { // using bounds // for (d=0; d < _data.length; d++) { - xy = _data[d][0].split(' '); + xy = this.getXYRow(_data[d]); xy[0] = parseFloat(xy[0]); xy[1] = parseFloat(xy[1]); if (xy[0] > xleft && xy[0] < xright) @@ -101,7 +101,7 @@ Ext4.define('LABKEY.SignalData.DataService', { if (xleft == 0 && xright == 0) { for (d=0; d < _data.length; d++) { if (d%mod == 0) { - xy = _data[d][0].split(' '); + xy = this.getXYRow(_data[d]); xy[0] = parseFloat(xy[0]); xy[1] = parseFloat(xy[1]); newData.push(xy); @@ -114,7 +114,7 @@ Ext4.define('LABKEY.SignalData.DataService', { // for (d=0; d < _data.length; d++) { if (d%mod == 0) { - xy = _data[d][0].split(' '); + xy = this.getXYRow(_data[d]); xy[0] = parseFloat(xy[0]); xy[1] = parseFloat(xy[1]); if (xy[0] > xleft && xy[0] < xright) @@ -129,6 +129,19 @@ Ext4.define('LABKEY.SignalData.DataService', { return data; }, + /** + * Helper to return an XY array from the raw input data file. This helps normalize + * different data file delimiter types. + */ + getXYRow : function(row) { + // space delimited + if (row.length === 1) + return row[0].split(' '); + + // all others + return row; + }, + /** * Get the max y value * 110% * @param datacontents @@ -147,7 +160,7 @@ Ext4.define('LABKEY.SignalData.DataService', { for (d = 0; d < _data.length; d++) { - xy = _data[d][0].split(' '); + xy = this.getXYRow(_data[d]); y = parseFloat(xy[1]); if (y > maxY) { diff --git a/resources/web/signaldata/QCView/SampleCreator.js b/resources/web/signaldata/QCView/SampleCreator.js index 0c6f43b7c..9a8565408 100644 --- a/resources/web/signaldata/QCView/SampleCreator.js +++ b/resources/web/signaldata/QCView/SampleCreator.js @@ -285,10 +285,11 @@ Ext4.define('LABKEY.SignalData.SampleCreator', { allContent = [], contentMap = {}; - var done = function(content) { + var done = function(content, pr) { received++; + content.runName = pr.runName; allContent.push(content); - contentMap[content.fileName] = content; + contentMap[pr.runName] = content; if (received == expected) { this.allContent = allContent; this.contentMap = contentMap; @@ -296,15 +297,17 @@ Ext4.define('LABKEY.SignalData.SampleCreator', { } }; - for (var d=0; d < provisionalRuns.length; d++) { - var pr = provisionalRuns[d].get('expDataRun'); + Ext4.each(provisionalRuns, function(run){ + var pr = run.get('expDataRun'); if (pr) { + // use the run name as the key for all data + pr.runName = run.get('name'); SignalDataService.FileContentCache(pr, done, this); } else { console.error('Failed to load expDataRun from provisional run.'); } - } + }, this); }, this); } @@ -449,7 +452,7 @@ Ext4.define('LABKEY.SignalData.SampleCreator', { var modelname = sample.get('name'); if (modelname) { - this.highlighted = sample.get('name') + '.' + sample.get('fileExt'); + this.highlighted = sample.get('name'); this.renderPlot(this.allContent); } }, @@ -481,7 +484,7 @@ Ext4.define('LABKEY.SignalData.SampleCreator', { include = this._getNode(view, model, 'input[name="include"]'); response = this._getNode(view, model, 'span[name="response"]'); - var fileContent = this.contentMap[model.get('name') + '.' + model.get('fileExt')]; + var fileContent = this.contentMap[model.get('name')]; var data = SignalDataService.getData(fileContent, xleft, xright, false); var aucPeak = LABKEY.SignalData.Stats.getAUC(data, base); response.update(+aucPeak.auc.toFixed(3)); diff --git a/resources/web/signaldata/QCView/SpectrumPlot.js b/resources/web/signaldata/QCView/SpectrumPlot.js index 495f457be..534d3c34d 100644 --- a/resources/web/signaldata/QCView/SpectrumPlot.js +++ b/resources/web/signaldata/QCView/SpectrumPlot.js @@ -64,7 +64,7 @@ Ext4.define('LABKEY.SignalData.SpectrumPlot', { color = colors[c%colors.length]; if (useHighlight) { - isHighlight = (this.highlight === contents[i].fileName); + isHighlight = (this.highlight === contents[i].runName); if (!isHighlight) { color = '#A09C9C'; diff --git a/resources/web/signaldata/UploadView/UploadLog.js b/resources/web/signaldata/UploadView/UploadLog.js index 2e95ee8fa..4cff27722 100644 --- a/resources/web/signaldata/UploadView/UploadLog.js +++ b/resources/web/signaldata/UploadView/UploadLog.js @@ -276,7 +276,7 @@ Ext4.define('LABKEY.SignalData.UploadLog', { function done(file, results) { var store = me.getStore(); - var idx = store.findExact(me.DATA_FILE, file.text); + var idx = store.find(me.DATA_FILE, file.text); var process = store.getAt(idx); //Set upload time @@ -411,7 +411,7 @@ Ext4.define('LABKEY.SignalData.UploadLog', { workingDirectory: '', containsFile: function(file) { var store = this.getStore(); - var idx = store.findExact(this.DATA_FILE, file.name); + var idx = store.find(this.DATA_FILE, file.name); return store.getAt(idx); } }); diff --git a/resources/web/signaldata/UploadView/uploadResultFiles.js b/resources/web/signaldata/UploadView/uploadResultFiles.js index a160d426e..a08939bb4 100644 --- a/resources/web/signaldata/UploadView/uploadResultFiles.js +++ b/resources/web/signaldata/UploadView/uploadResultFiles.js @@ -192,7 +192,7 @@ LABKEY.SignalData.initializeDataFileUploadForm = function (metadataFormId, eleme //get modelInstance from store that matches file.name var store = uploadLog.getStore(); - var idx = store.findExact('DataFile', file.name); + var idx = store.find('DataFile', file.name); var process = store.getAt(idx); //Set upload time @@ -354,8 +354,16 @@ LABKEY.SignalData.initializeDataFileUploadForm = function (metadataFormId, eleme }, success: function() { clearCachedReports(false, function() { + let returnUrl = LABKEY.ActionURL.getReturnUrl(); + if (returnUrl) { + if (window.location.hash) + returnUrl = returnUrl.concat(window.location.hash); + } + else { + returnUrl = LABKEY.ActionURL.buildURL('assay', 'assayBegin', null, {rowId: assay.id}); + } uploadLog.workingDirectory = setWorkingDirectory(); - window.location = LABKEY.ActionURL.buildURL('assay', 'assayBegin', null, {rowId: assay.id}); + window.location = returnUrl; },this); }, failure: function(response){ From e2565e810f96d9233a30b6083591efae2bb9459c Mon Sep 17 00:00:00 2001 From: Josh Eckels Date: Mon, 4 Nov 2024 16:54:21 -0800 Subject: [PATCH 68/72] Issue 50861: Pass around properly encoded WebDav URLs (#23) * Issue 50861: Pass around properly encoded WebDav URLs * Misc cleanup * API wants a path, not a URI --- resources/views/mockSignalDataWatch.html | 2 +- .../web/signaldata/ResultUpdate/resultupdate.js | 2 +- resources/web/signaldata/UploadView/UploadLog.js | 2 +- .../labkey/signaldata/SignalDataController.java | 14 ++++++++------ 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/resources/views/mockSignalDataWatch.html b/resources/views/mockSignalDataWatch.html index a5ea281e9..7eeded323 100644 --- a/resources/views/mockSignalDataWatch.html +++ b/resources/views/mockSignalDataWatch.html @@ -218,7 +218,7 @@ LABKEY.Ajax.request({ url: LABKEY.ActionURL.buildURL('signaldata', 'getSignalDataResource.api'), method: 'POST', - params: { path: file.id, test: true }, + params: { path: decodeURIComponent(file.id), test: true }, success: function(response) { done(file, Ext4.decode(response.responseText)); } diff --git a/resources/web/signaldata/ResultUpdate/resultupdate.js b/resources/web/signaldata/ResultUpdate/resultupdate.js index bd3d45208..2c4f95710 100644 --- a/resources/web/signaldata/ResultUpdate/resultupdate.js +++ b/resources/web/signaldata/ResultUpdate/resultupdate.js @@ -64,7 +64,7 @@ var init = function(assay, row){ LABKEY.Ajax.request({ url: LABKEY.ActionURL.buildURL('SignalData', 'getSignalDataResource.api'), method: 'POST', - params: {path: file.internalId, test: true}, + params: {path: decodeURIComponent(file.internalId), test: true}, success: function (response) { var fileResource = Ext4.decode(response.responseText); var updatedRow = setRunFields(form, fileResource); diff --git a/resources/web/signaldata/UploadView/UploadLog.js b/resources/web/signaldata/UploadView/UploadLog.js index 4cff27722..1e2b50231 100644 --- a/resources/web/signaldata/UploadView/UploadLog.js +++ b/resources/web/signaldata/UploadView/UploadLog.js @@ -296,7 +296,7 @@ Ext4.define('LABKEY.SignalData.UploadLog', { LABKEY.Ajax.request({ url: LABKEY.ActionURL.buildURL('SignalData', 'getSignalDataResource.api'), method: 'POST', - params: {path: file.id, test: true}, + params: {path: decodeURIComponent(file.id), test: true}, success: function (response) { done(file, Ext4.decode(response.responseText)); }, diff --git a/src/org/labkey/signaldata/SignalDataController.java b/src/org/labkey/signaldata/SignalDataController.java index 73e29ed4a..80db85f3b 100644 --- a/src/org/labkey/signaldata/SignalDataController.java +++ b/src/org/labkey/signaldata/SignalDataController.java @@ -43,11 +43,13 @@ import java.io.File; import java.net.MalformedURLException; +import java.net.URI; import java.sql.SQLException; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import static org.labkey.api.files.FileContentService.UPLOADED_FILE; @@ -75,14 +77,14 @@ public ApiResponse execute(Object form, BindException errors) throws Exception PipeRoot root = PipelineService.get().findPipelineRoot(getContainer()); String containerPath = null; - String webdavURL = null; + URI webdavURL = null; if (null != root) { containerPath = root.getContainer().getPath(); webdavURL = root.getWebdavURL(); - if (SignalDataAssayDataHandler.NAMESPACE.length() > 0) - webdavURL += SignalDataAssayDataHandler.NAMESPACE; + if (!SignalDataAssayDataHandler.NAMESPACE.isEmpty()) + webdavURL = webdavURL.resolve(SignalDataAssayDataHandler.NAMESPACE); //Create folder if needed File sdFileRoot = new File(root.getRootPath(), SignalDataAssayDataHandler.NAMESPACE); @@ -91,7 +93,7 @@ public ApiResponse execute(Object form, BindException errors) throws Exception } resp.put("containerPath", containerPath); - resp.put("webDavURL", webdavURL); + resp.put("webDavURL", Objects.toString(webdavURL, null)); return resp; } @@ -128,7 +130,7 @@ public void setTest(boolean test) public class getSignalDataResourceAction extends MutatingApiAction { @Override - public ApiResponse execute(SignalDataResourceForm form, BindException errors) throws Exception + public ApiResponse execute(SignalDataResourceForm form, BindException errors) { String path = form.getPath(); WebdavResource resource = WebdavService.get().lookup(path); @@ -190,7 +192,7 @@ public ApiResponse execute(SignalDataResourceForm form, BindException errors) th } catch (MalformedURLException e) { - throw new UnexpectedException(e); + throw UnexpectedException.wrap(e); } catch (SQLException e) { From f5e2a4149cfbecd32f71dc405c6ddce226d63137 Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Fri, 15 Nov 2024 14:46:40 -0800 Subject: [PATCH 69/72] Modules and tests are PostgreSQL-only (#24) --- module.properties | 1 + .../org/labkey/test/tests/signaldata/SignalDataRawTest.java | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/module.properties b/module.properties index f4b570c82..1a6b50bbd 100644 --- a/module.properties +++ b/module.properties @@ -4,3 +4,4 @@ Description: A module defining general X/Y plottable assays and tools for workin URL: https://github.com/LabKey/signalData License: Apache 2.0 LicenseURL: http://www.apache.org/licenses/LICENSE-2.0 +SupportedDatabases: pgsql diff --git a/test/src/org/labkey/test/tests/signaldata/SignalDataRawTest.java b/test/src/org/labkey/test/tests/signaldata/SignalDataRawTest.java index 0dac6a7bc..9fed7f459 100644 --- a/test/src/org/labkey/test/tests/signaldata/SignalDataRawTest.java +++ b/test/src/org/labkey/test/tests/signaldata/SignalDataRawTest.java @@ -28,6 +28,7 @@ import org.labkey.test.pages.signaldata.SignalDataRunViewerPage; import org.labkey.test.pages.signaldata.SignalDataUploadPage; import org.labkey.test.util.Ext4Helper; +import org.labkey.test.util.PostgresOnlyTest; import org.labkey.test.util.signaldata.SignalDataInitializer; import org.openqa.selenium.WebElement; @@ -38,7 +39,7 @@ import static org.junit.Assert.assertEquals; @Category({SignalData.class, Git.class}) -public class SignalDataRawTest extends BaseWebDriverTest +public class SignalDataRawTest extends BaseWebDriverTest implements PostgresOnlyTest { private static final String PROJECT_NAME = "SignalDataRawTest"; private static final String DEFAULT_RUN = "TestRun001"; From c073ecde94c12ff59917c9c7436b22e3c2ee04b1 Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Mon, 18 Nov 2024 19:18:04 -0800 Subject: [PATCH 70/72] Remove SupportedDatabases property now that default is PostgreSQL-only (#25) --- module.properties | 1 - 1 file changed, 1 deletion(-) diff --git a/module.properties b/module.properties index 1a6b50bbd..f4b570c82 100644 --- a/module.properties +++ b/module.properties @@ -4,4 +4,3 @@ Description: A module defining general X/Y plottable assays and tools for workin URL: https://github.com/LabKey/signalData License: Apache 2.0 LicenseURL: http://www.apache.org/licenses/LICENSE-2.0 -SupportedDatabases: pgsql From 65a063d4824238757e4cedca9a1f5020d8ea99db Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Thu, 9 Jan 2025 10:49:34 -0800 Subject: [PATCH 71/72] Add ManageVersion property to all module.properties files (#26) --- module.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/module.properties b/module.properties index f4b570c82..acc479342 100644 --- a/module.properties +++ b/module.properties @@ -4,3 +4,4 @@ Description: A module defining general X/Y plottable assays and tools for workin URL: https://github.com/LabKey/signalData License: Apache 2.0 LicenseURL: http://www.apache.org/licenses/LICENSE-2.0 +ManageVersion: true From edf45613c2f97499da55c42323f43ea2bf4bc103 Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Mon, 24 Feb 2025 15:00:39 -0800 Subject: [PATCH 72/72] Rehome signalData module --- .github/workflows/branch_release.yml | 23 --------------- .github/workflows/merge_release.yml | 28 ------------------- .github/workflows/validate_pr.yml | 26 ----------------- pull_request_template.md | 8 ------ .gitattributes => signalData/.gitattributes | 0 .gitignore => signalData/.gitignore | 0 LICENSE.txt => signalData/LICENSE.txt | 0 README.md => signalData/README.md | 0 build.gradle => signalData/build.gradle | 0 .../module.properties | 0 .../resources}/assay/signalData/config.xml | 0 .../assay/signalData/domains/batch.xml | 0 .../assay/signalData/domains/result.xml | 0 .../assay/signalData/domains/run.xml | 0 .../assay/signalData/queries/Data.query.xml | 0 .../queries/SearchSignalDataData.sql | 0 .../assay/signalData/views/begin.html | 0 .../assay/signalData/views/begin.view.xml | 0 .../assay/signalData/views/upload.html | 0 .../resources}/views/mockSignalDataWatch.html | 0 .../views/mockSignalDataWatch.view.xml | 0 .../resources}/views/qc.html | 0 .../resources}/views/qc.view.xml | 0 .../resources}/views/signalDataUpload.html | 0 .../views/signalDataUpload.view.xml | 0 .../views/signalDataUpload.webpart.xml | 0 .../resources}/views/update.html | 0 .../resources}/views/update.view.xml | 0 .../resources}/web/signaldata-upload.lib.xml | 0 .../web/signaldata/QCView/DataService.js | 0 .../web/signaldata/QCView/ProvisionalRun.js | 0 .../web/signaldata/QCView/QualityControl.js | 0 .../web/signaldata/QCView/SampleCreator.js | 0 .../web/signaldata/QCView/SpectrumPlot.js | 0 .../resources}/web/signaldata/QCView/Stats.js | 0 .../web/signaldata/QCView/regression.js | 0 .../web/signaldata/QCView/signaldata.js | 0 .../signaldata/ResultUpdate/resultupdate.js | 0 .../web/signaldata/UploadView/UploadLog.js | 0 .../UploadView/uploadResultDataForm.js | 0 .../UploadView/uploadResultFiles.js | 0 .../resources}/web/signaldata/signaldata.css | 0 .../signaldata/SignalDataController.java | 0 .../labkey/signaldata/SignalDataModule.java | 0 .../assay/SignalDataAssayDataHandler.java | 0 .../signaldata/RunsMetadata/datafiles.tsv | 0 .../TestRun001/BLANK235.TXT | 0 .../TestRun001/LGC10030.TXT | 0 .../TestRun001/LGC12392.TXT | 0 .../TestRun001/LGC14332.TXT | 0 .../TestRun001/LGC16080.TXT | 0 .../TestRun001/LGC20371.TXT | 0 .../TestRun001/LGC21318.TXT | 0 .../TestRun001/LGC40060.TXT | 0 .../TestRun001/LGC44214.TXT | 0 .../TestRun001/LGC60342.TXT | 0 .../TestRun001/LGC80021.TXT | 0 .../TestRun001/LGC81029.TXT | 0 .../TestRun001/MPP10055.TXT | 0 .../TestRun001/MPP12502.TXT | 0 .../TestRun001/MPP15430.TXT | 0 .../TestRun001/MPP16185.TXT | 0 .../TestRun001/MPP16E57.TXT | 0 .../TestRun001/MPP20474.TXT | 0 .../TestRun001/MPP2152.TXT | 0 .../TestRun001/MPP22326.TXT | 0 .../TestRun001/MPP40162.TXT | 0 .../TestRun001/MPP45218.TXT | 0 .../TestRun001/MPP60445.TXT | 0 .../TestRun001/MPP80274.TXT | 0 .../TestRun001/MPP82113.TXT | 0 .../TestRun001/POST2242.TXT | 0 .../TestRun001/PRE23181.TXT | 0 .../TestRun001/QD123-11.TXT | 0 .../TestRun001/QD123-24.TXT | 0 .../TestRun001/QD123-31.TXT | 0 .../TestRun001/TD789-12.TXT | 0 .../TestRun001/TD789-25.TXT | 0 .../TestRun001/TD789-32.TXT | 0 .../signaldata/SignalDataAssayBeginPage.java | 0 .../signaldata/SignalDataRunViewerPage.java | 0 .../signaldata/SignalDataUploadPage.java | 0 .../tests/signaldata/SignalDataRawTest.java | 0 .../signaldata/SignalDataInitializer.java | 0 84 files changed, 85 deletions(-) delete mode 100644 .github/workflows/branch_release.yml delete mode 100644 .github/workflows/merge_release.yml delete mode 100644 .github/workflows/validate_pr.yml delete mode 100644 pull_request_template.md rename .gitattributes => signalData/.gitattributes (100%) rename .gitignore => signalData/.gitignore (100%) rename LICENSE.txt => signalData/LICENSE.txt (100%) rename README.md => signalData/README.md (100%) rename build.gradle => signalData/build.gradle (100%) rename module.properties => signalData/module.properties (100%) rename {resources => signalData/resources}/assay/signalData/config.xml (100%) rename {resources => signalData/resources}/assay/signalData/domains/batch.xml (100%) rename {resources => signalData/resources}/assay/signalData/domains/result.xml (100%) rename {resources => signalData/resources}/assay/signalData/domains/run.xml (100%) rename {resources => signalData/resources}/assay/signalData/queries/Data.query.xml (100%) rename {resources => signalData/resources}/assay/signalData/queries/SearchSignalDataData.sql (100%) rename {resources => signalData/resources}/assay/signalData/views/begin.html (100%) rename {resources => signalData/resources}/assay/signalData/views/begin.view.xml (100%) rename {resources => signalData/resources}/assay/signalData/views/upload.html (100%) rename {resources => signalData/resources}/views/mockSignalDataWatch.html (100%) rename {resources => signalData/resources}/views/mockSignalDataWatch.view.xml (100%) rename {resources => signalData/resources}/views/qc.html (100%) rename {resources => signalData/resources}/views/qc.view.xml (100%) rename {resources => signalData/resources}/views/signalDataUpload.html (100%) rename {resources => signalData/resources}/views/signalDataUpload.view.xml (100%) rename {resources => signalData/resources}/views/signalDataUpload.webpart.xml (100%) rename {resources => signalData/resources}/views/update.html (100%) rename {resources => signalData/resources}/views/update.view.xml (100%) rename {resources => signalData/resources}/web/signaldata-upload.lib.xml (100%) rename {resources => signalData/resources}/web/signaldata/QCView/DataService.js (100%) rename {resources => signalData/resources}/web/signaldata/QCView/ProvisionalRun.js (100%) rename {resources => signalData/resources}/web/signaldata/QCView/QualityControl.js (100%) rename {resources => signalData/resources}/web/signaldata/QCView/SampleCreator.js (100%) rename {resources => signalData/resources}/web/signaldata/QCView/SpectrumPlot.js (100%) rename {resources => signalData/resources}/web/signaldata/QCView/Stats.js (100%) rename {resources => signalData/resources}/web/signaldata/QCView/regression.js (100%) rename {resources => signalData/resources}/web/signaldata/QCView/signaldata.js (100%) rename {resources => signalData/resources}/web/signaldata/ResultUpdate/resultupdate.js (100%) rename {resources => signalData/resources}/web/signaldata/UploadView/UploadLog.js (100%) rename {resources => signalData/resources}/web/signaldata/UploadView/uploadResultDataForm.js (100%) rename {resources => signalData/resources}/web/signaldata/UploadView/uploadResultFiles.js (100%) rename {resources => signalData/resources}/web/signaldata/signaldata.css (100%) rename {src => signalData/src}/org/labkey/signaldata/SignalDataController.java (100%) rename {src => signalData/src}/org/labkey/signaldata/SignalDataModule.java (100%) rename {src => signalData/src}/org/labkey/signaldata/assay/SignalDataAssayDataHandler.java (100%) rename {test => signalData/test}/sampledata/signaldata/RunsMetadata/datafiles.tsv (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/BLANK235.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC10030.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC12392.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC14332.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC16080.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC20371.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC21318.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC40060.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC44214.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC60342.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC80021.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC81029.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP10055.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP12502.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP15430.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP16185.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP16E57.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP20474.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP2152.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP22326.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP40162.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP45218.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP60445.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP80274.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP82113.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/POST2242.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/PRE23181.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/QD123-11.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/QD123-24.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/QD123-31.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/TD789-12.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/TD789-25.TXT (100%) rename {test => signalData/test}/sampledata/signaldata/SignalDataAssayData/TestRun001/TD789-32.TXT (100%) rename {test => signalData/test}/src/org/labkey/test/pages/signaldata/SignalDataAssayBeginPage.java (100%) rename {test => signalData/test}/src/org/labkey/test/pages/signaldata/SignalDataRunViewerPage.java (100%) rename {test => signalData/test}/src/org/labkey/test/pages/signaldata/SignalDataUploadPage.java (100%) rename {test => signalData/test}/src/org/labkey/test/tests/signaldata/SignalDataRawTest.java (100%) rename {test => signalData/test}/src/org/labkey/test/util/signaldata/SignalDataInitializer.java (100%) diff --git a/.github/workflows/branch_release.yml b/.github/workflows/branch_release.yml deleted file mode 100644 index e01464631..000000000 --- a/.github/workflows/branch_release.yml +++ /dev/null @@ -1,23 +0,0 @@ ---- -# Workflow to automate creation and updating of release branches -name: Release Branching - -# Trigger on tags created by TeamCity -on: - push: - tags: - - '*' - -jobs: - branch_release: - if: github.event.created && github.event.sender.login == 'labkey-teamcity' - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Create branches and PRs - uses: LabKey/gitHubActions/branch-release@develop - with: - github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/merge_release.yml b/.github/workflows/merge_release.yml deleted file mode 100644 index 289c7461b..000000000 --- a/.github/workflows/merge_release.yml +++ /dev/null @@ -1,28 +0,0 @@ ---- -# Workflow to automate merging release branches -name: Release Merging - -# Trigger on PR approval -on: - pull_request_review: - types: - - submitted - -jobs: - merge_release: - if: > - github.event.review.state == 'approved' && - github.event.pull_request.user.login == 'github-actions[bot]' - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Merge PR - uses: LabKey/gitHubActions/merge-release@develop - with: - target_branch: ${{ github.event.pull_request.base.ref }} - merge_branch: ${{ github.event.pull_request.head.ref }} - pr_number: ${{ github.event.pull_request.number }} - github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/validate_pr.yml b/.github/workflows/validate_pr.yml deleted file mode 100644 index b567d8aea..000000000 --- a/.github/workflows/validate_pr.yml +++ /dev/null @@ -1,26 +0,0 @@ ---- -# Workflow to validate Pull Request branches -name: PR Validation - -# Trigger on PR creation -on: - pull_request: - types: - - opened - - reopened - - ready_for_review - -jobs: - validate_pr: - if: github.event.pull_request.head.repo.owner.login == 'LabKey' - runs-on: ubuntu-latest - - steps: - - name: Validate PR Branches - uses: LabKey/gitHubActions/validate-pr@develop - with: - pr_base: ${{ github.event.pull_request.base.ref }} - pr_head: ${{ github.event.pull_request.head.ref }} - pr_number: ${{ github.event.pull_request.number }} - pr_title: ${{ github.event.pull_request.title }} - github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/pull_request_template.md b/pull_request_template.md deleted file mode 100644 index 2a1c8ac4c..000000000 --- a/pull_request_template.md +++ /dev/null @@ -1,8 +0,0 @@ -#### Rationale - - -#### Related Pull Requests -* - -#### Changes -* diff --git a/.gitattributes b/signalData/.gitattributes similarity index 100% rename from .gitattributes rename to signalData/.gitattributes diff --git a/.gitignore b/signalData/.gitignore similarity index 100% rename from .gitignore rename to signalData/.gitignore diff --git a/LICENSE.txt b/signalData/LICENSE.txt similarity index 100% rename from LICENSE.txt rename to signalData/LICENSE.txt diff --git a/README.md b/signalData/README.md similarity index 100% rename from README.md rename to signalData/README.md diff --git a/build.gradle b/signalData/build.gradle similarity index 100% rename from build.gradle rename to signalData/build.gradle diff --git a/module.properties b/signalData/module.properties similarity index 100% rename from module.properties rename to signalData/module.properties diff --git a/resources/assay/signalData/config.xml b/signalData/resources/assay/signalData/config.xml similarity index 100% rename from resources/assay/signalData/config.xml rename to signalData/resources/assay/signalData/config.xml diff --git a/resources/assay/signalData/domains/batch.xml b/signalData/resources/assay/signalData/domains/batch.xml similarity index 100% rename from resources/assay/signalData/domains/batch.xml rename to signalData/resources/assay/signalData/domains/batch.xml diff --git a/resources/assay/signalData/domains/result.xml b/signalData/resources/assay/signalData/domains/result.xml similarity index 100% rename from resources/assay/signalData/domains/result.xml rename to signalData/resources/assay/signalData/domains/result.xml diff --git a/resources/assay/signalData/domains/run.xml b/signalData/resources/assay/signalData/domains/run.xml similarity index 100% rename from resources/assay/signalData/domains/run.xml rename to signalData/resources/assay/signalData/domains/run.xml diff --git a/resources/assay/signalData/queries/Data.query.xml b/signalData/resources/assay/signalData/queries/Data.query.xml similarity index 100% rename from resources/assay/signalData/queries/Data.query.xml rename to signalData/resources/assay/signalData/queries/Data.query.xml diff --git a/resources/assay/signalData/queries/SearchSignalDataData.sql b/signalData/resources/assay/signalData/queries/SearchSignalDataData.sql similarity index 100% rename from resources/assay/signalData/queries/SearchSignalDataData.sql rename to signalData/resources/assay/signalData/queries/SearchSignalDataData.sql diff --git a/resources/assay/signalData/views/begin.html b/signalData/resources/assay/signalData/views/begin.html similarity index 100% rename from resources/assay/signalData/views/begin.html rename to signalData/resources/assay/signalData/views/begin.html diff --git a/resources/assay/signalData/views/begin.view.xml b/signalData/resources/assay/signalData/views/begin.view.xml similarity index 100% rename from resources/assay/signalData/views/begin.view.xml rename to signalData/resources/assay/signalData/views/begin.view.xml diff --git a/resources/assay/signalData/views/upload.html b/signalData/resources/assay/signalData/views/upload.html similarity index 100% rename from resources/assay/signalData/views/upload.html rename to signalData/resources/assay/signalData/views/upload.html diff --git a/resources/views/mockSignalDataWatch.html b/signalData/resources/views/mockSignalDataWatch.html similarity index 100% rename from resources/views/mockSignalDataWatch.html rename to signalData/resources/views/mockSignalDataWatch.html diff --git a/resources/views/mockSignalDataWatch.view.xml b/signalData/resources/views/mockSignalDataWatch.view.xml similarity index 100% rename from resources/views/mockSignalDataWatch.view.xml rename to signalData/resources/views/mockSignalDataWatch.view.xml diff --git a/resources/views/qc.html b/signalData/resources/views/qc.html similarity index 100% rename from resources/views/qc.html rename to signalData/resources/views/qc.html diff --git a/resources/views/qc.view.xml b/signalData/resources/views/qc.view.xml similarity index 100% rename from resources/views/qc.view.xml rename to signalData/resources/views/qc.view.xml diff --git a/resources/views/signalDataUpload.html b/signalData/resources/views/signalDataUpload.html similarity index 100% rename from resources/views/signalDataUpload.html rename to signalData/resources/views/signalDataUpload.html diff --git a/resources/views/signalDataUpload.view.xml b/signalData/resources/views/signalDataUpload.view.xml similarity index 100% rename from resources/views/signalDataUpload.view.xml rename to signalData/resources/views/signalDataUpload.view.xml diff --git a/resources/views/signalDataUpload.webpart.xml b/signalData/resources/views/signalDataUpload.webpart.xml similarity index 100% rename from resources/views/signalDataUpload.webpart.xml rename to signalData/resources/views/signalDataUpload.webpart.xml diff --git a/resources/views/update.html b/signalData/resources/views/update.html similarity index 100% rename from resources/views/update.html rename to signalData/resources/views/update.html diff --git a/resources/views/update.view.xml b/signalData/resources/views/update.view.xml similarity index 100% rename from resources/views/update.view.xml rename to signalData/resources/views/update.view.xml diff --git a/resources/web/signaldata-upload.lib.xml b/signalData/resources/web/signaldata-upload.lib.xml similarity index 100% rename from resources/web/signaldata-upload.lib.xml rename to signalData/resources/web/signaldata-upload.lib.xml diff --git a/resources/web/signaldata/QCView/DataService.js b/signalData/resources/web/signaldata/QCView/DataService.js similarity index 100% rename from resources/web/signaldata/QCView/DataService.js rename to signalData/resources/web/signaldata/QCView/DataService.js diff --git a/resources/web/signaldata/QCView/ProvisionalRun.js b/signalData/resources/web/signaldata/QCView/ProvisionalRun.js similarity index 100% rename from resources/web/signaldata/QCView/ProvisionalRun.js rename to signalData/resources/web/signaldata/QCView/ProvisionalRun.js diff --git a/resources/web/signaldata/QCView/QualityControl.js b/signalData/resources/web/signaldata/QCView/QualityControl.js similarity index 100% rename from resources/web/signaldata/QCView/QualityControl.js rename to signalData/resources/web/signaldata/QCView/QualityControl.js diff --git a/resources/web/signaldata/QCView/SampleCreator.js b/signalData/resources/web/signaldata/QCView/SampleCreator.js similarity index 100% rename from resources/web/signaldata/QCView/SampleCreator.js rename to signalData/resources/web/signaldata/QCView/SampleCreator.js diff --git a/resources/web/signaldata/QCView/SpectrumPlot.js b/signalData/resources/web/signaldata/QCView/SpectrumPlot.js similarity index 100% rename from resources/web/signaldata/QCView/SpectrumPlot.js rename to signalData/resources/web/signaldata/QCView/SpectrumPlot.js diff --git a/resources/web/signaldata/QCView/Stats.js b/signalData/resources/web/signaldata/QCView/Stats.js similarity index 100% rename from resources/web/signaldata/QCView/Stats.js rename to signalData/resources/web/signaldata/QCView/Stats.js diff --git a/resources/web/signaldata/QCView/regression.js b/signalData/resources/web/signaldata/QCView/regression.js similarity index 100% rename from resources/web/signaldata/QCView/regression.js rename to signalData/resources/web/signaldata/QCView/regression.js diff --git a/resources/web/signaldata/QCView/signaldata.js b/signalData/resources/web/signaldata/QCView/signaldata.js similarity index 100% rename from resources/web/signaldata/QCView/signaldata.js rename to signalData/resources/web/signaldata/QCView/signaldata.js diff --git a/resources/web/signaldata/ResultUpdate/resultupdate.js b/signalData/resources/web/signaldata/ResultUpdate/resultupdate.js similarity index 100% rename from resources/web/signaldata/ResultUpdate/resultupdate.js rename to signalData/resources/web/signaldata/ResultUpdate/resultupdate.js diff --git a/resources/web/signaldata/UploadView/UploadLog.js b/signalData/resources/web/signaldata/UploadView/UploadLog.js similarity index 100% rename from resources/web/signaldata/UploadView/UploadLog.js rename to signalData/resources/web/signaldata/UploadView/UploadLog.js diff --git a/resources/web/signaldata/UploadView/uploadResultDataForm.js b/signalData/resources/web/signaldata/UploadView/uploadResultDataForm.js similarity index 100% rename from resources/web/signaldata/UploadView/uploadResultDataForm.js rename to signalData/resources/web/signaldata/UploadView/uploadResultDataForm.js diff --git a/resources/web/signaldata/UploadView/uploadResultFiles.js b/signalData/resources/web/signaldata/UploadView/uploadResultFiles.js similarity index 100% rename from resources/web/signaldata/UploadView/uploadResultFiles.js rename to signalData/resources/web/signaldata/UploadView/uploadResultFiles.js diff --git a/resources/web/signaldata/signaldata.css b/signalData/resources/web/signaldata/signaldata.css similarity index 100% rename from resources/web/signaldata/signaldata.css rename to signalData/resources/web/signaldata/signaldata.css diff --git a/src/org/labkey/signaldata/SignalDataController.java b/signalData/src/org/labkey/signaldata/SignalDataController.java similarity index 100% rename from src/org/labkey/signaldata/SignalDataController.java rename to signalData/src/org/labkey/signaldata/SignalDataController.java diff --git a/src/org/labkey/signaldata/SignalDataModule.java b/signalData/src/org/labkey/signaldata/SignalDataModule.java similarity index 100% rename from src/org/labkey/signaldata/SignalDataModule.java rename to signalData/src/org/labkey/signaldata/SignalDataModule.java diff --git a/src/org/labkey/signaldata/assay/SignalDataAssayDataHandler.java b/signalData/src/org/labkey/signaldata/assay/SignalDataAssayDataHandler.java similarity index 100% rename from src/org/labkey/signaldata/assay/SignalDataAssayDataHandler.java rename to signalData/src/org/labkey/signaldata/assay/SignalDataAssayDataHandler.java diff --git a/test/sampledata/signaldata/RunsMetadata/datafiles.tsv b/signalData/test/sampledata/signaldata/RunsMetadata/datafiles.tsv similarity index 100% rename from test/sampledata/signaldata/RunsMetadata/datafiles.tsv rename to signalData/test/sampledata/signaldata/RunsMetadata/datafiles.tsv diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/BLANK235.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/BLANK235.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/BLANK235.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/BLANK235.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC10030.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC10030.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC10030.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC10030.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC12392.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC12392.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC12392.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC12392.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC14332.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC14332.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC14332.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC14332.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC16080.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC16080.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC16080.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC16080.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC20371.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC20371.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC20371.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC20371.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC21318.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC21318.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC21318.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC21318.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC40060.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC40060.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC40060.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC40060.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC44214.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC44214.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC44214.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC44214.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC60342.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC60342.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC60342.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC60342.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC80021.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC80021.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC80021.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC80021.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC81029.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC81029.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC81029.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/LGC81029.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP10055.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP10055.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP10055.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP10055.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP12502.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP12502.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP12502.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP12502.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP15430.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP15430.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP15430.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP15430.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP16185.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP16185.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP16185.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP16185.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP16E57.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP16E57.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP16E57.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP16E57.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP20474.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP20474.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP20474.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP20474.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP2152.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP2152.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP2152.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP2152.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP22326.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP22326.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP22326.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP22326.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP40162.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP40162.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP40162.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP40162.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP45218.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP45218.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP45218.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP45218.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP60445.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP60445.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP60445.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP60445.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP80274.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP80274.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP80274.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP80274.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP82113.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP82113.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP82113.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/MPP82113.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/POST2242.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/POST2242.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/POST2242.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/POST2242.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/PRE23181.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/PRE23181.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/PRE23181.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/PRE23181.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/QD123-11.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/QD123-11.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/QD123-11.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/QD123-11.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/QD123-24.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/QD123-24.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/QD123-24.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/QD123-24.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/QD123-31.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/QD123-31.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/QD123-31.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/QD123-31.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/TD789-12.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/TD789-12.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/TD789-12.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/TD789-12.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/TD789-25.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/TD789-25.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/TD789-25.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/TD789-25.TXT diff --git a/test/sampledata/signaldata/SignalDataAssayData/TestRun001/TD789-32.TXT b/signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/TD789-32.TXT similarity index 100% rename from test/sampledata/signaldata/SignalDataAssayData/TestRun001/TD789-32.TXT rename to signalData/test/sampledata/signaldata/SignalDataAssayData/TestRun001/TD789-32.TXT diff --git a/test/src/org/labkey/test/pages/signaldata/SignalDataAssayBeginPage.java b/signalData/test/src/org/labkey/test/pages/signaldata/SignalDataAssayBeginPage.java similarity index 100% rename from test/src/org/labkey/test/pages/signaldata/SignalDataAssayBeginPage.java rename to signalData/test/src/org/labkey/test/pages/signaldata/SignalDataAssayBeginPage.java diff --git a/test/src/org/labkey/test/pages/signaldata/SignalDataRunViewerPage.java b/signalData/test/src/org/labkey/test/pages/signaldata/SignalDataRunViewerPage.java similarity index 100% rename from test/src/org/labkey/test/pages/signaldata/SignalDataRunViewerPage.java rename to signalData/test/src/org/labkey/test/pages/signaldata/SignalDataRunViewerPage.java diff --git a/test/src/org/labkey/test/pages/signaldata/SignalDataUploadPage.java b/signalData/test/src/org/labkey/test/pages/signaldata/SignalDataUploadPage.java similarity index 100% rename from test/src/org/labkey/test/pages/signaldata/SignalDataUploadPage.java rename to signalData/test/src/org/labkey/test/pages/signaldata/SignalDataUploadPage.java diff --git a/test/src/org/labkey/test/tests/signaldata/SignalDataRawTest.java b/signalData/test/src/org/labkey/test/tests/signaldata/SignalDataRawTest.java similarity index 100% rename from test/src/org/labkey/test/tests/signaldata/SignalDataRawTest.java rename to signalData/test/src/org/labkey/test/tests/signaldata/SignalDataRawTest.java diff --git a/test/src/org/labkey/test/util/signaldata/SignalDataInitializer.java b/signalData/test/src/org/labkey/test/util/signaldata/SignalDataInitializer.java similarity index 100% rename from test/src/org/labkey/test/util/signaldata/SignalDataInitializer.java rename to signalData/test/src/org/labkey/test/util/signaldata/SignalDataInitializer.java