Skip to content

Files

Latest commit

4f71800 · May 15, 2019

History

History
48 lines (29 loc) · 1.94 KB

TODO_ContainerFilter.md

File metadata and controls

48 lines (29 loc) · 1.94 KB

remove interface ContainerFilterable (migrate method to protected methods e.g. on FilteredTable)

remove class DelegatingContainerFilter

test ContainerFilter for ExperimentService.get().createQCFlagsTable

SpecimenForeignKey calls to getSpecimenTableInfo(null)

Find classes that override:

  • UserSchema.createTable(String name)
  • AssayProtocolSchema.createProviderTable(String name)
  • AssayProtocolSchema.createDataTable(boolean includeCopiedToStudyColumns)
  • AssayProtocolSchema.createRunsTable()
  • AssayResultTable.AssayResultTable(AssayProtocolSchema schema, boolean includeCopiedToStudyColumns)

convert schemas: ms2, study, annoucements, flow

Find classes that use constructor

  • SimpleTable(SchemaType schema, TableInfo table)

Who is still depending on AbstractExpSchema.setupTable(T table) to set containerFilter???

LineageTableInfo

More clean up of QueryForeignKey (Builder?) More clean up of PdLookupForeignKey (.create()?)

QueryDefinitionImpl.getTable() remove usage of deprecated method w/o ContainerFilter

Issues.AllIssuesTable IsuesTable.RelatedIssues lookup uses setFk() on locked table

search for "TODO ContainerFilter"

Check subclasses of LookupForeignKey. getLookupTableInfo() should use getLookupContainerFilter()

update MultiValuedForeignKey to take CF, check usages of passed in FK to make sure they are configured with CF

Check that subclasses of QueryView initialize ContainerFilter when they construct TableInfo

How does setting effectiveContainer (when != source container) on QFK affect the ContainerFilter? If effectiveContainer != sourceContainer maybe it should have the same effect as setting lookupContainer? see for instance, ExperimentsTable in oconnorexperiments

OTHER BIGGER IDEAS

  • separate ContainerFilter factory e.g. CurrentContainer(?) from ContainerFilter bound instance e.g. "CurrentContainer("/home")
  • Make ColumnInfo and ColumnRenderProperties read-only interfaces and AbstactColumnInfo the constrctable implementation