mirror of
https://github.com/lacerta-doc/Lacerta.git
synced 2024-11-23 00:13:16 +00:00
Impl生成し直し
This commit is contained in:
parent
9d793c3c0a
commit
bd5a041424
|
@ -22,120 +22,30 @@ import one.nem.lacerta.source.jgit.JGitRepository;
|
||||||
import one.nem.lacerta.utils.repository.DeviceInfoUtils;
|
import one.nem.lacerta.utils.repository.DeviceInfoUtils;
|
||||||
|
|
||||||
|
|
||||||
public class DocumentImpl implements Document{
|
public class DocumentImpl implements Document {
|
||||||
|
|
||||||
private LacertaDatabase database;
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
public DocumentImpl(LacertaDatabase database) {
|
|
||||||
this.database = database;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
JGitRepository jGitRepository;
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
DeviceInfoUtils deviceInfoUtils;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ArrayList<DocumentMeta> getAllDocumentMetas(int limit) {
|
public DocumentDetail createDocument(DocumentMeta meta) {
|
||||||
ArrayList<DocumentMeta> documentMetas = new ArrayList<>();
|
|
||||||
List<DocumentEntity> documentEntities = database.documentDao().getAllWithLimit(limit);
|
|
||||||
|
|
||||||
for (DocumentEntity documentEntity : documentEntities) {
|
|
||||||
// タグ取得
|
|
||||||
// TODO-rca: 切り出すべきかも?
|
|
||||||
List<TagEntity> tagEntities = database.tagDao().findByIds(documentEntity.tagIds);
|
|
||||||
ArrayList<DocumentTag> documentTags = new ArrayList<>();
|
|
||||||
for (TagEntity tagEntity : tagEntities) {
|
|
||||||
documentTags.add(new DocumentTag(tagEntity.id, tagEntity.tagName, tagEntity.color));
|
|
||||||
}
|
|
||||||
|
|
||||||
// 組み立て処理
|
|
||||||
// 可読性が終わるのでコンストラクタはつかわないほうがいいかも?
|
|
||||||
DocumentMeta documentMeta = new DocumentMeta();
|
|
||||||
documentMeta.setId(documentEntity.id);
|
|
||||||
documentMeta.setTitle(documentEntity.title);
|
|
||||||
documentMeta.setCreatedAt(documentEntity.createdAt);
|
|
||||||
documentMeta.setUpdatedAt(documentEntity.updatedAt);
|
|
||||||
documentMeta.setTags(documentTags);
|
|
||||||
|
|
||||||
documentMetas.add(documentMeta);
|
|
||||||
}
|
|
||||||
|
|
||||||
return documentMetas;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ArrayList<DocumentMeta> getAllDocumentMetas(int limit, int offset) {
|
|
||||||
return null; // TODO-rca: 実装する
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ArrayList<DocumentMeta> getRecentDocumentMetas(int limit) {
|
|
||||||
// ArrayList<DocumentMeta> documentMetas = new ArrayList<>();
|
|
||||||
// database.documentDao().
|
|
||||||
// TODO-rca: 履歴取得するDao実装する
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ArrayList<DocumentMeta> getRecentDocumentMetas(int limit, int offset) {
|
public DocumentDetail createDocument() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DocumentDetail getDocumentDetail(String id) {
|
public void deleteDocument(String documentId) {
|
||||||
DocumentDetail documentDetail = new DocumentDetail();
|
|
||||||
DocumentEntity documentEntity = database.documentDao().findById(id);
|
|
||||||
|
|
||||||
// タグ取得
|
|
||||||
// TODO-rca: 切り出すべきかも?
|
|
||||||
List<TagEntity> tagEntities = database.tagDao().findByIds(documentEntity.tagIds);
|
|
||||||
ArrayList<DocumentTag> documentTags = new ArrayList<>();
|
|
||||||
for (TagEntity tagEntity : tagEntities) {
|
|
||||||
documentTags.add(new DocumentTag(tagEntity.id, tagEntity.tagName, tagEntity.color));
|
|
||||||
}
|
|
||||||
|
|
||||||
// パス取得
|
|
||||||
// TODO-rca: 切り出すべきかも?
|
|
||||||
LibraryEntity libraryEntity = database.libraryDao().findById(id);
|
|
||||||
DocumentPath documentPath = new DocumentPath(libraryEntity.rootPath, libraryEntity.path);
|
|
||||||
|
|
||||||
// リポジトリ取得
|
|
||||||
documentDetail.setRepository(jGitRepository.getRepository(id)); // TODO-rca: エラーハンドリング
|
|
||||||
|
|
||||||
// 組み立て処理
|
|
||||||
// 可読性が終わるのでコンストラクタはつかわないほうがいいかも?
|
|
||||||
DocumentMeta documentMeta = new DocumentMeta();
|
|
||||||
documentMeta.setId(documentEntity.id);
|
|
||||||
documentMeta.setTitle(documentEntity.title);
|
|
||||||
documentMeta.setCreatedAt(documentEntity.createdAt);
|
|
||||||
documentMeta.setUpdatedAt(documentEntity.updatedAt);
|
|
||||||
documentMeta.setTags(documentTags);
|
|
||||||
|
|
||||||
documentDetail.setMeta(documentMeta);
|
|
||||||
documentDetail.setAuthor(documentEntity.author);
|
|
||||||
documentDetail.setPath(documentPath);
|
|
||||||
documentDetail.setDefaultBranch(documentEntity.defaultBranch);
|
|
||||||
|
|
||||||
return documentDetail;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DocumentDetail getDocumentDetailByMeta(DocumentMeta meta) {
|
public void updateDocument(DocumentMeta meta, DocumentDetail detail) {
|
||||||
return getDocumentDetail(meta.getId()); // TODO-rca: 効率悪いのでMetaはもらった物を使うようにする(処理を切り分ける?)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DocumentDetail createDocumentByMeta(DocumentMeta meta) {
|
public DocumentDetail getDocument(String documentId) {
|
||||||
DocumentDetail documentDetail = new DocumentDetail();
|
return null;
|
||||||
|
|
||||||
documentDetail.setMeta(meta);
|
|
||||||
documentDetail.setAuthor("author"); // TODO-rca: SharedPrefを扱う機能を作ってそこから取得するようにする or Gitの設定を参照するようにする
|
|
||||||
documentDetail.setPath(new DocumentPath(deviceInfoUtils.getExternalStorageDirectoryString(), meta.getId()));
|
|
||||||
documentDetail.setDefaultBranch("master"); // TODO-rca: SharedPrefを扱う機能を作ってそこから取得するようにする?
|
|
||||||
|
|
||||||
return documentDetail;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user