diff --git a/.settings/edu.umd.cs.findbugs.core.prefs b/.settings/edu.umd.cs.findbugs.core.prefs index d38ed3facd622fe253aa7e594d314a2ba62183c9..ebe54a3dbe5912993c72ef85f3709b50138906f7 100644 --- a/.settings/edu.umd.cs.findbugs.core.prefs +++ b/.settings/edu.umd.cs.findbugs.core.prefs @@ -1,5 +1,5 @@ #FindBugs User Preferences -#Thu Apr 30 18:04:06 CEST 2015 +#Mon May 04 12:38:24 CEST 2015 detector_threshold=3 effort=max excludefilter0=.fbExcludeFilterFile|true diff --git a/src/main/java/teetime/framework/pipe/IMonitorablePipe.java b/src/main/java/teetime/framework/pipe/IMonitorablePipe.java index a0c6a245900dfd51cbaa96ecee350aa584511750..12bec8a427ef7cbdfab0426dcf91a2b0bd459b71 100644 --- a/src/main/java/teetime/framework/pipe/IMonitorablePipe.java +++ b/src/main/java/teetime/framework/pipe/IMonitorablePipe.java @@ -26,4 +26,10 @@ public interface IMonitorablePipe { long getPushThroughput(); long getPullThroughput(); + + /** + * + * @return the number of pauses of the pushing stage + */ + int getNumWaits(); } diff --git a/src/main/java/teetime/framework/pipe/SpScPipe.java b/src/main/java/teetime/framework/pipe/SpScPipe.java index ab91207d92b9ea4de137d57b13384e07026a7350..4c1e52ae7edb9fce65bfe349314afb5b379e4f34 100644 --- a/src/main/java/teetime/framework/pipe/SpScPipe.java +++ b/src/main/java/teetime/framework/pipe/SpScPipe.java @@ -35,7 +35,7 @@ final class SpScPipe extends AbstractInterThreadPipe implements IMonitorablePipe } @Deprecated - public static <T> SpScPipe connect(final OutputPort<? extends T> sourcePort, final InputPort<T> targetPort, final int capacity) { + public static <T> IMonitorablePipe connect(final OutputPort<? extends T> sourcePort, final InputPort<T> targetPort, final int capacity) { final SpScPipe pipe = new SpScPipe(sourcePort, targetPort, capacity); pipe.connectPorts(sourcePort, targetPort); return pipe; @@ -81,8 +81,8 @@ final class SpScPipe extends AbstractInterThreadPipe implements IMonitorablePipe return this.queue.size(); } - // BETTER find a solution w/o any thread-safe code in this stage - public synchronized int getNumWaits() { + @Override + public int getNumWaits() { return this.numWaits; } diff --git a/src/main/java/teetime/util/CyclicListIterator.java b/src/main/java/teetime/util/CyclicListIterator.java index 539659429b806b681c9675fec204f03317cc02f1..1579d5d3c7f2966800fa2e9bd791e046037fb73c 100644 --- a/src/main/java/teetime/util/CyclicListIterator.java +++ b/src/main/java/teetime/util/CyclicListIterator.java @@ -27,13 +27,13 @@ import java.util.List; */ public final class CyclicListIterator<T> implements Iterator<T> { - private final List<T> list; + private final List<T> elements; // private Iterator<T> iterator; private int currentIndex = 0; - public CyclicListIterator(final List<T> list) { - this.list = list; + public CyclicListIterator(final List<T> elements) { + this.elements = elements; // this.iterator = this.list.iterator(); } @@ -53,7 +53,7 @@ public final class CyclicListIterator<T> implements Iterator<T> { // <li>an index overflow (then restart from index 0), or // <li>an add() or a remove(), so update the index this.currentIndex = this.getCurrentIndex(); - final T element = this.list.get(this.currentIndex); + final T element = this.elements.get(this.currentIndex); this.currentIndex++; return element; } @@ -62,11 +62,11 @@ public final class CyclicListIterator<T> implements Iterator<T> { public void remove() { // this.iterator.remove(); this.currentIndex = this.getCurrentIndex(); - this.list.remove(this.currentIndex); + this.elements.remove(this.currentIndex); } private int getCurrentIndex() { - return this.currentIndex % this.list.size(); + return this.currentIndex % this.elements.size(); } } diff --git a/src/main/java/teetime/util/ListUtil.java b/src/main/java/teetime/util/ListUtil.java index 6ae6fea4836779395c49fca13c5a537a54a79c53..2e4074c5199323f0e0d2f178181fbeb760484842 100644 --- a/src/main/java/teetime/util/ListUtil.java +++ b/src/main/java/teetime/util/ListUtil.java @@ -25,12 +25,12 @@ public final class ListUtil { } public static <T> List<T> merge(final List<List<T>> listOfLists) { - List<T> resultList = listOfLists.get(0); + List<T> mergedElements = listOfLists.get(0); for (int i = 1; i < listOfLists.size(); i++) { - Collection<? extends T> timestampObjectList = listOfLists.get(i); - resultList.addAll(timestampObjectList); + Collection<? extends T> elements = listOfLists.get(i); + mergedElements.addAll(elements); } - return resultList; + return mergedElements; } public static <T> List<T> removeFirstHalfElements(final List<T> list) { diff --git a/src/test/java/util/test/AbstractProfiledPerformanceAssertion.java b/src/main/java/teetime/util/test/framework/AbstractProfiledPerformanceAssertion.java similarity index 95% rename from src/test/java/util/test/AbstractProfiledPerformanceAssertion.java rename to src/main/java/teetime/util/test/framework/AbstractProfiledPerformanceAssertion.java index e5981c58b1b72c8ba6fa2953954f16b86a861acf..60afa855fee84d54148bc44569b5ff2e9ccbd1f1 100644 --- a/src/test/java/util/test/AbstractProfiledPerformanceAssertion.java +++ b/src/main/java/teetime/util/test/framework/AbstractProfiledPerformanceAssertion.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package util.test; +package teetime.util.test.framework; public abstract class AbstractProfiledPerformanceAssertion { diff --git a/src/test/java/util/test/MeasurementRepository.java b/src/main/java/teetime/util/test/framework/MeasurementRepository.java similarity index 96% rename from src/test/java/util/test/MeasurementRepository.java rename to src/main/java/teetime/util/test/framework/MeasurementRepository.java index e19fe7a6db4e2fc9ff61f01f293d0e8714166881..be3552b876a1a3317d91cadae0576d941e8fed43 100644 --- a/src/test/java/util/test/MeasurementRepository.java +++ b/src/main/java/teetime/util/test/framework/MeasurementRepository.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package util.test; +package teetime.util.test.framework; import java.util.HashMap; import java.util.Map; diff --git a/src/test/java/util/test/PerformanceCheckProfileRepository.java b/src/main/java/teetime/util/test/framework/PerformanceCheckProfileRepository.java similarity index 98% rename from src/test/java/util/test/PerformanceCheckProfileRepository.java rename to src/main/java/teetime/util/test/framework/PerformanceCheckProfileRepository.java index fbefc401c0addc4529f1a21ef1c0acc8ed4c3cc6..a3ee2c7195b066e6695784ed2d3d4ce0b91b9868 100644 --- a/src/test/java/util/test/PerformanceCheckProfileRepository.java +++ b/src/main/java/teetime/util/test/framework/PerformanceCheckProfileRepository.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package util.test; +package teetime.util.test.framework; import java.net.InetAddress; import java.net.UnknownHostException; diff --git a/src/test/java/util/test/PerformanceTest.java b/src/main/java/teetime/util/test/framework/PerformanceTest.java similarity index 98% rename from src/test/java/util/test/PerformanceTest.java rename to src/main/java/teetime/util/test/framework/PerformanceTest.java index 0bb3c3fe23251adc170402824d5ea7eeb4e11e8b..813ffc693400e71e5e3b12039380c31d87258e32 100644 --- a/src/test/java/util/test/PerformanceTest.java +++ b/src/main/java/teetime/util/test/framework/PerformanceTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package util.test; +package teetime.util.test.framework; import java.util.ArrayList; import java.util.List; diff --git a/src/site/markdown/wiki b/src/site/markdown/wiki index bb53dfd7de974a433a7b96b0b65f4aacb8da3df3..0e4474577e1f49bc96e734c286b2d9e0363895e8 160000 --- a/src/site/markdown/wiki +++ b/src/site/markdown/wiki @@ -1 +1 @@ -Subproject commit bb53dfd7de974a433a7b96b0b65f4aacb8da3df3 +Subproject commit 0e4474577e1f49bc96e734c286b2d9e0363895e8 diff --git a/src/test/java/teetime/framework/pipe/SingleElementPipeTest.java b/src/test/java/teetime/framework/pipe/SingleElementPipeTest.java index 415ef503f902df3eee2276ed29de7445bb0da852..07b869fa33a1293e363364e03c98e49b3255b4f6 100644 --- a/src/test/java/teetime/framework/pipe/SingleElementPipeTest.java +++ b/src/test/java/teetime/framework/pipe/SingleElementPipeTest.java @@ -1,3 +1,18 @@ +/** + * Copyright (C) 2015 Christian Wulf, Nelson Tavares de Sousa (http://teetime.sourceforge.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package teetime.framework.pipe; import static org.junit.Assert.assertFalse;