private void persist(List<EntityType> copiedEntityTypes, CopyState state) { List<EntityType> persistedEntityTypes = entityTypeDependencyResolver .resolve(copiedEntityTypes) .stream() .map(copy -> cutDefaultValues(copy, state)) .map(this::persistEntityType) .collect(toList()); persistedEntityTypes .stream() .map(copy -> copyEntities(copy, state)) .map(copy -> pasteDefaultValues(copy, state)) .forEach(e -> state.progress().increment(1)); }
private void processBatch( EntityMapping sourceMapping, Repository<Entity> targetRepo, Progress progress, AtomicLong counter, boolean canAdd, List<Entity> entities, int depth) { List<Entity> mappedEntities = mapEntities(sourceMapping, targetRepo.getEntityType(), entities, depth); if (canAdd) { targetRepo.add(mappedEntities.stream()); } else { targetRepo.upsertBatch(mappedEntities); } progress.increment(1); counter.addAndGet(entities.size()); }
private void copyPackageRecursive(Package pack, Package parent, CopyState state) { state.entityTypesInPackages().addAll(newArrayList(pack.getEntityTypes())); assignNewId(pack, state); pack.setParent(parent); dataService.add(PACKAGE, pack); state.progress().increment(1); pack.getChildren() .forEach(child -> copyPackageRecursive(getPackage(child.getId()), pack, state)); }
public FileMeta download( List<ResourceIdentifier> resourceIdentifiers, String filename, Progress progress) { FileMeta fileMeta; try { ResourceCollection resourceCollection = resourceCollector.get(resourceIdentifiers); File emxFile = fileStore.getFile(filename); fileMeta = createFileMeta(emxFile); dataService.add(FileMetaMetaData.FILE_META, fileMeta); emxExportService.export( resourceCollection.getEntityTypes(), resourceCollection.getPackages(), emxFile.toPath(), progress); progress.increment(1); progress.status(getMessage("progress-download-success", "Finished preparing download.")); } catch (RuntimeException exception) { throw new DownloadFailedException(exception); } return fileMeta; }