This is an automated email from the ASF dual-hosted git repository.
pengys pushed a commit to branch 6.0
in repository https://gitbox.apache.org/repos/asf/incubator-skywalking.git
The following commit(s) were added to refs/heads/6.0 by this push:
new a18c451 Register start up. (#1550)
a18c451 is described below
commit a18c451ebcbb990bdf59a4f9ca69e2a14c274b2c
Author: 彭勇升 pengys <[email protected]>
AuthorDate: Thu Aug 16 08:30:11 2018 +0800
Register start up. (#1550)
---
.../oap/server/core/CoreModuleProvider.java | 2 +
.../server/core/analysis/DispatcherManager.java | 2 +-
.../endpoint/EndpointLatencyAvgIndicator.java | 125 ---------------------
.../core/cache/EndpointInventoryCacheService.java | 4 +-
.../server/core/register/EndpointInventory.java | 3 +
.../annotation/InventoryAnnotationUtils.java} | 26 ++---
.../annotation/InventoryType.java} | 13 ++-
.../annotation/InventoryTypeListener.java} | 27 ++---
.../core/register/worker/InventoryProcess.java | 68 +++++++++++
.../oap/server/core/storage/StorageDAO.java | 3 +
.../plugin/elasticsearch/base/StorageEsDAO.java | 5 +
11 files changed, 116 insertions(+), 162 deletions(-)
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java
index 8e3d137..340ce33 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java
@@ -22,6 +22,7 @@ import java.io.IOException;
import
org.apache.skywalking.oap.server.core.analysis.indicator.annotation.IndicatorTypeListener;
import org.apache.skywalking.oap.server.core.annotation.AnnotationScan;
import org.apache.skywalking.oap.server.core.cluster.*;
+import
org.apache.skywalking.oap.server.core.register.annotation.InventoryTypeListener;
import org.apache.skywalking.oap.server.core.remote.*;
import org.apache.skywalking.oap.server.core.remote.annotation.*;
import org.apache.skywalking.oap.server.core.remote.client.RemoteClientManager;
@@ -92,6 +93,7 @@ public class CoreModuleProvider extends ModuleProvider {
annotationScan.registerListener(storageAnnotationListener);
annotationScan.registerListener(streamAnnotationListener);
annotationScan.registerListener(new
IndicatorTypeListener(getManager()));
+ annotationScan.registerListener(new
InventoryTypeListener(getManager()));
}
@Override public void start() throws ModuleStartException {
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/DispatcherManager.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/DispatcherManager.java
index 4c0ab0f..3579ad8 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/DispatcherManager.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/DispatcherManager.java
@@ -19,7 +19,7 @@
package org.apache.skywalking.oap.server.core.analysis;
import java.util.*;
-import
org.apache.skywalking.oap.server.core.analysis.endpoint.EndpointDispatcher;
+import
org.apache.skywalking.oap.server.core.analysis.generated.endpoint.EndpointDispatcher;
import org.apache.skywalking.oap.server.core.source.Scope;
import org.slf4j.*;
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/endpoint/EndpointLatencyAvgIndicator.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/endpoint/EndpointLatencyAvgIndicator.java
deleted file mode 100644
index 718d357..0000000
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/endpoint/EndpointLatencyAvgIndicator.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * 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.skywalking.oap.server.core.analysis.endpoint;
-
-import java.util.*;
-import lombok.*;
-import org.apache.skywalking.oap.server.core.analysis.indicator.AvgIndicator;
-import
org.apache.skywalking.oap.server.core.analysis.indicator.annotation.IndicatorType;
-import org.apache.skywalking.oap.server.core.remote.annotation.StreamData;
-import org.apache.skywalking.oap.server.core.remote.grpc.proto.RemoteData;
-import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
-import org.apache.skywalking.oap.server.core.storage.annotation.*;
-
-/**
- * @author peng-yongsheng
- */
-@IndicatorType
-@StreamData
-@StorageEntity(name = "endpoint_latency_avg", builder =
EndpointLatencyAvgIndicator.Builder.class)
-public class EndpointLatencyAvgIndicator extends AvgIndicator {
-
- private static final String ID = "id";
- private static final String SERVICE_ID = "service_id";
- private static final String SERVICE_INSTANCE_ID = "service_instance_id";
-
- @Setter @Getter @Column(columnName = ID) private int id;
- @Setter @Getter @Column(columnName = SERVICE_ID) private int serviceId;
- @Setter @Getter @Column(columnName = SERVICE_INSTANCE_ID) private int
serviceInstanceId;
-
- @Override public String id() {
- return String.valueOf(id);
- }
-
- @Override public int hashCode() {
- int result = 17;
- result = 31 * result + id;
- result = 31 * result + (int)getTimeBucket();
- return result;
- }
-
- @Override public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
-
- EndpointLatencyAvgIndicator indicator =
(EndpointLatencyAvgIndicator)obj;
- if (id != indicator.id)
- return false;
- if (getTimeBucket() != indicator.getTimeBucket())
- return false;
-
- return true;
- }
-
- @Override public RemoteData.Builder serialize() {
- RemoteData.Builder remoteBuilder = RemoteData.newBuilder();
- remoteBuilder.setDataIntegers(0, getId());
- remoteBuilder.setDataIntegers(1, getServiceId());
- remoteBuilder.setDataIntegers(2, getServiceInstanceId());
- remoteBuilder.setDataIntegers(3, getCount());
-
- remoteBuilder.setDataLongs(0, getTimeBucket());
- remoteBuilder.setDataLongs(1, getSummation());
- remoteBuilder.setDataLongs(2, getValue());
-
- return remoteBuilder;
- }
-
- @Override public void deserialize(RemoteData remoteData) {
- setId(remoteData.getDataIntegers(0));
- setServiceId(remoteData.getDataIntegers(1));
- setServiceInstanceId(remoteData.getDataIntegers(2));
- setCount(remoteData.getDataIntegers(3));
-
- setTimeBucket(remoteData.getDataLongs(0));
- setSummation(remoteData.getDataLongs(1));
- setValue(remoteData.getDataLongs(2));
- }
-
- public static class Builder implements
StorageBuilder<EndpointLatencyAvgIndicator> {
-
- @Override public EndpointLatencyAvgIndicator map2Data(Map<String,
Object> dbMap) {
- EndpointLatencyAvgIndicator indicator = new
EndpointLatencyAvgIndicator();
- indicator.setId((Integer)dbMap.get(ID));
- indicator.setServiceId((Integer)dbMap.get(SERVICE_ID));
-
indicator.setServiceInstanceId((Integer)dbMap.get(SERVICE_INSTANCE_ID));
- indicator.setCount((Integer)dbMap.get(COUNT));
- indicator.setSummation((Long)dbMap.get(SUMMATION));
- indicator.setValue((Long)dbMap.get(VALUE));
- indicator.setTimeBucket((Long)dbMap.get(TIME_BUCKET));
- return indicator;
- }
-
- @Override public Map<String, Object>
data2Map(EndpointLatencyAvgIndicator storageData) {
- Map<String, Object> map = new HashMap<>();
- map.put(ID, storageData.getId());
- map.put(SERVICE_ID, storageData.getServiceId());
- map.put(SERVICE_INSTANCE_ID, storageData.getServiceInstanceId());
- map.put(COUNT, storageData.getCount());
- map.put(SUMMATION, storageData.getSummation());
- map.put(VALUE, storageData.getValue());
- map.put(TIME_BUCKET, storageData.getTimeBucket());
- return map;
- }
- }
-}
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/EndpointInventoryCacheService.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/EndpointInventoryCacheService.java
index 05e43d8..5923b52 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/EndpointInventoryCacheService.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/EndpointInventoryCacheService.java
@@ -42,9 +42,9 @@ public class EndpointInventoryCacheService implements Service
{
this.moduleManager = moduleManager;
}
- private final Cache<String, Integer> idCache =
CacheBuilder.newBuilder().initialCapacity(1000).maximumSize(1000000).build();
+ private final Cache<String, Integer> idCache =
CacheBuilder.newBuilder().initialCapacity(1000).maximumSize(100000).build();
- private final Cache<Integer, EndpointInventory> sequenceCache =
CacheBuilder.newBuilder().initialCapacity(1000).maximumSize(1000000).build();
+ private final Cache<Integer, EndpointInventory> sequenceCache =
CacheBuilder.newBuilder().initialCapacity(1000).maximumSize(100000).build();
public int get(int serviceId, String serviceName, int srcSpanType) {
String id = serviceId + Const.ID_SPLIT + serviceName + Const.ID_SPLIT
+ srcSpanType;
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/EndpointInventory.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/EndpointInventory.java
index d54363c..efdc5bf 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/EndpointInventory.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/EndpointInventory.java
@@ -21,14 +21,17 @@ package org.apache.skywalking.oap.server.core.register;
import java.util.*;
import lombok.*;
import org.apache.skywalking.oap.server.core.Const;
+import org.apache.skywalking.oap.server.core.register.annotation.InventoryType;
import org.apache.skywalking.oap.server.core.remote.annotation.StreamData;
import org.apache.skywalking.oap.server.core.remote.grpc.proto.RemoteData;
+import org.apache.skywalking.oap.server.core.source.Scope;
import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
import org.apache.skywalking.oap.server.core.storage.annotation.*;
/**
* @author peng-yongsheng
*/
+@InventoryType(scope = Scope.Endpoint)
@StreamData
@StorageEntity(name = "endpoint_inventory", builder =
EndpointInventory.Builder.class)
public class EndpointInventory extends RegisterSource {
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/endpoint/EndpointDispatcher.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/annotation/InventoryAnnotationUtils.java
similarity index 53%
rename from
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/endpoint/EndpointDispatcher.java
rename to
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/annotation/InventoryAnnotationUtils.java
index 9bf8838..6afdc87 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/endpoint/EndpointDispatcher.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/annotation/InventoryAnnotationUtils.java
@@ -16,26 +16,22 @@
*
*/
-package org.apache.skywalking.oap.server.core.analysis.endpoint;
+package org.apache.skywalking.oap.server.core.register.annotation;
-import org.apache.skywalking.oap.server.core.analysis.SourceDispatcher;
-import org.apache.skywalking.oap.server.core.analysis.worker.IndicatorProcess;
-import org.apache.skywalking.oap.server.core.source.Endpoint;
+import org.apache.skywalking.oap.server.core.UnexpectedException;
+import org.apache.skywalking.oap.server.core.source.Scope;
/**
* @author peng-yongsheng
*/
-public class EndpointDispatcher implements SourceDispatcher<Endpoint> {
+public class InventoryAnnotationUtils {
- @Override public void dispatch(Endpoint source) {
- avg(source);
- }
-
- private void avg(Endpoint source) {
- EndpointLatencyAvgIndicator indicator = new
EndpointLatencyAvgIndicator();
- indicator.setId(source.getId());
- indicator.setTimeBucket(source.getTimeBucket());
- indicator.combine(source.getLatency(), 1);
- IndicatorProcess.INSTANCE.in(indicator);
+ public static Scope getScope(Class aClass) {
+ if (aClass.isAnnotationPresent(InventoryType.class)) {
+ InventoryType annotation =
(InventoryType)aClass.getAnnotation(InventoryType.class);
+ return annotation.scope();
+ } else {
+ throw new UnexpectedException("");
+ }
}
}
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/StorageDAO.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/annotation/InventoryType.java
similarity index 72%
copy from
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/StorageDAO.java
copy to
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/annotation/InventoryType.java
index b6cf4d6..d0f9a7f 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/StorageDAO.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/annotation/InventoryType.java
@@ -16,15 +16,16 @@
*
*/
-package org.apache.skywalking.oap.server.core.storage;
+package org.apache.skywalking.oap.server.core.register.annotation;
-import org.apache.skywalking.oap.server.core.analysis.indicator.Indicator;
-import org.apache.skywalking.oap.server.library.module.Service;
+import java.lang.annotation.*;
+import org.apache.skywalking.oap.server.core.source.Scope;
/**
* @author peng-yongsheng
*/
-public interface StorageDAO extends Service {
-
- IIndicatorDAO newIndicatorDao(StorageBuilder<Indicator> storageBuilder);
+@Target(ElementType.TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface InventoryType {
+ Scope scope();
}
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/DispatcherManager.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/annotation/InventoryTypeListener.java
similarity index 52%
copy from
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/DispatcherManager.java
copy to
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/annotation/InventoryTypeListener.java
index 4c0ab0f..a31aee5 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/DispatcherManager.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/annotation/InventoryTypeListener.java
@@ -16,28 +16,29 @@
*
*/
-package org.apache.skywalking.oap.server.core.analysis;
+package org.apache.skywalking.oap.server.core.register.annotation;
-import java.util.*;
-import
org.apache.skywalking.oap.server.core.analysis.endpoint.EndpointDispatcher;
-import org.apache.skywalking.oap.server.core.source.Scope;
-import org.slf4j.*;
+import java.lang.annotation.Annotation;
+import org.apache.skywalking.oap.server.core.annotation.AnnotationListener;
+import org.apache.skywalking.oap.server.core.register.worker.InventoryProcess;
+import org.apache.skywalking.oap.server.library.module.ModuleManager;
/**
* @author peng-yongsheng
*/
-public class DispatcherManager {
+public class InventoryTypeListener implements AnnotationListener {
- private static final Logger logger =
LoggerFactory.getLogger(DispatcherManager.class);
+ private final ModuleManager moduleManager;
- private Map<Scope, SourceDispatcher> dispatcherMap;
+ public InventoryTypeListener(ModuleManager moduleManager) {
+ this.moduleManager = moduleManager;
+ }
- public DispatcherManager() {
- this.dispatcherMap = new HashMap<>();
- this.dispatcherMap.put(Scope.Endpoint, new EndpointDispatcher());
+ @Override public Class<? extends Annotation> annotation() {
+ return InventoryType.class;
}
- public SourceDispatcher getDispatcher(Scope scope) {
- return dispatcherMap.get(scope);
+ @Override public void notify(Class aClass) {
+ InventoryProcess.INSTANCE.create(moduleManager, aClass);
}
}
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/InventoryProcess.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/InventoryProcess.java
new file mode 100644
index 0000000..31a0777
--- /dev/null
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/InventoryProcess.java
@@ -0,0 +1,68 @@
+/*
+ * 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.skywalking.oap.server.core.register.worker;
+
+import java.util.*;
+import org.apache.skywalking.oap.server.core.UnexpectedException;
+import org.apache.skywalking.oap.server.core.register.RegisterSource;
+import
org.apache.skywalking.oap.server.core.register.annotation.InventoryAnnotationUtils;
+import org.apache.skywalking.oap.server.core.source.Scope;
+import org.apache.skywalking.oap.server.core.storage.*;
+import
org.apache.skywalking.oap.server.core.storage.annotation.StorageEntityAnnotationUtils;
+import org.apache.skywalking.oap.server.core.worker.*;
+import org.apache.skywalking.oap.server.library.module.ModuleManager;
+
+/**
+ * @author peng-yongsheng
+ */
+public enum InventoryProcess {
+ INSTANCE;
+
+ private Map<Class<? extends RegisterSource>, RegisterDistinctWorker>
entryWorkers = new HashMap<>();
+
+ public void in(RegisterSource registerSource) {
+ entryWorkers.get(registerSource.getClass()).in(registerSource);
+ }
+
+ public void create(ModuleManager moduleManager, Class<? extends
RegisterSource> inventoryClass) {
+ String modelName =
StorageEntityAnnotationUtils.getModelName(inventoryClass);
+ Scope scope = InventoryAnnotationUtils.getScope(inventoryClass);
+
+ Class<? extends StorageBuilder> builderClass =
StorageEntityAnnotationUtils.getBuilder(inventoryClass);
+
+ StorageDAO storageDAO =
moduleManager.find(StorageModule.NAME).getService(StorageDAO.class);
+ IRegisterDAO registerDAO;
+ try {
+ registerDAO =
storageDAO.newRegisterDao(builderClass.newInstance());
+ } catch (InstantiationException | IllegalAccessException e) {
+ throw new UnexpectedException("");
+ }
+
+ RegisterPersistentWorker persistentWorker = new
RegisterPersistentWorker(WorkerIdGenerator.INSTANCES.generate(), modelName,
moduleManager, registerDAO, scope);
+ WorkerInstances.INSTANCES.put(persistentWorker.getWorkerId(),
persistentWorker);
+
+ RegisterRemoteWorker remoteWorker = new
RegisterRemoteWorker(WorkerIdGenerator.INSTANCES.generate(), moduleManager,
persistentWorker);
+ WorkerInstances.INSTANCES.put(remoteWorker.getWorkerId(),
remoteWorker);
+
+ RegisterDistinctWorker distinctWorker = new
RegisterDistinctWorker(WorkerIdGenerator.INSTANCES.generate(), remoteWorker);
+ WorkerInstances.INSTANCES.put(distinctWorker.getWorkerId(),
distinctWorker);
+
+ entryWorkers.put(inventoryClass, distinctWorker);
+ }
+}
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/StorageDAO.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/StorageDAO.java
index b6cf4d6..187cd78 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/StorageDAO.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/StorageDAO.java
@@ -19,6 +19,7 @@
package org.apache.skywalking.oap.server.core.storage;
import org.apache.skywalking.oap.server.core.analysis.indicator.Indicator;
+import org.apache.skywalking.oap.server.core.register.RegisterSource;
import org.apache.skywalking.oap.server.library.module.Service;
/**
@@ -27,4 +28,6 @@ import
org.apache.skywalking.oap.server.library.module.Service;
public interface StorageDAO extends Service {
IIndicatorDAO newIndicatorDao(StorageBuilder<Indicator> storageBuilder);
+
+ IRegisterDAO newRegisterDao(StorageBuilder<RegisterSource> storageBuilder);
}
diff --git
a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/StorageEsDAO.java
b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/StorageEsDAO.java
index 641582f..44c9df0 100644
---
a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/StorageEsDAO.java
+++
b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/StorageEsDAO.java
@@ -19,6 +19,7 @@
package org.apache.skywalking.oap.server.storage.plugin.elasticsearch.base;
import org.apache.skywalking.oap.server.core.analysis.indicator.Indicator;
+import org.apache.skywalking.oap.server.core.register.RegisterSource;
import org.apache.skywalking.oap.server.core.storage.*;
import
org.apache.skywalking.oap.server.library.client.elasticsearch.ElasticSearchClient;
@@ -34,4 +35,8 @@ public class StorageEsDAO extends EsDAO implements StorageDAO
{
@Override public IIndicatorDAO newIndicatorDao(StorageBuilder<Indicator>
storageBuilder) {
return new IndicatorEsDAO(getClient(), storageBuilder);
}
+
+ @Override public IRegisterDAO
newRegisterDao(StorageBuilder<RegisterSource> storageBuilder) {
+ return new RegisterEsDAO(getClient(), storageBuilder);
+ }
}