Skip to content

Commit 84a3140

Browse files
authored
Experiment: Fix filter for deleting data/material input (#7330)
1 parent bfb0020 commit 84a3140

2 files changed

Lines changed: 3 additions & 3 deletions

File tree

api/src/org/labkey/api/exp/api/ExpLineage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,7 @@ else if ((clazz == ExpMaterial.class && target instanceof ExpMaterial) ||
384384
}
385385
else // ExpMaterial or generic Identifiable
386386
{
387-
if (!seen.contains(target))
387+
if (!seen.contains(target) && target != null)
388388
{
389389
stack.add(target);
390390
seen.add(target);

experiment/src/org/labkey/experiment/api/ExpProtocolApplicationImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ private long deleteDataInputs()
397397
OntologyManager.deleteOntologyObjects(svc.getSchema(), new SQLFragment("SELECT " +
398398
dialect.concatenate("'" + DataInput.lsidPrefix() + "'",
399399
"CAST(dataId AS VARCHAR)", "'.'", "CAST(targetApplicationId AS VARCHAR)") +
400-
" FROM " + svc.getTinfoDataInput() + " WHERE TargetApplicationId IN (SELECT RowId FROM exp.ProtocolApplication WHERE RunId = " + getRowId() + ")"), getContainer());
400+
" FROM " + svc.getTinfoDataInput() + " WHERE TargetApplicationId = ?", getRowId()), getContainer());
401401

402402
return Table.delete(ExperimentServiceImpl.get().getTinfoDataInput(), new SimpleFilter(FieldKey.fromParts("TargetApplicationId"), getRowId()));
403403
}
@@ -413,7 +413,7 @@ private long deleteMaterialInputs()
413413
OntologyManager.deleteOntologyObjects(svc.getSchema(), new SQLFragment("SELECT " +
414414
dialect.concatenate("'" + MaterialInput.lsidPrefix() + "'",
415415
"CAST(materialId AS VARCHAR)", "'.'", "CAST(targetApplicationId AS VARCHAR)") +
416-
" FROM " + svc.getTinfoMaterialInput() + " WHERE TargetApplicationId IN (SELECT RowId FROM exp.ProtocolApplication WHERE RunId = " + getRowId() + ")"), getContainer());
416+
" FROM " + svc.getTinfoMaterialInput() + " WHERE TargetApplicationId = ?", getRowId()), getContainer());
417417

418418
return Table.delete(ExperimentServiceImpl.get().getTinfoMaterialInput(), new SimpleFilter(FieldKey.fromParts("TargetApplicationId"), getRowId()));
419419
}

0 commit comments

Comments
 (0)