}
public static ImportResult importGraph1(Session session, VirtualGraph vg, final TransferableGraphSource tg, IImportAdvisor advisor_, TGStatusMonitor monitor) throws DatabaseException {
+ return importGraph1(session, vg, tg, advisor_, monitor, null);
+ }
+
+ public static ImportResult importGraph1(Session session, VirtualGraph vg, final TransferableGraphSource tg, IImportAdvisor advisor_, TGStatusMonitor monitor, Boolean failOnMissing) throws DatabaseException {
final IImportAdvisor2 advisor = (advisor_ instanceof IImportAdvisor2) ? ((IImportAdvisor2)advisor_) : new WrapperAdvisor(advisor_);
- final StreamingTransferableGraphImportProcess process = new StreamingTransferableGraphImportProcess(session, vg, tg, advisor, monitor);
+ final StreamingTransferableGraphImportProcess process = failOnMissing == null ? new StreamingTransferableGraphImportProcess(session, vg, tg, advisor, monitor)
+ : new StreamingTransferableGraphImportProcess(session, vg, tg, advisor, monitor, failOnMissing);
session.syncRequest(new ReadRequest() {
@Override
public void run(ReadGraph graph) throws DatabaseException {
public static TransferableGraph1 create(ReadGraph graph, TransferableGraphSource source) throws DatabaseException {
- final TIntArrayList statements = new TIntArrayList();
- final ArrayList<Value> values = new ArrayList<>();
- final ArrayList<Identity> identities = new ArrayList<>();
-
try {
+ ArrayList<Identity> identities = new ArrayList<>(source.getIdentityCount());
+ source.forIdentities(graph, i -> identities.add(i));
+ TIntArrayList statements = new TIntArrayList(source.getStatementCount());
source.forStatements(graph, r -> statements.addAll(r));
+ ArrayList<Value> values = new ArrayList<>(source.getValueCount());
source.forValues(graph, v -> values.add(v));
- source.forIdentities(graph, i -> identities.add(i));
return new TransferableGraph1(source.getResourceCount(),
identities.toArray(new Identity[identities.size()]),