Display latest image
The latest image gets displayed for 60 seconds, after that all images get displayed randomly.
This commit is contained in:
parent
f2c9265d5f
commit
3ef1435e12
@ -1,6 +1,10 @@
|
||||
package net.molez.mandlm.fotostream.server;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
|
||||
@ -10,12 +14,52 @@ import net.molez.mandlm.fotostream.client.CurrentImageURLService;
|
||||
@SuppressWarnings("serial")
|
||||
public class CurrentImageURLServiceImpl extends RemoteServiceServlet implements CurrentImageURLService
|
||||
{
|
||||
private List<File> imageFiles = new ArrayList<File>();
|
||||
|
||||
private void readImageFiles()
|
||||
{
|
||||
imageFiles.clear();
|
||||
|
||||
File imageFolder = new File("img/");
|
||||
File[] files = imageFolder.listFiles();
|
||||
|
||||
for (File imageFile : files)
|
||||
{
|
||||
if (imageFile.isFile() && imageFile.getName().endsWith(".jpg"))
|
||||
{
|
||||
imageFiles.add(imageFile);
|
||||
}
|
||||
}
|
||||
|
||||
imageFiles.sort(new Comparator<File>()
|
||||
{
|
||||
@Override
|
||||
public int compare(File file0, File file1)
|
||||
{
|
||||
Long file0Date = file0.lastModified();
|
||||
Long file1Date = file1.lastModified();
|
||||
|
||||
return file0Date.compareTo(file1Date);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public String getCurrentImageURL()
|
||||
{
|
||||
File imageFolder = new File("img/");
|
||||
int newImageSeconds = 60;
|
||||
|
||||
File[] fileList = imageFolder.listFiles();
|
||||
readImageFiles();
|
||||
|
||||
return fileList[new Random().nextInt(fileList.length)].getPath();
|
||||
File latestFile = imageFiles.get(imageFiles.size() - 1);
|
||||
Date latestFileDate = new Date(latestFile.lastModified());
|
||||
|
||||
if (latestFileDate.before(new Date(new Date().getTime() - newImageSeconds * 1000)))
|
||||
{
|
||||
return imageFiles.get(new Random().nextInt(imageFiles.size())).getPath();
|
||||
}
|
||||
else
|
||||
{
|
||||
return latestFile.getPath();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3,4 +3,5 @@ div
|
||||
{
|
||||
padding: 20px;
|
||||
background-color: black;
|
||||
color: green;
|
||||
}
|
Reference in New Issue
Block a user