diff options
-rw-r--r-- | build.xml | 43 | ||||
-rw-r--r-- | pom.xml | 73 | ||||
-rw-r--r-- | src/main/java/net/jesterpm/podcastuploader/PodcastUploader.java (renamed from src/net/jesterpm/podcastuploader/PodcastUploader.java) | 0 | ||||
-rw-r--r-- | src/main/java/net/jesterpm/podcastuploader/config/Config.java (renamed from src/net/jesterpm/podcastuploader/config/Config.java) | 0 | ||||
-rw-r--r-- | src/main/java/net/jesterpm/podcastuploader/control/ConfigureTask.java (renamed from src/net/jesterpm/podcastuploader/control/ConfigureTask.java) | 0 | ||||
-rw-r--r-- | src/main/java/net/jesterpm/podcastuploader/control/ObservableTask.java (renamed from src/net/jesterpm/podcastuploader/control/ObservableTask.java) | 0 | ||||
-rw-r--r-- | src/main/java/net/jesterpm/podcastuploader/control/PublishPodcastTask.java (renamed from src/net/jesterpm/podcastuploader/control/PublishPodcastTask.java) | 0 | ||||
-rw-r--r-- | src/main/java/net/jesterpm/podcastuploader/control/S3UploadTask.java (renamed from src/net/jesterpm/podcastuploader/control/S3UploadTask.java) | 6 | ||||
-rw-r--r-- | src/main/java/net/jesterpm/podcastuploader/control/UploadTask.java (renamed from src/net/jesterpm/podcastuploader/control/UploadTask.java) | 24 | ||||
-rw-r--r-- | src/main/java/net/jesterpm/podcastuploader/ui/Action.java (renamed from src/net/jesterpm/podcastuploader/ui/Action.java) | 0 | ||||
-rw-r--r-- | src/main/java/net/jesterpm/podcastuploader/ui/ConfigurationWindow.java (renamed from src/net/jesterpm/podcastuploader/ui/ConfigurationWindow.java) | 0 | ||||
-rw-r--r-- | src/main/java/net/jesterpm/podcastuploader/ui/ProgressInterface.java (renamed from src/net/jesterpm/podcastuploader/ui/ProgressInterface.java) | 0 | ||||
-rw-r--r-- | src/main/java/net/jesterpm/podcastuploader/ui/ProgressWindow.java (renamed from src/net/jesterpm/podcastuploader/ui/ProgressWindow.java) | 0 |
13 files changed, 93 insertions, 53 deletions
diff --git a/build.xml b/build.xml deleted file mode 100644 index 8f7fdbd..0000000 --- a/build.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="utf-8" ?> -<project name="PodcastUploader" default="build" basedir="."> - <path id="project.class.path"> - <fileset dir="lib" includes="**/*.jar"/> - </path> - - <target name="javac" description="Compile java source to bytecode"> - <mkdir dir="build"/> - <javac srcdir="src" includes="**" encoding="utf-8" - destdir="build" - source="1.5" target="1.5" nowarn="true" - debug="true" debuglevel="lines,vars,source"> - <classpath refid="project.class.path"/> - </javac> - <copy todir="build"> - <fileset dir="src" excludes="**/*.java"/> - </copy> - </target> - - <target name="build" depends="javac" description="Build this project" /> - - <target name="jar" depends="build" description="Create a jar file"> - <jar destfile="PodcastUploader.jar"> - <fileset dir="build" /> - <restrict> - <archives> - <zips> - <fileset dir="lib" includes="**/*.jar" /> - </zips> - </archives> - </restrict> - <manifest> - <attribute name="Main-Class" value="net.jesterpm.podcastuploader.PodcastUploader" /> - </manifest> - </jar> - </target> - - <target name="clean" description="Cleans this project"> - <delete dir="build" failonerror="false" /> - <delete file="PodcastUploader.jar" failonerror="false" /> - </target> - -</project> @@ -0,0 +1,73 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>net.jesterpm</groupId> + <artifactId>podcast-uploader</artifactId> + <packaging>jar</packaging> + <version>1.0-SNAPSHOT</version> + <name>podcast-uploader</name> + <url>http://maven.apache.org</url> + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + <dependencyManagement> + <dependencies> + <dependency> + <groupId>com.amazonaws</groupId> + <artifactId>aws-java-sdk-bom</artifactId> + <version>1.11.106</version> + <type>pom</type> + <scope>import</scope> + </dependency> + </dependencies> + </dependencyManagement> + <dependencies> + <dependency> + <groupId>com.amazonaws</groupId> + <artifactId>aws-java-sdk-s3</artifactId> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>3.8.1</version> + <scope>test</scope> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <version>3.0.2</version> + <configuration> + <archive> + <manifest> + <mainClass>net.jesterpm.podcastuploader.PodcastUploader</mainClass> + </manifest> + </archive> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <version>3.0.0</version> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>shade</goal> + </goals> + </execution> + </executions> + <configuration> + <finalName>uber-${project.artifactId}-${project.version}</finalName> + <transformers> + <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> + <mainClass>net.jesterpm.podcastuploader.PodcastUploader</mainClass> + </transformer> + </transformers> + </configuration> + </plugin> + </plugins> + </build> +</project> diff --git a/src/net/jesterpm/podcastuploader/PodcastUploader.java b/src/main/java/net/jesterpm/podcastuploader/PodcastUploader.java index f386f0d..f386f0d 100644 --- a/src/net/jesterpm/podcastuploader/PodcastUploader.java +++ b/src/main/java/net/jesterpm/podcastuploader/PodcastUploader.java diff --git a/src/net/jesterpm/podcastuploader/config/Config.java b/src/main/java/net/jesterpm/podcastuploader/config/Config.java index b9260e0..b9260e0 100644 --- a/src/net/jesterpm/podcastuploader/config/Config.java +++ b/src/main/java/net/jesterpm/podcastuploader/config/Config.java diff --git a/src/net/jesterpm/podcastuploader/control/ConfigureTask.java b/src/main/java/net/jesterpm/podcastuploader/control/ConfigureTask.java index 0158155..0158155 100644 --- a/src/net/jesterpm/podcastuploader/control/ConfigureTask.java +++ b/src/main/java/net/jesterpm/podcastuploader/control/ConfigureTask.java diff --git a/src/net/jesterpm/podcastuploader/control/ObservableTask.java b/src/main/java/net/jesterpm/podcastuploader/control/ObservableTask.java index 381145e..381145e 100644 --- a/src/net/jesterpm/podcastuploader/control/ObservableTask.java +++ b/src/main/java/net/jesterpm/podcastuploader/control/ObservableTask.java diff --git a/src/net/jesterpm/podcastuploader/control/PublishPodcastTask.java b/src/main/java/net/jesterpm/podcastuploader/control/PublishPodcastTask.java index fdee900..fdee900 100644 --- a/src/net/jesterpm/podcastuploader/control/PublishPodcastTask.java +++ b/src/main/java/net/jesterpm/podcastuploader/control/PublishPodcastTask.java diff --git a/src/net/jesterpm/podcastuploader/control/S3UploadTask.java b/src/main/java/net/jesterpm/podcastuploader/control/S3UploadTask.java index 2d41426..8e9f9ab 100644 --- a/src/net/jesterpm/podcastuploader/control/S3UploadTask.java +++ b/src/main/java/net/jesterpm/podcastuploader/control/S3UploadTask.java @@ -7,7 +7,7 @@ package net.jesterpm.podcastuploader.control; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.services.s3.AmazonS3Client; -import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.ExecutorService; import net.jesterpm.podcastuploader.config.Config; @@ -17,7 +17,7 @@ import net.jesterpm.podcastuploader.config.Config; * @author Jesse Morgan <jesse@jesterpm.net> */ public class S3UploadTask extends ObservableTask implements Runnable { - private final ThreadPoolExecutor mExecutor; + private final ExecutorService mExecutor; private final AmazonS3Client mClient; @@ -36,7 +36,7 @@ public class S3UploadTask extends ObservableTask implements Runnable { * @param remoteFile The key to use for the file in S3. */ public S3UploadTask(final Config appConfig, final String localFile, - final String remoteFile, final ThreadPoolExecutor executor) { + final String remoteFile, final ExecutorService executor) { mExecutor = executor; diff --git a/src/net/jesterpm/podcastuploader/control/UploadTask.java b/src/main/java/net/jesterpm/podcastuploader/control/UploadTask.java index a201a80..a5fdf05 100644 --- a/src/net/jesterpm/podcastuploader/control/UploadTask.java +++ b/src/main/java/net/jesterpm/podcastuploader/control/UploadTask.java @@ -5,9 +5,11 @@ package net.jesterpm.podcastuploader.control; import java.text.DateFormat; +import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.Executors; +import java.util.concurrent.ExecutorService; import java.util.Date; import java.util.HashMap; import java.util.Map; @@ -44,7 +46,7 @@ public class UploadTask { /** * Thread Pool used for and by the UploadTasks. */ - private final ThreadPoolExecutor mExecutor; + private final ExecutorService mExecutor; /** * UploadTask Constructor. @@ -59,6 +61,8 @@ public class UploadTask { mAppConfig = appconfig; mMetadata = new Config(dir + METADATA_FILE); + + mExecutor = Executors.newSingleThreadExecutor(); } /** @@ -82,12 +86,18 @@ public class UploadTask { * to upload. */ public void run() { - DateFormat fmt = DateFormat.getDateInstance(DateFormat.SHORT); - final Date date = fmt.parse(mMetadata.get("date")); + final String baseFilename; + + try { + DateFormat fmt = DateFormat.getDateInstance(DateFormat.SHORT); + final Date date = fmt.parse(mMetadata.get("date")); - fmt = new SimpleDateFormat("yyyyMMdd"); - final String baseFilename = fmt.format(date) + "-" - + safeString(mMetadata.get("title")); + fmt = new SimpleDateFormat("yyyyMMdd"); + baseFilename = fmt.format(date) + "-" + safeString(mMetadata.get("title")); + + } catch (ParseException e) { + throw new RuntimeException(e); + } // Build a list of files to upload. Map<String, S3UploadTask> files = getFilesToUpload(baseFilename); diff --git a/src/net/jesterpm/podcastuploader/ui/Action.java b/src/main/java/net/jesterpm/podcastuploader/ui/Action.java index 5ec4bde..5ec4bde 100644 --- a/src/net/jesterpm/podcastuploader/ui/Action.java +++ b/src/main/java/net/jesterpm/podcastuploader/ui/Action.java diff --git a/src/net/jesterpm/podcastuploader/ui/ConfigurationWindow.java b/src/main/java/net/jesterpm/podcastuploader/ui/ConfigurationWindow.java index d0dc96d..d0dc96d 100644 --- a/src/net/jesterpm/podcastuploader/ui/ConfigurationWindow.java +++ b/src/main/java/net/jesterpm/podcastuploader/ui/ConfigurationWindow.java diff --git a/src/net/jesterpm/podcastuploader/ui/ProgressInterface.java b/src/main/java/net/jesterpm/podcastuploader/ui/ProgressInterface.java index 3e85667..3e85667 100644 --- a/src/net/jesterpm/podcastuploader/ui/ProgressInterface.java +++ b/src/main/java/net/jesterpm/podcastuploader/ui/ProgressInterface.java diff --git a/src/net/jesterpm/podcastuploader/ui/ProgressWindow.java b/src/main/java/net/jesterpm/podcastuploader/ui/ProgressWindow.java index 01daa83..01daa83 100644 --- a/src/net/jesterpm/podcastuploader/ui/ProgressWindow.java +++ b/src/main/java/net/jesterpm/podcastuploader/ui/ProgressWindow.java |