diff --git a/java/pom.xml b/java/pom.xml
index ff2ab2d0b..5c78ff4a1 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -197,6 +197,11 @@
6.8.8
test
+
+ org.apache.httpcomponents
+ httpclient
+ 4.4
+
diff --git a/java/src/main/java/monasca/api/MonApiConfiguration.java b/java/src/main/java/monasca/api/ApiConfig.java
similarity index 96%
rename from java/src/main/java/monasca/api/MonApiConfiguration.java
rename to java/src/main/java/monasca/api/ApiConfig.java
index c4b8c0b80..92fc13d1f 100644
--- a/java/src/main/java/monasca/api/MonApiConfiguration.java
+++ b/java/src/main/java/monasca/api/ApiConfig.java
@@ -28,7 +28,7 @@ import javax.validation.Valid;
import javax.validation.constraints.NotNull;
-public class MonApiConfiguration extends Configuration {
+public class ApiConfig extends Configuration {
@NotEmpty
public String region;
@NotNull
diff --git a/java/src/main/java/monasca/api/MonApiApplication.java b/java/src/main/java/monasca/api/MonApiApplication.java
index 202baddc4..be4f149b0 100644
--- a/java/src/main/java/monasca/api/MonApiApplication.java
+++ b/java/src/main/java/monasca/api/MonApiApplication.java
@@ -59,13 +59,13 @@ import monasca.common.util.Injector;
/**
* Monitoring API application.
*/
-public class MonApiApplication extends Application {
+public class MonApiApplication extends Application {
public static void main(String[] args) throws Exception {
new MonApiApplication().run(args);
}
@Override
- public void initialize(Bootstrap bootstrap) {
+ public void initialize(Bootstrap bootstrap) {
/** Configure bundles */
bootstrap.addBundle(new DBIExceptionsBundle());
}
@@ -77,7 +77,7 @@ public class MonApiApplication extends Application {
@Override
@SuppressWarnings("unchecked")
- public void run(MonApiConfiguration config, Environment environment) throws Exception {
+ public void run(ApiConfig config, Environment environment) throws Exception {
/** Wire services */
Injector.registerModules(new MonApiModule(environment, config));
diff --git a/java/src/main/java/monasca/api/MonApiModule.java b/java/src/main/java/monasca/api/MonApiModule.java
index c10580ce5..859ed5784 100644
--- a/java/src/main/java/monasca/api/MonApiModule.java
+++ b/java/src/main/java/monasca/api/MonApiModule.java
@@ -41,17 +41,17 @@ import monasca.api.infrastructure.InfrastructureModule;
* Monitoring API server bindings.
*/
public class MonApiModule extends AbstractModule {
- private final MonApiConfiguration config;
+ private final ApiConfig config;
private final Environment environment;
- public MonApiModule(Environment environment, MonApiConfiguration config) {
+ public MonApiModule(Environment environment, ApiConfig config) {
this.environment = environment;
this.config = config;
}
@Override
protected void configure() {
- bind(MonApiConfiguration.class).toInstance(config);
+ bind(ApiConfig.class).toInstance(config);
bind(MetricRegistry.class).toInstance(environment.metrics());
bind(DataSourceFactory.class).annotatedWith(Names.named("mysql")).toInstance(config.mysql);
bind(DataSourceFactory.class).annotatedWith(Names.named("vertica")).toInstance(config.vertica);
diff --git a/java/src/main/java/monasca/api/app/AlarmDefinitionService.java b/java/src/main/java/monasca/api/app/AlarmDefinitionService.java
index 50002d06f..0a283bd15 100644
--- a/java/src/main/java/monasca/api/app/AlarmDefinitionService.java
+++ b/java/src/main/java/monasca/api/app/AlarmDefinitionService.java
@@ -34,7 +34,7 @@ import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
import com.google.common.collect.Sets;
-import monasca.api.MonApiConfiguration;
+import monasca.api.ApiConfig;
import monasca.api.app.command.UpdateAlarmDefinitionCommand;
import monasca.common.model.event.AlarmDefinitionCreatedEvent;
import monasca.common.model.event.AlarmDefinitionDeletedEvent;
@@ -47,10 +47,10 @@ import monasca.api.domain.exception.EntityExistsException;
import monasca.api.domain.exception.EntityNotFoundException;
import monasca.api.domain.exception.InvalidEntityException;
import monasca.api.domain.model.alarm.Alarm;
-import monasca.api.domain.model.alarm.AlarmRepository;
+import monasca.api.domain.model.alarm.AlarmRepo;
import monasca.api.domain.model.alarmdefinition.AlarmDefinition;
-import monasca.api.domain.model.alarmdefinition.AlarmDefinitionRepository;
-import monasca.api.domain.model.notificationmethod.NotificationMethodRepository;
+import monasca.api.domain.model.alarmdefinition.AlarmDefinitionRepo;
+import monasca.api.domain.model.notificationmethod.NotificationMethodRepo;
import monasca.common.util.Exceptions;
import monasca.common.util.Serialization;
@@ -60,17 +60,17 @@ import monasca.common.util.Serialization;
public class AlarmDefinitionService {
private static final Logger LOG = LoggerFactory.getLogger(AlarmService.class);
- private final MonApiConfiguration config;
+ private final ApiConfig config;
private final Producer producer;
- private final AlarmDefinitionRepository repo;
- private final AlarmRepository alarmRepo;
- private final NotificationMethodRepository notificationMethodRepo;
+ private final AlarmDefinitionRepo repo;
+ private final AlarmRepo alarmRepo;
+ private final NotificationMethodRepo notificationMethodRepo;
long eventCount;
@Inject
- public AlarmDefinitionService(MonApiConfiguration config, Producer producer,
- AlarmDefinitionRepository repo, AlarmRepository alarmRepo,
- NotificationMethodRepository notificationMethodRepo) {
+ public AlarmDefinitionService(ApiConfig config, Producer producer,
+ AlarmDefinitionRepo repo, AlarmRepo alarmRepo,
+ NotificationMethodRepo notificationMethodRepo) {
this.config = config;
this.producer = producer;
this.repo = repo;
diff --git a/java/src/main/java/monasca/api/app/AlarmService.java b/java/src/main/java/monasca/api/app/AlarmService.java
index 67e8f0f09..52144563d 100644
--- a/java/src/main/java/monasca/api/app/AlarmService.java
+++ b/java/src/main/java/monasca/api/app/AlarmService.java
@@ -23,7 +23,7 @@ import kafka.producer.KeyedMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import monasca.api.MonApiConfiguration;
+import monasca.api.ApiConfig;
import monasca.api.app.command.UpdateAlarmCommand;
import monasca.common.model.event.AlarmDeletedEvent;
import monasca.common.model.event.AlarmStateTransitionedEvent;
@@ -33,9 +33,9 @@ import monasca.common.model.alarm.AlarmSubExpression;
import monasca.api.domain.exception.EntityNotFoundException;
import monasca.api.domain.exception.InvalidEntityException;
import monasca.api.domain.model.alarm.Alarm;
-import monasca.api.domain.model.alarm.AlarmRepository;
+import monasca.api.domain.model.alarm.AlarmRepo;
import monasca.api.domain.model.alarmdefinition.AlarmDefinition;
-import monasca.api.domain.model.alarmdefinition.AlarmDefinitionRepository;
+import monasca.api.domain.model.alarmdefinition.AlarmDefinitionRepo;
import monasca.common.util.Exceptions;
import monasca.common.util.Serialization;
@@ -45,15 +45,15 @@ import monasca.common.util.Serialization;
public class AlarmService {
private static final Logger LOG = LoggerFactory.getLogger(AlarmService.class);
- private final MonApiConfiguration config;
+ private final ApiConfig config;
private final Producer producer;
- private final AlarmRepository repo;
- private final AlarmDefinitionRepository alarmDefRepo;
+ private final AlarmRepo repo;
+ private final AlarmDefinitionRepo alarmDefRepo;
private long messageCount = 0;
@Inject
- public AlarmService(MonApiConfiguration config, Producer producer,
- AlarmRepository repo, AlarmDefinitionRepository alarmDefRepo) {
+ public AlarmService(ApiConfig config, Producer producer,
+ AlarmRepo repo, AlarmDefinitionRepo alarmDefRepo) {
this.config = config;
this.producer = producer;
this.repo = repo;
diff --git a/java/src/main/java/monasca/api/app/MetricService.java b/java/src/main/java/monasca/api/app/MetricService.java
index cea0a1c60..73784bd5f 100644
--- a/java/src/main/java/monasca/api/app/MetricService.java
+++ b/java/src/main/java/monasca/api/app/MetricService.java
@@ -32,7 +32,7 @@ import com.google.common.base.Strings;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableMap.Builder;
-import monasca.api.MonApiConfiguration;
+import monasca.api.ApiConfig;
import monasca.common.model.metric.Metric;
import monasca.common.model.metric.MetricEnvelope;
import monasca.common.model.metric.MetricEnvelopes;
@@ -41,13 +41,13 @@ import monasca.common.model.metric.MetricEnvelopes;
* Metric service implementation.
*/
public class MetricService {
- private final MonApiConfiguration config;
+ private final ApiConfig config;
private final Producer producer;
private final Meter metricMeter;
private final Meter batchMeter;
@Inject
- public MetricService(MonApiConfiguration config, Producer producer,
+ public MetricService(ApiConfig config, Producer producer,
MetricRegistry metricRegistry) {
this.config = config;
this.producer = producer;
diff --git a/java/src/main/java/monasca/api/domain/DomainModule.java b/java/src/main/java/monasca/api/domain/DomainModule.java
index 4d6f3221e..70b43cd27 100644
--- a/java/src/main/java/monasca/api/domain/DomainModule.java
+++ b/java/src/main/java/monasca/api/domain/DomainModule.java
@@ -16,8 +16,8 @@ package monasca.api.domain;
import javax.inject.Singleton;
import com.google.inject.AbstractModule;
-import monasca.api.domain.model.version.VersionRepository;
-import monasca.api.domain.service.impl.VersionRepositoryImpl;
+import monasca.api.domain.model.version.VersionRepo;
+import monasca.api.domain.service.impl.VersionRepoImpl;
/**
* Domain layer bindings.
@@ -25,6 +25,6 @@ import monasca.api.domain.service.impl.VersionRepositoryImpl;
public class DomainModule extends AbstractModule {
@Override
protected void configure() {
- bind(VersionRepository.class).to(VersionRepositoryImpl.class).in(Singleton.class);
+ bind(VersionRepo.class).to(VersionRepoImpl.class).in(Singleton.class);
}
}
diff --git a/java/src/main/java/monasca/api/domain/model/alarm/AlarmRepository.java b/java/src/main/java/monasca/api/domain/model/alarm/AlarmRepo.java
similarity index 97%
rename from java/src/main/java/monasca/api/domain/model/alarm/AlarmRepository.java
rename to java/src/main/java/monasca/api/domain/model/alarm/AlarmRepo.java
index b6b893a23..24727764c 100644
--- a/java/src/main/java/monasca/api/domain/model/alarm/AlarmRepository.java
+++ b/java/src/main/java/monasca/api/domain/model/alarm/AlarmRepo.java
@@ -7,7 +7,7 @@ import monasca.common.model.alarm.AlarmState;
import monasca.common.model.alarm.AlarmSubExpression;
import monasca.api.domain.exception.EntityNotFoundException;
-public interface AlarmRepository {
+public interface AlarmRepo {
/**
* Deletes all alarms associated with the {@code id}.
*/
diff --git a/java/src/main/java/monasca/api/domain/model/alarmdefinition/AlarmDefinitionRepository.java b/java/src/main/java/monasca/api/domain/model/alarmdefinition/AlarmDefinitionRepo.java
similarity index 98%
rename from java/src/main/java/monasca/api/domain/model/alarmdefinition/AlarmDefinitionRepository.java
rename to java/src/main/java/monasca/api/domain/model/alarmdefinition/AlarmDefinitionRepo.java
index 4fb295bda..631d0100d 100644
--- a/java/src/main/java/monasca/api/domain/model/alarmdefinition/AlarmDefinitionRepository.java
+++ b/java/src/main/java/monasca/api/domain/model/alarmdefinition/AlarmDefinitionRepo.java
@@ -24,7 +24,7 @@ import monasca.api.domain.exception.EntityNotFoundException;
/**
* Repository for alarm definitions.
*/
-public interface AlarmDefinitionRepository {
+public interface AlarmDefinitionRepo {
/**
* Creates and returns a new alarm definition for the criteria.
*/
diff --git a/java/src/main/java/monasca/api/domain/model/alarmstatehistory/AlarmStateHistoryRepository.java b/java/src/main/java/monasca/api/domain/model/alarmstatehistory/AlarmStateHistoryRepo.java
similarity index 96%
rename from java/src/main/java/monasca/api/domain/model/alarmstatehistory/AlarmStateHistoryRepository.java
rename to java/src/main/java/monasca/api/domain/model/alarmstatehistory/AlarmStateHistoryRepo.java
index 024a0c169..12dfd453b 100644
--- a/java/src/main/java/monasca/api/domain/model/alarmstatehistory/AlarmStateHistoryRepository.java
+++ b/java/src/main/java/monasca/api/domain/model/alarmstatehistory/AlarmStateHistoryRepo.java
@@ -24,7 +24,7 @@ import java.util.Map;
/**
* Repository for alarm state history.
*/
-public interface AlarmStateHistoryRepository {
+public interface AlarmStateHistoryRepo {
/**
* @throws EntityNotFoundException if an alarm cannot be found for the {@code alarmId}
*/
diff --git a/java/src/main/java/monasca/api/domain/model/measurement/MeasurementRepository.java b/java/src/main/java/monasca/api/domain/model/measurement/MeasurementRepo.java
similarity index 96%
rename from java/src/main/java/monasca/api/domain/model/measurement/MeasurementRepository.java
rename to java/src/main/java/monasca/api/domain/model/measurement/MeasurementRepo.java
index d7f7675a4..3a85e6362 100644
--- a/java/src/main/java/monasca/api/domain/model/measurement/MeasurementRepository.java
+++ b/java/src/main/java/monasca/api/domain/model/measurement/MeasurementRepo.java
@@ -22,7 +22,7 @@ import java.util.Map;
/**
* Repository for measurements.
*/
-public interface MeasurementRepository {
+public interface MeasurementRepo {
/**
* Finds measurements for the given criteria.
*/
diff --git a/java/src/main/java/monasca/api/domain/model/measurement/Measurements.java b/java/src/main/java/monasca/api/domain/model/measurement/Measurements.java
index 0f9e1e86c..f833cd671 100644
--- a/java/src/main/java/monasca/api/domain/model/measurement/Measurements.java
+++ b/java/src/main/java/monasca/api/domain/model/measurement/Measurements.java
@@ -13,6 +13,7 @@
*/
package monasca.api.domain.model.measurement;
+import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@@ -37,6 +38,12 @@ public class Measurements extends AbstractEntity {
this.measurements = measurements;
}
+ public Measurements(String name, Map dimensions) {
+ this.name = name;
+ this.dimensions = dimensions;
+ this.measurements = new LinkedList<>();
+ }
+
public void addMeasurement(Object[] measurement) {
measurements.add(measurement);
}
diff --git a/java/src/main/java/monasca/api/domain/model/metric/MetricDefinitionRepository.java b/java/src/main/java/monasca/api/domain/model/metric/MetricDefinitionRepo.java
similarity index 95%
rename from java/src/main/java/monasca/api/domain/model/metric/MetricDefinitionRepository.java
rename to java/src/main/java/monasca/api/domain/model/metric/MetricDefinitionRepo.java
index 8dc93d814..b31360929 100644
--- a/java/src/main/java/monasca/api/domain/model/metric/MetricDefinitionRepository.java
+++ b/java/src/main/java/monasca/api/domain/model/metric/MetricDefinitionRepo.java
@@ -21,7 +21,7 @@ import java.util.Map;
/**
* Repository for metrics.
*/
-public interface MetricDefinitionRepository {
+public interface MetricDefinitionRepo {
/**
* Finds metrics for the given criteria.
*/
diff --git a/java/src/main/java/monasca/api/domain/model/notificationmethod/NotificationMethodRepository.java b/java/src/main/java/monasca/api/domain/model/notificationmethod/NotificationMethodRepo.java
similarity index 97%
rename from java/src/main/java/monasca/api/domain/model/notificationmethod/NotificationMethodRepository.java
rename to java/src/main/java/monasca/api/domain/model/notificationmethod/NotificationMethodRepo.java
index dad5bf2db..3e44fca17 100644
--- a/java/src/main/java/monasca/api/domain/model/notificationmethod/NotificationMethodRepository.java
+++ b/java/src/main/java/monasca/api/domain/model/notificationmethod/NotificationMethodRepo.java
@@ -20,7 +20,7 @@ import monasca.api.domain.exception.EntityNotFoundException;
/**
* Repository for notification methods.
*/
-public interface NotificationMethodRepository {
+public interface NotificationMethodRepo {
NotificationMethod create(String tenantId, String name, NotificationMethodType type,
String address);
diff --git a/java/src/main/java/monasca/api/domain/model/statistic/StatisticRepository.java b/java/src/main/java/monasca/api/domain/model/statistic/StatisticRepo.java
similarity index 96%
rename from java/src/main/java/monasca/api/domain/model/statistic/StatisticRepository.java
rename to java/src/main/java/monasca/api/domain/model/statistic/StatisticRepo.java
index 190894500..afd1f8f0a 100644
--- a/java/src/main/java/monasca/api/domain/model/statistic/StatisticRepository.java
+++ b/java/src/main/java/monasca/api/domain/model/statistic/StatisticRepo.java
@@ -22,7 +22,7 @@ import java.util.Map;
/**
* Repository for statistics.
*/
-public interface StatisticRepository {
+public interface StatisticRepo {
/**
* Finds statistics for the given criteria.
*/
diff --git a/java/src/main/java/monasca/api/domain/model/statistic/Statistics.java b/java/src/main/java/monasca/api/domain/model/statistic/Statistics.java
index 0cadb3c3b..d27816c7e 100644
--- a/java/src/main/java/monasca/api/domain/model/statistic/Statistics.java
+++ b/java/src/main/java/monasca/api/domain/model/statistic/Statistics.java
@@ -14,6 +14,7 @@
package monasca.api.domain.model.statistic;
import java.util.ArrayList;
+import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@@ -30,6 +31,14 @@ public class Statistics {
statistics = new ArrayList<>();
}
+ public Statistics(String name, Map dimensions, List columns) {
+ this.name = name;
+ this.dimensions = dimensions;
+ this.columns = columns;
+ this.statistics = new LinkedList<>();
+
+ }
+
public void addValues(List