Compare commits

..
Author SHA1 Message Date
r-ca 002c78d09b 実装 2024-01-13 15:17:48 +09:00
r-ca 171c8b380c 効率化 2024-01-13 15:13:56 +09:00
r-ca 04651f3b8e 実装 WIP 2024-01-13 15:12:03 +09:00
r-ca 180428fbb7 実装 WIP 2024-01-13 15:07:11 +09:00
ろむねこ 1d3015a7e4 Merge pull request #58 from lacerta-doc/data/add_search_stub
LacertaSearchインタフェースにスタブを追加
2024-01-13 14:39:12 +09:00
2 changed files with 68 additions and 13 deletions

No files matched your search

@@ -22,12 +22,6 @@ public class LacertaSearchStubImpl implements LacertaSearch {
this.logger = logger;
}
/**
* 検索
* @param query 検索クエリ
* @param limit 最大取得件数
* @return 検索結果
*/
@Override
public ArrayList<ListItem> autoSearch(String query, int limit) {
logger.debug("SearchStub", "autoSearch");
@@ -35,13 +29,6 @@ public class LacertaSearchStubImpl implements LacertaSearch {
return library.getLibraryPage(limit).getListItems();
}
/**
* 検索
* @param query 検索クエリ
* @param limit 最大取得件数
* @param offset オフセット
* @return 検索結果
*/
@Override
public ArrayList<ListItem> autoSearch(String query, int limit, int offset) {
logger.debug("SearchStub", "autoSearch");
@@ -0,0 +1,68 @@
package one.nem.lacerta.model;
import java.util.ArrayList;
import java.util.List;
public class PublicPath {
/*
* ユーザーが扱うパス(内部パスの代替)
* (時間がないのでInjectされることは考慮しない)
*
* TODO-rca:
* - こわれたパスを検知する
* - バリデーション
*/
List<String> path = new ArrayList<String>();
public PublicPath() {
}
public PublicPath(List<String> path) {
this.path = path;
}
private void add(String path) {
this.path.add(path);
}
private void resolveInternal(String path) {
if (path.equals("..")) {
this.path.remove(this.path.size() - 1);
} else {
add(path);
}
}
public PublicPath resolve(String path) {
resolveInternal(path);
return this;
}
public PublicPath resolve(List<String> path) {
for (String p : path) {
resolveInternal(p);
}
return this;
}
public PublicPath resolve(PublicPath path) {
for (String p : path.getPath()) {
resolveInternal(p);
}
return this;
}
public PublicPath parent() {
this.path.remove(this.path.size() - 1);
return this;
}
public List<String> getPath() {
return path;
}
public String getStringPath() {
return String.join("/", path);
}
}