Search in sources :

Example 1 with StorageTestResult

use of org.syncany.plugins.transfer.StorageTestResult in project syncany by syncany.

the class InitCommand method printResults.

@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();
    }
}
Also used : InitOperationResult(org.syncany.operations.init.InitOperationResult) StorageTestResult(org.syncany.plugins.transfer.StorageTestResult)

Example 2 with StorageTestResult

use of org.syncany.plugins.transfer.StorageTestResult in project syncany by syncany.

the class ConnectCommand method printResults.

@Override
public void printResults(OperationResult operationResult) {
    ConnectOperationResult concreteOperationResult = (ConnectOperationResult) operationResult;
    if (concreteOperationResult.getResultCode() == ConnectResultCode.OK) {
        out.println();
        out.println("Repository connected, and local folder initialized.");
        out.println("You can now use 'sy up' and 'sy down' to sync your files.");
        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();
        if (!testResult.isTargetCanConnect()) {
            out.println("ERROR: Cannot connect to the repository, 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()) {
            out.println("ERROR: Cannot connect to the repository, because the target does not exist.");
            out.println("       Please check if it really exists and if you can read from it / write to it.");
        } else if (!testResult.isTargetCanWrite()) {
            out.println("ERROR: Cannot connect to the repository, because the target is not writable. This is probably");
            out.println("       a permission issue (does the user have write permissions to the target?).");
        } else if (!testResult.isRepoFileExists()) {
            out.println("ERROR: Cannot connect to the repository, because no repo file was found ('syncany' file).");
            out.println("       Are you sure that this is a valid Syncany repository? Use 'sy init' to create a new one.");
        } else {
            out.println("ERROR: Cannot connect to the repository.");
        }
        out.println();
        printTestResult(testResult);
    } else if (concreteOperationResult.getResultCode() == ConnectResultCode.NOK_DECRYPT_ERROR) {
        out.println();
        out.println("ERROR: Invalid password or corrupt ciphertext.");
        out.println();
        out.println("The reason for this might be an invalid password, or that the");
        out.println("link/files have been tampered with.");
        out.println();
    } else {
        out.println();
        out.println("ERROR: Cannot connect to repository. Unknown error code: " + operationResult);
        out.println();
    }
}
Also used : ConnectOperationResult(org.syncany.operations.init.ConnectOperationResult) StorageTestResult(org.syncany.plugins.transfer.StorageTestResult)

Example 3 with StorageTestResult

use of org.syncany.plugins.transfer.StorageTestResult in project syncany by syncany.

the class ConnectOperation method performRepoTest.

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;
    }
}
Also used : StorageTestResult(org.syncany.plugins.transfer.StorageTestResult)

Example 4 with StorageTestResult

use of org.syncany.plugins.transfer.StorageTestResult in project syncany by syncany.

the class InitOperation method performRepoTest.

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;
    }
}
Also used : StorageTestResult(org.syncany.plugins.transfer.StorageTestResult)

Aggregations

StorageTestResult (org.syncany.plugins.transfer.StorageTestResult)4 ConnectOperationResult (org.syncany.operations.init.ConnectOperationResult)1 InitOperationResult (org.syncany.operations.init.InitOperationResult)1