}
}
@Override
public void printResults(OperationResult operationResult) {
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();
if (testResult.isRepoFileExists()) {
out.println("ERROR: Repository cannot be initialized, because it already exists ('syncany' file");
out.println(" exists). Are you sure that you want to create a new repo? Use 'sy connect'");
out.println(" to connect to an existing repository.");
}
else if (!testResult.isTargetCanConnect()) {
out.println("ERROR: Repository cannot be initialized, because the connection to the storage backend failed.");
out.println(" Possible reasons for this could be connectivity issues (are you connect to the Internet?),");
out.println(" or invalid user credentials (are username/password valid?).");
}
else if (!testResult.isTargetExists()) {
if (!operationOptions.isCreateTarget()) {
out.println("ERROR: Repository cannot be initialized, because the target does not exist and");
out.println(" the --create-target/-t option has not been enabled. Either create the target");
out.println(" manually or retry with the --create-target/-t option.");
}
else {
out.println("ERROR: Repository cannot be initialized, because the target does not exist and");
out.println(" it cannot be created. Please check your permissions or create the target manually.");
}
}
else if (!testResult.isTargetCanWrite()) {
out.println("ERROR: Repository cannot be initialized, because the target is not writable. This is probably");
out.println(" a permission issue (does the user have write permissions to the target?).");
}
else {
out.println("ERROR: Repository cannot be initialized.");
}
out.println();
printTestResult(testResult);
}
else {
out.println();
out.println("ERROR: Cannot connect to repository. Unknown error code: " + concreteOperationResult.getResultCode());
out.println();
}
}