ro.pippo.core.Application类的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(12.0k)|赞(0)|评价(0)|浏览(105)

本文整理了Java中ro.pippo.core.Application类的一些代码示例,展示了Application类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Application类的具体详情如下:
包路径:ro.pippo.core.Application
类名称:Application

Application介绍

[英]Base class for all Pippo applications. From here, you can make some configuration changes or enhancements (for example: custom router, custom request, custom response, ..) and add routes.
[中]所有Pippo应用程序的基类。从这里,您可以进行一些配置更改或增强(例如:自定义路由器、自定义请求、自定义响应等)并添加路线。

代码示例

代码示例来源:origin: pippo-java/pippo

/**
 * Performs common initialization for template engines.
 *
 * Implementations must override this method to do their own template engine specific initialization.
 * To use the convenience of this class, implementations must invoke this class's implementation before
 * performing their own initialization.
 *
 * @param application reference to the Pippo {@link Application} that can be used to retrieve settings
 *                     and other settings for the initialization
 */
@Override
public void init(Application application) {
  languages = application.getLanguages();
  messages = application.getMessages();
  router = application.getRouter();
  pippoSettings = application.getPippoSettings();
  fileExtension = pippoSettings.getString(PippoConstants.SETTING_TEMPLATE_EXTENSION, getDefaultFileExtension());
  templatePathPrefix = pippoSettings.getString(PippoConstants.SETTING_TEMPLATE_PATH_PREFIX, TemplateEngine.DEFAULT_PATH_PREFIX);
}

代码示例来源:origin: pippo-java/pippo

@Override
public void init(Application application) {
  application.registerContentTypeEngine(CsvEngine.class);
}

代码示例来源:origin: pippo-java/pippo

@Override
public void init(Application application) {
  application.registerTemplateEngine(GroovyTemplateEngine.class);
}

代码示例来源:origin: pippo-java/pippo

public void init() {
  log.debug("Initializing application '{}'", application);
  application.init();
  router = application.getRouter();
  errorHandler = application.getErrorHandler();
  notFoundRouteHandler = application.getNotFoundRouteHandler();
  routeContextFactory = getRouteContextFactory();
  routeContextFactory.init(application);
  log.debug("RouteContext factory is '{}'", routeContextFactory.getClass().getName());
}

代码示例来源:origin: pippo-java/pippo

public Response(HttpServletResponse httpServletResponse, Application application) {
  this.httpServletResponse = httpServletResponse;
  this.contentTypeEngines = application.getContentTypeEngines();
  this.templateEngine = application.getTemplateEngine();
  this.httpServletResponse.setCharacterEncoding(StandardCharsets.UTF_8.toString());
  this.contextPath = application.getRouter().getContextPath();
  this.applicationPath = StringUtils.removeEnd(application.getRouter().getApplicationPath(), "/");
  this.mimeTypes = application.getMimeTypes();
  this.status = 0;
}

代码示例来源:origin: com.gitblit.fathom/fathom-rest

@Override
protected void setup() {
  String basePath = Strings.nullToEmpty(getSettings().getString(RestServlet.SETTING_URL, null)).trim();
  serve(basePath + "/*").with(RestServlet.class);
  final PippoSettings pippoSettings = getPippoSettings(getSettings());
  final Application application = new Application(pippoSettings);
  // must set context path before starting application
  application.getRouter().setContextPath(getSettings().getContextPath());
  // must set application path before starting application
  String contextPath = application.getRouter().getContextPath();
  String applicationPath = StringUtils.addEnd(contextPath, "/") + StringUtils.removeStart(basePath, "/");
  application.getRouter().setApplicationPath(applicationPath);
  // start the application which sets up all initializers
  application.init();
  bind(Application.class).toInstance(application);
  bind(Router.class).toInstance(application.getRouter());
  bind(Messages.class).toInstance(application.getMessages());
  bind(Languages.class).toInstance(application.getLanguages());
  bind(MimeTypes.class).toInstance(application.getMimeTypes());
  bind(ErrorHandler.class).toInstance(application.getErrorHandler());
  bind(TemplateEngine.class).toInstance(application.getTemplateEngine());
  bind(HttpCacheToolkit.class).toInstance(application.getHttpCacheToolkit());
  bind(ContentTypeEngines.class).toInstance(application.getContentTypeEngines());
  bind(RestService.class);
}

代码示例来源:origin: pippo-java/pippo

@Override
public PippoSettings getSettings() {
  return application.getPippoSettings();
}

代码示例来源:origin: pippo-java/pippo

@Override
public void init(Application application) {
  metricRegistry = (MetricRegistry) application.getLocals().get("metricRegistry");
  if (metricRegistry == null) {
    metricRegistry = new MetricRegistry();
  PippoSettings pippoSettings = application.getPippoSettings();
  String applicationName = pippoSettings.getString(PippoConstants.SETTING_APPLICATION_NAME, "Pippo");
  application.getRoutePreDispatchListeners().add(metricsDispatchListener);
  application.getRoutePostDispatchListeners().add(metricsDispatchListener);
  application.addRouteTransformer(transformer);

代码示例来源:origin: pippo-java/pippo

/**
 * Get the template bindings for the error response.
 *
 * @param routeContext
 * @return bindings map
 */
protected Map<String, Object> prepareTemplateBindings(int statusCode, RouteContext routeContext) {
  Map<String, Object> locals = new LinkedHashMap<>();
  locals.put("applicationName", application.getApplicationName());
  locals.put("applicationVersion", application.getApplicationVersion());
  locals.put("runtimeMode", application.getPippoSettings().getRuntimeMode().toString());
  if (application.getPippoSettings().isDev()) {
    locals.put("routes", application.getRouter().getRoutes());
  }
  return locals;
}

代码示例来源:origin: pippo-java/pippo

if (application.getPippoSettings().isProd()) {
  routeContext.getResponse().commit();
} else {
    content.append('\n');
    List<Route> routes = application.getRouter().getRoutes();
    for (Route route : routes) {
      content.append('\t').append(route.getRequestMethod()).append(' ').append(route.getUriPattern());

代码示例来源:origin: pippo-java/pippo

@Override
public Messages getMessages() {
  return application.getMessages();
}

代码示例来源:origin: com.gitblit.fathom/fathom-rest

private void initializeApplication() {
  // hook-up the Metrics dispatch listener
  MetricsDispatchListener metricsDispatchListener = new MetricsDispatchListener(metricRegistry);
  application.getRoutePreDispatchListeners().add(metricsDispatchListener);
  application.getRoutePostDispatchListeners().add(metricsDispatchListener);
  // set the RedirectException handler
  application.getErrorHandler().setExceptionHandler(RedirectException.class, (exception, ctx) -> {
    RedirectException redirectException = (RedirectException) exception;
    if (!Strings.isNullOrEmpty(redirectException.getSessionUrlAttribute())) {
      String requestUri = ctx.getRequest().getApplicationUriWithQuery();
      ctx.setSession(redirectException.getSessionUrlAttribute(), requestUri);
    }
    ctx.redirect(redirectException.getPath());
  });
  // set the StatusCodeException handler
  application.getErrorHandler().setExceptionHandler(StatusCodeException.class, (exception, ctx) -> {
    StatusCodeException statusCodeException = (StatusCodeException) exception;
    ctx.setLocal("message", statusCodeException.getMessage());
    application.getErrorHandler().handle(statusCodeException.getStatusCode(), ctx);
  });
}

代码示例来源:origin: pippo-java/pippo

/**
 * Helper method that calls {@code getRouter().addRouteTransformer(transformer)}.
 *
 * @param transformer
 */
public void addRouteTransformer(RouteTransformer transformer) {
  getRouter().addRouteTransformer(transformer);
}

代码示例来源:origin: pippo-java/pippo

.set("contextPath", router.getContextPath())
  .set("appPath", router.getApplicationPath()))
.extension(new I18nExtension(application.getMessages()))
.extension(new FormatTimeExtension())
.extension(new PrettyTimeExtension())
.extension(new WebjarsAtExtension(router))
.extension(new PublicAtExtension(router))
.extension(new RouteExtension(application.getRouter()));

代码示例来源:origin: pippo-java/pippo

@Override
public void init(ServletConfig servletConfig) {
  if (System.getProperty("pippo.hideLogo") == null) {
    log.info(PippoUtils.getPippoLogo());
  }
  // check for runtime mode in filter init parameter
  String mode = servletConfig.getInitParameter(MODE_PARAM);
  if (!StringUtils.isNullOrEmpty(mode)) {
    System.setProperty(PippoConstants.SYSTEM_PROPERTY_PIPPO_MODE, mode);
  }
  if (application == null) {
    createApplication(servletConfig);
    log.debug("Created application '{}'", application);
  }
  ServletContext servletContext = servletConfig.getServletContext();
  // save the servlet context object in application
  application.setServletContext(servletContext);
  // set the application as an attribute of the servlet container
  if (servletContext.getAttribute(WebServer.PIPPO_APPLICATION) == null) {
    servletContext.setAttribute(WebServer.PIPPO_APPLICATION, application);
  }
  String contextPath = StringUtils.addStart(servletContext.getContextPath(), "/");
  application.getRouter().setContextPath(contextPath);
  log.debug("Serving application on context path '{}'", contextPath);
  log.debug("Initializing Route Dispatcher");
  routeDispatcher = new RouteDispatcher(application);
  routeDispatcher.init();
  String runtimeMode = application.getRuntimeMode().toString().toUpperCase();
  log.info("Pippo started ({})", runtimeMode);
}

代码示例来源:origin: pippo-java/pippo

public Request(HttpServletRequest servletRequest, Application application) {
  this.httpServletRequest = servletRequest;
  this.contentTypeEngines = application.getContentTypeEngines();
  applicationPath = application.getRouter().getApplicationPath();
  // fill (query&post) parameters if any
  initParameters();
  // empty path parameters for now (see internalSetPathParameters method)
  pathParameters = Collections.unmodifiableMap(new HashMap<String, ParameterValue>());
  // init all parameters
  initAllParameters();
}

代码示例来源:origin: pippo-java/pippo

} else {
  ContentTypeEngine engine = application.getContentTypeEngine(contentType);
  if (engine == null) {
    log.warn("No registered content type engine for '{}'", contentType);
      log.error("Unexpected error generating '{}' as '{}'", Error.class.getName(), contentType, e);
      routeContext.status(HttpConstants.StatusCode.INTERNAL_ERROR);
      routeContext.send(application.getMessages().get("pippo.statusCode500", routeContext));

代码示例来源:origin: pippo-java/pippo

protected WebSocketRouter.WebSocketMatch findWebSocketRoute(String requestUri) {
  String applicationPath = getApplication().getRouter().getContextPath();
  String path = applicationPath.isEmpty() ? requestUri : requestUri.substring(applicationPath.length());
  if (StringUtils.isNullOrEmpty(path)) {
    path = "/";
  }
  return getApplication().getWebSocketRouter().match(path);
}

代码示例来源:origin: pippo-java/pippo

public final void init() {
  // add initializers
  initializers.addAll(ServiceLocator.locateAll(Initializer.class));
  // call each initializer
  for (Initializer initializer : initializers) {
    log.debug("Initializing '{}'", initializer.getClass().getName());
    try {
      initializer.init(this);
    } catch (Exception e) {
      log.error("Failed to initialize '{}'", initializer.getClass().getName(), e);
    }
  }
  // add transformers
  List<RouteTransformer> transformers = ServiceLocator.locateAll(RouteTransformer.class);
  for (RouteTransformer transformer : transformers) {
    getRouter().addRouteTransformer(transformer);
  }
  onInit();
  // compile routes
  getRouter().compileRoutes();
}

代码示例来源:origin: pippo-java/pippo

@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse)
  throws IOException, ServletException {
  HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
  HttpServletResponse httpServletResponse = (HttpServletResponse) servletResponse;
  // set the application path from the servlet request since we don't know it at initialization
  String applicationPath = application.getRouter().getContextPath() + httpServletRequest.getServletPath();
  application.getRouter().setApplicationPath(applicationPath);
  // create Request, Response objects
  RequestResponseFactory requestResponseFactory = application.getRequestResponseFactory();
  RequestResponse requestResponse = requestResponseFactory.createRequestResponse(httpServletRequest, httpServletResponse);
  Request request = requestResponse.getRequest();
  Response response = requestResponse.getResponse();
  // create a URI to automatically decode the path
  URI uri = URI.create(httpServletRequest.getRequestURL().toString());
  String requestUri = uri.getPath();
  String requestPath = request.getPath();
  log.trace("The relative path for '{}' is '{}'", requestUri, requestPath);
  log.debug("Request {} '{}'", request.getMethod(), requestPath);
  // dispatch route(s)
  routeDispatcher.dispatch(request, response);
}

相关文章