Impl生成し直し

This commit is contained in:
r-ca 2024-01-14 16:28:28 +09:00
parent 9d793c3c0a
commit bd5a041424
No known key found for this signature in database
GPG Key ID: 6A72911AC73464A9

View File

@ -22,120 +22,30 @@ import one.nem.lacerta.source.jgit.JGitRepository;
import one.nem.lacerta.utils.repository.DeviceInfoUtils;
public class DocumentImpl implements Document{
private LacertaDatabase database;
@Inject
public DocumentImpl(LacertaDatabase database) {
this.database = database;
}
@Inject
JGitRepository jGitRepository;
@Inject
DeviceInfoUtils deviceInfoUtils;
public class DocumentImpl implements Document {
@Override
public ArrayList<DocumentMeta> getAllDocumentMetas(int limit) {
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実装する
public DocumentDetail createDocument(DocumentMeta meta) {
return null;
}
@Override
public ArrayList<DocumentMeta> getRecentDocumentMetas(int limit, int offset) {
public DocumentDetail createDocument() {
return null;
}
@Override
public DocumentDetail getDocumentDetail(String id) {
DocumentDetail documentDetail = new DocumentDetail();
DocumentEntity documentEntity = database.documentDao().findById(id);
public void deleteDocument(String documentId) {
// タグ取得
// 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
public DocumentDetail getDocumentDetailByMeta(DocumentMeta meta) {
return getDocumentDetail(meta.getId()); // TODO-rca: 効率悪いのでMetaはもらった物を使うようにする処理を切り分ける
public void updateDocument(DocumentMeta meta, DocumentDetail detail) {
}
@Override
public DocumentDetail createDocumentByMeta(DocumentMeta meta) {
DocumentDetail documentDetail = new DocumentDetail();
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;
public DocumentDetail getDocument(String documentId) {
return null;
}
}