Compare commits

..

No commits in common. "master" and "BUILD-54" have entirely different histories.

13 changed files with 138 additions and 375 deletions

7
Jenkinsfile vendored
View file

@ -27,14 +27,9 @@ node {
} }
stage('Deploy') { stage('Deploy') {
timeout(time:2, unit:'HOURS') {
input message: 'Deploy?', submitter: 'ziver' input message: 'Deploy?', submitter: 'ziver'
}
node { node {
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: '46f1d99b-2037-47b9-a7b7-57a1066337fc', sh 'ant deploy'
usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) {
sh 'ant -Dtomcat.user=${USERNAME} -Dtomcat.pass=${PASSWORD} deploy'
}
} }
} }

View file

@ -1,91 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Zallery</display-name>
<welcome-file-list>
<welcome-file>gallery</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Zallery</servlet-name>
<servlet-class>zall.Zallery</servlet-class>
<init-param>
<param-name>WEBSITE_NAME</param-name>
<param-value>Koc.se Gallery</param-value>
</init-param>
<init-param>
<param-name>WEBSITE_URL</param-name>
<param-value>http://koc.se/Zallery/</param-value>
</init-param>
<init-param>
<param-name>SMTP_HOST</param-name>
<param-value>192.168.0.10</param-value>
</init-param>
<init-param>
<param-name>THEME</param-name>
<param-value></param-value>
</init-param>
<init-param>
<param-name>DATA_PATH</param-name>
<param-value>C:\\Users\\Ziver\\Desktop\\Downloads\\temp\\album</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Zallery</servlet-name>
<url-pattern>/gallery</url-pattern>
<url-pattern>/media</url-pattern>
<url-pattern>/slideshow</url-pattern>
<url-pattern>/login</url-pattern>
<url-pattern>/logout</url-pattern>
<url-pattern>/upload</url-pattern>
<url-pattern>/profile</url-pattern>
<url-pattern>/users</url-pattern>
<url-pattern>/register</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Content</servlet-name>
<servlet-class>zall.ZalleryContent</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Content</servlet-name>
<url-pattern>/content</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Ajax</servlet-name>
<servlet-class>zall.ZalleryAjax</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Ajax</servlet-name>
<url-pattern>/ajax</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Upload</servlet-name>
<servlet-class>zall.UploadServlet</servlet-class>
<init-param>
<param-name>TEMP_PATH</param-name>
<param-value>C:\\Users\\Ziver\\Desktop\\Downloads\\temp\\</param-value>
</init-param>
<init-param>
<param-name>ALLOWED_EXTENSIONS</param-name>
<param-value>png,jpg,jpeg,gif,tif,bmp,avi,wmv,mov,mp4,mpeg,flv,m4v,divx,xvid</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Upload</servlet-name>
<url-pattern>/uploadserv</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>transcoder</servlet-name>
<servlet-class>zall.ZalleryTranscoder</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<welcome-file-list>
<welcome-file>gallery</welcome-file>
</welcome-file-list>
</web-app>

View file

@ -1,87 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Zallery</display-name>
<welcome-file-list>
<welcome-file>gallery</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Zallery</servlet-name>
<servlet-class>zall.Zallery</servlet-class>
<init-param>
<param-name>WEBSITE_NAME</param-name>
<param-value>Koc.se Gallery</param-value>
</init-param>
<init-param>
<param-name>WEBSITE_URL</param-name>
<param-value>http://koc.se/Zallery/</param-value>
</init-param>
<init-param>
<param-name>SMTP_HOST</param-name>
<param-value>192.168.0.10</param-value>
</init-param>
<init-param>
<param-name>THEME</param-name>
<param-value></param-value>
</init-param>
<init-param>
<param-name>DATA_PATH</param-name>
<param-value>/home/tomcat/ZalleryData/</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Zallery</servlet-name>
<url-pattern>/gallery</url-pattern>
<url-pattern>/media</url-pattern>
<url-pattern>/slideshow</url-pattern>
<url-pattern>/login</url-pattern>
<url-pattern>/logout</url-pattern>
<url-pattern>/upload</url-pattern>
<url-pattern>/profile</url-pattern>
<url-pattern>/users</url-pattern>
<url-pattern>/register</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Content</servlet-name>
<servlet-class>zall.ZalleryContent</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Content</servlet-name>
<url-pattern>/content</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Ajax</servlet-name>
<servlet-class>zall.ZalleryAjax</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Ajax</servlet-name>
<url-pattern>/ajax</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Upload</servlet-name>
<servlet-class>zall.UploadServlet</servlet-class>
<init-param>
<param-name>ALLOWED_EXTENSIONS</param-name>
<param-value>png,jpg,jpeg,gif,tif,bmp,avi,wmv,mov,mp4,mpeg,flv,m4v,divx,xvid</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Upload</servlet-name>
<url-pattern>/uploadserv</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>transcoder</servlet-name>
<servlet-class>zall.ZalleryTranscoder</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<welcome-file-list>
<welcome-file>gallery</welcome-file>
</welcome-file-list>
</web-app>

4
WebContent/footer.jsp Executable file → Normal file
View file

@ -1,4 +1,4 @@
<%@ page import="zall.*" %>
<div class="push"></div> <div class="push"></div>
@ -17,7 +17,7 @@
Powered by Powered by
Java2EE And Tomcat. Zallery Gallery(v<%=Zallery.VERSION %>) created by Ziver Koc. Java2EE And Tomcat. Zallery Gallery created by Ziver Koc.
<br>Built on the <br>Built on the
<a href="http://upthemes.com/themes/gallery/" title="Gallery Wordpress Theme" rel="designer">Gallery WordPress Theme</a> <a href="http://upthemes.com/themes/gallery/" title="Gallery Wordpress Theme" rel="designer">Gallery WordPress Theme</a>
by by

View file

@ -11,12 +11,7 @@
<property name="outputRoot" value="${gitRoot}/build" /> <property name="outputRoot" value="${gitRoot}/build" />
<property name="buildDir" value="${outputRoot}/production" /> <property name="buildDir" value="${outputRoot}/production" />
<property name="releaseDir" value="${outputRoot}/release" /> <property name="releaseDir" value="${outputRoot}/release" />
<property name="deployPath" value="/var/lib/tomcat7/webapps/Zallery.war" />
<!-- Deployment properties -->
<property name="tomcat.url" value="http://localhost:8080/manager/text" />
<property name="tomcat.user" value="" />
<property name="tomcat.pass" value="" />
<property name="catalina.home" value="/usr/share/tomcat7"/>
<!--define standard arguments for javac--> <!--define standard arguments for javac-->
<presetdef name="javac"> <presetdef name="javac">
@ -68,19 +63,11 @@
</war> </war>
</target> </target>
<import file="${catalina.home}/bin/catalina-tasks.xml" optional="true"/>
<target name="deploy" depends="package"> <target name="deploy" depends="package">
<deploy url="${tomcat.url}" <delete file="${deployPath}" quiet="true" />
username="${tomcat.user}" <copy
password="${tomcat.pass}" file="${releaseDir}/Zallery.war"
path="/Zallery" toFile="${deployPath}" />
update="true"
war="file:${releaseDir}/Zallery.war" />
<!-- Workaround as tomcat deletes the webapp context file from conf dir -->
<copy file="/var/lib/tomcat7/conf/Catalina/localhost/Zallery.xml_orig"
toFile="/var/lib/tomcat7/conf/Catalina/localhost/Zallery.xml" />
</target> </target>
</project> </project>

View file

@ -6,9 +6,6 @@ body{
margin-top: 40px; margin-top: 40px;
margin-bottom: 40px; margin-bottom: 40px;
} }
.navbar .action a, .navbar .action span{
color: #5a5ada !important;
}
.photo-thumb, .photo { .photo-thumb, .photo {
padding: 0px; padding: 0px;
@ -22,19 +19,3 @@ body{
float: none; float: none;
margin: 0 auto; margin: 0 auto;
} }
.navbar .divider-vertical {
height: 40px;
margin: 5px 14px;
border-right: 2px solid #ffffff;
border-left: 2px solid #f2f2f2;
}
.navbar-inverse .divider-vertical {
border-right-color: #222222;
border-left-color: #111111;
}
@media (max-width: 767px) {
.navbar-collapse .nav > .divider-vertical {
display: none;
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

View file

@ -33,7 +33,7 @@
</head> </head>
<body> <body>
<div class="container"> <div class="container">
<!-- Static navbar --> <!-- Static navbar -->
<nav class="navbar navbar-default"> <nav class="navbar navbar-default">
@ -46,7 +46,6 @@
</button> </button>
<a class="navbar-brand" href="#">Project name</a> <a class="navbar-brand" href="#">Project name</a>
</div> </div>
<div class="navbar-collapse collapse"> <div class="navbar-collapse collapse">
<ul class="nav navbar-nav"> <ul class="nav navbar-nav">
<li class="active"><a href="#">Gallery</a></li> <li class="active"><a href="#">Gallery</a></li>
@ -55,14 +54,6 @@
</ul> </ul>
<ul class="nav navbar-nav navbar-right"> <ul class="nav navbar-nav navbar-right">
<li class="action">
<a href="#"><span class="glyphicon glyphicon-folder-open"></span> Create Folder</a>
</li>
<li class="action">
<a href="#"><span class="glyphicon glyphicon-open-file"></span> Upload</a>
</li>
<li class="divider-vertical"></li>
<li class="dropdown"> <li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-user"></span> <span class="glyphicon glyphicon-user"></span>
@ -86,51 +77,32 @@
<div class="content"> <div class="content">
<div class="gallery col-center col-md-11"> <div class="gallery">
<div class="row"> <div class="row col-center col-md-11">
<div class="grid folder-grid"> <div class="grid folder-grid">
<div class="grid-item folder-thumb col-md-2 col-sm-3 col-xs-4"><img class="img-responsive" <div class="grid-item folder-thumb col-md-2 col-sm-3 col-xs-4"><img class="img-responsive" src="http://koc.se/Zallery/img/folder.png" /></div>
src="img/folder2.jpg"/></div> <div class="grid-item folder-thumb col-md-2 col-sm-3 col-xs-4"><img class="img-responsive" src="http://koc.se/Zallery/img/folder.png" /></div>
<div class="grid-item folder-thumb col-md-2 col-sm-3 col-xs-4"><img class="img-responsive" <div class="grid-item folder-thumb col-md-2 col-sm-3 col-xs-4"><img class="img-responsive" src="http://koc.se/Zallery/img/folder.png" /></div>
src="img/folder2.jpg"/></div>
<div class="grid-item folder-thumb col-md-2 col-sm-3 col-xs-4"><img class="img-responsive"
src="img/folder2.jpg"/></div>
</div> </div>
<hr> <hr>
</div> </div>
<div class="row"> <div class="row col-center col-md-11">
<div class="grid image-grid"> <div class="grid image-grid">
<div class="grid-item photo-thumb col-md-3 col-sm-6 col-xs-12"><img class="img-responsive" <div class="grid-item photo-thumb col-md-3 col-sm-6 col-xs-12"><img class="img-responsive" src="http://lorempixel.com/400/200" /></div>
src="http://lorempixel.com/400/200"/> <div class="grid-item photo-thumb col-md-3 col-sm-6 col-xs-12"><img class="img-responsive" src="http://lorempixel.com/400/400" /></div>
</div> <div class="grid-item photo-thumb col-md-3 col-sm-6 col-xs-12"><img class="img-responsive" src="http://lorempixel.com/400/200" /></div>
<div class="grid-item photo-thumb col-md-3 col-sm-6 col-xs-12"><img class="img-responsive" <div class="grid-item photo-thumb col-md-3 col-sm-6 col-xs-12"><img class="img-responsive" src="http://lorempixel.com/400/200" /></div>
src="http://lorempixel.com/400/400"/> <div class="grid-item photo-thumb col-md-3 col-sm-6 col-xs-12"><img class="img-responsive" src="http://lorempixel.com/400/800" /></div>
</div> <div class="grid-item photo-thumb col-md-3 col-sm-6 col-xs-12"><img class="img-responsive" src="http://lorempixel.com/400/200" /></div>
<div class="grid-item photo-thumb col-md-3 col-sm-6 col-xs-12"><img class="img-responsive" <div class="grid-item photo-thumb col-md-3 col-sm-6 col-xs-12"><img class="img-responsive" src="http://lorempixel.com/400/300" /></div>
src="http://lorempixel.com/400/200"/> <div class="grid-item photo-thumb col-md-3 col-sm-6 col-xs-12"><img class="img-responsive" src="http://lorempixel.com/400/400" /></div>
</div>
<div class="grid-item photo-thumb col-md-3 col-sm-6 col-xs-12"><img class="img-responsive"
src="http://lorempixel.com/400/200"/>
</div>
<div class="grid-item photo-thumb col-md-3 col-sm-6 col-xs-12"><img class="img-responsive"
src="http://lorempixel.com/400/800"/>
</div>
<div class="grid-item photo-thumb col-md-3 col-sm-6 col-xs-12"><img class="img-responsive"
src="http://lorempixel.com/400/200"/>
</div>
<div class="grid-item photo-thumb col-md-3 col-sm-6 col-xs-12"><img class="img-responsive"
src="http://lorempixel.com/400/300"/>
</div>
<div class="grid-item photo-thumb col-md-3 col-sm-6 col-xs-12"><img class="img-responsive"
src="http://lorempixel.com/400/400"/>
</div>
</div> </div>
</div> </div>
</div> <!-- /gallery --> </div> <!-- /gallery -->
</div> <!-- /content --> </div> <!-- /content -->
</div> <!-- /container --> </div> <!-- /container -->
</body> </body>
</html> </html>

View file

@ -30,8 +30,9 @@ public class UploadServlet extends AjaxFileUpload{
private static final Logger logger = LogUtil.getLogger(); private static final Logger logger = LogUtil.getLogger();
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private static final Set<String> VIDEO_EXT = Collections.unmodifiableSet(new HashSet<String>(Arrays.asList( public static final Set<String> VIDEO_EXT = Collections.unmodifiableSet(new HashSet<String>(Arrays.asList(new String[]{
"avi","mp4","mpeg","mpeg","divx","xvid","wmv","mov","flv","m4v"))); "avi","mp4","mpeg","mpeg","divx","xvid","wmv","mov","flv","m4v"
})));
@Override @Override
public String getProgressHTML() { public String getProgressHTML() {
@ -75,7 +76,6 @@ public class UploadServlet extends AjaxFileUpload{
vid.setUser( user ); vid.setUser( user );
vid.setFile( item ); vid.setFile( item );
vid.save(db); vid.save(db);
logger.info("Video upload successful: "+vid.getFolder().getPath());
} }
else{ else{
Image img = new Image(); Image img = new Image();
@ -84,7 +84,6 @@ public class UploadServlet extends AjaxFileUpload{
img.setUser( user ); img.setUser( user );
img.setFile( item ); img.setFile( item );
img.save(db); img.save(db);
logger.info("Image upload successful: "+img.getFolder().getPath());
} }
} catch (Exception e) { } catch (Exception e) {
logger.log(Level.WARNING, "Error: Creating new Media(\""+item.getName()+"\")", e); logger.log(Level.WARNING, "Error: Creating new Media(\""+item.getName()+"\")", e);

View file

@ -31,8 +31,7 @@ import zutil.log.LogUtil;
public class Zallery extends HttpServlet{ public class Zallery extends HttpServlet{
private static Logger logger = LogUtil.getLogger(); private static Logger logger = LogUtil.getLogger();
private static final long serialVersionUID = 1L;
public static final String VERSION = "1.0.2";
public static String WEBSITE_NAME = "Example.com"; public static String WEBSITE_NAME = "Example.com";
public static String WEBSITE_URL = "http://example.com"; public static String WEBSITE_URL = "http://example.com";
@ -54,7 +53,7 @@ public class Zallery extends HttpServlet{
Context context = new InitialContext(); Context context = new InitialContext();
// Check if Zallery has been properly configured // Check if Zallery has been properly configured
if ("C:\\\\data".equals(context.lookup("java:comp/env/DATA_PATH"))) 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_NAME = (String)context.lookup("java:comp/env/WEBSITE_NAME");
WEBSITE_URL = (String)context.lookup("java:comp/env/WEBSITE_URL"); WEBSITE_URL = (String)context.lookup("java:comp/env/WEBSITE_URL");
@ -211,7 +210,7 @@ public class Zallery extends HttpServlet{
} }
} }
List<Media> list = Media.load(db, folder); List<Media> list = Media.load(db, folder);
List<Folder> subFolders = Folder.loadSubFolders(db, folder, user); List<Folder> subFolders = Folder.loadSubFolders(db, folder.getId(), user);
//session.setAttribute("user", user); //session.setAttribute("user", user);
request.setAttribute("folder", folder); request.setAttribute("folder", folder);

View file

@ -4,10 +4,8 @@ import java.io.File;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.SQLException; import java.sql.SQLException;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.Collections;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.regex.Matcher; import java.util.regex.Matcher;
@ -23,24 +21,25 @@ import zall.Zallery;
public class Folder extends DBBean{ public class Folder extends DBBean{
private static final Logger logger = LogUtil.getLogger(); private static final Logger logger = LogUtil.getLogger();
private transient String name; protected transient String name;
protected long user = -1; protected User user;
protected transient User userInstance; protected String path;
private String path;
protected Folder parent; protected Folder parent;
protected Timestamp date; protected Timestamp date;
private boolean isPrivate; protected boolean isPrivate;
//@DBLinkTable(name="FolderTree", beanClass=Folder.class, idColumn="parent")
//protected LinkedList<Folder> subFolders;
public static Folder load(DBConnection db, Long id) throws SQLException{ public static Folder load(DBConnection db, Long id) throws SQLException{
return load(db, Folder.class, id); return load(db, Folder.class, id);
} }
public static List<Folder> loadSubFolders(DBConnection db, Folder folder, User requestingUser) throws SQLException{ public static List<Folder> loadSubFolders(DBConnection db, Long id, User user) throws SQLException{
PreparedStatement sql = db.getPreparedStatement("SELECT * FROM Folder WHERE parent=? AND (isPrivate=0 OR user=? OR ?)"); PreparedStatement sql = db.getPreparedStatement("SELECT * FROM Folder WHERE parent=? AND (isPrivate=0 OR user=? OR ?)");
sql.setLong(1, folder.getId()); sql.setLong(1, id);
sql.setLong(2, folder.user); sql.setLong(2, user.getId());
sql.setBoolean(3, requestingUser.isSuperUser()); sql.setBoolean(3, user.isSuperUser());
return DBConnection.exec(sql, DBBeanSQLResultHandler.createList(Folder.class, db)); return DBConnection.exec(sql, DBBeanSQLResultHandler.createList(Folder.class, db));
} }
@ -61,13 +60,14 @@ public class Folder extends DBBean{
public static List<Folder> load(DBConnection db, User user) throws SQLException{ public static List<Folder> load(DBConnection db, User user) throws SQLException{
if( user.getId() == null ) if( user.getId() == null )
return Collections.emptyList(); return new LinkedList<Folder>();
PreparedStatement sql = db.getPreparedStatement("SELECT * FROM Folder WHERE user=?"); PreparedStatement sql = db.getPreparedStatement("SELECT * FROM Folder WHERE user=?");
sql.setLong(1, user.getId() ); sql.setLong(1, user.getId() );
return DBConnection.exec(sql, DBBeanSQLResultHandler.createList(Folder.class, db)); return DBConnection.exec(sql, DBBeanSQLResultHandler.createList(Folder.class, db));
} }
public Folder(){ public Folder(){
//subFolders = new LinkedList<Folder>();
date = new Timestamp( System.currentTimeMillis() ); date = new Timestamp( System.currentTimeMillis() );
} }
@ -76,25 +76,20 @@ public class Folder extends DBBean{
String[] tmp = path.split("/"); String[] tmp = path.split("/");
name = tmp[tmp.length-1]; 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); String tmp = name.replaceAll("\\{NAME\\}", userName);
return tmp; return tmp;
} }
public String getUnModName(){
if(name == null)
getName();
return name;
}
public User getUser(){ public User getUser(){
if (userInstance == null) { return user;
try {
DBConnection db = Zallery.getDB();
userInstance = User.load(db, user);
db.close();
} catch (Exception e) {
logger.log(Level.WARNING, null, e);
}
}
return userInstance;
} }
public void setUser(User user){ public void setUser(User user){
this.user = user.getId(); this.user = user;
this.userInstance = null;
} }
public boolean isPrivate(){ public boolean isPrivate(){
return isPrivate; return isPrivate;
@ -103,9 +98,12 @@ public class Folder extends DBBean{
this.isPrivate = priv; this.isPrivate = priv;
} }
public String getPath(){ public String getPath(){
String tmp = path.replaceAll("\\{NAME\\}", getUser().getName()); String tmp = path.replaceAll("\\{NAME\\}", user.getName());
return tmp; return tmp;
} }
public String getUnModPath(){
return path;
}
public void setName(String name){ public void setName(String name){
this.name = name; this.name = name;
if( parent.path.endsWith("/") ) if( parent.path.endsWith("/") )
@ -127,11 +125,21 @@ public class Folder extends DBBean{
return parent; return parent;
} }
/*public void addSubFolder(Folder f){
if( !subFolders.contains(f) ){
subFolders.add( f );
f.setParent( this );
}
}*/
/*public List<Folder> getSubFolders(){
return subFolders;
}*/
public Timestamp getDate(){ public Timestamp getDate(){
return date; return date;
} }
/** /**
* @param filename is the name of the file * @param filename is the name of the file
* @param size specifies the size of the image * @param size specifies the size of the image
@ -145,7 +153,7 @@ public class Folder extends DBBean{
return null; return null;
} }
if( user < 0 || filename == null ) if( user == null || filename == null )
return null; return null;
StringBuilder tmp = new StringBuilder(); StringBuilder tmp = new StringBuilder();
@ -158,7 +166,7 @@ public class Folder extends DBBean{
tmp.append( File.separatorChar ); tmp.append( File.separatorChar );
// Add UserID and this folders path // 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_path = tmp_path.replaceAll("/", Matcher.quoteReplacement(File.separator));
tmp.append( tmp_path ); tmp.append( tmp_path );
@ -187,6 +195,6 @@ public class Folder extends DBBean{
} }
public boolean isEmpty(DBConnection db) throws SQLException { 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();
} }
} }