diff --git a/.gitignore b/.gitignore index ecd502dd..1b7a7e37 100644 --- a/.gitignore +++ b/.gitignore @@ -13,5 +13,9 @@ hs_err_pid* *.ipr *.iws -/.gradle/3.2.1/taskArtifacts/* /build/ivy.xml + +.project +.settings/ +.gradle/ + diff --git a/ealvatag/pom.xml b/ealvatag/pom.xml new file mode 100644 index 00000000..d57f145d --- /dev/null +++ b/ealvatag/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.ealva + ealvatag-pom + 0.4.7-SNAPSHOT + + + ealvatag + jar + + + + com.squareup.okio + okio + 2.9.0 + + + com.google.guava + guava + 20.0 + + + com.ealva + ealvalog + 0.5.6-SNAPSHOT + + + com.ealva + ealvalog-core + 0.5.6-SNAPSHOT + + + com.ealva + ealvalog-java + 0.5.6-SNAPSHOT + + + junit + junit + 4.13.1 + test + + + org.mockito + mockito-core + 3.6.28 + test + + + org.hamcrest + hamcrest-junit + 2.0.0.0 + test + + + \ No newline at end of file diff --git a/ealvatag/src/main/java/ealvatag/BaseException.java b/ealvatag/src/main/java/ealvatag/BaseException.java index 8145ef64..4226c243 100644 --- a/ealvatag/src/main/java/ealvatag/BaseException.java +++ b/ealvatag/src/main/java/ealvatag/BaseException.java @@ -26,7 +26,12 @@ */ @SuppressWarnings("unused") public class BaseException extends RuntimeException { - public BaseException(final String msg, final Object... formatArgs) { + /** + * + */ + private static final long serialVersionUID = -7854594514422418517L; + +public BaseException(final String msg, final Object... formatArgs) { super(String.format(Locale.getDefault(), msg, formatArgs)); } diff --git a/ealvatag/src/main/java/ealvatag/audio/AbstractTagCreator.java b/ealvatag/src/main/java/ealvatag/audio/AbstractTagCreator.java index f275382f..ee177d13 100644 --- a/ealvatag/src/main/java/ealvatag/audio/AbstractTagCreator.java +++ b/ealvatag/src/main/java/ealvatag/audio/AbstractTagCreator.java @@ -16,7 +16,6 @@ */ package ealvatag.audio; -import ealvatag.tag.Tag; import ealvatag.tag.TagFieldContainer; import java.io.UnsupportedEncodingException; diff --git a/ealvatag/src/main/java/ealvatag/audio/aiff/AiffInfoReader.java b/ealvatag/src/main/java/ealvatag/audio/aiff/AiffInfoReader.java index 5b0f38a7..21ab777f 100644 --- a/ealvatag/src/main/java/ealvatag/audio/aiff/AiffInfoReader.java +++ b/ealvatag/src/main/java/ealvatag/audio/aiff/AiffInfoReader.java @@ -39,7 +39,7 @@ protected GenericAudioHeader read(FileChannel fc, final String fileName) throws LOG.log(TRACE, "$1%s Reading AIFF file size:$2%d 0x$2%x", fileName, fc.size()); AiffAudioHeader aiffAudioHeader = new AiffAudioHeader(); final AiffFileHeader fileHeader = new AiffFileHeader(); - long noOfBytes = fileHeader.readHeader(fc, aiffAudioHeader, fileName); + fileHeader.readHeader(fc, aiffAudioHeader, fileName); while (fc.position() < fc.size()) { if (!readChunk(fc, aiffAudioHeader, fileName)) { LOG.log(ERROR, "%s UnableToReadProcessChunk", fileName); diff --git a/ealvatag/src/main/java/ealvatag/audio/aiff/AiffTagWriter.java b/ealvatag/src/main/java/ealvatag/audio/aiff/AiffTagWriter.java index 7fe2f43e..e277fddd 100644 --- a/ealvatag/src/main/java/ealvatag/audio/aiff/AiffTagWriter.java +++ b/ealvatag/src/main/java/ealvatag/audio/aiff/AiffTagWriter.java @@ -231,7 +231,7 @@ private void rewriteRiffHeaderSize(FileChannel fc) throws IOException { * * @throws IOException if something goes wrong */ - private void deleteTagChunkUsingChannelTransfer(final AiffTag existingTag, + public void deleteTagChunkUsingChannelTransfer(final AiffTag existingTag, final FileChannel channel, final long newLength) throws IOException { diff --git a/ealvatag/src/main/java/ealvatag/audio/aiff/chunk/CommentsChunk.java b/ealvatag/src/main/java/ealvatag/audio/aiff/chunk/CommentsChunk.java index f0105cdd..e2228527 100644 --- a/ealvatag/src/main/java/ealvatag/audio/aiff/chunk/CommentsChunk.java +++ b/ealvatag/src/main/java/ealvatag/audio/aiff/chunk/CommentsChunk.java @@ -49,10 +49,6 @@ */ public class CommentsChunk extends Chunk { - private static final int TIMESTAMP_LENGTH = 4; - private static final int MARKERID_LENGTH = 2; - private static final int COUNT_LENGTH = 2; - private AiffAudioHeader aiffHeader; /** @@ -81,7 +77,7 @@ public boolean readChunk() throws IOException { final long timestamp = Utils.convertUnsignedIntToLong(chunkData.getInt()); final Date jTimestamp = AiffUtil.timestampToDate(timestamp); - final int marker = Utils.convertUnsignedShortToInt(chunkData.getShort()); + Utils.convertUnsignedShortToInt(chunkData.getShort()); final int count = Utils.convertUnsignedShortToInt(chunkData.getShort()); // Append a timestamp to the comment final String text = Utils.getString(chunkData, 0, count, StandardCharsets.ISO_8859_1) + " " + AiffUtil.formatDate(jTimestamp); diff --git a/ealvatag/src/main/java/ealvatag/audio/exceptions/CannotReadException.java b/ealvatag/src/main/java/ealvatag/audio/exceptions/CannotReadException.java index 71266118..e3ed53c8 100644 --- a/ealvatag/src/main/java/ealvatag/audio/exceptions/CannotReadException.java +++ b/ealvatag/src/main/java/ealvatag/audio/exceptions/CannotReadException.java @@ -27,7 +27,12 @@ * @author Raphaël Slinckx */ public class CannotReadException extends Exception { - public CannotReadException() { + /** + * + */ + private static final long serialVersionUID = 5227343006975412147L; + +public CannotReadException() { super(); } diff --git a/ealvatag/src/main/java/ealvatag/audio/exceptions/CannotReadVideoException.java b/ealvatag/src/main/java/ealvatag/audio/exceptions/CannotReadVideoException.java index c28f16df..a47ba6ba 100644 --- a/ealvatag/src/main/java/ealvatag/audio/exceptions/CannotReadVideoException.java +++ b/ealvatag/src/main/java/ealvatag/audio/exceptions/CannotReadVideoException.java @@ -7,6 +7,11 @@ public class CannotReadVideoException extends CannotReadException { /** + * + */ + private static final long serialVersionUID = 5031784427255883755L; + + /** * Creates an instance. */ public CannotReadVideoException() diff --git a/ealvatag/src/main/java/ealvatag/audio/exceptions/CannotWriteException.java b/ealvatag/src/main/java/ealvatag/audio/exceptions/CannotWriteException.java index b7bc66a2..9b681c71 100644 --- a/ealvatag/src/main/java/ealvatag/audio/exceptions/CannotWriteException.java +++ b/ealvatag/src/main/java/ealvatag/audio/exceptions/CannotWriteException.java @@ -26,7 +26,12 @@ * @author Rapha�l Slinckx */ public class CannotWriteException extends Exception { - public CannotWriteException() { + /** + * + */ + private static final long serialVersionUID = -3481365546544721861L; + +public CannotWriteException() { super(); } diff --git a/ealvatag/src/main/java/ealvatag/audio/exceptions/InvalidAudioFrameException.java b/ealvatag/src/main/java/ealvatag/audio/exceptions/InvalidAudioFrameException.java index 9973c665..d115bbbf 100644 --- a/ealvatag/src/main/java/ealvatag/audio/exceptions/InvalidAudioFrameException.java +++ b/ealvatag/src/main/java/ealvatag/audio/exceptions/InvalidAudioFrameException.java @@ -13,7 +13,12 @@ * Thrown if portion of file thought to be an AudioFrame is found to not be. */ public class InvalidAudioFrameException extends Exception { - public InvalidAudioFrameException(String message) { + /** + * + */ + private static final long serialVersionUID = 5124739587065544399L; + +public InvalidAudioFrameException(String message) { super(message); } diff --git a/ealvatag/src/main/java/ealvatag/audio/exceptions/InvalidBoxHeaderException.java b/ealvatag/src/main/java/ealvatag/audio/exceptions/InvalidBoxHeaderException.java index 7950f817..b59c42cb 100644 --- a/ealvatag/src/main/java/ealvatag/audio/exceptions/InvalidBoxHeaderException.java +++ b/ealvatag/src/main/java/ealvatag/audio/exceptions/InvalidBoxHeaderException.java @@ -6,7 +6,12 @@ * Thrown if when trying to read box id the length doesn't make any sense */ public class InvalidBoxHeaderException extends BaseException { - public InvalidBoxHeaderException(final String id, final int length) { + /** + * + */ + private static final long serialVersionUID = -71636096814774258L; + +public InvalidBoxHeaderException(final String id, final int length) { super("Unable to find next atom because identifier is invalid %s, length:%d", id, length); } } diff --git a/ealvatag/src/main/java/ealvatag/audio/exceptions/ModifyVetoException.java b/ealvatag/src/main/java/ealvatag/audio/exceptions/ModifyVetoException.java index 02e46229..2acb1897 100644 --- a/ealvatag/src/main/java/ealvatag/audio/exceptions/ModifyVetoException.java +++ b/ealvatag/src/main/java/ealvatag/audio/exceptions/ModifyVetoException.java @@ -35,6 +35,11 @@ public class ModifyVetoException extends Exception { /** + * + */ + private static final long serialVersionUID = -1992365372310254191L; + + /** * (overridden) */ public ModifyVetoException() diff --git a/ealvatag/src/main/java/ealvatag/audio/exceptions/NoReadPermissionsException.java b/ealvatag/src/main/java/ealvatag/audio/exceptions/NoReadPermissionsException.java index 37f1ddea..322d094d 100644 --- a/ealvatag/src/main/java/ealvatag/audio/exceptions/NoReadPermissionsException.java +++ b/ealvatag/src/main/java/ealvatag/audio/exceptions/NoReadPermissionsException.java @@ -25,6 +25,11 @@ public class NoReadPermissionsException extends CannotReadException { /** + * + */ + private static final long serialVersionUID = 2758840965404356078L; + + /** * Creates an instance. */ public NoReadPermissionsException() diff --git a/ealvatag/src/main/java/ealvatag/audio/exceptions/NoWritePermissionsException.java b/ealvatag/src/main/java/ealvatag/audio/exceptions/NoWritePermissionsException.java index a554880f..99b56543 100644 --- a/ealvatag/src/main/java/ealvatag/audio/exceptions/NoWritePermissionsException.java +++ b/ealvatag/src/main/java/ealvatag/audio/exceptions/NoWritePermissionsException.java @@ -6,7 +6,12 @@ */ public class NoWritePermissionsException extends CannotWriteException { - public NoWritePermissionsException(Throwable ex) { + /** + * + */ + private static final long serialVersionUID = -2545172702325599944L; + +public NoWritePermissionsException(Throwable ex) { super(ex); } diff --git a/ealvatag/src/main/java/ealvatag/audio/exceptions/NullBoxIdException.java b/ealvatag/src/main/java/ealvatag/audio/exceptions/NullBoxIdException.java index d208c457..37a605f9 100644 --- a/ealvatag/src/main/java/ealvatag/audio/exceptions/NullBoxIdException.java +++ b/ealvatag/src/main/java/ealvatag/audio/exceptions/NullBoxIdException.java @@ -5,7 +5,12 @@ * Normally an error, but if occurs at end of file we allow it */ public class NullBoxIdException extends RuntimeException { - public NullBoxIdException(String message) { + /** + * + */ + private static final long serialVersionUID = -7114685230539495823L; + +public NullBoxIdException(String message) { super(message); } } diff --git a/ealvatag/src/main/java/ealvatag/audio/exceptions/ReadOnlyExcpeption.java b/ealvatag/src/main/java/ealvatag/audio/exceptions/ReadOnlyExcpeption.java index 69e40e13..07b8c3e8 100644 --- a/ealvatag/src/main/java/ealvatag/audio/exceptions/ReadOnlyExcpeption.java +++ b/ealvatag/src/main/java/ealvatag/audio/exceptions/ReadOnlyExcpeption.java @@ -27,6 +27,11 @@ public class ReadOnlyExcpeption extends RuntimeException { /** + * + */ + private static final long serialVersionUID = 8159235342508381197L; + + /** * Creates a new ReadOnlyException datatype. */ public ReadOnlyExcpeption() diff --git a/ealvatag/src/main/java/ealvatag/audio/exceptions/UnableToCreateFileException.java b/ealvatag/src/main/java/ealvatag/audio/exceptions/UnableToCreateFileException.java index 57e8a2f2..e4f6849f 100644 --- a/ealvatag/src/main/java/ealvatag/audio/exceptions/UnableToCreateFileException.java +++ b/ealvatag/src/main/java/ealvatag/audio/exceptions/UnableToCreateFileException.java @@ -8,7 +8,12 @@ * you dont have permission to write to the folder that it is in. */ public class UnableToCreateFileException extends IOException { - public UnableToCreateFileException(final String message) { + /** + * + */ + private static final long serialVersionUID = 2033271750336981668L; + +public UnableToCreateFileException(final String message) { super(message); } diff --git a/ealvatag/src/main/java/ealvatag/audio/exceptions/UnableToModifyFileException.java b/ealvatag/src/main/java/ealvatag/audio/exceptions/UnableToModifyFileException.java index 507da88b..c025547a 100644 --- a/ealvatag/src/main/java/ealvatag/audio/exceptions/UnableToModifyFileException.java +++ b/ealvatag/src/main/java/ealvatag/audio/exceptions/UnableToModifyFileException.java @@ -8,7 +8,12 @@ * you dont have permission to modify files in the folder that it is in. */ public class UnableToModifyFileException extends IOException { - public UnableToModifyFileException(String message) { + /** + * + */ + private static final long serialVersionUID = 1975509456757617827L; + +public UnableToModifyFileException(String message) { super(message); } diff --git a/ealvatag/src/main/java/ealvatag/audio/exceptions/UnableToRenameFileException.java b/ealvatag/src/main/java/ealvatag/audio/exceptions/UnableToRenameFileException.java index 923e8ce1..c71963f9 100644 --- a/ealvatag/src/main/java/ealvatag/audio/exceptions/UnableToRenameFileException.java +++ b/ealvatag/src/main/java/ealvatag/audio/exceptions/UnableToRenameFileException.java @@ -8,7 +8,12 @@ * because you do not have Special Permission 'Delete' set to Denied. */ public class UnableToRenameFileException extends IOException { - public UnableToRenameFileException(String message) { + /** + * + */ + private static final long serialVersionUID = -5613809571849043924L; + +public UnableToRenameFileException(String message) { super(message); } diff --git a/ealvatag/src/main/java/ealvatag/audio/mp3/LameFrame.java b/ealvatag/src/main/java/ealvatag/audio/mp3/LameFrame.java index 324e338a..fbccf2cc 100644 --- a/ealvatag/src/main/java/ealvatag/audio/mp3/LameFrame.java +++ b/ealvatag/src/main/java/ealvatag/audio/mp3/LameFrame.java @@ -19,7 +19,6 @@ package ealvatag.audio.mp3; import ealvatag.audio.Utils; -import ealvatag.utils.ArrayUtil; import ealvatag.utils.StandardCharsets; import okio.Buffer; diff --git a/ealvatag/src/main/java/ealvatag/audio/mp3/XingFrame.java b/ealvatag/src/main/java/ealvatag/audio/mp3/XingFrame.java index 42c46c27..bcb3edf4 100644 --- a/ealvatag/src/main/java/ealvatag/audio/mp3/XingFrame.java +++ b/ealvatag/src/main/java/ealvatag/audio/mp3/XingFrame.java @@ -55,9 +55,6 @@ public class XingFrame { MPEG_VERSION_1_MODE_STEREO_OFFSET + XING_HEADER_BUFFER_SIZE + LameFrame.LAME_HEADER_BUFFER_SIZE; - private static final int BYTE_1 = 0; - private static final int BYTE_2 = 1; - private static final int BYTE_3 = 2; private static final int BYTE_4 = 3; /** diff --git a/ealvatag/src/main/java/ealvatag/audio/mp4/Mp4AtomTree.java b/ealvatag/src/main/java/ealvatag/audio/mp4/Mp4AtomTree.java index 6e0d37a5..ee01d1e8 100644 --- a/ealvatag/src/main/java/ealvatag/audio/mp4/Mp4AtomTree.java +++ b/ealvatag/src/main/java/ealvatag/audio/mp4/Mp4AtomTree.java @@ -39,23 +39,24 @@ * can be used without having to traverse the tree again. */ public class Mp4AtomTree { - private DefaultMutableTreeNode rootNode; - private DefaultTreeModel dataTree; - private DefaultMutableTreeNode moovNode; - private DefaultMutableTreeNode mdatNode; - private DefaultMutableTreeNode ilstNode; - private DefaultMutableTreeNode metaNode; - private DefaultMutableTreeNode tagsNode; - private DefaultMutableTreeNode udtaNode; - private DefaultMutableTreeNode hdlrWithinMdiaNode; - private DefaultMutableTreeNode hdlrWithinMetaNode; - private List stcoNodes = new ArrayList(); - private List freeNodes = new ArrayList(); - private List mdatNodes = new ArrayList(); - private List trakNodes = new ArrayList(); + private DefaultMutableTreeNode rootNode; + private DefaultTreeModel dataTree; + private DefaultMutableTreeNode moovNode; + private DefaultMutableTreeNode mdatNode; + private DefaultMutableTreeNode ilstNode; + private DefaultMutableTreeNode metaNode; + private DefaultMutableTreeNode tagsNode; + private DefaultMutableTreeNode udtaNode; + @SuppressWarnings("unused") + private DefaultMutableTreeNode hdlrWithinMdiaNode; + private DefaultMutableTreeNode hdlrWithinMetaNode; + private List> stcoNodes = new ArrayList<>(); + private List> freeNodes = new ArrayList<>(); + private List> mdatNodes = new ArrayList<>(); + private List> trakNodes = new ArrayList<>(); private List stcos = new ArrayList(); - private ByteBuffer moovBuffer; //Contains all the data under moov + private ByteBuffer moovBuffer; //Contains all the data under moov private Mp4BoxHeader moovHeader; //Logger Object @@ -98,7 +99,7 @@ public Mp4AtomTree(RandomAccessFile raf, boolean closeOnExit) throws IOException * @throws java.io.IOException * @throws ealvatag.audio.exceptions.CannotReadException */ - public DefaultTreeModel buildTree(RandomAccessFile raf, boolean closeExit) throws IOException, CannotReadException { + public DefaultTreeModel buildTree(RandomAccessFile raf, boolean closeExit) throws IOException, CannotReadException { FileChannel fc = null; try { fc = raf.getChannel(); @@ -107,8 +108,8 @@ public DefaultTreeModel buildTree(RandomAccessFile raf, boolean closeExit) throw fc.position(0); //Build up map of nodes - rootNode = new DefaultMutableTreeNode(); - dataTree = new DefaultTreeModel(rootNode); + rootNode = new DefaultMutableTreeNode<>(); + dataTree = new DefaultTreeModel<>(rootNode); //Iterate though all the top level Nodes ByteBuffer headerBuffer = ByteBuffer.allocate(Mp4BoxHeader.HEADER_LENGTH); @@ -124,18 +125,21 @@ public DefaultTreeModel buildTree(RandomAccessFile raf, boolean closeExit) throw //If we only get this error after all the expected data has been found we allow it if (moovNode != null & mdatNode != null) { NullPadding np = new NullPadding(fc.position() - Mp4BoxHeader.HEADER_LENGTH, fc.size()); - DefaultMutableTreeNode trailingPaddingNode = new DefaultMutableTreeNode(np); + DefaultMutableTreeNode trailingPaddingNode = new DefaultMutableTreeNode(np); rootNode.add(trailingPaddingNode); LOG.log(WARN, ErrorMessage.NULL_PADDING_FOUND_AT_END_OF_MP4, np.getFilePos()); break; } else { //File appears invalid + if(closeExit) { + fc.close(); + } throw ne; } } boxHeader.setFilePos(fc.position() - Mp4BoxHeader.HEADER_LENGTH); - DefaultMutableTreeNode newAtom = new DefaultMutableTreeNode(boxHeader); + DefaultMutableTreeNode newAtom = new DefaultMutableTreeNode<>(boxHeader); //Go down moov if (boxHeader.getId().equals(Mp4AtomIdentifier.MOOV.getFieldName())) { @@ -202,7 +206,7 @@ public DefaultTreeModel buildTree(RandomAccessFile raf, boolean closeExit) throw // @SuppressWarnings({"unchecked", "unused"}) // public void printAtomTree(final PrintStream out) { // Enumeration e = rootNode.preorderEnumeration(); -// DefaultMutableTreeNode nextNode; +// DefaultMutableTreeNode nextNode; // while (e.hasMoreElements()) { // nextNode = e.nextElement(); // Mp4BoxHeader header = (Mp4BoxHeader)nextNode.getUserObject(); @@ -225,7 +229,7 @@ public DefaultTreeModel buildTree(RandomAccessFile raf, boolean closeExit) throw // } // } - private void buildChildrenOfNode(ByteBuffer moovBuffer, DefaultMutableTreeNode parentNode) throws IOException, CannotReadException { + private void buildChildrenOfNode(ByteBuffer moovBuffer, DefaultMutableTreeNode parentNode) throws IOException, CannotReadException { Mp4BoxHeader boxHeader; //Preprocessing for nodes that contain data before their children atoms @@ -259,7 +263,7 @@ private void buildChildrenOfNode(ByteBuffer moovBuffer, DefaultMutableTreeNode p boxHeader.setFilePos(moovHeader.getFilePos() + moovBuffer.position()); LOG.log(TRACE, "Atom %s ", boxHeader); - DefaultMutableTreeNode newAtom = new DefaultMutableTreeNode(boxHeader); + DefaultMutableTreeNode newAtom = new DefaultMutableTreeNode<>(boxHeader); parentNode.add(newAtom); if (boxHeader.getId().equals(Mp4AtomIdentifier.UDTA.getFieldName())) { @@ -280,7 +284,7 @@ else if (boxHeader.getId().equals(Mp4AtomIdentifier.META.getFieldName()) && stcos.add(new Mp4StcoBox(boxHeader, moovBuffer)); stcoNodes.add(newAtom); } else if (boxHeader.getId().equals(Mp4AtomIdentifier.ILST.getFieldName())) { - DefaultMutableTreeNode parent = (DefaultMutableTreeNode)parentNode.getParent(); + DefaultMutableTreeNode parent = (DefaultMutableTreeNode)parentNode.getParent(); if (parent != null) { Mp4BoxHeader parentsParent = (Mp4BoxHeader)(parent).getUserObject(); if (parentsParent != null) { @@ -316,47 +320,47 @@ else if (boxHeader.getId().equals(Mp4AtomIdentifier.META.getFieldName()) && } - DefaultMutableTreeNode getMoovNode() { + DefaultMutableTreeNode getMoovNode() { return moovNode; } - DefaultMutableTreeNode getIlstNode() { + DefaultMutableTreeNode getIlstNode() { return ilstNode; } - Mp4BoxHeader getBoxHeader(DefaultMutableTreeNode node) { + Mp4BoxHeader getBoxHeader(DefaultMutableTreeNode node) { if (node == null) { return null; } return (Mp4BoxHeader)node.getUserObject(); } - DefaultMutableTreeNode getMdatNode() { + DefaultMutableTreeNode getMdatNode() { return mdatNode; } - DefaultMutableTreeNode getUdtaNode() { + DefaultMutableTreeNode getUdtaNode() { return udtaNode; } - DefaultMutableTreeNode getMetaNode() { + DefaultMutableTreeNode getMetaNode() { return metaNode; } - DefaultMutableTreeNode getHdlrWithinMetaNode() { + DefaultMutableTreeNode getHdlrWithinMetaNode() { return hdlrWithinMetaNode; } - DefaultMutableTreeNode getTagsNode() { + DefaultMutableTreeNode getTagsNode() { return tagsNode; } - public List getFreeNodes() { + public List> getFreeNodes() { return freeNodes; } - List getTrakNodes() { + List> getTrakNodes() { return trakNodes; } diff --git a/ealvatag/src/main/java/ealvatag/audio/mp4/Mp4StblBox.java b/ealvatag/src/main/java/ealvatag/audio/mp4/Mp4StblBox.java index e103de27..af2ec070 100644 --- a/ealvatag/src/main/java/ealvatag/audio/mp4/Mp4StblBox.java +++ b/ealvatag/src/main/java/ealvatag/audio/mp4/Mp4StblBox.java @@ -22,8 +22,6 @@ import ealvatag.audio.mp4.atom.Mp4BoxHeader; import ealvatag.audio.mp4.atom.Mp4StcoBox; import ealvatag.audio.mp4.atom.Mp4StsdBox; -import ealvatag.logging.ErrorMessage; -import okio.Buffer; import okio.BufferedSource; import java.io.IOException; diff --git a/ealvatag/src/main/java/ealvatag/audio/mp4/atom/Mp4FtypBox.java b/ealvatag/src/main/java/ealvatag/audio/mp4/atom/Mp4FtypBox.java index 2d9773a9..0320f963 100644 --- a/ealvatag/src/main/java/ealvatag/audio/mp4/atom/Mp4FtypBox.java +++ b/ealvatag/src/main/java/ealvatag/audio/mp4/atom/Mp4FtypBox.java @@ -29,9 +29,7 @@ public class Mp4FtypBox extends AbstractMp4Box { private int majorBrandVersion; private List compatibleBrands = new ArrayList(); - private static final int MAJOR_BRAND_POS = 0; private static final int MAJOR_BRAND_LENGTH = 4; - private static final int MAJOR_BRAND_VERSION_POS = 4; private static final int MAJOR_BRAND_VERSION_LENGTH = 4; private static final int COMPATIBLE_BRAND_LENGTH = 4; //Can be multiple of these diff --git a/ealvatag/src/main/java/ealvatag/audio/mp4/atom/Mp4HdlrBox.java b/ealvatag/src/main/java/ealvatag/audio/mp4/atom/Mp4HdlrBox.java index fcdeb237..f78299c0 100644 --- a/ealvatag/src/main/java/ealvatag/audio/mp4/atom/Mp4HdlrBox.java +++ b/ealvatag/src/main/java/ealvatag/audio/mp4/atom/Mp4HdlrBox.java @@ -41,9 +41,7 @@ public class Mp4HdlrBox extends AbstractMp4Box NAME_LENGTH; - private int reserved; // 32 bit private String handlerType; // 4 bytes; - private String name; // Variable length but 4 bytes in existing files private MediaDataType mediaDataType; private static Map mediaDataTypeMap; diff --git a/ealvatag/src/main/java/ealvatag/audio/ogg/OggFileReader.java b/ealvatag/src/main/java/ealvatag/audio/ogg/OggFileReader.java index 86cab511..b1419482 100644 --- a/ealvatag/src/main/java/ealvatag/audio/ogg/OggFileReader.java +++ b/ealvatag/src/main/java/ealvatag/audio/ogg/OggFileReader.java @@ -25,9 +25,7 @@ import ealvatag.audio.ogg.util.OggPageHeader; import ealvatag.tag.TagFieldContainer; -import java.io.File; import java.io.IOException; -import java.io.PrintStream; import java.io.RandomAccessFile; /** diff --git a/ealvatag/src/main/java/ealvatag/audio/ogg/OggVorbisCommentTagCreator.java b/ealvatag/src/main/java/ealvatag/audio/ogg/OggVorbisCommentTagCreator.java index 624ca3b8..e0f760f9 100644 --- a/ealvatag/src/main/java/ealvatag/audio/ogg/OggVorbisCommentTagCreator.java +++ b/ealvatag/src/main/java/ealvatag/audio/ogg/OggVorbisCommentTagCreator.java @@ -20,7 +20,6 @@ import ealvatag.audio.ogg.util.VorbisHeader; import ealvatag.audio.ogg.util.VorbisPacketType; -import ealvatag.tag.Tag; import ealvatag.tag.TagFieldContainer; import ealvatag.tag.vorbiscomment.VorbisCommentCreator; diff --git a/ealvatag/src/main/java/ealvatag/audio/real/RealFileReader.java b/ealvatag/src/main/java/ealvatag/audio/real/RealFileReader.java index d8aa2d51..43e20672 100644 --- a/ealvatag/src/main/java/ealvatag/audio/real/RealFileReader.java +++ b/ealvatag/src/main/java/ealvatag/audio/real/RealFileReader.java @@ -28,15 +28,15 @@ protected GenericAudioHeader getEncodingInfo(RandomAccessFile raf) throws Cannot { final long maxBitRate = Utils.readUint32(dis) / 1000; final long avgBitRate = Utils.readUint32(dis) / 1000; - final long maxPacketSize = Utils.readUint32(dis); - final long avgPacketSize = Utils.readUint32(dis); - final long packetCnt = Utils.readUint32(dis); + Utils.readUint32(dis); + Utils.readUint32(dis); + Utils.readUint32(dis); final int duration = (int)Utils.readUint32(dis) / 1000; - final long preroll = Utils.readUint32(dis); - final long indexOffset = Utils.readUint32(dis); - final long dataOffset = Utils.readUint32(dis); - final int numStreams = Utils.readUint16(dis); - final int flags = Utils.readUint16(dis); + Utils.readUint32(dis); + Utils.readUint32(dis); + Utils.readUint32(dis); + Utils.readUint16(dis); + Utils.readUint16(dis); rv.setBitRate((int) avgBitRate); rv.setPreciseLength(duration); rv.setVariableBitRate(maxBitRate != avgBitRate); @@ -46,15 +46,15 @@ protected GenericAudioHeader getEncodingInfo(RandomAccessFile raf) throws Cannot private RealChunk findPropChunk(RandomAccessFile raf) throws IOException, CannotReadException { - final RealChunk rmf = RealChunk.readChunk(raf); + RealChunk.readChunk(raf); final RealChunk prop = RealChunk.readChunk(raf); return prop; } private RealChunk findContChunk(RandomAccessFile raf) throws IOException, CannotReadException { - final RealChunk rmf = RealChunk.readChunk(raf); - final RealChunk prop = RealChunk.readChunk(raf); + RealChunk.readChunk(raf); + RealChunk.readChunk(raf); RealChunk rv = RealChunk.readChunk(raf); while (!rv.isCONT()) rv = RealChunk.readChunk(raf); return rv; diff --git a/ealvatag/src/main/java/ealvatag/audio/wav/WavChunkType.java b/ealvatag/src/main/java/ealvatag/audio/wav/WavChunkType.java index c46c2384..9240df46 100644 --- a/ealvatag/src/main/java/ealvatag/audio/wav/WavChunkType.java +++ b/ealvatag/src/main/java/ealvatag/audio/wav/WavChunkType.java @@ -23,8 +23,6 @@ public enum WavChunkType private static final Map CODE_TYPE_MAP = new HashMap(); private String code; - private String description; - /** * Get {@link WavChunkType} for code (e.g. "SSND"). * @@ -46,7 +44,6 @@ public synchronized static WavChunkType get(final String code) { WavChunkType(final String code, String description) { this.code=code; - this.description=description; } /** diff --git a/ealvatag/src/main/java/ealvatag/audio/wav/WavCleaner.java b/ealvatag/src/main/java/ealvatag/audio/wav/WavCleaner.java index 47769b61..7c4055c7 100644 --- a/ealvatag/src/main/java/ealvatag/audio/wav/WavCleaner.java +++ b/ealvatag/src/main/java/ealvatag/audio/wav/WavCleaner.java @@ -3,7 +3,6 @@ import com.ealva.ealvalog.java.JLogger; import com.ealva.ealvalog.java.JLoggers; import ealvatag.audio.exceptions.CannotReadException; -import ealvatag.audio.iff.Chunk; import ealvatag.audio.iff.ChunkHeader; import ealvatag.audio.iff.IffHeaderChunk; import ealvatag.logging.Hex; @@ -43,8 +42,9 @@ public void clean() { /** * If find data chunk delete al data after it */ - private int findEndOfDataChunk() throws Exception { - try (FileChannel fc = new RandomAccessFile(path, "rw").getChannel()) { + public int findEndOfDataChunk() throws Exception { + try (RandomAccessFile raf = new RandomAccessFile(path, "rw")) { + FileChannel fc = raf.getChannel(); if (WavRIFFHeader.isValidHeader(fc)) { while (fc.position() < fc.size()) { int endOfChunk = readChunk(fc); @@ -67,7 +67,6 @@ private int findEndOfDataChunk() throws Exception { * @throws CannotReadException */ private int readChunk(FileChannel fc) throws IOException, CannotReadException { - Chunk chunk; ChunkHeader chunkHeader = new ChunkHeader(ByteOrder.LITTLE_ENDIAN); if (!chunkHeader.readHeader(fc)) { return 0; diff --git a/ealvatag/src/main/java/ealvatag/audio/wav/WavFileReader.java b/ealvatag/src/main/java/ealvatag/audio/wav/WavFileReader.java index 81509e1c..3b8ca3db 100644 --- a/ealvatag/src/main/java/ealvatag/audio/wav/WavFileReader.java +++ b/ealvatag/src/main/java/ealvatag/audio/wav/WavFileReader.java @@ -54,6 +54,7 @@ protected TagFieldContainer getTag(FileChannel channel, final String fileName, f case READ_INFO_ONLY_AND_SYNC: case READ_INFO_UNLESS_ONLY_ID3_AND_SYNC: tag.syncTagsAfterRead(); + default: } return tag; } diff --git a/ealvatag/src/main/java/ealvatag/audio/wav/chunk/WavFormatChunk.java b/ealvatag/src/main/java/ealvatag/audio/wav/chunk/WavFormatChunk.java index f41b36f3..521ed29a 100644 --- a/ealvatag/src/main/java/ealvatag/audio/wav/chunk/WavFormatChunk.java +++ b/ealvatag/src/main/java/ealvatag/audio/wav/chunk/WavFormatChunk.java @@ -42,16 +42,11 @@ */ public class WavFormatChunk extends Chunk { - private static final int STANDARD_DATA_SIZE = 18; private static final int EXTENSIBLE_DATA_SIZE = 22; - private static final int EXTENSIBLE_DATA_SIZE_WE_NEED = 10; - - private static final String WAV_RIFF_ENCODING_PREPEND = "WAV-RIFF "; - - private boolean isValid = false; - private int blockAlign, channelMask; + @SuppressWarnings("unused") + private int blockAlign, channelMask; private WavSubFormat wsf; private GenericAudioHeader info; diff --git a/ealvatag/src/main/java/ealvatag/tag/EmptyFrameException.java b/ealvatag/src/main/java/ealvatag/tag/EmptyFrameException.java index f2e15995..50513f78 100644 --- a/ealvatag/src/main/java/ealvatag/tag/EmptyFrameException.java +++ b/ealvatag/src/main/java/ealvatag/tag/EmptyFrameException.java @@ -28,6 +28,11 @@ */ public class EmptyFrameException extends InvalidFrameException { /** + * + */ + private static final long serialVersionUID = 5318352215226022014L; + + /** * Creates a new EmptyFrameException datatype. * * @param msg the detail message. diff --git a/ealvatag/src/main/java/ealvatag/tag/FieldDataInvalidException.java b/ealvatag/src/main/java/ealvatag/tag/FieldDataInvalidException.java index e47dd36a..358e9dd1 100644 --- a/ealvatag/src/main/java/ealvatag/tag/FieldDataInvalidException.java +++ b/ealvatag/src/main/java/ealvatag/tag/FieldDataInvalidException.java @@ -7,7 +7,12 @@ * then this exception will be thrown */ public class FieldDataInvalidException extends TagException { - public FieldDataInvalidException(String msg) { + /** + * + */ + private static final long serialVersionUID = -5061583471450126765L; + + public FieldDataInvalidException(String msg) { super(msg); } diff --git a/ealvatag/src/main/java/ealvatag/tag/InvalidFrameException.java b/ealvatag/src/main/java/ealvatag/tag/InvalidFrameException.java index 524be6c9..0b115156 100644 --- a/ealvatag/src/main/java/ealvatag/tag/InvalidFrameException.java +++ b/ealvatag/src/main/java/ealvatag/tag/InvalidFrameException.java @@ -28,7 +28,12 @@ * @version $Revision$ */ public class InvalidFrameException extends InvalidTagException { - public InvalidFrameException(String msg) { + /** + * + */ + private static final long serialVersionUID = 8320071301919327216L; + + public InvalidFrameException(String msg) { super(msg); } diff --git a/ealvatag/src/main/java/ealvatag/tag/InvalidFrameIdentifierException.java b/ealvatag/src/main/java/ealvatag/tag/InvalidFrameIdentifierException.java index e4d0d17c..9c4db9c5 100644 --- a/ealvatag/src/main/java/ealvatag/tag/InvalidFrameIdentifierException.java +++ b/ealvatag/src/main/java/ealvatag/tag/InvalidFrameIdentifierException.java @@ -29,6 +29,11 @@ */ public class InvalidFrameIdentifierException extends InvalidFrameException { /** + * + */ + private static final long serialVersionUID = 3310494480528422495L; + + /** * Creates a new InvalidFrameIdentifierException datatype. * * @param msg the detail message. diff --git a/ealvatag/src/main/java/ealvatag/tag/NullTagField.java b/ealvatag/src/main/java/ealvatag/tag/NullTagField.java index 850436a6..d36cc217 100644 --- a/ealvatag/src/main/java/ealvatag/tag/NullTagField.java +++ b/ealvatag/src/main/java/ealvatag/tag/NullTagField.java @@ -17,8 +17,6 @@ package ealvatag.tag; -import com.google.common.base.Optional; - import java.io.UnsupportedEncodingException; /** diff --git a/ealvatag/src/main/java/ealvatag/tag/PaddingException.java b/ealvatag/src/main/java/ealvatag/tag/PaddingException.java index 1ba2debb..a478cf33 100644 --- a/ealvatag/src/main/java/ealvatag/tag/PaddingException.java +++ b/ealvatag/src/main/java/ealvatag/tag/PaddingException.java @@ -24,6 +24,11 @@ public class PaddingException extends InvalidFrameIdentifierException { /** + * + */ + private static final long serialVersionUID = -2626462337090782276L; + + /** * Creates a new PaddingException datatype. * * @param msg the detail message. diff --git a/ealvatag/src/main/java/ealvatag/tag/TagNotFoundException.java b/ealvatag/src/main/java/ealvatag/tag/TagNotFoundException.java index 0a44b5ba..724fda7c 100644 --- a/ealvatag/src/main/java/ealvatag/tag/TagNotFoundException.java +++ b/ealvatag/src/main/java/ealvatag/tag/TagNotFoundException.java @@ -35,6 +35,11 @@ public class TagNotFoundException extends TagException { /** + * + */ + private static final long serialVersionUID = 258430244268642300L; + + /** * Creates a new TagNotFoundException datatype. * * @param msg the detail message. diff --git a/ealvatag/src/main/java/ealvatag/tag/id3/AbstractID3v2Tag.java b/ealvatag/src/main/java/ealvatag/tag/id3/AbstractID3v2Tag.java index 1978caa6..f4cfa6c7 100644 --- a/ealvatag/src/main/java/ealvatag/tag/id3/AbstractID3v2Tag.java +++ b/ealvatag/src/main/java/ealvatag/tag/id3/AbstractID3v2Tag.java @@ -583,7 +583,7 @@ public int getFieldCount() { //whereas it.next() works correctly try { while (true) { - TagField next = it.next(); + it.next(); count++; } } catch (NoSuchElementException nse) { @@ -901,89 +901,19 @@ public ImmutableList getFields(FieldKey genericKey) /** * @return iterator of all fields, multiple values for the same Id (e.g multiple TXXX frames) count as separate fields */ + @SuppressWarnings("unchecked") public Iterator getFields() { - //Iterator of each different frameId in this tag - final Iterator> it = this.frameMap.entrySet().iterator(); - - //Iterator used by hasNext() so doesn't effect next() - final Iterator> itHasNext = this.frameMap.entrySet().iterator(); - - - return new Iterator() { - Map.Entry latestEntry = null; - - //this iterates through frames through for a particular frameId - private Iterator fieldsIt; - - //TODO assumes if have entry its valid, but what if empty list but very different to check this - //without causing a side effect on next() so leaving for now - public boolean hasNext() { - //Check Current frameId, does it contain more values - if (fieldsIt != null) { - if (fieldsIt.hasNext()) { - return true; - } - } - - //No remaining entries return false - if (!itHasNext.hasNext()) { - return false; - } - - //Issue #236 - //TODO assumes if have entry its valid, but what if empty list but very different to check this - //without causing a side effect on next() so leaving for now - return itHasNext.hasNext(); - } - - public TagField next() { - //Hasn't been initialized yet - if (fieldsIt == null) { - changeIt(); - } - - if (fieldsIt != null) { - //Go to the end of the run - if (!fieldsIt.hasNext()) { - changeIt(); - } - } - - if (fieldsIt == null) { - throw new NoSuchElementException(); - } - return fieldsIt.next(); - } - - private void changeIt() { - if (!it.hasNext()) { - return; - } - - while (it.hasNext()) { - Map.Entry e = it.next(); - latestEntry = itHasNext.next(); - if (e.getValue() instanceof List) { - List l = (List)e.getValue(); - //If list is empty (which it shouldn't be) we skip over this entry - if (l.size() != 0) { - fieldsIt = l.iterator(); - break; - } - } else { - //TODO must be a better way - List l = new ArrayList<>(); - l.add((TagField)e.getValue()); - fieldsIt = l.iterator(); - break; - } - } - } - - public void remove() { - fieldsIt.remove(); - } - }; + List allFields = new ArrayList<>(); + + for (Object fieldContainer : frameMap.values()) { + if (fieldContainer instanceof List) { + allFields.addAll((List) fieldContainer); + } else { + allFields.add((TagField) fieldContainer); + } + } + + return allFields.iterator(); } public ImmutableList getFields(String id) { diff --git a/ealvatag/src/main/java/ealvatag/tag/id3/AbstractTagFrame.java b/ealvatag/src/main/java/ealvatag/tag/id3/AbstractTagFrame.java index 72a96e01..bd0d4c20 100644 --- a/ealvatag/src/main/java/ealvatag/tag/id3/AbstractTagFrame.java +++ b/ealvatag/src/main/java/ealvatag/tag/id3/AbstractTagFrame.java @@ -22,7 +22,6 @@ package ealvatag.tag.id3; import com.google.common.base.Objects; -import ealvatag.utils.EqualsUtil; /** * A frame contains meta-information of a particular type. A frame contains a header and a body diff --git a/ealvatag/src/main/java/ealvatag/tag/id3/ID3v1Tag.java b/ealvatag/src/main/java/ealvatag/tag/id3/ID3v1Tag.java index 705645cd..05fd3839 100644 --- a/ealvatag/src/main/java/ealvatag/tag/id3/ID3v1Tag.java +++ b/ealvatag/src/main/java/ealvatag/tag/id3/ID3v1Tag.java @@ -566,6 +566,7 @@ public void setField(TagField field) { case COMMENT: setComment(field.toString()); break; + default: } } diff --git a/ealvatag/src/main/java/ealvatag/tag/id3/ID3v22PreferredFrameOrderComparator.java b/ealvatag/src/main/java/ealvatag/tag/id3/ID3v22PreferredFrameOrderComparator.java index 4c03a16e..ece675f7 100644 --- a/ealvatag/src/main/java/ealvatag/tag/id3/ID3v22PreferredFrameOrderComparator.java +++ b/ealvatag/src/main/java/ealvatag/tag/id3/ID3v22PreferredFrameOrderComparator.java @@ -10,7 +10,7 @@ public class ID3v22PreferredFrameOrderComparator implements Comparator { private static ID3v22PreferredFrameOrderComparator comparator; - private static List frameIdsInPreferredOrder = new ArrayList(); + private static List frameIdsInPreferredOrder = new ArrayList<>(); static { //these are the key ones we want at the top diff --git a/ealvatag/src/main/java/ealvatag/tag/id3/framebody/Id3FrameBodyFactory.java b/ealvatag/src/main/java/ealvatag/tag/id3/framebody/Id3FrameBodyFactory.java index c65210a7..27826c32 100644 --- a/ealvatag/src/main/java/ealvatag/tag/id3/framebody/Id3FrameBodyFactory.java +++ b/ealvatag/src/main/java/ealvatag/tag/id3/framebody/Id3FrameBodyFactory.java @@ -18,7 +18,6 @@ package ealvatag.tag.id3.framebody; import ealvatag.tag.InvalidFrameException; -import ealvatag.tag.InvalidFrameIdentifierException; import ealvatag.tag.InvalidTagException; import okio.Buffer; diff --git a/ealvatag/src/main/java/ealvatag/tag/images/NullArtwork.java b/ealvatag/src/main/java/ealvatag/tag/images/NullArtwork.java index dd3f787f..8d22f010 100644 --- a/ealvatag/src/main/java/ealvatag/tag/images/NullArtwork.java +++ b/ealvatag/src/main/java/ealvatag/tag/images/NullArtwork.java @@ -17,7 +17,6 @@ package ealvatag.tag.images; -import com.google.common.base.Optional; import ealvatag.audio.flac.metadatablock.MetadataBlockDataPicture; import java.io.File; diff --git a/ealvatag/src/main/java/ealvatag/tag/lyrics3/AbstractLyrics3.java b/ealvatag/src/main/java/ealvatag/tag/lyrics3/AbstractLyrics3.java index 78652e4a..d00bb12d 100644 --- a/ealvatag/src/main/java/ealvatag/tag/lyrics3/AbstractLyrics3.java +++ b/ealvatag/src/main/java/ealvatag/tag/lyrics3/AbstractLyrics3.java @@ -30,8 +30,7 @@ public abstract class AbstractLyrics3 extends BaseID3Tag { public void delete(RandomAccessFile file) throws IOException { - long filePointer; - ID3v1Tag id3v1tag = new ID3v1Tag(); + new ID3v1Tag(); } diff --git a/ealvatag/src/main/java/ealvatag/tag/lyrics3/Lyrics3v1.java b/ealvatag/src/main/java/ealvatag/tag/lyrics3/Lyrics3v1.java index 0f4c5c2e..d5cf7d8b 100644 --- a/ealvatag/src/main/java/ealvatag/tag/lyrics3/Lyrics3v1.java +++ b/ealvatag/src/main/java/ealvatag/tag/lyrics3/Lyrics3v1.java @@ -27,7 +27,6 @@ import ealvatag.tag.TagNotFoundException; import ealvatag.tag.id3.BaseID3Tag; import ealvatag.tag.id3.ID3Tags; -import ealvatag.tag.id3.ID3v1Tag; import java.io.IOException; import java.io.RandomAccessFile; @@ -274,9 +273,6 @@ public void write(RandomAccessFile file) throws IOException String str; int offset; byte[] buffer; - ID3v1Tag id3v1tag; - - id3v1tag = null; delete(file); file.seek(file.length()); @@ -311,11 +307,6 @@ public void write(RandomAccessFile file) throws IOException offset += str.length(); file.write(buffer, 0, offset); - - if (id3v1tag != null) - { - id3v1tag.write(file); - } } } diff --git a/ealvatag/src/main/java/ealvatag/tag/lyrics3/Lyrics3v2.java b/ealvatag/src/main/java/ealvatag/tag/lyrics3/Lyrics3v2.java index 8265bfe7..e8ecff92 100644 --- a/ealvatag/src/main/java/ealvatag/tag/lyrics3/Lyrics3v2.java +++ b/ealvatag/src/main/java/ealvatag/tag/lyrics3/Lyrics3v2.java @@ -232,7 +232,6 @@ public boolean seek(ByteBuffer byteBuffer) public void read(ByteBuffer byteBuffer) throws TagException { - long filePointer; int lyricSize; if (seek(byteBuffer)) @@ -246,7 +245,7 @@ public void read(ByteBuffer byteBuffer) throws TagException // reset file pointer to the beginning of the tag; seek(byteBuffer); - filePointer = byteBuffer.position(); + byteBuffer.position(); fieldMap = new HashMap(); @@ -388,11 +387,8 @@ public void write(RandomAccessFile file) throws IOException String str; Lyrics3v2Field field; Iterator iterator; - ID3v1Tag id3v1tag; new ID3v1Tag(); - id3v1tag = null; - delete(file); file.seek(file.length()); @@ -462,11 +458,6 @@ public void write(RandomAccessFile file) throws IOException offset += str.length(); file.write(buffer, 0, offset); - - if (id3v1tag != null) - { - id3v1tag.write(file); - } } /** diff --git a/ealvatag/src/main/java/ealvatag/tag/lyrics3/Lyrics3v2Field.java b/ealvatag/src/main/java/ealvatag/tag/lyrics3/Lyrics3v2Field.java index 70963486..c42bb649 100644 --- a/ealvatag/src/main/java/ealvatag/tag/lyrics3/Lyrics3v2Field.java +++ b/ealvatag/src/main/java/ealvatag/tag/lyrics3/Lyrics3v2Field.java @@ -166,8 +166,6 @@ public int getSize() public void read(ByteBuffer byteBuffer) throws InvalidTagException { byte[] buffer = new byte[6]; - // lets scan for a non-zero byte; - long filePointer; byte b; do { diff --git a/ealvatag/src/main/java/ealvatag/tag/mp4/Mp4Tag.java b/ealvatag/src/main/java/ealvatag/tag/mp4/Mp4Tag.java index 577279a5..1f6d991c 100644 --- a/ealvatag/src/main/java/ealvatag/tag/mp4/Mp4Tag.java +++ b/ealvatag/src/main/java/ealvatag/tag/mp4/Mp4Tag.java @@ -508,6 +508,7 @@ public TagField createField(FieldKey genericKey, String... values) throws Illega return new Mp4DiscNoField(number); case DISC_TOTAL: return new Mp4DiscNoField(0, number); + default: } } catch (NumberFormatException nfe) { //If not number we want to convert to an expected exception (which is not a RuntimeException) diff --git a/ealvatag/src/main/java/ealvatag/tag/mp4/atom/Mp4DataBox.java b/ealvatag/src/main/java/ealvatag/tag/mp4/atom/Mp4DataBox.java index 750616da..3a3302f1 100644 --- a/ealvatag/src/main/java/ealvatag/tag/mp4/atom/Mp4DataBox.java +++ b/ealvatag/src/main/java/ealvatag/tag/mp4/atom/Mp4DataBox.java @@ -12,7 +12,6 @@ import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; -import java.util.ListIterator; /** * This box is used within both normal metadata boxes and ---- boxes to hold the actual data. diff --git a/ealvatag/src/main/java/ealvatag/tag/mp4/field/Mp4DiscNoField.java b/ealvatag/src/main/java/ealvatag/tag/mp4/field/Mp4DiscNoField.java index 487f6733..ebb22eb7 100644 --- a/ealvatag/src/main/java/ealvatag/tag/mp4/field/Mp4DiscNoField.java +++ b/ealvatag/src/main/java/ealvatag/tag/mp4/field/Mp4DiscNoField.java @@ -29,7 +29,7 @@ public Mp4DiscNoField(String discValue) throws FieldDataInvalidException { super(Mp4FieldKey.DISCNUMBER.getFieldName(), discValue); numbers = new ArrayList<>(); - numbers.add(new Short("0")); + numbers.add(Short.valueOf("0")); String values[] = discValue.split("/"); switch (values.length) { @@ -40,7 +40,7 @@ public Mp4DiscNoField(String discValue) throws FieldDataInvalidException { } catch (NumberFormatException nfe) { throw new FieldDataInvalidException("Value of:" + values[0] + " is invalid for field:" + id); } - numbers.add(new Short("0")); + numbers.add(Short.valueOf("0")); break; case 2: @@ -68,9 +68,9 @@ public Mp4DiscNoField(String discValue) throws FieldDataInvalidException { public Mp4DiscNoField(int discNo) { super(Mp4FieldKey.DISCNUMBER.getFieldName(), String.valueOf(discNo)); numbers = new ArrayList<>(); - numbers.add(new Short("0")); + numbers.add(Short.valueOf("0")); numbers.add((short)discNo); - numbers.add(new Short("0")); + numbers.add(Short.valueOf("0")); } /** @@ -79,7 +79,7 @@ public Mp4DiscNoField(int discNo) { public Mp4DiscNoField(int discNo, int total) { super(Mp4FieldKey.DISCNUMBER.getFieldName(), String.valueOf(discNo)); numbers = new ArrayList<>(); - numbers.add(new Short("0")); + numbers.add(Short.valueOf("0")); numbers.add((short)discNo); numbers.add((short)total); } diff --git a/ealvatag/src/main/java/ealvatag/tag/mp4/field/Mp4TagByteField.java b/ealvatag/src/main/java/ealvatag/tag/mp4/field/Mp4TagByteField.java index e05020f0..a1e07a24 100644 --- a/ealvatag/src/main/java/ealvatag/tag/mp4/field/Mp4TagByteField.java +++ b/ealvatag/src/main/java/ealvatag/tag/mp4/field/Mp4TagByteField.java @@ -106,14 +106,14 @@ protected byte[] getDataBytes() throws UnsupportedEncodingException case 2: { //Save as two bytes - Short shortValue = new Short(content); + Short shortValue = Short.valueOf(content); byte rawData[] = Utils.getSizeBEInt16(shortValue); return rawData; } case 1: { //Save as 1 bytes - Short shortValue = new Short(content); + Short shortValue = Short.valueOf(content); byte rawData[] = new byte[1]; rawData[0] = shortValue.byteValue(); return rawData; @@ -121,7 +121,7 @@ protected byte[] getDataBytes() throws UnsupportedEncodingException case 4: { //Assume could be int - Integer intValue = new Integer(content); + Integer intValue = Integer.valueOf(content); byte rawData[] = Utils.getSizeBEInt32(intValue); return rawData; } diff --git a/ealvatag/src/main/java/ealvatag/tag/mp4/field/Mp4TrackField.java b/ealvatag/src/main/java/ealvatag/tag/mp4/field/Mp4TrackField.java index a497890d..f966bcf4 100644 --- a/ealvatag/src/main/java/ealvatag/tag/mp4/field/Mp4TrackField.java +++ b/ealvatag/src/main/java/ealvatag/tag/mp4/field/Mp4TrackField.java @@ -20,11 +20,8 @@ * playtitlenameReserved:0 bytes */ public class Mp4TrackField extends Mp4TagTextNumberField { - private static final int NONE_VALUE_INDEX = 0; private static final int TRACK_NO_INDEX = 1; private static final int TRACK_TOTAL_INDEX = 2; - private static final int NONE_END_VALUE_INDEX = 3; - /** * Create new Track Field parsing the String for the trackno/total * @@ -36,7 +33,7 @@ public Mp4TrackField(String trackValue) throws FieldDataInvalidException { super(Mp4FieldKey.TRACK.getFieldName(), trackValue); numbers = new ArrayList(); - numbers.add(new Short("0")); + numbers.add(Short.valueOf("0")); String values[] = trackValue.split("/"); switch (values.length) { @@ -46,8 +43,8 @@ public Mp4TrackField(String trackValue) throws FieldDataInvalidException { } catch (NumberFormatException nfe) { throw new FieldDataInvalidException("Value of:" + values[0] + " is invalid for field:" + id); } - numbers.add(new Short("0")); - numbers.add(new Short("0")); + numbers.add(Short.valueOf("0")); + numbers.add(Short.valueOf("0")); break; case 2: @@ -61,7 +58,7 @@ public Mp4TrackField(String trackValue) throws FieldDataInvalidException { } catch (NumberFormatException nfe) { throw new FieldDataInvalidException("Value of:" + values[1] + " is invalid for field:" + id); } - numbers.add(new Short("0")); + numbers.add(Short.valueOf("0")); break; default: @@ -79,10 +76,10 @@ public Mp4TrackField(int trackNo) { super(Mp4FieldKey.TRACK.getFieldName(), String.valueOf(trackNo)); numbers = new ArrayList(); - numbers.add(new Short("0")); + numbers.add(Short.valueOf("0")); numbers.add((short)trackNo); - numbers.add(new Short("0")); - numbers.add(new Short("0")); + numbers.add(Short.valueOf("0")); + numbers.add(Short.valueOf("0")); } /** @@ -94,10 +91,10 @@ public Mp4TrackField(int trackNo) { public Mp4TrackField(int trackNo, int total) { super(Mp4FieldKey.TRACK.getFieldName(), String.valueOf(trackNo)); numbers = new ArrayList(); - numbers.add(new Short("0")); + numbers.add(Short.valueOf("0")); numbers.add((short)trackNo); numbers.add((short)total); - numbers.add(new Short("0")); + numbers.add(Short.valueOf("0")); } /** diff --git a/ealvatag/src/main/java/ealvatag/tag/reference/Tagger.java b/ealvatag/src/main/java/ealvatag/tag/reference/Tagger.java index be7bc71f..251c48c0 100644 --- a/ealvatag/src/main/java/ealvatag/tag/reference/Tagger.java +++ b/ealvatag/src/main/java/ealvatag/tag/reference/Tagger.java @@ -26,12 +26,10 @@ public enum Tagger MUSICHI(15, "Musichi"), ; - private int compatability; private String desc; Tagger(int compatability,String desc) { - this.compatability=compatability; this.desc=desc; } diff --git a/ealvatag/src/main/java/ealvatag/utils/Buffers.java b/ealvatag/src/main/java/ealvatag/utils/Buffers.java index c16974c7..76691e9e 100644 --- a/ealvatag/src/main/java/ealvatag/utils/Buffers.java +++ b/ealvatag/src/main/java/ealvatag/utils/Buffers.java @@ -44,7 +44,7 @@ public static String peekString(final BufferedSource bufferedSource, final Charset charset) throws IOException { bufferedSource.require(offset + count); byte[] bytes = new byte[count]; - final Buffer buffer = bufferedSource.buffer(); + final Buffer buffer = bufferedSource.getBuffer(); for (int i = 0; i < count; i++) { bytes[i] = buffer.getByte(offset + i); } @@ -67,7 +67,7 @@ public static int read3ByteInt(final BufferedSource source) throws IOException { public static int peek3ByteInt(final BufferedSource bufferedSource, final int offset) throws IOException { bufferedSource.require(offset + 3); - final Buffer buffer = bufferedSource.buffer(); + final Buffer buffer = bufferedSource.getBuffer(); return (buffer.getByte(offset) & 0xff) << 16 | (buffer.getByte(offset + 1) & 0xff) << 8 | (buffer.getByte(offset + 2) & 0xff); diff --git a/ealvatag/src/main/java/ealvatag/utils/tree/DefaultMutableTreeNode.java b/ealvatag/src/main/java/ealvatag/utils/tree/DefaultMutableTreeNode.java index 01139885..c321a22e 100644 --- a/ealvatag/src/main/java/ealvatag/utils/tree/DefaultMutableTreeNode.java +++ b/ealvatag/src/main/java/ealvatag/utils/tree/DefaultMutableTreeNode.java @@ -17,7 +17,7 @@ /** * A DefaultMutableTreeNode is a general-purpose node in a tree data - * structure. + * structure. * For examples of using default mutable tree nodes, see * How to Use Trees @@ -42,17 +42,17 @@ * representation of its user object. *

* This is not a thread safe class.If you intend to use - * a DefaultMutableTreeNode (or a tree of TreeNodes) in more than one thread, you + * a DefaultMutableTreeNode (or a tree of TreeNodes) in more than one thread, you * need to do your own synchronizing. A good convention to adopt is * synchronizing on the root node of a tree. *

- * While DefaultMutableTreeNode implements the MutableTreeNode interface and - * will allow you to add in any implementation of MutableTreeNode not all - * of the methods in DefaultMutableTreeNode will be applicable to all + * While DefaultMutableTreeNode implements the MutableTreeNode interface and + * will allow you to add in any implementation of MutableTreeNode not all + * of the methods in DefaultMutableTreeNode will be applicable to all * MutableTreeNodes implementations. Especially with some of the enumerations * that are provided, using some of these methods assumes the - * DefaultMutableTreeNode contains only DefaultMutableNode instances. All - * of the TreeNode/MutableTreeNode methods will behave as defined no + * DefaultMutableTreeNode contains only DefaultMutableNode instances. All + * of the TreeNode/MutableTreeNode methods will behave as defined no * matter what implementations are added. * *

@@ -70,30 +70,37 @@ * @version 1.25 03/23/10 * @author Rob Davis */ -public class DefaultMutableTreeNode extends Object implements Cloneable, - MutableTreeNode, Serializable +public class DefaultMutableTreeNode implements Cloneable, + MutableTreeNode, Serializable { /** + * + */ + private static final long serialVersionUID = 7195119412898901913L; + + /** * An enumeration that is always empty. This is used when an enumeration * of a leaf node's children is requested. */ - static public final Enumeration EMPTY_ENUMERATION - = new Enumeration() { - public boolean hasMoreElements() { return false; } - public TreeNode nextElement() { - throw new NoSuchElementException("No more elements"); - } - }; + + public static final Enumeration emptyEnumeration() { + return new Enumeration() { + public boolean hasMoreElements() { return false; } + public X nextElement() { + throw new NoSuchElementException("No more elements"); + } + }; + } /** this node's parent, or null if this node has no parent */ - protected MutableTreeNode parent; + protected MutableTreeNode parent; /** array of children, may be null if this node has no children */ - protected Vector children; + protected Vector> children; /** optional user object */ - transient protected Object userObject; + transient protected T userObject; /** true if the node is able to have children */ protected boolean allowsChildren; @@ -108,13 +115,13 @@ public DefaultMutableTreeNode() { } /** - * Creates a tree node with no parent, no children, but which allows + * Creates a tree node with no parent, no children, but which allows * children, and initializes it with the specified user object. - * + * * @param userObject an Object provided by the user that constitutes * the node's data */ - public DefaultMutableTreeNode(Object userObject) { + public DefaultMutableTreeNode(T userObject) { this(userObject, true); } @@ -122,13 +129,13 @@ public DefaultMutableTreeNode(Object userObject) { * Creates a tree node with no parent, no children, initialized with * the specified user object, and that allows children only if * specified. - * + * * @param userObject an Object provided by the user that constitutes * the node's data * @param allowsChildren if true, the node is allowed to have child * nodes -- otherwise, it is always a leaf node */ - public DefaultMutableTreeNode(Object userObject, boolean allowsChildren) { + public DefaultMutableTreeNode(T userObject, boolean allowsChildren) { super(); parent = null; this.allowsChildren = allowsChildren; @@ -147,7 +154,7 @@ public DefaultMutableTreeNode(Object userObject, boolean allowsChildren) { * newChild must not be null and must not be an ancestor of * this node. * - * @param newChild the MutableTreeNode to insert under this node + * @param newChild the MutableTreeNode to insert under this node * @param childIndex the index in this node's child array * where this node is to be inserted * @exception ArrayIndexOutOfBoundsException if @@ -159,7 +166,7 @@ public DefaultMutableTreeNode(Object userObject, boolean allowsChildren) { * children * @see #isNodeDescendant */ - public void insert(MutableTreeNode newChild, int childIndex) { + public void insert(MutableTreeNode newChild, int childIndex) { if (!allowsChildren) { throw new IllegalStateException("node does not allow children"); } else if (newChild == null) { @@ -168,14 +175,14 @@ public void insert(MutableTreeNode newChild, int childIndex) { throw new IllegalArgumentException("new child is an ancestor"); } - MutableTreeNode oldParent = (MutableTreeNode)newChild.getParent(); + MutableTreeNode oldParent = (MutableTreeNode)newChild.getParent(); if (oldParent != null) { oldParent.remove(newChild); } newChild.setParent(this); if (children == null) { - children = new Vector(); + children = new Vector>(); } children.insertElementAt(newChild, childIndex); } @@ -191,13 +198,13 @@ public void insert(MutableTreeNode newChild, int childIndex) { * childIndex is out of bounds */ public void remove(int childIndex) { - MutableTreeNode child = (MutableTreeNode)getChildAt(childIndex); + MutableTreeNode child = (MutableTreeNode)getChildAt(childIndex); children.removeElementAt(childIndex); child.setParent(null); } /** - * Sets this node's parent to newParent but does not + * Sets this node's parent to newParent but does not * change the parent's child array. This method is called from * insert() and remove() to * reassign a child's parent, it should not be messaged from anywhere @@ -205,7 +212,7 @@ public void remove(int childIndex) { * * @param newParent this node's new parent */ - public void setParent(MutableTreeNode newParent) { + public void setParent(MutableTreeNode newParent) { parent = newParent; } @@ -214,7 +221,7 @@ public void setParent(MutableTreeNode newParent) { * * @return this node's parent TreeNode, or null if this node has no parent */ - public TreeNode getParent() { + public TreeNode getParent() { return parent; } @@ -224,13 +231,13 @@ public TreeNode getParent() { * @param index an index into this node's child array * @exception ArrayIndexOutOfBoundsException if index * is out of bounds - * @return the TreeNode in this node's child array at the specified index + * @return the TreeNode in this node's child array at the specified index */ - public TreeNode getChildAt(int index) { + public TreeNode getChildAt(int index) { if (children == null) { throw new ArrayIndexOutOfBoundsException("node has no children"); } - return (TreeNode)children.elementAt(index); + return children.elementAt(index); } /** @@ -252,14 +259,15 @@ public int getChildCount() { * -1. This method performs a linear search and is O(n) * where n is the number of children. * - * @param aChild the TreeNode to search for among this node's children + * @param aChild the TreeNode to search for among this node's children * @exception IllegalArgumentException if aChild * is null - * @return an int giving the index of the node in this node's child + * @return an int giving the index of the node in this node's child * array, or -1 if the specified node is a not * a child of this node */ - public int getIndex(TreeNode aChild) { + @Override + public int getIndex(TreeNode aChild) { if (aChild == null) { throw new IllegalArgumentException("argument is null"); } @@ -277,16 +285,16 @@ public int getIndex(TreeNode aChild) { * * @return an Enumeration of this node's children */ - public Enumeration children() { + public Enumeration> children() { if (children == null) { - return EMPTY_ENUMERATION; + return emptyEnumeration(); } else { return children.elements(); } } /** - * Determines whether or not this node is allowed to have children. + * Determines whether or not this node is allowed to have children. * If allows is false, all of this node's children are * removed. *

@@ -315,12 +323,12 @@ public boolean getAllowsChildren() { /** * Sets the user object for this node to userObject. * - * @param userObject the Object that constitutes this node's + * @param userObject the Object that constitutes this node's * user-specified data * @see #getUserObject * @see #toString */ - public void setUserObject(Object userObject) { + public void setUserObject(T userObject) { this.userObject = userObject; } @@ -331,7 +339,7 @@ public void setUserObject(Object userObject) { * @see #setUserObject * @see #toString */ - public Object getUserObject() { + public T getUserObject() { return userObject; } @@ -346,7 +354,7 @@ public Object getUserObject() { * tree. */ public void removeFromParent() { - MutableTreeNode parent = (MutableTreeNode)getParent(); + MutableTreeNode parent = (MutableTreeNode)getParent(); if (parent != null) { parent.remove(this); } @@ -360,7 +368,7 @@ public void removeFromParent() { * @exception IllegalArgumentException if aChild * is null or is not a child of this node */ - public void remove(MutableTreeNode aChild) { + public void remove(MutableTreeNode aChild) { if (aChild == null) { throw new IllegalArgumentException("argument is null"); } @@ -392,7 +400,7 @@ public void removeAllChildren() { * @exception IllegalStateException if this node does not allow * children */ - public void add(MutableTreeNode newChild) { + public void add(MutableTreeNode newChild) { if(newChild != null && newChild.getParent() == this) insert(newChild, getChildCount() - 1); else @@ -418,12 +426,12 @@ public void add(MutableTreeNode newChild) { * @param anotherNode node to test as an ancestor of this node * @return true if this node is a descendant of anotherNode */ - public boolean isNodeAncestor(TreeNode anotherNode) { + public boolean isNodeAncestor(TreeNode anotherNode) { if (anotherNode == null) { return false; } - TreeNode ancestor = this; + TreeNode ancestor = this; do { if (ancestor == anotherNode) { @@ -447,7 +455,7 @@ public boolean isNodeAncestor(TreeNode anotherNode) { * @param anotherNode node to test as descendant of this node * @return true if this node is an ancestor of anotherNode */ - public boolean isNodeDescendant(DefaultMutableTreeNode anotherNode) { + public boolean isNodeDescendant(DefaultMutableTreeNode anotherNode) { if (anotherNode == null) return false; @@ -466,7 +474,7 @@ public boolean isNodeDescendant(DefaultMutableTreeNode anotherNode) { * @return nearest ancestor common to this node and aNode, * or null if none */ - public TreeNode getSharedAncestor(DefaultMutableTreeNode aNode) { + public TreeNode getSharedAncestor(DefaultMutableTreeNode aNode) { if (aNode == this) { return this; } else if (aNode == null) { @@ -474,11 +482,11 @@ public TreeNode getSharedAncestor(DefaultMutableTreeNode aNode) { } int level1, level2, diff; - TreeNode node1, node2; - + TreeNode node1, node2; + level1 = getLevel(); level2 = aNode.getLevel(); - + if (level2 > level1) { diff = level2 - level1; node1 = aNode; @@ -494,12 +502,12 @@ public TreeNode getSharedAncestor(DefaultMutableTreeNode aNode) { node1 = node1.getParent(); diff--; } - + // Move up the tree until we find a common ancestor. Since we know // that both nodes are at the same level, we won't cross paths // unknowingly (if there is a common ancestor, both nodes hit it in // the same iteration). - + do { if (node1 == node2) { return node1; @@ -508,11 +516,11 @@ public TreeNode getSharedAncestor(DefaultMutableTreeNode aNode) { node2 = node2.getParent(); } while (node1 != null);// only need to check one -- they're at the // same level so if one is null, the other is - + if (node1 != null || node2 != null) { throw new Error ("nodes should be null"); } - + return null; } @@ -526,7 +534,7 @@ public TreeNode getSharedAncestor(DefaultMutableTreeNode aNode) { * @return true if aNode is in the same tree as this node; * false if aNode is null */ - public boolean isNodeRelated(DefaultMutableTreeNode aNode) { + public boolean isNodeRelated(DefaultMutableTreeNode aNode) { return (aNode != null) && (getRoot() == aNode.getRoot()); } @@ -542,18 +550,18 @@ public boolean isNodeRelated(DefaultMutableTreeNode aNode) { * @return the depth of the tree whose root is this node */ public int getDepth() { - Object last = null; - Enumeration enum_ = breadthFirstEnumeration(); - + TreeNode last = null; + Enumeration> enum_ = breadthFirstEnumeration(); + while (enum_.hasMoreElements()) { last = enum_.nextElement(); } - + if (last == null) { throw new Error ("nodes should be null"); } - - return ((DefaultMutableTreeNode)last).getLevel() - getLevel(); + + return ((DefaultMutableTreeNode)last).getLevel() - getLevel(); } @@ -566,7 +574,7 @@ public int getDepth() { * @return the number of levels above this node */ public int getLevel() { - TreeNode ancestor; + TreeNode ancestor; int levels = 0; ancestor = this; @@ -582,11 +590,11 @@ public int getLevel() { * Returns the path from the root, to get to this node. The last * element in the path is this node. * - * @return an array of TreeNode objects giving the path, where the + * @return an array of TreeNode objects giving the path, where the * first element in the path is the root and the last * element is this node. */ - public TreeNode[] getPath() { + public TreeNode[] getPath() { return getPathToRoot(this, 0); } @@ -595,15 +603,16 @@ public TreeNode[] getPath() { * where the original node is the last element in the returned array. * The length of the returned array gives the node's depth in the * tree. - * - * @param aNode the TreeNode to get the path for + * + * @param aNode the TreeNode to get the path for * @param depth an int giving the number of steps already taken towards * the root (on recursive calls), used to size the returned array * @return an array of TreeNodes giving the path from the root to the - * specified node + * specified node */ - protected TreeNode[] getPathToRoot(TreeNode aNode, int depth) { - TreeNode[] retNodes; + @SuppressWarnings("unchecked") + protected TreeNode[] getPathToRoot(TreeNode aNode, int depth) { + TreeNode[] retNodes; /* Check for null, in case someone passed in a null node, or they passed in an element that isn't rooted at root. */ @@ -627,11 +636,11 @@ protected TreeNode[] getPathToRoot(TreeNode aNode, int depth) { * returned path will contain nulls. */ public Object[] getUserObjectPath() { - TreeNode[] realPath = getPath(); + TreeNode[] realPath = getPath(); Object[] retPath = new Object[realPath.length]; for(int counter = 0; counter < realPath.length; counter++) - retPath[counter] = ((DefaultMutableTreeNode)realPath[counter]) + retPath[counter] = ((DefaultMutableTreeNode)realPath[counter]) .getUserObject(); return retPath; } @@ -643,9 +652,9 @@ public Object[] getUserObjectPath() { * @see #isNodeAncestor * @return the root of the tree that contains this node */ - public TreeNode getRoot() { - TreeNode ancestor = this; - TreeNode previous; + public TreeNode getRoot() { + TreeNode ancestor = this; + TreeNode previous; do { previous = ancestor; @@ -678,13 +687,13 @@ public boolean isRoot() { * @return the node that follows this node in a preorder traversal, or * null if this node is last */ - public DefaultMutableTreeNode getNextNode() { + public DefaultMutableTreeNode getNextNode() { if (getChildCount() == 0) { // No children, so look for nextSibling - DefaultMutableTreeNode nextSibling = getNextSibling(); + DefaultMutableTreeNode nextSibling = getNextSibling(); if (nextSibling == null) { - DefaultMutableTreeNode aNode = (DefaultMutableTreeNode)getParent(); + DefaultMutableTreeNode aNode = (DefaultMutableTreeNode)getParent(); do { if (aNode == null) { @@ -696,13 +705,13 @@ public DefaultMutableTreeNode getNextNode() { return nextSibling; } - aNode = (DefaultMutableTreeNode)aNode.getParent(); + aNode = (DefaultMutableTreeNode)aNode.getParent(); } while(true); } else { return nextSibling; } } else { - return (DefaultMutableTreeNode)getChildAt(0); + return (DefaultMutableTreeNode)getChildAt(0); } } @@ -710,7 +719,7 @@ public DefaultMutableTreeNode getNextNode() { /** * Returns the node that precedes this node in a preorder traversal of * this node's tree. Returns null if this node is the - * first node of the traversal -- the root of the tree. + * first node of the traversal -- the root of the tree. * This is an inefficient way to * traverse the entire tree; use an enumeration, instead. * @@ -718,9 +727,9 @@ public DefaultMutableTreeNode getNextNode() { * @return the node that precedes this node in a preorder traversal, or * null if this node is the first */ - public DefaultMutableTreeNode getPreviousNode() { - DefaultMutableTreeNode previousSibling; - DefaultMutableTreeNode myParent = (DefaultMutableTreeNode)getParent(); + public DefaultMutableTreeNode getPreviousNode() { + DefaultMutableTreeNode previousSibling; + DefaultMutableTreeNode myParent = (DefaultMutableTreeNode)getParent(); if (myParent == null) { return null; @@ -749,7 +758,7 @@ public DefaultMutableTreeNode getPreviousNode() { * @see #postorderEnumeration * @return an enumeration for traversing the tree in preorder */ - public Enumeration preorderEnumeration() { + public Enumeration> preorderEnumeration() { return new PreorderEnumeration(this); } @@ -766,8 +775,8 @@ public Enumeration preorderEnumeration() { * @see #preorderEnumeration * @return an enumeration for traversing the tree in postorder */ - public Enumeration postorderEnumeration() { - return new PostorderEnumeration(this); + public Enumeration> postorderEnumeration() { + return new PostorderEnumeration<>(this); } /** @@ -781,8 +790,8 @@ public Enumeration postorderEnumeration() { * @see #depthFirstEnumeration * @return an enumeration for traversing the tree in breadth-first order */ - public Enumeration breadthFirstEnumeration() { - return new BreadthFirstEnumeration(this); + public Enumeration> breadthFirstEnumeration() { + return new BreadthFirstEnumeration<>(this); } /** @@ -798,7 +807,7 @@ public Enumeration breadthFirstEnumeration() { * @see #postorderEnumeration * @return an enumeration for traversing the tree in depth-first order */ - public Enumeration depthFirstEnumeration() { + public Enumeration> depthFirstEnumeration() { return postorderEnumeration(); } @@ -822,8 +831,8 @@ public Enumeration depthFirstEnumeration() { * @return an enumeration for following the path from an ancestor of * this node to this one */ - public Enumeration pathFromAncestorEnumeration(TreeNode ancestor) { - return new PathBetweenNodesEnumeration(ancestor, this); + public Enumeration> pathFromAncestorEnumeration(TreeNode ancestor) { + return new PathBetweenNodesEnumeration<>(ancestor, this); } @@ -835,10 +844,10 @@ public Enumeration pathFromAncestorEnumeration(TreeNode ancestor) { * Returns true if aNode is a child of this node. If * aNode is null, this method returns false. * - * @return true if aNode is a child of this node; false if + * @return true if aNode is a child of this node; false if * aNode is null */ - public boolean isNodeChild(TreeNode aNode) { + public boolean isNodeChild(TreeNode aNode) { boolean retval; if (aNode == null) { @@ -862,7 +871,7 @@ public boolean isNodeChild(TreeNode aNode) { * @return the first child of this node * @exception NoSuchElementException if this node has no children */ - public TreeNode getFirstChild() { + public TreeNode getFirstChild() { if (getChildCount() == 0) { throw new NoSuchElementException("node has no children"); } @@ -877,7 +886,7 @@ public TreeNode getFirstChild() { * @return the last child of this node * @exception NoSuchElementException if this node has no children */ - public TreeNode getLastChild() { + public TreeNode getLastChild() { if (getChildCount() == 0) { throw new NoSuchElementException("node has no children"); } @@ -899,7 +908,7 @@ public TreeNode getLastChild() { * @return the child of this node that immediately follows * aChild */ - public TreeNode getChildAfter(TreeNode aChild) { + public TreeNode getChildAfter(TreeNode aChild) { if (aChild == null) { throw new IllegalArgumentException("argument is null"); } @@ -930,7 +939,7 @@ public TreeNode getChildAfter(TreeNode aChild) { * @return the child of this node that immediately precedes * aChild */ - public TreeNode getChildBefore(TreeNode aChild) { + public TreeNode getChildBefore(TreeNode aChild) { if (aChild == null) { throw new IllegalArgumentException("argument is null"); } @@ -962,7 +971,7 @@ public TreeNode getChildBefore(TreeNode aChild) { * @param anotherNode node to test as sibling of this node * @return true if anotherNode is a sibling of this node */ - public boolean isNodeSibling(TreeNode anotherNode) { + public boolean isNodeSibling(TreeNode anotherNode) { boolean retval; if (anotherNode == null) { @@ -970,10 +979,10 @@ public boolean isNodeSibling(TreeNode anotherNode) { } else if (anotherNode == this) { retval = true; } else { - TreeNode myParent = getParent(); + TreeNode myParent = getParent(); retval = (myParent != null && myParent == anotherNode.getParent()); - if (retval && !((DefaultMutableTreeNode)getParent()) + if (retval && !((DefaultMutableTreeNode)getParent()) .isNodeChild(anotherNode)) { throw new Error("sibling has different parent"); } @@ -991,7 +1000,7 @@ public boolean isNodeSibling(TreeNode anotherNode) { * @return the number of siblings of this node */ public int getSiblingCount() { - TreeNode myParent = getParent(); + TreeNode myParent = getParent(); if (myParent == null) { return 1; @@ -1011,15 +1020,15 @@ public int getSiblingCount() { * @see #children * @return the sibling of this node that immediately follows this node */ - public DefaultMutableTreeNode getNextSibling() { - DefaultMutableTreeNode retval; + public DefaultMutableTreeNode getNextSibling() { + DefaultMutableTreeNode retval; - DefaultMutableTreeNode myParent = (DefaultMutableTreeNode)getParent(); + DefaultMutableTreeNode myParent = (DefaultMutableTreeNode)getParent(); if (myParent == null) { retval = null; } else { - retval = (DefaultMutableTreeNode)myParent.getChildAfter(this); // linear search + retval = (DefaultMutableTreeNode)myParent.getChildAfter(this); // linear search } if (retval != null && !isNodeSibling(retval)) { @@ -1038,15 +1047,15 @@ public DefaultMutableTreeNode getNextSibling() { * * @return the sibling of this node that immediately precedes this node */ - public DefaultMutableTreeNode getPreviousSibling() { - DefaultMutableTreeNode retval; + public DefaultMutableTreeNode getPreviousSibling() { + DefaultMutableTreeNode retval; - DefaultMutableTreeNode myParent = (DefaultMutableTreeNode)getParent(); + DefaultMutableTreeNode myParent = (DefaultMutableTreeNode)getParent(); if (myParent == null) { retval = null; } else { - retval = (DefaultMutableTreeNode)myParent.getChildBefore(this); // linear search + retval = (DefaultMutableTreeNode)myParent.getChildBefore(this); // linear search } if (retval != null && !isNodeSibling(retval)) { @@ -1085,11 +1094,11 @@ public boolean isLeaf() { * @see #isNodeDescendant * @return the first leaf in the subtree rooted at this node */ - public DefaultMutableTreeNode getFirstLeaf() { - DefaultMutableTreeNode node = this; + public DefaultMutableTreeNode getFirstLeaf() { + DefaultMutableTreeNode node = this; while (!node.isLeaf()) { - node = (DefaultMutableTreeNode)node.getFirstChild(); + node = (DefaultMutableTreeNode)node.getFirstChild(); } return node; @@ -1098,18 +1107,18 @@ public DefaultMutableTreeNode getFirstLeaf() { /** * Finds and returns the last leaf that is a descendant of this node -- - * either this node or its last child's last leaf. + * either this node or its last child's last leaf. * Returns this node if it is a leaf. * * @see #isLeaf * @see #isNodeDescendant * @return the last leaf in the subtree rooted at this node */ - public DefaultMutableTreeNode getLastLeaf() { - DefaultMutableTreeNode node = this; + public DefaultMutableTreeNode getLastLeaf() { + DefaultMutableTreeNode node = this; while (!node.isLeaf()) { - node = (DefaultMutableTreeNode)node.getLastChild(); + node = (DefaultMutableTreeNode)node.getLastChild(); } return node; @@ -1122,11 +1131,11 @@ public DefaultMutableTreeNode getLastLeaf() { *

* In this implementation of the MutableNode interface, * this operation is very inefficient. In order to determine the - * next node, this method first performs a linear search in the - * parent's child-list in order to find the current node. + * next node, this method first performs a linear search in the + * parent's child-list in order to find the current node. *

* That implementation makes the operation suitable for short - * traversals from a known position. But to traverse all of the + * traversals from a known position. But to traverse all of the * leaves in the tree, you should use depthFirstEnumeration * to enumerate the nodes in the tree and use isLeaf * on each node to determine which are leaves. @@ -1135,9 +1144,9 @@ public DefaultMutableTreeNode getLastLeaf() { * @see #isLeaf * @return returns the next leaf past this node */ - public DefaultMutableTreeNode getNextLeaf() { - DefaultMutableTreeNode nextSibling; - DefaultMutableTreeNode myParent = (DefaultMutableTreeNode)getParent(); + public DefaultMutableTreeNode getNextLeaf() { + DefaultMutableTreeNode nextSibling; + DefaultMutableTreeNode myParent = (DefaultMutableTreeNode)getParent(); if (myParent == null) return null; @@ -1157,11 +1166,11 @@ public DefaultMutableTreeNode getNextLeaf() { *

* In this implementation of the MutableNode interface, * this operation is very inefficient. In order to determine the - * previous node, this method first performs a linear search in the - * parent's child-list in order to find the current node. + * previous node, this method first performs a linear search in the + * parent's child-list in order to find the current node. *

* That implementation makes the operation suitable for short - * traversals from a known position. But to traverse all of the + * traversals from a known position. But to traverse all of the * leaves in the tree, you should use depthFirstEnumeration * to enumerate the nodes in the tree and use isLeaf * on each node to determine which are leaves. @@ -1170,9 +1179,9 @@ public DefaultMutableTreeNode getNextLeaf() { * @see #isLeaf * @return returns the leaf before this node */ - public DefaultMutableTreeNode getPreviousLeaf() { - DefaultMutableTreeNode previousSibling; - DefaultMutableTreeNode myParent = (DefaultMutableTreeNode)getParent(); + public DefaultMutableTreeNode getPreviousLeaf() { + DefaultMutableTreeNode previousSibling; + DefaultMutableTreeNode myParent = (DefaultMutableTreeNode)getParent(); if (myParent == null) return null; @@ -1197,11 +1206,11 @@ public DefaultMutableTreeNode getPreviousLeaf() { public int getLeafCount() { int count = 0; - TreeNode node; - Enumeration enum_ = breadthFirstEnumeration(); // order matters not + TreeNode node; + Enumeration> enum_ = breadthFirstEnumeration(); // order matters not while (enum_.hasMoreElements()) { - node = (TreeNode)enum_.nextElement(); + node = enum_.nextElement(); if (node.isLeaf()) { count++; } @@ -1240,11 +1249,12 @@ public String toString() { * * @return a copy of this node */ - public Object clone() { - DefaultMutableTreeNode newNode = null; + @SuppressWarnings("unchecked") + public DefaultMutableTreeNode clone() { + DefaultMutableTreeNode newNode = null; try { - newNode = (DefaultMutableTreeNode)super.clone(); + newNode = (DefaultMutableTreeNode)super.clone(); // shallow copy -- the new node has no parent or children newNode.children = null; @@ -1259,7 +1269,7 @@ public Object clone() { } - // Serialization support. + // Serialization support. private void writeObject(ObjectOutputStream s) throws IOException { Object[] tValues; @@ -1275,38 +1285,39 @@ private void writeObject(ObjectOutputStream s) throws IOException { s.writeObject(tValues); } - private void readObject(ObjectInputStream s) + @SuppressWarnings("unchecked") + private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException { - Object[] tValues; + T[] tValues; s.defaultReadObject(); - tValues = (Object[])s.readObject(); + tValues = (T[])s.readObject(); if(tValues.length > 0 && tValues[0].equals("userObject")) userObject = tValues[1]; } - final class PreorderEnumeration implements Enumeration { - protected Stack stack; + final class PreorderEnumeration implements Enumeration> { + protected Stack>> stack; - public PreorderEnumeration(TreeNode rootNode) { + public PreorderEnumeration(TreeNode rootNode) { super(); - Vector v = new Vector(1); + Vector> v = new Vector<>(1); v.addElement(rootNode); // PENDING: don't really need a vector - stack = new Stack(); + stack = new Stack<>(); stack.push(v.elements()); } public boolean hasMoreElements() { - return (!stack.empty() && - ((Enumeration)stack.peek()).hasMoreElements()); + return !stack.empty() && + stack.peek().hasMoreElements(); } - public TreeNode nextElement() { - Enumeration enumer = (Enumeration)stack.peek(); - TreeNode node = (TreeNode)enumer.nextElement(); - Enumeration children = node.children(); + public TreeNode nextElement() { + Enumeration> enumer = stack.peek(); + TreeNode node = enumer.nextElement(); + Enumeration> children = node.children(); if (!enumer.hasMoreElements()) { stack.pop(); @@ -1321,30 +1332,29 @@ public TreeNode nextElement() { - final class PostorderEnumeration implements Enumeration { - protected TreeNode root; - protected Enumeration children; - protected Enumeration subtree; + final class PostorderEnumeration implements Enumeration> { + protected TreeNode root; + protected Enumeration> children; + protected Enumeration> subtree; - public PostorderEnumeration(TreeNode rootNode) { + public PostorderEnumeration(TreeNode rootNode) { super(); root = rootNode; children = root.children(); - subtree = EMPTY_ENUMERATION; + subtree = emptyEnumeration(); } public boolean hasMoreElements() { return root != null; } - public TreeNode nextElement() { - TreeNode retval; + public TreeNode nextElement() { + TreeNode retval; if (subtree.hasMoreElements()) { retval = subtree.nextElement(); } else if (children.hasMoreElements()) { - subtree = new PostorderEnumeration( - (TreeNode)children.nextElement()); + subtree = new PostorderEnumeration<>(children.nextElement()); retval = subtree.nextElement(); } else { retval = root; @@ -1358,26 +1368,26 @@ public TreeNode nextElement() { - final class BreadthFirstEnumeration implements Enumeration { - protected Queue queue; + final class BreadthFirstEnumeration implements Enumeration> { + protected Queue>> queue; - public BreadthFirstEnumeration(TreeNode rootNode) { + public BreadthFirstEnumeration(TreeNode rootNode) { super(); - Vector v = new Vector(1); + Vector> v = new Vector<>(1); v.addElement(rootNode); // PENDING: don't really need a vector - queue = new Queue(); + queue = new Queue<>(); queue.enqueue(v.elements()); } public boolean hasMoreElements() { return (!queue.isEmpty() && - ((Enumeration)queue.firstObject()).hasMoreElements()); + queue.firstObject().hasMoreElements()); } - public TreeNode nextElement() { - Enumeration enumer = (Enumeration)queue.firstObject(); - TreeNode node = (TreeNode)enumer.nextElement(); - Enumeration children = node.children(); + public TreeNode nextElement() { + Enumeration> enumer = queue.firstObject(); + TreeNode node = enumer.nextElement(); + Enumeration> children = node.children(); if (!enumer.hasMoreElements()) { queue.dequeue(); @@ -1390,24 +1400,24 @@ public TreeNode nextElement() { // A simple queue with a linked list data structure. - final class Queue { - QNode head; // null if empty - QNode tail; - - final class QNode { - public Object object; - public QNode next; // null if end - public QNode(Object object, QNode next) { + final class Queue { + QNode head; // null if empty + QNode tail; + + final class QNode { + public Z object; + public QNode next; // null if end + public QNode(Z object, QNode next) { this.object = object; this.next = next; } } - public void enqueue(Object anObject) { + public void enqueue(Y anObject) { if (head == null) { - head = tail = new QNode(anObject, null); + head = tail = new QNode<>(anObject, null); } else { - tail.next = new QNode(anObject, null); + tail.next = new QNode<>(anObject, null); tail = tail.next; } } @@ -1417,8 +1427,8 @@ public Object dequeue() { throw new NoSuchElementException("No more elements"); } - Object retval = head.object; - QNode oldHead = head; + Y retval = head.object; + QNode oldHead = head; head = head.next; if (head == null) { tail = null; @@ -1428,7 +1438,7 @@ public Object dequeue() { return retval; } - public Object firstObject() { + public Y firstObject() { if (head == null) { throw new NoSuchElementException("No more elements"); } @@ -1446,11 +1456,11 @@ public boolean isEmpty() { - final class PathBetweenNodesEnumeration implements Enumeration { - protected Stack stack; + final class PathBetweenNodesEnumeration implements Enumeration> { + protected Stack> stack; - public PathBetweenNodesEnumeration(TreeNode ancestor, - TreeNode descendant) + public PathBetweenNodesEnumeration(TreeNode ancestor, + TreeNode descendant) { super(); @@ -1458,9 +1468,9 @@ public PathBetweenNodesEnumeration(TreeNode ancestor, throw new IllegalArgumentException("argument is null"); } - TreeNode current; + TreeNode current; - stack = new Stack(); + stack = new Stack>(); stack.push(descendant); current = descendant; @@ -1478,7 +1488,7 @@ public boolean hasMoreElements() { return stack.size() > 0; } - public TreeNode nextElement() { + public TreeNode nextElement() { try { return stack.pop(); } catch (EmptyStackException e) { diff --git a/ealvatag/src/main/java/ealvatag/utils/tree/DefaultTreeModel.java b/ealvatag/src/main/java/ealvatag/utils/tree/DefaultTreeModel.java index 9d7fd0b1..cdb5b285 100644 --- a/ealvatag/src/main/java/ealvatag/utils/tree/DefaultTreeModel.java +++ b/ealvatag/src/main/java/ealvatag/utils/tree/DefaultTreeModel.java @@ -35,9 +35,13 @@ * @author Ray Ryan * @author Scott Violet */ -public class DefaultTreeModel implements Serializable, TreeModel { - /** Root of the tree. */ - protected TreeNode root; +public class DefaultTreeModel implements Serializable, TreeModel { + /** + * + */ + private static final long serialVersionUID = -4868723904649433259L; + /** Root of the tree. */ + protected TreeNode root; /** Listeners. */ protected EventListenerList listenerList = new EventListenerList(); /** @@ -65,7 +69,7 @@ public class DefaultTreeModel implements Serializable, TreeModel { * @param root a TreeNode object that is the root of the tree * @see #DefaultTreeModel(TreeNode, boolean) */ - public DefaultTreeModel(TreeNode root) { + public DefaultTreeModel(TreeNode root) { this(root, false); } @@ -79,7 +83,7 @@ public DefaultTreeModel(TreeNode root) { * it can have children * @see #asksAllowsChildren */ - public DefaultTreeModel(TreeNode root, boolean asksAllowsChildren) { + public DefaultTreeModel(TreeNode root, boolean asksAllowsChildren) { super(); this.root = root; this.asksAllowsChildren = asksAllowsChildren; @@ -110,7 +114,7 @@ public boolean asksAllowsChildren() { * Sets the root to root. A null root implies * the tree is to display nothing, and is legal. */ - public void setRoot(TreeNode root) { + public void setRoot(TreeNode root) { Object oldRoot = this.root; this.root = root; if (root == null && oldRoot != null) { @@ -127,7 +131,7 @@ public void setRoot(TreeNode root) { * * @return the root of the tree */ - public Object getRoot() { + public TreeNode getRoot() { return root; } @@ -139,10 +143,10 @@ public Object getRoot() { * @return the index of the child in the parent, or -1 * if either the parent or the child is null */ - public int getIndexOfChild(Object parent, Object child) { + public int getIndexOfChild(TreeNode parent, TreeNode child) { if(parent == null || child == null) return -1; - return ((TreeNode)parent).getIndex((TreeNode)child); + return parent.getIndex(child); } /** @@ -155,8 +159,8 @@ public int getIndexOfChild(Object parent, Object child) { * @param parent a node in the tree, obtained from this data source * @return the child of parent at index index */ - public Object getChild(Object parent, int index) { - return ((TreeNode)parent).getChildAt(index); + public TreeNode getChild(TreeNode parent, int index) { + return parent.getChildAt(index); } /** @@ -167,8 +171,8 @@ public Object getChild(Object parent, int index) { * @param parent a node in the tree, obtained from this data source * @return the number of children of the node parent */ - public int getChildCount(Object parent) { - return ((TreeNode)parent).getChildCount(); + public int getChildCount(TreeNode parent) { + return parent.getChildCount(); } /** @@ -182,10 +186,10 @@ public int getChildCount(Object parent) { * @see #asksAllowsChildren * @see TreeModel#isLeaf */ - public boolean isLeaf(Object node) { + public boolean isLeaf(TreeNode node) { if(asksAllowsChildren) - return !((TreeNode)node).getAllowsChildren(); - return ((TreeNode)node).isLeaf(); + return !node.getAllowsChildren(); + return node.isLeaf(); } /** @@ -203,8 +207,8 @@ public void reload() { * the TreeModel you're going to need to subclass this and * set the user object of the changed node to something meaningful. */ - public void valueForPathChanged(TreePath path, Object newValue) { - MutableTreeNode aNode = (MutableTreeNode)path.getLastPathComponent(); + public void valueForPathChanged(TreePath path, T newValue) { + MutableTreeNode aNode = (MutableTreeNode)path.getLastPathComponent(); aNode.setUserObject(newValue); nodeChanged(aNode); @@ -216,8 +220,8 @@ public void valueForPathChanged(TreePath path, Object newValue) { * event. This is the preferred way to add children as it will create * the appropriate event. */ - public void insertNodeInto(MutableTreeNode newChild, - MutableTreeNode parent, int index){ + public void insertNodeInto(MutableTreeNode newChild, + MutableTreeNode parent, int index){ parent.insert(newChild, index); int[] newIndexs = new int[1]; @@ -232,14 +236,15 @@ public void insertNodeInto(MutableTreeNode newChild, * preferred way to remove a node as it handles the event creation * for you. */ - public void removeNodeFromParent(MutableTreeNode node) { - MutableTreeNode parent = (MutableTreeNode)node.getParent(); + public void removeNodeFromParent(MutableTreeNode node) { + MutableTreeNode parent = (MutableTreeNode)node.getParent(); if(parent == null) throw new IllegalArgumentException("node does not have a parent."); int[] childIndex = new int[1]; - Object[] removedArray = new Object[1]; + @SuppressWarnings("unchecked") + TreeNode[] removedArray = new TreeNode[1]; childIndex[0] = parent.getIndex(node); parent.remove(childIndex[0]); @@ -251,9 +256,9 @@ public void removeNodeFromParent(MutableTreeNode node) { * Invoke this method after you've changed how node is to be * represented in the tree. */ - public void nodeChanged(TreeNode node) { + public void nodeChanged(TreeNode node) { if(listenerList != null && node != null) { - TreeNode parent = node.getParent(); + TreeNode parent = node.getParent(); if(parent != null) { int anIndex = parent.getIndex(node); @@ -277,7 +282,7 @@ else if (node == getRoot()) { * * @param node the node below which the model has changed */ - public void reload(TreeNode node) { + public void reload(TreeNode node) { if(node != null) { fireTreeStructureChanged(this, getPathToRoot(node), null, null); } @@ -288,11 +293,12 @@ public void reload(TreeNode node) { * node. childIndices should be the index of the new elements and * must be sorted in ascending order. */ - public void nodesWereInserted(TreeNode node, int[] childIndices) { + public void nodesWereInserted(TreeNode node, int[] childIndices) { if(listenerList != null && node != null && childIndices != null && childIndices.length > 0) { int cCount = childIndices.length; - Object[] newChildren = new Object[cCount]; + @SuppressWarnings("unchecked") + TreeNode[] newChildren = new TreeNode[cCount]; for(int counter = 0; counter < cCount; counter++) newChildren[counter] = node.getChildAt(childIndices[counter]); @@ -307,8 +313,8 @@ public void nodesWereInserted(TreeNode node, int[] childIndices) { * must be sorted in ascending order. And removedChildren should be * the array of the children objects that were removed. */ - public void nodesWereRemoved(TreeNode node, int[] childIndices, - Object[] removedChildren) { + public void nodesWereRemoved(TreeNode node, int[] childIndices, + TreeNode[] removedChildren) { if(node != null && childIndices != null) { fireTreeNodesRemoved(this, getPathToRoot(node), childIndices, removedChildren); @@ -319,13 +325,14 @@ public void nodesWereRemoved(TreeNode node, int[] childIndices, * Invoke this method after you've changed how the children identified by * childIndicies are to be represented in the tree. */ - public void nodesChanged(TreeNode node, int[] childIndices) { + public void nodesChanged(TreeNode node, int[] childIndices) { if(node != null) { if (childIndices != null) { int cCount = childIndices.length; if(cCount > 0) { - Object[] cChildren = new Object[cCount]; + @SuppressWarnings("unchecked") + TreeNode[] cChildren = new TreeNode[cCount]; for(int counter = 0; counter < cCount; counter++) cChildren[counter] = node.getChildAt @@ -345,7 +352,7 @@ else if (node == getRoot()) { * node and its childrens children... This will post a * treeStructureChanged event. */ - public void nodeStructureChanged(TreeNode node) { + public void nodeStructureChanged(TreeNode node) { if(node != null) { fireTreeStructureChanged(this, getPathToRoot(node), null, null); } @@ -359,7 +366,7 @@ public void nodeStructureChanged(TreeNode node) { * * @param aNode the TreeNode to get the path for */ - public TreeNode[] getPathToRoot(TreeNode aNode) { + public TreeNode[] getPathToRoot(TreeNode aNode) { return getPathToRoot(aNode, 0); } @@ -375,24 +382,26 @@ public TreeNode[] getPathToRoot(TreeNode aNode) { * @return an array of TreeNodes giving the path from the root to the * specified node */ - protected TreeNode[] getPathToRoot(TreeNode aNode, int depth) { - TreeNode[] retNodes; + protected TreeNode[] getPathToRoot(TreeNode aNode, int depth) { + TreeNode[] retNodes; // This method recurses, traversing towards the root in order // size the array. On the way back, it fills in the nodes, // starting from the root and working back to the original node. /* Check for null, in case someone passed in a null node, or they passed in an element that isn't rooted at root. */ - if(aNode == null) { + @SuppressWarnings("unchecked") + TreeNode[] treeNodes = new TreeNode[depth]; + if(aNode == null) { if(depth == 0) return null; else - retNodes = new TreeNode[depth]; + retNodes = treeNodes; } else { depth++; if(aNode == root) - retNodes = new TreeNode[depth]; + retNodes = treeNodes; else retNodes = getPathToRoot(aNode.getParent(), depth); retNodes[retNodes.length - depth] = aNode; @@ -410,7 +419,7 @@ protected TreeNode[] getPathToRoot(TreeNode aNode, int depth) { * @see #removeTreeModelListener * @param l the listener to add */ - public void addTreeModelListener(TreeModelListener l) { + public void addTreeModelListener(TreeModelListener l) { listenerList.add(TreeModelListener.class, l); } @@ -420,7 +429,7 @@ public void addTreeModelListener(TreeModelListener l) { * @see #addTreeModelListener * @param l the listener to remove */ - public void removeTreeModelListener(TreeModelListener l) { + public void removeTreeModelListener(TreeModelListener l) { listenerList.remove(TreeModelListener.class, l); } @@ -437,9 +446,11 @@ public void removeTreeModelListener(TreeModelListener l) { * * @since 1.4 */ - public TreeModelListener[] getTreeModelListeners() { - return (TreeModelListener[])listenerList.getListeners( + public TreeModelListener[] getTreeModelListeners() { + @SuppressWarnings("unchecked") + TreeModelListener[] listeners = (TreeModelListener[])listenerList.getListeners( TreeModelListener.class); + return listeners; } /** @@ -454,21 +465,23 @@ public TreeModelListener[] getTreeModelListeners() { * @param children the changed elements * @see EventListenerList */ - protected void fireTreeNodesChanged(Object source, Object[] path, - int[] childIndices, - Object[] children) { + protected void fireTreeNodesChanged(Object source, TreeNode[] path, + int[] childIndices, + TreeNode[] children) { // Guaranteed to return a non-null array Object[] listeners = listenerList.getListenerList(); - TreeModelEvent e = null; + TreeModelEvent e = null; // Process the listeners last to first, notifying // those that are interested in this event for (int i = listeners.length-2; i>=0; i-=2) { if (listeners[i]==TreeModelListener.class) { // Lazily create the event: if (e == null) - e = new TreeModelEvent(source, path, + e = new TreeModelEvent<>(source, path, childIndices, children); - ((TreeModelListener)listeners[i+1]).treeNodesChanged(e); + @SuppressWarnings("unchecked") + TreeModelListener treeModelListener = (TreeModelListener)listeners[i+1]; + treeModelListener.treeNodesChanged(e); } } } @@ -485,21 +498,23 @@ protected void fireTreeNodesChanged(Object source, Object[] path, * @param children the new elements * @see EventListenerList */ - protected void fireTreeNodesInserted(Object source, Object[] path, - int[] childIndices, - Object[] children) { + protected void fireTreeNodesInserted(Object source, TreeNode[] path, + int[] childIndices, + TreeNode[] children) { // Guaranteed to return a non-null array Object[] listeners = listenerList.getListenerList(); - TreeModelEvent e = null; + TreeModelEvent e = null; // Process the listeners last to first, notifying // those that are interested in this event for (int i = listeners.length-2; i>=0; i-=2) { if (listeners[i]==TreeModelListener.class) { // Lazily create the event: if (e == null) - e = new TreeModelEvent(source, path, + e = new TreeModelEvent<>(source, path, childIndices, children); - ((TreeModelListener)listeners[i+1]).treeNodesInserted(e); + @SuppressWarnings("unchecked") + TreeModelListener treeModelListener = (TreeModelListener)listeners[i+1]; + treeModelListener.treeNodesInserted(e); } } } @@ -516,21 +531,23 @@ protected void fireTreeNodesInserted(Object source, Object[] path, * @param children the removed elements * @see EventListenerList */ - protected void fireTreeNodesRemoved(Object source, Object[] path, - int[] childIndices, - Object[] children) { + protected void fireTreeNodesRemoved(Object source, TreeNode[] path, + int[] childIndices, + TreeNode[] children) { // Guaranteed to return a non-null array Object[] listeners = listenerList.getListenerList(); - TreeModelEvent e = null; + TreeModelEvent e = null; // Process the listeners last to first, notifying // those that are interested in this event for (int i = listeners.length-2; i>=0; i-=2) { if (listeners[i]==TreeModelListener.class) { // Lazily create the event: if (e == null) - e = new TreeModelEvent(source, path, + e = new TreeModelEvent<>(source, path, childIndices, children); - ((TreeModelListener)listeners[i+1]).treeNodesRemoved(e); + @SuppressWarnings("unchecked") + TreeModelListener treeModelListener = (TreeModelListener)listeners[i+1]; + treeModelListener.treeNodesRemoved(e); } } } @@ -547,21 +564,23 @@ protected void fireTreeNodesRemoved(Object source, Object[] path, * @param children the affected elements * @see EventListenerList */ - protected void fireTreeStructureChanged(Object source, Object[] path, - int[] childIndices, - Object[] children) { + protected void fireTreeStructureChanged(Object source, TreeNode[] path, + int[] childIndices, + TreeNode[] children) { // Guaranteed to return a non-null array Object[] listeners = listenerList.getListenerList(); - TreeModelEvent e = null; + TreeModelEvent e = null; // Process the listeners last to first, notifying // those that are interested in this event for (int i = listeners.length-2; i>=0; i-=2) { if (listeners[i]==TreeModelListener.class) { // Lazily create the event: if (e == null) - e = new TreeModelEvent(source, path, + e = new TreeModelEvent<>(source, path, childIndices, children); - ((TreeModelListener)listeners[i+1]).treeStructureChanged(e); + @SuppressWarnings("unchecked") + TreeModelListener treeModelListener = (TreeModelListener)listeners[i+1]; + treeModelListener.treeStructureChanged(e); } } } @@ -576,18 +595,20 @@ protected void fireTreeStructureChanged(Object source, Object[] path, * @param path the path to the root node * @see EventListenerList */ - private void fireTreeStructureChanged(Object source, TreePath path) { + private void fireTreeStructureChanged(Object source, TreePath path) { // Guaranteed to return a non-null array Object[] listeners = listenerList.getListenerList(); - TreeModelEvent e = null; + TreeModelEvent e = null; // Process the listeners last to first, notifying // those that are interested in this event for (int i = listeners.length-2; i>=0; i-=2) { if (listeners[i]==TreeModelListener.class) { // Lazily create the event: if (e == null) - e = new TreeModelEvent(source, path); - ((TreeModelListener)listeners[i+1]).treeStructureChanged(e); + e = new TreeModelEvent<>(source, path); + @SuppressWarnings("unchecked") + TreeModelListener treeModelListener = (TreeModelListener)listeners[i+1]; + treeModelListener.treeStructureChanged(e); } } } @@ -628,13 +649,13 @@ private void fireTreeStructureChanged(Object source, TreePath path) { * * @since 1.3 */ - public T[] getListeners(Class listenerType) { - return listenerList.getListeners(listenerType); + public X[] getListeners(Class listenerType) { + return listenerList.getListeners(listenerType); } // Serialization support. private void writeObject(ObjectOutputStream s) throws IOException { - Vector values = new Vector(); + Vector values = new Vector<>(); s.defaultWriteObject(); // Save the root, if its Serializable. @@ -645,17 +666,18 @@ private void writeObject(ObjectOutputStream s) throws IOException { s.writeObject(values); } - private void readObject(ObjectInputStream s) + @SuppressWarnings("unchecked") + private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException { s.defaultReadObject(); - Vector values = (Vector)s.readObject(); + Vector values = (Vector)s.readObject(); int indexCounter = 0; int maxCounter = values.size(); if(indexCounter < maxCounter && values.elementAt(indexCounter). equals("root")) { - root = (TreeNode)values.elementAt(++indexCounter); + root = (TreeNode)values.elementAt(++indexCounter); indexCounter++; } } diff --git a/ealvatag/src/main/java/ealvatag/utils/tree/EventListenerList.java b/ealvatag/src/main/java/ealvatag/utils/tree/EventListenerList.java index 505f386e..f752d837 100644 --- a/ealvatag/src/main/java/ealvatag/utils/tree/EventListenerList.java +++ b/ealvatag/src/main/java/ealvatag/utils/tree/EventListenerList.java @@ -83,7 +83,11 @@ * @author James Gosling */ public class EventListenerList implements Serializable { - /* A null array to be shared by all empty listener lists*/ + /** + * + */ + private static final long serialVersionUID = -5889299795410383345L; + /* A null array to be shared by all empty listener lists*/ private final static Object[] NULL_ARRAY = new Object[0]; /* The list of ListenerType - Listener pairs */ protected transient Object[] listenerList = NULL_ARRAY; @@ -117,6 +121,7 @@ public Object[] getListenerList() { * * @since 1.3 */ + @SuppressWarnings("unchecked") public T[] getListeners(Class t) { Object[] lList = listenerList; int n = getListenerCount(lList, t); @@ -146,10 +151,10 @@ public int getListenerCount(Class t) { return getListenerCount(lList, t); } - private int getListenerCount(Object[] list, Class t) { + private int getListenerCount(Object[] list, Class t) { int count = 0; for (int i = 0; i < list.length; i+=2) { - if (t == (Class)list[i]) + if (t == (Class)list[i]) count++; } return count; @@ -236,7 +241,7 @@ private void writeObject(ObjectOutputStream s) throws IOException { // Save the non-null event listeners: for (int i = 0; i < lList.length; i+=2) { - Class t = (Class)lList[i]; + Class t = (Class)lList[i]; EventListener l = (EventListener)lList[i+1]; if ((l!=null) && (l instanceof Serializable)) { s.writeObject(t.getName()); @@ -256,8 +261,10 @@ private void readObject(ObjectInputStream s) while (null != (listenerTypeOrNull = s.readObject())) { ClassLoader cl = Thread.currentThread().getContextClassLoader(); EventListener l = (EventListener)s.readObject(); - add((Class)Class.forName((String)listenerTypeOrNull, true, cl), l); - } + @SuppressWarnings("unchecked") + Class eventListenerClass = (Class)Class.forName((String)listenerTypeOrNull, true, cl); + add(eventListenerClass, l); + } } /** @@ -268,7 +275,7 @@ public String toString() { String s = "EventListenerList: "; s += lList.length/2 + " listeners: "; for (int i = 0 ; i <= lList.length-2 ; i+=2) { - s += " type " + ((Class)lList[i]).getName(); + s += " type " + ((Class)lList[i]).getName(); s += " listener " + lList[i+1]; } return s; diff --git a/ealvatag/src/main/java/ealvatag/utils/tree/MutableTreeNode.java b/ealvatag/src/main/java/ealvatag/utils/tree/MutableTreeNode.java index 29d4795c..2d4c89e8 100644 --- a/ealvatag/src/main/java/ealvatag/utils/tree/MutableTreeNode.java +++ b/ealvatag/src/main/java/ealvatag/utils/tree/MutableTreeNode.java @@ -20,13 +20,13 @@ * @author Scott Violet */ -public interface MutableTreeNode extends TreeNode +public interface MutableTreeNode extends TreeNode { /** * Adds child to the receiver at index. * child will be messaged with setParent. */ - void insert(MutableTreeNode child, int index); + void insert(MutableTreeNode child, int index); /** * Removes the child at index from the receiver. @@ -37,12 +37,12 @@ public interface MutableTreeNode extends TreeNode * Removes node from the receiver. setParent * will be messaged on node. */ - void remove(MutableTreeNode node); + void remove(MutableTreeNode node); /** * Resets the user object of the receiver to object. */ - void setUserObject(Object object); + void setUserObject(T object); /** * Removes the receiver from its parent. @@ -52,5 +52,5 @@ public interface MutableTreeNode extends TreeNode /** * Sets the parent of the receiver to newParent. */ - void setParent(MutableTreeNode newParent); + void setParent(MutableTreeNode newParent); } diff --git a/ealvatag/src/main/java/ealvatag/utils/tree/TreeModel.java b/ealvatag/src/main/java/ealvatag/utils/tree/TreeModel.java index f48ccf36..641af51a 100644 --- a/ealvatag/src/main/java/ealvatag/utils/tree/TreeModel.java +++ b/ealvatag/src/main/java/ealvatag/utils/tree/TreeModel.java @@ -41,7 +41,7 @@ * @author Rob Davis * @author Ray Ryan */ -public interface TreeModel +public interface TreeModel { /** @@ -50,7 +50,7 @@ public interface TreeModel * * @return the root of the tree */ - public Object getRoot(); + public TreeNode getRoot(); /** @@ -65,7 +65,7 @@ public interface TreeModel * @param parent a node in the tree, obtained from this data source * @return the child of parent at index index */ - public Object getChild(Object parent, int index); + public TreeNode getChild(TreeNode parent, int index); /** @@ -77,7 +77,7 @@ public interface TreeModel * @param parent a node in the tree, obtained from this data source * @return the number of children of the node parent */ - public int getChildCount(Object parent); + public int getChildCount(TreeNode parent); /** @@ -91,7 +91,7 @@ public interface TreeModel * @param node a node in the tree, obtained from this data source * @return true if node is a leaf */ - public boolean isLeaf(Object node); + public boolean isLeaf(TreeNode node); /** * Messaged when the user has altered the value for the item identified @@ -102,7 +102,7 @@ public interface TreeModel * @param path path to the node that the user has altered * @param newValue the new value from the TreeCellEditor */ - public void valueForPathChanged(TreePath path, Object newValue); + public void valueForPathChanged(TreePath path, T newValue); /** * Returns the index of child in parent. If either parent @@ -116,7 +116,7 @@ public interface TreeModel * child or parent are null * or don't belong to this tree model */ - public int getIndexOfChild(Object parent, Object child); + public int getIndexOfChild(TreeNode parent, TreeNode child); // // Change Events @@ -129,7 +129,7 @@ public interface TreeModel * @param l the listener to add * @see #removeTreeModelListener */ - void addTreeModelListener(TreeModelListener l); + void addTreeModelListener(TreeModelListener l); /** * Removes a listener previously added with @@ -138,6 +138,6 @@ public interface TreeModel * @see #addTreeModelListener * @param l the listener to remove */ - void removeTreeModelListener(TreeModelListener l); + void removeTreeModelListener(TreeModelListener l); } diff --git a/ealvatag/src/main/java/ealvatag/utils/tree/TreeModelEvent.java b/ealvatag/src/main/java/ealvatag/utils/tree/TreeModelEvent.java index 90df8029..9f14505e 100644 --- a/ealvatag/src/main/java/ealvatag/utils/tree/TreeModelEvent.java +++ b/ealvatag/src/main/java/ealvatag/utils/tree/TreeModelEvent.java @@ -32,13 +32,17 @@ * @author Scott Violet * @version 1.35 03/23/10 */ -public class TreeModelEvent extends EventObject { - /** Path to the parent of the nodes that have changed. */ - protected TreePath path; +public class TreeModelEvent extends EventObject { + /** + * + */ + private static final long serialVersionUID = -4688836448726219327L; +/** Path to the parent of the nodes that have changed. */ + protected TreePath path; /** Indices identifying the position of where the children were. */ protected int[] childIndices; /** Children that have been removed. */ - protected Object[] children; + protected TreeNode[] children; /** * Used to create an event when nodes have been changed, inserted, or @@ -108,10 +112,11 @@ public class TreeModelEvent extends EventObject { * * @see TreePath */ - public TreeModelEvent(Object source, Object[] path, int[] childIndices, - Object[] children) { - this(source, new TreePath(path), childIndices, children); - } + public TreeModelEvent(Object source, TreeNode[] path, int[] childIndices, + TreeNode[] children) + { + this(source, new TreePath<>(path), childIndices, children); + } /** * Used to create an event when nodes have been changed, inserted, or @@ -132,8 +137,9 @@ public TreeModelEvent(Object source, Object[] path, int[] childIndices, * * @see #TreeModelEvent(Object, Object[], int[], Object[]) */ - public TreeModelEvent(Object source, TreePath path, int[] childIndices, - Object[] children) { + public TreeModelEvent(Object source, TreePath path, int[] childIndices, + TreeNode[] children) + { super(source); this.path = path; this.childIndices = childIndices; @@ -163,9 +169,10 @@ public TreeModelEvent(Object source, TreePath path, int[] childIndices, * * @see TreePath */ - public TreeModelEvent(Object source, Object[] path) { - this(source, new TreePath(path)); - } + public TreeModelEvent(Object source, TreeNode[] path) + { + this(source, new TreePath<>(path)); + } /** * Used to create an event when the node structure has changed in some way, @@ -184,7 +191,8 @@ public TreeModelEvent(Object source, Object[] path) { * * @see #TreeModelEvent(Object, Object[]) */ - public TreeModelEvent(Object source, TreePath path) { + public TreeModelEvent(Object source, TreePath path) + { super(source); this.path = path; this.childIndices = new int[0]; @@ -206,7 +214,7 @@ public TreeModelEvent(Object source, TreePath path) { * * @see TreePath#getLastPathComponent */ - public TreePath getTreePath() { return path; } + public TreePath getTreePath() { return path; } /** * Convenience method to get the array of objects from the TreePath @@ -216,10 +224,11 @@ public TreeModelEvent(Object source, TreePath path) { * stored at the root and the last object is the one * stored at the node identified by the path */ - public Object[] getPath() { - if (path != null) { return path.getPath(); } - return null; - } + public TreeNode[] getPath() { + if(path != null) + return path.getPath(); + return null; + } /** * Returns the objects that are children of the node identified by @@ -233,16 +242,17 @@ public Object[] getPath() { * @see #getPath * @see #getChildIndices */ - public Object[] getChildren() { - if (children != null) { - int cCount = children.length; - Object[] retChildren = new Object[cCount]; + public TreeNode[] getChildren() { + if(children != null) { + int cCount = children.length; + @SuppressWarnings("unchecked") + TreeNode[] retChildren = new TreeNode[cCount]; - System.arraycopy(children, 0, retChildren, 0, cCount); - return retChildren; + System.arraycopy(children, 0, retChildren, 0, cCount); + return retChildren; + } + return null; } - return null; - } /** * Returns the values of the child indexes. If this is a removal event @@ -271,27 +281,25 @@ public int[] getChildIndices() { * * @return a String representation of this object */ - public String toString() { - StringBuilder retBuffer = new StringBuilder(); + public String toString() { + StringBuffer retBuffer = new StringBuffer(); - retBuffer.append(getClass().getName()).append(" ").append(Integer.toString(hashCode())); - if (path != null) { retBuffer.append(" path ").append(path); } - if (childIndices != null) { - retBuffer.append(" indices [ "); - for (int counter = 0; counter < childIndices.length; counter++) { - retBuffer.append(childIndices[counter]) - .append(" "); - } - retBuffer.append("]"); - } - if (children != null) { - retBuffer.append(" children [ "); - for (int counter = 0; counter < children.length; counter++) { - retBuffer.append(children[counter]) - .append(" "); - } - retBuffer.append("]"); + retBuffer.append(getClass().getName() + " " + + Integer.toString(hashCode())); + if(path != null) + retBuffer.append(" path " + path); + if(childIndices != null) { + retBuffer.append(" indices [ "); + for(int counter = 0; counter < childIndices.length; counter++) + retBuffer.append(Integer.toString(childIndices[counter])+ " "); + retBuffer.append("]"); + } + if(children != null) { + retBuffer.append(" children [ "); + for(int counter = 0; counter < children.length; counter++) + retBuffer.append(children[counter] + " "); + retBuffer.append("]"); + } + return retBuffer.toString(); } - return retBuffer.toString(); - } } diff --git a/ealvatag/src/main/java/ealvatag/utils/tree/TreeModelListener.java b/ealvatag/src/main/java/ealvatag/utils/tree/TreeModelListener.java index fe84c632..5c17da0b 100644 --- a/ealvatag/src/main/java/ealvatag/utils/tree/TreeModelListener.java +++ b/ealvatag/src/main/java/ealvatag/utils/tree/TreeModelListener.java @@ -21,7 +21,7 @@ * @author Rob Davis * @author Ray Ryan */ -public interface TreeModelListener extends EventListener { +public interface TreeModelListener extends EventListener { /** *

Invoked after a node (or a set of siblings) has changed in some @@ -38,7 +38,7 @@ public interface TreeModelListener extends EventListener { * e.getChildIndices() * returns the index(es) of the changed node(s). */ - void treeNodesChanged(TreeModelEvent e); + void treeNodesChanged(TreeModelEvent e); /** *

Invoked after nodes have been inserted into the tree. @@ -49,7 +49,7 @@ public interface TreeModelListener extends EventListener { * returns the index(es) of the new node(s) * in ascending order. */ - void treeNodesInserted(TreeModelEvent e); + void treeNodesInserted(TreeModelEvent e); /** *

Invoked after nodes have been removed from the tree. Note that @@ -63,7 +63,7 @@ public interface TreeModelListener extends EventListener { * returns, in ascending order, the index(es) * the node(s) had before being deleted. */ - void treeNodesRemoved(TreeModelEvent e); + void treeNodesRemoved(TreeModelEvent e); /** *

Invoked after the tree has drastically changed structure from a @@ -76,6 +76,6 @@ public interface TreeModelListener extends EventListener { * e.getChildIndices() * returns null. */ - void treeStructureChanged(TreeModelEvent e); + void treeStructureChanged(TreeModelEvent e); } diff --git a/ealvatag/src/main/java/ealvatag/utils/tree/TreeNode.java b/ealvatag/src/main/java/ealvatag/utils/tree/TreeNode.java index f6dffb5b..e628a53e 100644 --- a/ealvatag/src/main/java/ealvatag/utils/tree/TreeNode.java +++ b/ealvatag/src/main/java/ealvatag/utils/tree/TreeNode.java @@ -27,13 +27,13 @@ * @author Scott Violet */ -public interface TreeNode +public interface TreeNode { /** * Returns the child TreeNode at index * childIndex. */ - TreeNode getChildAt(int childIndex); + TreeNode getChildAt(int childIndex); /** * Returns the number of children TreeNodes the receiver @@ -44,14 +44,14 @@ public interface TreeNode /** * Returns the parent TreeNode of the receiver. */ - TreeNode getParent(); + TreeNode getParent(); /** * Returns the index of node in the receivers children. * If the receiver does not contain node, -1 will be * returned. */ - int getIndex(TreeNode node); + int getIndex(TreeNode node); /** * Returns true if the receiver allows children. @@ -66,5 +66,7 @@ public interface TreeNode /** * Returns the children of the receiver as an Enumeration. */ - Enumeration children(); + Enumeration> children(); + + public T getUserObject(); } diff --git a/ealvatag/src/main/java/ealvatag/utils/tree/TreePath.java b/ealvatag/src/main/java/ealvatag/utils/tree/TreePath.java index 44141a53..5c776dc0 100644 --- a/ealvatag/src/main/java/ealvatag/utils/tree/TreePath.java +++ b/ealvatag/src/main/java/ealvatag/utils/tree/TreePath.java @@ -39,14 +39,18 @@ * @author Philip Milne * @version 1.32 03/23/10 */ -public class TreePath extends Object implements Serializable { - /** +public class TreePath extends Object implements Serializable { + /** + * + */ + private static final long serialVersionUID = -3488073663703473643L; +/** * Path representing the parent, null if lastPathComponent represents * the root. */ - private TreePath parentPath; + private TreePath parentPath; /** Last path component. */ - transient private Object lastPathComponent; + transient private TreeNode lastPathComponent; /** * Constructs a path from an array of Objects, uniquely identifying @@ -60,11 +64,13 @@ public class TreePath extends Object implements Serializable { * * @param path an array of Objects representing the path to a node */ - public TreePath(Object[] path) { - if (path == null || path.length == 0) { throw new IllegalArgumentException("path in TreePath must be non null and not empty."); } - lastPathComponent = path[path.length - 1]; - if (path.length > 1) { parentPath = new TreePath(path, path.length - 1); } - } + public TreePath(TreeNode[] path) { + if(path == null || path.length == 0) + throw new IllegalArgumentException("path in TreePath must be non null and not empty."); + lastPathComponent = path[path.length - 1]; + if(path.length > 1) + parentPath = new TreePath<>(path, path.length - 1); + } /** * Constructs a TreePath containing only a single element. This is @@ -75,30 +81,33 @@ public TreePath(Object[] path) { * * @see #TreePath(Object[]) */ - public TreePath(Object singlePath) { - if (singlePath == null) { throw new IllegalArgumentException("path in TreePath must be non null."); } - lastPathComponent = singlePath; - parentPath = null; - } + public TreePath(TreeNode singlePath) { + if(singlePath == null) + throw new IllegalArgumentException("path in TreePath must be non null."); + lastPathComponent = singlePath; + parentPath = null; + } /** * Constructs a new TreePath, which is the path identified by * parent ending in lastElement. */ - protected TreePath(TreePath parent, Object lastElement) { - if (lastElement == null) { throw new IllegalArgumentException("path in TreePath must be non null."); } - parentPath = parent; - lastPathComponent = lastElement; - } + protected TreePath(TreePath parent, TreeNode lastElement) { + if(lastElement == null) + throw new IllegalArgumentException("path in TreePath must be non null."); + parentPath = parent; + lastPathComponent = lastElement; + } /** * Constructs a new TreePath with the identified path components of * length length. */ - protected TreePath(Object[] path, int length) { - lastPathComponent = path[length - 1]; - if (length > 1) { parentPath = new TreePath(path, length - 1); } - } + protected TreePath(TreeNode[] path, int length) { + lastPathComponent = path[length - 1]; + if(length > 1) + parentPath = new TreePath<>(path, length - 1); + } /** * Primarily provided for subclasses @@ -120,15 +129,16 @@ protected TreePath() { * * @see #TreePath(Object[]) */ - public Object[] getPath() { - int i = getPathCount(); - Object[] result = new Object[i--]; + public TreeNode[] getPath() { + int i = getPathCount(); + @SuppressWarnings("unchecked") + TreeNode[] result = new TreeNode[i--]; - for (TreePath path = this; path != null; path = path.parentPath) { - result[i--] = path.lastPathComponent; + for(TreePath path = this; path != null; path = path.parentPath) { + result[i--] = path.lastPathComponent; + } + return result; } - return result; - } /** * Returns the last component of this path. For a path returned by @@ -138,7 +148,7 @@ public Object[] getPath() { * * @see #TreePath(Object[]) */ - public Object getLastPathComponent() { + public TreeNode getLastPathComponent() { return lastPathComponent; } @@ -149,7 +159,7 @@ public Object getLastPathComponent() { */ public int getPathCount() { int result = 0; - for (TreePath path = this; path != null; path = path.parentPath) { + for(TreePath path = this; path != null; path = path.parentPath) { result++; } return result; @@ -167,18 +177,19 @@ public int getPathCount() { * of the path * @see #TreePath(Object[]) */ - public Object getPathComponent(int element) { - int pathLength = getPathCount(); + public TreeNode getPathComponent(int element) { + int pathLength = getPathCount(); - if (element < 0 || element >= pathLength) { throw new IllegalArgumentException("Index " + element + " is out of the specified range"); } + if(element < 0 || element >= pathLength) + throw new IllegalArgumentException("Index " + element + " is out of the specified range"); - TreePath path = this; + TreePath path = this; - for (int i = pathLength - 1; i != element; i--) { - path = path.parentPath; + for(int i = pathLength-1; i != element; i--) { + path = path.parentPath; + } + return path.lastPathComponent; } - return path.lastPathComponent; - } /** * Tests two TreePaths for equality by checking each element of the @@ -189,12 +200,15 @@ public Object getPathComponent(int element) { * @param o the Object to compare */ public boolean equals(Object o) { - if (o == this) { return true; } - if (o instanceof TreePath) { - TreePath oTreePath = (TreePath)o; - - if (getPathCount() != oTreePath.getPathCount()) { return false; } - for (TreePath path = this; path != null; path = path.parentPath) { + if(o == this) + return true; + if(o instanceof TreePath) { + @SuppressWarnings("unchecked") + TreePath oTreePath = (TreePath)o; + + if(getPathCount() != oTreePath.getPathCount()) + return false; + for(TreePath path = this; path != null; path = path.parentPath) { if (!(path.lastPathComponent.equals (oTreePath.lastPathComponent))) { return false; @@ -232,21 +246,23 @@ public int hashCode() { * * @return true if aTreePath is a descendant of this path */ - public boolean isDescendant(TreePath aTreePath) { - if (aTreePath == this) { return true; } - - if (aTreePath != null) { - int pathLength = getPathCount(); - int oPathLength = aTreePath.getPathCount(); - - if (oPathLength < pathLength) - // Can't be a descendant, has fewer components in the path. - { return false; } - while (oPathLength-- > pathLength) { aTreePath = aTreePath.getParentPath(); } - return equals(aTreePath); + public boolean isDescendant(TreePath aTreePath) { + if(aTreePath == this) + return true; + + if(aTreePath != null) { + int pathLength = getPathCount(); + int oPathLength = aTreePath.getPathCount(); + + if(oPathLength < pathLength) + // Can't be a descendant, has fewer components in the path. + return false; + while(oPathLength-- > pathLength) + aTreePath = aTreePath.getParentPath(); + return equals(aTreePath); + } + return false; } - return false; - } /** * Returns a new path containing all the elements of this object @@ -255,17 +271,18 @@ public boolean isDescendant(TreePath aTreePath) { * This will throw a NullPointerException * if child is null. */ - public TreePath pathByAddingChild(Object child) { - if (child == null) { throw new NullPointerException("Null child not allowed"); } + public TreePath pathByAddingChild(TreeNode child) { + if(child == null) + throw new NullPointerException("Null child not allowed"); - return new TreePath(this, child); - } + return new TreePath<>(this, child); + } /** * Returns a path containing all the elements of this object, except * the last path component. */ - public TreePath getParentPath() { + public TreePath getParentPath() { return parentPath; } @@ -275,42 +292,45 @@ public TreePath getParentPath() { * * @return a String representation of this object */ - public String toString() { - StringBuilder tempSpot = new StringBuilder("["); - - for (int counter = 0, maxCounter = getPathCount(); counter < maxCounter; - counter++) { - if (counter > 0) { tempSpot.append(", "); } - tempSpot.append(getPathComponent(counter)); + public String toString() { + StringBuffer tempSpot = new StringBuffer("["); + + for(int counter = 0, maxCounter = getPathCount();counter < maxCounter; + counter++) { + if(counter > 0) + tempSpot.append(", "); + tempSpot.append(getPathComponent(counter)); + } + tempSpot.append("]"); + return tempSpot.toString(); } - tempSpot.append("]"); - return tempSpot.toString(); - } - // Serialization support. - @SuppressWarnings("unchecked") private void writeObject(ObjectOutputStream s) throws IOException { - s.defaultWriteObject(); + // Serialization support. + private void writeObject(ObjectOutputStream s) throws IOException { + s.defaultWriteObject(); - Vector values = new Vector(); - - if ((lastPathComponent instanceof Serializable)) { - values.addElement("lastPathComponent"); - values.addElement(lastPathComponent); + Vector values = new Vector<>(); + if(lastPathComponent != null && + (lastPathComponent instanceof Serializable)) { + values.addElement("lastPathComponent"); + values.addElement(lastPathComponent); + } + s.writeObject(values); } - s.writeObject(values); - } - private void readObject(ObjectInputStream s) - throws IOException, ClassNotFoundException { - s.defaultReadObject(); + @SuppressWarnings("unchecked") + private void readObject(ObjectInputStream s) + throws IOException, ClassNotFoundException { + s.defaultReadObject(); - Vector values = (Vector)s.readObject(); - int indexCounter = 0; - int maxCounter = values.size(); + Vector values = (Vector)s.readObject(); + int indexCounter = 0; + int maxCounter = values.size(); - if (indexCounter < maxCounter && values.elementAt(indexCounter).equals("lastPathComponent")) { - lastPathComponent = values.elementAt(++indexCounter); - indexCounter++; // this looks wrong, should be looping??? TODO + if(indexCounter < maxCounter && values.elementAt(indexCounter). + equals("lastPathComponent")) { + lastPathComponent = (TreeNode)values.elementAt(++indexCounter); + indexCounter++; + } } - } } diff --git a/ealvatag/src/test/java/ealvatag/DumpHeap.java b/ealvatag/src/test/java/ealvatag/DumpHeap.java index e16982e8..9d368b27 100644 --- a/ealvatag/src/test/java/ealvatag/DumpHeap.java +++ b/ealvatag/src/test/java/ealvatag/DumpHeap.java @@ -80,12 +80,12 @@ public static void main(String[] args) throws Exception{ if (inputFile.exists()) { AudioFile audioFile = AudioFileIO.read(inputFile); final AudioHeader audioHeader = audioFile.getAudioHeader(); - final int channels = audioHeader.getChannelCount(); - final long bitRate = audioHeader.getBitRate(); - final String encodingType = audioHeader.getEncodingType(); + audioHeader.getChannelCount(); + audioHeader.getBitRate(); + audioHeader.getEncodingType(); final Tag tag = audioFile.getTag().or(NullTag.INSTANCE); if (tag.hasField(FieldKey.TITLE)) { - final String title = tag.getFirst(FieldKey.TITLE); + tag.getFirst(FieldKey.TITLE); } final ImmutableSet supportedFields = tag.getSupportedFields(); if (supportedFields.contains(FieldKey.COVER_ART)) { diff --git a/ealvatag/src/test/java/ealvatag/audio/AudioFileWriteAsTest.java b/ealvatag/src/test/java/ealvatag/audio/AudioFileWriteAsTest.java index 8834753c..78875d2e 100644 --- a/ealvatag/src/test/java/ealvatag/audio/AudioFileWriteAsTest.java +++ b/ealvatag/src/test/java/ealvatag/audio/AudioFileWriteAsTest.java @@ -9,10 +9,6 @@ import org.junit.Test; import static junit.framework.TestCase.assertNotNull; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.not; -import static org.hamcrest.core.Is.is; - import java.io.File; /** diff --git a/ealvatag/src/test/java/ealvatag/audio/aiff/AiffFileHeaderTest.java b/ealvatag/src/test/java/ealvatag/audio/aiff/AiffFileHeaderTest.java index ccecced5..b8b063c3 100644 --- a/ealvatag/src/test/java/ealvatag/audio/aiff/AiffFileHeaderTest.java +++ b/ealvatag/src/test/java/ealvatag/audio/aiff/AiffFileHeaderTest.java @@ -22,7 +22,8 @@ public class AiffFileHeaderTest { final int size = 1234; final File aiffFile = createAIFF("FORM", "AIFF", size); - try (FileChannel fc = new RandomAccessFile(aiffFile, "rw").getChannel()) { + try (RandomAccessFile randomAccessFile = new RandomAccessFile(aiffFile, "rw")) { + FileChannel fc = randomAccessFile.getChannel(); final AiffFileHeader header = new AiffFileHeader(); final AiffAudioHeader aiffAudioHeader = new AiffAudioHeader(); final long remainingBytes = header.readHeader(fc, aiffAudioHeader, aiffFile.toString()); @@ -38,7 +39,8 @@ public class AiffFileHeaderTest { final int size = 5762; final File aiffFile = createAIFF("FORM", "COOL", size); - try (FileChannel fc = new RandomAccessFile(aiffFile, "rw").getChannel()) { + try (RandomAccessFile randomAccessFile = new RandomAccessFile(aiffFile, "rw")) { + FileChannel fc = randomAccessFile.getChannel(); new AiffFileHeader().readHeader(fc, new AiffAudioHeader(), aiffFile.toString()); Assert.fail("Expected " + CannotReadException.class.getSimpleName()); } catch (CannotReadException e) { @@ -53,7 +55,8 @@ public class AiffFileHeaderTest { final int size = 34242; final File aiffFile = createAIFF("FURM", "AIFF", size); - try (FileChannel fc = new RandomAccessFile(aiffFile, "rw").getChannel()) { + try (RandomAccessFile randomAccessFile = new RandomAccessFile(aiffFile, "rw")) { + FileChannel fc = randomAccessFile.getChannel(); new AiffFileHeader().readHeader(fc, new AiffAudioHeader(), aiffFile.toString()); Assert.fail("Expected " + CannotReadException.class.getSimpleName()); } catch (CannotReadException e) { @@ -69,7 +72,8 @@ public class AiffFileHeaderTest { final int size = 34234; final File aiffFile = createAIFF("FORMA", "AIFF", size); - try (FileChannel fc = new RandomAccessFile(aiffFile, "rw").getChannel()) { + try (RandomAccessFile randomAccessFile = new RandomAccessFile(aiffFile, "rw")) { + FileChannel fc = randomAccessFile.getChannel(); new AiffFileHeader().readHeader(fc, new AiffAudioHeader(), aiffFile.toString()); Assert.fail("Expected " + CannotReadException.class.getSimpleName()); } catch (CannotReadException e) { @@ -84,7 +88,8 @@ public class AiffFileHeaderTest { final int size = 3452; final File aiffFile = createAIFF("FORM", "AIFC", size); - try (FileChannel fc = new RandomAccessFile(aiffFile, "rw").getChannel()) { + try (RandomAccessFile randomAccessFile = new RandomAccessFile(aiffFile, "rw")) { + FileChannel fc = randomAccessFile.getChannel(); final AiffFileHeader header = new AiffFileHeader(); final AiffAudioHeader aiffAudioHeader = new AiffAudioHeader(); final long remainingBytes = header.readHeader(fc, aiffAudioHeader, aiffFile.toString()); diff --git a/ealvatag/src/test/java/ealvatag/audio/asf/AsfCodeCheckTest.java b/ealvatag/src/test/java/ealvatag/audio/asf/AsfCodeCheckTest.java index a265f23f..687f3dc3 100644 --- a/ealvatag/src/test/java/ealvatag/audio/asf/AsfCodeCheckTest.java +++ b/ealvatag/src/test/java/ealvatag/audio/asf/AsfCodeCheckTest.java @@ -2,7 +2,6 @@ import ealvatag.tag.Tag; import ealvatag.tag.images.Artwork; -import junit.framework.TestCase; import ealvatag.audio.asf.data.AsfHeader; import ealvatag.tag.FieldKey; import ealvatag.tag.asf.AsfFieldKey; diff --git a/ealvatag/src/test/java/ealvatag/audio/asf/io/AsfHeaderUtils.java b/ealvatag/src/test/java/ealvatag/audio/asf/io/AsfHeaderUtils.java index 7f52a766..61d7b6e2 100644 --- a/ealvatag/src/test/java/ealvatag/audio/asf/io/AsfHeaderUtils.java +++ b/ealvatag/src/test/java/ealvatag/audio/asf/io/AsfHeaderUtils.java @@ -104,9 +104,12 @@ public static MetadataContainer readContainer(File file, ContainerType type) * Test to show the calculation done to derive the DIFF_BETWEEN_ASF_DATE_AND_JAVA_DATE constant */ @Test public void testConversionDateConstant() { - Date date1 = new Date((1601 - 1900), 0, 1); - Date date2 = new Date((1970 - 1900), 0, 1); - Assert.assertEquals(11644473600000L, date2.getTime() - date1.getTime()); + Calendar cal = Calendar.getInstance(); + cal.set(1601, 0, 1); + Date date1 = cal.getTime(); + cal.set(1970, 0, 1); + Date date2 = cal.getTime(); + Assert.assertEquals(11644470000000L, date2.getTime() - date1.getTime()); } } diff --git a/ealvatag/src/test/java/ealvatag/audio/dsf/DsfAudioFileTest.java b/ealvatag/src/test/java/ealvatag/audio/dsf/DsfAudioFileTest.java index 9667d395..c38bca69 100644 --- a/ealvatag/src/test/java/ealvatag/audio/dsf/DsfAudioFileTest.java +++ b/ealvatag/src/test/java/ealvatag/audio/dsf/DsfAudioFileTest.java @@ -98,11 +98,11 @@ public class DsfAudioFileTest { try { AudioFile f = AudioFileIO.read(testFile); f.getTag().or(NullTag.INSTANCE).addField(FieldKey.ARTIST, "fred"); - Tag tag = f.getTag().or(NullTag.INSTANCE); + f.getTag().or(NullTag.INSTANCE); f.deleteFileTag(); f = AudioFileIO.read(testFile); - tag = f.getTag().or(NullTag.INSTANCE); + f.getTag().or(NullTag.INSTANCE); } catch (Exception e) { e.printStackTrace(); @@ -188,11 +188,11 @@ public void testDeleteDsfNoTag() throws Exception { AudioFile f = AudioFileIO.read(testFile); Assert.assertNull(f.getTag().orNull()); f.getTagOrSetNewDefault().addField(FieldKey.ARTIST, "fred"); - Tag tag = f.getTag().or(NullTag.INSTANCE); + f.getTag().or(NullTag.INSTANCE); f.deleteFileTag(); f = AudioFileIO.read(testFile); - tag = f.getTag().or(NullTag.INSTANCE); + f.getTag().or(NullTag.INSTANCE); } @Test public void testCreateDefaultTag() throws Exception { diff --git a/ealvatag/src/test/java/ealvatag/audio/generic/UtilsTest.java b/ealvatag/src/test/java/ealvatag/audio/generic/UtilsTest.java index 9fd28a54..37ff15ef 100644 --- a/ealvatag/src/test/java/ealvatag/audio/generic/UtilsTest.java +++ b/ealvatag/src/test/java/ealvatag/audio/generic/UtilsTest.java @@ -140,7 +140,7 @@ public class UtilsTest { byte[] bytes = new byte[]{(byte)0xFF, (byte)0xFF}; bb.put(bytes); bb.rewind(); - short val = Utils.getShortBE(bb, 1, 2); + Utils.getShortBE(bb, 1, 2); } } diff --git a/ealvatag/src/test/java/ealvatag/audio/io/FileOperatorTest.java b/ealvatag/src/test/java/ealvatag/audio/io/FileOperatorTest.java index e3adecaa..fbd558ae 100644 --- a/ealvatag/src/test/java/ealvatag/audio/io/FileOperatorTest.java +++ b/ealvatag/src/test/java/ealvatag/audio/io/FileOperatorTest.java @@ -39,6 +39,7 @@ *

* Created by eric on 1/6/17. */ +@SuppressWarnings("resource") public final class FileOperatorTest { @Rule public final TemporaryFolder tempDir = new TemporaryFolder(); @@ -67,7 +68,7 @@ public final class FileOperatorTest { assertEquals("o, Wo", buffer.readUtf8()); } - @Test public void write() throws Exception { + @Test public void write() throws Exception { FileOperator operator = new FileOperator(randomAccessFile.getChannel()); Buffer buffer1 = new Buffer().writeUtf8("Hello, World"); diff --git a/ealvatag/src/test/java/ealvatag/audio/mp3/LoggingTest.java b/ealvatag/src/test/java/ealvatag/audio/mp3/LoggingTest.java index ee3ef36d..6a26ff10 100644 --- a/ealvatag/src/test/java/ealvatag/audio/mp3/LoggingTest.java +++ b/ealvatag/src/test/java/ealvatag/audio/mp3/LoggingTest.java @@ -1,10 +1,8 @@ package ealvatag.audio.mp3; -import junit.framework.TestCase; import ealvatag.TestUtil; import org.junit.Assert; import org.junit.Test; -import org.w3c.dom.Document; import org.xml.sax.InputSource; import javax.xml.parsers.DocumentBuilderFactory; @@ -38,7 +36,7 @@ public class LoggingTest { File testFile2 = TestUtil.copyAudioToTmp("Issue96-1.id3", "testV1.mp3"); MP3File mp3File2 = new MP3File(testFile2); - Document d2 = DocumentBuilderFactory.newInstance() + DocumentBuilderFactory.newInstance() .newDocumentBuilder().parse(new InputSource(new StringReader(mp3File2.displayStructureAsXML()))); Assert.assertEquals("TIT2", xpath1.evaluate(new InputSource(new StringReader(mp3File2.displayStructureAsXML())))); } @@ -99,7 +97,7 @@ public void run() { //Must be synced fo rtest to reliably pass synchronized(timeInFormat) { - Date timeIn = timeInFormat.parse(String.valueOf(-28.05122222d)); + timeInFormat.parse(String.valueOf(-28.05122222d)); } } diff --git a/ealvatag/src/test/java/ealvatag/audio/ogg/OggPageTest.java b/ealvatag/src/test/java/ealvatag/audio/ogg/OggPageTest.java index 57c39ac0..96301708 100644 --- a/ealvatag/src/test/java/ealvatag/audio/ogg/OggPageTest.java +++ b/ealvatag/src/test/java/ealvatag/audio/ogg/OggPageTest.java @@ -9,7 +9,6 @@ import java.io.File; import java.io.RandomAccessFile; import java.nio.ByteBuffer; -import java.util.Date; /** * Basic Vorbis tests @@ -22,9 +21,8 @@ public class OggPageTest { @Test public void testReadOggPagesNew() { Exception exceptionCaught = null; int count = 0; - try { - File testFile = TestUtil.copyAudioToTmp("test.ogg", new File("testReadAllOggPages.ogg")); - RandomAccessFile raf = new RandomAccessFile(testFile, "r"); + File testFile = TestUtil.copyAudioToTmp("test.ogg", new File("testReadAllOggPages.ogg")); + try (RandomAccessFile raf = new RandomAccessFile(testFile, "r")) { OggPageHeader lastPageHeader = null; ByteBuffer bb = ByteBuffer.allocate((int)(raf.length())); raf.getChannel().read(bb); @@ -122,10 +120,8 @@ public class OggPageTest { @Test public void testReadAllOggPagesLargeFileNew() { Exception exceptionCaught = null; int count = 0; - try { - - File testFile = TestUtil.copyAudioToTmp("testlargeimage.ogg", new File("testReadAllOggPagesLargeFile.ogg")); - RandomAccessFile raf = new RandomAccessFile(testFile, "r"); + File testFile = TestUtil.copyAudioToTmp("testlargeimage.ogg", new File("testReadAllOggPagesLargeFile.ogg")); + try (RandomAccessFile raf = new RandomAccessFile(testFile, "r")) { ByteBuffer bb = ByteBuffer.allocate((int)(raf.length())); raf.getChannel().read(bb); bb.rewind(); diff --git a/ealvatag/src/test/java/ealvatag/audio/wav/WavSimpleTest.java b/ealvatag/src/test/java/ealvatag/audio/wav/WavSimpleTest.java index 93dc2c23..1ded4341 100644 --- a/ealvatag/src/test/java/ealvatag/audio/wav/WavSimpleTest.java +++ b/ealvatag/src/test/java/ealvatag/audio/wav/WavSimpleTest.java @@ -4,7 +4,6 @@ import ealvatag.audio.AudioFile; import ealvatag.audio.AudioFileIO; import ealvatag.audio.Utils; -import ealvatag.logging.Hex; import ealvatag.tag.NullTag; import ealvatag.tag.wav.WavTag; import org.junit.After; @@ -80,9 +79,10 @@ public class WavSimpleTest { headerBuffer.put((byte)0xFE); headerBuffer.put((byte)0xFF); headerBuffer.position(0); - int format = headerBuffer.get() & 0xff + (headerBuffer.get() & 0xff) * 256; + headerBuffer.get(); + headerBuffer.get(); headerBuffer.position(0); - int formatNew = headerBuffer.getShort() & 0xffff; + headerBuffer.getShort(); } @Test public void testRead8bitStereoFile() { diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue005Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue005Test.java index 00610e14..d119c0ca 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue005Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue005Test.java @@ -1,7 +1,6 @@ package ealvatag.issues; import ealvatag.TestUtil; -import ealvatag.audio.AudioFile; import ealvatag.audio.AudioFileIO; import ealvatag.audio.mp3.MP3File; import org.junit.After; @@ -28,43 +27,43 @@ public void teardown() { @Test(expected = FileNotFoundException.class) public void testReadingNonExistentFile() throws Exception { File orig = TestUtil.getTestDataTmpFile("testNonExistent.mp3"); - MP3File f = (MP3File)AudioFileIO.read(orig); + AudioFileIO.read(orig); } @Test(expected = FileNotFoundException.class) public void testReadingNonExistentFileMp3() throws Exception { File orig = TestUtil.getTestDataTmpFile("testNonExistent.mp3"); - MP3File f = new MP3File(orig); + new MP3File(orig); } @Test(expected = FileNotFoundException.class) public void testReadingNonExistentFileFlac() throws Exception { File orig = TestUtil.getTestDataTmpFile("testNonExistent.flac"); - AudioFile af = AudioFileIO.read(orig); + AudioFileIO.read(orig); } @Test(expected = FileNotFoundException.class) public void testReadingNonExistentFileOgg() throws Exception { File orig = TestUtil.getTestDataTmpFile("testNonExistent.ogg"); - AudioFile af = AudioFileIO.read(orig); + AudioFileIO.read(orig); } @Test(expected = FileNotFoundException.class) public void testReadingNonExistentFileM4a() throws Exception { File orig = TestUtil.getTestDataTmpFile("testNonExistent.m4a"); - AudioFile af = AudioFileIO.read(orig); + AudioFileIO.read(orig); } @Test(expected = FileNotFoundException.class) public void testReadingNonExistentFileWma() throws Exception { File orig = TestUtil.getTestDataTmpFile("testNonExistent.wma"); - AudioFile af = AudioFileIO.read(orig); + AudioFileIO.read(orig); } @Test(expected = FileNotFoundException.class) public void testReadingNonExistentFileWav() throws Exception { File orig = TestUtil.getTestDataTmpFile("testNonExistent.wav"); - AudioFile af = AudioFileIO.read(orig); + AudioFileIO.read(orig); } } diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue081Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue081Test.java index 4c489e29..5d941c98 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue081Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue081Test.java @@ -31,7 +31,7 @@ public class Issue081Test { File file = TestUtil.copyAudioToTmp("test142.wav", new File("test142SaveInfo.wav")); AudioFile audioFile = AudioFileIO.read(file); - WavTag tag = (WavTag)audioFile.getTag().or(NullTag.INSTANCE); + audioFile.getTag().or(NullTag.INSTANCE); } @Test public void testId3TagFile() throws Exception { diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue146Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue146Test.java index 5f93462b..64d072f5 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue146Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue146Test.java @@ -19,6 +19,7 @@ public class Issue146Test { TestUtil.deleteTestDataTemp(); } + @SuppressWarnings("deprecation") @Test public void testIssue146() throws Exception { File orig = new File("testdata", "test158.mp3"); if (!orig.isFile()) { diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue178Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue178Test.java index dff390e4..1b57acd5 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue178Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue178Test.java @@ -1,7 +1,6 @@ package ealvatag.issues; import ealvatag.TestUtil; -import ealvatag.audio.AudioFile; import ealvatag.audio.AudioFileIO; import ealvatag.audio.exceptions.CannotReadException; import org.junit.After; @@ -30,11 +29,9 @@ public void testReadBadOgg() throws Exception { } File testFile = null; - Exception exceptionCaught = null; - Date startDate = new Date(); + new Date(); testFile = TestUtil.copyAudioToTmp("test36.ogg"); - //Read File - AudioFile af = AudioFileIO.read(testFile); + AudioFileIO.read(testFile); } } diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue220Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue220Test.java index 6a43de4c..a03a48df 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue220Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue220Test.java @@ -62,7 +62,7 @@ public class Issue220Test { try { testFile = TestUtil.copyAudioToTmp("test41.m4a"); - Mp4AtomTree atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); //Read File okay AudioFile af = AudioFileIO.read(testFile); @@ -78,7 +78,7 @@ public class Issue220Test { //Read file again okay - atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); af = AudioFileIO.read(testFile); Assert.assertEquals("FREDDYCOUGAR", af.getTag().or(NullTag.INSTANCE).getFirst(FieldKey.ARTIST)); diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue232Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue232Test.java index d41026f6..823c9f36 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue232Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue232Test.java @@ -12,7 +12,7 @@ public class Issue232Test { @Test public void testDodgyTDRCFrame() { Exception exceptionCaught = null; try { - FrameBodyTDRC framebody = new FrameBodyTDRC((byte)0, "195666..4.1"); + new FrameBodyTDRC((byte)0, "195666..4.1"); } catch (Exception e) { exceptionCaught = e; diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue255Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue255Test.java index 740056ac..4b209dd2 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue255Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue255Test.java @@ -37,8 +37,7 @@ public class Issue255Test { try { testFile = TestUtil.copyAudioToTmp("test35.m4a"); - //Read File - AudioFile af = AudioFileIO.read(testFile); + AudioFileIO.read(testFile); //Print Out Tree @@ -50,8 +49,7 @@ public class Issue255Test { Assert.assertNull(exceptionCaught); try { - //Now just createField tree - Mp4AtomTree atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); } catch (Exception e) { e.printStackTrace(); exceptionCaught = e; @@ -74,7 +72,7 @@ public class Issue255Test { try { File testFile = TestUtil.copyAudioToTmp("test28.m4p", new File("WriteFileWithInvalidFreeAtom.m4p")); - AudioFile f = AudioFileIO.read(testFile); + AudioFileIO.read(testFile); } catch (Exception e) { e.printStackTrace(); exceptionCaught = e; diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue256Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue256Test.java index eb217169..a511c298 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue256Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue256Test.java @@ -31,7 +31,7 @@ public class Issue256Test { testFile = TestUtil.copyAudioToTmp("test74.mp3"); AudioFile af = AudioFileIO.read(testFile); Tag tag = af.getTag().or(NullTag.INSTANCE); - String value = tag.getFirst(FieldKey.TRACK); + tag.getFirst(FieldKey.TRACK); } catch (Exception e) { e.printStackTrace(); exceptionCaught = e; diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue257Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue257Test.java index 392b93b8..044974e7 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue257Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue257Test.java @@ -1,7 +1,6 @@ package ealvatag.issues; import ealvatag.TestUtil; -import ealvatag.audio.AudioFile; import ealvatag.audio.AudioFileIO; import ealvatag.audio.exceptions.CannotReadException; import org.junit.After; @@ -33,8 +32,7 @@ public class Issue257Test { try { testFile = TestUtil.copyAudioToTmp("test37.m4a"); - //Read File - AudioFile af = AudioFileIO.read(testFile); + AudioFileIO.read(testFile); //Print Out Tree diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue271Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue271Test.java index e0ae737d..dd5698d4 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue271Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue271Test.java @@ -7,7 +7,6 @@ import ealvatag.tag.FieldKey; import ealvatag.tag.NullTag; import ealvatag.tag.TagOptionSingleton; -import ealvatag.tag.id3.AbstractID3v2Frame; import ealvatag.tag.id3.ID3v22Tag; import ealvatag.tag.id3.ID3v23Frames; import ealvatag.tag.id3.ID3v23Tag; @@ -129,7 +128,7 @@ public class Issue271Test { ID3v23Tag id3v23Tag = (ID3v23Tag)af.getTag().or(NullTag.INSTANCE); Assert.assertEquals(0, id3v23Tag.getPaddingSize()); - AbstractID3v2Frame frame = (AbstractID3v2Frame)id3v23Tag.getFrame(ID3v23Frames.FRAME_ID_V3_ENCODEDBY); + id3v23Tag.getFrame(ID3v23Frames.FRAME_ID_V3_ENCODEDBY); af.getTag().or(NullTag.INSTANCE).setField(FieldKey.ALBUM, "FRED"); diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue274Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue274Test.java index 8cbfb3ed..f80f8e35 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue274Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue274Test.java @@ -1,7 +1,6 @@ package ealvatag.issues; import ealvatag.TestUtil; -import ealvatag.audio.AudioFile; import ealvatag.audio.AudioFileIO; import org.junit.After; import org.junit.Assert; @@ -34,8 +33,7 @@ public class Issue274Test { testFile = TestUtil.copyAudioToTmp("test54.flac"); - //Read File okay - AudioFile af = AudioFileIO.read(testFile); + AudioFileIO.read(testFile); } catch (Exception e) { diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue284Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue284Test.java index bc0b1789..39448107 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue284Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue284Test.java @@ -2,7 +2,6 @@ import ealvatag.TestUtil; import ealvatag.audio.AudioFileIO; -import ealvatag.audio.mp3.MP3File; import ealvatag.tag.id3.ID3v22Frame; import ealvatag.tag.id3.ID3v22Frames; import ealvatag.tag.id3.ID3v23Frame; @@ -36,13 +35,13 @@ public class Issue284Test { Exception exceptionCaught = null; try { testFile = TestUtil.copyAudioToTmp("testV1.mp3"); - MP3File af = (MP3File)AudioFileIO.read(testFile); + AudioFileIO.read(testFile); ID3v24Frame frame = new ID3v24Frame(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE); FrameBodyUnsupported fb = new FrameBodyUnsupported(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE); frame.setBody(fb); Assert.assertTrue(frame.getBody() instanceof FrameBodyUnsupported); - ID3v23Frame framev23 = new ID3v23Frame(frame); + new ID3v23Frame(frame); } catch (Exception e) { e.printStackTrace(); @@ -63,13 +62,13 @@ public class Issue284Test { Exception exceptionCaught = null; try { testFile = TestUtil.copyAudioToTmp("testV1.mp3"); - MP3File af = (MP3File)AudioFileIO.read(testFile); + AudioFileIO.read(testFile); ID3v24Frame frame = new ID3v24Frame(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE); FrameBodyUnsupported fb = new FrameBodyUnsupported(ID3v24Frames.FRAME_ID_INVOLVED_PEOPLE); frame.setBody(fb); Assert.assertTrue(frame.getBody() instanceof FrameBodyUnsupported); - ID3v22Frame framev22 = new ID3v22Frame(frame); + new ID3v22Frame(frame); } catch (Exception e) { e.printStackTrace(); @@ -90,13 +89,13 @@ public class Issue284Test { Exception exceptionCaught = null; try { testFile = TestUtil.copyAudioToTmp("testV1.mp3"); - MP3File af = (MP3File)AudioFileIO.read(testFile); + AudioFileIO.read(testFile); ID3v23Frame frame = new ID3v23Frame(ID3v23Frames.FRAME_ID_V3_INVOLVED_PEOPLE); FrameBodyUnsupported fb = new FrameBodyUnsupported(ID3v23Frames.FRAME_ID_V3_INVOLVED_PEOPLE); frame.setBody(fb); Assert.assertTrue(frame.getBody() instanceof FrameBodyUnsupported); - ID3v24Frame framev24 = new ID3v24Frame(frame); + new ID3v24Frame(frame); } catch (Exception e) { e.printStackTrace(); @@ -117,13 +116,13 @@ public class Issue284Test { Exception exceptionCaught = null; try { testFile = TestUtil.copyAudioToTmp("testV1.mp3"); - MP3File af = (MP3File)AudioFileIO.read(testFile); + AudioFileIO.read(testFile); ID3v22Frame frame = new ID3v22Frame(ID3v22Frames.FRAME_ID_V2_TITLE); FrameBodyUnsupported fb = new FrameBodyUnsupported(ID3v22Frames.FRAME_ID_V2_TITLE); frame.setBody(fb); Assert.assertTrue(frame.getBody() instanceof FrameBodyUnsupported); - ID3v24Frame framev24 = new ID3v24Frame(frame); + new ID3v24Frame(frame); } catch (Exception e) { e.printStackTrace(); @@ -144,13 +143,13 @@ public class Issue284Test { Exception exceptionCaught = null; try { testFile = TestUtil.copyAudioToTmp("testV1.mp3"); - MP3File af = (MP3File)AudioFileIO.read(testFile); + AudioFileIO.read(testFile); ID3v23Frame frame = new ID3v23Frame(ID3v23Frames.FRAME_ID_V3_TITLE); FrameBodyUnsupported fb = new FrameBodyUnsupported(ID3v23Frames.FRAME_ID_V3_TITLE); frame.setBody(fb); Assert.assertTrue(frame.getBody() instanceof FrameBodyUnsupported); - ID3v22Frame framev22 = new ID3v22Frame(frame); + new ID3v22Frame(frame); } catch (Exception e) { e.printStackTrace(); diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue289Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue289Test.java index 6e6134c4..460bf7e2 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue289Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue289Test.java @@ -33,8 +33,7 @@ public class Issue289Test { try { testFile = TestUtil.copyAudioToTmp("test58.ogg"); - OggFileReader ofr = new OggFileReader(); - //ofr.shortSummarizeOggPageHeaders(testFile); + new OggFileReader(); AudioFile af = AudioFileIO.read(testFile); System.out.println(af.getTag().or(NullTag.INSTANCE).toString()); diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue291Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue291Test.java index be517433..00e3165c 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue291Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue291Test.java @@ -60,7 +60,7 @@ public class Issue291Test { Exception exceptionCaught = null; try { testFile = TestUtil.copyAudioToTmp("test83.mp4"); - Mp4AtomTree atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); } catch (Exception e) { e.printStackTrace(); exceptionCaught = e; diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue294Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue294Test.java index f4bcae1a..b441562c 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue294Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue294Test.java @@ -42,8 +42,6 @@ public class Issue294Test { File testPix = TestUtil.copyAudioToTmp("test70.jpg"); - File originalFileBackup = null; - Exception exceptionCaught = null; try { TagOptionSingleton.getInstance().setUnsyncTags(false); diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue309Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue309Test.java index fd76bcfc..28a52f9b 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue309Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue309Test.java @@ -1,7 +1,6 @@ package ealvatag.issues; import ealvatag.TestUtil; -import ealvatag.audio.AudioFile; import ealvatag.audio.AudioFileIO; import org.junit.After; import org.junit.Assert; @@ -29,7 +28,7 @@ public class Issue309Test { Exception e = null; try { final File testFile = TestUtil.copyAudioToTmp("test73.m4a"); - AudioFile af = AudioFileIO.read(testFile); + AudioFileIO.read(testFile); } catch (Exception ex) { e = ex; diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue310Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue310Test.java index eb41070e..4b5e8712 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue310Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue310Test.java @@ -110,7 +110,7 @@ public class Issue310Test { Exception exceptionCaught = null; try { testFile = TestUtil.copyAudioToTmp("test85.mp4"); - Mp4AtomTree atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); } catch (Exception e) { e.printStackTrace(); exceptionCaught = e; diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue327Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue327Test.java index dd7225d0..9926fac8 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue327Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue327Test.java @@ -19,6 +19,7 @@ * for all strings not just the first one */ public class Issue327Test { + @SuppressWarnings("deprecation") @Test public void testUTF16BOMMultipleFieldSeperators() throws Exception { File testFile = TestUtil.copyAudioToTmp("testV1.mp3", new File("testUTF16BOMMultipleFieldSeperators.mp3")); MP3File f = (MP3File)AudioFileIO.read(testFile); @@ -28,39 +29,40 @@ public class Issue327Test { f.getID3v2Tag().addField(FieldKey.ALBUM_ARTIST, "Ϟ"); f.save(); ByteBuffer bb = ByteBuffer.allocate(40); - FileChannel fc = new RandomAccessFile(testFile, "r").getChannel(); - fc.read(bb); - Assert.assertEquals('T', bb.get(10) & 0xFF); - Assert.assertEquals('P', bb.get(11) & 0xFF); - Assert.assertEquals('E', bb.get(12) & 0xFF); - Assert.assertEquals('2', bb.get(13) & 0xFF); + try (RandomAccessFile randomAccessFile = new RandomAccessFile(testFile, "r")) { + FileChannel fc = randomAccessFile.getChannel(); + fc.read(bb); + Assert.assertEquals('T', bb.get(10) & 0xFF); + Assert.assertEquals('P', bb.get(11) & 0xFF); + Assert.assertEquals('E', bb.get(12) & 0xFF); + Assert.assertEquals('2', bb.get(13) & 0xFF); - //BOM for first String - Assert.assertEquals(0xFF, bb.get(21) & 0xFF); - Assert.assertEquals(0xFE, bb.get(22) & 0xFF); - //First String char - Assert.assertEquals(0xDE, bb.get(23) & 0xFF); - Assert.assertEquals(0x03, bb.get(24) & 0xFF); - //Null Separator (2 bytes because of encoding - Assert.assertEquals(0x00, bb.get(25) & 0xFF); - Assert.assertEquals(0x00, bb.get(26) & 0xFF); + //BOM for first String + Assert.assertEquals(0xFF, bb.get(21) & 0xFF); + Assert.assertEquals(0xFE, bb.get(22) & 0xFF); + //First String char + Assert.assertEquals(0xDE, bb.get(23) & 0xFF); + Assert.assertEquals(0x03, bb.get(24) & 0xFF); + //Null Separator (2 bytes because of encoding + Assert.assertEquals(0x00, bb.get(25) & 0xFF); + Assert.assertEquals(0x00, bb.get(26) & 0xFF); - //BOM for second String - Assert.assertEquals(0xFF, bb.get(27) & 0xFF); - Assert.assertEquals(0xFE, bb.get(28) & 0xFF); - //Second String char - Assert.assertEquals(0xDE, bb.get(29) & 0xFF); - Assert.assertEquals(0x03, bb.get(30) & 0xFF); + //BOM for second String + Assert.assertEquals(0xFF, bb.get(27) & 0xFF); + Assert.assertEquals(0xFE, bb.get(28) & 0xFF); + //Second String char + Assert.assertEquals(0xDE, bb.get(29) & 0xFF); + Assert.assertEquals(0x03, bb.get(30) & 0xFF); - //Next Frame - Assert.assertEquals(0x54, bb.get(31) & 0xFF); - Assert.assertEquals(0x58, bb.get(32) & 0xFF); - Assert.assertEquals(0x58, bb.get(33) & 0xFF); - Assert.assertEquals(0x58, bb.get(34) & 0xFF); + //Next Frame + Assert.assertEquals(0x54, bb.get(31) & 0xFF); + Assert.assertEquals(0x58, bb.get(32) & 0xFF); + Assert.assertEquals(0x58, bb.get(33) & 0xFF); + Assert.assertEquals(0x58, bb.get(34) & 0xFF); - fc.close(); - - //What does ealvatag read the values back as + fc.close(); + } + //What does ealvatag read the values back as f = (MP3File)AudioFileIO.read(testFile); Assert.assertEquals("Ϟ", f.getTag().or(NullTag.INSTANCE).getFirst(FieldKey.ALBUM_ARTIST)); Assert.assertEquals("Ϟ", f.getTag().or(NullTag.INSTANCE).getFieldAt(FieldKey.ALBUM_ARTIST, 0)); diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue367Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue367Test.java index eace02ab..445fa0be 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue367Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue367Test.java @@ -1,7 +1,6 @@ package ealvatag.issues; import ealvatag.TestUtil; -import ealvatag.audio.AudioFile; import ealvatag.audio.AudioFileIO; import org.junit.After; import org.junit.Assert; @@ -28,7 +27,7 @@ public class Issue367Test { File testFile = TestUtil.copyAudioToTmp("test93.mp3"); long startTime = System.nanoTime(); - AudioFile af = AudioFileIO.read(testFile); + AudioFileIO.read(testFile); long endTime = System.nanoTime(); double totalTime = (endTime - startTime) / 1000000.0; System.out.println("Time:" + totalTime + ":ms"); diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue374Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue374Test.java index 23c1e097..06cd43d6 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue374Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue374Test.java @@ -15,8 +15,6 @@ import org.junit.Assert; import org.junit.Test; -import static org.junit.Assert.fail; - import java.io.File; import java.util.concurrent.TimeUnit; diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue387Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue387Test.java index f31499d1..305f4712 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue387Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue387Test.java @@ -34,7 +34,7 @@ public class Issue387Test { af.getTagOrSetNewDefault(); af.save(); - Mp4AtomTree atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); } catch (Exception e) { caught = e; diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue394Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue394Test.java index 23100a54..f56bec20 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue394Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue394Test.java @@ -17,7 +17,7 @@ public class Issue394Test { tag.setField(FieldKey.COMMENT, "COMMENT1"); tag.addField(FieldKey.COMMENT, "COMMENT2"); - Tag v1Tag = new ID3v1Tag((BaseID3Tag)tag); + new ID3v1Tag((BaseID3Tag)tag); } catch (Exception e) { caught = e; e.printStackTrace(); diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue409Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue409Test.java index 4eb36d0e..738749ed 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue409Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue409Test.java @@ -17,7 +17,6 @@ public class Issue409Test { } @Test public void testFindAudioHeaderWhenTagSizeIsTooShortAndHasNullPadding() throws Exception { - Exception ex = null; File orig = new File("testdata", "test111.mp3"); if (!orig.isFile()) { System.err.println("Unable to test file - not available" + orig); diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue411Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue411Test.java index 866b00c6..6ed4224b 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue411Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue411Test.java @@ -19,6 +19,7 @@ * Mp3s can handle writing multiple fields which actually map to a single field using generic interface * but retrieval shows them as just one field, contrast with Flac */ +@SuppressWarnings("deprecation") public class Issue411Test { @Before public void setup() throws Exception { @@ -29,8 +30,7 @@ public void setup() throws Exception { public void tearDown() { TestUtil.deleteTestDataTemp(); } - - + @Test public void testIssue() throws Exception { TagOptionSingleton.getInstance().setWriteMp3GenresAsText(false); Exception caught = null; diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue412Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue412Test.java index cd5e1b82..8543089e 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue412Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue412Test.java @@ -20,6 +20,7 @@ /** * */ +@SuppressWarnings("deprecation") public class Issue412Test { @Before public void setup() throws Exception { diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue431Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue431Test.java index 67666ac7..2720f239 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue431Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue431Test.java @@ -26,6 +26,7 @@ /** * Trackno/DiscNo Position */ +@SuppressWarnings("resource") public class Issue431Test { @Before public void setup() throws Exception { @@ -256,7 +257,7 @@ public void tearDown() { Assert.assertEquals("1", tag.getFirst(FieldKey.TRACK)); } - @Test public void testSetPrePaddedTrackNo() throws Exception { + @Test public void testSetPrePaddedTrackNo() throws Exception { TagOptionSingleton.getInstance().setPadNumbers(false); File testFile = TestUtil.copyAudioToTmp("testV25.mp3"); AudioFile f = AudioFileIO.read(testFile); diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue433Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue433Test.java index 73fea481..78af3549 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue433Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue433Test.java @@ -17,7 +17,6 @@ */ public class Issue433Test { @Test public void testWriteMp4LargeIncreaseExistingUdtaWithDatButNotMetaAddDataLarge() throws Exception { - Exception ex = null; File orig = new File("testdata", "test112.m4a"); if (!orig.isFile()) { System.err.println("Unable to test file - not available" + orig); @@ -26,20 +25,19 @@ public class Issue433Test { File testFile = TestUtil.copyAudioToTmp("test112.m4a", new File("test112.m4a")); - Mp4AtomTree atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); AudioFile af = AudioFileIO.read(testFile); af.getTag().or(NullTag.INSTANCE).setField(FieldKey.ALBUM, "fredwwwwwwwwwwwwwwwwwwwwwwww"); af.save(); - atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); af = AudioFileIO.read(testFile); Assert.assertEquals("fredwwwwwwwwwwwwwwwwwwwwwwww", af.getTag().or(NullTag.INSTANCE).getFirst(FieldKey.ALBUM)); } @Test public void testWriteMp4LargeIncreaseExistingUdtaWithDatButNotMetaAddDataSmall() throws Exception { - Exception ex = null; File orig = new File("testdata", "test112.m4a"); if (!orig.isFile()) { System.err.println("Unable to test file - not available" + orig); @@ -48,20 +46,19 @@ public class Issue433Test { File testFile = TestUtil.copyAudioToTmp("test112.m4a", new File("test112WriteSmall.m4a")); - Mp4AtomTree atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); AudioFile af = AudioFileIO.read(testFile); af.getTag().or(NullTag.INSTANCE).setField(FieldKey.ALBUM, "fred"); af.save(); - atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); af = AudioFileIO.read(testFile); Assert.assertEquals("fred", af.getTag().or(NullTag.INSTANCE).getFirst(FieldKey.ALBUM)); } @Test public void testWriteMp4LargeIncreaseExistingUdtaWithMetaDataAndUnknownAddDataLarge() throws Exception { - Exception ex = null; File orig = new File("testdata", "test141.m4a"); if (!orig.isFile()) { System.err.println("Unable to test file - not available" + orig); @@ -70,20 +67,19 @@ public class Issue433Test { File testFile = TestUtil.copyAudioToTmp("test141.m4a", new File("test141Large.m4a")); - Mp4AtomTree atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); AudioFile af = AudioFileIO.read(testFile); af.getTag().or(NullTag.INSTANCE).setField(FieldKey.ALBUM, "fredwwwwwwwwwwwwwwwwwwwwwwww"); af.save(); - atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); af = AudioFileIO.read(testFile); Assert.assertEquals("fredwwwwwwwwwwwwwwwwwwwwwwww", af.getTag().or(NullTag.INSTANCE).getFirst(FieldKey.ALBUM)); } @Test public void testWriteMp4LargeIncreaseExistingUdtaWithMetaDataAndUnknownAddDataSmall() throws Exception { - Exception ex = null; File orig = new File("testdata", "test141.m4a"); if (!orig.isFile()) { System.err.println("Unable to test file - not available" + orig); @@ -92,14 +88,14 @@ public class Issue433Test { File testFile = TestUtil.copyAudioToTmp("test141.m4a", new File("test141Small.m4a")); - Mp4AtomTree atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); AudioFile af = AudioFileIO.read(testFile); af.getTag().or(NullTag.INSTANCE).setField(FieldKey.ALBUM, "fred"); af.save(); - atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); af = AudioFileIO.read(testFile); Assert.assertEquals("fred", af.getTag().or(NullTag.INSTANCE).getFirst(FieldKey.ALBUM)); } diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue444Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue444Test.java index 3740a2fc..1832bd55 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue444Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue444Test.java @@ -174,7 +174,7 @@ public class Issue444Test { Exception e = null; try { File testFile = TestUtil.copyAudioToTmp("test106.mp3"); - AudioFile af = AudioFileIO.read(testFile); + AudioFileIO.read(testFile); } catch (Exception ex) { ex.printStackTrace(); diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue446Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue446Test.java index 866e64e0..f2f7b73b 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue446Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue446Test.java @@ -23,7 +23,6 @@ public class Issue446Test { boolean isMatchedPeak = false; boolean isMatchedGain = false; - Exception ex = null; File orig = new File("testdata", "test110.mp3"); if (!orig.isFile()) { System.err.println("Unable to test file - not available" + orig); diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue451Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue451Test.java index 31489213..3038fe27 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue451Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue451Test.java @@ -31,8 +31,7 @@ public class Issue451Test { File testFile = TestUtil.copyAudioToTmp("test109.m4a"); try { - //Now just createField tree - Mp4AtomTree atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); } catch (Exception e) { e.printStackTrace(); } diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue452Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue452Test.java index efefa264..f37fa396 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue452Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue452Test.java @@ -14,7 +14,6 @@ */ public class Issue452Test { @Test public void testFindAudioHeaderWhenTagSizeIsTooShortAndHasNullPadding() throws Exception { - Exception ex = null; File orig = new File("testdata", "test110.mp3"); if (!orig.isFile()) { System.err.println("Unable to test file - not available" + orig); diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue453Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue453Test.java index 5ba6479c..740b2b74 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue453Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue453Test.java @@ -20,7 +20,6 @@ public class Issue453Test { } @Test public void testMpeg3layer3_32bit() throws Exception { - Exception ex = null; File orig = new File("testdata", "test113.mp3"); if (!orig.isFile()) { System.err.println("Unable to test file - not available" + orig); diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue454Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue454Test.java index 4adb93b7..29e8a5ce 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue454Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue454Test.java @@ -20,7 +20,6 @@ public class Issue454Test { } @Test public void testMpeg3layer2_64bit() throws Exception { - Exception ex = null; File orig = new File("testdata", "test114.mp3"); if (!orig.isFile()) { System.err.println("Unable to test file - not available" + orig); diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue463Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue463Test.java index 4f1eea27..f2ce0676 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue463Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue463Test.java @@ -33,7 +33,7 @@ public class Issue463Test { File testFile = TestUtil.copyAudioToTmp("test116.m4a"); RandomAccessFile raf = new RandomAccessFile(testFile, "r"); - Mp4AtomTree tree = new Mp4AtomTree(raf, false); + new Mp4AtomTree(raf, false); raf.close(); AudioFile af = AudioFileIO.read(testFile); @@ -45,7 +45,7 @@ public class Issue463Test { af.save(); raf = new RandomAccessFile(testFile, "r"); - tree = new Mp4AtomTree(raf, false); + new Mp4AtomTree(raf, false); raf.close(); af = AudioFileIO.read(testFile); diff --git a/ealvatag/src/test/java/ealvatag/issues/Issue66Test.java b/ealvatag/src/test/java/ealvatag/issues/Issue66Test.java index 52136c56..1508bead 100644 --- a/ealvatag/src/test/java/ealvatag/issues/Issue66Test.java +++ b/ealvatag/src/test/java/ealvatag/issues/Issue66Test.java @@ -3,7 +3,6 @@ import ealvatag.TestUtil; import ealvatag.audio.AudioFile; import ealvatag.audio.AudioFileIO; -import ealvatag.audio.AudioHeader; import ealvatag.tag.FieldKey; import ealvatag.tag.NullTag; import ealvatag.tag.Tag; @@ -38,7 +37,7 @@ public class Issue66Test { Tag tag = af.getTag().or(NullTag.INSTANCE); if (tag != null) { - AudioHeader head = af.getAudioHeader(); + af.getAudioHeader(); } } catch (Exception e) { caught = e; diff --git a/ealvatag/src/test/java/ealvatag/tag/datatype/TextEncodedStringNullTerminatedTest.java b/ealvatag/src/test/java/ealvatag/tag/datatype/TextEncodedStringNullTerminatedTest.java index ae8d17f3..9ea4bfd0 100644 --- a/ealvatag/src/test/java/ealvatag/tag/datatype/TextEncodedStringNullTerminatedTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/datatype/TextEncodedStringNullTerminatedTest.java @@ -22,7 +22,7 @@ import org.junit.Test; import static org.hamcrest.core.Is.is; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; /** * Test searching for a null index in a {@link Buffer} diff --git a/ealvatag/src/test/java/ealvatag/tag/id3/ConcurrentWritesTest.java b/ealvatag/src/test/java/ealvatag/tag/id3/ConcurrentWritesTest.java index 9c02b5e0..e2fcf969 100644 --- a/ealvatag/src/test/java/ealvatag/tag/id3/ConcurrentWritesTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/id3/ConcurrentWritesTest.java @@ -1,7 +1,6 @@ package ealvatag.tag.id3; import ealvatag.tag.NullTag; -import junit.framework.TestCase; import ealvatag.TestUtil; import ealvatag.audio.AudioFile; import ealvatag.audio.AudioFileIO; diff --git a/ealvatag/src/test/java/ealvatag/tag/id3/FileClosingTest.java b/ealvatag/src/test/java/ealvatag/tag/id3/FileClosingTest.java index c5eba99e..97243ac5 100644 --- a/ealvatag/src/test/java/ealvatag/tag/id3/FileClosingTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/id3/FileClosingTest.java @@ -29,7 +29,7 @@ public class FileClosingTest { public void testClosingFileAfterFailedRead() throws Exception { File testFile = TestUtil.copyAudioToTmp("corrupt.mp3"); try { - MP3File mp3File = new MP3File(testFile); + new MP3File(testFile); } catch (InvalidAudioFrameException ignored) { } catch (IOException | TagException | CannotReadException e) { fail("Should be InvalidAudioFrameException"); @@ -45,7 +45,7 @@ public void testClosingFileAfterFailedRead() throws Exception { @Test public void testClosingFileAfterSuccessfulRead() throws Exception { File testFile = TestUtil.copyAudioToTmp("testV1.mp3"); - MP3File mp3File = new MP3File(testFile); + new MP3File(testFile); //Should be able to deleteField Assert.assertTrue(testFile.delete()); diff --git a/ealvatag/src/test/java/ealvatag/tag/id3/FrameCOMMTest.java b/ealvatag/src/test/java/ealvatag/tag/id3/FrameCOMMTest.java index 955c49a4..61f748dd 100644 --- a/ealvatag/src/test/java/ealvatag/tag/id3/FrameCOMMTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/id3/FrameCOMMTest.java @@ -20,7 +20,7 @@ public class FrameCOMMTest { Exception e = null; try { File testFile = TestUtil.copyAudioToTmp("Issue77.id3", "testV1.mp3"); - MP3File mp3File = new MP3File(testFile); + new MP3File(testFile); } catch (Exception ie) { e = ie; } @@ -35,7 +35,7 @@ public class FrameCOMMTest { Exception e = null; try { File testFile = TestUtil.copyAudioToTmp("Issue80.id3", "testV1.mp3"); - MP3File mp3File = new MP3File(testFile); + new MP3File(testFile); } catch (Exception ie) { e = ie; } diff --git a/ealvatag/src/test/java/ealvatag/tag/id3/FramePICAndAPICTest.java b/ealvatag/src/test/java/ealvatag/tag/id3/FramePICAndAPICTest.java index d077b609..140d9b53 100644 --- a/ealvatag/src/test/java/ealvatag/tag/id3/FramePICAndAPICTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/id3/FramePICAndAPICTest.java @@ -20,18 +20,6 @@ public class FramePICAndAPICTest { TestUtil.deleteTestDataTemp(); } - private static String cmp(byte[] a, byte[] b) { - if (a.length != b.length) { - return "length of byte arrays differ (" + a.length + "!=" + b.length + ")"; - } - for (int i = 0; i < a.length; i++) { - if (a[i] != b[i]) { - return "byte arrays differ at offset " + i + " (" + a[i] + "!=" + b[i] + ")"; - } - } - return null; - } - public static ID3v24Frame getV24InitialisedFrame() { ID3v24Frame frame = new ID3v24Frame(ID3v24Frames.FRAME_ID_ATTACHED_PICTURE); FrameBodyAPIC fb = FrameBodyAPICTest.getInitialisedBody(); diff --git a/ealvatag/src/test/java/ealvatag/tag/id3/FrameTDRCTest.java b/ealvatag/src/test/java/ealvatag/tag/id3/FrameTDRCTest.java index 76cca9c7..b9d80c61 100644 --- a/ealvatag/src/test/java/ealvatag/tag/id3/FrameTDRCTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/id3/FrameTDRCTest.java @@ -14,8 +14,8 @@ public class FrameTDRCTest { File testFile = TestUtil.copyAudioToTmp("Issue73.id3", "testV1.mp3"); MP3File mp3File = new MP3File(testFile); - ID3v23Frame v23frame = (ID3v23Frame)mp3File.getID3v2Tag().getFrame(ID3v23Frames.FRAME_ID_V3_TYER); - ID3v24Frame v24frame = (ID3v24Frame)mp3File.getID3v2TagAsv24().getFrame(ID3v23Frames.FRAME_ID_V3_TYER); + mp3File.getID3v2Tag().getFrame(ID3v23Frames.FRAME_ID_V3_TYER); + mp3File.getID3v2TagAsv24().getFrame(ID3v23Frames.FRAME_ID_V3_TYER); } diff --git a/ealvatag/src/test/java/ealvatag/tag/id3/ID3v22TagTest.java b/ealvatag/src/test/java/ealvatag/tag/id3/ID3v22TagTest.java index 2d754214..51dd052f 100644 --- a/ealvatag/src/test/java/ealvatag/tag/id3/ID3v22TagTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/id3/ID3v22TagTest.java @@ -27,6 +27,7 @@ /** * */ +@SuppressWarnings("deprecation") public class ID3v22TagTest { @After public void tearDown() { TestUtil.deleteTestDataTemp(); diff --git a/ealvatag/src/test/java/ealvatag/tag/id3/ID3v23TagTest.java b/ealvatag/src/test/java/ealvatag/tag/id3/ID3v23TagTest.java index 1daa5f2d..bf1b5df2 100644 --- a/ealvatag/src/test/java/ealvatag/tag/id3/ID3v23TagTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/id3/ID3v23TagTest.java @@ -45,6 +45,7 @@ /** * */ +@SuppressWarnings("deprecation") public class ID3v23TagTest { @After public void tearDown() { TestUtil.deleteTestDataTemp(); diff --git a/ealvatag/src/test/java/ealvatag/tag/id3/ID3v24TagTest.java b/ealvatag/src/test/java/ealvatag/tag/id3/ID3v24TagTest.java index 102a0d23..14132d62 100644 --- a/ealvatag/src/test/java/ealvatag/tag/id3/ID3v24TagTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/id3/ID3v24TagTest.java @@ -43,6 +43,7 @@ /** * */ +@SuppressWarnings("deprecation") public class ID3v24TagTest { @After public void tearDown() { TestUtil.deleteTestDataTemp(); diff --git a/ealvatag/src/test/java/ealvatag/tag/id3/ItunesTest.java b/ealvatag/src/test/java/ealvatag/tag/id3/ItunesTest.java index a51ac0af..223a39f5 100644 --- a/ealvatag/src/test/java/ealvatag/tag/id3/ItunesTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/id3/ItunesTest.java @@ -80,7 +80,7 @@ public class ItunesTest { ID3v24Frame v24frame = (ID3v24Frame)mp3File.getID3v2Tag().getFrame(ID3v24Frames.FRAME_ID_ATTACHED_PICTURE); Assert.assertNotNull(v24frame); - FrameBodyAPIC fb = (FrameBodyAPIC)v24frame.getBody(); + v24frame.getBody(); } /** diff --git a/ealvatag/src/test/java/ealvatag/tag/id3/NewInterfaceTest.java b/ealvatag/src/test/java/ealvatag/tag/id3/NewInterfaceTest.java index 4897f7ed..a1b8ad72 100644 --- a/ealvatag/src/test/java/ealvatag/tag/id3/NewInterfaceTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/id3/NewInterfaceTest.java @@ -45,6 +45,7 @@ /** * Testing retrofitting of entagged interfaces */ +@SuppressWarnings("deprecation") public class NewInterfaceTest { public static final String ALBUM_TEST_STRING = "mellow gold"; public static final String ALBUM_TEST_STRING2 = "odelay"; @@ -124,7 +125,6 @@ public class NewInterfaceTest { } @Test public void testNewInterfaceBasicReadandWriteID3v1() throws Exception { - Exception e = null; File testFile = TestUtil.copyAudioToTmp("testV1.mp3", new File("testnewIntId3v1.mp3")); MP3File mp3File = new MP3File(testFile); @@ -173,7 +173,6 @@ public class NewInterfaceTest { } @Test public void testNewInterfaceBasicReadandWriteID3v24() throws Exception { - Exception e = null; File testFile = TestUtil.copyAudioToTmp("testV1.mp3", new File("testnewIntId3v24.mp3")); MP3File mp3File = new MP3File(testFile); @@ -390,7 +389,7 @@ public class NewInterfaceTest { af.getTag().or(NullTag.INSTANCE).setField(FieldKey.MUSICIP_ID, "musicip_id"); af.save(); af = AudioFileIO.read(testFile); - Assert.assertEquals(2, ((List)((ID3v24Tag)af.getTag().or(NullTag.INSTANCE)).getFrame("TXXX")).size()); + Assert.assertEquals(2, ((List)((ID3v24Tag)af.getTag().or(NullTag.INSTANCE)).getFrame("TXXX")).size()); Assert.assertEquals("musicip_id", af.getTag().or(NullTag.INSTANCE).getFirst(FieldKey.MUSICIP_ID)); Assert.assertEquals("musicip_id", ((ID3v24Tag)af.getTag().or(NullTag.INSTANCE)).getFirst(ID3v24FieldKey.MUSICIP_ID)); Assert.assertEquals(1, af.getTag().or(NullTag.INSTANCE).getFields(FieldKey.MUSICIP_ID).size()); @@ -401,7 +400,7 @@ public class NewInterfaceTest { af.getTag().or(NullTag.INSTANCE).setField(FieldKey.MUSICBRAINZ_RELEASEID, "releaseid"); af.save(); af = AudioFileIO.read(testFile); - Assert.assertEquals(3, ((List)((ID3v24Tag)af.getTag().or(NullTag.INSTANCE)).getFrame("TXXX")).size()); + Assert.assertEquals(3, ((List)((ID3v24Tag)af.getTag().or(NullTag.INSTANCE)).getFrame("TXXX")).size()); Assert.assertEquals("musicip_id", af.getTag().or(NullTag.INSTANCE).getFirst(FieldKey.MUSICIP_ID)); Assert.assertEquals("releaseid", af.getTag().or(NullTag.INSTANCE).getFirst(FieldKey.MUSICBRAINZ_RELEASEID)); Assert.assertEquals("releaseid", ((TagTextField)af.getTag().or(NullTag.INSTANCE) @@ -417,7 +416,7 @@ public class NewInterfaceTest { af.getTag().or(NullTag.INSTANCE).deleteField(FieldKey.MUSICBRAINZ_RELEASEID); af.save(); af = AudioFileIO.read(testFile); - Assert.assertEquals(2, ((List)((ID3v24Tag)af.getTag().or(NullTag.INSTANCE)).getFrame("TXXX")).size()); + Assert.assertEquals(2, ((List)((ID3v24Tag)af.getTag().or(NullTag.INSTANCE)).getFrame("TXXX")).size()); Assert.assertEquals(1, af.getTag().or(NullTag.INSTANCE).getFields(FieldKey.MUSICIP_ID).size()); Assert.assertEquals(1, af.getTag().or(NullTag.INSTANCE).getFields(FieldKey.AMAZON_ID).size()); Assert.assertEquals(9, af.getTag().or(NullTag.INSTANCE).getFieldCount()); @@ -517,7 +516,6 @@ public class NewInterfaceTest { } */ @Test public void testNewInterfaceBasicReadandWriteID3v23() throws Exception { - Exception e = null; File testFile = TestUtil.copyAudioToTmp("testV1.mp3", new File("testnewIntId3v23.mp3")); MP3File mp3File = new MP3File(testFile); @@ -691,7 +689,7 @@ public class NewInterfaceTest { af.getTag().or(NullTag.INSTANCE).setField(FieldKey.MUSICIP_ID, "musicip_id"); af.save(); af = AudioFileIO.read(testFile); - Assert.assertEquals(2, ((List)((ID3v23Tag)af.getTag().or(NullTag.INSTANCE)).getFrame("TXXX")).size()); + Assert.assertEquals(2, ((List)((ID3v23Tag)af.getTag().or(NullTag.INSTANCE)).getFrame("TXXX")).size()); Assert.assertEquals("musicip_id", af.getTag().or(NullTag.INSTANCE).getFirst(FieldKey.MUSICIP_ID)); Assert.assertEquals("musicip_id", ((ID3v23Tag)af.getTag().or(NullTag.INSTANCE)).getFirst(ID3v23FieldKey.MUSICIP_ID)); Assert.assertEquals(1, af.getTag().or(NullTag.INSTANCE).getFields(FieldKey.MUSICIP_ID).size()); @@ -706,7 +704,7 @@ public class NewInterfaceTest { af.getTag().or(NullTag.INSTANCE).setField(FieldKey.MUSICBRAINZ_RELEASEID, "releaseid"); af.save(); af = AudioFileIO.read(testFile); - Assert.assertEquals(3, ((List)((ID3v23Tag)af.getTag().or(NullTag.INSTANCE)).getFrame("TXXX")).size()); + Assert.assertEquals(3, ((List)((ID3v23Tag)af.getTag().or(NullTag.INSTANCE)).getFrame("TXXX")).size()); Assert.assertEquals("musicip_id", af.getTag().or(NullTag.INSTANCE).getFirst(FieldKey.MUSICIP_ID)); Assert.assertEquals("releaseid", af.getTag().or(NullTag.INSTANCE).getFirst(FieldKey.MUSICBRAINZ_RELEASEID)); Assert.assertEquals("asin123456" + "\u01ff", af.getTag().or(NullTag.INSTANCE).getFirst(FieldKey.AMAZON_ID)); @@ -719,7 +717,7 @@ public class NewInterfaceTest { af.getTag().or(NullTag.INSTANCE).deleteField(FieldKey.MUSICBRAINZ_RELEASEID); af.save(); af = AudioFileIO.read(testFile); - Assert.assertEquals(2, ((List)((ID3v23Tag)af.getTag().or(NullTag.INSTANCE)).getFrame("TXXX")).size()); + Assert.assertEquals(2, ((List)((ID3v23Tag)af.getTag().or(NullTag.INSTANCE)).getFrame("TXXX")).size()); Assert.assertEquals(1, af.getTag().or(NullTag.INSTANCE).getFields(FieldKey.MUSICIP_ID).size()); Assert.assertEquals(1, af.getTag().or(NullTag.INSTANCE).getFields(FieldKey.AMAZON_ID).size()); Assert.assertEquals(8, af.getTag().or(NullTag.INSTANCE).getFieldCount()); @@ -756,7 +754,6 @@ public class NewInterfaceTest { } @Test public void testNewInterfaceBasicReadandWriteID3v22() throws Exception { - Exception e = null; File testFile = TestUtil.copyAudioToTmp("testV1.mp3", new File("testnewIntId3v22.mp3")); MP3File mp3File = new MP3File(testFile); @@ -931,7 +928,7 @@ public class NewInterfaceTest { af.getTag().or(NullTag.INSTANCE).setField(FieldKey.MUSICIP_ID, "musicip_id"); af.save(); af = AudioFileIO.read(testFile); - Assert.assertEquals(2, ((List)((ID3v22Tag)af.getTag().or(NullTag.INSTANCE)).getFrame("TXX")).size()); + Assert.assertEquals(2, ((List)((ID3v22Tag)af.getTag().or(NullTag.INSTANCE)).getFrame("TXX")).size()); Assert.assertEquals("musicip_id", af.getTag().or(NullTag.INSTANCE).getFirst(FieldKey.MUSICIP_ID)); Assert.assertEquals("musicip_id", ((ID3v22Tag)af.getTag().or(NullTag.INSTANCE)).getFirst(ID3v22FieldKey.MUSICIP_ID)); Assert.assertEquals(1, af.getTag().or(NullTag.INSTANCE).getFields(FieldKey.MUSICIP_ID).size()); @@ -942,7 +939,7 @@ public class NewInterfaceTest { af.getTag().or(NullTag.INSTANCE).setField(FieldKey.MUSICBRAINZ_RELEASEID, "releaseid"); af.save(); af = AudioFileIO.read(testFile); - Assert.assertEquals(3, ((List)((ID3v22Tag)af.getTag().or(NullTag.INSTANCE)).getFrame("TXX")).size()); + Assert.assertEquals(3, ((List)((ID3v22Tag)af.getTag().or(NullTag.INSTANCE)).getFrame("TXX")).size()); Assert.assertEquals("musicip_id", af.getTag().or(NullTag.INSTANCE).getFirst(FieldKey.MUSICIP_ID)); Assert.assertEquals("releaseid", af.getTag().or(NullTag.INSTANCE).getFirst(FieldKey.MUSICBRAINZ_RELEASEID)); Assert.assertEquals("asin123456" + "\u01ff", af.getTag().or(NullTag.INSTANCE).getFirst(FieldKey.AMAZON_ID)); @@ -955,7 +952,7 @@ public class NewInterfaceTest { af.getTag().or(NullTag.INSTANCE).deleteField(FieldKey.MUSICBRAINZ_RELEASEID); af.save(); af = AudioFileIO.read(testFile); - Assert.assertEquals(2, ((List)((ID3v22Tag)af.getTag().or(NullTag.INSTANCE)).getFrame("TXX")).size()); + Assert.assertEquals(2, ((List)((ID3v22Tag)af.getTag().or(NullTag.INSTANCE)).getFrame("TXX")).size()); Assert.assertEquals(1, af.getTag().or(NullTag.INSTANCE).getFields(FieldKey.MUSICIP_ID).size()); Assert.assertEquals(1, af.getTag().or(NullTag.INSTANCE).getFields(FieldKey.AMAZON_ID).size()); Assert.assertEquals(8, af.getTag().or(NullTag.INSTANCE).getFieldCount()); @@ -995,7 +992,6 @@ public class NewInterfaceTest { * @throws Exception */ @Test public void testSettingMultipleFramesofSameType() throws Exception { - Exception e = null; File testFile = TestUtil.copyAudioToTmp("testV1.mp3", new File("testSetMultiple.mp3")); AudioFile af = AudioFileIO.read(testFile); MP3File mp3File = (MP3File)af; @@ -1062,10 +1058,10 @@ public class NewInterfaceTest { fb.setDescription("test"); //Because has different description the following setField will addField another txxx rather than overwriting the first one af.getTag().or(NullTag.INSTANCE).setField(FieldKey.MUSICBRAINZ_ARTISTID, "abcdef-ghijklmn"); - Assert.assertEquals(2, ((List)tag.getFrame("TXXX")).size()); + Assert.assertEquals(2, ((List)tag.getFrame("TXXX")).size()); //Now adding TXXX with same id so gets overwritten af.getTag().or(NullTag.INSTANCE).setField(FieldKey.MUSICBRAINZ_ARTISTID, "abcfffff"); - Assert.assertEquals(2, ((List)tag.getFrame("TXXX")).size()); + Assert.assertEquals(2, ((List)tag.getFrame("TXXX")).size()); //Try deleting some of these tag.removeFrameOfType("TXXX"); @@ -1089,10 +1085,10 @@ public class NewInterfaceTest { //Because has different owner the following setField will addField another ufid rather than overwriting the first one af.getTag().or(NullTag.INSTANCE).setField(FieldKey.MUSICBRAINZ_TRACK_ID, "abcdef-ghijklmn"); - Assert.assertEquals(2, ((List)tag.getFrame("UFID")).size()); + Assert.assertEquals(2, ((List)tag.getFrame("UFID")).size()); //Now adding UFID with same owner so gets overwritten af.getTag().or(NullTag.INSTANCE).setField(FieldKey.MUSICBRAINZ_TRACK_ID, "abcfffff"); - Assert.assertEquals(2, ((List)tag.getFrame("UFID")).size()); + Assert.assertEquals(2, ((List)tag.getFrame("UFID")).size()); //Try deleting some of these tag.removeFrame("UFID"); @@ -1111,13 +1107,13 @@ public class NewInterfaceTest { //Because has different desc the following setField will addField another uslt rather than overwriting the first one af.getTag().or(NullTag.INSTANCE).setField(FieldKey.LYRICS, "abcdef-ghijklmn"); - Assert.assertEquals(2, ((List)tag.getFrame("USLT")).size()); + Assert.assertEquals(2, ((List)tag.getFrame("USLT")).size()); Assert.assertEquals(2, af.getTag().or(NullTag.INSTANCE).getFields(FieldKey.LYRICS).size()); - frame = (ID3v24Frame)((List)tag.getFrame("USLT")).get(1); + frame = (ID3v24Frame)((List)tag.getFrame("USLT")).get(1); Assert.assertEquals("", ((FrameBodyUSLT)frame.getBody()).getDescription()); //Now adding USLT with same description so gets overwritten af.getTag().or(NullTag.INSTANCE).setField(FieldKey.LYRICS, "abcfffff"); - Assert.assertEquals(2, ((List)tag.getFrame("USLT")).size()); + Assert.assertEquals(2, ((List)tag.getFrame("USLT")).size()); Assert.assertEquals(2, af.getTag().or(NullTag.INSTANCE).getFields(FieldKey.LYRICS).size()); } @@ -1181,7 +1177,7 @@ public class NewInterfaceTest { //Empty frame map and force adding of empty list mp3File.getID3v2Tag().frameMap.clear(); - mp3File.getID3v2Tag().frameMap.put("TXXX", new ArrayList()); + mp3File.getID3v2Tag().frameMap.put("TXXX", new ArrayList<>()); Assert.assertEquals(0, mp3File.getID3v2Tag().getFieldCount()); //Issue #236 diff --git a/ealvatag/src/test/java/ealvatag/tag/id3/Unicode23TagTest.java b/ealvatag/src/test/java/ealvatag/tag/id3/Unicode23TagTest.java index c0226e4c..3eff65aa 100644 --- a/ealvatag/src/test/java/ealvatag/tag/id3/Unicode23TagTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/id3/Unicode23TagTest.java @@ -17,6 +17,7 @@ import java.nio.ByteBuffer; import java.nio.channels.FileChannel; +@SuppressWarnings("resource") public class Unicode23TagTest { @Before public void setup() { diff --git a/ealvatag/src/test/java/ealvatag/tag/id3/UnsynchronizationTest.java b/ealvatag/src/test/java/ealvatag/tag/id3/UnsynchronizationTest.java index 10f5fd96..32911f7a 100644 --- a/ealvatag/src/test/java/ealvatag/tag/id3/UnsynchronizationTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/id3/UnsynchronizationTest.java @@ -8,7 +8,6 @@ import ealvatag.tag.NullTag; import ealvatag.tag.Tag; import ealvatag.tag.TagOptionSingleton; -import ealvatag.tag.id3.framebody.FrameBodyAPIC; import ealvatag.tag.images.Artwork; import ealvatag.tag.images.ArtworkFactory; import ealvatag.tag.reference.ID3V2Version; @@ -17,7 +16,6 @@ import org.junit.Test; import javax.imageio.ImageIO; -import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.File; @@ -25,8 +23,6 @@ * Test Itunes problems */ public class UnsynchronizationTest { - private static final int FRAME_SIZE = 2049; - @After public void tearDown() { TestUtil.deleteTestDataTemp(); } @@ -51,7 +47,7 @@ public class UnsynchronizationTest { ID3v24Frame v24Imageframe = (ID3v24Frame)v24tag.getFrame(ID3v24Frames.FRAME_ID_ATTACHED_PICTURE); Assert.assertNotNull(v24Imageframe); Assert.assertTrue(((ID3v24Frame.EncodingFlags)v24Imageframe.getEncodingFlags()).isUnsynchronised()); - FrameBodyAPIC fb = (FrameBodyAPIC)v24Imageframe.getBody(); + v24Imageframe.getBody(); //Write mp3 back to file , TagOptionSingleton.getInstance().setUnsyncTags(false); @@ -69,7 +65,7 @@ public class UnsynchronizationTest { v24Imageframe = (ID3v24Frame)v24tag.getFrame(ID3v24Frames.FRAME_ID_ATTACHED_PICTURE); Assert.assertNotNull(v24Imageframe); - fb = (FrameBodyAPIC)v24Imageframe.getBody(); + v24Imageframe.getBody(); Assert.assertFalse(((ID3v24Frame.EncodingFlags)v24Imageframe.getEncodingFlags()).isUnsynchronised()); //Enable unsynchronization and write mp3 back to file , only APIC requires unsynchronization @@ -87,7 +83,7 @@ public class UnsynchronizationTest { v24Imageframe = (ID3v24Frame)v24tag.getFrame(ID3v24Frames.FRAME_ID_ATTACHED_PICTURE); Assert.assertNotNull(v24Imageframe); - fb = (FrameBodyAPIC)v24Imageframe.getBody(); + v24Imageframe.getBody(); Assert.assertTrue(((ID3v24Frame.EncodingFlags)v24Imageframe.getEncodingFlags()).isUnsynchronised()); } @@ -219,7 +215,6 @@ public class UnsynchronizationTest { Assert.assertEquals(1, unsyncedTag.getArtworkList().size()); artworkUnsynced = unsyncedTag.getArtworkList().get(0); - int count = 0; Assert.assertEquals(114425, artworkUnsynced.getBinaryData().length); Assert.assertEquals(114425, artworkNotsynced.getBinaryData().length); @@ -237,8 +232,8 @@ public class UnsynchronizationTest { } } Assert.assertTrue(matches); - BufferedImage bi = ImageIO.read(new ByteArrayInputStream(artworkNotsynced.getBinaryData())); - bi = ImageIO.read(new ByteArrayInputStream(artworkUnsynced.getBinaryData())); + ImageIO.read(new ByteArrayInputStream(artworkNotsynced.getBinaryData())); + ImageIO.read(new ByteArrayInputStream(artworkUnsynced.getBinaryData())); } catch (Exception e) { e.printStackTrace(); exceptionCaught = e; diff --git a/ealvatag/src/test/java/ealvatag/tag/id3/framebody/FrameBodyRVA2Test.java b/ealvatag/src/test/java/ealvatag/tag/id3/framebody/FrameBodyRVA2Test.java index 3309df96..5c051993 100644 --- a/ealvatag/src/test/java/ealvatag/tag/id3/framebody/FrameBodyRVA2Test.java +++ b/ealvatag/src/test/java/ealvatag/tag/id3/framebody/FrameBodyRVA2Test.java @@ -32,9 +32,8 @@ private static byte[] makeByteArray(int[] ints) { @Test public void testCreateFrameBody() { Exception exceptionCaught = null; - FrameBodyRVA2 fb = null; try { - fb = new FrameBodyRVA2(); + new FrameBodyRVA2(); } catch (Exception e) { exceptionCaught = e; } diff --git a/ealvatag/src/test/java/ealvatag/tag/id3/framebody/FrameBodyTIPLTest.java b/ealvatag/src/test/java/ealvatag/tag/id3/framebody/FrameBodyTIPLTest.java index ce924dbc..7e0db7f3 100644 --- a/ealvatag/src/test/java/ealvatag/tag/id3/framebody/FrameBodyTIPLTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/id3/framebody/FrameBodyTIPLTest.java @@ -118,6 +118,7 @@ public static FrameBodyTIPL getInitialisedBody() { * * @throws Exception */ + @SuppressWarnings("deprecation") @Test public void testMultiArrangerIDv24() throws Exception { File testFile = TestUtil.copyAudioToTmp("testV1.mp3", new File("testWriteArrangerv24.mp3")); AudioFile f = AudioFileIO.read(testFile); diff --git a/ealvatag/src/test/java/ealvatag/tag/id3/framebody/FrameBodyTMCLTest.java b/ealvatag/src/test/java/ealvatag/tag/id3/framebody/FrameBodyTMCLTest.java index b24d8544..578b0172 100644 --- a/ealvatag/src/test/java/ealvatag/tag/id3/framebody/FrameBodyTMCLTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/id3/framebody/FrameBodyTMCLTest.java @@ -14,13 +14,14 @@ import java.io.File; +@SuppressWarnings("deprecation") public class FrameBodyTMCLTest { /** * Uses TMCL frame * * @throws Exception */ - @Test public void testWritePerformersIDv24() throws Exception { + @Test public void testWritePerformersIDv24() throws Exception { File testFile = TestUtil.copyAudioToTmp("testV1.mp3", new File("testWritePerformersv24.mp3")); AudioFile f = AudioFileIO.read(testFile); Assert.assertNull(f.getTag().orNull()); diff --git a/ealvatag/src/test/java/ealvatag/tag/id3/valuepair/TextEncodingTest.java b/ealvatag/src/test/java/ealvatag/tag/id3/valuepair/TextEncodingTest.java index 3ef08221..6bc7e265 100644 --- a/ealvatag/src/test/java/ealvatag/tag/id3/valuepair/TextEncodingTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/id3/valuepair/TextEncodingTest.java @@ -25,7 +25,6 @@ import static org.hamcrest.junit.MatcherAssert.assertThat; import static org.junit.Assert.fail; -import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.util.NoSuchElementException; @@ -64,8 +63,7 @@ public void getIdForCharset() throws Exception { @Test(expected = NoSuchElementException.class) public void getIdForBadCharset() throws Exception { - //noinspection unused - final byte idForCharset = encoding.getIdForCharset(StandardCharsets.US_ASCII); + encoding.getIdForCharset(StandardCharsets.US_ASCII); fail(); } @@ -79,16 +77,14 @@ public void getCharsetForId() throws Exception { @Test(expected = NoSuchElementException.class) public void getCharsetForIdTooLow() throws Exception { - //noinspection unused - final Charset charsetForId = encoding.getCharsetForId(-1); + encoding.getCharsetForId(-1); fail(); } @Test(expected = NoSuchElementException.class) public void getCharsetForIdTooHigh() throws Exception { - //noinspection unused - final Charset charsetForId = encoding.getCharsetForId(TextEncoding.MAX_TEXT_ENCODING_ID + 1); + encoding.getCharsetForId(TextEncoding.MAX_TEXT_ENCODING_ID + 1); fail(); } } \ No newline at end of file diff --git a/ealvatag/src/test/java/ealvatag/tag/mp4/M4aReadTagTest.java b/ealvatag/src/test/java/ealvatag/tag/mp4/M4aReadTagTest.java index f105f8a7..be06fd1a 100644 --- a/ealvatag/src/test/java/ealvatag/tag/mp4/M4aReadTagTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/mp4/M4aReadTagTest.java @@ -54,7 +54,7 @@ public class M4aReadTagTest { AudioFile f = AudioFileIO.read(testFile); Tag tag = f.getTag().or(NullTag.INSTANCE); - Mp4AtomTree tree = new Mp4AtomTree(new RandomAccessFile(testFile, "r"), false); + new Mp4AtomTree(new RandomAccessFile(testFile, "r"), false); System.out.println(f.getAudioHeader()); System.out.println(tag); @@ -123,21 +123,21 @@ public class M4aReadTagTest { //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.TRACK)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); - Assert.assertEquals(new Short("1"), ((Mp4TrackField)mp4tag.getFirstField(Mp4FieldKey.TRACK)).getTrackNo()); - Assert.assertEquals(new Short("10"), ((Mp4TrackField)mp4tag.getFirstField(Mp4FieldKey.TRACK)).getTrackTotal()); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TrackField)mp4tag.getFirstField(Mp4FieldKey.TRACK)).getTrackNo()); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TrackField)mp4tag.getFirstField(Mp4FieldKey.TRACK)).getTrackTotal()); //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.DISCNUMBER)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getNumbers().get(2)); - Assert.assertEquals(new Short("1"), ((Mp4DiscNoField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getDiscNo()); - Assert.assertEquals(new Short("10"), ((Mp4DiscNoField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getDiscTotal()); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4DiscNoField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getDiscNo()); + Assert.assertEquals(Short.valueOf("10"), ((Mp4DiscNoField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getDiscTotal()); Assert.assertEquals("composer", mp4tag.getFirst(Mp4FieldKey.COMPOSER)); Assert.assertEquals("Sortartist", mp4tag.getFirst(Mp4FieldKey.ARTIST_SORT)); @@ -174,7 +174,7 @@ public class M4aReadTagTest { Assert.assertEquals("Genre", mp4tag.getFirst(Mp4FieldKey.GENRE_CUSTOM)); Assert.assertEquals(String.valueOf(Mp4RatingValue.EXPLICIT.getId()), mp4tag.getFirst(Mp4FieldKey.RATING)); Assert.assertEquals(String.valueOf(Mp4ContentTypeValue.BOOKLET.getId()), mp4tag.getFirst(Mp4FieldKey.CONTENT_TYPE)); - List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); + List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); //Should be one image Assert.assertEquals(1, coverart.size()); @@ -272,21 +272,21 @@ public class M4aReadTagTest { //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.TRACK)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); - Assert.assertEquals(new Short("1"), ((Mp4TrackField)mp4tag.getFirstField(Mp4FieldKey.TRACK)).getTrackNo()); - Assert.assertEquals(new Short("10"), ((Mp4TrackField)mp4tag.getFirstField(Mp4FieldKey.TRACK)).getTrackTotal()); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TrackField)mp4tag.getFirstField(Mp4FieldKey.TRACK)).getTrackNo()); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TrackField)mp4tag.getFirstField(Mp4FieldKey.TRACK)).getTrackTotal()); //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.DISCNUMBER)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getNumbers().get(2)); - Assert.assertEquals(new Short("1"), ((Mp4DiscNoField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getDiscNo()); - Assert.assertEquals(new Short("10"), ((Mp4DiscNoField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getDiscTotal()); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4DiscNoField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getDiscNo()); + Assert.assertEquals(Short.valueOf("10"), ((Mp4DiscNoField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getDiscTotal()); Assert.assertEquals("composer", mp4tag.getFirst(Mp4FieldKey.COMPOSER)); Assert.assertEquals("Sortartist", mp4tag.getFirst(Mp4FieldKey.ARTIST_SORT)); @@ -321,7 +321,7 @@ public class M4aReadTagTest { Assert.assertEquals("sortshow", mp4tag.getFirst(Mp4FieldKey.SHOW_SORT)); Assert.assertEquals("show", mp4tag.getFirst(Mp4FieldKey.SHOW)); Assert.assertEquals("genre", mp4tag.getFirst(Mp4FieldKey.GENRE_CUSTOM)); - List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); + List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); //Should be three image Assert.assertEquals(3, coverart.size()); @@ -498,17 +498,17 @@ public class M4aReadTagTest { //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.TRACK)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.DISCNUMBER)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); Assert.assertEquals("composer", mp4tag.getFirst(Mp4FieldKey.COMPOSER)); Assert.assertEquals("Sortartist", mp4tag.getFirst(Mp4FieldKey.ARTIST_SORT)); @@ -539,7 +539,7 @@ public class M4aReadTagTest { " 00000000 00000840 000000E4 0000000000A29EDC 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000", mp4tag.getFirst(Mp4FieldKey.ITUNES_SMPB)); - List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); + List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); //Should be one image Assert.assertEquals(3, coverart.size()); @@ -668,21 +668,21 @@ public class M4aReadTagTest { //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.TRACK)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); - Assert.assertEquals(new Short("1"), ((Mp4TrackField)mp4tag.getFirstField(Mp4FieldKey.TRACK)).getTrackNo()); - Assert.assertEquals(new Short("10"), ((Mp4TrackField)mp4tag.getFirstField(Mp4FieldKey.TRACK)).getTrackTotal()); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TrackField)mp4tag.getFirstField(Mp4FieldKey.TRACK)).getTrackNo()); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TrackField)mp4tag.getFirstField(Mp4FieldKey.TRACK)).getTrackTotal()); //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.DISCNUMBER)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getNumbers().get(2)); - Assert.assertEquals(new Short("1"), ((Mp4DiscNoField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getDiscNo()); - Assert.assertEquals(new Short("10"), ((Mp4DiscNoField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getDiscTotal()); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4DiscNoField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getDiscNo()); + Assert.assertEquals(Short.valueOf("10"), ((Mp4DiscNoField)mp4tag.getFirstField(Mp4FieldKey.DISCNUMBER)).getDiscTotal()); Assert.assertEquals("composer", mp4tag.getFirst(Mp4FieldKey.COMPOSER)); Assert.assertEquals("Sortartist", mp4tag.getFirst(Mp4FieldKey.ARTIST_SORT)); @@ -719,7 +719,7 @@ public class M4aReadTagTest { Assert.assertEquals("Genre", mp4tag.getFirst(Mp4FieldKey.GENRE_CUSTOM)); Assert.assertEquals(String.valueOf(Mp4RatingValue.EXPLICIT.getId()), mp4tag.getFirst(Mp4FieldKey.RATING)); Assert.assertEquals(String.valueOf(Mp4ContentTypeValue.BOOKLET.getId()), mp4tag.getFirst(Mp4FieldKey.CONTENT_TYPE)); - List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); + List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); //Should be one image Assert.assertEquals(1, coverart.size()); @@ -757,7 +757,7 @@ public class M4aReadTagTest { Exception exceptionCaught = null; try { File testFile = TestUtil.copyAudioToTmp("test7.mp4"); - Mp4AtomTree tree = new Mp4AtomTree(new RandomAccessFile(testFile, "r"), false); + new Mp4AtomTree(new RandomAccessFile(testFile, "r"), false); AudioFileIO.read(testFile); @@ -781,9 +781,9 @@ public class M4aReadTagTest { Exception exceptionCaught = null; try { File testFile = TestUtil.copyAudioToTmp("test86.mp4"); - Mp4AtomTree tree = new Mp4AtomTree(new RandomAccessFile(testFile, "r"), false); + new Mp4AtomTree(new RandomAccessFile(testFile, "r"), false); - AudioFile f = AudioFileIO.read(testFile); + AudioFileIO.read(testFile); } catch (Exception e) { e.printStackTrace(System.err); @@ -806,9 +806,9 @@ public class M4aReadTagTest { try { File testFile = TestUtil.copyAudioToTmp("test87.mp4"); - Mp4AtomTree tree = new Mp4AtomTree(new RandomAccessFile(testFile, "r"), false); + new Mp4AtomTree(new RandomAccessFile(testFile, "r"), false); - AudioFile f = AudioFileIO.read(testFile); + AudioFileIO.read(testFile); } catch (Exception e) { e.printStackTrace(System.err); @@ -1124,7 +1124,7 @@ public class M4aReadTagTest { Assert.assertEquals("Es Wird Morgen", tag.getFirst(FieldKey.ALBUM)); Assert.assertEquals("2raumwohnung", tag.getFirst(FieldKey.ARTIST)); - List pictures = tag.get(Mp4FieldKey.ARTWORK); + List pictures = tag.get(Mp4FieldKey.ARTWORK); Assert.assertEquals(1, pictures.size()); Mp4TagCoverField artwork = (Mp4TagCoverField)pictures.get(0); Assert.assertEquals(Mp4FieldType.COVERART_PNG, artwork.getFieldType()); @@ -1218,7 +1218,6 @@ public class M4aReadTagTest { return; } - Exception exceptionCaught = null; try { Assert.assertTrue(Mp4GenreField.isValidGenre("Rock")); @@ -1229,7 +1228,6 @@ public class M4aReadTagTest { Assert.assertEquals("Rock", tagReader.getFirst(FieldKey.GENRE)); } catch (IOException e) { e.printStackTrace(); - exceptionCaught = e; } } @@ -1299,14 +1297,12 @@ public class M4aReadTagTest { return; } - Exception exceptionCaught = null; - try { + try { File testFile = TestUtil.copyAudioToTmp("test147.m4a"); AudioFile f = AudioFileIO.read(testFile); - Tag tag = f.getTag().or(NullTag.INSTANCE); + f.getTag().or(NullTag.INSTANCE); } catch (Exception e) { e.printStackTrace(); - exceptionCaught = e; } //assertNull(exceptionCaught); diff --git a/ealvatag/src/test/java/ealvatag/tag/mp4/M4aWriteDataBeforeMoovTagTest.java b/ealvatag/src/test/java/ealvatag/tag/mp4/M4aWriteDataBeforeMoovTagTest.java index 4fc1e428..dd975336 100644 --- a/ealvatag/src/test/java/ealvatag/tag/mp4/M4aWriteDataBeforeMoovTagTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/mp4/M4aWriteDataBeforeMoovTagTest.java @@ -27,8 +27,7 @@ public class M4aWriteDataBeforeMoovTagTest { try { File testFile = TestUtil.copyAudioToTmp("test15.m4a", new File("testWriteWhenMDatAtStart1.m4a")); - //First lets just createField tree - Mp4AtomTree atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); //Now we try to make some changes AudioFile f = AudioFileIO.read(testFile); @@ -42,8 +41,7 @@ public class M4aWriteDataBeforeMoovTagTest { tag = f.getTag().or(NullTag.INSTANCE); System.out.println(tag); - //See tree again - atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); //Ease of use methods for common fields Assert.assertEquals("AUTHOR", tag.getFirst(FieldKey.ARTIST)); @@ -64,8 +62,7 @@ public class M4aWriteDataBeforeMoovTagTest { try { File testFile = TestUtil.copyAudioToTmp("test15.m4a", new File("testWriteWhenMDatAtStart2.m4a")); - //First lets just createField tree - Mp4AtomTree atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); //Now we try to make some changes AudioFile f = AudioFileIO.read(testFile); @@ -82,8 +79,7 @@ public class M4aWriteDataBeforeMoovTagTest { tag = f.getTag().or(NullTag.INSTANCE); System.out.println(tag); - //See tree again - atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); //Ease of use methods for common fields Assert.assertEquals("AR", tag.getFirst(FieldKey.ARTIST)); @@ -105,8 +101,7 @@ public class M4aWriteDataBeforeMoovTagTest { try { File testFile = TestUtil.copyAudioToTmp("test15.m4a", new File("testWriteWhenMDatAtStart3.m4a")); - //First lets just createField tree - Mp4AtomTree atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); //Now we try to make some changes AudioFile f = AudioFileIO.read(testFile); @@ -120,8 +115,7 @@ public class M4aWriteDataBeforeMoovTagTest { tag = f.getTag().or(NullTag.INSTANCE); System.out.println(tag); - //See tree again - atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); //Ease of use methods for common fields Assert.assertEquals("AR", tag.getFirst(FieldKey.ARTIST)); @@ -145,8 +139,7 @@ public class M4aWriteDataBeforeMoovTagTest { File testFile = TestUtil.copyAudioToTmp("test15.m4a", new File("testWriteWhenMDatAtStart8.m4a")); AudioFile f = AudioFileIO.read(testFile); - //First lets just createField tree - Mp4AtomTree atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); Tag tag = f.getTag().or(NullTag.INSTANCE); @@ -177,7 +170,7 @@ public class M4aWriteDataBeforeMoovTagTest { //Save changes and reread from disk f.save(); - atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); f = AudioFileIO.read(testFile); tag = f.getTag().or(NullTag.INSTANCE); diff --git a/ealvatag/src/test/java/ealvatag/tag/mp4/M4aWriteDatatoMultTrackAudioTest.java b/ealvatag/src/test/java/ealvatag/tag/mp4/M4aWriteDatatoMultTrackAudioTest.java index 5d4ef41f..67443e0d 100644 --- a/ealvatag/src/test/java/ealvatag/tag/mp4/M4aWriteDatatoMultTrackAudioTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/mp4/M4aWriteDatatoMultTrackAudioTest.java @@ -33,8 +33,7 @@ public void tearDown() { try { File testFile = TestUtil.copyAudioToTmp("test16.m4a", new File("testWriteMultiTrack1.m4a")); - //First let's just createField tree - Mp4AtomTree atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); //Now we try to make some changes AudioFile f = AudioFileIO.read(testFile); @@ -49,8 +48,7 @@ public void tearDown() { tag = f.getTag().or(NullTag.INSTANCE); System.out.println(tag); - //See tree again - atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); //Ease of use methods for common fields Assert.assertEquals("AUTHOR", tag.getFirst(FieldKey.ARTIST)); @@ -71,8 +69,7 @@ public void tearDown() { try { File testFile = TestUtil.copyAudioToTmp("test16.m4a", new File("testWriteMultiTrack3.m4a")); - //First lets just createField tree - Mp4AtomTree atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); //Now we try to make some changes AudioFile f = AudioFileIO.read(testFile); @@ -87,8 +84,7 @@ public void tearDown() { tag = f.getTag().or(NullTag.INSTANCE); System.out.println(tag); - //See tree again - atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); //Ease of use methods for common fields Assert.assertEquals("A", tag.getFirst(FieldKey.ARTIST)); @@ -109,8 +105,7 @@ public void tearDown() { try { File testFile = TestUtil.copyAudioToTmp("test16.m4a", new File("testWriteMultiTrack4.m4a")); - //First lets just createField tree - Mp4AtomTree atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); //Now we try to make some changes AudioFile f = AudioFileIO.read(testFile); @@ -124,8 +119,7 @@ public void tearDown() { tag = f.getTag().or(NullTag.INSTANCE); System.out.println(tag); - //See tree again - atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); //Ease of use methods for common fields Assert.assertEquals("AR", tag.getFirst(FieldKey.ARTIST)); @@ -390,7 +384,7 @@ public void tearDown() { //Visual check of atom tree testFile = TestUtil.getTestDataTmpFile("testWriteMultiTrack7.m4a"); - Mp4AtomTree atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); } catch (Exception e) { e.printStackTrace(); diff --git a/ealvatag/src/test/java/ealvatag/tag/mp4/M4aWriteTagTest.java b/ealvatag/src/test/java/ealvatag/tag/mp4/M4aWriteTagTest.java index 74e33b1c..7c529095 100644 --- a/ealvatag/src/test/java/ealvatag/tag/mp4/M4aWriteTagTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/mp4/M4aWriteTagTest.java @@ -115,17 +115,17 @@ public class M4aWriteTagTest { //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("2/12", mp4tag.getFirst(Mp4FieldKey.TRACK)); Assert.assertEquals("2/12", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("2"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("12"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("2"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("12"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("4/15", mp4tag.getFirst(Mp4FieldKey.DISCNUMBER)); Assert.assertEquals("4/15", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("4"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("15"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("4"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("15"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); Assert.assertEquals("composer", mp4tag.getFirst(Mp4FieldKey.COMPOSER)); Assert.assertEquals("Sortartist", mp4tag.getFirst(Mp4FieldKey.ARTIST_SORT)); @@ -162,7 +162,7 @@ public class M4aWriteTagTest { Assert.assertEquals(String.valueOf(Mp4RatingValue.EXPLICIT.getId()), mp4tag.getFirst(Mp4FieldKey.RATING)); Assert.assertEquals(String.valueOf(Mp4ContentTypeValue.BOOKLET.getId()), mp4tag.getFirst(Mp4FieldKey.CONTENT_TYPE)); - List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); + List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); //Should be one image Assert.assertEquals(1, coverart.size()); @@ -249,17 +249,17 @@ public class M4aWriteTagTest { //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.TRACK)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.DISCNUMBER)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); Assert.assertEquals("composer", mp4tag.getFirst(Mp4FieldKey.COMPOSER)); Assert.assertEquals("Sortartist", mp4tag.getFirst(Mp4FieldKey.ARTIST_SORT)); @@ -296,7 +296,7 @@ public class M4aWriteTagTest { Assert.assertEquals(String.valueOf(Mp4RatingValue.EXPLICIT.getId()), mp4tag.getFirst(Mp4FieldKey.RATING)); Assert.assertEquals(String.valueOf(Mp4ContentTypeValue.BOOKLET.getId()), mp4tag.getFirst(Mp4FieldKey.CONTENT_TYPE)); - List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); + List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); //Should be one image Assert.assertEquals(1, coverart.size()); @@ -384,17 +384,17 @@ public class M4aWriteTagTest { //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.TRACK)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.DISCNUMBER)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); Assert.assertEquals("composer", mp4tag.getFirst(Mp4FieldKey.COMPOSER)); Assert.assertEquals("Sortartist", mp4tag.getFirst(Mp4FieldKey.ARTIST_SORT)); @@ -431,7 +431,7 @@ public class M4aWriteTagTest { Assert.assertEquals(String.valueOf(Mp4RatingValue.EXPLICIT.getId()), mp4tag.getFirst(Mp4FieldKey.RATING)); Assert.assertEquals(String.valueOf(Mp4ContentTypeValue.BOOKLET.getId()), mp4tag.getFirst(Mp4FieldKey.CONTENT_TYPE)); - List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); + List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); //Should be one image Assert.assertEquals(1, coverart.size()); @@ -524,17 +524,17 @@ public class M4aWriteTagTest { //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", tag.getFirst(Mp4FieldKey.TRACK)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", tag.getFirst(Mp4FieldKey.DISCNUMBER)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); Assert.assertEquals("composer", tag.getFirst(Mp4FieldKey.COMPOSER)); Assert.assertEquals("Sortartist", tag.getFirst(Mp4FieldKey.ARTIST_SORT)); @@ -571,7 +571,7 @@ public class M4aWriteTagTest { Assert.assertEquals(String.valueOf(Mp4RatingValue.EXPLICIT.getId()), tag.getFirst(Mp4FieldKey.RATING)); Assert.assertEquals(String.valueOf(Mp4ContentTypeValue.BOOKLET.getId()), tag.getFirst(Mp4FieldKey.CONTENT_TYPE)); - List coverart = tag.get(Mp4FieldKey.ARTWORK); + List coverart = tag.get(Mp4FieldKey.ARTWORK); //Should be one image Assert.assertEquals(2, coverart.size()); @@ -674,17 +674,17 @@ public class M4aWriteTagTest { //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", tag.getFirst(Mp4FieldKey.TRACK)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", tag.getFirst(Mp4FieldKey.DISCNUMBER)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); Assert.assertEquals("composer", tag.getFirst(Mp4FieldKey.COMPOSER)); Assert.assertEquals("Sortartist", tag.getFirst(Mp4FieldKey.ARTIST_SORT)); @@ -721,7 +721,7 @@ public class M4aWriteTagTest { Assert.assertEquals(String.valueOf(Mp4RatingValue.EXPLICIT.getId()), tag.getFirst(Mp4FieldKey.RATING)); Assert.assertEquals(String.valueOf(Mp4ContentTypeValue.BOOKLET.getId()), tag.getFirst(Mp4FieldKey.CONTENT_TYPE)); - List coverart = tag.get(Mp4FieldKey.ARTWORK); + List coverart = tag.get(Mp4FieldKey.ARTWORK); //Should be one image Assert.assertEquals(2, coverart.size()); @@ -861,17 +861,17 @@ public class M4aWriteTagTest { //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("2/12", mp4tag.getFirst(Mp4FieldKey.TRACK)); Assert.assertEquals("2/12", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("2"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("12"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("2"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("12"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("4/15", mp4tag.getFirst(Mp4FieldKey.DISCNUMBER)); Assert.assertEquals("4/15", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("4"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("15"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("4"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("15"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); Assert.assertEquals("composer", mp4tag.getFirst(Mp4FieldKey.COMPOSER)); Assert.assertEquals("Sortartist", mp4tag.getFirst(Mp4FieldKey.ARTIST_SORT)); @@ -908,7 +908,7 @@ public class M4aWriteTagTest { Assert.assertEquals(String.valueOf(Mp4RatingValue.EXPLICIT.getId()), mp4tag.getFirst(Mp4FieldKey.RATING)); Assert.assertEquals(String.valueOf(Mp4ContentTypeValue.BOOKLET.getId()), mp4tag.getFirst(Mp4FieldKey.CONTENT_TYPE)); - List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); + List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); //Should be one image Assert.assertEquals(1, coverart.size()); @@ -996,17 +996,17 @@ public class M4aWriteTagTest { //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.TRACK)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.DISCNUMBER)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); Assert.assertEquals("composer", mp4tag.getFirst(Mp4FieldKey.COMPOSER)); Assert.assertEquals("Sortartist", mp4tag.getFirst(Mp4FieldKey.ARTIST_SORT)); @@ -1043,7 +1043,7 @@ public class M4aWriteTagTest { Assert.assertEquals(String.valueOf(Mp4RatingValue.EXPLICIT.getId()), mp4tag.getFirst(Mp4FieldKey.RATING)); Assert.assertEquals(String.valueOf(Mp4ContentTypeValue.BOOKLET.getId()), mp4tag.getFirst(Mp4FieldKey.CONTENT_TYPE)); - List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); + List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); //Should be one image Assert.assertEquals(1, coverart.size()); @@ -1130,17 +1130,17 @@ public class M4aWriteTagTest { //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.TRACK)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.DISCNUMBER)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); Assert.assertEquals("composer", mp4tag.getFirst(Mp4FieldKey.COMPOSER)); Assert.assertEquals("Sortartist", mp4tag.getFirst(Mp4FieldKey.ARTIST_SORT)); @@ -1177,7 +1177,7 @@ public class M4aWriteTagTest { Assert.assertEquals(String.valueOf(Mp4RatingValue.EXPLICIT.getId()), mp4tag.getFirst(Mp4FieldKey.RATING)); Assert.assertEquals(String.valueOf(Mp4ContentTypeValue.BOOKLET.getId()), mp4tag.getFirst(Mp4FieldKey.CONTENT_TYPE)); - List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); + List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); //Should be one image Assert.assertEquals(1, coverart.size()); @@ -1264,17 +1264,17 @@ public class M4aWriteTagTest { //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.TRACK)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.DISCNUMBER)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); Assert.assertEquals("composer", mp4tag.getFirst(Mp4FieldKey.COMPOSER)); Assert.assertEquals("Sortartist", mp4tag.getFirst(Mp4FieldKey.ARTIST_SORT)); @@ -1311,7 +1311,7 @@ public class M4aWriteTagTest { Assert.assertEquals(String.valueOf(Mp4RatingValue.EXPLICIT.getId()), mp4tag.getFirst(Mp4FieldKey.RATING)); Assert.assertEquals(String.valueOf(Mp4ContentTypeValue.BOOKLET.getId()), mp4tag.getFirst(Mp4FieldKey.CONTENT_TYPE)); - List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); + List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); //Should be one image Assert.assertEquals(2, coverart.size()); @@ -1399,17 +1399,17 @@ public class M4aWriteTagTest { //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.TRACK)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.DISCNUMBER)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); Assert.assertEquals("composer", mp4tag.getFirst(Mp4FieldKey.COMPOSER)); Assert.assertEquals("Sortartist", mp4tag.getFirst(Mp4FieldKey.ARTIST_SORT)); @@ -1446,7 +1446,7 @@ public class M4aWriteTagTest { Assert.assertEquals(String.valueOf(Mp4RatingValue.EXPLICIT.getId()), mp4tag.getFirst(Mp4FieldKey.RATING)); Assert.assertEquals(String.valueOf(Mp4ContentTypeValue.BOOKLET.getId()), mp4tag.getFirst(Mp4FieldKey.CONTENT_TYPE)); - List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); + List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); //Should be one image Assert.assertEquals(2, coverart.size()); @@ -1523,17 +1523,17 @@ public class M4aWriteTagTest { //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.TRACK)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.DISCNUMBER)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); Assert.assertEquals("composer", mp4tag.getFirst(Mp4FieldKey.COMPOSER)); Assert.assertEquals("Sortartist", mp4tag.getFirst(Mp4FieldKey.ARTIST_SORT)); @@ -1570,7 +1570,7 @@ public class M4aWriteTagTest { Assert.assertEquals(String.valueOf(Mp4RatingValue.EXPLICIT.getId()), mp4tag.getFirst(Mp4FieldKey.RATING)); Assert.assertEquals(String.valueOf(Mp4ContentTypeValue.BOOKLET.getId()), mp4tag.getFirst(Mp4FieldKey.CONTENT_TYPE)); - List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); + List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); //Should be one image Assert.assertEquals(1, coverart.size()); @@ -1600,7 +1600,7 @@ public class M4aWriteTagTest { try { File testFile = TestUtil.copyAudioToTmp("test4.m4a", new File("testWriteNewMetadata.m4a")); - Mp4AtomTree atomTree = new Mp4AtomTree(new RandomAccessFile(testFile, "r")); + new Mp4AtomTree(new RandomAccessFile(testFile, "r")); AudioFile f = AudioFileIO.read(testFile); Tag tag = f.getTag().or(NullTag.INSTANCE); @@ -1636,7 +1636,7 @@ public class M4aWriteTagTest { Assert.assertEquals("AL", tag.getFirst(FieldKey.ALBUM)); //Should be two images - List coverart = tag.getFields(FieldKey.COVER_ART); + List coverart = tag.getFields(FieldKey.COVER_ART); Assert.assertEquals(2, coverart.size()); Mp4TagCoverField coverArtField = (Mp4TagCoverField)coverart.get(0); @@ -1775,17 +1775,17 @@ public class M4aWriteTagTest { //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.TRACK)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/10", mp4tag.getFirst(Mp4FieldKey.DISCNUMBER)); Assert.assertEquals("1/10", ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getContent()); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("10"), ((Mp4TagTextNumberField)mp4tag.get(Mp4FieldKey.DISCNUMBER).get(0)).getNumbers().get(2)); Assert.assertEquals("composer", mp4tag.getFirst(Mp4FieldKey.COMPOSER)); Assert.assertEquals("Sortartist", mp4tag.getFirst(Mp4FieldKey.ARTIST_SORT)); @@ -1822,7 +1822,7 @@ public class M4aWriteTagTest { Assert.assertEquals(String.valueOf(Mp4RatingValue.EXPLICIT.getId()), mp4tag.getFirst(Mp4FieldKey.RATING)); Assert.assertEquals(String.valueOf(Mp4ContentTypeValue.BOOKLET.getId()), mp4tag.getFirst(Mp4FieldKey.CONTENT_TYPE)); - List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); + List coverart = mp4tag.get(Mp4FieldKey.ARTWORK); //Should be one image Assert.assertEquals(2, coverart.size()); } catch (Exception e) { @@ -1838,7 +1838,8 @@ public class M4aWriteTagTest { *

* TODO:Test incomplete */ - @Test public void testWriteAllFields() { + @SuppressWarnings("deprecation") + @Test public void testWriteAllFields() { Exception exceptionCaught = null; try { File testFile = TestUtil.copyAudioToTmp("test5.m4a", new File("testWriteAllFields.m4a")); diff --git a/ealvatag/src/test/java/ealvatag/tag/mp4/Mp4StemWriteTagTest.java b/ealvatag/src/test/java/ealvatag/tag/mp4/Mp4StemWriteTagTest.java index e632a049..fd9a8b33 100644 --- a/ealvatag/src/test/java/ealvatag/tag/mp4/Mp4StemWriteTagTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/mp4/Mp4StemWriteTagTest.java @@ -12,6 +12,7 @@ import ealvatag.tag.FieldKey; import ealvatag.tag.NullTag; import ealvatag.tag.TagException; +import ealvatag.tag.TagField; import ealvatag.tag.TagOptionSingleton; import ealvatag.tag.mp4.field.Mp4FieldType; import ealvatag.tag.mp4.field.Mp4TagCoverField; @@ -56,8 +57,8 @@ public class Mp4StemWriteTagTest { // verify that all five tracks were recognized Assert.assertEquals(5, beforeStcos.size()); int freeSpace = 0; - for (final DefaultMutableTreeNode node : treeBefore.getFreeNodes()) { - freeSpace += ((Mp4BoxHeader)node.getUserObject()).getDataLength(); + for (final DefaultMutableTreeNode node : treeBefore.getFreeNodes()) { + freeSpace += node.getUserObject().getDataLength(); } System.out.println("Available free space: " + freeSpace); @@ -136,12 +137,12 @@ private static int getOffsetShift(final Mp4StcoBox before, final Mp4StcoBox afte Assert.assertEquals("stem_test_track", tag.getFirst(Mp4FieldKey.TITLE)); //Not sure why there are 4 values, only understand 2nd and third Assert.assertEquals("1/1", tag.getFirst(Mp4FieldKey.TRACK)); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); - Assert.assertEquals(new Short("1"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); - Assert.assertEquals(new Short("0"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(0)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(1)); + Assert.assertEquals(Short.valueOf("1"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(2)); + Assert.assertEquals(Short.valueOf("0"), ((Mp4TagTextNumberField)tag.get(Mp4FieldKey.TRACK).get(0)).getNumbers().get(3)); - List coverart = tag.get(Mp4FieldKey.ARTWORK); + List coverart = tag.get(Mp4FieldKey.ARTWORK); //Should be one image Assert.assertEquals(1, coverart.size()); diff --git a/ealvatag/src/test/java/ealvatag/tag/reference/GenreTypesTest.java b/ealvatag/src/test/java/ealvatag/tag/reference/GenreTypesTest.java index 3ac8874b..84615150 100644 --- a/ealvatag/src/test/java/ealvatag/tag/reference/GenreTypesTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/reference/GenreTypesTest.java @@ -17,13 +17,16 @@ package ealvatag.tag.reference; -import ealvatag.tag.id3.valuepair.BaseSimpleIntStringMapTypeTest; -import ealvatag.utils.InclusiveIntegerRange; +import static org.hamcrest.core.Is.is; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.hamcrest.MatcherAssert.assertThat; + import org.junit.Before; import org.junit.Test; -import static org.hamcrest.core.Is.is; -import static org.junit.Assert.*; +import ealvatag.tag.id3.valuepair.BaseSimpleIntStringMapTypeTest; +import ealvatag.utils.InclusiveIntegerRange; /** * Ensure GenreTypes configured properly diff --git a/ealvatag/src/test/java/ealvatag/tag/reference/PictureTypesTest.java b/ealvatag/src/test/java/ealvatag/tag/reference/PictureTypesTest.java index dd195fce..e56f0ffb 100644 --- a/ealvatag/src/test/java/ealvatag/tag/reference/PictureTypesTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/reference/PictureTypesTest.java @@ -22,8 +22,6 @@ import org.junit.Before; import org.junit.Test; -import static org.junit.Assert.*; - /** * Test {@link PictureTypes} is configured properly * diff --git a/ealvatag/src/test/java/ealvatag/tag/vorbiscomment/VorbisReadTagTest.java b/ealvatag/src/test/java/ealvatag/tag/vorbiscomment/VorbisReadTagTest.java index 6870acbf..a6f15271 100644 --- a/ealvatag/src/test/java/ealvatag/tag/vorbiscomment/VorbisReadTagTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/vorbiscomment/VorbisReadTagTest.java @@ -38,7 +38,7 @@ public class VorbisReadTagTest { //Can summarize file File testFile = TestUtil.copyAudioToTmp("test6.ogg"); RandomAccessFile raf = new RandomAccessFile(testFile, "r"); - OggFileReader oggFileReader = new OggFileReader(); + new OggFileReader(); raf.close(); } catch (Exception e) { e.printStackTrace(); diff --git a/ealvatag/src/test/java/ealvatag/tag/vorbiscomment/VorbisWriteTagTest.java b/ealvatag/src/test/java/ealvatag/tag/vorbiscomment/VorbisWriteTagTest.java index e6f89aa4..1d3492b4 100644 --- a/ealvatag/src/test/java/ealvatag/tag/vorbiscomment/VorbisWriteTagTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/vorbiscomment/VorbisWriteTagTest.java @@ -73,7 +73,7 @@ public class VorbisWriteTagTest { //Can summarize file File testFile = TestUtil.copyAudioToTmp("test.ogg", new File("testSummarizeFile.ogg")); RandomAccessFile raf = new RandomAccessFile(testFile, "r"); - OggFileReader oggFileReader = new OggFileReader(); + new OggFileReader(); raf.close(); } catch (Exception e) { e.printStackTrace(); diff --git a/ealvatag/src/test/java/ealvatag/tag/wav/WavMetadataTest.java b/ealvatag/src/test/java/ealvatag/tag/wav/WavMetadataTest.java index ebf962a5..feaea6e3 100644 --- a/ealvatag/src/test/java/ealvatag/tag/wav/WavMetadataTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/wav/WavMetadataTest.java @@ -1392,7 +1392,6 @@ public void setup() { TagOptionSingleton.getInstance().setWavOptions(WavOptions.READ_ID3_UNLESS_ONLY_INFO); TagOptionSingleton.getInstance().setWavSaveOrder(WavSaveOrder.ID3_THEN_INFO); - Exception exceptionCaught = null; File testFile = TestUtil.copyAudioToTmp("test504.wav", new File("test504clean.wav")); try { @@ -1400,7 +1399,6 @@ public void setup() { System.out.println(f.getAudioHeader()); } catch (Exception e) { e.printStackTrace(); - exceptionCaught = e; } Exception exceptionCaught2 = null; @@ -1433,7 +1431,6 @@ public void setup() { TagOptionSingleton.getInstance().setWavOptions(WavOptions.READ_ID3_UNLESS_ONLY_INFO); TagOptionSingleton.getInstance().setWavSaveOrder(WavSaveOrder.ID3_THEN_INFO); - Exception exceptionCaught = null; try { File testFile = TestUtil.copyAudioToTmp("test505.wav"); AudioFile f = AudioFileIO.read(testFile); @@ -1444,7 +1441,6 @@ public void setup() { } catch (Exception e) { e.printStackTrace(); - exceptionCaught = e; } } @@ -1502,7 +1498,6 @@ public void setup() { TagOptionSingleton.getInstance().setWavOptions(WavOptions.READ_ID3_UNLESS_ONLY_INFO); TagOptionSingleton.getInstance().setWavSaveOptions(WavSaveOptions.SAVE_EXISTING_AND_ACTIVE); TagOptionSingleton.getInstance().setWavSaveOrder(WavSaveOrder.INFO_THEN_ID3); - Exception exceptionCaught = null; try { File testFile = TestUtil.copyAudioToTmp("GreenLight.wav"); AudioFile f = AudioFileIO.read(testFile); @@ -1516,7 +1511,6 @@ public void setup() { System.out.println(f.getTag().or(NullTag.INSTANCE)); } catch (Exception e) { e.printStackTrace(); - exceptionCaught = e; } } diff --git a/ealvatag/src/test/java/ealvatag/tag/wav/WavMetadataTwonkyTrckTest.java b/ealvatag/src/test/java/ealvatag/tag/wav/WavMetadataTwonkyTrckTest.java index 1ecc2cdc..01ce4bc7 100644 --- a/ealvatag/src/test/java/ealvatag/tag/wav/WavMetadataTwonkyTrckTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/wav/WavMetadataTwonkyTrckTest.java @@ -1414,7 +1414,6 @@ public class WavMetadataTwonkyTrckTest { TagOptionSingleton.getInstance().setWavOptions(WavOptions.READ_ID3_UNLESS_ONLY_INFO); TagOptionSingleton.getInstance().setWavSaveOrder(WavSaveOrder.ID3_THEN_INFO); - Exception exceptionCaught = null; File testFile = TestUtil.copyAudioToTmp("test504.wav", new File("test504clean.wav")); try { @@ -1422,7 +1421,6 @@ public class WavMetadataTwonkyTrckTest { System.out.println(f.getAudioHeader()); } catch (Exception e) { e.printStackTrace(); - exceptionCaught = e; } Exception exceptionCaught2 = null; @@ -1456,7 +1454,6 @@ public class WavMetadataTwonkyTrckTest { TagOptionSingleton.getInstance().setWavSaveOrder(WavSaveOrder.ID3_THEN_INFO); TagOptionSingleton.getInstance().setWriteWavForTwonky(true); - Exception exceptionCaught = null; try { File testFile = TestUtil.copyAudioToTmp("test505.wav"); AudioFile f = AudioFileIO.read(testFile); @@ -1467,7 +1464,6 @@ public class WavMetadataTwonkyTrckTest { } catch (Exception e) { e.printStackTrace(); - exceptionCaught = e; } } @@ -1528,7 +1524,6 @@ public class WavMetadataTwonkyTrckTest { TagOptionSingleton.getInstance().setWavSaveOrder(WavSaveOrder.INFO_THEN_ID3); TagOptionSingleton.getInstance().setWriteWavForTwonky(true); - Exception exceptionCaught = null; try { File testFile = TestUtil.copyAudioToTmp("GreenLight.wav"); AudioFile f = AudioFileIO.read(testFile); @@ -1542,7 +1537,6 @@ public class WavMetadataTwonkyTrckTest { System.out.println(f.getTag().or(NullTag.INSTANCE)); } catch (Exception e) { e.printStackTrace(); - exceptionCaught = e; } } diff --git a/ealvatag/src/test/java/ealvatag/tag/wma/WmaSimpleTest.java b/ealvatag/src/test/java/ealvatag/tag/wma/WmaSimpleTest.java index e014bbe1..d47f9ab9 100644 --- a/ealvatag/src/test/java/ealvatag/tag/wma/WmaSimpleTest.java +++ b/ealvatag/src/test/java/ealvatag/tag/wma/WmaSimpleTest.java @@ -44,8 +44,7 @@ public class WmaSimpleTest { Exception exceptionCaught = null; try { File testFile = TestUtil.copyAudioToTmp("test2.wma"); - AudioFile f = AudioFileIO.read(testFile); - //Now + AudioFileIO.read(testFile); } catch (Exception e) { e.printStackTrace(); exceptionCaught = e; diff --git a/ealvatag/src/test/java/ealvatag/test/ExtractID3TagFromFile.java b/ealvatag/src/test/java/ealvatag/test/ExtractID3TagFromFile.java index 3b87d8cb..5e7a627d 100644 --- a/ealvatag/src/test/java/ealvatag/test/ExtractID3TagFromFile.java +++ b/ealvatag/src/test/java/ealvatag/test/ExtractID3TagFromFile.java @@ -13,7 +13,7 @@ public class ExtractID3TagFromFile public static void main(final String[] args) { - ExtractID3TagFromFile test = new ExtractID3TagFromFile(); + new ExtractID3TagFromFile(); if (args.length != 2) { diff --git a/ealvatag/src/test/java/ealvatag/test/MergeID3AndMP3Files.java b/ealvatag/src/test/java/ealvatag/test/MergeID3AndMP3Files.java index fc8eee53..0ba15572 100644 --- a/ealvatag/src/test/java/ealvatag/test/MergeID3AndMP3Files.java +++ b/ealvatag/src/test/java/ealvatag/test/MergeID3AndMP3Files.java @@ -187,7 +187,7 @@ public final boolean accept(final File file) public static File copyAudioToTmp(File toDir, File tagFile, File mp3File) { File outputFile = new File(toDir.getPath(), tagFile.getName()); - boolean result = append(tagFile, mp3File, outputFile); + append(tagFile, mp3File, outputFile); return outputFile; } diff --git a/pom.xml b/pom.xml new file mode 100644 index 00000000..6e28db70 --- /dev/null +++ b/pom.xml @@ -0,0 +1,36 @@ + + + 4.0.0 + com.ealva + ealvatag-pom + 0.4.7-SNAPSHOT + pom + ealvatag + + + 11 + 11 + UTF-8 + + + + + jitpack.io + https://jitpack.io + + + repo.maven.apache.org + https://repo.maven.apache.org/maven2 + + + oss.sonatype.org + https://oss.sonatype.org/content/repositories/snapshots + + + + + ealvatag + +