diff --git a/java/com.sap.sailing.polars/src/com/sap/sailing/polars/mining/AbstractEnrichingProcessor.java b/java/com.sap.sailing.polars/src/com/sap/sailing/polars/mining/AbstractEnrichingProcessor.java index 9f559fc97fd..07878ce2a14 100644 --- a/java/com.sap.sailing.polars/src/com/sap/sailing/polars/mining/AbstractEnrichingProcessor.java +++ b/java/com.sap.sailing.polars/src/com/sap/sailing/polars/mining/AbstractEnrichingProcessor.java @@ -6,7 +6,7 @@ import java.util.concurrent.ExecutorService; import com.sap.sse.datamining.AdditionalResultDataBuilder; import com.sap.sse.datamining.components.Processor; import com.sap.sse.datamining.impl.components.AbstractSimpleParallelProcessor; -import com.sap.sse.datamining.impl.components.ProcessorInstruction; +import com.sap.sse.datamining.impl.components.AbstractProcessorInstruction; public abstract class AbstractEnrichingProcessor extends AbstractSimpleParallelProcessor { @@ -17,8 +17,8 @@ public abstract class AbstractEnrichingProcessor extends } @Override - protected ProcessorInstruction createInstruction(final InputType element) { - return new ProcessorInstruction(this) { + protected AbstractProcessorInstruction createInstruction(final InputType element) { + return new AbstractProcessorInstruction(this) { @Override public ResultType computeResult() { diff --git a/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/impl/TestProcessorQuery.java b/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/impl/TestProcessorQuery.java index 6eef188f92e..39020129b0e 100644 --- a/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/impl/TestProcessorQuery.java +++ b/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/impl/TestProcessorQuery.java @@ -31,7 +31,7 @@ import com.sap.sse.datamining.impl.components.AbstractSimpleParallelProcessor; import com.sap.sse.datamining.impl.components.AbstractSimpleRetrievalProcessor; import com.sap.sse.datamining.impl.components.GroupedDataEntry; import com.sap.sse.datamining.impl.components.ParallelFilteringProcessor; -import com.sap.sse.datamining.impl.components.ProcessorInstruction; +import com.sap.sse.datamining.impl.components.AbstractProcessorInstruction; import com.sap.sse.datamining.impl.criterias.AbstractFilterCriterion; import com.sap.sse.datamining.shared.GroupKey; import com.sap.sse.datamining.shared.QueryResult; @@ -287,8 +287,8 @@ public class TestProcessorQuery { ConcurrencyTestsUtil.getExecutor(), resultReceivers) { @Override - protected ProcessorInstruction> createInstruction(final Iterable element) { - return new ProcessorInstruction>(this) { + protected AbstractProcessorInstruction> createInstruction(final Iterable element) { + return new AbstractProcessorInstruction>(this) { @Override public Map computeResult() { Map result = new HashMap<>(); diff --git a/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/impl/components/TestAbstractParallelProcessorFinishing.java b/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/impl/components/TestAbstractParallelProcessorFinishing.java index 1257432ce29..405d9f83e55 100644 --- a/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/impl/components/TestAbstractParallelProcessorFinishing.java +++ b/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/impl/components/TestAbstractParallelProcessorFinishing.java @@ -69,8 +69,8 @@ public class TestAbstractParallelProcessorFinishing { private AbstractSimpleParallelProcessor createProcessor(Collection> receivers) { return new AbstractSimpleParallelProcessor(Integer.class, Integer.class, ConcurrencyTestsUtil.getExecutor(), receivers) { @Override - protected ProcessorInstruction createInstruction(Integer partialElement) { - return new ProcessorInstruction(this) { + protected AbstractProcessorInstruction createInstruction(Integer partialElement) { + return new AbstractProcessorInstruction(this) { @Override public Integer computeResult() { while (instructionIsWorking) { diff --git a/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/impl/components/TestAbstractParallelProcessorWithManySimpleInstructions.java b/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/impl/components/TestAbstractParallelProcessorWithManySimpleInstructions.java index cba5e82ae58..fea514ad2ed 100644 --- a/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/impl/components/TestAbstractParallelProcessorWithManySimpleInstructions.java +++ b/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/impl/components/TestAbstractParallelProcessorWithManySimpleInstructions.java @@ -38,8 +38,8 @@ public class TestAbstractParallelProcessorWithManySimpleInstructions { receivers.add(receiver); processor = new AbstractSimpleParallelProcessor(Integer.class, Integer.class, ConcurrencyTestsUtil.getExecutor(), receivers) { @Override - protected ProcessorInstruction createInstruction(final Integer element) { - return new ProcessorInstruction(this) { + protected AbstractProcessorInstruction createInstruction(final Integer element) { + return new AbstractProcessorInstruction(this) { @Override public Integer computeResult() { return element; diff --git a/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/impl/components/TestPartitioningOfAbstractSimpleParallelProcessor.java b/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/impl/components/TestPartitioningOfAbstractSimpleParallelProcessor.java index 6aa0cf9bdb6..858f2d25aa8 100644 --- a/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/impl/components/TestPartitioningOfAbstractSimpleParallelProcessor.java +++ b/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/impl/components/TestPartitioningOfAbstractSimpleParallelProcessor.java @@ -27,8 +27,8 @@ public class TestPartitioningOfAbstractSimpleParallelProcessor { } @Override - protected ProcessorInstruction createInstruction(Integer partialElement) { - return new ProcessorInstruction(this) { + protected AbstractProcessorInstruction createInstruction(Integer partialElement) { + return new AbstractProcessorInstruction(this) { @Override public Integer computeResult() { return 0; diff --git a/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/test/util/components/BlockingInstructionWrapper.java b/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/test/util/components/BlockingInstructionWrapper.java deleted file mode 100644 index 6e242468fdd..00000000000 --- a/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/test/util/components/BlockingInstructionWrapper.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.sap.sse.datamining.test.util.components; - -import com.sap.sse.datamining.test.util.ConcurrencyTestsUtil; - -public class BlockingInstructionWrapper implements Runnable { - - private Runnable innerInstruction; - - private boolean workIsInProgress; - - public BlockingInstructionWrapper(Runnable innerInstruction) { - this.innerInstruction = innerInstruction; - workIsInProgress = true; - } - - @Override - public void run() { - while (workIsInProgress) { - ConcurrencyTestsUtil.sleepFor(100); - } - innerInstruction.run(); - } - - /** - * Tells the instruction, that the work is now done. It won't block it's inner instruction anymore and calls the run method of it. - */ - public void workIsNowFinished() { - workIsInProgress = false; - } - -} diff --git a/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/test/util/components/BlockingProcessor.java b/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/test/util/components/BlockingProcessor.java index 45a33e1d8bd..cbfbe313606 100644 --- a/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/test/util/components/BlockingProcessor.java +++ b/java/com.sap.sse.datamining.test/src/com/sap/sse/datamining/test/util/components/BlockingProcessor.java @@ -6,7 +6,7 @@ import java.util.concurrent.ExecutorService; import com.sap.sse.datamining.AdditionalResultDataBuilder; import com.sap.sse.datamining.components.Processor; import com.sap.sse.datamining.impl.components.AbstractSimpleParallelProcessor; -import com.sap.sse.datamining.impl.components.ProcessorInstruction; +import com.sap.sse.datamining.impl.components.AbstractProcessorInstruction; public abstract class BlockingProcessor extends AbstractSimpleParallelProcessor { private final long timeToBlockInMillis; @@ -19,8 +19,8 @@ public abstract class BlockingProcessor extends AbstractS } @Override - protected ProcessorInstruction createInstruction(InputType element) { - return new ProcessorInstruction(this) { + protected AbstractProcessorInstruction createInstruction(InputType element) { + return new AbstractProcessorInstruction(this) { @Override public ResultType computeResult() throws Exception { Thread.sleep(timeToBlockInMillis); diff --git a/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractParallelMultiDimensionalNestingGroupingProcessor.java b/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractParallelMultiDimensionalNestingGroupingProcessor.java index 7fddfff4632..3265d2deb48 100644 --- a/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractParallelMultiDimensionalNestingGroupingProcessor.java +++ b/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractParallelMultiDimensionalNestingGroupingProcessor.java @@ -46,8 +46,8 @@ public abstract class AbstractParallelMultiDimensionalNestingGroupingProcessor> createInstruction(final DataType element) { - return new ProcessorInstruction>(this, ProcessorInstructionPriority.Grouping) { + protected AbstractProcessorInstruction> createInstruction(final DataType element) { + return new AbstractProcessorInstruction>(this, ProcessorInstructionPriority.Grouping) { @Override public GroupedDataEntry computeResult() { return new GroupedDataEntry(createCompoundKeyFor(element, diff --git a/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractPartitioningParallelProcessor.java b/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractPartitioningParallelProcessor.java index 215f8369dff..0332a450a18 100644 --- a/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractPartitioningParallelProcessor.java +++ b/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractPartitioningParallelProcessor.java @@ -36,7 +36,7 @@ public abstract class AbstractPartitioningParallelProcessor instruction = createInstruction(partialElement); + final AbstractProcessorInstruction instruction = createInstruction(partialElement); if (isInstructionValid(instruction)) { unfinishedInstructionsCounter.getAndIncrement(); try { @@ -51,7 +51,7 @@ public abstract class AbstractPartitioningParallelProcessor instruction) { + private boolean isInstructionValid(AbstractProcessorInstruction instruction) { return instruction != null; } @@ -76,7 +76,7 @@ public abstract class AbstractPartitioningParallelProcessor createInstruction(final WorkingType partialElement); + protected abstract AbstractProcessorInstruction createInstruction(final WorkingType partialElement); protected abstract Iterable partitionElement(InputType element); diff --git a/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/ProcessorInstruction.java b/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractProcessorInstruction.java similarity index 82% rename from java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/ProcessorInstruction.java rename to java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractProcessorInstruction.java index b03d8083dc8..28e7b2b1b6e 100644 --- a/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/ProcessorInstruction.java +++ b/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractProcessorInstruction.java @@ -1,6 +1,6 @@ package com.sap.sse.datamining.impl.components; -public abstract class ProcessorInstruction implements Runnable, Comparable> { +public abstract class AbstractProcessorInstruction implements Runnable, Comparable> { private final AbstractPartitioningParallelProcessor processor; private final int priority; @@ -15,7 +15,7 @@ public abstract class ProcessorInstruction implements Runnable, Comp * * @param processor The processor, that processes this instruction */ - public ProcessorInstruction(AbstractPartitioningParallelProcessor processor) { + public AbstractProcessorInstruction(AbstractPartitioningParallelProcessor processor) { this(processor, 0); } @@ -25,7 +25,7 @@ public abstract class ProcessorInstruction implements Runnable, Comp * @param processor The processor, that processes this instruction * @param priority The priority of this instruction */ - public ProcessorInstruction(AbstractPartitioningParallelProcessor processor, + public AbstractProcessorInstruction(AbstractPartitioningParallelProcessor processor, ProcessorInstructionPriority priority) { this(processor, priority.asIntValue()); } @@ -40,7 +40,7 @@ public abstract class ProcessorInstruction implements Runnable, Comp * @param processor The processor, that processes this instruction * @param priority The priority of this instruction. 0 is the highest priority. */ - public ProcessorInstruction(AbstractPartitioningParallelProcessor processor, + public AbstractProcessorInstruction(AbstractPartitioningParallelProcessor processor, int priority) { this.processor = processor; this.priority = priority; @@ -65,7 +65,7 @@ public abstract class ProcessorInstruction implements Runnable, Comp protected abstract ResultType computeResult() throws Exception; @Override - public int compareTo(ProcessorInstruction instruction) { + public int compareTo(AbstractProcessorInstruction instruction) { return Integer.compare(priority, instruction.priority); } diff --git a/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractRetrievalProcessor.java b/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractRetrievalProcessor.java index aa26d5d52b9..f4a37f3980f 100644 --- a/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractRetrievalProcessor.java +++ b/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractRetrievalProcessor.java @@ -32,8 +32,8 @@ public abstract class AbstractRetrievalProcessor createInstruction(final WorkingType partialElement) { - return new ProcessorInstruction(this, ProcessorInstructionPriority.createRetrievalPriority(retrievalLevel)) { + protected AbstractProcessorInstruction createInstruction(final WorkingType partialElement) { + return new AbstractProcessorInstruction(this, ProcessorInstructionPriority.createRetrievalPriority(retrievalLevel)) { @Override public ResultType computeResult() { incrementRetrievedDataAmount(); diff --git a/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractSimpleParallelProcessor.java b/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractSimpleParallelProcessor.java index ad896208d46..5f71e9320c4 100644 --- a/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractSimpleParallelProcessor.java +++ b/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractSimpleParallelProcessor.java @@ -21,6 +21,6 @@ public abstract class AbstractSimpleParallelProcessor //Redefinition of the method to set the parameter name to element instead of partial element. //This makes the implementation of sub classes more fluent. @Override - protected abstract ProcessorInstruction createInstruction(InputType element); + protected abstract AbstractProcessorInstruction createInstruction(InputType element); } diff --git a/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/ParallelFilteringProcessor.java b/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/ParallelFilteringProcessor.java index fde5b08cdc9..eda6d7b992e 100644 --- a/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/ParallelFilteringProcessor.java +++ b/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/ParallelFilteringProcessor.java @@ -23,8 +23,8 @@ public class ParallelFilteringProcessor extends AbstractSimpleParalle } @Override - protected ProcessorInstruction createInstruction(final InputType element) { - return new ProcessorInstruction(this, ProcessorInstructionPriority.Filtration) { + protected AbstractProcessorInstruction createInstruction(final InputType element) { + return new AbstractProcessorInstruction(this, ProcessorInstructionPriority.Filtration) { @Override public InputType computeResult() { if (filterCriterion.matches(element)) { diff --git a/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/ParallelGroupedElementsValueExtractionProcessor.java b/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/ParallelGroupedElementsValueExtractionProcessor.java index 1059f7096a3..a9b911ea7e1 100644 --- a/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/ParallelGroupedElementsValueExtractionProcessor.java +++ b/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/ParallelGroupedElementsValueExtractionProcessor.java @@ -30,8 +30,8 @@ public class ParallelGroupedElementsValueExtractionProcessor> createInstruction(final GroupedDataEntry element) { - return new ProcessorInstruction>(this, ProcessorInstructionPriority.Extraction) { + protected AbstractProcessorInstruction> createInstruction(final GroupedDataEntry element) { + return new AbstractProcessorInstruction>(this, ProcessorInstructionPriority.Extraction) { @Override public GroupedDataEntry computeResult() { FunctionReturnType value = extractionFunction.tryToInvoke(element.getDataEntry(), parameterProvider); diff --git a/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/aggregators/AbstractParallelStoringAggregationProcessor.java b/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/aggregators/AbstractParallelStoringAggregationProcessor.java index 5d4a75461ed..98830b2a119 100644 --- a/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/aggregators/AbstractParallelStoringAggregationProcessor.java +++ b/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/aggregators/AbstractParallelStoringAggregationProcessor.java @@ -8,7 +8,7 @@ import java.util.concurrent.locks.ReentrantLock; import com.sap.sse.datamining.AdditionalResultDataBuilder; import com.sap.sse.datamining.components.Processor; import com.sap.sse.datamining.impl.components.AbstractSimpleParallelProcessor; -import com.sap.sse.datamining.impl.components.ProcessorInstruction; +import com.sap.sse.datamining.impl.components.AbstractProcessorInstruction; import com.sap.sse.datamining.impl.components.ProcessorInstructionPriority; public abstract class AbstractParallelStoringAggregationProcessor @@ -28,8 +28,8 @@ public abstract class AbstractParallelStoringAggregationProcessor createInstruction(final InputType element) { - return new ProcessorInstruction(this, ProcessorInstructionPriority.Aggregation) { + protected AbstractProcessorInstruction createInstruction(final InputType element) { + return new AbstractProcessorInstruction(this, ProcessorInstructionPriority.Aggregation) { @Override public AggregatedType computeResult() { storeLock.lock();