From 4c637ea1446f599dcb14c4e33188817a235ee347 Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Fri, 14 Nov 2014 16:03:43 +0100 Subject: [PATCH] [New] rest tracing configuration: 'restTracing' 'restTracingThreshold' --- .../strolch/rest/RestfulStrolchComponent.java | 74 ++++++++++++++++++- 1 file changed, 70 insertions(+), 4 deletions(-) diff --git a/li.strolch.rest/src/main/java/li/strolch/rest/RestfulStrolchComponent.java b/li.strolch.rest/src/main/java/li/strolch/rest/RestfulStrolchComponent.java index 5d2f77f14..e8e9f4910 100644 --- a/li.strolch.rest/src/main/java/li/strolch/rest/RestfulStrolchComponent.java +++ b/li.strolch.rest/src/main/java/li/strolch/rest/RestfulStrolchComponent.java @@ -19,6 +19,9 @@ import li.strolch.agent.api.ComponentContainer; import li.strolch.agent.api.StrolchComponent; import li.strolch.rest.filters.AccessControlResponseFilter; import li.strolch.runtime.configuration.ComponentConfiguration; + +import org.glassfish.jersey.server.ServerProperties; + import ch.eitchnet.utils.dbc.DBC; /** @@ -28,8 +31,39 @@ public class RestfulStrolchComponent extends StrolchComponent { private static final String PARAM_CORS_ENABLED = "corsEnabled"; //$NON-NLS-1$ private static final String PARAM_CORS_ORIGIN = "corsOrigin"; //$NON-NLS-1$ + + /** + * Allowed values: + * + * + * @see ServerProperties#TRACING_THRESHOLD + */ + private static final String PARAM_REST_TRACING = "restTracing"; //$NON-NLS-1$ + + /** + * Allowed values: + * + * + * @see ServerProperties#TRACING + */ + private static final String PARAM_REST_TRACING_THRESHOLD = "restTracingThreshold"; //$NON-NLS-1$ + private static RestfulStrolchComponent instance; + private String restTracing; + private String restTracingThreshold; + private boolean corsEnabled; + private String corsOrigin; + /** * @param container * @param componentName @@ -38,16 +72,48 @@ public class RestfulStrolchComponent extends StrolchComponent { super(container, componentName); } + /** + * @return the corsEnabled + */ + public boolean isCorsEnabled() { + return this.corsEnabled; + } + + /** + * @return the origin + */ + public String getCorsOrigin() { + return this.corsOrigin; + } + + /** + * @return the restTracing + */ + public String getRestTracing() { + return this.restTracing; + } + + /** + * @return the restTracingThreshold + */ + public String getRestTracingThreshold() { + return this.restTracingThreshold; + } + @Override public void initialize(ComponentConfiguration configuration) { - if (configuration.getBoolean(PARAM_CORS_ENABLED, Boolean.FALSE)) { - String origin = configuration.getString(PARAM_CORS_ORIGIN, null); - logger.info("Enabling CORS for origin: " + origin); //$NON-NLS-1$ + this.corsEnabled = configuration.getBoolean(PARAM_CORS_ENABLED, Boolean.FALSE); + if (this.corsEnabled) { + this.corsOrigin = configuration.getString(PARAM_CORS_ORIGIN, null); + logger.info("Enabling CORS for origin: " + this.corsOrigin); //$NON-NLS-1$ AccessControlResponseFilter.setCorsEnabled(true); - AccessControlResponseFilter.setOrigin(origin); + AccessControlResponseFilter.setOrigin(this.corsOrigin); } + this.restTracing = configuration.getString(PARAM_REST_TRACING, "OFF"); //$NON-NLS-1$ + this.restTracingThreshold = configuration.getString(PARAM_REST_TRACING_THRESHOLD, "SUMMARY"); //$NON-NLS-1$ + super.initialize(configuration); }