ip program test

This commit is contained in:
2025-04-12 14:06:51 +04:00
commit d2eaee9282
15 changed files with 562 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
package ru.ip.example.repository;
import ru.ip.example.domain.FilmEntity;
import java.util.List;
public interface FilmRepository {
FilmEntity save(FilmEntity entity);
List<FilmEntity> findAll();
FilmEntity findById(Integer id);
void deleteById(Integer id);
}

View File

@@ -0,0 +1,50 @@
package ru.ip.example.repository;
import org.springframework.stereotype.Service;
import ru.ip.example.domain.FilmEntity;
import java.util.ArrayList;
import java.util.List;
@Service
public class FilmRepositoryDao implements FilmRepository {
private static Integer idSequence = 0;
private static List<FilmEntity> films = new ArrayList<>();
@Override
public FilmEntity save(FilmEntity entity) {
if (entity.getId() == null) {
entity.setId(idSequence++);
} else if (films.contains(entity)) {
films.remove(entity);
}
films.add(entity);
System.out.println("save/upd film: " + entity);
return entity;
}
@Override
public List<FilmEntity> findAll() {
return films;
}
@Override
public FilmEntity findById(Integer id) {
for (FilmEntity film : films) {
if (film.getId().equals(id)) {
return film;
}
}
return null;
}
//equals реализован только с id, поэтому для remove в entity проставляем только id
@Override
public void deleteById(Integer id) {
FilmEntity filmEntity = new FilmEntity();
filmEntity.setId(id);
films.remove(filmEntity);
}
}