use of com.linkedin.restli.server.annotations.Finder in project rest.li by linkedin.
the class AlbumEntryResource method search.
/**
* Find all entries matching the given album and photo IDs. <code>null</code> is treated
* as a wildcard.
*
* @param albumId provides the id to match for albums to match, if not provided, it is treated as a wildcard
* @param photoId provides the id to match for photos to match, if not provided, it is treated as a wildcard
* @return a list of {@link AlbumEntry} matching the given parameters
*/
@Finder("search")
public List<AlbumEntry> search(@Optional @QueryParam("albumId") Long albumId, @Optional @QueryParam("photoId") Long photoId) {
List<AlbumEntry> result = new ArrayList<AlbumEntry>();
for (Map.Entry<CompoundKey, AlbumEntry> entry : _db.getData().entrySet()) {
CompoundKey key = entry.getKey();
// (treat all values as a match)
if (albumId != null && !key.getPart("albumId").equals(albumId))
continue;
if (photoId != null && !key.getPart("photoId").equals(photoId))
continue;
result.add(entry.getValue());
}
return result;
}
use of com.linkedin.restli.server.annotations.Finder in project rest.li by linkedin.
the class CompressionResource method serveRepeatedGreeting.
@Finder("repeatedGreetings")
public List<Greeting> serveRepeatedGreeting(@QueryParam(value = "repeat", typeref = CustomLongRef.class) CustomLong l) {
List<Greeting> result = new ArrayList<Greeting>();
Greeting g = new Greeting();
g.setId(1);
StringBuilder msg = new StringBuilder();
for (long i = 0; i < l.toLong(); i++) {
msg.append("hello world ");
}
g.setMessage(msg.toString());
result.add(g);
return result;
}
use of com.linkedin.restli.server.annotations.Finder in project rest.li by linkedin.
the class WithContextResource method finder.
@Finder("finder")
public List<Greeting> finder(@HeaderParam("Expected-Header") String header, @ProjectionParam MaskTree projection, @PathKeysParam PathKeys keys) {
List<Greeting> list = new ArrayList<Greeting>();
Greeting greeting1 = createGreeting(projection, keys);
greeting1.setId(1L);
Greeting greeting2 = createGreeting(header);
greeting2.setId(2L);
list.add(greeting1);
list.add(greeting2);
return list;
}
use of com.linkedin.restli.server.annotations.Finder in project rest.li by linkedin.
the class AssociationsSubResource method findByTone.
@Finder("tone")
public List<Message> findByTone(@QueryParam("tone") Tone tone) {
List<Message> messages = new ArrayList<Message>(2);
Message message1 = new Message();
message1.setId("one");
message1.setMessage("one");
message1.setTone(tone);
Message message2 = new Message();
message2.setId("two");
message2.setMessage("two");
message2.setTone(tone);
messages.add(message1);
messages.add(message2);
return messages;
}
use of com.linkedin.restli.server.annotations.Finder in project rest.li by linkedin.
the class StringKeysResource method search.
@Finder("search")
public List<Message> search(@PagingContextParam PagingContext ctx, @QueryParam("keyword") @Optional String keyword) {
keyword = keyword.toLowerCase();
List<Message> messages = new ArrayList<Message>();
int idx = 0;
int start = ctx.getStart();
int stop = start + ctx.getCount();
for (Message g : _db.values()) {
if (keyword == null || g.getMessage().toLowerCase().contains(keyword)) {
if (idx++ >= ctx.getStart()) {
messages.add(g);
}
if (idx == stop) {
break;
}
}
}
return messages;
}
Aggregations