|
From: <die...@us...> - 2014-02-07 11:44:51
|
Revision: 4560
http://openutils.svn.sourceforge.net/openutils/?rev=4560&view=rev
Author: diego_schivo
Date: 2014-02-07 11:44:47 +0000 (Fri, 07 Feb 2014)
Log Message:
-----------
MEDIA-313 - Possibility to automatically rename files imported from zip archive
Modified Paths:
--------------
magnoliamodules/branches/magnolia44/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBrowserPage.java
magnoliamodules/branches/magnolia44/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/zip/DefaultZipImporter.java
magnoliamodules/branches/magnolia44/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/zip/ZipImporter.java
magnoliamodules/branches/magnolia44/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBrowserPage.html
Modified: magnoliamodules/branches/magnolia44/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBrowserPage.java
===================================================================
--- magnoliamodules/branches/magnolia44/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBrowserPage.java 2014-01-30 16:58:35 UTC (rev 4559)
+++ magnoliamodules/branches/magnolia44/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBrowserPage.java 2014-02-07 11:44:47 UTC (rev 4560)
@@ -89,6 +89,8 @@
private Document zipFile;
+ private String baseFilename;
+
private String playlistHandle;
private String playlistSearch;
@@ -190,7 +192,7 @@
{ // Fallback to the default if nothing is set.
importer = new DefaultZipImporter();
}
- importer.importFromZip(zip, parentPath);
+ importer.importFromZip(zip, parentPath, baseFilename);
zip.close();
AlertUtil.setMessage(getMsgs().get("media.loadzip.success"));
}
@@ -378,6 +380,24 @@
}
/**
+ * Returns the baseFilename.
+ * @return the baseFilename
+ */
+ public String getBaseFilename()
+ {
+ return baseFilename;
+ }
+
+ /**
+ * Sets the baseFilename.
+ * @param baseFilename the baseFilename to set
+ */
+ public void setBaseFilename(String baseFilename)
+ {
+ this.baseFilename = baseFilename;
+ }
+
+ /**
* Returns the playlistHandle.
* @return the playlistHandle
*/
Modified: magnoliamodules/branches/magnolia44/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/zip/DefaultZipImporter.java
===================================================================
--- magnoliamodules/branches/magnolia44/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/zip/DefaultZipImporter.java 2014-01-30 16:58:35 UTC (rev 4559)
+++ magnoliamodules/branches/magnolia44/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/zip/DefaultZipImporter.java 2014-02-07 11:44:47 UTC (rev 4560)
@@ -26,6 +26,7 @@
import net.sourceforge.openutils.mgnlmedia.media.utils.MediaLoadUtils;
+import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang.StringUtils;
@@ -41,9 +42,18 @@
*/
public void importFromZip(ZipFile zip, String parentPath) throws ZipImporterException
{
+ importFromZip(zip, parentPath, null);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void importFromZip(ZipFile zip, String parentPath, String baseFilename) throws ZipImporterException
+ {
try
{
Enumeration< ? extends ZipEntry> entries = zip.entries();
+ int i = 0;
while (entries.hasMoreElements())
{
ZipEntry entry = entries.nextElement();
@@ -74,11 +84,18 @@
parent = StringUtils.substringBeforeLast(parent, "/");
+ String baseName = StringUtils.defaultIfEmpty(baseFilename, FilenameUtils.getBaseName(filename));
+ String extension = FilenameUtils.getExtension(filename);
+ filename = baseName
+ + (i + 1)
+ + (!StringUtils.isEmpty(extension) ? FilenameUtils.EXTENSION_SEPARATOR : StringUtils.EMPTY)
+ + StringUtils.defaultString(extension);
MediaLoadUtils.loadEntry(
inputStream,
StringUtils.defaultIfEmpty(parent, "/fromzip"),
filename,
false);
+ i++;
}
}
Modified: magnoliamodules/branches/magnolia44/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/zip/ZipImporter.java
===================================================================
--- magnoliamodules/branches/magnolia44/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/zip/ZipImporter.java 2014-01-30 16:58:35 UTC (rev 4559)
+++ magnoliamodules/branches/magnolia44/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/zip/ZipImporter.java 2014-02-07 11:44:47 UTC (rev 4560)
@@ -40,4 +40,6 @@
* @throws ZipImporterException
*/
void importFromZip(ZipFile zip, String parentPath) throws ZipImporterException;
+
+ void importFromZip(ZipFile zip, String parentPath, String baseFilename) throws ZipImporterException;
}
Modified: magnoliamodules/branches/magnolia44/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBrowserPage.html
===================================================================
--- magnoliamodules/branches/magnolia44/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBrowserPage.html 2014-01-30 16:58:35 UTC (rev 4559)
+++ magnoliamodules/branches/magnolia44/openutils-mgnlmedia/src/main/resources/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBrowserPage.html 2014-02-07 11:44:47 UTC (rev 4560)
@@ -294,8 +294,10 @@
function uploadzip(tree)
{
var width = 290;
- var height = 100;
+ var height = 140;
var uploadDlg;
+ document.getElementById('renameDiv').style.display = '';
+ document.getElementById('baseFilenameDiv').style.display = 'none';
var tpl = Ext.XTemplate.from("formDiv");
var html = tpl.apply({
parentPath: tree.selectedNode.path
@@ -361,9 +363,19 @@
style="width:100%; height:100%; border:0 none; overflow:hidden;" frameborder="0" scrolling="no"></iframe>
<div id="formDiv" style="display:none">
<form class="formToSubmit" action="" enctype="multipart/form-data" method="post">
- <input type="hidden" name="command" value="saveZip" />
- <input id="parentPath" type="hidden" name="parentPath" value="{parentPath}" />
- <input type="file" name="zipFile" />
+ <div style="margin: 10px;">
+ <input type="hidden" name="command" value="saveZip" />
+ <input id="parentPath" type="hidden" name="parentPath" value="{parentPath}" />
+ <input type="file" name="zipFile" />
+ </div>
+ <div id="renameDiv" style="margin: 10px;">
+ <input id="rename" type="checkbox" name="rename" style="float: left; margin-right: 5px;" onclick="this.parentNode.style.display = 'none'; this.form.baseFilename.parentNode.style.display = '';" />
+ <label for="rename" onclick="this.parentNode.style.display = 'none'; this.form.baseFilename.parentNode.style.display = '';">Rename files</label>
+ </div>
+ <div id="baseFilenameDiv" style="display: none; margin: 10px;">
+ <label for="baseFilename" style="float: left; line-height: 20px; width: 70px;">Name</label>
+ <input id="baseFilename" type="text" name="baseFilename" style="width: 180px;" />
+ </div>
</form>
</div>
</body>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|