public InitOperation(InitOperationOptions options, UserInteractionListener listener) { super(null, listener); this.options = options; this.result = new InitOperationResult(); }
private void addToDaemonIfEnabled() { if (options.isDaemon()) { try { boolean addedToDaemonConfig = DaemonConfigHelper.addFolder(options.getLocalDir()); result.setAddedToDaemon(addedToDaemonConfig); } catch (Exception e) { logger.log(Level.WARNING, "Cannot add folder to daemon config.", e); result.setAddedToDaemon(false); } } }
InitOperationResult concreteOperationResult = (InitOperationResult) operationResult; if (concreteOperationResult.getResultCode() == InitResultCode.OK) { out.println(); out.println("Repository created, and local folder initialized. To share the same repository"); out.println("with others, you can share this link:"); printLink(concreteOperationResult.getGenLinkResult(), false); if (concreteOperationResult.isAddedToDaemon()) { out.println("To automatically sync this folder, simply restart the daemon with 'sy daemon restart'."); out.println(); else if (concreteOperationResult.getResultCode() == InitResultCode.NOK_TEST_FAILED) { StorageTestResult testResult = concreteOperationResult.getTestResult(); out.println(); out.println("ERROR: Cannot connect to repository. Unknown error code: " + concreteOperationResult.getResultCode()); out.println();
logger.log(Level.INFO, "- Connecting to the repo failed, repo already exists or cannot be created: " + result.getResultCode()); return result; result.setResultCode(InitResultCode.OK); result.setGenLinkResult(genlinkOperationResult);
@Override public void run() { try { InitOperation initOperation = new InitOperation(concreteRequest.getOptions(), new EventUserInteractionListener()); InitOperationResult operationResult = initOperation.execute(); switch (operationResult.getResultCode()) { case OK: eventBus.post(new InitManagementResponse(InitManagementResponse.OK, operationResult, request.getId())); break; case NOK_TEST_FAILED: eventBus.post(new InitManagementResponse(InitManagementResponse.NOK_FAILED_TEST, operationResult, request.getId())); break; default: eventBus.post(new InitManagementResponse(InitManagementResponse.NOK_FAILED_UNKNOWN, operationResult, request.getId())); break; } } catch (Exception e) { logger.log(Level.WARNING, "Error adding watch to daemon config.", e); eventBus.post(new InitManagementResponse(InitManagementResponse.NOK_OPERATION_FAILED, new InitOperationResult(), request.getId())); } } }, "IntRq/" + concreteRequest.getOptions().getLocalDir().getName());
private boolean performRepoTest() { boolean testCreateTarget = options.isCreateTarget(); StorageTestResult testResult = transferManager.test(testCreateTarget); logger.log(Level.INFO, "Storage test result ist " + testResult); if (testResult.isTargetExists() && testResult.isTargetCanWrite() && !testResult.isRepoFileExists()) { logger.log(Level.INFO, "--> OKAY: Target exists and is writable, but repo doesn't exist. We're good to go!"); return true; } else if (testCreateTarget && !testResult.isTargetExists() && testResult.isTargetCanCreate()) { logger.log(Level.INFO, "--> OKAY: Target does not exist, but can be created. We're good to go!"); return true; } else { logger.log(Level.INFO, "--> NOT OKAY: Invalid target/repo state. Operation cannot be continued."); result.setResultCode(InitResultCode.NOK_TEST_FAILED); result.setTestResult(testResult); return false; } }
@Override public int execute(String[] operationArgs) throws Exception { boolean retryNeeded = true; boolean performOperation = true; operationOptions = parseOptions(operationArgs); while (retryNeeded && performOperation) { InitOperationResult operationResult = new InitOperation(operationOptions, this).execute(); printResults(operationResult); retryNeeded = operationResult.getResultCode() != InitResultCode.OK; if (retryNeeded) { performOperation = isInteractive && askRetryConnection(); if (performOperation) { updateTransferSettings(operationOptions.getConfigTO().getTransferSettings()); } } } return 0; }