public CorePersisterImpl(IntactContext intactContext, Finder finder) { this.dataContext = intactContext.getDataContext(); this.finder = finder; annotatedObjectsToPersist = Maps.newHashMap(); annotatedObjectsToMerge = Maps.newHashMap(); synched = Maps.newHashMap(); keyBuilder = new KeyBuilder(); entityStateCopier = new DefaultEntityStateCopier(); statistics = new PersisterStatistics(); }
public CorePersisterImpl(IntactContext intactContext, Finder finder) { this.dataContext = intactContext.getDataContext(); this.finder = finder; annotatedObjectsToPersist = Maps.newHashMap(); annotatedObjectsToMerge = Maps.newHashMap(); synched = Maps.newHashMap(); keyBuilder = new KeyBuilder(); entityStateCopier = new DefaultEntityStateCopier(); statistics = new PersisterStatistics(); }
private PersisterStatistics merge(PersisterStatistics stats1, PersisterStatistics stats2) { PersisterStatistics mergedStats = new PersisterStatistics(); mergedStats.getDuplicatesMap().putAll(stats1.getDuplicatesMap()); mergedStats.getDuplicatesMap().putAll(stats2.getDuplicatesMap()); mergedStats.getPersistedMap().putAll(stats1.getPersistedMap()); mergedStats.getPersistedMap().putAll(stats2.getPersistedMap()); mergedStats.getMergedMap().putAll(stats1.getMergedMap()); mergedStats.getMergedMap().putAll(stats2.getMergedMap()); mergedStats.getTransientMap().putAll(stats1.getTransientMap()); mergedStats.getTransientMap().putAll(stats2.getTransientMap()); return mergedStats; }
corePersister.getStatistics().reset(); PersisterStatistics importStats = new PersisterStatistics();
PersisterStatistics importStats = new PersisterStatistics();
/** * Imports a stream containing PSI XML * * @param psiXmlStream the stream to read and import * @return report of the import * * @throws PersisterException thrown if there are problems parsing the stream or persisting the data in the intact-model database */ public PersisterStatistics importIntoIntact(InputStream psiXmlStream) throws PersisterException { final List<IndexedEntry> indexedEntries; try { PsimiXmlLightweightReader reader = new PsimiXmlLightweightReader( psiXmlStream ); indexedEntries = reader.getIndexedEntries(); } catch (PsimiXmlReaderException e) { throw new PsiEnricherException("Problem reading source PSI", e); } PersisterStatistics stats = new PersisterStatistics(); for (IndexedEntry indexedEntry : indexedEntries) { final TransactionStatus transactionStatus = IntactContext.getCurrentInstance().getDataContext().beginTransaction(TransactionDefinition.PROPAGATION_REQUIRES_NEW); PersisterStatistics localStats = importIntoIntact(indexedEntry); stats = merge(stats, localStats); IntactContext.getCurrentInstance().getDataContext().commitTransaction(transactionStatus); } return stats; }