Repository navigation
Backend/proxy - #41
Merged
Merged
Conversation
…ne plugin integration - Remove appending in SearchController.buildQidoParams() for free-text queries — Lucene's QueryParser.escape() escapes the making it a literal character, so never matched anything. - Add listAllInstances() to QueryIndexStorageLocator interface and all implementors (LuceneQueryIndexPlugin, FileReadOnlyStoragePlugin, FileReadWriteStoragePlugin) for the /dump endpoint. - Merge application-test.yml duplicate query.lucene keys into one section. - Restore application.yml from backend/implementation with lucene + legacy-proxy config (was overwritten by proxy merge). - Remove stale FileReadWriteDimseFindPlugin bean from FileQueryConfig. - Add jackson-databind and spring-boot-starter-test deps to dicomweb module. - Add spring-boot-starter-web and mockwebserver 4.12.0 to legacy-proxy module for compilation. - Fix privateTagFallsBackToHex test tag (0x00090011 -> 0x00091001) to avoid dcm4che PrivateCreatorID handling.
…ExceptionHandler catch-all from swallowing NoResourceFoundException
Enet4
reviewed
Jun 2, 2026
| public final class DicomTagTransformer { | ||
|
|
||
| /** DICOM tag for pixel data — always excluded from dump output. */ | ||
| private static final int TAG_PIXEL_DATA = 0x7FE00010; |
There was a problem hiding this comment.
DICOM tag constants are already available in dcm4che. If you import org.dcm4che3.data.Tag:
Suggested change
| private static final int TAG_PIXEL_DATA = 0x7FE00010; | |
| private static final int TAG_PIXEL_DATA = Tag.PixelData; |
Contributor
Author
There was a problem hiding this comment.
The changes can be found on the following PR
| * @return an unordered list of all instance URIs; empty if none are indexed | ||
| * @throws IOException if a recoverable I/O error occurs during lookup | ||
| */ | ||
| List<URI> listAllInstances() throws IOException; |
There was a problem hiding this comment.
I still recommend that this method is dropped. The alternatives, depending on use case:
- Use the query interface with a catch-all query to get a list of all instances;
- Use list/get operations of the storage provider to recursively find all files in storage.
| for (QueryIndexStorageLocator plugin : queryLocators) { | ||
| List<URI> allLocations; | ||
| try { | ||
| allLocations = plugin.listAllInstances(); |
There was a problem hiding this comment.
We need to proceed with defining the internal query interface. It does not make sense to request the full list of instances when the goal of this method is to retrieve the attributes of a single instance.
Contributor
Author
There was a problem hiding this comment.
The changes can be found on the following PR
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implementation of a proxy that default non existing endpoint to the current dicoogle backend.