@Override
public void doInstallUpdate(UpdateHandler delegate, UpdateInfo updateInfo) throws RetryAfterException {
DefaultController controller = getController();
controller.logInfo("Installing streaming %s update %s => %s", updateInfo.m_type, updateInfo.m_from, updateInfo.m_to);
InputStream inputStream = null;
try {
inputStream = delegate.getInputStream(updateInfo.m_to, updateInfo.m_fixPackage);
startInstallation(updateInfo);
delegate.install(inputStream);
installationSuccess(updateInfo);
}
catch (RetryAfterException ex) {
throw ex;
}
catch (InstallationFailedException ex) {
installationFailed(updateInfo, ex);
}
catch (Throwable ex) {
installationFailed(updateInfo, ex);
}
finally {
closeSilently(inputStream);
}
}