Skip to content
Merged
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
Original file line number Diff line number Diff line change
Expand Up @@ -178,11 +178,8 @@ public void doStartup(ModuleContext moduleContext)

SearchService ss = SearchService.get();

if (null != ss)
{
ss.addSearchCategory(AnnouncementManager.searchCategory);
ss.addDocumentProvider(this);
}
ss.addSearchCategory(AnnouncementManager.searchCategory);
ss.addDocumentProvider(this);

FolderSerializationRegistry fsr = FolderSerializationRegistry.get();
if (null != fsr)
Expand Down
8 changes: 2 additions & 6 deletions api/src/org/labkey/api/data/ContainerManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -1910,12 +1910,8 @@ private static boolean delete(final Container c, User user, @Nullable String com

LOG.debug("Starting container delete for " + c.getContainerNoun(true) + " " + c.getPath());

SearchService ss = SearchService.get();
if (ss != null)
{
// Tell the search indexer to drop work for the container that's about to be deleted
ss.purgeForContainer(c);
}
// Tell the search indexer to drop work for the container that's about to be deleted
SearchService.get().purgeForContainer(c);

DbScope.RetryFn<Boolean> tryDeleteContainer = (tx) ->
{
Expand Down
18 changes: 7 additions & 11 deletions api/src/org/labkey/api/search/SearchResultTemplate.java
Original file line number Diff line number Diff line change
Expand Up @@ -79,19 +79,15 @@ default void addNavTrail(NavTree root, ViewContext ctx, @NotNull SearchScope sco
break;
}

SearchService ss = SearchService.get();
if (ss != null)
{
List<SearchCategory> categories = ss.getCategories(category);
List<SearchCategory> categories = SearchService.get().getCategories(category);

if (null != categories)
{
List<String> list = categories.stream()
.map(SearchCategory::getDescription)
.toList();
if (null != categories)
{
List<String> list = categories.stream()
.map(SearchCategory::getDescription)
.toList();

title += " for " + StringUtilsLabKey.joinWithConjunction(list, "and");
}
title += " for " + StringUtilsLabKey.joinWithConjunction(list, "and");
}

root.addChild(title);
Expand Down
2 changes: 1 addition & 1 deletion api/src/org/labkey/api/search/SearchService.java
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ static void stripDocIdParameterAndRedirect(@NotNull ActionURL url)
// marker value for documents with indexing errors
Date failDate = new Timestamp(DateUtil.parseISODateTime("1899-12-30"));

static final SearchService NO_OP = new NoopSearchService();
SearchService NO_OP = new NoopSearchService();

static @NotNull SearchService get()
{
Expand Down
5 changes: 2 additions & 3 deletions api/src/org/labkey/api/webdav/AbstractWebdavResource.java
Original file line number Diff line number Diff line change
Expand Up @@ -185,9 +185,8 @@ public User getModifiedBy()
@Override
public void setLastIndexed(long indexed, long modified)
{
SearchService ss = SearchService.get();
if (isFile() && ss != null)
ss.setLastIndexedForPath(getPath(), indexed, modified);
if (isFile())
SearchService.get().setLastIndexedForPath(getPath(), indexed, modified);
}

@Override
Expand Down
51 changes: 24 additions & 27 deletions assay/src/org/labkey/assay/AssayModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -202,33 +202,30 @@ protected void startupAfterSpringConfig(ModuleContext moduleContext)
PlateManager.get().registerLsidHandlers();
SearchService ss = SearchService.get();

if (null != ss)
{
// ASSAY_CATEGORY
ss.addSearchCategory(AssayManager.get().ASSAY_CATEGORY);
ss.addResourceResolver(AssayManager.get().ASSAY_CATEGORY.getName(), AssayDocumentProvider.getSearchResolver());
ss.addDocumentProvider(new AssayDocumentProvider());

// ASSAY_RUN_CATEGORY
ss.addSearchCategory(AssayManager.get().ASSAY_RUN_CATEGORY);
ss.addResourceResolver(AssayManager.get().ASSAY_RUN_CATEGORY.getName(), AssayRunDocumentProvider.getResourceResolver());
ss.addDocumentProvider(new AssayRunDocumentProvider());

// ASSAY_BATCH_CATEGORY
ss.addSearchCategory(AssayManager.get().ASSAY_BATCH_CATEGORY);
ss.addResourceResolver(AssayManager.get().ASSAY_BATCH_CATEGORY.getName(), AssayBatchDocumentProvider.getResourceResolver());
ss.addDocumentProvider(new AssayBatchDocumentProvider());

// PLATE_CATEGORY
ss.addSearchCategory(PlateManager.get().PLATE_CATEGORY);
ss.addResourceResolver(PlateManager.get().PLATE_CATEGORY.getName(), PlateDocumentProvider.getResourceResolver());
ss.addDocumentProvider(new PlateDocumentProvider());

// PLATE_SET_CATEGORY
ss.addSearchCategory(PlateManager.get().PLATE_SET_CATEGORY);
ss.addResourceResolver(PlateManager.get().PLATE_SET_CATEGORY.getName(), PlateSetDocumentProvider.getResourceResolver());
ss.addDocumentProvider(new PlateSetDocumentProvider());
}
// ASSAY_CATEGORY
ss.addSearchCategory(AssayManager.get().ASSAY_CATEGORY);
ss.addResourceResolver(AssayManager.get().ASSAY_CATEGORY.getName(), AssayDocumentProvider.getSearchResolver());
ss.addDocumentProvider(new AssayDocumentProvider());

// ASSAY_RUN_CATEGORY
ss.addSearchCategory(AssayManager.get().ASSAY_RUN_CATEGORY);
ss.addResourceResolver(AssayManager.get().ASSAY_RUN_CATEGORY.getName(), AssayRunDocumentProvider.getResourceResolver());
ss.addDocumentProvider(new AssayRunDocumentProvider());

// ASSAY_BATCH_CATEGORY
ss.addSearchCategory(AssayManager.get().ASSAY_BATCH_CATEGORY);
ss.addResourceResolver(AssayManager.get().ASSAY_BATCH_CATEGORY.getName(), AssayBatchDocumentProvider.getResourceResolver());
ss.addDocumentProvider(new AssayBatchDocumentProvider());

// PLATE_CATEGORY
ss.addSearchCategory(PlateManager.get().PLATE_CATEGORY);
ss.addResourceResolver(PlateManager.get().PLATE_CATEGORY.getName(), PlateDocumentProvider.getResourceResolver());
ss.addDocumentProvider(new PlateDocumentProvider());

// PLATE_SET_CATEGORY
ss.addSearchCategory(PlateManager.get().PLATE_SET_CATEGORY);
ss.addResourceResolver(PlateManager.get().PLATE_SET_CATEGORY.getName(), PlateSetDocumentProvider.getResourceResolver());
ss.addDocumentProvider(new PlateSetDocumentProvider());

// add a container listener so we'll know when our container is deleted:
ContainerManager.addContainerListener(new AssayContainerListener());
Expand Down
19 changes: 7 additions & 12 deletions core/src/org/labkey/core/CoreContainerListener.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
import java.beans.PropertyChangeEvent;
import java.util.Collection;
import java.util.Collections;
import java.util.Objects;

public class CoreContainerListener implements ContainerManager.ContainerListener
{
Expand All @@ -54,9 +55,7 @@ public void containerCreated(Container c, User user, @Nullable String auditMsg)
{
String message = auditMsg == null ? c.getContainerNoun(true) + " " + c.getName() + " was created" : auditMsg;
addAuditEvent(user, c, message);
SearchService ss = SearchService.get();
if (ss != null)
((CoreModule)ModuleLoader.getInstance().getCoreModule()).enumerateDocuments(ss.defaultTask().getQueue(c, SearchService.PRIORITY.modified), null);
((CoreModule)ModuleLoader.getInstance().getCoreModule()).enumerateDocuments(SearchService.get().defaultTask().getQueue(c, SearchService.PRIORITY.modified), null);
}

@Override
Expand Down Expand Up @@ -110,16 +109,12 @@ public void propertyChange(PropertyChangeEvent propertyChangeEvent)
Container c = evt.container;
((CoreModule) ModuleLoader.getInstance().getCoreModule()).enumerateDocuments(SearchService.get().defaultTask().getQueue(c, SearchService.PRIORITY.modified), null);

switch (evt.property)
if (Objects.requireNonNull(evt.property) == ContainerManager.Property.Name)
{
case Name:
{
String oldValue = (String) evt.getOldValue();
String newValue = (String) evt.getNewValue();
String message = c.getName() + " was renamed from " + oldValue + " to " + newValue;
addAuditEvent(evt.user, c, message);
break;
}
String oldValue = (String) evt.getOldValue();
String newValue = (String) evt.getNewValue();
String message = c.getName() + " was renamed from " + oldValue + " to " + newValue;
addAuditEvent(evt.user, c, message);
}
}
}
19 changes: 8 additions & 11 deletions core/src/org/labkey/core/CoreModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -1130,17 +1130,14 @@ public void moduleStartupComplete(ServletContext servletContext)
}

SearchService ss = SearchService.get();
if (null != ss)
{
ss.addDocumentParser(new TabLoader.CsvFactoryNoConversions());
ss.addDocumentProvider(this);

// Register indexable DataLoaders with the search service
DataLoaderServiceImpl.get().getFactories()
.stream()
.filter(DataLoaderFactory::indexable)
.forEach(ss::addDocumentParser);
}
ss.addDocumentParser(new TabLoader.CsvFactoryNoConversions());
ss.addDocumentProvider(this);

// Register indexable DataLoaders with the search service
DataLoaderServiceImpl.get().getFactories()
.stream()
.filter(DataLoaderFactory::indexable)
.forEach(ss::addDocumentParser);

OptionalFeatureService.get().addExperimentalFeatureFlag(AppProps.EXPERIMENTAL_NO_GUESTS,
"No Guest Account",
Expand Down
8 changes: 2 additions & 6 deletions core/src/org/labkey/core/admin/AdminController.java
Original file line number Diff line number Diff line change
Expand Up @@ -3716,12 +3716,8 @@ private void clearCaches()
Introspector.flushCaches();
LOG.info("Purging all caches");
CacheManager.clearAllKnownCaches();
SearchService ss = SearchService.get();
if (null != ss)
{
LOG.info("Purging SearchService queues");
ss.purgeQueues();
}
LOG.info("Purging SearchService queues");
SearchService.get().purgeQueues();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -438,9 +438,7 @@ private void deleteIndexedAttachment(AttachmentParent parent, String name)

private void deleteIndexedAttachment(String parent, String name)
{
SearchService ss = SearchService.get();
if (ss != null)
ss.deleteResource(makeDocId(parent, name));
SearchService.get().deleteResource(makeDocId(parent, name));
new SqlExecutor(CoreSchema.getInstance().getSchema()).execute(new SQLFragment(
"UPDATE core.Documents SET LastIndexed = NULL WHERE LastIndexed IS NOT NULL AND Parent = ? AND DocumentName = ?", parent, name)
);
Expand Down Expand Up @@ -549,7 +547,6 @@ public void copyAttachment(AttachmentParent parent, Attachment a, String newName
@Override
public void moveAttachments(Container newContainer, List<AttachmentParent> parents, User auditUser) throws IOException
{
SearchService ss = SearchService.get();
for (AttachmentParent parent : parents)
{
checkSecurityPolicy(auditUser, parent);
Expand Down
8 changes: 2 additions & 6 deletions core/src/org/labkey/core/webdav/DavController.java
Original file line number Diff line number Diff line change
Expand Up @@ -801,9 +801,7 @@ else if ("GET".equals(method) && HttpUtil.isBrowser(getRequest()))
setLastError(dex);
if (dex.getStatus().equals(WebdavStatus.SC_NOT_FOUND))
{
SearchService ss = SearchService.get();
if (null != ss)
ss.notFound((URLHelper)getRequest().getAttribute(ViewServlet.ORIGINAL_URL_URLHELPER));
SearchService.get().notFound((URLHelper)getRequest().getAttribute(ViewServlet.ORIGINAL_URL_URLHELPER));
}
getResponse().sendError(dex.getStatus(), dex.getMessage());

Expand Down Expand Up @@ -6503,9 +6501,7 @@ private void addToIndex(WebdavResource r)
private void removeFromIndex(WebdavResource r)
{
_log.debug("removeFromIndex: " + r.getPath());
SearchService ss = SearchService.get();
if (null != ss)
ss.deleteResource(r.getDocumentId());
SearchService.get().deleteResource(r.getDocumentId());
}


Expand Down
20 changes: 8 additions & 12 deletions experiment/src/org/labkey/experiment/ExpDataIterators.java
Original file line number Diff line number Diff line change
Expand Up @@ -2038,19 +2038,15 @@ public boolean next() throws BatchValidationException
}
else
{
final SearchService ss = SearchService.get();
if (null != ss)
{
final ArrayList<String> lsids = new ArrayList<>(_lsids);
final ArrayList<Long> rowIds = new LongArrayList(_rowIds);
Collections.sort(rowIds);
final Runnable indexTask = _indexFunction.apply(new SearchIndexDataKeys(rowIds, lsids));
final ArrayList<String> lsids = new ArrayList<>(_lsids);
final ArrayList<Long> rowIds = new LongArrayList(_rowIds);
Collections.sort(rowIds);
final Runnable indexTask = _indexFunction.apply(new SearchIndexDataKeys(rowIds, lsids));

if (null != DbScope.getLabKeyScope())
DbScope.getLabKeyScope().addCommitTask(indexTask, DbScope.CommitTaskOption.POSTCOMMIT);
else
indexTask.run();
}
if (null != DbScope.getLabKeyScope())
DbScope.getLabKeyScope().addCommitTask(indexTask, DbScope.CommitTaskOption.POSTCOMMIT);
else
indexTask.run();
}
return hasNext;
}
Expand Down
16 changes: 4 additions & 12 deletions experiment/src/org/labkey/experiment/ExperimentModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -353,9 +353,7 @@ public WebPartView<?> getWebPartView(@NotNull ViewContext portalCtx, @NotNull Po

private void addDataResourceResolver(String categoryName)
{
SearchService ss = SearchService.get();

ss.addResourceResolver(categoryName, new SearchService.ResourceResolver()
SearchService.get().addResourceResolver(categoryName, new SearchService.ResourceResolver()
{
@Override
public WebdavResource resolve(@NotNull String resourceIdentifier)
Expand Down Expand Up @@ -394,9 +392,7 @@ public Map<String, Map<String, Object>> getCustomSearchJsonMap(User user, @NotNu

private void addDataClassResourceResolver(String categoryName)
{
SearchService ss = SearchService.get();

ss.addResourceResolver(categoryName, new SearchService.ResourceResolver(){
SearchService.get().addResourceResolver(categoryName, new SearchService.ResourceResolver(){
@Override
public Map<String, Object> getCustomSearchJson(User user, @NotNull String resourceIdentifier)
{
Expand All @@ -420,9 +416,7 @@ public Map<String, Object> getCustomSearchJson(User user, @NotNull String resour

private void addSampleTypeResourceResolver(String categoryName)
{
SearchService ss = SearchService.get();

ss.addResourceResolver(categoryName, new SearchService.ResourceResolver(){
SearchService.get().addResourceResolver(categoryName, new SearchService.ResourceResolver(){
@Override
public Map<String, Object> getCustomSearchJson(User user, @NotNull String resourceIdentifier)
{
Expand All @@ -446,9 +440,7 @@ public Map<String, Object> getCustomSearchJson(User user, @NotNull String resour

private void addSampleResourceResolver(String categoryName)
{
SearchService ss = SearchService.get();

ss.addResourceResolver(categoryName, new SearchService.ResourceResolver(){
SearchService.get().addResourceResolver(categoryName, new SearchService.ResourceResolver(){
@Override
public Map<String, Object> getCustomSearchJson(User user, @NotNull String resourceIdentifier)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6052,13 +6052,9 @@ public void deleteDataClass(long rowId, Container c, User user, @Nullable final
QueryService.get().fireQueryDeleted(user, c, null, ExpSchema.SCHEMA_EXP_DATA, singleton(dataClass.getName()));

// remove DataClass from search index
SearchService ss = SearchService.get();
if (null != ss)
try (Timing ignored = MiniProfiler.step("search docs"))
{
try (Timing ignored = MiniProfiler.step("search docs"))
{
ss.deleteResource(dataClass.getDocumentId());
}
SearchService.get().deleteResource(dataClass.getDocumentId());
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7422,10 +7422,6 @@ public static class CheckDataClassesIndexedAction extends ReadOnlyApiAction<Obje
@Override
public Object execute(Object o, BindException errors) throws Exception
{
SearchService search = SearchService.get();
if (search == null)
return null;

List<Map<String, Object>> notInIndex = new ArrayList<>(100);

List<? extends ExpDataClass> list = ExperimentService.get().getDataClasses(getContainer(), getUser(), false);
Expand All @@ -7436,7 +7432,7 @@ public Object execute(Object o, BindException errors) throws Exception
String docId = d.getDocumentId();
if (docId != null)
{
SearchService.SearchHit hit = search.find(docId);
SearchService.SearchHit hit = SearchService.get().find(docId);
if (hit == null)
{
JSONObject props = ExperimentJSONConverter.serializeData(d, getUser(), ExperimentJSONConverter.DEFAULT_SETTINGS);
Expand Down
11 changes: 4 additions & 7 deletions issues/src/org/labkey/issue/IssuesModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -144,13 +144,10 @@ public void doStartup(ModuleContext moduleContext)

SearchService ss = SearchService.get();

if (null != ss)
{
ss.addSearchCategory(IssueManager.searchCategory);
ss.addResourceResolver("issue", IssueManager.getSearchResolver());
ss.addDocumentProvider(this);
ss.addSearchResultTemplate(new IssuesController.IssueSearchResultTemplate());
}
ss.addSearchCategory(IssueManager.searchCategory);
ss.addResourceResolver("issue", IssueManager.getSearchResolver());
ss.addDocumentProvider(this);
ss.addSearchResultTemplate(new IssuesController.IssueSearchResultTemplate());

UsageMetricsService svc = UsageMetricsService.get();
if (svc != null)
Expand Down
7 changes: 2 additions & 5 deletions list/src/org/labkey/list/ListModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -138,11 +138,8 @@ public void startupAfterSpringConfig(ModuleContext moduleContext)
}

SearchService ss = SearchService.get();
if (null != ss)
{
ss.addDocumentProvider(ListManager.get());
ss.addSearchCategory(ListManager.listCategory);
}
ss.addDocumentProvider(ListManager.get());
ss.addSearchCategory(ListManager.listCategory);

AdminLinkManager.getInstance().addListener((adminNavTree, container, user) ->
{
Expand Down
Loading