replace quarks-edge javadoc location to apache location
diff --git a/site/_data/mydoc/mydoc_topnav.yml b/site/_data/mydoc/mydoc_topnav.yml
index 03dbad0..8b752c4 100644
--- a/site/_data/mydoc/mydoc_topnav.yml
+++ b/site/_data/mydoc/mydoc_topnav.yml
@@ -39,7 +39,7 @@
 - title: Topnav
   subcategories:
     - title: Javadoc
-      external_url: https://quarks-edge.github.io/quarks/docs/javadoc/index.html
+      external_url: http://quarks.incubator.apache.org/javadoc/lastest/index.html
       audience: writers, designers
       platform: all
       product: all
diff --git a/site/docs/console.md b/site/docs/console.md
index dc18404..fade4f8 100644
--- a/site/docs/console.md
+++ b/site/docs/console.md
@@ -402,7 +402,7 @@
 
 ## Counters
 
-In the `ConsoleWaterDetector` application we used a `DevelopmentProvider`. Therefore, counters were added to most streams (edges) with the following exceptions (from the [Javadoc](http://quarks-edge.github.io/quarks/docs/javadoc/quarks/metrics/Metrics.html#counter-quarks.topology.TStream-) for `quarks.metrics.Metrics`):
+In the `ConsoleWaterDetector` application we used a `DevelopmentProvider`. Therefore, counters were added to most streams (edges) with the following exceptions (from the [Javadoc](http://quarks.incubator.apache.org/javadoc/lastest/quarks/metrics/Metrics.html#counter-quarks.topology.TStream-) for `quarks.metrics.Metrics`):
 
 *Oplets are only inserted upstream from a FanOut oplet.*
 
diff --git a/site/docs/quarks-getting-started.md b/site/docs/quarks-getting-started.md
index 9aab9a1..e6fe671 100644
--- a/site/docs/quarks-getting-started.md
+++ b/site/docs/quarks-getting-started.md
@@ -109,7 +109,7 @@
 
 ### Specifying a provider
 
-Your first step when you write a Quarks application is to create a [`DirectProvider`](http://quarks-edge.github.io/quarks/docs/javadoc/index.html?quarks/providers/direct/DirectProvider.html):
+Your first step when you write a Quarks application is to create a [`DirectProvider`](http://quarks.incubator.apache.org/javadoc/lastest/index.html?quarks/providers/direct/DirectProvider.html):
 
 ```java
 DirectProvider dp = new DirectProvider();
@@ -119,7 +119,7 @@
 
 ### Creating a topology
 
-Additionally a Provider is used to create a [`Topology`](http://quarks-edge.github.io/quarks/docs/javadoc/index.html?quarks/topology/Topology.html) instance:
+Additionally a Provider is used to create a [`Topology`](http://quarks.incubator.apache.org/javadoc/lastest/index.html?quarks/topology/Topology.html) instance:
 
 ```java
 Topology topology = dp.newTopology();
diff --git a/site/docs/quickstart.md b/site/docs/quickstart.md
index e5ed808..91f3f37 100644
--- a/site/docs/quickstart.md
+++ b/site/docs/quickstart.md
@@ -7,9 +7,9 @@
 IoT devices running quarks applications typically connect to back-end analytic systems through a message hub. Message hubs are used to isolate the back-end system from having to handle connections from thousands to millions of devices.
 
 An example of such a message hub designed for the Internet of Things is [IBM Watson IoT Platform](https://internetofthings.ibmcloud.com/). This cloud service runs on IBM's Bluemix cloud platform
-and Quarks provides a [connector](http://quarks-edge.github.io/quarks/docs/javadoc/index.html?quarks/connectors/iotf/IotfDevice.html).
+and Quarks provides a [connector](http://quarks.incubator.apache.org/javadoc/lastest/index.html?quarks/connectors/iotf/IotfDevice.html).
 
-You can test out the service without any registration by using its Quickstart service and the Quarks sample application: [code](https://github.com/apache/incubator-quarks/blob/master/samples/connectors/src/main/java/quarks/samples/connectors/iotf/IotfQuickstart.java), [JavaDocs](http://quarks-edge.github.io/quarks/docs/javadoc/index.html?quarks/samples/connectors/iotf/IotfQuickstart.html).
+You can test out the service without any registration by using its Quickstart service and the Quarks sample application: [code](https://github.com/apache/incubator-quarks/blob/master/samples/connectors/src/main/java/quarks/samples/connectors/iotf/IotfQuickstart.java), [JavaDocs](http://quarks.incubator.apache.org/javadoc/lastest/index.html?quarks/samples/connectors/iotf/IotfQuickstart.html).
 
 You can execute the class directly from Eclipse, or using the script: [`quarks/java8/scripts/connectors/iotf/runiotfquickstart.sh`](https://github.com/quarks-edge/quarks/blob/master/scripts/connectors/iotf/runiotfquickstart.sh)
 
diff --git a/site/docs/samples.md b/site/docs/samples.md
index 3a2c0f0..b0646ef 100644
--- a/site/docs/samples.md
+++ b/site/docs/samples.md
@@ -40,4 +40,4 @@
   - Samples that demonstrate how to use IBM Watson IoT Platform as the IoT scale message hub between Quarks and back-end analytic systems:
       * [Sample using the no-registration Quickstart service](quickstart)
 
-Additional samples are documented in the [Quarks Overview](http://quarks-edge.github.io/quarks/docs/javadoc/overview-summary.html#overview.description) section of the Javadoc.
+Additional samples are documented in the [Quarks Overview](http://quarks.incubator.apache.org/javadoc/lastest/overview-summary.html#overview.description) section of the Javadoc.
diff --git a/site/recipes/recipe_adaptable_filter_range.md b/site/recipes/recipe_adaptable_filter_range.md
index b7d7a86..1e2eda9 100644
--- a/site/recipes/recipe_adaptable_filter_range.md
+++ b/site/recipes/recipe_adaptable_filter_range.md
@@ -2,7 +2,7 @@
 title: Changing a filter's range
 ---
 
-The [Detecting a sensor value out of range](recipe_value_out_of_range.html) recipe introduced the basics of filtering as well as the use of a [Range](http://quarks-edge.github.io/quarks/docs/javadoc/quarks/analytics/sensors/Range.html).
+The [Detecting a sensor value out of range](recipe_value_out_of_range.html) recipe introduced the basics of filtering as well as the use of a [Range](http://quarks.incubator.apache.org/javadoc/lastest/quarks/analytics/sensors/Range.html).
 
 Oftentimes, a user wants a filter's behavior to be adaptable rather than static. A filter's range can be made changeable via commands from some external source or just changed as a result of some other local analytics.
 
diff --git a/site/recipes/recipe_adaptable_polling_source.md b/site/recipes/recipe_adaptable_polling_source.md
index fcc6b0f..863e027 100644
--- a/site/recipes/recipe_adaptable_polling_source.md
+++ b/site/recipes/recipe_adaptable_polling_source.md
@@ -8,7 +8,7 @@
 
 A Quarks `IotProvider` and `IoTDevice` with its command streams would be a natural way to control the application. In this recipe we will just simulate a "set poll period" command stream.
 
-The `Topology.poll()` [documentation](http://quarks-edge.github.io/quarks/docs/javadoc/quarks/topology/Topology.html#poll-quarks.function.Supplier-long-java.util.concurrent.TimeUnit-) describes how the poll period may be changed at runtime.
+The `Topology.poll()` [documentation](http://quarks.incubator.apache.org/javadoc/lastest/quarks/topology/Topology.html#poll-quarks.function.Supplier-long-java.util.concurrent.TimeUnit-) describes how the poll period may be changed at runtime.
 
 The mechanism is based on a more general Quarks runtime `quarks.execution.services.ControlService` service. The runtime registers "control beans" for entities that are controllable. These controls can be retrieved at runtime via the service.
 
diff --git a/site/recipes/recipe_combining_streams_processing_results.md b/site/recipes/recipe_combining_streams_processing_results.md
index e88d230..f61168c 100644
--- a/site/recipes/recipe_combining_streams_processing_results.md
+++ b/site/recipes/recipe_combining_streams_processing_results.md
@@ -99,7 +99,7 @@
 
 ## Splitting the readings
 
-We are now ready to split the `readings` stream by the blood pressure category. Let's look more closely at the method declaration of `split` below. For more details about `split`, refer to the [Javadoc](http://quarks-edge.github.io/quarks/docs/javadoc/quarks/topology/TStream.html#split-int-quarks.function.ToIntFunction-).
+We are now ready to split the `readings` stream by the blood pressure category. Let's look more closely at the method declaration of `split` below. For more details about `split`, refer to the [Javadoc](http://quarks.incubator.apache.org/javadoc/lastest/quarks/topology/TStream.html#split-int-quarks.function.ToIntFunction-).
 
 ```java
 java.util.List<TStream<T>> split(int n, ToIntFunction<T> splitter)
@@ -208,7 +208,7 @@
 
 ## Combining the alert streams
 
-At this point, we have five streams of alerts. Suppose the doctors are interested in seeing a combination of the *Normal* alerts and *Prehypertension* alerts. Or, suppose that they would like to see all of the alerts from all categories together. Here, `union` comes in handy. For more details about `union`, refer to the [Javadoc](http://quarks-edge.github.io/quarks/docs/javadoc/quarks/topology/TStream.html#union-quarks.topology.TStream-).
+At this point, we have five streams of alerts. Suppose the doctors are interested in seeing a combination of the *Normal* alerts and *Prehypertension* alerts. Or, suppose that they would like to see all of the alerts from all categories together. Here, `union` comes in handy. For more details about `union`, refer to the [Javadoc](http://quarks.incubator.apache.org/javadoc/lastest/quarks/topology/TStream.html#union-quarks.topology.TStream-).
 
 There are two ways to define a union. You can either union a `TStream` with another `TStream`, or with a set of streams (`Set<TStream<T>>`). In both cases, a single `TStream` is returned containing the tuples that flow on the input stream(s).
 
diff --git a/site/recipes/recipe_external_filter_range.md b/site/recipes/recipe_external_filter_range.md
index 4e4e556..2a2f387 100644
--- a/site/recipes/recipe_external_filter_range.md
+++ b/site/recipes/recipe_external_filter_range.md
@@ -2,7 +2,7 @@
 title: Using an external configuration file for filter ranges
 ---
 
-The [Detecting a sensor value out of range](recipe_value_out_of_range.html) recipe introduced the basics of filtering as well as the use of a [Range](http://quarks-edge.github.io/quarks/docs/javadoc/quarks/analytics/sensors/Range.html).
+The [Detecting a sensor value out of range](recipe_value_out_of_range.html) recipe introduced the basics of filtering as well as the use of a [Range](http://quarks.incubator.apache.org/javadoc/lastest/quarks/analytics/sensors/Range.html).
 
 Oftentimes, a user wants to initialize a range specification from an external configuration file so the application code is more easily configured and reusable.
 
diff --git a/site/recipes/recipe_value_out_of_range.md b/site/recipes/recipe_value_out_of_range.md
index c558618..8f19e98 100644
--- a/site/recipes/recipe_value_out_of_range.md
+++ b/site/recipes/recipe_value_out_of_range.md
@@ -56,7 +56,7 @@
 
 ## Simple filtering
 
-If the corn grower is interested in determining when the temperature is strictly out of the optimal range of 77°F and 91°F, a simple filter can be used. The `filter` method can be applied to `TStream` objects, where a filter predicate determines which tuples to keep for further processing. For its method declaration, refer to the [Javadoc](http://quarks-edge.github.io/quarks/docs/javadoc/quarks/topology/TStream.html#filter-quarks.function.Predicate-).
+If the corn grower is interested in determining when the temperature is strictly out of the optimal range of 77°F and 91°F, a simple filter can be used. The `filter` method can be applied to `TStream` objects, where a filter predicate determines which tuples to keep for further processing. For its method declaration, refer to the [Javadoc](http://quarks.incubator.apache.org/javadoc/lastest/quarks/topology/TStream.html#filter-quarks.function.Predicate-).
 
 In this case, we want to keep temperatures below the lower range value *or* above the upper range value. This is expressed in the filter predicate, which follows Java's syntax for [lambda expressions](https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html#syntax). Then, we terminate the stream (using `sink`) by printing out the warning to standard out. Note that `\u00b0` is the Unicode encoding for the degree (°) symbol.
 
@@ -77,7 +77,7 @@
 deadband(TStream<T> stream, Function<T,V> value, Predicate<V> inBand)
 ```
 
-The first parameter is the stream to the filtered, which is `temp` in our scenario. The second parameter is the value to examine. Here, we use the `identity()` method to return a tuple on the stream. The last parameter is the predicate that defines the optimal range, that is, between 77°F and 91°F. it is important to note that this differs from the `TStream` version of `filter` in which one must explicitly specify the values that are out of range. The code snippet below demonstrates how the method call is pieced together. The `deadbandFiltered` stream contains temperature readings that follow the rules as described in the [Javadoc](http://quarks-edge.github.io/quarks/docs/javadoc/quarks/analytics/sensors/Filters.html#deadband-quarks.topology.TStream-quarks.function.Function-quarks.function.Predicate-):
+The first parameter is the stream to the filtered, which is `temp` in our scenario. The second parameter is the value to examine. Here, we use the `identity()` method to return a tuple on the stream. The last parameter is the predicate that defines the optimal range, that is, between 77°F and 91°F. it is important to note that this differs from the `TStream` version of `filter` in which one must explicitly specify the values that are out of range. The code snippet below demonstrates how the method call is pieced together. The `deadbandFiltered` stream contains temperature readings that follow the rules as described in the [Javadoc](http://quarks.incubator.apache.org/javadoc/lastest/quarks/analytics/sensors/Filters.html#deadband-quarks.topology.TStream-quarks.function.Function-quarks.function.Predicate-):
 
 * the value is outside of the optimal range (deadband)
 * the first value inside the optimal range after a period being outside it