[WAYANG-33] add missing licence header StopWatch.java file
Signed-off-by: bertty <berttycontreras@gmail.com>
diff --git a/pom.xml b/pom.xml
index a4f30f5..5bad3e0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -949,7 +949,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
- <version>2.10.4</version>
+ <version>3.3.0</version>
<executions>
<execution>
<id>attach-javadocs</id>
@@ -959,6 +959,8 @@
</execution>
</executions>
<configuration>
+ <detectLinks>false</detectLinks>
+ <detectJavaApiLink>true</detectJavaApiLink>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
</plugin>
@@ -1215,9 +1217,6 @@
<additionalOptions>
<additionalOption>-Xdoclint:none</additionalOption>
</additionalOptions>
- <links>
- <link>https://docs.oracle.com/javase/8/docs/api/</link>
- </links>
</configuration>
</plugin>
diff --git a/wayang-api/pom.xml b/wayang-api/pom.xml
index 1fa98c2..4efaf11 100644
--- a/wayang-api/pom.xml
+++ b/wayang-api/pom.xml
@@ -42,4 +42,4 @@
<module>wayang-api-python</module>
</modules>
-</project>
\ No newline at end of file
+</project>
diff --git a/wayang-api/wayang-api-scala-java/pom.xml b/wayang-api/wayang-api-scala-java/pom.xml
index 070d5cb..b7e9670 100644
--- a/wayang-api/wayang-api-scala-java/pom.xml
+++ b/wayang-api/wayang-api-scala-java/pom.xml
@@ -61,8 +61,14 @@
<version>0.6.0-SNAPSHOT</version>
</dependency>
<dependency>
- <groupId>de.hpi.isg</groupId>
- <artifactId>profiledb-store</artifactId>
+ <groupId>org.apache.wayang</groupId>
+ <artifactId>wayang-utils-profile-db</artifactId>
+ <version>0.6.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.wayang</groupId>
diff --git a/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/DataQuanta.scala b/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/DataQuanta.scala
index 89722cc..ed1f426 100644
--- a/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/DataQuanta.scala
+++ b/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/DataQuanta.scala
@@ -18,11 +18,10 @@
package org.apache.wayang.api
+
import _root_.java.lang.{Iterable => JavaIterable}
import _root_.java.util.function.{Consumer, IntUnaryOperator, BiFunction => JavaBiFunction, Function => JavaFunction}
import _root_.java.util.{Collection => JavaCollection}
-
-import de.hpi.isg.profiledb.store.model.Experiment
import org.apache.commons.lang3.Validate
import org.apache.wayang.basic.function.ProjectionDescriptor
import org.apache.wayang.basic.operators._
@@ -35,6 +34,7 @@
import org.apache.wayang.core.platform.Platform
import org.apache.wayang.core.util.{Tuple => WayangTuple}
import org.apache.wayang.basic.data.{Tuple2 => WayangTuple2}
+import org.apache.wayang.commons.util.profiledb.model.Experiment
import scala.collection.JavaConversions
import scala.collection.JavaConversions._
diff --git a/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/DataQuantaBuilder.scala b/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/DataQuantaBuilder.scala
index a590795..29b4965 100644
--- a/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/DataQuantaBuilder.scala
+++ b/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/DataQuantaBuilder.scala
@@ -21,17 +21,16 @@
import java.util.function.{Consumer, IntUnaryOperator, Function => JavaFunction}
import java.util.{Collection => JavaCollection}
-
-import de.hpi.isg.profiledb.store.model.Experiment
import org.apache.wayang.api.graph.{Edge, EdgeDataQuantaBuilder, EdgeDataQuantaBuilderDecorator}
import org.apache.wayang.api.util.{DataQuantaBuilderCache, TypeTrap}
import org.apache.wayang.basic.data.{Record, Tuple2 => RT2}
import org.apache.wayang.basic.operators.{GlobalReduceOperator, LocalCallbackSink, MapOperator, SampleOperator}
+import org.apache.wayang.commons.util.profiledb.model.Experiment
import org.apache.wayang.core.function.FunctionDescriptor.{SerializableBiFunction, SerializableBinaryOperator, SerializableFunction, SerializablePredicate}
import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval
import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator
import org.apache.wayang.core.optimizer.costs.{LoadEstimator, LoadProfile, LoadProfileEstimator}
-import org.apache.wayang.core.plan.wayangplan.{Operator, OutputSlot, WayangPlan, UnarySource}
+import org.apache.wayang.core.plan.wayangplan.{Operator, OutputSlot, UnarySource, WayangPlan}
import org.apache.wayang.core.platform.Platform
import org.apache.wayang.core.types.DataSetType
import org.apache.wayang.core.util.{Logging, ReflectionUtils, WayangCollections, Tuple => WayangTuple}
diff --git a/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/JavaPlanBuilder.scala b/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/JavaPlanBuilder.scala
index dc9f6be..d21870a 100644
--- a/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/JavaPlanBuilder.scala
+++ b/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/JavaPlanBuilder.scala
@@ -19,12 +19,11 @@
package org.apache.wayang.api
import java.util.{Collection => JavaCollection}
-
-import de.hpi.isg.profiledb.store.model.Experiment
import org.apache.commons.lang3.Validate
import org.apache.wayang.api.util.DataQuantaBuilderCache
import org.apache.wayang.basic.data.Record
import org.apache.wayang.basic.operators.{TableSource, TextFileSource}
+import org.apache.wayang.commons.util.profiledb.model.Experiment
import org.apache.wayang.core.api.WayangContext
import org.apache.wayang.core.plan.wayangplan._
import org.apache.wayang.core.types.DataSetType
diff --git a/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/PlanBuilder.scala b/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/PlanBuilder.scala
index 8600e23..3709f7f 100644
--- a/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/PlanBuilder.scala
+++ b/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/PlanBuilder.scala
@@ -18,11 +18,11 @@
package org.apache.wayang.api
-import de.hpi.isg.profiledb.store.model.Experiment
import org.apache.commons.lang3.Validate
import org.apache.wayang.api
import org.apache.wayang.basic.data.Record
import org.apache.wayang.basic.operators.{CollectionSource, TableSource, TextFileSource}
+import org.apache.wayang.commons.util.profiledb.model.Experiment
import org.apache.wayang.core.api.WayangContext
import org.apache.wayang.core.plan.wayangplan._
import org.apache.wayang.core.util.ReflectionUtils
diff --git a/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/util/DataQuantaBuilderDecorator.scala b/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/util/DataQuantaBuilderDecorator.scala
index 8ea3dd2..5f1a976 100644
--- a/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/util/DataQuantaBuilderDecorator.scala
+++ b/wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/util/DataQuantaBuilderDecorator.scala
@@ -18,8 +18,8 @@
package org.apache.wayang.api.util
-import de.hpi.isg.profiledb.store.model.Experiment
import org.apache.wayang.api.{DataQuanta, DataQuantaBuilder, JavaPlanBuilder}
+import org.apache.wayang.commons.util.profiledb.model.Experiment
import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator
import org.apache.wayang.core.platform.Platform
import org.apache.wayang.core.types.DataSetType
diff --git a/wayang-commons/pom.xml b/wayang-commons/pom.xml
index 2caa960..e355bc9 100644
--- a/wayang-commons/pom.xml
+++ b/wayang-commons/pom.xml
@@ -202,16 +202,6 @@
<version>2.2.7</version>
</dependency>
<dependency>
- <groupId>de.hpi.isg</groupId>
- <artifactId>profiledb-instrumentation</artifactId>
- <version>0.1.1</version>
- </dependency>
- <dependency>
- <groupId>de.hpi.isg</groupId>
- <artifactId>profiledb-store</artifactId>
- <version>0.1.1</version>
- </dependency>
- <dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.8</version>
@@ -222,7 +212,7 @@
<modules>
<module>wayang-core</module>
<module>wayang-basic</module>
- <module>wayang-utils</module>
+ <module>wayang-utils-profile-db</module>
</modules>
-</project>
\ No newline at end of file
+</project>
diff --git a/wayang-commons/wayang-basic/pom.xml b/wayang-commons/wayang-basic/pom.xml
index 9c0494a..10b1fa5 100644
--- a/wayang-commons/wayang-basic/pom.xml
+++ b/wayang-commons/wayang-basic/pom.xml
@@ -41,9 +41,26 @@
<version>0.6.0-SNAPSHOT</version>
</dependency>
<dependency>
+ <groupId>org.apache.wayang</groupId>
+ <artifactId>wayang-utils-profile-db</artifactId>
+ <version>0.6.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-core</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ </dependency>
</dependencies>
</project>
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/MaterializedGroupByOperator.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/MaterializedGroupByOperator.java
index 5a1e322..4b06020 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/MaterializedGroupByOperator.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/MaterializedGroupByOperator.java
@@ -65,7 +65,7 @@
*
* @param keyDescriptor describes how to extract the key from data units
* @param inputType type of the input elements
- * @param inputType type of the element groups
+ * @param outputType type of the element groups
*/
public MaterializedGroupByOperator(TransformationDescriptor<Type, Key> keyDescriptor,
DataSetType<Type> inputType,
diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/TextFileSource.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/TextFileSource.java
index 47a1cfd..67ddf49 100644
--- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/TextFileSource.java
+++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/TextFileSource.java
@@ -18,8 +18,9 @@
package org.apache.wayang.basic.operators;
-import de.hpi.isg.profiledb.store.model.TimeMeasurement;
+
import org.apache.commons.lang3.Validate;
+import org.apache.wayang.commons.util.profiledb.model.measurement.TimeMeasurement;
import org.apache.wayang.core.api.Configuration;
import org.apache.wayang.core.optimizer.OptimizationContext;
import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
diff --git a/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/operators/TextFileSourceTest.java b/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/operators/TextFileSourceTest.java
index 9a59bc1..9b2e305 100644
--- a/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/operators/TextFileSourceTest.java
+++ b/wayang-commons/wayang-basic/src/test/java/org/apache/wayang/basic/operators/TextFileSourceTest.java
@@ -18,9 +18,10 @@
package org.apache.wayang.basic.operators;
-import de.hpi.isg.profiledb.instrumentation.StopWatch;
-import de.hpi.isg.profiledb.store.model.Experiment;
-import de.hpi.isg.profiledb.store.model.Subject;
+
+import org.apache.wayang.commons.util.profiledb.instrumentation.StopWatch;
+import org.apache.wayang.commons.util.profiledb.model.Experiment;
+import org.apache.wayang.commons.util.profiledb.model.Subject;
import org.junit.Assert;
import org.junit.Test;
import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-commons/wayang-core/pom.xml b/wayang-commons/wayang-core/pom.xml
index 88bfd98..5cc0331 100644
--- a/wayang-commons/wayang-core/pom.xml
+++ b/wayang-commons/wayang-core/pom.xml
@@ -72,14 +72,6 @@
<artifactId>gson</artifactId>
</dependency>
<dependency>
- <groupId>de.hpi.isg</groupId>
- <artifactId>profiledb-instrumentation</artifactId>
- </dependency>
- <dependency>
- <groupId>de.hpi.isg</groupId>
- <artifactId>profiledb-store</artifactId>
- </dependency>
- <dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
@@ -96,6 +88,11 @@
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.wayang</groupId>
+ <artifactId>wayang-utils-profile-db</artifactId>
+ <version>0.6.0-SNAPSHOT</version>
+ </dependency>
</dependencies>
</project>
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/Job.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/Job.java
index f0048e9..97454b3 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/Job.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/Job.java
@@ -18,9 +18,9 @@
package org.apache.wayang.core.api;
-import de.hpi.isg.profiledb.instrumentation.StopWatch;
-import de.hpi.isg.profiledb.store.model.Experiment;
-import de.hpi.isg.profiledb.store.model.TimeMeasurement;
+import org.apache.wayang.commons.util.profiledb.instrumentation.StopWatch;
+import org.apache.wayang.commons.util.profiledb.model.Experiment;
+import org.apache.wayang.commons.util.profiledb.model.measurement.TimeMeasurement;
import org.apache.wayang.core.api.exception.WayangException;
import org.apache.wayang.core.mapping.PlanTransformation;
import org.apache.wayang.core.monitor.DisabledMonitor;
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/WayangContext.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/WayangContext.java
index 1484eed..f40f536 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/WayangContext.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/WayangContext.java
@@ -18,8 +18,8 @@
package org.apache.wayang.core.api;
-import de.hpi.isg.profiledb.store.model.Experiment;
-import de.hpi.isg.profiledb.store.model.Subject;
+import org.apache.wayang.commons.util.profiledb.model.Experiment;
+import org.apache.wayang.commons.util.profiledb.model.Subject;
import org.apache.wayang.core.monitor.Monitor;
import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
import org.apache.wayang.core.plan.executionplan.ExecutionPlan;
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumeration.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumeration.java
index e6ce1c6..e00753c 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumeration.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumeration.java
@@ -18,7 +18,8 @@
package org.apache.wayang.core.optimizer.enumeration;
-import de.hpi.isg.profiledb.store.model.TimeMeasurement;
+
+import org.apache.wayang.commons.util.profiledb.model.measurement.TimeMeasurement;
import org.apache.wayang.core.api.Job;
import org.apache.wayang.core.optimizer.OptimizationContext;
import org.apache.wayang.core.optimizer.channels.ChannelConversionGraph;
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumerator.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumerator.java
index 914dcd6..17ce28b 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumerator.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanEnumerator.java
@@ -18,7 +18,7 @@
package org.apache.wayang.core.optimizer.enumeration;
-import de.hpi.isg.profiledb.store.model.TimeMeasurement;
+import org.apache.wayang.commons.util.profiledb.model.measurement.TimeMeasurement;
import org.apache.wayang.core.api.Configuration;
import org.apache.wayang.core.api.exception.WayangException;
import org.apache.wayang.core.optimizer.OptimizationContext;
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/PlanMetrics.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/PlanMetrics.java
index a6f20f7..8b8342a 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/PlanMetrics.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/PlanMetrics.java
@@ -18,10 +18,10 @@
package org.apache.wayang.core.plan.wayangplan;
-import de.hpi.isg.profiledb.store.model.Measurement;
-import de.hpi.isg.profiledb.store.model.Type;
import java.util.Collection;
+import org.apache.wayang.commons.util.profiledb.model.Measurement;
+import org.apache.wayang.commons.util.profiledb.model.Type;
/**
* This class collects metrics for {@link WayangPlan}s.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/CostMeasurement.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/CostMeasurement.java
index e7b1199..d9aae45 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/CostMeasurement.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/CostMeasurement.java
@@ -18,8 +18,9 @@
package org.apache.wayang.core.profiling;
-import de.hpi.isg.profiledb.store.model.Measurement;
-import de.hpi.isg.profiledb.store.model.Type;
+
+import org.apache.wayang.commons.util.profiledb.model.Measurement;
+import org.apache.wayang.commons.util.profiledb.model.Type;
/**
* This measurement captures execution costs w.r.t. to Wayang's cost model.
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/ExecutionPlanMeasurement.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/ExecutionPlanMeasurement.java
index 679797f..1459d15 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/ExecutionPlanMeasurement.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/ExecutionPlanMeasurement.java
@@ -18,8 +18,9 @@
package org.apache.wayang.core.profiling;
-import de.hpi.isg.profiledb.store.model.Measurement;
-import de.hpi.isg.profiledb.store.model.Type;
+
+import org.apache.wayang.commons.util.profiledb.model.Measurement;
+import org.apache.wayang.commons.util.profiledb.model.Type;
import org.apache.wayang.core.plan.executionplan.Channel;
import org.apache.wayang.core.plan.executionplan.ExecutionPlan;
import org.apache.wayang.core.plan.executionplan.ExecutionTask;
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/PartialExecutionMeasurement.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/PartialExecutionMeasurement.java
index 3320f9f..61e366c 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/PartialExecutionMeasurement.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/PartialExecutionMeasurement.java
@@ -18,8 +18,9 @@
package org.apache.wayang.core.profiling;
-import de.hpi.isg.profiledb.store.model.Measurement;
-import de.hpi.isg.profiledb.store.model.Type;
+
+import org.apache.wayang.commons.util.profiledb.model.Measurement;
+import org.apache.wayang.commons.util.profiledb.model.Type;
import org.apache.wayang.core.api.Configuration;
import org.apache.wayang.core.optimizer.costs.TimeEstimate;
import org.apache.wayang.core.platform.PartialExecution;
diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/ProfileDBs.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/ProfileDBs.java
index 6e4bc85..2a25626 100644
--- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/ProfileDBs.java
+++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/profiling/ProfileDBs.java
@@ -18,13 +18,14 @@
package org.apache.wayang.core.profiling;
-import de.hpi.isg.profiledb.ProfileDB;
+
+import org.apache.wayang.commons.util.profiledb.ProfileDB;
import org.apache.wayang.core.plan.wayangplan.Operator;
import org.apache.wayang.core.plan.wayangplan.OperatorBase;
import org.apache.wayang.core.plan.wayangplan.PlanMetrics;
/**
- * Utilities to work with {@link de.hpi.isg.profiledb.ProfileDB}s.
+ * Utilities to work with {@link ProfileDB}s.
*/
public class ProfileDBs {
@@ -34,7 +35,7 @@
* @return the {@link ProfileDB}
*/
public static ProfileDB createProfileDB() {
- final ProfileDB profileDB = new ProfileDB();
+ final ProfileDB profileDB = new ProfileDB(null);
customize(profileDB);
return profileDB;
}
diff --git a/wayang-commons/wayang-utils/wayang-profile-db/README.md b/wayang-commons/wayang-utils-profile-db/README.md
similarity index 100%
rename from wayang-commons/wayang-utils/wayang-profile-db/README.md
rename to wayang-commons/wayang-utils-profile-db/README.md
diff --git a/wayang-commons/wayang-utils/wayang-profile-db/pom.xml b/wayang-commons/wayang-utils-profile-db/pom.xml
similarity index 93%
rename from wayang-commons/wayang-utils/wayang-profile-db/pom.xml
rename to wayang-commons/wayang-utils-profile-db/pom.xml
index 1d8f2ff..dd66bdc 100644
--- a/wayang-commons/wayang-utils/wayang-profile-db/pom.xml
+++ b/wayang-commons/wayang-utils-profile-db/pom.xml
@@ -21,13 +21,13 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
- <artifactId>wayang-utils</artifactId>
+ <artifactId>wayang-commons</artifactId>
<groupId>org.apache.wayang</groupId>
<version>0.6.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
- <artifactId>wayang-profile-db</artifactId>
+ <artifactId>wayang-utils-profile-db</artifactId>
<dependencies>
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
@@ -39,4 +39,4 @@
</dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/ProfileDB.java b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/ProfileDB.java
similarity index 93%
rename from wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/ProfileDB.java
rename to wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/ProfileDB.java
index 3a1389f..d5550b9 100644
--- a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/ProfileDB.java
+++ b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/ProfileDB.java
@@ -16,18 +16,17 @@
* limitations under the License.
*/
-package profiledb;
+package org.apache.wayang.commons.util.profiledb;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
-import profiledb.json.MeasurementDeserializer;
-import profiledb.json.MeasurementSerializer;
-import profiledb.model.Experiment;
-import profiledb.model.Measurement;
-import profiledb.storage.Storage;
+import org.apache.wayang.commons.util.profiledb.json.MeasurementDeserializer;
+import org.apache.wayang.commons.util.profiledb.json.MeasurementSerializer;
+import org.apache.wayang.commons.util.profiledb.model.Experiment;
+import org.apache.wayang.commons.util.profiledb.model.Measurement;
+import org.apache.wayang.commons.util.profiledb.storage.Storage;
import java.io.*;
-import java.util.Arrays;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
diff --git a/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/instrumentation/StopWatch.java b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/instrumentation/StopWatch.java
new file mode 100644
index 0000000..6a4278f
--- /dev/null
+++ b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/instrumentation/StopWatch.java
@@ -0,0 +1,162 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.wayang.commons.util.profiledb.instrumentation;
+
+import java.util.Collection;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import org.apache.wayang.commons.util.profiledb.model.Experiment;
+import org.apache.wayang.commons.util.profiledb.model.Measurement;
+import org.apache.wayang.commons.util.profiledb.model.measurement.TimeMeasurement;
+
+/**
+ * Utility to create {@link TimeMeasurement}s for an {@link Experiment}.
+ */
+public class StopWatch {
+
+ private final Map<String, TimeMeasurement> rounds = new LinkedHashMap<>();
+
+ private final Experiment experiment;
+
+ /**
+ * Creates a new instance for the given {@link Experiment}.
+ *
+ * @param experiment that should be instrumented
+ */
+ public StopWatch(Experiment experiment) {
+ this.experiment = experiment;
+ for (Measurement measurement : this.experiment.getMeasurements()) {
+ if (measurement instanceof TimeMeasurement) {
+ this.rounds.put(measurement.getId(), (TimeMeasurement) measurement);
+ }
+ }
+ }
+
+ /**
+ * Retrieves a {@link TimeMeasurement} by its ID from {@link #rounds}. If it does not exist, it will be
+ * created and also registered with the {@link #experiment}.
+ *
+ * @param id the ID of the {@link TimeMeasurement}
+ * @param furtherIds IDs of further nested {@link TimeMeasurement}s
+ * @return the {@link TimeMeasurement}
+ */
+ public TimeMeasurement getOrCreateRound(String id, String... furtherIds) {
+ TimeMeasurement round = this.rounds.get(id);
+ if (round == null) {
+ round = new TimeMeasurement(id);
+ this.rounds.put(round.getId(), round);
+ this.experiment.addMeasurement(round);
+ }
+ for (String furtherId : furtherIds) {
+ round = round.getOrCreateRound(furtherId);
+ }
+ return round;
+ }
+
+ /**
+ * Starts a {@link TimeMeasurement}. Any required parent {@link TimeMeasurement} will be started if necessary.
+ *
+ * @param id ID of the root {@link TimeMeasurement}
+ * @param furtherIds IDs of further nested {@link TimeMeasurement}s
+ * @return the (potentially new) {@link TimeMeasurement}
+ */
+ public TimeMeasurement start(String id, String... furtherIds) {
+ return this.getOrCreateRound(id).start(furtherIds);
+ }
+
+ /**
+ * Stops a {@link TimeMeasurement} (if it exists).
+ *
+ * @param id ID of the root {@link TimeMeasurement}
+ * @param furtherIds IDs of further nested {@link TimeMeasurement}s
+ */
+ public void stop(String id, String... furtherIds) {
+ final TimeMeasurement rootRound = this.rounds.get(id);
+ if (rootRound != null) {
+ rootRound.stop(furtherIds);
+ }
+ }
+
+ /**
+ * Formats the {@link TimeMeasurement}s to something easily readable.
+ *
+ * @return the "pretty" {@link String}
+ */
+ public String toPrettyString() {
+ return this.toPrettyString(" ", "* ");
+ }
+
+ /**
+ * Formats the {@link TimeMeasurement}s to something easily readable.
+ *
+ * @param indent indent to be used when formatting sub-{@link TimeMeasurement}s
+ * @param bullet bullet point character
+ * @return the "pretty" {@link String}
+ */
+ public String toPrettyString(String indent, String bullet) {
+ StringBuilder sb = new StringBuilder(1000);
+ int firstColumnWidth = this.determineFirstColumnWidth(this.rounds.values(), indent.length(), 0, bullet.length());
+ this.rounds.values().forEach(round -> this.append(round, indent, 0, bullet, firstColumnWidth, sb));
+ // Trim trailing newline.
+ if (sb.length() > 0 && sb.charAt(sb.length() - 1) == '\n') {
+ sb.setLength(sb.length() - 1);
+ }
+ return sb.toString();
+ }
+
+ private int determineFirstColumnWidth(Collection<TimeMeasurement> rounds, int indentWidth, int numIndents, int bulletWidth) {
+ return rounds.stream()
+ .map(round -> this.determineFirstColumnWidth(round, indentWidth, numIndents, bulletWidth))
+ .reduce(0, Math::max);
+ }
+
+ private int determineFirstColumnWidth(TimeMeasurement round, int indentWidth, int numIndents, int bulletWidth) {
+ return Math.max(
+ round.getId().length() + (numIndents * indentWidth) + bulletWidth,
+ this.determineFirstColumnWidth(round.getRounds(), indentWidth, numIndents + 1, bulletWidth)
+ );
+ }
+
+ private void append(TimeMeasurement round, String indent, int numIndents, String bullet, int firstColumnWidth, StringBuilder sb) {
+ int originalLength = sb.length();
+ for (int i = 0; i < numIndents; i++) {
+ sb.append(indent);
+ }
+ sb.append(bullet).append(round.getId());
+ while (sb.length() < originalLength + firstColumnWidth) sb.append(" ");
+ sb.append(" - ").append(TimeMeasurement.formatDuration(round.getMillis())).append('\n');
+ round.getRounds().forEach(subround -> this.append(subround, indent, numIndents + 1, bullet, firstColumnWidth, sb));
+ }
+
+ /**
+ * Stops all {@link TimeMeasurement}s known to this instance.
+ */
+ public void stopAll() {
+ this.rounds.values().forEach(TimeMeasurement::stop);
+ }
+
+ /**
+ * Get the {@link Experiment} managed by this instance.
+ *
+ * @return the {@link Experiment}
+ */
+ public Experiment getExperiment() {
+ return this.experiment;
+ }
+}
diff --git a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/json/MeasurementDeserializer.java b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/json/MeasurementDeserializer.java
similarity index 94%
rename from wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/json/MeasurementDeserializer.java
rename to wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/json/MeasurementDeserializer.java
index b7d4b4d..4592cf4 100644
--- a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/json/MeasurementDeserializer.java
+++ b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/json/MeasurementDeserializer.java
@@ -16,13 +16,13 @@
* limitations under the License.
*/
-package profiledb.json;
+package org.apache.wayang.commons.util.profiledb.json;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonParseException;
-import profiledb.model.Measurement;
+import org.apache.wayang.commons.util.profiledb.model.Measurement;
import java.lang.reflect.Type;
import java.util.HashMap;
diff --git a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/json/MeasurementSerializer.java b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/json/MeasurementSerializer.java
similarity index 92%
rename from wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/json/MeasurementSerializer.java
rename to wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/json/MeasurementSerializer.java
index dab969e..7691a04 100644
--- a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/json/MeasurementSerializer.java
+++ b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/json/MeasurementSerializer.java
@@ -16,13 +16,13 @@
* limitations under the License.
*/
-package profiledb.json;
+package org.apache.wayang.commons.util.profiledb.json;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
-import profiledb.model.Measurement;
+import org.apache.wayang.commons.util.profiledb.model.Measurement;
import java.lang.reflect.Type;
diff --git a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/model/Experiment.java b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/model/Experiment.java
similarity index 98%
rename from wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/model/Experiment.java
rename to wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/model/Experiment.java
index 956dcdc..084915a 100644
--- a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/model/Experiment.java
+++ b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/model/Experiment.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package profiledb.model;
+package org.apache.wayang.commons.util.profiledb.model;
import java.util.Arrays;
import java.util.Collection;
diff --git a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/model/Measurement.java b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/model/Measurement.java
similarity index 96%
rename from wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/model/Measurement.java
rename to wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/model/Measurement.java
index 16a1b99..7fe9b7c 100644
--- a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/model/Measurement.java
+++ b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/model/Measurement.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package profiledb.model;
+package org.apache.wayang.commons.util.profiledb.model;
import java.util.Objects;
diff --git a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/model/Subject.java b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/model/Subject.java
similarity index 97%
rename from wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/model/Subject.java
rename to wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/model/Subject.java
index f3b2ecb..5501a3f 100644
--- a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/model/Subject.java
+++ b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/model/Subject.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package profiledb.model;
+package org.apache.wayang.commons.util.profiledb.model;
import java.util.HashMap;
import java.util.Map;
diff --git a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/model/Type.java b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/model/Type.java
similarity index 94%
rename from wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/model/Type.java
rename to wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/model/Type.java
index 683c1b2..44495de 100644
--- a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/model/Type.java
+++ b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/model/Type.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package profiledb.model;
+package org.apache.wayang.commons.util.profiledb.model;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/model/measurement/TimeMeasurement.java b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/model/measurement/TimeMeasurement.java
similarity index 96%
rename from wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/model/measurement/TimeMeasurement.java
rename to wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/model/measurement/TimeMeasurement.java
index 725b435..821dbde 100644
--- a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/model/measurement/TimeMeasurement.java
+++ b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/model/measurement/TimeMeasurement.java
@@ -16,10 +16,10 @@
* limitations under the License.
*/
-package profiledb.model.measurement;
+package org.apache.wayang.commons.util.profiledb.model.measurement;
-import profiledb.model.Measurement;
-import profiledb.model.Type;
+import org.apache.wayang.commons.util.profiledb.model.Measurement;
+import org.apache.wayang.commons.util.profiledb.model.Type;
import java.util.Collection;
import java.util.LinkedList;
diff --git a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/storage/FileStorage.java b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/storage/FileStorage.java
similarity index 96%
rename from wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/storage/FileStorage.java
rename to wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/storage/FileStorage.java
index 9a8d75d..663eefc 100644
--- a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/storage/FileStorage.java
+++ b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/storage/FileStorage.java
@@ -16,15 +16,14 @@
* limitations under the License.
*/
-package profiledb.storage;
+package org.apache.wayang.commons.util.profiledb.storage;
-import profiledb.model.Experiment;
+import org.apache.wayang.commons.util.profiledb.model.Experiment;
import java.io.*;
import java.net.URI;
import java.util.Arrays;
import java.util.Collection;
-import java.util.LinkedList;
public class FileStorage extends Storage {
diff --git a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/storage/JDBCStorage.java b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/storage/JDBCStorage.java
similarity index 96%
rename from wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/storage/JDBCStorage.java
rename to wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/storage/JDBCStorage.java
index 278277e..3b57add 100644
--- a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/storage/JDBCStorage.java
+++ b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/storage/JDBCStorage.java
@@ -16,9 +16,9 @@
* limitations under the License.
*/
-package profiledb.storage;
+package org.apache.wayang.commons.util.profiledb.storage;
-import profiledb.model.Experiment;
+import org.apache.wayang.commons.util.profiledb.model.Experiment;
import java.io.File;
import java.io.FileInputStream;
diff --git a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/storage/Storage.java b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/storage/Storage.java
similarity index 96%
rename from wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/storage/Storage.java
rename to wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/storage/Storage.java
index 75b8272..6102fb8 100644
--- a/wayang-commons/wayang-utils/wayang-profile-db/src/main/java/profiledb/storage/Storage.java
+++ b/wayang-commons/wayang-utils-profile-db/src/main/java/org/apache/wayang/commons/util/profiledb/storage/Storage.java
@@ -16,11 +16,11 @@
* limitations under the License.
*/
-package profiledb.storage;
+package org.apache.wayang.commons.util.profiledb.storage;
import com.google.gson.Gson;
-import profiledb.ProfileDB;
-import profiledb.model.Experiment;
+import org.apache.wayang.commons.util.profiledb.ProfileDB;
+import org.apache.wayang.commons.util.profiledb.model.Experiment;
import java.io.*;
import java.net.URI;
diff --git a/wayang-commons/wayang-utils/wayang-profile-db/src/test/java/profiledb/ProfileDBTest.java b/wayang-commons/wayang-utils-profile-db/src/test/java/org/apache/wayang/commons/util/profiledb/ProfileDBTest.java
similarity index 94%
rename from wayang-commons/wayang-utils/wayang-profile-db/src/test/java/profiledb/ProfileDBTest.java
rename to wayang-commons/wayang-utils-profile-db/src/test/java/org/apache/wayang/commons/util/profiledb/ProfileDBTest.java
index f33ca72..20948b4 100644
--- a/wayang-commons/wayang-utils/wayang-profile-db/src/test/java/profiledb/ProfileDBTest.java
+++ b/wayang-commons/wayang-utils-profile-db/src/test/java/org/apache/wayang/commons/util/profiledb/ProfileDBTest.java
@@ -16,27 +16,22 @@
* limitations under the License.
*/
-package profiledb;
+package org.apache.wayang.commons.util.profiledb;
+import org.apache.wayang.commons.util.profiledb.measurement.TestMemoryMeasurement;
+import org.apache.wayang.commons.util.profiledb.measurement.TestTimeMeasurement;
+import org.apache.wayang.commons.util.profiledb.model.Experiment;
+import org.apache.wayang.commons.util.profiledb.model.Measurement;
+import org.apache.wayang.commons.util.profiledb.model.Subject;
+import org.apache.wayang.commons.util.profiledb.storage.FileStorage;
import org.junit.Assert;
import org.junit.Test;
-import profiledb.measurement.TestMemoryMeasurement;
-import profiledb.measurement.TestTimeMeasurement;
-import profiledb.model.Experiment;
-import profiledb.model.Measurement;
-import profiledb.model.Subject;
-import profiledb.storage.FileStorage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
import java.util.*;
public class ProfileDBTest {
diff --git a/wayang-commons/wayang-utils/wayang-profile-db/src/test/java/profiledb/measurement/TestMemoryMeasurement.java b/wayang-commons/wayang-utils-profile-db/src/test/java/org/apache/wayang/commons/util/profiledb/measurement/TestMemoryMeasurement.java
similarity index 91%
rename from wayang-commons/wayang-utils/wayang-profile-db/src/test/java/profiledb/measurement/TestMemoryMeasurement.java
rename to wayang-commons/wayang-utils-profile-db/src/test/java/org/apache/wayang/commons/util/profiledb/measurement/TestMemoryMeasurement.java
index 6386bde..be85515 100644
--- a/wayang-commons/wayang-utils/wayang-profile-db/src/test/java/profiledb/measurement/TestMemoryMeasurement.java
+++ b/wayang-commons/wayang-utils-profile-db/src/test/java/org/apache/wayang/commons/util/profiledb/measurement/TestMemoryMeasurement.java
@@ -16,10 +16,10 @@
* limitations under the License.
*/
-package profiledb.measurement;
+package org.apache.wayang.commons.util.profiledb.measurement;
-import profiledb.model.Measurement;
-import profiledb.model.Type;
+import org.apache.wayang.commons.util.profiledb.model.Measurement;
+import org.apache.wayang.commons.util.profiledb.model.Type;
import java.util.Objects;
@@ -77,4 +77,4 @@
", usedMb=" + usedMb +
'}';
}
-}
\ No newline at end of file
+}
diff --git a/wayang-commons/wayang-utils/wayang-profile-db/src/test/java/profiledb/measurement/TestTimeMeasurement.java b/wayang-commons/wayang-utils-profile-db/src/test/java/org/apache/wayang/commons/util/profiledb/measurement/TestTimeMeasurement.java
similarity index 91%
rename from wayang-commons/wayang-utils/wayang-profile-db/src/test/java/profiledb/measurement/TestTimeMeasurement.java
rename to wayang-commons/wayang-utils-profile-db/src/test/java/org/apache/wayang/commons/util/profiledb/measurement/TestTimeMeasurement.java
index c0c2ac8..addb644 100644
--- a/wayang-commons/wayang-utils/wayang-profile-db/src/test/java/profiledb/measurement/TestTimeMeasurement.java
+++ b/wayang-commons/wayang-utils-profile-db/src/test/java/org/apache/wayang/commons/util/profiledb/measurement/TestTimeMeasurement.java
@@ -16,10 +16,10 @@
* limitations under the License.
*/
-package profiledb.measurement;
+package org.apache.wayang.commons.util.profiledb.measurement;
-import profiledb.model.Measurement;
-import profiledb.model.Type;
+import org.apache.wayang.commons.util.profiledb.model.Measurement;
+import org.apache.wayang.commons.util.profiledb.model.Type;
import java.util.Collection;
import java.util.LinkedList;
@@ -71,4 +71,4 @@
public int hashCode() {
return Objects.hash(super.hashCode(), millis, submeasurements);
}
-}
\ No newline at end of file
+}
diff --git a/wayang-commons/wayang-utils/pom.xml b/wayang-commons/wayang-utils/pom.xml
deleted file mode 100644
index 1acce47..0000000
--- a/wayang-commons/wayang-utils/pom.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you 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.
- -->
-<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/xsd/maven-4.0.0.xsd">
- <parent>
- <artifactId>wayang-commons</artifactId>
- <groupId>org.apache.wayang</groupId>
- <version>0.6.0-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
-
- <artifactId>wayang-utils</artifactId>
- <packaging>pom</packaging>
-
- <modules>
- <module>wayang-profile-db</module>
- </modules>
-
-
-</project>
\ No newline at end of file
diff --git a/wayang-distro/pom.xml b/wayang-distro/pom.xml
index 2a6588c..7403b18 100644
--- a/wayang-distro/pom.xml
+++ b/wayang-distro/pom.xml
@@ -96,7 +96,7 @@
</dependency>
<dependency>
<groupId>org.apache.wayang</groupId>
- <artifactId>wayang-api-scala-java_2.11</artifactId>
+ <artifactId>wayang-api-scala-java_2.12</artifactId>
<version>0.6.0-SNAPSHOT</version>
</dependency>
<dependency>
diff --git a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/platform/JavaPlatform.java b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/platform/JavaPlatform.java
index 0628428..4aba144 100644
--- a/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/platform/JavaPlatform.java
+++ b/wayang-platforms/wayang-java/src/main/java/org/apache/wayang/java/platform/JavaPlatform.java
@@ -28,7 +28,7 @@
import org.apache.wayang.java.execution.JavaExecutor;
/**
- * {@link Platform} for a single JVM executor based on the {@link java.util.stream} library.
+ * {@link Platform} for a single JVM executor based on the {@link java.util.stream.Stream} library.
*/
public class JavaPlatform extends Platform {
diff --git a/wayang-platforms/wayang-jdbc-template/src/main/java/org/apache/wayang/jdbc/operators/JdbcTableSource.java b/wayang-platforms/wayang-jdbc-template/src/main/java/org/apache/wayang/jdbc/operators/JdbcTableSource.java
index 4132a7b..2d546de 100644
--- a/wayang-platforms/wayang-jdbc-template/src/main/java/org/apache/wayang/jdbc/operators/JdbcTableSource.java
+++ b/wayang-platforms/wayang-jdbc-template/src/main/java/org/apache/wayang/jdbc/operators/JdbcTableSource.java
@@ -18,8 +18,8 @@
package org.apache.wayang.jdbc.operators;
-import de.hpi.isg.profiledb.store.model.TimeMeasurement;
import org.apache.wayang.basic.operators.TableSource;
+import org.apache.wayang.commons.util.profiledb.model.measurement.TimeMeasurement;
import org.apache.wayang.core.optimizer.OptimizationContext;
import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimate;
import org.apache.wayang.core.optimizer.cardinality.CardinalityEstimator;
diff --git a/wayang-platforms/wayang-jdbc-template/src/test/java/org/apache/wayang/jdbc/operators/JdbcTableSourceTest.java b/wayang-platforms/wayang-jdbc-template/src/test/java/org/apache/wayang/jdbc/operators/JdbcTableSourceTest.java
index 3feb5c7..aea6fc1 100644
--- a/wayang-platforms/wayang-jdbc-template/src/test/java/org/apache/wayang/jdbc/operators/JdbcTableSourceTest.java
+++ b/wayang-platforms/wayang-jdbc-template/src/test/java/org/apache/wayang/jdbc/operators/JdbcTableSourceTest.java
@@ -18,9 +18,10 @@
package org.apache.wayang.jdbc.operators;
-import de.hpi.isg.profiledb.instrumentation.StopWatch;
-import de.hpi.isg.profiledb.store.model.Experiment;
-import de.hpi.isg.profiledb.store.model.Subject;
+
+import org.apache.wayang.commons.util.profiledb.instrumentation.StopWatch;
+import org.apache.wayang.commons.util.profiledb.model.Experiment;
+import org.apache.wayang.commons.util.profiledb.model.Subject;
import org.junit.Assert;
import org.junit.Test;
import org.apache.wayang.core.api.Configuration;
diff --git a/wayang-platforms/wayang-spark/pom.xml b/wayang-platforms/wayang-spark/pom.xml
index 8a93813..7f8a976 100644
--- a/wayang-platforms/wayang-spark/pom.xml
+++ b/wayang-platforms/wayang-spark/pom.xml
@@ -84,6 +84,7 @@
<groupId>com.thoughtworks.paranamer</groupId>
<artifactId>paranamer</artifactId>
<version>2.8</version>
+ <scope>runtime</scope>
</dependency>
</dependencies>
diff --git a/wayang-profiler/pom.xml b/wayang-profiler/pom.xml
index fb69990..6d9a1b4 100644
--- a/wayang-profiler/pom.xml
+++ b/wayang-profiler/pom.xml
@@ -81,8 +81,9 @@
<version>${spark.version}</version>
</dependency>
<dependency>
- <groupId>de.hpi.isg</groupId>
- <artifactId>profiledb-instrumentation</artifactId>
+ <groupId>org.apache.wayang</groupId>
+ <artifactId>wayang-utils-profile-db</artifactId>
+ <version>0.6.0-SNAPSHOT</version>
</dependency>
</dependencies>
<profiles>
diff --git a/wayang-profiler/src/main/java/org/apache/wayang/profiler/java/Profiler.java b/wayang-profiler/src/main/java/org/apache/wayang/profiler/java/Profiler.java
index b6e3852..1862ec1 100644
--- a/wayang-profiler/src/main/java/org/apache/wayang/profiler/java/Profiler.java
+++ b/wayang-profiler/src/main/java/org/apache/wayang/profiler/java/Profiler.java
@@ -18,11 +18,12 @@
package org.apache.wayang.profiler.java;
-import de.hpi.isg.profiledb.instrumentation.StopWatch;
-import de.hpi.isg.profiledb.store.model.Experiment;
-import de.hpi.isg.profiledb.store.model.Subject;
-import de.hpi.isg.profiledb.store.model.TimeMeasurement;
+
import org.apache.wayang.basic.data.Tuple2;
+import org.apache.wayang.commons.util.profiledb.instrumentation.StopWatch;
+import org.apache.wayang.commons.util.profiledb.model.Experiment;
+import org.apache.wayang.commons.util.profiledb.model.Subject;
+import org.apache.wayang.commons.util.profiledb.model.measurement.TimeMeasurement;
import org.apache.wayang.core.optimizer.costs.LoadProfileEstimator;
import org.apache.wayang.core.util.WayangCollections;
import org.apache.wayang.java.operators.JavaExecutionOperator;
diff --git a/wayang-profiler/src/main/java/org/apache/wayang/profiler/spark/Main.java b/wayang-profiler/src/main/java/org/apache/wayang/profiler/spark/Main.java
index c4412ca..8a0d3a7 100644
--- a/wayang-profiler/src/main/java/org/apache/wayang/profiler/spark/Main.java
+++ b/wayang-profiler/src/main/java/org/apache/wayang/profiler/spark/Main.java
@@ -18,10 +18,11 @@
package org.apache.wayang.profiler.spark;
-import de.hpi.isg.profiledb.instrumentation.StopWatch;
-import de.hpi.isg.profiledb.store.model.Experiment;
-import de.hpi.isg.profiledb.store.model.Subject;
-import de.hpi.isg.profiledb.store.model.TimeMeasurement;
+
+import org.apache.wayang.commons.util.profiledb.instrumentation.StopWatch;
+import org.apache.wayang.commons.util.profiledb.model.Experiment;
+import org.apache.wayang.commons.util.profiledb.model.Subject;
+import org.apache.wayang.commons.util.profiledb.model.measurement.TimeMeasurement;
import org.apache.wayang.core.api.Configuration;
import org.apache.wayang.core.util.WayangArrays;
import org.apache.wayang.core.util.WayangCollections;