| | |
| | | |
| | | import de.micromata.borgbutler.config.BorgRepoConfig; |
| | | import de.micromata.borgbutler.config.ConfigurationHandler; |
| | | import de.micromata.borgbutler.config.Definitions; |
| | | import de.micromata.borgbutler.jobs.AbstractCommandLineJob; |
| | | import org.apache.commons.exec.CommandLine; |
| | | import org.apache.commons.exec.environment.EnvironmentUtils; |
| | |
| | | * A queue is important because Borg doesn't support parallel calls for one repository. |
| | | * For each repository one single queue is allocated. |
| | | */ |
| | | public class BorgJob extends AbstractCommandLineJob { |
| | | public class BorgJob extends AbstractCommandLineJob<String> { |
| | | private Logger log = LoggerFactory.getLogger(BorgJob.class); |
| | | private BorgCommand command; |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | protected void afterSuccess() { |
| | | command.setResultStatus(BorgCommand.ResultStatus.OK); |
| | | command.setResponse(outputStream.toString(Definitions.STD_CHARSET)); |
| | | } |
| | | |
| | | @Override |
| | | protected void afterFailure(Exception ex) { |
| | | command.setResultStatus(BorgCommand.ResultStatus.ERROR); |
| | | command.setResponse(outputStream.toString(Definitions.STD_CHARSET)); |
| | | log.error("Response: " + command.getAbbreviatedResponse()); |
| | | } |
| | | |
| | | @Override |
| | | protected Map<String, String> getEnvironment() throws IOException { |
| | | BorgRepoConfig repoConfig = command.getRepoConfig(); |
| | | if (repoConfig == null) { |