diff --git a/.settings/edu.umd.cs.findbugs.core.prefs b/.settings/edu.umd.cs.findbugs.core.prefs index 807c5813fa3ca608e8e83b3df801b191c1e11ed7..da41d19450dca2601bd8539cc0ae7d25363aa6a8 100644 --- a/.settings/edu.umd.cs.findbugs.core.prefs +++ b/.settings/edu.umd.cs.findbugs.core.prefs @@ -1,5 +1,9 @@ #FindBugs User Preferences +<<<<<<< HEAD #Wed Feb 04 14:55:08 CET 2015 +======= +#Wed Feb 04 15:13:53 CET 2015 +>>>>>>> refs/remotes/origin/master detector_threshold=3 effort=max excludefilter0=.fbExcludeFilterFile|true diff --git a/pom.xml b/pom.xml index 8431ad151856c5519c076e377d03fa809599bd23..68ec3e414a0c52b851ab813c7ad656ad13a16c2c 100644 --- a/pom.xml +++ b/pom.xml @@ -22,6 +22,7 @@ <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.6</java.version> + <javadocOutputDir>apidocs</javadocOutputDir> </properties> <distributionManagement> @@ -257,7 +258,7 @@ <artifactId>maven-site-plugin</artifactId> <version>3.3</version> <dependencies> - <!-- for using markdown syntax --> + <!-- for using markdown syntax gitlab@build.se.informatik.uni-kiel.de:nts/doxia-module-markdown-teetime.git --> <dependency> <groupId>org.apache.maven.doxia</groupId> <artifactId>doxia-module-markdown-teetime</artifactId> @@ -347,6 +348,9 @@ <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.9.1</version> + <configuration> + <destDir>${javadocOutputDir}</destDir> + </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 3e47bfad5fc22aea16a7ccc09e099d745dfd89e5..9b01d7fcb120ff7f21b17ad29d847423c638f921 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -2,7 +2,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/changes/1.0.0 http://maven.apache.org/xsd/changes-1.0.0.xsd"> <properties> - <title>Release notes</title> + <title>Release Notes</title> </properties> <body> <release version="Snapshot" date="Daily basis" @@ -26,4 +26,4 @@ </action> </release> </body> -</document> \ No newline at end of file +</document> diff --git a/src/main/java/teetime/framework/AbstractInterThreadPipe.java b/src/main/java/teetime/framework/AbstractInterThreadPipe.java index 5b11b35fd6ef1cab297780ede1512a526a0dc58b..0e7513c9a558221365f95088370021b4237f1910 100644 --- a/src/main/java/teetime/framework/AbstractInterThreadPipe.java +++ b/src/main/java/teetime/framework/AbstractInterThreadPipe.java @@ -7,11 +7,14 @@ import org.jctools.queues.QueueFactory; import org.jctools.queues.spec.ConcurrentQueueSpec; import org.jctools.queues.spec.Ordering; import org.jctools.queues.spec.Preference; +import org.slf4j.LoggerFactory; import teetime.framework.signal.ISignal; public abstract class AbstractInterThreadPipe extends AbstractPipe { + private static final org.slf4j.Logger LOGGER = LoggerFactory.getLogger(AbstractInterThreadPipe.class); + private final Queue<ISignal> signalQueue = QueueFactory.newQueue(new ConcurrentQueueSpec(1, 1, 0, Ordering.FIFO, Preference.THROUGHPUT)); protected <T> AbstractInterThreadPipe(final OutputPort<? extends T> sourcePort, final InputPort<T> targetPort) { @@ -23,8 +26,8 @@ public abstract class AbstractInterThreadPipe extends AbstractPipe { this.signalQueue.offer(signal); Thread owningThread = cachedTargetStage.getOwningThread(); - if (owningThread == null) { - System.err.println("cachedTargetStage: " + cachedTargetStage); + if (owningThread == null && LOGGER.isWarnEnabled()) { + LOGGER.warn("owningThread of " + cachedTargetStage + " is null."); } if (null != owningThread && isThreadWaiting(owningThread)) { // FIXME remove the null check for performance owningThread.interrupt(); diff --git a/src/main/java/teetime/framework/Analysis.java b/src/main/java/teetime/framework/Analysis.java index cc12eb81cdc957b6950d15a45d7e77960385a8e4..cc740c0b14288e8d21d2b1da5177b21364087302 100644 --- a/src/main/java/teetime/framework/Analysis.java +++ b/src/main/java/teetime/framework/Analysis.java @@ -38,6 +38,8 @@ public class Analysis implements UncaughtExceptionHandler { private final Collection<Pair<Thread, Throwable>> exceptions = new ConcurrentLinkedQueue<Pair<Thread, Throwable>>(); + private boolean initialized; + /** * Creates a new {@link Analysis} that skips validating the port connections and uses the default listener. * @@ -70,6 +72,7 @@ public class Analysis implements UncaughtExceptionHandler { if (validationEnabled) { validateStages(); } + init(); } private void validateStages() { @@ -89,8 +92,16 @@ public class Analysis implements UncaughtExceptionHandler { /** * This initializes Analysis and needs to be run right before starting it. + * + * @deprecated 1.1 */ + @Deprecated public void init() { + if (initialized) { + return; + } + initialized = true; + final List<Stage> threadableStageJobs = this.configuration.getThreadableStageJobs(); for (Stage stage : threadableStageJobs) { StageExceptionHandler newListener; diff --git a/src/site/markdown/download.markdown b/src/site/markdown/download.markdown index 8534053ac7cbfa7435488b58f7ace553a7dafcbe..865759ec2007daac91a1f6176c440cc9babd2bb6 100644 --- a/src/site/markdown/download.markdown +++ b/src/site/markdown/download.markdown @@ -1,6 +1,8 @@ # Download -There are several ways to get TeeTime. Choose the best one for you. +In order to work with TeeTime, you simply need to add the framework to your own project. + +TeeTime is distributed through a variety of channels to serve most needs. ## Latest stable @@ -20,16 +22,15 @@ If you use Maven, simply add following lines to your ``pom.xml``: </dependency> ``` -<!--- Dependency informations for other project management tools can be found [here](dependency-info.html). --> -Please make sure, your project management tool uses Maven's central repository. Help on how to add it, can be found [here](http://central.sonatype.org/pages/consumers.html). +For other project management tools, please check [here](nomaven.html). #### Binaries and sources -The latest TeeTime release can be downloaded directly from [Sourceforge](https://sourceforge.net/projects/teetime/files/latest/download). If you also want to download the source and/or JavaDoc, you can also get a summary of available files on [Sourceforge](https://sourceforge.net/projects/teetime/files/). +The latest TeeTime release can be downloaded directly from [Sourceforge](https://sourceforge.net/projects/teetime/files/latest/download). If you also want to download the source and/or JavaDoc, you can also get a summary of available files on [Sourceforge](https://sourceforge.net/projects/teetime/files/) or [the Central Repository](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22net.sourceforge.teetime%22%20AND%20a%3A%22teetime%22). ## Snapshot -TeeTime is built upon a daily basis. All these nightly builds are accessible to the public. +TeeTime is built upon a daily basis. All these nightly builds are accessible to the public. A documentation is provided [here](apidocs/index.html). Please do not forget, that this releases are not intended for daily use. These builds may be unstable. diff --git a/src/site/markdown/index.markdown b/src/site/markdown/index.markdown index 1dba3232508d69c81c617251b58160276ecbadbe..a8c723caf440f0e41fb7068e2c3fd71079b772ee 100644 --- a/src/site/markdown/index.markdown +++ b/src/site/markdown/index.markdown @@ -53,7 +53,7 @@ To make working with TeeTime as pleasant and efficient as possible, this homepag You can take a closer look at: -- [TeeTime's Wiki](https://build.se.informatik.uni-kiel.de/gitlab/chw/teetime/wikis/home), or +- [TeeTime's Wiki](wiki/), or - [API Documentation](apidocs/index.html). diff --git a/src/site/site.xml b/src/site/site.xml index 0dacc58e779000124355f1717b9b8f89367fb6c4..3751706ce21202aa4aa16184e6e7c55cd0ad598b 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -13,7 +13,10 @@ </name> <href>http://teetime.sourceforge.net</href> </bannerLeft> - + <poweredBy> + <logo name="Maven" href="http://maven.apache.org/" + img="http://maven.apache.org/images/logos/maven-feather.png" /> + </poweredBy> <body> <head> <link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-57x57.png" /> @@ -45,14 +48,14 @@ <meta name="msapplication-TileImage" content="/mstile-144x144.png" /> <meta name="application-name" content="TeeTime" /> </head> - <links> <item name="News" href="news.html" /> <item name="Download" href="download.html" /> <item name="Wiki" href="wiki/" /> </links> <menu name="Documentation"> - <item name="JavaDoc" href="apidocs/index.html" /> + <item name="JavaDoc" href="stabledocs/index.html" /> + <item name="Release Notes" href="changes-report.html" /> <item name="Project Dependencies" href="dependencies.html" /> <item name="License" href="license.html" /> </menu> @@ -67,9 +70,7 @@ <item name="Home" href="index.html" /> <item name="News" href="news.html" /> <item name="Download" href="download.html" /> - <item name="Wiki" - href="https://build.se.informatik.uni-kiel.de/gitlab/chw/teetime/wikis/home" /> - <item name="Release notes" href="changes-report.html" /> + <item name="Wiki" href="wiki/" /> </menu> <!-- <menu ref="modules"/> --> <!-- <menu ref="reports"/> --> @@ -85,7 +86,7 @@ </absoluteResourceURL> <theme>default</theme> <highlightJs>true</highlightJs> - <highlightJsTheme>github</highlightJsTheme> + <highlightJsTheme>xcode</highlightJsTheme> <brand> <name> TeeTime @@ -100,14 +101,21 @@ <titleTemplate>%2$s | %1$s</titleTemplate> <bottomNav maxSpan="9"> <column>Main</column> - <column>Wiki|Documentation</column> + <column>Documentation</column> <column>Get Involved</column> </bottomNav> <bottomDescription> <![CDATA[ - <a href="https://sourceforge.net/p/teetime/" rel="nofollow"><img alt="Download TeeTime" src="https://sourceforge.net/sflogo.php?type=11&group_id=2244303"></a> + Snapshot state: + <br /> + <a href="https://build.se.informatik.uni-kiel.de/jenkins/view/TeeTime/job/teetime-nightly-release/"><img alt="Jenkins build status" src="https://img.shields.io/jenkins/s/https/build.se.informatik.uni-kiel.de/jenkins/view/TeeTime/teetime-nightly-release.svg?style=flat-square"></a> <br /> - <a href="http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22net.sourceforge.teetime%22%20AND%20a%3A%22teetime%22"><img alt="Maven Central Repository" src="https://img.shields.io/maven-central/v/net.sourceforge.teetime/teetime.svg?style=flat-square"></a> + <a href="https://build.se.informatik.uni-kiel.de/jenkins/view/TeeTime/job/teetime-nightly-release/lastCompletedBuild/testReport/"><img alt="Jenkins build status" src="https://img.shields.io/jenkins/t/https/build.se.informatik.uni-kiel.de/jenkins/view/TeeTime/teetime-nightly-release.svg?style=flat-square"></a> + <br /><br />Stable state: + <br /> + <a href="https://sourceforge.net/projects/teetime/files/latest/download" rel="nofollow"><img alt="Download TeeTime" src="https://img.shields.io/sourceforge/dt/teetime.svg?style=flat-square"></a> + <br /> + <a href="http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22net.sourceforge.teetime%22%20AND%20a%3A%22teetime%22"><img alt="Download TeeTime" src="https://img.shields.io/maven-central/v/net.sourceforge.teetime/teetime.svg?style=flat-square"></a> ]]> </bottomDescription> <pages> @@ -131,10 +139,6 @@ <toc>top</toc> <tocTopMax>4</tocTopMax> </download> - <dependencies> - <toc>top</toc> - <tocTopMax>5</tocTopMax> - </dependencies> <contribute> <highlightJs>false</highlightJs> </contribute> diff --git a/src/test/java/teetime/framework/pipe/SpScPipeTest.java b/src/test/java/teetime/framework/pipe/SpScPipeTest.java index 78313ed5fe4a5e289e15b81cd7bb70ac7fec59a3..89842f3b70a5e9e71354138809ddc34e68daaf5b 100644 --- a/src/test/java/teetime/framework/pipe/SpScPipeTest.java +++ b/src/test/java/teetime/framework/pipe/SpScPipeTest.java @@ -3,10 +3,6 @@ package teetime.framework.pipe; import java.util.ArrayList; import java.util.List; -import org.junit.Assert; -import org.junit.Ignore; -import org.junit.Test; - import teetime.framework.AbstractInterThreadPipe; import teetime.framework.InputPort; import teetime.framework.OutputPort; @@ -17,9 +13,9 @@ import teetime.framework.signal.ValidatingSignal; public class SpScPipeTest { - @Ignore + // @Ignore // ignore as long as this test passes null ports to SpScPipe - @Test + // @Test public void testSignalOrdering() throws Exception { OutputPort<Object> sourcePort = null; InputPort<Object> targetPort = null; @@ -48,6 +44,6 @@ public class SpScPipeTest { } secondList.add(temp); } - Assert.assertEquals(list, secondList); + // Assert.assertEquals(list, secondList); } }