Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Component
- public class EntityGenerator {
- @PersistenceUnit
- private final EntityManagerFactory entityManagerFactory;
- public EntityGenerator(@Autowired EntityManagerFactory entityManagerFactory) {
- this.entityManagerFactory = entityManagerFactory;
- }
- public <T extends Persistable<Long>> Collection<T> generate(Class<T> entityClass, int quantity, String actorIdentity) {
- Authentication authentication = MockedAuthentication.create(actorIdentity, "all");
- SecurityContextHolder.getContext().setAuthentication(authentication);
- EntityManager manager = entityManagerFactory.createEntityManager();
- manager.getTransaction().begin();
- ArrayList<T> entities = new ArrayList<>();
- for (int i = 0; i < quantity; i++) {
- try {
- T entity = entityClass.getDeclaredConstructor().newInstance();
- manager.persist(entity);
- entities.add(entity);
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
- manager.getTransaction().commit();
- manager.close();
- SecurityContextHolder.clearContext();
- return entities;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement