Skip to content

Commit dd5a088

Browse files
committed
Add search param documentation
1 parent 2175c84 commit dd5a088

File tree

4 files changed

+32
-6
lines changed

4 files changed

+32
-6
lines changed

src/main/java/org/phoebus/channelfinder/CFResourceDescriptors.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,12 @@ public class CFResourceDescriptors {
99
public static final String CHANNEL_RESOURCE_URI = CF_SERVICE + "/resources/channels";
1010
public static final String SCROLL_RESOURCE_URI = CF_SERVICE + "/resources/scroll";
1111
public static final String CHANNEL_PROCESSOR_RESOURCE_URI = CF_SERVICE + "/resources/processors";
12+
13+
public static final String SEARCH_PARAM_DESCRIPTION =
14+
"Search parameters. Examples:\n" +
15+
"- ~name: Filter by channel name (e.g., ~name=SR*)\n" +
16+
"- ~tag: Filter by tag name, use ! to negate (e.g., ~tag=active)\n" +
17+
"- ~size: Number of results (e.g., ~size=100)\n" +
18+
"- ~from: Starting index (e.g., ~from=0)\n" +
19+
"Use |,; as value separators";
1220
}

src/main/java/org/phoebus/channelfinder/ChannelManager.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import io.swagger.v3.oas.annotations.responses.ApiResponse;
99
import io.swagger.v3.oas.annotations.responses.ApiResponses;
1010
import io.swagger.v3.oas.annotations.Operation;
11+
import io.swagger.v3.oas.annotations.Parameter;
1112
import org.phoebus.channelfinder.AuthorizationService.ROLES;
1213
import org.phoebus.channelfinder.entity.Channel;
1314
import org.phoebus.channelfinder.entity.Property;
@@ -42,6 +43,7 @@
4243
import java.util.stream.StreamSupport;
4344

4445
import static org.phoebus.channelfinder.CFResourceDescriptors.CHANNEL_RESOURCE_URI;
46+
import static org.phoebus.channelfinder.CFResourceDescriptors.SEARCH_PARAM_DESCRIPTION;
4547

4648
@CrossOrigin
4749
@RestController
@@ -93,7 +95,9 @@ public class ChannelManager {
9395
content = @Content(schema = @Schema(implementation = ResponseStatusException.class)))
9496
})
9597
@GetMapping
96-
public List<Channel> query(@RequestParam MultiValueMap<String, String> allRequestParams) {
98+
public List<Channel> query(
99+
@Parameter(description = SEARCH_PARAM_DESCRIPTION)
100+
@RequestParam MultiValueMap<String, String> allRequestParams) {
97101
return channelRepository.search(allRequestParams).channels();
98102
}
99103

@@ -120,7 +124,9 @@ public List<Channel> query(@RequestParam MultiValueMap<String, String> allReques
120124
content = @Content(schema = @Schema(implementation = ResponseStatusException.class)))
121125
})
122126
@GetMapping("/combined")
123-
public SearchResult combinedQuery(@RequestParam MultiValueMap<String, String> allRequestParams) {
127+
public SearchResult combinedQuery(
128+
@Parameter(description = SEARCH_PARAM_DESCRIPTION)
129+
@RequestParam MultiValueMap<String, String> allRequestParams) {
124130
return channelRepository.search(allRequestParams);
125131
}
126132

@@ -142,7 +148,9 @@ public SearchResult combinedQuery(@RequestParam MultiValueMap<String, String> al
142148
content = @Content(schema = @Schema(implementation = ResponseStatusException.class)))
143149
})
144150
@GetMapping("/count")
145-
public long queryCount(@RequestParam MultiValueMap<String, String> allRequestParams) {
151+
public long queryCount(
152+
@Parameter(description = SEARCH_PARAM_DESCRIPTION)
153+
@RequestParam MultiValueMap<String, String> allRequestParams) {
146154
return channelRepository.count(allRequestParams);
147155
}
148156

src/main/java/org/phoebus/channelfinder/ChannelScroll.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import io.swagger.v3.oas.annotations.responses.ApiResponse;
88
import io.swagger.v3.oas.annotations.responses.ApiResponses;
99
import io.swagger.v3.oas.annotations.Operation;
10+
import io.swagger.v3.oas.annotations.Parameter;
1011
import java.text.MessageFormat;
1112
import java.util.Comparator;
1213
import java.util.List;
@@ -73,7 +74,9 @@ public class ChannelScroll {
7374
content = @Content(schema = @Schema(implementation = ResponseStatusException.class)))
7475
})
7576
@GetMapping
76-
public Scroll query(@RequestParam MultiValueMap<String, String> allRequestParams) {
77+
public Scroll query(
78+
@Parameter(description = CFResourceDescriptors.SEARCH_PARAM_DESCRIPTION)
79+
@RequestParam MultiValueMap<String, String> allRequestParams) {
7780
return search(null, allRequestParams);
7881
}
7982

@@ -95,7 +98,10 @@ public Scroll query(@RequestParam MultiValueMap<String, String> allRequestParams
9598
content = @Content(schema = @Schema(implementation = ResponseStatusException.class)))
9699
})
97100
@GetMapping("/{scrollId}")
98-
public Scroll query(@PathVariable("scrollId") String scrollId, @RequestParam MultiValueMap<String, String> searchParameters) {
101+
public Scroll query(
102+
@Parameter(description = "Scroll ID from previous query") @PathVariable("scrollId") String scrollId,
103+
@Parameter(description = CFResourceDescriptors.SEARCH_PARAM_DESCRIPTION)
104+
@RequestParam MultiValueMap<String, String> searchParameters) {
99105
return search(scrollId, searchParameters);
100106
}
101107

src/main/java/org/phoebus/channelfinder/processors/ChannelProcessorManager.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import io.swagger.v3.oas.annotations.responses.ApiResponse;
77
import io.swagger.v3.oas.annotations.responses.ApiResponses;
88
import io.swagger.v3.oas.annotations.Operation;
9+
import io.swagger.v3.oas.annotations.Parameter;
910
import org.phoebus.channelfinder.AuthorizationService;
1011
import org.phoebus.channelfinder.ChannelScroll;
1112
import org.phoebus.channelfinder.entity.Channel;
@@ -29,6 +30,7 @@
2930
import java.util.logging.Logger;
3031

3132
import static org.phoebus.channelfinder.CFResourceDescriptors.CHANNEL_PROCESSOR_RESOURCE_URI;
33+
import static org.phoebus.channelfinder.CFResourceDescriptors.SEARCH_PARAM_DESCRIPTION;
3234

3335
@RestController
3436
@RequestMapping(CHANNEL_PROCESSOR_RESOURCE_URI)
@@ -136,7 +138,9 @@ public long processAllChannels() {
136138
content = @Content(schema = @Schema(implementation = Long.class)))
137139
})
138140
@PutMapping("/process/query")
139-
public long processChannels(@RequestParam MultiValueMap<String, String> allRequestParams) {
141+
public long processChannels(
142+
@Parameter(description = SEARCH_PARAM_DESCRIPTION)
143+
@RequestParam MultiValueMap<String, String> allRequestParams) {
140144
long channelCount = 0;
141145
Scroll scrollResult = channelScroll.query(allRequestParams);
142146
channelCount += scrollResult.getChannels().size();

0 commit comments

Comments
 (0)