From: <die...@us...> - 2010-02-18 08:00:19
|
Revision: 1974 http://openutils.svn.sourceforge.net/openutils/?rev=1974&view=rev Author: diego_schivo Date: 2010-02-18 08:00:12 +0000 (Thu, 18 Feb 2010) Log Message: ----------- MEDIA-99 refactoring Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-02-18 07:47:48 UTC (rev 1973) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-02-18 08:00:12 UTC (rev 1974) @@ -41,7 +41,6 @@ import javax.jcr.RepositoryException; import javax.servlet.http.HttpServletRequest; -import net.sourceforge.openutils.mgnlmedia.media.tags.el.MediaEl; import net.sourceforge.openutils.mgnlmedia.media.types.externals.ExternalVideoSupport; import net.sourceforge.openutils.mgnlmedia.media.utils.FLVMedataUtils; import net.sourceforge.openutils.mgnlmedia.media.utils.FLVMedataUtils.FLVMetaData; @@ -231,7 +230,7 @@ @Override public boolean onPostSave(Content media) { - if (StringUtils.isEmpty(MediaEl.thumbnail(media))) + if (StringUtils.isBlank(getPreviewUrl(media))) { String downloadUrl = getUrl(media); for (ExternalVideoSupport external : videoSupportHandlers) @@ -241,48 +240,7 @@ String previewUrl = external.getPreviewUrl(downloadUrl); if (StringUtils.isNotBlank(previewUrl)) { - InputStream is = null; - try - { - URL url = new URL(previewUrl); - HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); - if (httpConn.getResponseCode() == 200) - { - is = httpConn.getInputStream(); - File file = File.createTempFile("external-video", "youtube-img", tempDir); - FileOutputStream fout = null; - try - { - fout = new FileOutputStream(file); - IOUtils.copy(is, fout); - } - finally - { - IOUtils.closeQuietly(fout); - } - Document doc = new Document(file, httpConn.getContentType()); - try - { - SaveHandlerImpl.saveDocument(media, doc, PREVIEW_NODEDATA_NAME, "preview.jpg", null); - } - catch (RepositoryException e) - { - log.error(e.getMessage(), e); - } - } - } - catch (MalformedURLException e) - { - log.error(e.getMessage(), e); - } - catch (IOException e) - { - log.error(e.getMessage(), e); - } - finally - { - IOUtils.closeQuietly(is); - } + copyPreviewImageToRepository(media, previewUrl); } break; } @@ -290,4 +248,58 @@ } return super.onPostSave(media); } + + /** + * @param media + * @param previewUrl + */ + private void copyPreviewImageToRepository(Content media, String previewUrl) + { + InputStream is = null; + try + { + URL url = new URL(previewUrl); + HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); + if (httpConn.getResponseCode() == 200) + { + is = httpConn.getInputStream(); + File file = File.createTempFile("external-video", "preview", tempDir); + FileOutputStream fout = null; + try + { + fout = new FileOutputStream(file); + IOUtils.copy(is, fout); + } + finally + { + IOUtils.closeQuietly(fout); + } + Document doc = new Document(file, httpConn.getContentType()); + try + { + SaveHandlerImpl.saveDocument(media, doc, PREVIEW_NODEDATA_NAME, "preview.jpg", null); + } + catch (RepositoryException e) + { + log.error(e.getMessage(), e); + } + finally + { + doc.delete(); + } + } + } + catch (MalformedURLException e) + { + log.error(e.getMessage(), e); + } + catch (IOException e) + { + log.error(e.getMessage(), e); + } + finally + { + IOUtils.closeQuietly(is); + } + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |