Author: maeste
Date: 2008-06-07 16:29:57 -0400 (Sat, 07 Jun 2008)
New Revision: 248
Added:
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3/
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3/Mp3Metadata.java
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3/Mp3MetadataSequencer.java
trunk/sequencers/dna-sequencer-mp3/src/test/java/org/
trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/
trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/dna/
trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/dna/sequencer/
trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/dna/sequencer/mp3/
trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/dna/sequencer/mp3/Mp3MetadataTest.java
Removed:
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3/
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3/Mp3Metadata.java
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3/Mp3MetadataSequencer.java
trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/
trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/dna/
trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/dna/sequencer/
trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/dna/sequencer/mp3/
trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/dna/sequencer/mp3/Mp3MetadataTest.java
Modified:
trunk/sequencers/dna-sequencer-mp3/pom.xml
Log:
reverted my last wrong *stupid* commit :(
Modified: trunk/sequencers/dna-sequencer-mp3/pom.xml
===================================================================
--- trunk/sequencers/dna-sequencer-mp3/pom.xml 2008-06-07 13:13:35 UTC (rev 247)
+++ trunk/sequencers/dna-sequencer-mp3/pom.xml 2008-06-07 20:29:57 UTC (rev 248)
@@ -7,10 +7,10 @@
<relativePath>../..</relativePath>
</parent>
<!-- The groupId and version values are inherited from parent -->
- <artifactId>dna-sequencer-esbMessage</artifactId>
+ <artifactId>dna-sequencer-mp3</artifactId>
<packaging>jar</packaging>
- <name>JBoss DNA ESB Message Sequencer</name>
- <description>JBoss DNA Sequencer that processes ESB Message</description>
+ <name>JBoss DNA MP3 Sequencer</name>
+ <description>JBoss DNA Sequencer that processes MP3 audio
files</description>
<
url>http://labs.jboss.org/dna</url>
<dependencies>
<dependency>
@@ -22,14 +22,14 @@
<artifactId>dna-spi</artifactId>
</dependency>
<dependency>
+ <groupId>org.jaudiotagger</groupId>
+ <artifactId>jaudiotagger</artifactId>
+ <version>1.0.8</version>
+ </dependency>
+ <dependency>
<groupId>junit</groupId>
<artifactId>junit-dep</artifactId>
<version>4.4</version>
</dependency>
- <dependency>
- <groupId>jbossesb-rosetta.jar</groupId>
- <artifactId>jbossesb-rosetta-dep</artifactId>
- <version>4.3</version>
- </dependency>
</dependencies>
</project>
\ No newline at end of file
Copied: trunk/sequencers/dna-sequencer-mp3/src/main/java/org (from rev 246,
trunk/sequencers/dna-sequencer-mp3/src/main/java/org)
Copied: trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss (from rev 246,
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss)
Copied: trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna (from rev 246,
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna)
Copied: trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer (from rev
246, trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer)
Copied: trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3 (from
rev 246, trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3)
Deleted:
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3/Mp3Metadata.java
===================================================================
---
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3/Mp3Metadata.java 2008-06-07
12:28:47 UTC (rev 246)
+++
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3/Mp3Metadata.java 2008-06-07
20:29:57 UTC (rev 248)
@@ -1,82 +0,0 @@
-package org.jboss.dna.sequencer.mp3;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.InputStream;
-import java.util.logging.Level;
-import org.jaudiotagger.audio.AudioFile;
-import org.jaudiotagger.audio.AudioFileIO;
-import org.jaudiotagger.tag.Tag;
-
-/**
- * Utility for extracting metadata from MP3 files.
- * @author Stefano Maestri
- */
-public class Mp3Metadata {
-
- private String title;
- private String author;
- private String album;
- private String year;
- private String comment;
-
- private Mp3Metadata() {
-
- }
-
- public static Mp3Metadata instance( InputStream stream ) {
-
- Mp3Metadata me = null;
- File tmpFile = null;
- try {
- tmpFile = File.createTempFile("dna-sequencer-mp3",
".mp3");
- FileOutputStream writer = new FileOutputStream(tmpFile);
- byte[] b = new byte[128];
- while (stream.read(b) != -1) {
- writer.write(b);
- }
- writer.close();
- AudioFileIO.logger.getParent().setLevel(Level.OFF);
- AudioFile f = AudioFileIO.read(tmpFile);
- Tag tag = f.getTag();
-
- me = new Mp3Metadata();
-
- me.author = tag.getFirstArtist();
- me.album = tag.getFirstAlbum();
- me.title = tag.getFirstTitle();
- me.comment = tag.getFirstComment();
- me.year = tag.getFirstYear();
-
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- if (tmpFile != null) {
- tmpFile.delete();
- }
- }
- return me;
-
- }
-
- public String getTitle() {
- return title;
- }
-
- public String getAuthor() {
- return author;
- }
-
- public String getAlbum() {
- return album;
- }
-
- public String getYear() {
- return year;
- }
-
- public String getComment() {
- return comment;
- }
-
-}
Copied:
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3/Mp3Metadata.java
(from rev 246,
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3/Mp3Metadata.java)
===================================================================
---
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3/Mp3Metadata.java
(rev 0)
+++
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3/Mp3Metadata.java 2008-06-07
20:29:57 UTC (rev 248)
@@ -0,0 +1,82 @@
+package org.jboss.dna.sequencer.mp3;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.util.logging.Level;
+import org.jaudiotagger.audio.AudioFile;
+import org.jaudiotagger.audio.AudioFileIO;
+import org.jaudiotagger.tag.Tag;
+
+/**
+ * Utility for extracting metadata from MP3 files.
+ * @author Stefano Maestri
+ */
+public class Mp3Metadata {
+
+ private String title;
+ private String author;
+ private String album;
+ private String year;
+ private String comment;
+
+ private Mp3Metadata() {
+
+ }
+
+ public static Mp3Metadata instance( InputStream stream ) {
+
+ Mp3Metadata me = null;
+ File tmpFile = null;
+ try {
+ tmpFile = File.createTempFile("dna-sequencer-mp3",
".mp3");
+ FileOutputStream writer = new FileOutputStream(tmpFile);
+ byte[] b = new byte[128];
+ while (stream.read(b) != -1) {
+ writer.write(b);
+ }
+ writer.close();
+ AudioFileIO.logger.getParent().setLevel(Level.OFF);
+ AudioFile f = AudioFileIO.read(tmpFile);
+ Tag tag = f.getTag();
+
+ me = new Mp3Metadata();
+
+ me.author = tag.getFirstArtist();
+ me.album = tag.getFirstAlbum();
+ me.title = tag.getFirstTitle();
+ me.comment = tag.getFirstComment();
+ me.year = tag.getFirstYear();
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ if (tmpFile != null) {
+ tmpFile.delete();
+ }
+ }
+ return me;
+
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public String getAuthor() {
+ return author;
+ }
+
+ public String getAlbum() {
+ return album;
+ }
+
+ public String getYear() {
+ return year;
+ }
+
+ public String getComment() {
+ return comment;
+ }
+
+}
Deleted:
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3/Mp3MetadataSequencer.java
===================================================================
---
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3/Mp3MetadataSequencer.java 2008-06-07
12:28:47 UTC (rev 246)
+++
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3/Mp3MetadataSequencer.java 2008-06-07
20:29:57 UTC (rev 248)
@@ -1,75 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
- */
-package org.jboss.dna.sequencer.mp3;
-
-import java.io.InputStream;
-import org.jboss.dna.common.monitor.ProgressMonitor;
-import org.jboss.dna.spi.sequencers.SequencerOutput;
-import org.jboss.dna.spi.sequencers.StreamSequencer;
-
-/**
- * A sequencer that processes the binary content of an MP3 audio file, extracts the
metadata for the file, and then writes that
- * audio metadata to the repository.
- * <p>
- * This sequencer produces data that corresponds to the following structure:
- * <ul>
- * <li><strong>mp3:metadata</strong> node of type
<code>mp3:metadata</code>
- * <ul>
- * <li><strong>mp3:title</strong> - optional string property for the
name of the audio file or recording</li>
- * <li><strong>mp3:author</strong> - optional string property for the
author of the recording</li>
- * <li><strong>mp3:album</strong> - optional string property for the
name of the album</li>
- * <li><strong>mp3:year</strong> - optional integer property for the
year the recording as created</li>
- * <li><strong>mp3:comment</strong> - optional string property
specifying a comment</li>
- * </ul>
- * </li>
- * </ul>
- * </p>
- * @author Stefano Maestri
- * @author Randall Hauch
- */
-public class Mp3MetadataSequencer implements StreamSequencer {
-
- public static final String METADATA_NODE = "mp3:metadata";
- public static final String MP3_PRIMARY_TYPE = "jcr:primaryType";
- public static final String MP3_TITLE = "mp3:title";
- public static final String MP3_AUTHOR = "mp3:author";
- public static final String MP3_ALBUM = "mp3:album";
- public static final String MP3_YEAR = "mp3:year";
- public static final String MP3_COMMENT = "mp3:comment";
-
- /**
- * {@inheritDoc}
- */
- public void sequence( InputStream stream, SequencerOutput output, ProgressMonitor
progressMonitor ) {
- Mp3Metadata metadata = Mp3Metadata.instance(stream);
-
- if (metadata != null) {
- // Place the image metadata into the output map ...
- output.setProperty(METADATA_NODE, MP3_PRIMARY_TYPE,
"mp3:metadata");
- output.setProperty(METADATA_NODE, MP3_TITLE, metadata.getTitle());
- output.setProperty(METADATA_NODE, MP3_AUTHOR, metadata.getAuthor());
- output.setProperty(METADATA_NODE, MP3_ALBUM, metadata.getAlbum());
- output.setProperty(METADATA_NODE, MP3_YEAR, metadata.getYear());
- output.setProperty(METADATA_NODE, MP3_COMMENT, metadata.getComment());
- }
- }
-}
Copied:
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3/Mp3MetadataSequencer.java
(from rev 246,
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3/Mp3MetadataSequencer.java)
===================================================================
---
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3/Mp3MetadataSequencer.java
(rev 0)
+++
trunk/sequencers/dna-sequencer-mp3/src/main/java/org/jboss/dna/sequencer/mp3/Mp3MetadataSequencer.java 2008-06-07
20:29:57 UTC (rev 248)
@@ -0,0 +1,75 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.dna.sequencer.mp3;
+
+import java.io.InputStream;
+import org.jboss.dna.common.monitor.ProgressMonitor;
+import org.jboss.dna.spi.sequencers.SequencerOutput;
+import org.jboss.dna.spi.sequencers.StreamSequencer;
+
+/**
+ * A sequencer that processes the binary content of an MP3 audio file, extracts the
metadata for the file, and then writes that
+ * audio metadata to the repository.
+ * <p>
+ * This sequencer produces data that corresponds to the following structure:
+ * <ul>
+ * <li><strong>mp3:metadata</strong> node of type
<code>mp3:metadata</code>
+ * <ul>
+ * <li><strong>mp3:title</strong> - optional string property for the
name of the audio file or recording</li>
+ * <li><strong>mp3:author</strong> - optional string property for the
author of the recording</li>
+ * <li><strong>mp3:album</strong> - optional string property for the
name of the album</li>
+ * <li><strong>mp3:year</strong> - optional integer property for the
year the recording as created</li>
+ * <li><strong>mp3:comment</strong> - optional string property
specifying a comment</li>
+ * </ul>
+ * </li>
+ * </ul>
+ * </p>
+ * @author Stefano Maestri
+ * @author Randall Hauch
+ */
+public class Mp3MetadataSequencer implements StreamSequencer {
+
+ public static final String METADATA_NODE = "mp3:metadata";
+ public static final String MP3_PRIMARY_TYPE = "jcr:primaryType";
+ public static final String MP3_TITLE = "mp3:title";
+ public static final String MP3_AUTHOR = "mp3:author";
+ public static final String MP3_ALBUM = "mp3:album";
+ public static final String MP3_YEAR = "mp3:year";
+ public static final String MP3_COMMENT = "mp3:comment";
+
+ /**
+ * {@inheritDoc}
+ */
+ public void sequence( InputStream stream, SequencerOutput output, ProgressMonitor
progressMonitor ) {
+ Mp3Metadata metadata = Mp3Metadata.instance(stream);
+
+ if (metadata != null) {
+ // Place the image metadata into the output map ...
+ output.setProperty(METADATA_NODE, MP3_PRIMARY_TYPE,
"mp3:metadata");
+ output.setProperty(METADATA_NODE, MP3_TITLE, metadata.getTitle());
+ output.setProperty(METADATA_NODE, MP3_AUTHOR, metadata.getAuthor());
+ output.setProperty(METADATA_NODE, MP3_ALBUM, metadata.getAlbum());
+ output.setProperty(METADATA_NODE, MP3_YEAR, metadata.getYear());
+ output.setProperty(METADATA_NODE, MP3_COMMENT, metadata.getComment());
+ }
+ }
+}
Copied: trunk/sequencers/dna-sequencer-mp3/src/test/java/org (from rev 246,
trunk/sequencers/dna-sequencer-mp3/src/test/java/org)
Copied: trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss (from rev 246,
trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss)
Copied: trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/dna (from rev 246,
trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/dna)
Copied: trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/dna/sequencer (from rev
246, trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/dna/sequencer)
Copied: trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/dna/sequencer/mp3 (from
rev 246, trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/dna/sequencer/mp3)
Deleted:
trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/dna/sequencer/mp3/Mp3MetadataTest.java
===================================================================
---
trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/dna/sequencer/mp3/Mp3MetadataTest.java 2008-06-07
12:28:47 UTC (rev 246)
+++
trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/dna/sequencer/mp3/Mp3MetadataTest.java 2008-06-07
20:29:57 UTC (rev 248)
@@ -1,39 +0,0 @@
-package org.jboss.dna.sequencer.mp3;
-
-import static org.hamcrest.core.Is.is;
-import static org.junit.Assert.assertThat;
-import java.io.InputStream;
-import org.junit.After;
-import org.junit.Test;
-
-public class Mp3MetadataTest {
-
- private Mp3Metadata metadata;
- private InputStream imageStream;
-
- @After
- public void afterEach() throws Exception {
- if (imageStream != null) {
- try {
- imageStream.close();
- } finally {
- imageStream = null;
- }
- }
- }
-
- protected InputStream getTestMp3( String resourcePath ) {
- return this.getClass().getResourceAsStream("/" + resourcePath);
- }
-
- @Test
- public void shouldBeAbleToCreateMetadataForSample1() {
- metadata = Mp3Metadata.instance(this.getTestMp3("sample1.mp3"));
- assertThat(metadata.getAlbum(), is("Badwater Slim Performs Live"));
- assertThat(metadata.getAuthor(), is("Badwater Slim"));
- assertThat(metadata.getComment(), is("This is a test audio file."));
- assertThat(metadata.getTitle(), is("Sample MP3"));
- assertThat(metadata.getYear(), is("2008"));
- }
-
-}
Copied:
trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/dna/sequencer/mp3/Mp3MetadataTest.java
(from rev 246,
trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/dna/sequencer/mp3/Mp3MetadataTest.java)
===================================================================
---
trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/dna/sequencer/mp3/Mp3MetadataTest.java
(rev 0)
+++
trunk/sequencers/dna-sequencer-mp3/src/test/java/org/jboss/dna/sequencer/mp3/Mp3MetadataTest.java 2008-06-07
20:29:57 UTC (rev 248)
@@ -0,0 +1,39 @@
+package org.jboss.dna.sequencer.mp3;
+
+import static org.hamcrest.core.Is.is;
+import static org.junit.Assert.assertThat;
+import java.io.InputStream;
+import org.junit.After;
+import org.junit.Test;
+
+public class Mp3MetadataTest {
+
+ private Mp3Metadata metadata;
+ private InputStream imageStream;
+
+ @After
+ public void afterEach() throws Exception {
+ if (imageStream != null) {
+ try {
+ imageStream.close();
+ } finally {
+ imageStream = null;
+ }
+ }
+ }
+
+ protected InputStream getTestMp3( String resourcePath ) {
+ return this.getClass().getResourceAsStream("/" + resourcePath);
+ }
+
+ @Test
+ public void shouldBeAbleToCreateMetadataForSample1() {
+ metadata = Mp3Metadata.instance(this.getTestMp3("sample1.mp3"));
+ assertThat(metadata.getAlbum(), is("Badwater Slim Performs Live"));
+ assertThat(metadata.getAuthor(), is("Badwater Slim"));
+ assertThat(metadata.getComment(), is("This is a test audio file."));
+ assertThat(metadata.getTitle(), is("Sample MP3"));
+ assertThat(metadata.getYear(), is("2008"));
+ }
+
+}