Author: ghuber
Date: Mon Jan 6 14:09:33 2014
New Revision: 1555788
URL: http://svn.apache.org/r1555788
Log:
Media files testing changes.
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/MediaFileManager.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAMediaFileManagerImpl.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/MediaFile.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd.java
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileBase.java
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/MediaFileManager.java
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/MediaFileManager.java?rev=1555788&r1=1555787&r2=1555788&view=diff
==============================================================================
---
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/MediaFileManager.java
(original)
+++
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/MediaFileManager.java
Mon Jan 6 14:09:33 2014
@@ -203,5 +203,4 @@ public interface MediaFileManager {
*/
void removeMediaFileTag(String name, MediaFile entry)
throws WebloggerException;
-
}
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAMediaFileManagerImpl.java
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAMediaFileManagerImpl.java?rev=1555788&r1=1555787&r2=1555788&view=diff
==============================================================================
---
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAMediaFileManagerImpl.java
(original)
+++
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAMediaFileManagerImpl.java
Mon Jan 6 14:09:33 2014
@@ -33,14 +33,14 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
-
import java.util.Properties;
import java.util.Set;
import java.util.StringTokenizer;
-import javax.imageio.ImageIO;
+import javax.imageio.ImageIO;
import javax.persistence.NoResultException;
import javax.persistence.Query;
+
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -60,6 +60,7 @@ import org.apache.roller.weblogger.pojos
import org.apache.roller.weblogger.pojos.MediaFileType;
import org.apache.roller.weblogger.pojos.User;
import org.apache.roller.weblogger.pojos.Weblog;
+import org.apache.roller.weblogger.pojos.WeblogEntry;
import org.apache.roller.weblogger.util.RollerMessages;
import org.apache.roller.weblogger.util.Utilities;
@@ -111,16 +112,22 @@ public class JPAMediaFileManagerImpl imp
// Refresh associated parent for changes
strategy.refresh(mediaFileDir.getParent());
mediaFileDir.setParent(targetDir);
+ if ("/".equals(targetDir.getPath())) {
+ mediaFileDir.setPath("/" + mediaFileDir.getName());
+ } else {
+ mediaFileDir.setPath(targetDir.getPath() + "/"
+ + mediaFileDir.getName());
+ }
this.strategy.store(mediaFileDir);
}
-
+
// Refresh associated parent for changes
roller.flush();
strategy.refresh(targetDir);
if (targetDir.getParent() != null) {
strategy.refresh(targetDir.getParent());
}
-
+
// update weblog last modified date. date updated by saveWebsite()
roller.getWeblogManager().saveWeblog(targetDir.getWeblog());
}
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/MediaFile.java
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/MediaFile.java?rev=1555788&r1=1555787&r2=1555788&view=diff
==============================================================================
---
roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/MediaFile.java
(original)
+++
roller/trunk/app/src/main/java/org/apache/roller/weblogger/pojos/MediaFile.java
Mon Jan 6 14:09:33 2014
@@ -530,14 +530,11 @@ public class MediaFile implements Serial
return false;
}
MediaFile o = (MediaFile) other;
- return new EqualsBuilder().append(getName(), o.getName())
- .append(getDirectory(), o.getDirectory())
- .append(getWeblog(), o.getWeblog()).isEquals();
+ return new EqualsBuilder().append(getId(), o.getId()).isEquals();
}
public int hashCode() {
- return new HashCodeBuilder().append(getName()).append(getDirectory())
- .append(getWeblog()).toHashCode();
+ return new HashCodeBuilder().append(getId()).toHashCode();
}
}
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd.java
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd.java?rev=1555788&r1=1555787&r2=1555788&view=diff
==============================================================================
---
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd.java
(original)
+++
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileAdd.java
Mon Jan 6 14:09:33 2014
@@ -38,7 +38,6 @@ import org.apache.roller.weblogger.util.
import org.apache.roller.weblogger.util.Utilities;
import org.apache.struts2.interceptor.validation.SkipValidation;
-
/**
* Adds a new media file.
*/
@@ -62,8 +61,7 @@ public class MediaFileAdd extends MediaF
private List<MediaFile> newFiles = new ArrayList<MediaFile>();
- private String directoryPath = null;
-
+ private String directoryPath = null;
public MediaFileAdd() {
this.actionName = "mediaFileAdd";
@@ -78,27 +76,34 @@ public class MediaFileAdd extends MediaF
log.debug("Into myprepare");
refreshAllDirectories();
try {
- MediaFileManager mgr =
WebloggerFactory.getWeblogger().getMediaFileManager();
+ MediaFileManager mgr = WebloggerFactory.getWeblogger()
+ .getMediaFileManager();
if (!StringUtils.isEmpty(bean.getDirectoryId())) {
setDirectory(mgr.getMediaFileDirectory(bean.getDirectoryId()));
} else if (StringUtils.isNotEmpty(directoryPath)) {
-
setDirectory(mgr.getMediaFileDirectoryByPath(getActionWeblog(), directoryPath));
+ setDirectory(mgr.getMediaFileDirectoryByPath(getActionWeblog(),
+ directoryPath));
} else {
-
setDirectory(mgr.createRootMediaFileDirectory(getActionWeblog()));
+ MediaFileDirectory root = mgr
+ .getMediaFileRootDirectory(getActionWeblog());
+ if (root == null) {
+ root = mgr.createRootMediaFileDirectory(getActionWeblog());
+ }
+ setDirectory(root);
}
directoryPath = getDirectory().getPath();
bean.setDirectoryId(getDirectory().getId());
} catch (WebloggerException ex) {
log.error("Error looking up media file directory", ex);
- } finally{
- //flush
+ } finally {
+ // flush
try {
WebloggerFactory.getWeblogger().flush();
} catch (WebloggerException e) {
- //ignored
+ // ignored
}
}
}
@@ -123,8 +128,9 @@ public class MediaFileAdd extends MediaF
myValidate();
if (!hasActionErrors()) {
-
- MediaFileManager manager =
WebloggerFactory.getWeblogger().getMediaFileManager();
+
+ MediaFileManager manager = WebloggerFactory.getWeblogger()
+ .getMediaFileManager();
RollerMessages errors = new RollerMessages();
List<MediaFile> uploaded = new ArrayList();
@@ -152,36 +158,43 @@ public class MediaFileAdd extends MediaF
}
// make sure fileName is valid
- if (fileName.indexOf('/') != -1 ||
- fileName.indexOf('\\') != -1 ||
- fileName.contains("..")) {
+ if (fileName.indexOf('/') != -1
+ || fileName.indexOf('\\') != -1
+ || fileName.contains("..")) {
addError("uploadFiles.error.badPath", fileName);
continue;
}
- mediaFile.setName( fileName);
- mediaFile.setDirectory( getDirectory());
- mediaFile.setWeblog( getActionWeblog());
- mediaFile.setLength(
this.uploadedFiles[i].length());
- mediaFile.setInputStream(new
FileInputStream(this.uploadedFiles[i]));
-
mediaFile.setContentType(this.uploadedFilesContentType[i]);
+ mediaFile.setName(fileName);
+ mediaFile.setDirectory(getDirectory());
+ mediaFile.setWeblog(getActionWeblog());
+ mediaFile.setLength(this.uploadedFiles[i].length());
+ mediaFile.setInputStream(new FileInputStream(
+ this.uploadedFiles[i]));
+ mediaFile
+
.setContentType(this.uploadedFilesContentType[i]);
// insome cases Struts2 is not able to guess the
content
// type correctly and assigns the default, which is
// octet-stream. So in cases where we see octet-stream
// we double check and see if we can guess the content
// type via the Java MIME type facilities.
-
mediaFile.setContentType(this.uploadedFilesContentType[i]);
+ mediaFile
+
.setContentType(this.uploadedFilesContentType[i]);
if (mediaFile.getContentType() == null
- ||
mediaFile.getContentType().endsWith("/octet-stream")) {
-
- String ctype =
Utilities.getContentTypeFromFileName(mediaFile.getName());
+ || mediaFile.getContentType().endsWith(
+ "/octet-stream")) {
+
+ String ctype = Utilities
+ .getContentTypeFromFileName(mediaFile
+ .getName());
if (null != ctype) {
mediaFile.setContentType(ctype);
}
}
- manager.createMediaFile(getActionWeblog(), mediaFile,
errors);
+ manager.createMediaFile(getActionWeblog(), mediaFile,
+ errors);
WebloggerFactory.getWeblogger().flush();
if (mediaFile.isImageFile()) {
@@ -207,7 +220,8 @@ public class MediaFileAdd extends MediaF
if (uploaded.size() > 0 && !this.errorsExist()) {
addMessage("uploadFiles.uploadedFiles");
for (MediaFile upload : uploaded) {
- addMessage("uploadFiles.uploadedFile",
upload.getPermalink());
+ addMessage("uploadFiles.uploadedFile",
+ upload.getPermalink());
}
} else {
@@ -284,7 +298,8 @@ public class MediaFileAdd extends MediaF
}
/**
- * @param newImages the newImages to set
+ * @param newImages
+ * the newImages to set
*/
public void setNewImages(List<MediaFile> newImages) {
this.newImages = newImages;
@@ -298,7 +313,8 @@ public class MediaFileAdd extends MediaF
}
/**
- * @param newFiles the newFiles to set
+ * @param newFiles
+ * the newFiles to set
*/
public void setNewFiles(List<MediaFile> newFiles) {
this.newFiles = newFiles;
@@ -312,7 +328,8 @@ public class MediaFileAdd extends MediaF
}
/**
- * @param directoryPath the directoryPath to set
+ * @param directoryPath
+ * the directoryPath to set
*/
public void setDirectoryPath(String directoryPath) {
this.directoryPath = directoryPath;
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileBase.java
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileBase.java?rev=1555788&r1=1555787&r2=1555788&view=diff
==============================================================================
---
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileBase.java
(original)
+++
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/struts2/editor/MediaFileBase.java
Mon Jan 6 14:09:33 2014
@@ -34,7 +34,7 @@ import org.apache.roller.weblogger.ui.st
/**
* Base class for all actions related to media files.
- *
+ *
*/
@SuppressWarnings("serial")
public class MediaFileBase extends UIAction {
@@ -54,7 +54,8 @@ public class MediaFileBase extends UIAct
try {
log.debug("Processing delete of file id - " + this.mediaFileId);
- MediaFileManager manager =
WebloggerFactory.getWeblogger().getMediaFileManager();
+ MediaFileManager manager = WebloggerFactory.getWeblogger()
+ .getMediaFileManager();
MediaFile mediaFile = manager.getMediaFile(this.mediaFileId);
manager.removeMediaFile(getActionWeblog(), mediaFile);
// flush changes
@@ -63,7 +64,7 @@ public class MediaFileBase extends UIAct
addMessage("mediaFile.delete.success");
} catch (WebloggerException e) {
log.error("Error deleting media file", e);
- addError("mediaFile.delete.error",this.mediaFileId);
+ addError("mediaFile.delete.error", this.mediaFileId);
}
}
@@ -73,8 +74,10 @@ public class MediaFileBase extends UIAct
protected void doIncludeMediaFileInGallery() {
try {
- log.debug("Processing include-in-gallery of file id - " +
this.mediaFileId);
- MediaFileManager manager =
WebloggerFactory.getWeblogger().getMediaFileManager();
+ log.debug("Processing include-in-gallery of file id - "
+ + this.mediaFileId);
+ MediaFileManager manager = WebloggerFactory.getWeblogger()
+ .getMediaFileManager();
MediaFile mediaFile = manager.getMediaFile(this.mediaFileId);
mediaFile.setSharedForGallery(true);
manager.updateMediaFile(getActionWeblog(), mediaFile);
@@ -83,7 +86,7 @@ public class MediaFileBase extends UIAct
addMessage("mediaFile.includeInGallery.success");
} catch (WebloggerException e) {
log.error("Error including media file in gallery", e);
- addError("mediaFile.includeInGallery.error",this.mediaFileId);
+ addError("mediaFile.includeInGallery.error", this.mediaFileId);
}
}
@@ -94,10 +97,12 @@ public class MediaFileBase extends UIAct
String[] fileIds = getSelectedMediaFiles();
String[] dirIds = getSelectedMediaFileDirectories();
try {
- MediaFileManager manager =
WebloggerFactory.getWeblogger().getMediaFileManager();
+ MediaFileManager manager = WebloggerFactory.getWeblogger()
+ .getMediaFileManager();
if (fileIds != null && fileIds.length > 0) {
- log.debug("Processing delete of " + fileIds.length + " media
files.");
+ log.debug("Processing delete of " + fileIds.length
+ + " media files.");
for (int index = 0; index < fileIds.length; index++) {
log.debug("Deleting media file - " + fileIds[index]);
MediaFile mediaFile = manager.getMediaFile(fileIds[index]);
@@ -108,19 +113,25 @@ public class MediaFileBase extends UIAct
}
if (dirIds != null && dirIds.length > 0) {
- log.debug("Processing delete of " + dirIds.length + " media
directories.");
+ log.debug("Processing delete of " + dirIds.length
+ + " media directories.");
manager =
WebloggerFactory.getWeblogger().getMediaFileManager();
for (int index = 0; index < dirIds.length; index++) {
- log.debug("Deleting media file directory - " +
dirIds[index]);
- MediaFileDirectory mediaFileDir =
manager.getMediaFileDirectory(dirIds[index]);
+ log.debug("Deleting media file directory - "
+ + dirIds[index]);
+ MediaFileDirectory mediaFileDir = manager
+ .getMediaFileDirectory(dirIds[index]);
if (mediaFileDir != null) {
-
mediaFileDir.getParent().removeChildDirectory(mediaFileDir);
+ mediaFileDir.getParent().removeChildDirectory(
+ mediaFileDir);
manager.removeMediaFileDirectory(mediaFileDir);
}
}
+ refreshAllDirectories();
}
-
WebloggerFactory.getWeblogger().getWeblogManager().saveWeblog(this.getActionWeblog());
-
+ WebloggerFactory.getWeblogger().getWeblogManager()
+ .saveWeblog(this.getActionWeblog());
+
// flush changes
WebloggerFactory.getWeblogger().flush();
WebloggerFactory.getWeblogger().release();
@@ -139,34 +150,62 @@ public class MediaFileBase extends UIAct
String[] fileIds = getSelectedMediaFiles();
String[] dirIds = getSelectedMediaFileDirectories();
try {
- MediaFileManager manager =
WebloggerFactory.getWeblogger().getMediaFileManager();
+ int movedFiles = 0;
+ MediaFileManager manager = WebloggerFactory.getWeblogger()
+ .getMediaFileManager();
if (fileIds != null && fileIds.length > 0) {
- log.debug("Processing move of " + fileIds.length + " media
files.");
- MediaFileDirectory targetDirectory =
- manager.getMediaFileDirectory(this.selectedDirectory);
+ log.debug("Processing move of " + fileIds.length
+ + " media files.");
+ MediaFileDirectory targetDirectory = manager
+ .getMediaFileDirectory(this.selectedDirectory);
for (int index = 0; index < fileIds.length; index++) {
- log.debug("Moving media file - " + fileIds[index] + " to
directory - " + this.selectedDirectory);
+ log.debug("Moving media file - " + fileIds[index]
+ + " to directory - " + this.selectedDirectory);
MediaFile mediaFile = manager.getMediaFile(fileIds[index]);
- manager.moveMediaFile(mediaFile, targetDirectory);
+ if (mediaFile != null) {
+ if (!mediaFile.getDirectory().getId()
+ .equals(targetDirectory.getId())) {
+ manager.moveMediaFile(mediaFile, targetDirectory);
+ movedFiles++;
+ }
+ }
}
}
+ int movedDirs = 0;
if (dirIds != null && dirIds.length > 0) {
- log.debug("Processing move of " + dirIds.length + " media
files directories.");
- MediaFileDirectory targetDirectory =
- manager.getMediaFileDirectory(this.selectedDirectory);
+ log.debug("Processing move of " + dirIds.length
+ + " media files directories.");
+ MediaFileDirectory targetDirectory = manager
+ .getMediaFileDirectory(this.selectedDirectory);
for (int index = 0; index < dirIds.length; index++) {
- log.debug("Moving media file - " + dirIds[index] + " to
directory - " + this.selectedDirectory);
- MediaFileDirectory mediaFileDir =
manager.getMediaFileDirectory(dirIds[index]);
- manager.moveMediaFileDirectory(mediaFileDir,
targetDirectory);
+ log.debug("Moving media file - " + dirIds[index]
+ + " to directory - " + this.selectedDirectory);
+ MediaFileDirectory mediaFileDir = manager
+ .getMediaFileDirectory(dirIds[index]);
+ if (mediaFileDir != null) {
+ if (!mediaFileDir.getId().equals(
+ targetDirectory.getId())
+ && !mediaFileDir.getParent().getId()
+ .equals(targetDirectory.getId())) {
+ manager.moveMediaFileDirectory(mediaFileDir,
+ targetDirectory);
+ movedDirs++;
+ }
+ }
}
}
// flush changes
WebloggerFactory.getWeblogger().flush();
WebloggerFactory.getWeblogger().release();
- addMessage("mediaFile.move.success");
+ if (movedFiles > 0 || movedDirs > 0) {
+ addMessage("mediaFile.move.success");
+ if (movedDirs > 0) {
+ refreshAllDirectories();
+ }
+ }
} catch (WebloggerException e) {
log.error("Error moving selected media files", e);
@@ -179,11 +218,14 @@ public class MediaFileBase extends UIAct
*/
protected void refreshAllDirectories() {
try {
- MediaFileManager mgr =
WebloggerFactory.getWeblogger().getMediaFileManager();
- List<MediaFileDirectory> directories =
mgr.getMediaFileDirectories(getActionWeblog());
+ MediaFileManager mgr = WebloggerFactory.getWeblogger()
+ .getMediaFileManager();
+ List<MediaFileDirectory> directories = mgr
+ .getMediaFileDirectories(getActionWeblog());
List<MediaFileDirectory> sortedDirList = new
ArrayList<MediaFileDirectory>();
sortedDirList.addAll(directories);
- Collections.sort(sortedDirList, new
MediaFileDirectoryComparator(DirectoryComparatorType.PATH));
+ Collections.sort(sortedDirList, new MediaFileDirectoryComparator(
+ DirectoryComparatorType.PATH));
setAllDirectories(sortedDirList);
} catch (WebloggerException ex) {
log.error("Error looking up media file directories", ex);
@@ -239,9 +281,11 @@ public class MediaFileBase extends UIAct
}
/**
- * @param selectedMediaFileDirectories the selectedMediaFileDirectories to
set
+ * @param selectedMediaFileDirectories
+ * the selectedMediaFileDirectories to set
*/
- public void setSelectedMediaFileDirectories(String[]
selectedMediaFileDirectories) {
+ public void setSelectedMediaFileDirectories(
+ String[] selectedMediaFileDirectories) {
this.selectedMediaFileDirectories = selectedMediaFileDirectories;
}
}