@Override public void doWrite(EntityManager em, FileImport fileImport, FileImportTracker stats) { try { if (logger.isTraceEnabled()) { logger.trace("Adding map to {}:{} dictionary {}", ownerEntityRef.getType(), ownerEntityRef.getType(), dictionaryName); } em.addMapToDictionary(ownerEntityRef, dictionaryName, dictionary); } catch (Exception e) { logger.error("Error writing dictionary. From file: " + fileImport.getFileName(), e); // TODO add statistics for dictionary writes and failures } } }
@Override public void doWrite(EntityManager em, FileImport fileImport, FileImportTracker tracker) { try { if (logger.isTraceEnabled()) { logger.trace("Writing imported entity {}:{} into app {}", entityType, entityUuid, em.getApplication().getUuid()); } em.create(entityUuid, entityType, properties); tracker.entityWritten(); } catch (Exception e) { logger.error("Error writing entity. From file:{}", fileImport.getFileName(), e); tracker.entityFailed(e.getMessage() + " From file: " + fileImport.getFileName()); } } }
@Override public void doWrite(EntityManager em, FileImport fileImport, FileImportTracker tracker) { try { // TODO: do we need to ensure that all Entity events happen first? // TODO: what happens if ConnectionEvents happen before all entities are saved? // Connections are specified as UUIDs with no type if (entityRef.getType() == null) { entityRef = em.get(ownerEntityRef.getUuid()); } if (logger.isTraceEnabled()) { logger.trace("Creating connection from {}:{} to {}:{}", ownerEntityRef.getType(), ownerEntityRef.getUuid(), entityRef.getType(), entityRef.getUuid()); } em.createConnection(ownerEntityRef, connectionType, entityRef); tracker.connectionWritten(); } catch (Exception e) { logger.error("Error writing connection. From file: {}", fileImport.getFileName(), e); tracker.connectionFailed(e.getMessage() + " From file: " + fileImport.getFileName()); } } }
if (logger.isTraceEnabled()) { logger.trace("\n\nFailed to completely write entities, skipping second phase. File: {}\n", fileImport.getFileName()); logger.trace("\n\nWrote entities. File: {}\n", fileImport.getFileName()); fileImport.getFileName()); if (logger.isDebugEnabled()) { logger.debug("\n\nFailed to completely write connections and dictionaries. File: {}\n", fileImport.getFileName()); logger.trace("\n\nWrote connections and dictionaries. File: {}\n", fileImport.getFileName());
new Object[]{entities.size(), fileImport.getFileName()});
assertTrue( fileImport.getFileName().endsWith("testimport-bad-json.json"));