aboutsummaryrefslogtreecommitdiffstats
path: root/apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/ApiRouteApp.java
diff options
context:
space:
mode:
Diffstat (limited to 'apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/ApiRouteApp.java')
-rw-r--r--apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/ApiRouteApp.java131
1 files changed, 131 insertions, 0 deletions
diff --git a/apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/ApiRouteApp.java b/apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/ApiRouteApp.java
new file mode 100644
index 0000000..5c3096f
--- /dev/null
+++ b/apiroute/apiroute-service/src/main/java/org/onap/msb/apiroute/ApiRouteApp.java
@@ -0,0 +1,131 @@
+/**
+ * Copyright 2016 ZTE, Inc. and others.
+ *
+ * Licensed 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.onap.msb.apiroute;
+import io.dropwizard.Application;
+import io.dropwizard.assets.AssetsBundle;
+import io.dropwizard.server.SimpleServerFactory;
+import io.dropwizard.setup.Bootstrap;
+import io.dropwizard.setup.Environment;
+import io.swagger.jaxrs.config.BeanConfig;
+import io.swagger.jaxrs.listing.ApiListingResource;
+
+import org.onap.msb.apiroute.health.ApiRouteHealthCheck;
+import org.onap.msb.apiroute.resources.ApiRouteResource;
+import org.onap.msb.apiroute.resources.CustomRouteResource;
+import org.onap.msb.apiroute.resources.IuiRouteResource;
+import org.onap.msb.apiroute.resources.MicroServiceResource;
+import org.onap.msb.apiroute.wrapper.InitRouteServiceWrapper;
+import org.onap.msb.apiroute.wrapper.util.ConfigUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+public class ApiRouteApp extends Application<ApiRouteAppConfig> {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(ApiRouteApp.class);
+
+ public static void main(String[] args) throws Exception {
+ new ApiRouteApp().run(args);
+
+ InitRouteServiceWrapper.getInstance().initFilterConfig();
+
+ InitRouteServiceWrapper.getInstance().initDataSynchro();
+
+ InitRouteServiceWrapper.getInstance().initHealthCheck();
+ }
+
+
+ @Override
+ public String getName() {
+ return " MicroService Bus ";
+ }
+
+ @Override
+ public void initialize(Bootstrap<ApiRouteAppConfig> bootstrap) {
+ super.initialize(bootstrap);
+
+ }
+
+ @Override
+ public void run(ApiRouteAppConfig configuration, Environment environment) throws Exception {
+
+
+ ConfigUtil.getInstance().initRootPath();
+
+
+ String iuiRootPath=ConfigUtil.getInstance().getIUI_ROOT_PATH();
+
+ // new AssetsBundle("/iui-metrics", "/"+iuiRootPath+"/microservices/metrics","index.html", "iui-metrics").run(environment);
+
+ new AssetsBundle("/iui-route", "/"+iuiRootPath+"/microservices", "index.html","iui-microservices").run(environment);
+
+ new AssetsBundle("/api-doc", "/"+iuiRootPath+"/microservices/api-doc","index.html", "api-doc").run(environment);
+
+ new AssetsBundle("/ext", "/"+iuiRootPath+"/microservices/ext","index.html", "ext").run(environment);
+
+
+
+
+ final ApiRouteHealthCheck healthCheck =new ApiRouteHealthCheck();
+ environment.healthChecks().register("consulCheck", healthCheck);
+
+ environment.jersey().register(new ApiRouteResource());
+ environment.jersey().register(new IuiRouteResource());
+ environment.jersey().register(new CustomRouteResource());
+ environment.jersey().register(new MicroServiceResource());
+
+ // initSwaggerConfig(environment, configuration);
+
+ ConfigUtil.getInstance().initConsulIp();
+ ConfigUtil.getInstance().initDiscoverInfo(configuration);
+ // InitRouteServiceWrapper.getInstance().initMetricsConfig(configuration);
+
+
+ }
+
+
+
+
+
+
+ private void initSwaggerConfig(Environment environment, ApiRouteAppConfig configuration) {
+
+ environment.jersey().register(new ApiListingResource());
+ environment.getObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_NULL);
+
+ BeanConfig config = new BeanConfig();
+ config.setTitle("ApiRoute RESTful API");
+ config.setVersion("1.0.0");
+ config.setResourcePackage("org.onap.msb.apiroute.resources");
+ SimpleServerFactory simpleServerFactory =(SimpleServerFactory) configuration.getServerFactory();
+ String basePath = simpleServerFactory.getApplicationContextPath();
+ String rootPath = simpleServerFactory.getJerseyRootPath();
+
+ rootPath = rootPath.substring(0, rootPath.indexOf("/*"));
+
+ basePath = basePath.equals("/") ? rootPath : (new StringBuilder()).append(basePath).append(rootPath).toString();
+
+ LOGGER.warn("getApplicationContextPath: " + basePath);
+ config.setBasePath(basePath);
+ config.setScan(true);
+ }
+
+
+
+
+}