@Override @Transactional public OpenHubStackEntity process(OpenHubStackDTO dto) throws Exception { OpenHubStackEntity entity = super.process(dto); if (entity != null && entity.getStackEntries() != null) { Iterator<OpenHubStackEntryEntity> iterator = entity.getStackEntries().iterator(); while (iterator.hasNext()) { OpenHubStackEntryEntity stackEntry = iterator.next(); if (stackEntry.getProject() != null) { projectService.reloadTagsFromDatabase(stackEntry.getProject()); projectService.reloadLicensesFromDatabase(stackEntry.getProject()); projectService.reloadAnalysisFromDatabase(stackEntry.getProject()); OpenHubProjectEntity project = projectService.save(stackEntry.getProject()); if (project != null) { stackEntry.setProject(project); stackEntry.setProjectId(project.getId()); stackEntry.setStack(entity); stackEntry.setStackId(entity.getId()); } else { iterator.remove(); logger.log( Level.SEVERE, String.format( "stack entry %d project %d nao persistiu corretamente", stackEntry.getId(), stackEntry.getProjectId())); } } else if (stackEntry.getProject() == null || stackEntry.getStack() == null) { iterator.remove(); logger.log( Level.SEVERE, String.format( "stack entry %d project %d nao persistiu corretamente", stackEntry.getId(), stackEntry.getProjectId())); } } } getRepository().save(entity); return entity; }