diff options
-rw-r--r-- | pom.xml | 49 | ||||
-rw-r--r-- | src/main/java/com/jogamp/hungryharry/FeedAggregator.java | 15 |
2 files changed, 49 insertions, 15 deletions
@@ -1,12 +1,13 @@ + <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>com.jogamp</groupId> - <artifactId>HungryHarry</artifactId> - <packaging>jar</packaging> - <version>1.0-SNAPSHOT</version> - <name>HungryHarry</name> - <url>http://maven.apache.org</url> + <modelVersion>4.0.0</modelVersion> + <groupId>com.jogamp.hungryharry</groupId> + <artifactId>HungryHarry</artifactId> + <packaging>jar</packaging> + <version>SNAPSHOT</version> + <name>HungryHarry</name> + <url>http://maven.apache.org</url> <build> <plugins> <plugin> @@ -18,15 +19,37 @@ <showDeprecation>true</showDeprecation> </configuration> </plugin> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <configuration> + <descriptorRefs> + <descriptorRef>jar-with-dependencies</descriptorRef> + </descriptorRefs> + <archive> + <manifest> + <mainClass>com.jogamp.hungryharry.FeedAggregator</mainClass> + </manifest> + </archive> + </configuration> + <executions> + <execution> + <id>make-my-jar-with-dependencies</id> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + </plugin> </plugins> </build> <dependencies> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.8.1</version> - <scope>test</scope> - </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.8.1</version> + <scope>test</scope> + </dependency> <dependency> <groupId>net.java.dev.rome</groupId> <artifactId>rome</artifactId> diff --git a/src/main/java/com/jogamp/hungryharry/FeedAggregator.java b/src/main/java/com/jogamp/hungryharry/FeedAggregator.java index 7d2ea1d..2f5ec27 100644 --- a/src/main/java/com/jogamp/hungryharry/FeedAggregator.java +++ b/src/main/java/com/jogamp/hungryharry/FeedAggregator.java @@ -9,7 +9,9 @@ import com.sun.syndication.io.SyndFeedOutput; import com.sun.syndication.feed.synd.SyndEntry; import com.sun.syndication.fetcher.FetcherException; import com.sun.syndication.io.FeedException; +import java.io.FileNotFoundException; import java.io.IOException; +import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; @@ -26,6 +28,7 @@ import freemarker.template.DefaultObjectWrapper; import freemarker.template.Template; import freemarker.template.TemplateException; import java.io.File; +import java.io.FileInputStream; import java.io.FileWriter; import java.io.Writer; import java.util.Comparator; @@ -64,6 +67,8 @@ public class FeedAggregator { config = readConfiguration(); } catch (JAXBException ex) { throw new RuntimeException("can not read configuration", ex); + } catch (FileNotFoundException ex) { + throw new RuntimeException("can not read configuration", ex); } List<Config.Feed> feeds = config.feed; @@ -176,9 +181,15 @@ public class FeedAggregator { return entries; } - private Config readConfiguration() throws JAXBException { + private Config readConfiguration() throws JAXBException, FileNotFoundException { Unmarshaller unmarshaller = JAXBContext.newInstance(Config.class).createUnmarshaller(); - Object obj = unmarshaller.unmarshal(getClass().getResourceAsStream(configFile)); + LOG.info("reading config file: " + configFile); + InputStream is = getClass().getResourceAsStream(configFile); + if(is == null) { + is = new FileInputStream(configFile); + } + + Object obj = unmarshaller.unmarshal(is); return (Config) obj; } |