/* * 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.youtube.upload.Upload; import de.chaosfisch.google.youtube.upload.UploadPostProcessor; import de.chaosfisch.google.youtube.upload.metadata.IMetadataService; import de.chaosfisch.google.youtube.upload.metadata.MetaBadRequestException; import de.chaosfisch.google.youtube.upload.metadata.MetaIOException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; class MetadataUpdatePostProcessor implements UploadPostProcessor { private static final Logger LOGGER = LoggerFactory.getLogger(MetadataUpdatePostProcessor.class); private final IMetadataService metadataService; @Inject MetadataUpdatePostProcessor(final IMetadataService metadataService) { this.metadataService = metadataService; } @Override public Upload process(final Upload upload) { try { metadataService.updateMetaData(metadataService.atomBuilder(upload), upload.getVideoid(), upload.getAccount()); } catch (final MetaBadRequestException e) { LOGGER.error("Metdata invalid", e); } catch (final MetaIOException e) { LOGGER.error("Metadata IOException", e); } return upload; } }