diff --git a/README.md b/README.md index dfea57eff..712c833d9 100644 --- a/README.md +++ b/README.md @@ -4,14 +4,27 @@ The full API Specification can be found in [docs/monasca-api-spec.md](docs/monasca-api-spec.md) -## Build +## Java Build -Requires monasca-common from https://github.com/stackforge/monasca-common. Download and do mvn install. +Requires monasca-common from https://github.com/stackforge/monasca-common. Download and do mvn install. Then: ``` -mvn clean install +cd java +mvn clean package ``` +# StackForge Java Build + +There is a pom.xml in the base directory that should only be used for the StackForge build. The StackForge build is a rather strange build because of the limitations of the current StackForge java jobs and infrastructure. This build depends on jars that are built in the monasca-common build. That StrackForge build uploads the completed jars to http://tarballs.openstack.org/ci/monasca-common, but they are just regular jars, and not in a maven repository. Hence, the first thing the maven build from the base project does is execute the build in the download directory. That pom.xml executes the script download.sh which downloads the required jars from http://tarballs.openstack.org/ci/monasca-common and then uses maven to install them in the local directory. The maven install needs the pom.xml so that is pulled from the jar file and then changed to have the right version before the install. + +The monasca-common jars also need the base monasca-common pom.xml. So, that is pulled from gihtub.com and also installed in the local repository. + +Since this is all rather complex, that part of the build only works on StackForge so follow the simple instruction above if you are building your own monasca-api. + +Currently this build is executed on the bare-precise nodes in StackForge and they only have maven 2. So, this build must be kept compatible with Maven 2. If another monasca-common jar is added as a dependency to java/pom.xml, it must also be added to download/download.sh. + +Combining monasca-common, monasca-thresh, monasaca-api and monasca-persister into one build would vastly simplify the builds but that is a future task.` + ## Usage ``` diff --git a/download/download.sh b/download/download.sh new file mode 100755 index 000000000..0e64979f6 --- /dev/null +++ b/download/download.sh @@ -0,0 +1,72 @@ +#!/bin/sh +set -x +ME=`whoami` +echo "Running as user: $ME" +VERSION=$1 + +check_user() { + ME=$1 + if [ "${ME}" != "jenkins" ]; then + echo "\nERROR: Download monasca-common and do a mvn install to install the monasca-commom jars\n" 1>&2 + exit 1 + fi +} + +# TODO: Grep these out of the pom itself rather than have them explicitly listed +JARS=" +monasca-common-influxdb +monasca-common-model +monasca-common-persistence +monasca-common-util +monasca-common-kafka +monasca-common-middleware +monasca-common-testing +" +for JAR in $JARS; do + JARFILE=~/.m2//repository/monasca-common/${JAR}/${VERSION}/${JAR}-${VERSION}.jar + if [ ! -r "$JARFILE" ]; then + check_user ${ME} + # Download it from stackforge + FILE=`basename $JARFILE` + curl http://tarballs.openstack.org/ci/monasca-common/${FILE} > ${FILE} + # Upload into the local repository + POM=META-INF/maven/monasca-common/${JAR}/pom.xml + jar -xvf ${FILE} ${POM} + TMPFILE=pom.$$ + sed -e "s/\${computedVersion}/${VERSION}/" ${POM} > ${TMPFILE} + mv ${TMPFILE} ${POM} + mvn install:install-file -Dfile=${FILE} -DgroupId=monasca-common \ + -DartifactId=${JAR} -Dversion=${VERSION} -Dpackaging=jar -DpomFile=${POM} + fi +done + +POM_FILE=~/.m2/repository/monasca-common/monasca-common/${VERSION}/monasca-common-${VERSION}.pom +if [ ! -r "${POM_FILE}" ]; then + check_user ${ME} + TMPDIR=pom_tmp.$$ + mkdir -p ${TMPDIR} + curl https://raw.githubusercontent.com/stackforge/monasca-common/master/java/pom.xml > ${TMPDIR}/pom.xml + mvn install:install-file -DgroupId=monasca-common -DartifactId=monasca-common -Dversion=${VERSION} -Dpackaging=pom -Dfile=${TMPDIR}/pom.xml + rm -fr ${TMPDIR} +fi + +TEST_JARS=" +monasca-common-dropwizard +" +for TEST_JAR in $TEST_JARS; do + JARFILE=~/.m2//repository/monasca-common/${TEST_JAR}/${VERSION}/${TEST_JAR}-${VERSION}-tests.jar + if [ ! -r "$JARFILE" ]; then + check_user ${ME} + # Download it from stackforge + FILE=`basename $JARFILE` + curl http://tarballs.openstack.org/ci/monasca-common/${FILE} > ${FILE} + # Upload into the local repository + POM=META-INF/maven/monasca-common/${TEST_JAR}/pom.xml + jar -xvf ${FILE} ${POM} + TMPFILE=pom.$$ + sed -e "s/\${computedVersion}/${VERSION}/" ${POM} > ${TMPFILE} + mv ${TMPFILE} ${POM} + mvn install:install-file -Dfile=${FILE} -DgroupId=monasca-common \ + -DartifactId=${TEST_JAR} -Dversion=${VERSION} -Dpackaging=test-jar -DpomFile=${POM} + fi +done diff --git a/download/pom.xml b/download/pom.xml new file mode 100644 index 000000000..197250f19 --- /dev/null +++ b/download/pom.xml @@ -0,0 +1,40 @@ + + 4.0.0 + + monasca-persister + monasca-persister-download + 1.0.0-SNAPSHOT + http://github.com/stackforge/monasca-persister + pom + + + + ${project.version} + true + UTF-8 + UTF-8 + + + + + + org.codehaus.mojo + exec-maven-plugin + 1.1.1 + + + package-execution + validate + + exec + + + + + ./download.sh + + + + + diff --git a/java/pom.xml b/java/pom.xml new file mode 100644 index 000000000..8a05dd910 --- /dev/null +++ b/java/pom.xml @@ -0,0 +1,412 @@ + + 4.0.0 + + monasca-api + monasca-api + 1.0.0 + http://github.com/stackforge/monasca-api + jar + + + ${project.version}-${timestamp}-${buildNumber} + ${project.artifactId}-${computedVersion} + 1.0.0-SNAPSHOT + 0.7.0 + + false + UTF-8 + UTF-8 + ${project.artifactId}-${project.version}-shaded + + + + + scm:git:git@github.com:stackforge/monasca-api + scm:git:git@github.com:stackforge/monasca-api + + + + + release-deploy-url-override + + + BUILD_NUM + + + + ${versionNumber}.${BUILD_NUM} + + + + + + + monasca-common + monasca-common-influxdb + ${mon.common.version} + + + monasca-common + monasca-common-model + ${mon.common.version} + + + monasca-common + monasca-common-persistence + ${mon.common.version} + + + monasca-common + monasca-common-util + ${mon.common.version} + + + commons-validator + commons-validator + 1.4.0 + + + monasca-common + monasca-common-kafka + ${mon.common.version} + + + monasca-common + monasca-common-middleware + ${mon.common.version} + + + io.dropwizard + dropwizard-core + ${dropwizard.version} + + + io.dropwizard + dropwizard-db + ${dropwizard.version} + + + io.dropwizard + dropwizard-jdbi + ${dropwizard.version} + + + io.dropwizard + dropwizard-assets + ${dropwizard.version} + + + io.dropwizard + dropwizard-jersey + ${dropwizard.version} + + + mysql + mysql-connector-java + 5.1.26 + + + com.google.code.findbugs + jsr305 + 2.0.0 + + + org.apache.curator + curator-recipes + 2.2.0-incubating + + + org.slf4j + slf4j-log4j12 + + + + + org.apache.kafka + kafka_2.9.2 + 0.8.0 + + + com.sun.jdmk + jmxtools + + + com.sun.jmx + jmxri + + + org.slf4j + slf4j-simple + + + + + org.influxdb + influxdb-java + 1.0 + + + + + + monasca-common + monasca-common-testing + ${mon.common.version} + test + + + monasca-common + monasca-common-dropwizard + ${mon.common.version} + test-jar + test + + + io.dropwizard + dropwizard-testing + ${dropwizard.version} + test + + + org.mockito + mockito-all + 1.9.5 + test + + + com.github.docker-java + docker-java + 0.9.0 + test + + + com.jayway.restassured + rest-assured + 2.3.2 + + + commons-io + commons-io + 2.4 + + + org.testng + testng + 6.8.8 + test + + + + + + + maven-clean-plugin + 2.5 + + + + ${project.basedir}/debs + + + + + + org.codehaus.mojo + buildnumber-maven-plugin + 1.1 + + + validate + + create + + + + + false + 6 + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.1 + + 1.7 + 1.7 + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.17 + + + org.apache.maven.surefire + surefire-testng + 2.17 + + + + performance,functional,integration,database,slow + + + + + org.apache.maven.plugins + maven-failsafe-plugin + 2.17 + + performance,functional,integration,database,slow + ${skipITs} + methods + 4 + + + + + integration-test + verify + + + + + + + + org.apache.maven.plugins + maven-shade-plugin + 1.2 + + ${computedName} + true + + + + org.eclipse.jetty.orbit:javax.servlet + + META-INF/*.SF + META-INF/*.DSA + META-INF/*.RSA + + + + + + org.hamcrest:hamcrest-core + org.hamcrest:hamcrest-library + + + + + + package + + shade + + + + + + monasca.api.MonApiApplication + + + true + + + + + + org.apache.maven.plugins + maven-jar-plugin + 2.4 + + + + true + + + + + + maven-assembly-plugin + 2.4.1 + + + src/assembly/tar.xml + + ${artifactNamedVersion} + + + + make-assembly + package + + single + + + + + + jdeb + org.vafer + 1.0 + + + package + + jdeb + + + ${project.basedir}/debs/binaries/${computedName}.deb + + + file + ${project.build.directory}/${shadedJarName}.jar + /opt/monasca/monasca-api.jar + + + file + ${project.basedir}/src/deb/init/monasca-api.conf + /etc/init/monasca-api.conf + + + file + ${project.basedir}/src/deb/etc/api-config.yml-sample + + /etc/monasca/api-config.yml-sample + + + + + + + + org.apache.maven.plugins + maven-source-plugin + 2.3 + + + attach-sources + + jar + + + + + + org.apache.maven.plugins + maven-scm-plugin + 1.9.2 + + ${project.version} + + + + + + diff --git a/src/assembly/tar.xml b/java/src/assembly/tar.xml similarity index 93% rename from src/assembly/tar.xml rename to java/src/assembly/tar.xml index 826d2233b..9497aba08 100644 --- a/src/assembly/tar.xml +++ b/java/src/assembly/tar.xml @@ -17,7 +17,7 @@ - ${project.build.directory}/${computedName}.jar + ${project.build.directory}/${shadedJarName}.jar / monasca-api.jar diff --git a/src/deb/control/control b/java/src/deb/control/control similarity index 100% rename from src/deb/control/control rename to java/src/deb/control/control diff --git a/src/deb/control/postinst b/java/src/deb/control/postinst similarity index 100% rename from src/deb/control/postinst rename to java/src/deb/control/postinst diff --git a/src/deb/control/postrm b/java/src/deb/control/postrm similarity index 100% rename from src/deb/control/postrm rename to java/src/deb/control/postrm diff --git a/src/deb/control/prerm b/java/src/deb/control/prerm similarity index 100% rename from src/deb/control/prerm rename to java/src/deb/control/prerm diff --git a/src/deb/etc/api-config.yml-sample b/java/src/deb/etc/api-config.yml-sample similarity index 100% rename from src/deb/etc/api-config.yml-sample rename to java/src/deb/etc/api-config.yml-sample diff --git a/src/deb/init/monasca-api.conf b/java/src/deb/init/monasca-api.conf similarity index 100% rename from src/deb/init/monasca-api.conf rename to java/src/deb/init/monasca-api.conf diff --git a/src/main/java/monasca/api/MonApiApplication.java b/java/src/main/java/monasca/api/MonApiApplication.java similarity index 100% rename from src/main/java/monasca/api/MonApiApplication.java rename to java/src/main/java/monasca/api/MonApiApplication.java diff --git a/src/main/java/monasca/api/MonApiConfiguration.java b/java/src/main/java/monasca/api/MonApiConfiguration.java similarity index 100% rename from src/main/java/monasca/api/MonApiConfiguration.java rename to java/src/main/java/monasca/api/MonApiConfiguration.java diff --git a/src/main/java/monasca/api/MonApiModule.java b/java/src/main/java/monasca/api/MonApiModule.java similarity index 100% rename from src/main/java/monasca/api/MonApiModule.java rename to java/src/main/java/monasca/api/MonApiModule.java diff --git a/src/main/java/monasca/api/app/AlarmDefinitionService.java b/java/src/main/java/monasca/api/app/AlarmDefinitionService.java similarity index 100% rename from src/main/java/monasca/api/app/AlarmDefinitionService.java rename to java/src/main/java/monasca/api/app/AlarmDefinitionService.java diff --git a/src/main/java/monasca/api/app/AlarmService.java b/java/src/main/java/monasca/api/app/AlarmService.java similarity index 100% rename from src/main/java/monasca/api/app/AlarmService.java rename to java/src/main/java/monasca/api/app/AlarmService.java diff --git a/src/main/java/monasca/api/app/ApplicationModule.java b/java/src/main/java/monasca/api/app/ApplicationModule.java similarity index 100% rename from src/main/java/monasca/api/app/ApplicationModule.java rename to java/src/main/java/monasca/api/app/ApplicationModule.java diff --git a/src/main/java/monasca/api/app/MetricService.java b/java/src/main/java/monasca/api/app/MetricService.java similarity index 100% rename from src/main/java/monasca/api/app/MetricService.java rename to java/src/main/java/monasca/api/app/MetricService.java diff --git a/src/main/java/monasca/api/app/command/CreateAlarmDefinitionCommand.java b/java/src/main/java/monasca/api/app/command/CreateAlarmDefinitionCommand.java similarity index 100% rename from src/main/java/monasca/api/app/command/CreateAlarmDefinitionCommand.java rename to java/src/main/java/monasca/api/app/command/CreateAlarmDefinitionCommand.java diff --git a/src/main/java/monasca/api/app/command/CreateMetricCommand.java b/java/src/main/java/monasca/api/app/command/CreateMetricCommand.java similarity index 100% rename from src/main/java/monasca/api/app/command/CreateMetricCommand.java rename to java/src/main/java/monasca/api/app/command/CreateMetricCommand.java diff --git a/src/main/java/monasca/api/app/command/CreateNotificationMethodCommand.java b/java/src/main/java/monasca/api/app/command/CreateNotificationMethodCommand.java similarity index 100% rename from src/main/java/monasca/api/app/command/CreateNotificationMethodCommand.java rename to java/src/main/java/monasca/api/app/command/CreateNotificationMethodCommand.java diff --git a/src/main/java/monasca/api/app/command/UpdateAlarmCommand.java b/java/src/main/java/monasca/api/app/command/UpdateAlarmCommand.java similarity index 100% rename from src/main/java/monasca/api/app/command/UpdateAlarmCommand.java rename to java/src/main/java/monasca/api/app/command/UpdateAlarmCommand.java diff --git a/src/main/java/monasca/api/app/command/UpdateAlarmDefinitionCommand.java b/java/src/main/java/monasca/api/app/command/UpdateAlarmDefinitionCommand.java similarity index 100% rename from src/main/java/monasca/api/app/command/UpdateAlarmDefinitionCommand.java rename to java/src/main/java/monasca/api/app/command/UpdateAlarmDefinitionCommand.java diff --git a/src/main/java/monasca/api/app/package-info.java b/java/src/main/java/monasca/api/app/package-info.java similarity index 100% rename from src/main/java/monasca/api/app/package-info.java rename to java/src/main/java/monasca/api/app/package-info.java diff --git a/src/main/java/monasca/api/app/validation/AlarmValidation.java b/java/src/main/java/monasca/api/app/validation/AlarmValidation.java similarity index 100% rename from src/main/java/monasca/api/app/validation/AlarmValidation.java rename to java/src/main/java/monasca/api/app/validation/AlarmValidation.java diff --git a/src/main/java/monasca/api/app/validation/DimensionValidation.java b/java/src/main/java/monasca/api/app/validation/DimensionValidation.java similarity index 100% rename from src/main/java/monasca/api/app/validation/DimensionValidation.java rename to java/src/main/java/monasca/api/app/validation/DimensionValidation.java diff --git a/src/main/java/monasca/api/app/validation/MetricNameValidation.java b/java/src/main/java/monasca/api/app/validation/MetricNameValidation.java similarity index 100% rename from src/main/java/monasca/api/app/validation/MetricNameValidation.java rename to java/src/main/java/monasca/api/app/validation/MetricNameValidation.java diff --git a/src/main/java/monasca/api/app/validation/Validation.java b/java/src/main/java/monasca/api/app/validation/Validation.java similarity index 100% rename from src/main/java/monasca/api/app/validation/Validation.java rename to java/src/main/java/monasca/api/app/validation/Validation.java diff --git a/src/main/java/monasca/api/domain/DomainModule.java b/java/src/main/java/monasca/api/domain/DomainModule.java similarity index 100% rename from src/main/java/monasca/api/domain/DomainModule.java rename to java/src/main/java/monasca/api/domain/DomainModule.java diff --git a/src/main/java/monasca/api/domain/exception/EntityExistsException.java b/java/src/main/java/monasca/api/domain/exception/EntityExistsException.java similarity index 100% rename from src/main/java/monasca/api/domain/exception/EntityExistsException.java rename to java/src/main/java/monasca/api/domain/exception/EntityExistsException.java diff --git a/src/main/java/monasca/api/domain/exception/EntityNotFoundException.java b/java/src/main/java/monasca/api/domain/exception/EntityNotFoundException.java similarity index 100% rename from src/main/java/monasca/api/domain/exception/EntityNotFoundException.java rename to java/src/main/java/monasca/api/domain/exception/EntityNotFoundException.java diff --git a/src/main/java/monasca/api/domain/exception/InvalidEntityException.java b/java/src/main/java/monasca/api/domain/exception/InvalidEntityException.java similarity index 100% rename from src/main/java/monasca/api/domain/exception/InvalidEntityException.java rename to java/src/main/java/monasca/api/domain/exception/InvalidEntityException.java diff --git a/src/main/java/monasca/api/domain/model/alarm/Alarm.java b/java/src/main/java/monasca/api/domain/model/alarm/Alarm.java similarity index 100% rename from src/main/java/monasca/api/domain/model/alarm/Alarm.java rename to java/src/main/java/monasca/api/domain/model/alarm/Alarm.java diff --git a/src/main/java/monasca/api/domain/model/alarm/AlarmRepository.java b/java/src/main/java/monasca/api/domain/model/alarm/AlarmRepository.java similarity index 100% rename from src/main/java/monasca/api/domain/model/alarm/AlarmRepository.java rename to java/src/main/java/monasca/api/domain/model/alarm/AlarmRepository.java diff --git a/src/main/java/monasca/api/domain/model/alarmdefinition/AlarmDefinition.java b/java/src/main/java/monasca/api/domain/model/alarmdefinition/AlarmDefinition.java similarity index 100% rename from src/main/java/monasca/api/domain/model/alarmdefinition/AlarmDefinition.java rename to java/src/main/java/monasca/api/domain/model/alarmdefinition/AlarmDefinition.java diff --git a/src/main/java/monasca/api/domain/model/alarmdefinition/AlarmDefinitionRepository.java b/java/src/main/java/monasca/api/domain/model/alarmdefinition/AlarmDefinitionRepository.java similarity index 100% rename from src/main/java/monasca/api/domain/model/alarmdefinition/AlarmDefinitionRepository.java rename to java/src/main/java/monasca/api/domain/model/alarmdefinition/AlarmDefinitionRepository.java diff --git a/src/main/java/monasca/api/domain/model/alarmstatehistory/AlarmStateHistory.java b/java/src/main/java/monasca/api/domain/model/alarmstatehistory/AlarmStateHistory.java similarity index 100% rename from src/main/java/monasca/api/domain/model/alarmstatehistory/AlarmStateHistory.java rename to java/src/main/java/monasca/api/domain/model/alarmstatehistory/AlarmStateHistory.java diff --git a/src/main/java/monasca/api/domain/model/alarmstatehistory/AlarmStateHistoryRepository.java b/java/src/main/java/monasca/api/domain/model/alarmstatehistory/AlarmStateHistoryRepository.java similarity index 100% rename from src/main/java/monasca/api/domain/model/alarmstatehistory/AlarmStateHistoryRepository.java rename to java/src/main/java/monasca/api/domain/model/alarmstatehistory/AlarmStateHistoryRepository.java diff --git a/src/main/java/monasca/api/domain/model/common/Link.java b/java/src/main/java/monasca/api/domain/model/common/Link.java similarity index 100% rename from src/main/java/monasca/api/domain/model/common/Link.java rename to java/src/main/java/monasca/api/domain/model/common/Link.java diff --git a/src/main/java/monasca/api/domain/model/common/Linked.java b/java/src/main/java/monasca/api/domain/model/common/Linked.java similarity index 100% rename from src/main/java/monasca/api/domain/model/common/Linked.java rename to java/src/main/java/monasca/api/domain/model/common/Linked.java diff --git a/src/main/java/monasca/api/domain/model/common/Paged.java b/java/src/main/java/monasca/api/domain/model/common/Paged.java similarity index 100% rename from src/main/java/monasca/api/domain/model/common/Paged.java rename to java/src/main/java/monasca/api/domain/model/common/Paged.java diff --git a/src/main/java/monasca/api/domain/model/measurement/MeasurementRepository.java b/java/src/main/java/monasca/api/domain/model/measurement/MeasurementRepository.java similarity index 100% rename from src/main/java/monasca/api/domain/model/measurement/MeasurementRepository.java rename to java/src/main/java/monasca/api/domain/model/measurement/MeasurementRepository.java diff --git a/src/main/java/monasca/api/domain/model/measurement/Measurements.java b/java/src/main/java/monasca/api/domain/model/measurement/Measurements.java similarity index 100% rename from src/main/java/monasca/api/domain/model/measurement/Measurements.java rename to java/src/main/java/monasca/api/domain/model/measurement/Measurements.java diff --git a/src/main/java/monasca/api/domain/model/metric/MetricDefinitionRepository.java b/java/src/main/java/monasca/api/domain/model/metric/MetricDefinitionRepository.java similarity index 100% rename from src/main/java/monasca/api/domain/model/metric/MetricDefinitionRepository.java rename to java/src/main/java/monasca/api/domain/model/metric/MetricDefinitionRepository.java diff --git a/src/main/java/monasca/api/domain/model/notificationmethod/NotificationMethod.java b/java/src/main/java/monasca/api/domain/model/notificationmethod/NotificationMethod.java similarity index 100% rename from src/main/java/monasca/api/domain/model/notificationmethod/NotificationMethod.java rename to java/src/main/java/monasca/api/domain/model/notificationmethod/NotificationMethod.java diff --git a/src/main/java/monasca/api/domain/model/notificationmethod/NotificationMethodRepository.java b/java/src/main/java/monasca/api/domain/model/notificationmethod/NotificationMethodRepository.java similarity index 100% rename from src/main/java/monasca/api/domain/model/notificationmethod/NotificationMethodRepository.java rename to java/src/main/java/monasca/api/domain/model/notificationmethod/NotificationMethodRepository.java diff --git a/src/main/java/monasca/api/domain/model/notificationmethod/NotificationMethodType.java b/java/src/main/java/monasca/api/domain/model/notificationmethod/NotificationMethodType.java similarity index 100% rename from src/main/java/monasca/api/domain/model/notificationmethod/NotificationMethodType.java rename to java/src/main/java/monasca/api/domain/model/notificationmethod/NotificationMethodType.java diff --git a/src/main/java/monasca/api/domain/model/statistic/StatisticRepository.java b/java/src/main/java/monasca/api/domain/model/statistic/StatisticRepository.java similarity index 100% rename from src/main/java/monasca/api/domain/model/statistic/StatisticRepository.java rename to java/src/main/java/monasca/api/domain/model/statistic/StatisticRepository.java diff --git a/src/main/java/monasca/api/domain/model/statistic/Statistics.java b/java/src/main/java/monasca/api/domain/model/statistic/Statistics.java similarity index 100% rename from src/main/java/monasca/api/domain/model/statistic/Statistics.java rename to java/src/main/java/monasca/api/domain/model/statistic/Statistics.java diff --git a/src/main/java/monasca/api/domain/model/version/Version.java b/java/src/main/java/monasca/api/domain/model/version/Version.java similarity index 100% rename from src/main/java/monasca/api/domain/model/version/Version.java rename to java/src/main/java/monasca/api/domain/model/version/Version.java diff --git a/src/main/java/monasca/api/domain/model/version/VersionRepository.java b/java/src/main/java/monasca/api/domain/model/version/VersionRepository.java similarity index 100% rename from src/main/java/monasca/api/domain/model/version/VersionRepository.java rename to java/src/main/java/monasca/api/domain/model/version/VersionRepository.java diff --git a/src/main/java/monasca/api/domain/package-info.java b/java/src/main/java/monasca/api/domain/package-info.java similarity index 100% rename from src/main/java/monasca/api/domain/package-info.java rename to java/src/main/java/monasca/api/domain/package-info.java diff --git a/src/main/java/monasca/api/domain/service/impl/VersionRepositoryImpl.java b/java/src/main/java/monasca/api/domain/service/impl/VersionRepositoryImpl.java similarity index 100% rename from src/main/java/monasca/api/domain/service/impl/VersionRepositoryImpl.java rename to java/src/main/java/monasca/api/domain/service/impl/VersionRepositoryImpl.java diff --git a/src/main/java/monasca/api/infrastructure/InfrastructureModule.java b/java/src/main/java/monasca/api/infrastructure/InfrastructureModule.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/InfrastructureModule.java rename to java/src/main/java/monasca/api/infrastructure/InfrastructureModule.java diff --git a/src/main/java/monasca/api/infrastructure/middleware/MiddlewareConfiguration.java b/java/src/main/java/monasca/api/infrastructure/middleware/MiddlewareConfiguration.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/middleware/MiddlewareConfiguration.java rename to java/src/main/java/monasca/api/infrastructure/middleware/MiddlewareConfiguration.java diff --git a/src/main/java/monasca/api/infrastructure/package-info.java b/java/src/main/java/monasca/api/infrastructure/package-info.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/package-info.java rename to java/src/main/java/monasca/api/infrastructure/package-info.java diff --git a/src/main/java/monasca/api/infrastructure/persistence/DimensionQueries.java b/java/src/main/java/monasca/api/infrastructure/persistence/DimensionQueries.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/persistence/DimensionQueries.java rename to java/src/main/java/monasca/api/infrastructure/persistence/DimensionQueries.java diff --git a/src/main/java/monasca/api/infrastructure/persistence/SubAlarmQueries.java b/java/src/main/java/monasca/api/infrastructure/persistence/SubAlarmQueries.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/persistence/SubAlarmQueries.java rename to java/src/main/java/monasca/api/infrastructure/persistence/SubAlarmQueries.java diff --git a/src/main/java/monasca/api/infrastructure/persistence/influxdb/AlarmStateHistoryInfluxDbRepositoryImpl.java b/java/src/main/java/monasca/api/infrastructure/persistence/influxdb/AlarmStateHistoryInfluxDbRepositoryImpl.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/persistence/influxdb/AlarmStateHistoryInfluxDbRepositoryImpl.java rename to java/src/main/java/monasca/api/infrastructure/persistence/influxdb/AlarmStateHistoryInfluxDbRepositoryImpl.java diff --git a/src/main/java/monasca/api/infrastructure/persistence/influxdb/MeasurementInfluxDbRepositoryImpl.java b/java/src/main/java/monasca/api/infrastructure/persistence/influxdb/MeasurementInfluxDbRepositoryImpl.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/persistence/influxdb/MeasurementInfluxDbRepositoryImpl.java rename to java/src/main/java/monasca/api/infrastructure/persistence/influxdb/MeasurementInfluxDbRepositoryImpl.java diff --git a/src/main/java/monasca/api/infrastructure/persistence/influxdb/MetricDefinitionInfluxDbRepositoryImpl.java b/java/src/main/java/monasca/api/infrastructure/persistence/influxdb/MetricDefinitionInfluxDbRepositoryImpl.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/persistence/influxdb/MetricDefinitionInfluxDbRepositoryImpl.java rename to java/src/main/java/monasca/api/infrastructure/persistence/influxdb/MetricDefinitionInfluxDbRepositoryImpl.java diff --git a/src/main/java/monasca/api/infrastructure/persistence/influxdb/StatisticInfluxDbRepositoryImpl.java b/java/src/main/java/monasca/api/infrastructure/persistence/influxdb/StatisticInfluxDbRepositoryImpl.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/persistence/influxdb/StatisticInfluxDbRepositoryImpl.java rename to java/src/main/java/monasca/api/infrastructure/persistence/influxdb/StatisticInfluxDbRepositoryImpl.java diff --git a/src/main/java/monasca/api/infrastructure/persistence/influxdb/Utils.java b/java/src/main/java/monasca/api/infrastructure/persistence/influxdb/Utils.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/persistence/influxdb/Utils.java rename to java/src/main/java/monasca/api/infrastructure/persistence/influxdb/Utils.java diff --git a/src/main/java/monasca/api/infrastructure/persistence/mysql/AlarmDefinitionMySqlRepositoryImpl.java b/java/src/main/java/monasca/api/infrastructure/persistence/mysql/AlarmDefinitionMySqlRepositoryImpl.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/persistence/mysql/AlarmDefinitionMySqlRepositoryImpl.java rename to java/src/main/java/monasca/api/infrastructure/persistence/mysql/AlarmDefinitionMySqlRepositoryImpl.java diff --git a/src/main/java/monasca/api/infrastructure/persistence/mysql/AlarmMySqlRepositoryImpl.java b/java/src/main/java/monasca/api/infrastructure/persistence/mysql/AlarmMySqlRepositoryImpl.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/persistence/mysql/AlarmMySqlRepositoryImpl.java rename to java/src/main/java/monasca/api/infrastructure/persistence/mysql/AlarmMySqlRepositoryImpl.java diff --git a/src/main/java/monasca/api/infrastructure/persistence/mysql/NotificationMethodMySqlRepositoryImpl.java b/java/src/main/java/monasca/api/infrastructure/persistence/mysql/NotificationMethodMySqlRepositoryImpl.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/persistence/mysql/NotificationMethodMySqlRepositoryImpl.java rename to java/src/main/java/monasca/api/infrastructure/persistence/mysql/NotificationMethodMySqlRepositoryImpl.java diff --git a/src/main/java/monasca/api/infrastructure/persistence/vertica/AlarmStateHistoryVerticaRepositoryImpl.java b/java/src/main/java/monasca/api/infrastructure/persistence/vertica/AlarmStateHistoryVerticaRepositoryImpl.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/persistence/vertica/AlarmStateHistoryVerticaRepositoryImpl.java rename to java/src/main/java/monasca/api/infrastructure/persistence/vertica/AlarmStateHistoryVerticaRepositoryImpl.java diff --git a/src/main/java/monasca/api/infrastructure/persistence/vertica/MeasurementVerticaRepositoryImpl.java b/java/src/main/java/monasca/api/infrastructure/persistence/vertica/MeasurementVerticaRepositoryImpl.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/persistence/vertica/MeasurementVerticaRepositoryImpl.java rename to java/src/main/java/monasca/api/infrastructure/persistence/vertica/MeasurementVerticaRepositoryImpl.java diff --git a/src/main/java/monasca/api/infrastructure/persistence/vertica/MetricDefinitionVerticaRepositoryImpl.java b/java/src/main/java/monasca/api/infrastructure/persistence/vertica/MetricDefinitionVerticaRepositoryImpl.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/persistence/vertica/MetricDefinitionVerticaRepositoryImpl.java rename to java/src/main/java/monasca/api/infrastructure/persistence/vertica/MetricDefinitionVerticaRepositoryImpl.java diff --git a/src/main/java/monasca/api/infrastructure/persistence/vertica/MetricQueries.java b/java/src/main/java/monasca/api/infrastructure/persistence/vertica/MetricQueries.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/persistence/vertica/MetricQueries.java rename to java/src/main/java/monasca/api/infrastructure/persistence/vertica/MetricQueries.java diff --git a/src/main/java/monasca/api/infrastructure/persistence/vertica/StatisticVerticaRepositoryImpl.java b/java/src/main/java/monasca/api/infrastructure/persistence/vertica/StatisticVerticaRepositoryImpl.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/persistence/vertica/StatisticVerticaRepositoryImpl.java rename to java/src/main/java/monasca/api/infrastructure/persistence/vertica/StatisticVerticaRepositoryImpl.java diff --git a/src/main/java/monasca/api/infrastructure/servlet/MockAuthenticationFilter.java b/java/src/main/java/monasca/api/infrastructure/servlet/MockAuthenticationFilter.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/servlet/MockAuthenticationFilter.java rename to java/src/main/java/monasca/api/infrastructure/servlet/MockAuthenticationFilter.java diff --git a/src/main/java/monasca/api/infrastructure/servlet/PostAuthenticationFilter.java b/java/src/main/java/monasca/api/infrastructure/servlet/PostAuthenticationFilter.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/servlet/PostAuthenticationFilter.java rename to java/src/main/java/monasca/api/infrastructure/servlet/PostAuthenticationFilter.java diff --git a/src/main/java/monasca/api/infrastructure/servlet/PreAuthenticationFilter.java b/java/src/main/java/monasca/api/infrastructure/servlet/PreAuthenticationFilter.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/servlet/PreAuthenticationFilter.java rename to java/src/main/java/monasca/api/infrastructure/servlet/PreAuthenticationFilter.java diff --git a/src/main/java/monasca/api/infrastructure/servlet/RoleAuthorizationFilter.java b/java/src/main/java/monasca/api/infrastructure/servlet/RoleAuthorizationFilter.java similarity index 100% rename from src/main/java/monasca/api/infrastructure/servlet/RoleAuthorizationFilter.java rename to java/src/main/java/monasca/api/infrastructure/servlet/RoleAuthorizationFilter.java diff --git a/src/main/java/monasca/api/resource/AlarmDefinitionResource.java b/java/src/main/java/monasca/api/resource/AlarmDefinitionResource.java similarity index 100% rename from src/main/java/monasca/api/resource/AlarmDefinitionResource.java rename to java/src/main/java/monasca/api/resource/AlarmDefinitionResource.java diff --git a/src/main/java/monasca/api/resource/AlarmResource.java b/java/src/main/java/monasca/api/resource/AlarmResource.java similarity index 100% rename from src/main/java/monasca/api/resource/AlarmResource.java rename to java/src/main/java/monasca/api/resource/AlarmResource.java diff --git a/src/main/java/monasca/api/resource/Links.java b/java/src/main/java/monasca/api/resource/Links.java similarity index 100% rename from src/main/java/monasca/api/resource/Links.java rename to java/src/main/java/monasca/api/resource/Links.java diff --git a/src/main/java/monasca/api/resource/MeasurementResource.java b/java/src/main/java/monasca/api/resource/MeasurementResource.java similarity index 100% rename from src/main/java/monasca/api/resource/MeasurementResource.java rename to java/src/main/java/monasca/api/resource/MeasurementResource.java diff --git a/src/main/java/monasca/api/resource/MetricResource.java b/java/src/main/java/monasca/api/resource/MetricResource.java similarity index 100% rename from src/main/java/monasca/api/resource/MetricResource.java rename to java/src/main/java/monasca/api/resource/MetricResource.java diff --git a/src/main/java/monasca/api/resource/NotificationMethodResource.java b/java/src/main/java/monasca/api/resource/NotificationMethodResource.java similarity index 100% rename from src/main/java/monasca/api/resource/NotificationMethodResource.java rename to java/src/main/java/monasca/api/resource/NotificationMethodResource.java diff --git a/src/main/java/monasca/api/resource/StatisticResource.java b/java/src/main/java/monasca/api/resource/StatisticResource.java similarity index 100% rename from src/main/java/monasca/api/resource/StatisticResource.java rename to java/src/main/java/monasca/api/resource/StatisticResource.java diff --git a/src/main/java/monasca/api/resource/VersionResource.java b/java/src/main/java/monasca/api/resource/VersionResource.java similarity index 100% rename from src/main/java/monasca/api/resource/VersionResource.java rename to java/src/main/java/monasca/api/resource/VersionResource.java diff --git a/src/main/java/monasca/api/resource/annotation/PATCH.java b/java/src/main/java/monasca/api/resource/annotation/PATCH.java similarity index 100% rename from src/main/java/monasca/api/resource/annotation/PATCH.java rename to java/src/main/java/monasca/api/resource/annotation/PATCH.java diff --git a/src/main/java/monasca/api/resource/exception/ConstraintViolationExceptionMapper.java b/java/src/main/java/monasca/api/resource/exception/ConstraintViolationExceptionMapper.java similarity index 100% rename from src/main/java/monasca/api/resource/exception/ConstraintViolationExceptionMapper.java rename to java/src/main/java/monasca/api/resource/exception/ConstraintViolationExceptionMapper.java diff --git a/src/main/java/monasca/api/resource/exception/EntityExistsExceptionMapper.java b/java/src/main/java/monasca/api/resource/exception/EntityExistsExceptionMapper.java similarity index 100% rename from src/main/java/monasca/api/resource/exception/EntityExistsExceptionMapper.java rename to java/src/main/java/monasca/api/resource/exception/EntityExistsExceptionMapper.java diff --git a/src/main/java/monasca/api/resource/exception/EntityNotFoundExceptionMapper.java b/java/src/main/java/monasca/api/resource/exception/EntityNotFoundExceptionMapper.java similarity index 100% rename from src/main/java/monasca/api/resource/exception/EntityNotFoundExceptionMapper.java rename to java/src/main/java/monasca/api/resource/exception/EntityNotFoundExceptionMapper.java diff --git a/src/main/java/monasca/api/resource/exception/ErrorMessage.java b/java/src/main/java/monasca/api/resource/exception/ErrorMessage.java similarity index 100% rename from src/main/java/monasca/api/resource/exception/ErrorMessage.java rename to java/src/main/java/monasca/api/resource/exception/ErrorMessage.java diff --git a/src/main/java/monasca/api/resource/exception/Exceptions.java b/java/src/main/java/monasca/api/resource/exception/Exceptions.java similarity index 100% rename from src/main/java/monasca/api/resource/exception/Exceptions.java rename to java/src/main/java/monasca/api/resource/exception/Exceptions.java diff --git a/src/main/java/monasca/api/resource/exception/IllegalArgumentExceptionMapper.java b/java/src/main/java/monasca/api/resource/exception/IllegalArgumentExceptionMapper.java similarity index 100% rename from src/main/java/monasca/api/resource/exception/IllegalArgumentExceptionMapper.java rename to java/src/main/java/monasca/api/resource/exception/IllegalArgumentExceptionMapper.java diff --git a/src/main/java/monasca/api/resource/exception/InvalidEntityExceptionMapper.java b/java/src/main/java/monasca/api/resource/exception/InvalidEntityExceptionMapper.java similarity index 100% rename from src/main/java/monasca/api/resource/exception/InvalidEntityExceptionMapper.java rename to java/src/main/java/monasca/api/resource/exception/InvalidEntityExceptionMapper.java diff --git a/src/main/java/monasca/api/resource/exception/JsonMappingExceptionManager.java b/java/src/main/java/monasca/api/resource/exception/JsonMappingExceptionManager.java similarity index 100% rename from src/main/java/monasca/api/resource/exception/JsonMappingExceptionManager.java rename to java/src/main/java/monasca/api/resource/exception/JsonMappingExceptionManager.java diff --git a/src/main/java/monasca/api/resource/exception/JsonProcessingExceptionMapper.java b/java/src/main/java/monasca/api/resource/exception/JsonProcessingExceptionMapper.java similarity index 100% rename from src/main/java/monasca/api/resource/exception/JsonProcessingExceptionMapper.java rename to java/src/main/java/monasca/api/resource/exception/JsonProcessingExceptionMapper.java diff --git a/src/main/java/monasca/api/resource/exception/ThrowableExceptionMapper.java b/java/src/main/java/monasca/api/resource/exception/ThrowableExceptionMapper.java similarity index 100% rename from src/main/java/monasca/api/resource/exception/ThrowableExceptionMapper.java rename to java/src/main/java/monasca/api/resource/exception/ThrowableExceptionMapper.java diff --git a/src/main/java/monasca/api/resource/serialization/SubAlarmExpressionSerializer.java b/java/src/main/java/monasca/api/resource/serialization/SubAlarmExpressionSerializer.java similarity index 100% rename from src/main/java/monasca/api/resource/serialization/SubAlarmExpressionSerializer.java rename to java/src/main/java/monasca/api/resource/serialization/SubAlarmExpressionSerializer.java diff --git a/src/main/resources/api-config.yml b/java/src/main/resources/api-config.yml similarity index 100% rename from src/main/resources/api-config.yml rename to java/src/main/resources/api-config.yml diff --git a/src/test/java/monasca/api/MonApiApplicationRunner.java b/java/src/test/java/monasca/api/MonApiApplicationRunner.java similarity index 100% rename from src/test/java/monasca/api/MonApiApplicationRunner.java rename to java/src/test/java/monasca/api/MonApiApplicationRunner.java diff --git a/src/test/java/monasca/api/app/AlarmDefinitionServiceTest.java b/java/src/test/java/monasca/api/app/AlarmDefinitionServiceTest.java similarity index 100% rename from src/test/java/monasca/api/app/AlarmDefinitionServiceTest.java rename to java/src/test/java/monasca/api/app/AlarmDefinitionServiceTest.java diff --git a/src/test/java/monasca/api/app/command/CreateAlarmDefinitionCommandTest.java b/java/src/test/java/monasca/api/app/command/CreateAlarmDefinitionCommandTest.java similarity index 100% rename from src/test/java/monasca/api/app/command/CreateAlarmDefinitionCommandTest.java rename to java/src/test/java/monasca/api/app/command/CreateAlarmDefinitionCommandTest.java diff --git a/src/test/java/monasca/api/app/command/CreateNotificationMethodTest.java b/java/src/test/java/monasca/api/app/command/CreateNotificationMethodTest.java similarity index 100% rename from src/test/java/monasca/api/app/command/CreateNotificationMethodTest.java rename to java/src/test/java/monasca/api/app/command/CreateNotificationMethodTest.java diff --git a/src/test/java/monasca/api/app/validation/AlarmExpressionsTest.java b/java/src/test/java/monasca/api/app/validation/AlarmExpressionsTest.java similarity index 100% rename from src/test/java/monasca/api/app/validation/AlarmExpressionsTest.java rename to java/src/test/java/monasca/api/app/validation/AlarmExpressionsTest.java diff --git a/src/test/java/monasca/api/app/validation/DimensionsTest.java b/java/src/test/java/monasca/api/app/validation/DimensionsTest.java similarity index 100% rename from src/test/java/monasca/api/app/validation/DimensionsTest.java rename to java/src/test/java/monasca/api/app/validation/DimensionsTest.java diff --git a/src/test/java/monasca/api/app/validation/ValidationTest.java b/java/src/test/java/monasca/api/app/validation/ValidationTest.java similarity index 100% rename from src/test/java/monasca/api/app/validation/ValidationTest.java rename to java/src/test/java/monasca/api/app/validation/ValidationTest.java diff --git a/src/test/java/monasca/api/domain/model/AbstractModelTest.java b/java/src/test/java/monasca/api/domain/model/AbstractModelTest.java similarity index 100% rename from src/test/java/monasca/api/domain/model/AbstractModelTest.java rename to java/src/test/java/monasca/api/domain/model/AbstractModelTest.java diff --git a/src/test/java/monasca/api/domain/model/AlarmDefinitionTest.java b/java/src/test/java/monasca/api/domain/model/AlarmDefinitionTest.java similarity index 100% rename from src/test/java/monasca/api/domain/model/AlarmDefinitionTest.java rename to java/src/test/java/monasca/api/domain/model/AlarmDefinitionTest.java diff --git a/src/test/java/monasca/api/domain/model/NotificationMethodTest.java b/java/src/test/java/monasca/api/domain/model/NotificationMethodTest.java similarity index 100% rename from src/test/java/monasca/api/domain/model/NotificationMethodTest.java rename to java/src/test/java/monasca/api/domain/model/NotificationMethodTest.java diff --git a/src/test/java/monasca/api/domain/model/VersionTest.java b/java/src/test/java/monasca/api/domain/model/VersionTest.java similarity index 100% rename from src/test/java/monasca/api/domain/model/VersionTest.java rename to java/src/test/java/monasca/api/domain/model/VersionTest.java diff --git a/src/test/java/monasca/api/infrastructure/persistence/SubAlarmQueriesTest.java b/java/src/test/java/monasca/api/infrastructure/persistence/SubAlarmQueriesTest.java similarity index 100% rename from src/test/java/monasca/api/infrastructure/persistence/SubAlarmQueriesTest.java rename to java/src/test/java/monasca/api/infrastructure/persistence/SubAlarmQueriesTest.java diff --git a/src/test/java/monasca/api/infrastructure/persistence/influxdb/AlarmStateHistoryInfluxDbRepositoryImplTest.java b/java/src/test/java/monasca/api/infrastructure/persistence/influxdb/AlarmStateHistoryInfluxDbRepositoryImplTest.java similarity index 100% rename from src/test/java/monasca/api/infrastructure/persistence/influxdb/AlarmStateHistoryInfluxDbRepositoryImplTest.java rename to java/src/test/java/monasca/api/infrastructure/persistence/influxdb/AlarmStateHistoryInfluxDbRepositoryImplTest.java diff --git a/src/test/java/monasca/api/infrastructure/persistence/influxdb/UtilsTest.java b/java/src/test/java/monasca/api/infrastructure/persistence/influxdb/UtilsTest.java similarity index 100% rename from src/test/java/monasca/api/infrastructure/persistence/influxdb/UtilsTest.java rename to java/src/test/java/monasca/api/infrastructure/persistence/influxdb/UtilsTest.java diff --git a/src/test/java/monasca/api/infrastructure/persistence/mysql/AlarmDefinitionMySqlRepositoryImplTest.java b/java/src/test/java/monasca/api/infrastructure/persistence/mysql/AlarmDefinitionMySqlRepositoryImplTest.java similarity index 100% rename from src/test/java/monasca/api/infrastructure/persistence/mysql/AlarmDefinitionMySqlRepositoryImplTest.java rename to java/src/test/java/monasca/api/infrastructure/persistence/mysql/AlarmDefinitionMySqlRepositoryImplTest.java diff --git a/src/test/java/monasca/api/infrastructure/persistence/mysql/AlarmMySqlRepositoryImplTest.java b/java/src/test/java/monasca/api/infrastructure/persistence/mysql/AlarmMySqlRepositoryImplTest.java similarity index 100% rename from src/test/java/monasca/api/infrastructure/persistence/mysql/AlarmMySqlRepositoryImplTest.java rename to java/src/test/java/monasca/api/infrastructure/persistence/mysql/AlarmMySqlRepositoryImplTest.java diff --git a/src/test/java/monasca/api/infrastructure/persistence/mysql/NotificationMethodMySqlRepositoryImplTest.java b/java/src/test/java/monasca/api/infrastructure/persistence/mysql/NotificationMethodMySqlRepositoryImplTest.java similarity index 100% rename from src/test/java/monasca/api/infrastructure/persistence/mysql/NotificationMethodMySqlRepositoryImplTest.java rename to java/src/test/java/monasca/api/infrastructure/persistence/mysql/NotificationMethodMySqlRepositoryImplTest.java diff --git a/src/test/java/monasca/api/infrastructure/persistence/vertica/AlarmStateHistoryVerticaRepositoryImplTest.java b/java/src/test/java/monasca/api/infrastructure/persistence/vertica/AlarmStateHistoryVerticaRepositoryImplTest.java similarity index 100% rename from src/test/java/monasca/api/infrastructure/persistence/vertica/AlarmStateHistoryVerticaRepositoryImplTest.java rename to java/src/test/java/monasca/api/infrastructure/persistence/vertica/AlarmStateHistoryVerticaRepositoryImplTest.java diff --git a/src/test/java/monasca/api/infrastructure/persistence/vertica/MeasurementVerticaRepositoryImplTest.java b/java/src/test/java/monasca/api/infrastructure/persistence/vertica/MeasurementVerticaRepositoryImplTest.java similarity index 100% rename from src/test/java/monasca/api/infrastructure/persistence/vertica/MeasurementVerticaRepositoryImplTest.java rename to java/src/test/java/monasca/api/infrastructure/persistence/vertica/MeasurementVerticaRepositoryImplTest.java diff --git a/src/test/java/monasca/api/infrastructure/persistence/vertica/MetricDefinitionVerticaRepositoryImplTest.java b/java/src/test/java/monasca/api/infrastructure/persistence/vertica/MetricDefinitionVerticaRepositoryImplTest.java similarity index 100% rename from src/test/java/monasca/api/infrastructure/persistence/vertica/MetricDefinitionVerticaRepositoryImplTest.java rename to java/src/test/java/monasca/api/infrastructure/persistence/vertica/MetricDefinitionVerticaRepositoryImplTest.java diff --git a/src/test/java/monasca/api/infrastructure/persistence/vertica/MetricQueriesTest.java b/java/src/test/java/monasca/api/infrastructure/persistence/vertica/MetricQueriesTest.java similarity index 100% rename from src/test/java/monasca/api/infrastructure/persistence/vertica/MetricQueriesTest.java rename to java/src/test/java/monasca/api/infrastructure/persistence/vertica/MetricQueriesTest.java diff --git a/src/test/java/monasca/api/integration/AlarmIntegrationTest.java b/java/src/test/java/monasca/api/integration/AlarmIntegrationTest.java similarity index 100% rename from src/test/java/monasca/api/integration/AlarmIntegrationTest.java rename to java/src/test/java/monasca/api/integration/AlarmIntegrationTest.java diff --git a/src/test/java/monasca/api/integration/MetricIntegrationTest.java b/java/src/test/java/monasca/api/integration/MetricIntegrationTest.java similarity index 100% rename from src/test/java/monasca/api/integration/MetricIntegrationTest.java rename to java/src/test/java/monasca/api/integration/MetricIntegrationTest.java diff --git a/src/test/java/monasca/api/integration/NotificationMethodIntegrationTest.java b/java/src/test/java/monasca/api/integration/NotificationMethodIntegrationTest.java similarity index 100% rename from src/test/java/monasca/api/integration/NotificationMethodIntegrationTest.java rename to java/src/test/java/monasca/api/integration/NotificationMethodIntegrationTest.java diff --git a/src/test/java/monasca/api/integration/docker/ITInfluxDBTest.java b/java/src/test/java/monasca/api/integration/docker/ITInfluxDBTest.java similarity index 100% rename from src/test/java/monasca/api/integration/docker/ITInfluxDBTest.java rename to java/src/test/java/monasca/api/integration/docker/ITInfluxDBTest.java diff --git a/src/test/java/monasca/api/resource/AbstractMonApiResourceTest.java b/java/src/test/java/monasca/api/resource/AbstractMonApiResourceTest.java similarity index 100% rename from src/test/java/monasca/api/resource/AbstractMonApiResourceTest.java rename to java/src/test/java/monasca/api/resource/AbstractMonApiResourceTest.java diff --git a/src/test/java/monasca/api/resource/AlarmDefinitionResourceTest.java b/java/src/test/java/monasca/api/resource/AlarmDefinitionResourceTest.java similarity index 100% rename from src/test/java/monasca/api/resource/AlarmDefinitionResourceTest.java rename to java/src/test/java/monasca/api/resource/AlarmDefinitionResourceTest.java diff --git a/src/test/java/monasca/api/resource/LinksTest.java b/java/src/test/java/monasca/api/resource/LinksTest.java similarity index 100% rename from src/test/java/monasca/api/resource/LinksTest.java rename to java/src/test/java/monasca/api/resource/LinksTest.java diff --git a/src/test/java/monasca/api/resource/MetricResourceTest.java b/java/src/test/java/monasca/api/resource/MetricResourceTest.java similarity index 100% rename from src/test/java/monasca/api/resource/MetricResourceTest.java rename to java/src/test/java/monasca/api/resource/MetricResourceTest.java diff --git a/src/test/java/monasca/api/resource/NotificationMethodResourceTest.java b/java/src/test/java/monasca/api/resource/NotificationMethodResourceTest.java similarity index 100% rename from src/test/java/monasca/api/resource/NotificationMethodResourceTest.java rename to java/src/test/java/monasca/api/resource/NotificationMethodResourceTest.java diff --git a/src/test/java/monasca/api/resource/StatisticResourceTest.java b/java/src/test/java/monasca/api/resource/StatisticResourceTest.java similarity index 100% rename from src/test/java/monasca/api/resource/StatisticResourceTest.java rename to java/src/test/java/monasca/api/resource/StatisticResourceTest.java diff --git a/src/test/java/monasca/api/resource/VersionResourceTest.java b/java/src/test/java/monasca/api/resource/VersionResourceTest.java similarity index 100% rename from src/test/java/monasca/api/resource/VersionResourceTest.java rename to java/src/test/java/monasca/api/resource/VersionResourceTest.java diff --git a/src/test/java/monasca/api/resource/exception/ErrorMessages.java b/java/src/test/java/monasca/api/resource/exception/ErrorMessages.java similarity index 100% rename from src/test/java/monasca/api/resource/exception/ErrorMessages.java rename to java/src/test/java/monasca/api/resource/exception/ErrorMessages.java diff --git a/src/test/resources/fixtures/alarm.json b/java/src/test/resources/fixtures/alarm.json similarity index 100% rename from src/test/resources/fixtures/alarm.json rename to java/src/test/resources/fixtures/alarm.json diff --git a/src/test/resources/fixtures/metricSet.json b/java/src/test/resources/fixtures/metricSet.json similarity index 100% rename from src/test/resources/fixtures/metricSet.json rename to java/src/test/resources/fixtures/metricSet.json diff --git a/src/test/resources/fixtures/metricWithoutDimensionName.json b/java/src/test/resources/fixtures/metricWithoutDimensionName.json similarity index 100% rename from src/test/resources/fixtures/metricWithoutDimensionName.json rename to java/src/test/resources/fixtures/metricWithoutDimensionName.json diff --git a/src/test/resources/fixtures/metricWithoutName.json b/java/src/test/resources/fixtures/metricWithoutName.json similarity index 100% rename from src/test/resources/fixtures/metricWithoutName.json rename to java/src/test/resources/fixtures/metricWithoutName.json diff --git a/src/test/resources/fixtures/metricWithoutTimestamp.json b/java/src/test/resources/fixtures/metricWithoutTimestamp.json similarity index 100% rename from src/test/resources/fixtures/metricWithoutTimestamp.json rename to java/src/test/resources/fixtures/metricWithoutTimestamp.json diff --git a/src/test/resources/fixtures/newAlarm.json b/java/src/test/resources/fixtures/newAlarm.json similarity index 100% rename from src/test/resources/fixtures/newAlarm.json rename to java/src/test/resources/fixtures/newAlarm.json diff --git a/src/test/resources/fixtures/newNotificationMethod.json b/java/src/test/resources/fixtures/newNotificationMethod.json similarity index 100% rename from src/test/resources/fixtures/newNotificationMethod.json rename to java/src/test/resources/fixtures/newNotificationMethod.json diff --git a/src/test/resources/fixtures/newNotificationMethodWithInvalidEnum.json b/java/src/test/resources/fixtures/newNotificationMethodWithInvalidEnum.json similarity index 100% rename from src/test/resources/fixtures/newNotificationMethodWithInvalidEnum.json rename to java/src/test/resources/fixtures/newNotificationMethodWithInvalidEnum.json diff --git a/src/test/resources/fixtures/newNotificationMethodWithLowercaseEnum.json b/java/src/test/resources/fixtures/newNotificationMethodWithLowercaseEnum.json similarity index 100% rename from src/test/resources/fixtures/newNotificationMethodWithLowercaseEnum.json rename to java/src/test/resources/fixtures/newNotificationMethodWithLowercaseEnum.json diff --git a/src/test/resources/fixtures/notificationMethod.json b/java/src/test/resources/fixtures/notificationMethod.json similarity index 100% rename from src/test/resources/fixtures/notificationMethod.json rename to java/src/test/resources/fixtures/notificationMethod.json diff --git a/src/test/resources/fixtures/version.json b/java/src/test/resources/fixtures/version.json similarity index 100% rename from src/test/resources/fixtures/version.json rename to java/src/test/resources/fixtures/version.json diff --git a/src/test/resources/monasca-api-config.yml b/java/src/test/resources/monasca-api-config.yml similarity index 100% rename from src/test/resources/monasca-api-config.yml rename to java/src/test/resources/monasca-api-config.yml diff --git a/src/test/resources/monasca/api/infrastructure/persistence/mysql/alarm.sql b/java/src/test/resources/monasca/api/infrastructure/persistence/mysql/alarm.sql similarity index 100% rename from src/test/resources/monasca/api/infrastructure/persistence/mysql/alarm.sql rename to java/src/test/resources/monasca/api/infrastructure/persistence/mysql/alarm.sql diff --git a/src/test/resources/monasca/api/infrastructure/persistence/mysql/notification_method.sql b/java/src/test/resources/monasca/api/infrastructure/persistence/mysql/notification_method.sql similarity index 100% rename from src/test/resources/monasca/api/infrastructure/persistence/mysql/notification_method.sql rename to java/src/test/resources/monasca/api/infrastructure/persistence/mysql/notification_method.sql diff --git a/src/test/resources/monasca/api/infrastructure/persistence/vertica/metrics.sql b/java/src/test/resources/monasca/api/infrastructure/persistence/vertica/metrics.sql similarity index 100% rename from src/test/resources/monasca/api/infrastructure/persistence/vertica/metrics.sql rename to java/src/test/resources/monasca/api/infrastructure/persistence/vertica/metrics.sql diff --git a/pom.xml b/pom.xml index ea6b6216c..61faf0bcd 100644 --- a/pom.xml +++ b/pom.xml @@ -1,406 +1,86 @@ - - 4.0.0 + + 4.0.0 - monasca-api - monasca-api - 0.1.0 - http://github.com/stackforge/monasca-api - jar + monasca + monasca-api-base + ${computedVersion} + http://github.com/stackforge/monasca-api + pom - - 3.0 - + - - ${project.version}-${timestamp}-${buildNumber} - ${project.artifactId}-${computedVersion} - 1.0.0-SNAPSHOT - 0.7.0 + + + 1.0.0 + ${versionNumber}-SNAPSHOT - false - UTF-8 - UTF-8 - + true + UTF-8 + UTF-8 + - - scm:git:git@github.com:stackforge/monasca-api - scm:git:git@github.com:stackforge/monasca-api - + + scm:git:git@github.com:stackforge/monasca-api + scm:git:git@github.com:stackforge/monasca-api + - - - release-deploy-url-override - - - BUILD_NUM - - - - ${versionNumber}.${BUILD_NUM} - - - + + download + java + - - - monasca-common - monasca-common-influxdb - ${mon.common.version} - - - monasca-common - monasca-common-model - ${mon.common.version} - - - monasca-common - monasca-common-persistence - ${mon.common.version} - - - monasca-common - monasca-common-util - ${mon.common.version} - - - commons-validator - commons-validator - 1.4.0 - - - monasca-common - monasca-common-kafka - ${mon.common.version} - - - monasca-common - monasca-common-middleware - ${mon.common.version} - - - io.dropwizard - dropwizard-core - ${dropwizard.version} - - - io.dropwizard - dropwizard-db - ${dropwizard.version} - - - io.dropwizard - dropwizard-jdbi - ${dropwizard.version} - - - io.dropwizard - dropwizard-assets - ${dropwizard.version} - - - io.dropwizard - dropwizard-jersey - ${dropwizard.version} - - - mysql - mysql-connector-java - 5.1.26 - - - com.google.code.findbugs - jsr305 - 2.0.0 - - - org.apache.curator - curator-recipes - 2.2.0-incubating - - - org.slf4j - slf4j-log4j12 - - - - - org.apache.kafka - kafka_2.9.2 - 0.8.0 - - - com.sun.jdmk - jmxtools - - - com.sun.jmx - jmxri - - - org.slf4j - slf4j-simple - - - - - org.influxdb - influxdb-java - 1.0 - + + + release-deploy-url-override + + + BUILD_NUM + + + + ${project.version} + + + - - - - monasca-common - monasca-common-testing - ${mon.common.version} - test - - - monasca-common - monasca-common-dropwizard - ${mon.common.version} - test-jar - test - - - io.dropwizard - dropwizard-testing - ${dropwizard.version} - test - - - org.mockito - mockito-all - 1.9.5 - test - - - com.github.docker-java - docker-java - 0.9.0 - test - - - com.jayway.restassured - rest-assured - 2.3.2 - - - commons-io - commons-io - 2.4 - - - org.testng - testng - 6.8.8 - - - - - - - maven-clean-plugin - 2.5 - - - - ${project.basedir}/debs - - - - - - org.codehaus.mojo - buildnumber-maven-plugin - 1.1 - - - validate - - create - - - - - false - 6 - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.1 - - 1.7 - 1.7 - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.17 - - - org.apache.maven.surefire - surefire-testng - 2.17 - - - - performance,functional,integration,database,slow - - - - - org.apache.maven.plugins - maven-failsafe-plugin - 2.17 - - performance,functional,integration,database,slow - ${skipITs} - methods - 4 - - - - - integration-test - verify - - - - - - - - org.apache.maven.plugins - maven-shade-plugin - 2.1 - - ${computedName} - true - - - *:* - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - - - - - package - - shade - - - - - - monasca.api.MonApiApplication - - - true - - - - - - org.apache.maven.plugins - maven-jar-plugin - 2.4 - - - - true - - - - - - maven-assembly-plugin - 2.4.1 - - - src/assembly/tar.xml - - ${artifactNamedVersion} - - - - make-assembly - package - - single - - - - - - jdeb - org.vafer - 1.0 - - - package - - jdeb - - - ${project.basedir}/debs/binaries/${computedName}.deb - - - file - ${project.build.directory}/${computedName}.jar - /opt/monasca/monasca-api.jar - - - file - ${project.basedir}/src/deb/init/monasca-api.conf - /etc/init/monasca-api.conf - - - file - ${project.basedir}/src/deb/etc/api-config.yml-sample - - /etc/monasca/api-config.yml-sample - - - - - - - - org.apache.maven.plugins - maven-source-plugin - 2.3 - - - attach-sources - - jar - - - - - - org.apache.maven.plugins - maven-scm-plugin - 1.9.2 - - ${project.version} - - - - + + + + org.apache.maven.plugins + maven-scm-plugin + 1.9 + + ${project.version} + + + + org.codehaus.mojo + exec-maven-plugin + 1.1.1 + + + some-execution + package + + exec + + + + + ln + + -sf + java/target + target + + + + +