1 changed files with 0 additions and 67 deletions
@ -1,67 +0,0 @@ |
|||||
package com.example.datacollect.repository; |
|
||||
|
|
||||
import com.example.datacollect.model.Article; |
|
||||
import org.slf4j.Logger; |
|
||||
import org.slf4j.LoggerFactory; |
|
||||
import java.util.ArrayList; |
|
||||
import java.util.Collections; |
|
||||
import java.util.List; |
|
||||
|
|
||||
public class ArticleRepository { |
|
||||
private static final Logger logger = LoggerFactory.getLogger(ArticleRepository.class); |
|
||||
private final List<Article> articles = new ArrayList<>(); |
|
||||
|
|
||||
public void add(Article article) { |
|
||||
if (article == null) { |
|
||||
logger.error("Attempted to add null article"); |
|
||||
throw new IllegalArgumentException("Article cannot be null"); |
|
||||
} |
|
||||
if (article.getTitle() == null || article.getTitle().trim().isEmpty()) { |
|
||||
logger.warn("Attempted to add article with empty title"); |
|
||||
throw new IllegalArgumentException("Article title cannot be null or empty"); |
|
||||
} |
|
||||
if (article.getUrl() == null || article.getUrl().trim().isEmpty()) { |
|
||||
logger.warn("Attempted to add article with empty URL"); |
|
||||
throw new IllegalArgumentException("Article URL cannot be null or empty"); |
|
||||
} |
|
||||
articles.add(article); |
|
||||
logger.debug("Added article: {}", article.getTitle()); |
|
||||
} |
|
||||
|
|
||||
public void addAll(List<Article> articlesToAdd) { |
|
||||
if (articlesToAdd == null) { |
|
||||
logger.error("Attempted to add null list of articles"); |
|
||||
throw new IllegalArgumentException("Article list cannot be null"); |
|
||||
} |
|
||||
for (Article article : articlesToAdd) { |
|
||||
add(article); |
|
||||
} |
|
||||
logger.info("Added {} articles to repository", articlesToAdd.size()); |
|
||||
} |
|
||||
|
|
||||
public List<Article> getAll() { |
|
||||
logger.debug("Retrieving all articles, count: {}", articles.size()); |
|
||||
return Collections.unmodifiableList(articles); |
|
||||
} |
|
||||
|
|
||||
public int size() { |
|
||||
return articles.size(); |
|
||||
} |
|
||||
|
|
||||
public void clear() { |
|
||||
logger.info("Clearing repository, removed {} articles", articles.size()); |
|
||||
articles.clear(); |
|
||||
} |
|
||||
|
|
||||
public boolean isEmpty() { |
|
||||
return articles.isEmpty(); |
|
||||
} |
|
||||
|
|
||||
public Article get(int index) { |
|
||||
if (index < 0 || index >= articles.size()) { |
|
||||
logger.error("Attempted to access article at invalid index: {}", index); |
|
||||
throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + articles.size()); |
|
||||
} |
|
||||
return articles.get(index); |
|
||||
} |
|
||||
} |
|
||||
Loading…
Reference in new issue