diff --git a/build.xml b/build.xml index d033c56..164a2a2 100755 --- a/build.xml +++ b/build.xml @@ -17,6 +17,7 @@ + @@ -69,18 +70,19 @@ - + + + + - + --> diff --git a/src/zall/UploadServlet.java b/src/zall/UploadServlet.java index e3e1731..e814c4c 100644 --- a/src/zall/UploadServlet.java +++ b/src/zall/UploadServlet.java @@ -30,8 +30,9 @@ public class UploadServlet extends AjaxFileUpload{ private static final Logger logger = LogUtil.getLogger(); private static final long serialVersionUID = 1L; - private static final Set VIDEO_EXT = Collections.unmodifiableSet(new HashSet(Arrays.asList( - "avi","mp4","mpeg","mpeg","divx","xvid","wmv","mov","flv","m4v"))); + public static final Set VIDEO_EXT = Collections.unmodifiableSet(new HashSet(Arrays.asList(new String[]{ + "avi","mp4","mpeg","mpeg","divx","xvid","wmv","mov","flv","m4v" + }))); @Override public String getProgressHTML() { @@ -75,7 +76,6 @@ public class UploadServlet extends AjaxFileUpload{ vid.setUser( user ); vid.setFile( item ); vid.save(db); - logger.info("Video upload successful: "+vid.getFolder().getPath()); } else{ Image img = new Image(); @@ -83,8 +83,7 @@ public class UploadServlet extends AjaxFileUpload{ img.setFolder( folder ); img.setUser( user ); img.setFile( item ); - img.save(db); - logger.info("Image upload successful: "+img.getFolder().getPath()); + img.save(db); } } catch (Exception e) { logger.log(Level.WARNING, "Error: Creating new Media(\""+item.getName()+"\")", e); diff --git a/src/zall/Zallery.java b/src/zall/Zallery.java index d9c6d7a..8fec668 100755 --- a/src/zall/Zallery.java +++ b/src/zall/Zallery.java @@ -32,7 +32,7 @@ import zutil.log.LogUtil; public class Zallery extends HttpServlet{ private static Logger logger = LogUtil.getLogger(); - public static final String VERSION = "1.0.2"; + public static final String VERSION = "1.0.1"; public static String WEBSITE_NAME = "Example.com"; public static String WEBSITE_URL = "http://example.com"; @@ -54,7 +54,7 @@ public class Zallery extends HttpServlet{ Context context = new InitialContext(); // Check if Zallery has been properly configured if ("C:\\\\data".equals(context.lookup("java:comp/env/DATA_PATH"))) - throw new ServletException("Zallery has not been properly configured, set proper configuration in Zallery.xml context file."); + throw new ServletException("Zallery has not been properly configured, set proper configuration in Zaller.xml context file."); WEBSITE_NAME = (String)context.lookup("java:comp/env/WEBSITE_NAME"); WEBSITE_URL = (String)context.lookup("java:comp/env/WEBSITE_URL"); @@ -211,7 +211,7 @@ public class Zallery extends HttpServlet{ } } List list = Media.load(db, folder); - List subFolders = Folder.loadSubFolders(db, folder, user); + List subFolders = Folder.loadSubFolders(db, folder.getId(), user); //session.setAttribute("user", user); request.setAttribute("folder", folder); diff --git a/src/zall/bean/Folder.java b/src/zall/bean/Folder.java index 6f4cc36..fdb585a 100755 --- a/src/zall/bean/Folder.java +++ b/src/zall/bean/Folder.java @@ -4,10 +4,8 @@ import java.io.File; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Timestamp; -import java.util.Collections; import java.util.LinkedList; import java.util.List; -import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Matcher; @@ -23,24 +21,25 @@ import zall.Zallery; public class Folder extends DBBean{ private static final Logger logger = LogUtil.getLogger(); - private transient String name; - protected long user = -1; - protected transient User userInstance; - private String path; + protected transient String name; + protected User user; + protected String path; protected Folder parent; - protected Timestamp date; - private boolean isPrivate; + protected Timestamp date; + protected boolean isPrivate; + //@DBLinkTable(name="FolderTree", beanClass=Folder.class, idColumn="parent") + //protected LinkedList subFolders; public static Folder load(DBConnection db, Long id) throws SQLException{ return load(db, Folder.class, id); } - public static List loadSubFolders(DBConnection db, Folder folder, User requestingUser) throws SQLException{ + public static List loadSubFolders(DBConnection db, Long id, User user) throws SQLException{ PreparedStatement sql = db.getPreparedStatement("SELECT * FROM Folder WHERE parent=? AND (isPrivate=0 OR user=? OR ?)"); - sql.setLong(1, folder.getId()); - sql.setLong(2, folder.user); - sql.setBoolean(3, requestingUser.isSuperUser()); + sql.setLong(1, id); + sql.setLong(2, user.getId()); + sql.setBoolean(3, user.isSuperUser()); return DBConnection.exec(sql, DBBeanSQLResultHandler.createList(Folder.class, db)); } @@ -61,14 +60,15 @@ public class Folder extends DBBean{ public static List load(DBConnection db, User user) throws SQLException{ if( user.getId() == null ) - return Collections.emptyList(); + return new LinkedList(); PreparedStatement sql = db.getPreparedStatement("SELECT * FROM Folder WHERE user=?"); sql.setLong(1, user.getId() ); return DBConnection.exec(sql, DBBeanSQLResultHandler.createList(Folder.class, db)); } public Folder(){ - date = new Timestamp( System.currentTimeMillis() ); + //subFolders = new LinkedList(); + date = new Timestamp( System.currentTimeMillis() ); } public String getName(){ @@ -76,25 +76,20 @@ public class Folder extends DBBean{ String[] tmp = path.split("/"); name = tmp[tmp.length-1]; } - String userName = getUser() != null ? getUser().getName() : "UNKNOWN"; + String userName = user != null ? user.getName() : "UNKNOWN"; String tmp = name.replaceAll("\\{NAME\\}", userName); return tmp; } + public String getUnModName(){ + if(name == null) + getName(); + return name; + } public User getUser(){ - if (userInstance == null) { - try { - DBConnection db = Zallery.getDB(); - userInstance = User.load(db, user); - db.close(); - } catch (Exception e) { - logger.log(Level.WARNING, null, e); - } - } - return userInstance; + return user; } public void setUser(User user){ - this.user = user.getId(); - this.userInstance = null; + this.user = user; } public boolean isPrivate(){ return isPrivate; @@ -103,9 +98,12 @@ public class Folder extends DBBean{ this.isPrivate = priv; } public String getPath(){ - String tmp = path.replaceAll("\\{NAME\\}", getUser().getName()); + String tmp = path.replaceAll("\\{NAME\\}", user.getName()); return tmp; } + public String getUnModPath(){ + return path; + } public void setName(String name){ this.name = name; if( parent.path.endsWith("/") ) @@ -127,10 +125,20 @@ public class Folder extends DBBean{ return parent; } - public Timestamp getDate(){ - return date; - } + /*public void addSubFolder(Folder f){ + if( !subFolders.contains(f) ){ + subFolders.add( f ); + f.setParent( this ); + } + }*/ + /*public List getSubFolders(){ + return subFolders; + }*/ + + public Timestamp getDate(){ + return date; + } /** * @param filename is the name of the file @@ -145,7 +153,7 @@ public class Folder extends DBBean{ return null; } - if( user < 0 || filename == null ) + if( user == null || filename == null ) return null; StringBuilder tmp = new StringBuilder(); @@ -158,7 +166,7 @@ public class Folder extends DBBean{ tmp.append( File.separatorChar ); // Add UserID and this folders path - String tmp_path = path.replaceAll("\\{NAME\\}", ""+user); + String tmp_path = path.replaceAll("\\{NAME\\}", ""+user.getId()); tmp_path = tmp_path.replaceAll("/", Matcher.quoteReplacement(File.separator)); tmp.append( tmp_path ); @@ -187,6 +195,6 @@ public class Folder extends DBBean{ } public boolean isEmpty(DBConnection db) throws SQLException { - return Folder.loadSubFolders(db, this, getUser()).isEmpty() && Media.load(db, this).isEmpty(); + return Folder.loadSubFolders(db, this.getId(), user).isEmpty() && Media.load(db, this).isEmpty(); } }