Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions api/src/org/labkey/api/dataiterator/AbstractDataIterator.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

package org.labkey.api.dataiterator;

import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.labkey.api.query.BatchValidationException;
import org.labkey.api.query.QueryUpdateService;
Expand Down Expand Up @@ -143,6 +144,15 @@ protected String getDataSource()
return _context.getDataSource();
}

protected boolean hasLoggedWarning(@NotNull String warning)
{
return _context.hasLoggedWarning(warning);
}

protected void addLoggedWarning(@NotNull String warning)
{
_context.addLoggedWarning(warning);
}

protected Integer indexOfExistingRecord;

Expand Down
12 changes: 12 additions & 0 deletions api/src/org/labkey/api/dataiterator/DataIteratorContext.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@

import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

Expand Down Expand Up @@ -60,6 +61,7 @@ public class DataIteratorContext
private final Set<String> _passThroughBuiltInColumnNames = new CaseInsensitiveHashSet();
private final Set<String> _dontUpdateColumnNames = new CaseInsensitiveHashSet();
private final Set<String> _alternateKeys = new CaseInsensitiveHashSet();
private final Set<String> _loggedWarnings = new HashSet<>();
private String _dataSource;
private boolean _withLookupRemapping = true;

Expand Down Expand Up @@ -337,4 +339,14 @@ public QueryImportPipelineJob getBackgroundJob()
return _backgroundJob;
}

public boolean hasLoggedWarning(@NotNull String warning)
{
return _loggedWarnings.contains(warning);
}

public void addLoggedWarning(@NotNull String warning)
{
_loggedWarnings.add(warning);
}

}
16 changes: 14 additions & 2 deletions api/src/org/labkey/api/dataiterator/SimpleTranslator.java
Original file line number Diff line number Diff line change
Expand Up @@ -557,9 +557,21 @@ private Object getDerivationData(Object thisValue, int derivationDataColInd, boo
if (thisValue != null)
{
if (isDerivationField && presentDerivationWarning != null)
LOG.warn(presentDerivationWarning);
{
if (!hasLoggedWarning(presentDerivationWarning))
{
LOG.warn(presentDerivationWarning);
addLoggedWarning(presentDerivationWarning);
}
}
else if (!isDerivationField && presentNonDerivationWarning != null)
LOG.warn(presentNonDerivationWarning);
{
if (!hasLoggedWarning(presentNonDerivationWarning))
{
LOG.warn(presentNonDerivationWarning);
addLoggedWarning(presentNonDerivationWarning);
}
}
}

return null;
Expand Down