@Override public int execute(String[] operationArgs) throws Exception { StatusOperationOptions operationOptions = parseOptions(operationArgs); StatusOperationResult operationResult = new StatusOperation(config, operationOptions).execute(); printResults(operationResult); return 0; }
private ChangeSet findLocalChanges(final Map<String, FileVersion> filesInDatabase) throws FileNotFoundException, IOException { ChangeSet localChanges = findLocalChangedAndNewFiles(config.getLocalDir(), filesInDatabase); if (options == null || options.isDelete()) { findAndAppendDeletedFiles(localChanges, filesInDatabase); } return localChanges; }
@Override public StatusOperationResult execute() throws Exception { logger.log(Level.INFO, ""); logger.log(Level.INFO, "Running 'Status' at client " + config.getMachineName() + " ..."); logger.log(Level.INFO, "--------------------------------------------"); if (options != null && options.isForceChecksum()) { logger.log(Level.INFO, "Force checksum ENABLED."); } if (options != null && !options.isDelete()) { logger.log(Level.INFO, "Delete missing files DISABLED."); } // Get local database logger.log(Level.INFO, "Querying current file tree from database ..."); eventBus.post(new StatusStartSyncExternalEvent(config.getLocalDir().getAbsolutePath())); // Path to actual file version final Map<String, FileVersion> filesInDatabase = localDatabase.getCurrentFileTree(); // Find local changes logger.log(Level.INFO, "Analyzing local folder " + config.getLocalDir() + " ..."); ChangeSet localChanges = findLocalChanges(filesInDatabase); if (!localChanges.hasChanges()) { logger.log(Level.INFO, "- No changes to local database"); } // Return result StatusOperationResult statusResult = new StatusOperationResult(); statusResult.setChangeSet(localChanges); eventBus.post(new StatusEndSyncExternalEvent(config.getLocalDir().getAbsolutePath(), localChanges.hasChanges())); return statusResult; }
public StatusOperationResult status(StatusOperationOptions options) throws Exception { return new StatusOperation(config, options).execute(); }
private boolean hasLocalChanges() throws Exception { StatusOperationResult statusOperationResult = new StatusOperation(config, options.getStatusOptions()).execute(); return statusOperationResult.getChangeSet().hasChanges(); }
@Override public Response handleRequest(FolderRequest request) { StatusFolderRequest concreteRequest = (StatusFolderRequest) request; try { StatusOperation operation = new StatusOperation(config, concreteRequest.getOptions()); StatusOperationResult operationResult = operation.execute(); StatusFolderResponse statusFolderResponse = new StatusFolderResponse(operationResult, request.getId()); return statusFolderResponse; } catch (Exception e) { logger.log(Level.WARNING, "Cannot obtain status.", e); return new BadRequestResponse(request.getId(), "Cannot execute operation: " + e.getMessage()); } } }
StatusOperation statusOperation = new StatusOperation(config, options.getStatusOptions()); StatusOperationResult statusOperationResult = statusOperation.execute(); ChangeSet localChanges = statusOperationResult.getChangeSet();