From 4e662b92ff2825471398a6d253ba4715ba1b7085 Mon Sep 17 00:00:00 2001 From: Knut Forkalsrud Date: Sat, 2 Nov 2024 17:01:50 -0700 Subject: [PATCH] unused code + linting --- .../org/forkalsrud/album/editor/Editor.java | 2 +- .../forkalsrud/album/exif/DirectoryEntry.java | 4 +-- .../exif/DirectoryMetadataGenerator.java | 31 ++++++++++++------- .../album/exif/EntryWithChildren.java | 2 +- .../forkalsrud/album/video/FlvMetadata.java | 2 +- .../forkalsrud/album/web/AlbumServlet.java | 21 ++++++++----- .../forkalsrud/album/web/PictureScaler.java | 22 +++---------- 7 files changed, 42 insertions(+), 42 deletions(-) diff --git a/src/main/java/org/forkalsrud/album/editor/Editor.java b/src/main/java/org/forkalsrud/album/editor/Editor.java index ae32424..8f438ef 100644 --- a/src/main/java/org/forkalsrud/album/editor/Editor.java +++ b/src/main/java/org/forkalsrud/album/editor/Editor.java @@ -367,7 +367,7 @@ public class Editor int findRegion(int ex, int ey) { Rectangle r = roi.getScreenRectangle(); - int c = 8; + int c; if (within(ex, r.x + r.width)) { if (within(ey, r.y + r.height)) { diff --git a/src/main/java/org/forkalsrud/album/exif/DirectoryEntry.java b/src/main/java/org/forkalsrud/album/exif/DirectoryEntry.java index 1a1ef9b..4d4ddb8 100644 --- a/src/main/java/org/forkalsrud/album/exif/DirectoryEntry.java +++ b/src/main/java/org/forkalsrud/album/exif/DirectoryEntry.java @@ -169,7 +169,7 @@ public class DirectoryEntry extends EntryWithChildren { boolean hidden = Boolean.parseBoolean(props.getProperty("file." + name + ".hidden")); if (!hidden) { children.add(entry); - if (name != null && name.equals(coverFileName)) { + if (name.equals(coverFileName)) { setThumbnail(thumbnail); } } @@ -183,7 +183,7 @@ public class DirectoryEntry extends EntryWithChildren { boolean hidden = Boolean.parseBoolean(props.getProperty("dir." + name + ".hidden")); if (!hidden) { DirectoryEntry dir = new DirectoryEntry(services, this, new File(file, name)); - if (name != null && name.equals(coverFileName)) { + if (name.equals(coverFileName)) { setThumbnail(dir.getThumbnail()); } Date fileDate = dir.getEarliest(); diff --git a/src/main/java/org/forkalsrud/album/exif/DirectoryMetadataGenerator.java b/src/main/java/org/forkalsrud/album/exif/DirectoryMetadataGenerator.java index d8f298b..5823ea4 100644 --- a/src/main/java/org/forkalsrud/album/exif/DirectoryMetadataGenerator.java +++ b/src/main/java/org/forkalsrud/album/exif/DirectoryMetadataGenerator.java @@ -27,7 +27,6 @@ import org.slf4j.LoggerFactory; import com.drew.metadata.Directory; import com.drew.metadata.Metadata; -import com.drew.metadata.MetadataException; import com.drew.metadata.exif.ExifIFD0Directory; import com.drew.metadata.exif.ExifSubIFDDirectory; import com.drew.metadata.jpeg.JpegDirectory; @@ -60,6 +59,9 @@ public class DirectoryMetadataGenerator { private void generateFileEntries(File dir, Properties props) throws IOException, InterruptedException { File[] files = dir.listFiles(); + if (files == null) { + return; + } for (File f : files) { if (f.length() == 0) { @@ -134,8 +136,6 @@ public class DirectoryMetadataGenerator { boolean hasOrientation = false; boolean hasDim = false; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd-HHmmss"); - NumberFormat nf = new DecimalFormat("0"); - Metadata metadata; try { @@ -208,7 +208,7 @@ public class DirectoryMetadataGenerator { } - private Date getExifDate(Directory exifDirectory, int tagName) throws MetadataException { + private Date getExifDate(Directory exifDirectory, int tagName) { String dateStr = exifDirectory.getString(tagName); if (" : : : : ".equals(dateStr)) { @@ -219,16 +219,10 @@ public class DirectoryMetadataGenerator { private Dimension decodeImageForDimensions(File file) throws IOException { - String suffix = null; - String name = file.getName(); - if (name.indexOf('.') > 0) { - suffix = name.substring(name.lastIndexOf('.') + 1); - } - Iterator readers = ImageIO.getImageReadersBySuffix(suffix); - if (!readers.hasNext()) { + ImageReader reader = getImageReader(file); + if (reader == null) { return null; } - ImageReader reader = readers.next(); ImageInputStream iis = ImageIO.createImageInputStream(file); reader.setInput(iis, true); ImageReadParam param = reader.getDefaultReadParam(); @@ -237,6 +231,19 @@ public class DirectoryMetadataGenerator { return new Dimension(img.getWidth(), img.getHeight()); } + private ImageReader getImageReader(File file) { + String name = file.getName(); + if (name.indexOf('.') < 0) { + return null; + } + String suffix = name.substring(name.lastIndexOf('.') + 1); + Iterator readers = ImageIO.getImageReadersBySuffix(suffix); + if (!readers.hasNext()) { + return null; + } + ImageReader reader = readers.next(); + return reader; + } private Map generatePdfProperties(File file) throws IOException { diff --git a/src/main/java/org/forkalsrud/album/exif/EntryWithChildren.java b/src/main/java/org/forkalsrud/album/exif/EntryWithChildren.java index d52e47f..c4a83d4 100644 --- a/src/main/java/org/forkalsrud/album/exif/EntryWithChildren.java +++ b/src/main/java/org/forkalsrud/album/exif/EntryWithChildren.java @@ -13,7 +13,7 @@ import java.util.List; */ public class EntryWithChildren extends Entry { - protected List children = new ArrayList(); + protected List children = new ArrayList<>(); protected EntryWithChildren(Entry root) { super(root); diff --git a/src/main/java/org/forkalsrud/album/video/FlvMetadata.java b/src/main/java/org/forkalsrud/album/video/FlvMetadata.java index b605315..000771c 100644 --- a/src/main/java/org/forkalsrud/album/video/FlvMetadata.java +++ b/src/main/java/org/forkalsrud/album/video/FlvMetadata.java @@ -474,7 +474,7 @@ public class FlvMetadata { seconds += 3600 * Double.parseDouble(durationStr.substring(0, pm)); } setDuration(seconds); - } else { + } else if (durationStr != null) { setDuration(Double.parseDouble(durationStr)); } } diff --git a/src/main/java/org/forkalsrud/album/web/AlbumServlet.java b/src/main/java/org/forkalsrud/album/web/AlbumServlet.java index 462cc59..f9e276a 100644 --- a/src/main/java/org/forkalsrud/album/web/AlbumServlet.java +++ b/src/main/java/org/forkalsrud/album/web/AlbumServlet.java @@ -608,14 +608,20 @@ public class AlbumServlet // help the user get to the top level page if (pathInfo == null || "/".equals(pathInfo)) { - Root root = roots.values().stream().findFirst().orElse(null); - String u = req.getContextPath() + "/album/" + root.getName() + ".album"; - res.sendRedirect(u); - return; + String rootPath = roots.values().stream() + .findFirst() + .map(r -> req.getContextPath() + "/album/" + r.getName() + ".album") + .orElse(null); + if (rootPath != null) { + res.sendRedirect(rootPath); + } else { + res.setStatus(404); + } + return; } if ("/_roots.json".equals(pathInfo)) { - res.setContentType("application/json"); + res.setContentType("application/json"); res.setCharacterEncoding("UTF-8"); ObjectMapper json = new ObjectMapper(); @@ -700,8 +706,9 @@ public class AlbumServlet } String size = req.getParameter("size"); - if (size != null) { - + if ("max".equals(size)) { + getServletContext().getNamedDispatcher("file").forward(req, res); + } else if (size != null) { FileEntry e = (FileEntry)root.resolve(file); root.procesScaledImageRequest(req, res, file, e.getThumbnail(), size); return; diff --git a/src/main/java/org/forkalsrud/album/web/PictureScaler.java b/src/main/java/org/forkalsrud/album/web/PictureScaler.java index ee344eb..529061c 100644 --- a/src/main/java/org/forkalsrud/album/web/PictureScaler.java +++ b/src/main/java/org/forkalsrud/album/web/PictureScaler.java @@ -7,7 +7,6 @@ import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; -import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; import java.util.concurrent.BlockingQueue; @@ -26,10 +25,7 @@ import javax.imageio.ImageWriter; import javax.imageio.stream.ImageOutputStream; import org.apache.pdfbox.Loader; -import org.apache.pdfbox.cos.COSDocument; -import org.apache.pdfbox.io.RandomAccessRead; import org.apache.pdfbox.io.RandomAccessReadBufferedFile; -import org.apache.pdfbox.io.RandomAccessReadMemoryMappedFile; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.common.PDRectangle; @@ -47,9 +43,10 @@ public class PictureScaler { public PictureScaler() { - queue = new PriorityBlockingQueue(20, createPriorityComparator()); + + queue = new PriorityBlockingQueue<>(20, (o1, o2) -> Long.signum(o1.priority - o2.priority)); executor = Executors.newFixedThreadPool(4); - outstandingRequests = new HashMap(); + outstandingRequests = new HashMap<>(); } @@ -119,19 +116,8 @@ public class PictureScaler { } } - Comparator createPriorityComparator() { - return new Comparator() { - - @Override - public int compare(PictureRequest o1, PictureRequest o2) { - return Long.signum(o1.priority - o2.priority); - } - }; - } - - - public CachedImage scalePicture(File file, Thumbnail thumbnail, String size) { + public CachedImage scalePicture(File file, Thumbnail thumbnail, String size) { String key = file.getPath() + ":" + size; return scalePicture(key, file, thumbnail, size); }