From commits-return-34091-apmail-tomee-commits-archive=tomee.apache.org@tomee.apache.org Sun Mar 1 19:59:00 2015 Return-Path: X-Original-To: apmail-tomee-commits-archive@www.apache.org Delivered-To: apmail-tomee-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 796FC17655 for ; Sun, 1 Mar 2015 19:59:00 +0000 (UTC) Received: (qmail 81541 invoked by uid 500); 1 Mar 2015 19:59:00 -0000 Delivered-To: apmail-tomee-commits-archive@tomee.apache.org Received: (qmail 81511 invoked by uid 500); 1 Mar 2015 19:59:00 -0000 Mailing-List: contact commits-help@tomee.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@tomee.apache.org Delivered-To: mailing list commits@tomee.apache.org Received: (qmail 81502 invoked by uid 99); 1 Mar 2015 19:59:00 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 01 Mar 2015 19:59:00 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 2DD90E03C8; Sun, 1 Mar 2015 19:59:00 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: rmannibucau@apache.org To: commits@tomee.apache.org Message-Id: <39a7edfb28c543c490589a8cd2911408@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: tomee git commit: resetting system properties by default for TomEEEmbeddedRule Date: Sun, 1 Mar 2015 19:59:00 +0000 (UTC) Repository: tomee Updated Branches: refs/heads/develop 0b0c97414 -> 59b2ecc7c resetting system properties by default for TomEEEmbeddedRule Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/59b2ecc7 Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/59b2ecc7 Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/59b2ecc7 Branch: refs/heads/develop Commit: 59b2ecc7cc087cd59c4536ccd4c92d346fe8cf60 Parents: 0b0c974 Author: Romain Manni-Bucau Authored: Sun Mar 1 20:58:40 2015 +0100 Committer: Romain Manni-Bucau Committed: Sun Mar 1 20:58:40 2015 +0100 ---------------------------------------------------------------------- .../tomee/embedded/junit/TomEEEmbeddedRule.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tomee/blob/59b2ecc7/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/junit/TomEEEmbeddedRule.java ---------------------------------------------------------------------- diff --git a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/junit/TomEEEmbeddedRule.java b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/junit/TomEEEmbeddedRule.java index 83af365..c9cd6d8 100644 --- a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/junit/TomEEEmbeddedRule.java +++ b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/junit/TomEEEmbeddedRule.java @@ -28,12 +28,14 @@ import java.util.Collection; import java.util.HashSet; import java.util.LinkedList; import java.util.List; +import java.util.Properties; import static java.util.Arrays.asList; public class TomEEEmbeddedRule implements TestRule { private final Configuration configuration; private final File docBase; + private boolean resetSystemProperties = true; private final String context; private final Collection injects = new LinkedList<>(); @@ -64,6 +66,11 @@ public class TomEEEmbeddedRule implements TestRule { return this; } + public TomEEEmbeddedRule resetSystemPropertiesAfter(final boolean value) { + resetSystemProperties = value; + return this; + } + public TomEEEmbeddedRule stopInjectionOn(final Object instance) { this.injects.remove(instance); return this; @@ -85,12 +92,22 @@ public class TomEEEmbeddedRule implements TestRule { return new Statement() { @Override public void evaluate() throws Throwable { + final Properties properties = new Properties(); + if (resetSystemProperties) { + properties.putAll(System.getProperties()); + } + try (final Container container = new Container(configuration) .deployClasspathAsWebApp(context, docBase, toCallers())) { for (final Object o : injects) { container.inject(o); } statement.evaluate(); + } finally { + if (resetSystemProperties) { // issue is we set System Properties like default loader which breaks other tests + System.getProperties().clear(); + System.getProperties().putAll(properties); + } } } };