/*
* Copyright (c) 2014 Dennis Fischer.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0+
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
*
* Contributors: Dennis Fischer
*/
package de.chaosfisch.google.processors;
import com.google.inject.Inject;
import de.chaosfisch.google.account.Account;
import de.chaosfisch.google.youtube.playlist.IPlaylistService;
import de.chaosfisch.google.youtube.playlist.PlaylistIOException;
import de.chaosfisch.google.youtube.upload.Upload;
import de.chaosfisch.google.youtube.upload.UploadPreProcessor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
public class PlaylistPreProcessor implements UploadPreProcessor {
private static final Logger LOGGER = LoggerFactory.getLogger(PlaylistPreProcessor.class);
private final IPlaylistService playlistService;
@Inject
public PlaylistPreProcessor(final IPlaylistService playlistService) {
this.playlistService = playlistService;
}
@Override
public Upload process(final Upload upload) {
final List<Account> accountList = new ArrayList<>(1);
accountList.add(upload.getAccount());
try {
playlistService.synchronizePlaylists(accountList);
} catch (final PlaylistIOException e) {
LOGGER.error("Failed updating playlists.", e);
}
return upload;
}
}