add ID generators

This commit is contained in:
qvalentin 2022-05-15 11:38:10 +02:00
parent 78d7972d28
commit f5ce95e2dc
Signed by: qvalentin
GPG Key ID: C979FA1EAFCABF1C
4 changed files with 39 additions and 2 deletions

View File

@ -13,7 +13,6 @@ public class CategoryUseCase {
} }
public void addCategory(CategoryName name) { public void addCategory(CategoryName name) {
var id = this.categoryIdGenerator.generateId(); var id = this.categoryIdGenerator.generateId();
this.categoryRepository.add(new Category(name, id)); this.categoryRepository.add(new Category(name, id));
} }

View File

@ -0,0 +1,20 @@
package category;
public class RandomCategoryIdGenerator implements CategoryIdGenerator {
private final CategoryRepository categoryRepository;
public RandomCategoryIdGenerator(CategoryRepository categoryRepository) {
this.categoryRepository = categoryRepository;
}
@Override
public CategoryId generateId() {
var randomID = (int) (Math.random() * 10000);
if (categoryRepository.getById(new CategoryId(randomID)).isPresent()) {
return generateId();
}
return new CategoryId(randomID);
}
}

View File

@ -41,7 +41,6 @@ public class LinkUseCase {
var link = new Link(id, creator, url, categoryIds, tags); var link = new Link(id, creator, url, categoryIds, tags);
linkRepository.add(link); linkRepository.add(link);
} }
} }

View File

@ -0,0 +1,19 @@
package link;
public class RandomLinkIdGenerator implements LinkIdGenerator {
private final LinkRepository linkRepository;
public RandomLinkIdGenerator(LinkRepository linkRepository) {
this.linkRepository = linkRepository;
}
@Override
public LinkId generateId() {
var randomID = (int) (Math.random() * 10000);
if (linkRepository.getById(new LinkId(randomID)).isPresent()) {
return generateId();
}
return new LinkId(randomID);
}
}