Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id AFAE2200B0F for ; Fri, 17 Jun 2016 21:39:14 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id AE3C1160A61; Fri, 17 Jun 2016 19:39:14 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id D28D3160A4C for ; Fri, 17 Jun 2016 21:39:13 +0200 (CEST) Received: (qmail 33419 invoked by uid 500); 17 Jun 2016 19:39:13 -0000 Mailing-List: contact commits-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list commits@activemq.apache.org Received: (qmail 33410 invoked by uid 99); 17 Jun 2016 19:39:13 -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; Fri, 17 Jun 2016 19:39:13 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id E7DFCE049D; Fri, 17 Jun 2016 19:39:12 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: clebertsuconic@apache.org To: commits@activemq.apache.org Date: Fri, 17 Jun 2016 19:39:12 -0000 Message-Id: <5b455e48c45b4f09ad680585f09cc9b0@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [1/2] activemq-artemis git commit: ARTEMIS-574 fixing home and instance on DTO, CLI and maven plugin archived-at: Fri, 17 Jun 2016 19:39:14 -0000 Repository: activemq-artemis Updated Branches: refs/heads/master ad5e7bf68 -> a39f43dfe ARTEMIS-574 fixing home and instance on DTO, CLI and maven plugin Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/286a4ba9 Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/286a4ba9 Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/286a4ba9 Branch: refs/heads/master Commit: 286a4ba9ede13ea9f4d94df5a948d2e79b6f179d Parents: ad5e7bf Author: Clebert Suconic Authored: Fri Jun 17 14:57:01 2016 -0400 Committer: Clebert Suconic Committed: Fri Jun 17 15:05:46 2016 -0400 ---------------------------------------------------------------------- .../activemq/artemis/cli/commands/Configurable.java | 2 +- .../activemq/artemis/factory/BrokerFactory.java | 13 +++++++++++-- .../artemis/factory/BrokerFactoryHandler.java | 2 ++ .../artemis/factory/XmlBrokerFactoryHandler.java | 7 ++++++- .../org/apache/activemq/artemis/dto/XmlUtil.java | 16 ++++++++++++++-- 5 files changed, 34 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/286a4ba9/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Configurable.java ---------------------------------------------------------------------- diff --git a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Configurable.java b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Configurable.java index 8caf8c2..8795cf3 100644 --- a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Configurable.java +++ b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Configurable.java @@ -148,7 +148,7 @@ public abstract class Configurable extends ActionAbstract { if (brokerDTO == null) { getConfiguration(); - brokerDTO = BrokerFactory.createBrokerConfiguration(configuration); + brokerDTO = BrokerFactory.createBrokerConfiguration(configuration, getBrokerHome(), getBrokerInstance()); if (brokerConfig != null) { if (!brokerConfig.startsWith("file:")) { http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/286a4ba9/artemis-cli/src/main/java/org/apache/activemq/artemis/factory/BrokerFactory.java ---------------------------------------------------------------------- diff --git a/artemis-cli/src/main/java/org/apache/activemq/artemis/factory/BrokerFactory.java b/artemis-cli/src/main/java/org/apache/activemq/artemis/factory/BrokerFactory.java index 6ca026b..29d83c4 100644 --- a/artemis-cli/src/main/java/org/apache/activemq/artemis/factory/BrokerFactory.java +++ b/artemis-cli/src/main/java/org/apache/activemq/artemis/factory/BrokerFactory.java @@ -30,6 +30,10 @@ import org.apache.activemq.artemis.utils.FactoryFinder; public class BrokerFactory { public static BrokerDTO createBrokerConfiguration(URI configURI) throws Exception { + return createBrokerConfiguration(configURI, null, null); + } + + public static BrokerDTO createBrokerConfiguration(URI configURI, String artemisHome, String artemisInstance) throws Exception { if (configURI.getScheme() == null) { throw new ConfigurationException("Invalid configuration URI, no scheme specified: " + configURI); } @@ -43,11 +47,16 @@ public class BrokerFactory { throw new ConfigurationException("Invalid configuration URI, can't find configuration scheme: " + configURI.getScheme()); } - return factory.createBroker(configURI); + return factory.createBroker(configURI, artemisHome, artemisInstance); } + public static BrokerDTO createBrokerConfiguration(String configuration) throws Exception { - return createBrokerConfiguration(new URI(configuration)); + return createBrokerConfiguration(new URI(configuration), null, null); + } + + public static BrokerDTO createBrokerConfiguration(String configuration, String artemisHome, String artemisInstance) throws Exception { + return createBrokerConfiguration(new URI(configuration), artemisHome, artemisInstance); } static String fixupFileURI(String value) { http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/286a4ba9/artemis-cli/src/main/java/org/apache/activemq/artemis/factory/BrokerFactoryHandler.java ---------------------------------------------------------------------- diff --git a/artemis-cli/src/main/java/org/apache/activemq/artemis/factory/BrokerFactoryHandler.java b/artemis-cli/src/main/java/org/apache/activemq/artemis/factory/BrokerFactoryHandler.java index b0d96d9..189ccdd 100644 --- a/artemis-cli/src/main/java/org/apache/activemq/artemis/factory/BrokerFactoryHandler.java +++ b/artemis-cli/src/main/java/org/apache/activemq/artemis/factory/BrokerFactoryHandler.java @@ -23,4 +23,6 @@ import java.net.URI; public interface BrokerFactoryHandler { BrokerDTO createBroker(URI brokerURI) throws Exception; + + BrokerDTO createBroker(URI brokerURI, String artemisHome, String artemisInstance) throws Exception; } http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/286a4ba9/artemis-cli/src/main/java/org/apache/activemq/artemis/factory/XmlBrokerFactoryHandler.java ---------------------------------------------------------------------- diff --git a/artemis-cli/src/main/java/org/apache/activemq/artemis/factory/XmlBrokerFactoryHandler.java b/artemis-cli/src/main/java/org/apache/activemq/artemis/factory/XmlBrokerFactoryHandler.java index adbb041..a84343b 100644 --- a/artemis-cli/src/main/java/org/apache/activemq/artemis/factory/XmlBrokerFactoryHandler.java +++ b/artemis-cli/src/main/java/org/apache/activemq/artemis/factory/XmlBrokerFactoryHandler.java @@ -27,10 +27,15 @@ public class XmlBrokerFactoryHandler implements BrokerFactoryHandler { @Override public BrokerDTO createBroker(URI brokerURI) throws Exception { + return createBroker(brokerURI, null, null); + } + + @Override + public BrokerDTO createBroker(URI brokerURI, String artemisHome, String artemisInstance) throws Exception { File file = new File(brokerURI.getSchemeSpecificPart()); if (!file.exists()) { throw new ConfigurationException("Invalid configuration URI, can't find file: " + file.getName()); } - return XmlUtil.decode(BrokerDTO.class, file); + return XmlUtil.decode(BrokerDTO.class, file, artemisHome, artemisInstance); } } http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/286a4ba9/artemis-dto/src/main/java/org/apache/activemq/artemis/dto/XmlUtil.java ---------------------------------------------------------------------- diff --git a/artemis-dto/src/main/java/org/apache/activemq/artemis/dto/XmlUtil.java b/artemis-dto/src/main/java/org/apache/activemq/artemis/dto/XmlUtil.java index 5fa8667..4b937a8 100644 --- a/artemis-dto/src/main/java/org/apache/activemq/artemis/dto/XmlUtil.java +++ b/artemis-dto/src/main/java/org/apache/activemq/artemis/dto/XmlUtil.java @@ -76,6 +76,11 @@ public class XmlUtil { private static final XMLInputFactory factory = XMLInputFactory.newInstance(); public static T decode(Class clazz, File configuration) throws Exception { + return decode(clazz, configuration, null, null); + } + + /** We offer parameters for artemisInstance and artemisHoms as they could be coming from the CLI or Maven Plugin */ + public static T decode(Class clazz, File configuration, String artemisHome, String artemisInstance) throws Exception { JAXBContext jaxbContext = JAXBContext.newInstance("org.apache.activemq.artemis.dto"); Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); @@ -86,9 +91,16 @@ public class XmlUtil { Schema schema = sf.newSchema(xsdSource); unmarshaller.setSchema(schema); + Properties props = new Properties(System.getProperties()); + if (artemisHome != null) { + props.put("artemis.home", artemisHome); + } + + if (artemisInstance != null) { + props.put("artemis.instance", artemisInstance); + } + XMLStreamReader reader = factory.createXMLStreamReader(new FileInputStream(configuration)); - //TODO - support properties files - Properties props = System.getProperties(); if (props != null) { reader = new PropertiesFilter(reader, props);