From: <fg...@us...> - 2010-02-23 17:41:53
|
Revision: 2045 http://openutils.svn.sourceforge.net/openutils/?rev=2045&view=rev Author: fgiust Date: 2010-02-23 17:41:47 +0000 (Tue, 23 Feb 2010) Log Message: ----------- MEDIA-115 parsing of remote files can now be disabled Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/MediaModuleVersionHandler.java trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/externals/YoutubeSupport.java 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/utils/FLVMedataUtils.java Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/MediaModuleVersionHandler.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/MediaModuleVersionHandler.java 2010-02-23 17:36:59 UTC (rev 2044) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/MediaModuleVersionHandler.java 2010-02-23 17:41:47 UTC (rev 2045) @@ -139,6 +139,12 @@ // sort mediatypes on the "order" property tasks.add(new NodeSortTask("config", "/modules/media/mediatypes", "order")); + tasks.add(new CreateMissingPropertyTask( + ContentRepository.CONFIG, + "/modules/media/mediatypes/youtube/handler", + "parseremotefiles", + Boolean.TRUE)); + // install stk support try { Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/externals/YoutubeSupport.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/externals/YoutubeSupport.java 2010-02-23 17:36:59 UTC (rev 2044) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/externals/YoutubeSupport.java 2010-02-23 17:41:47 UTC (rev 2045) @@ -88,6 +88,7 @@ String videoInfoUrl = "http://www.youtube.com/get_video_info?video_id=" + videoId; URL url = new URL(videoInfoUrl); HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); + httpConn.setConnectTimeout(5000); if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK) { in = new BufferedReader(new InputStreamReader(httpConn.getInputStream())); 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-23 17:36:59 UTC (rev 2044) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-02-23 17:41:47 UTC (rev 2045) @@ -70,6 +70,20 @@ private List<ExternalVideoSupport> videoSupportHandlers = new ArrayList<ExternalVideoSupport>(); /** + * If true, the media module will try to connect to the remote server to analyze flv metadata. + */ + private boolean parseremotefiles; + + /** + * If true, the media module will try to connect to the remote server to analyze flv metadata. + * @param parseremotefiles true to enable the parsing of remote flv files. + */ + public void setParseremotefiles(boolean parseremotefiles) + { + this.parseremotefiles = parseremotefiles; + } + + /** * {@inheritDoc} */ @Override @@ -190,6 +204,11 @@ @Override protected FLVMetaData parseFLVMetaData(Content media) throws Exception { + if (!parseremotefiles) + { + return null; + } + String downloadUrl = getUrl(media); for (ExternalVideoSupport external : videoSupportHandlers) { @@ -223,29 +242,34 @@ @Override public boolean onPostSave(Content media) { - try + + if (parseremotefiles) { - if (!media.hasNodeData(PREVIEW_NODEDATA_NAME)) + try { - String downloadUrl = getUrl(media); - for (ExternalVideoSupport external : videoSupportHandlers) + if (!media.hasNodeData(PREVIEW_NODEDATA_NAME)) { - if (external.isEnabled() && external.canHandle(downloadUrl)) + String downloadUrl = getUrl(media); + for (ExternalVideoSupport external : videoSupportHandlers) { - String previewUrl = external.getPreviewUrl(downloadUrl); - if (StringUtils.isNotBlank(previewUrl)) + if (external.isEnabled() && external.canHandle(downloadUrl)) { - copyPreviewImageToRepository(media, previewUrl); + String previewUrl = external.getPreviewUrl(downloadUrl); + if (StringUtils.isNotBlank(previewUrl)) + { + copyPreviewImageToRepository(media, previewUrl); + } + break; } - break; } } } + catch (RepositoryException e) + { + log.error(e.getMessage(), e); + } } - catch (RepositoryException e) - { - log.error(e.getMessage(), e); - } + return super.onPostSave(media); } @@ -260,6 +284,7 @@ { URL url = new URL(previewUrl); HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); + httpConn.setConnectTimeout(5000); if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK) { is = httpConn.getInputStream(); Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/utils/FLVMedataUtils.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/utils/FLVMedataUtils.java 2010-02-23 17:36:59 UTC (rev 2044) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/utils/FLVMedataUtils.java 2010-02-23 17:41:47 UTC (rev 2045) @@ -21,6 +21,7 @@ import java.io.IOException; import java.io.InputStream; +import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import java.nio.ByteBuffer; @@ -166,6 +167,8 @@ public static FLVMetaData parseFLVfromUrl(URL url) throws IOException { URLConnection connection = url.openConnection(); + connection.setConnectTimeout(5000); + // Getting the remote input stream InputStream fis = connection.getInputStream(); try This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |