public ConnectOperation(ConnectOperationOptions options, UserInteractionListener listener) { super(null, listener); this.options = options; this.result = new ConnectOperationResult(); }
private boolean performRepoTest(TransferManager transferManager) { StorageTestResult testResult = transferManager.test(false); logger.log(Level.INFO, "Storage test result ist " + testResult); if (testResult.isRepoFileExists()) { logger.log(Level.INFO, "--> OKAY: Repo file exists. We're good to go!"); return true; } else { logger.log(Level.INFO, "--> NOT OKAY: Invalid target/repo state. Operation cannot be continued."); result.setResultCode(ConnectResultCode.NOK_TEST_FAILED); result.setTestResult(testResult); return false; } }
return new ConnectOperationResult(ConnectResultCode.NOK_DECRYPT_ERROR); logger.log(Level.INFO, "- Connecting to the repo failed, repo already exists or cannot be created: " + result.getResultCode()); return result; return new ConnectOperationResult(ConnectResultCode.NOK_DECRYPT_ERROR); return new ConnectOperationResult(ConnectResultCode.NOK_DECRYPT_ERROR); try { boolean addedToDaemonConfig = DaemonConfigHelper.addFolder(options.getLocalDir()); result.setAddedToDaemon(addedToDaemonConfig); result.setAddedToDaemon(false); result.setResultCode(ConnectResultCode.OK); return result;
ConnectOperationResult concreteOperationResult = (ConnectOperationResult) operationResult; if (concreteOperationResult.getResultCode() == ConnectResultCode.OK) { out.println(); out.println("Repository connected, and local folder initialized."); out.println(); if (concreteOperationResult.isAddedToDaemon()) { out.println("To automatically sync this folder, simply restart the daemon with 'sy daemon restart'."); out.println(); else if (concreteOperationResult.getResultCode() == ConnectResultCode.NOK_TEST_FAILED) { StorageTestResult testResult = concreteOperationResult.getTestResult(); out.println(); printTestResult(testResult); else if (concreteOperationResult.getResultCode() == ConnectResultCode.NOK_DECRYPT_ERROR) { out.println(); out.println("ERROR: Invalid password or corrupt ciphertext.");
@Override public void run() { try { ConnectOperation initOperation = new ConnectOperation(concreteRequest.getOptions(), new EventUserInteractionListener()); ConnectOperationResult operationResult = initOperation.execute(); switch (operationResult.getResultCode()) { case OK: eventBus.post(new ConnectManagementResponse(ConnectManagementResponse.OK, operationResult, request.getId())); break; case NOK_TEST_FAILED: eventBus.post(new ConnectManagementResponse(ConnectManagementResponse.NOK_FAILED_TEST, operationResult, request.getId())); break; default: eventBus.post(new ConnectManagementResponse(ConnectManagementResponse.NOK_FAILED_UNKNOWN, operationResult, request.getId())); break; } } catch (Exception e) { logger.log(Level.WARNING, "Error adding watch to daemon config.", e); eventBus.post(new ConnectManagementResponse(ConnectManagementResponse.NOK_OPERATION_FAILED, new ConnectOperationResult(), request .getId())); } } }, "ConRq/" + concreteRequest.getOptions().getLocalDir().getName());
@Override public int execute(String[] operationArgs) throws Exception { boolean retryNeeded = true; boolean performOperation = true; ConnectOperationOptions operationOptions = parseOptions(operationArgs); while (retryNeeded && performOperation) { ConnectOperationResult operationResult = new ConnectOperation(operationOptions, this).execute(); printResults(operationResult); retryNeeded = operationResult.getResultCode() != ConnectResultCode.OK && operationResult.getResultCode() != ConnectResultCode.NOK_DECRYPT_ERROR; if (retryNeeded) { performOperation = isInteractive && askRetryConnection(); if (performOperation) { updateTransferSettings(operationOptions.getConfigTO().getTransferSettings()); } } } return 0; }