Skip to content
Browse files

[JBWS-3524]:Resolve system property references in jboss-webservices.xml

  • Loading branch information...
1 parent 1a0e0b5 commit 6ed7df1f8d1341afeb3a934d16f3dbe2d6e448cd @maerqiang maerqiang committed with stuartwdouglas Apr 4, 2013
View
7 ...ava/org/jboss/as/webservices/deployers/JBossWebservicesDescriptorDeploymentProcessor.java
@@ -26,15 +26,16 @@
import java.io.IOException;
import java.net.URL;
+import org.jboss.as.ee.structure.JBossDescriptorPropertyReplacement;
import org.jboss.as.server.deployment.Attachments;
import org.jboss.as.server.deployment.DeploymentPhaseContext;
import org.jboss.as.server.deployment.DeploymentUnit;
import org.jboss.as.server.deployment.DeploymentUnitProcessingException;
import org.jboss.as.server.deployment.DeploymentUnitProcessor;
import org.jboss.as.server.deployment.module.ResourceRoot;
+import org.jboss.as.webservices.metadata.JBossWebservicesPropertyReplaceFactory;
import org.jboss.as.webservices.util.WSAttachmentKeys;
import org.jboss.vfs.VirtualFile;
-import org.jboss.wsf.spi.metadata.webservices.JBossWebservicesFactory;
import org.jboss.wsf.spi.metadata.webservices.JBossWebservicesMetaData;
/**
@@ -50,7 +51,9 @@ public void deploy(final DeploymentPhaseContext phaseContext) throws DeploymentU
final URL jbossWebservicesDescriptorURL = getJBossWebServicesDescriptorURL(deploymentRoot);
if (jbossWebservicesDescriptorURL != null) {
- final JBossWebservicesMetaData jbossWebservicesMD = JBossWebservicesFactory.load(jbossWebservicesDescriptorURL);
+ final JBossWebservicesPropertyReplaceFactory webservicesFactory = new JBossWebservicesPropertyReplaceFactory(
+ jbossWebservicesDescriptorURL, JBossDescriptorPropertyReplacement.propertyReplacer(unit));
+ final JBossWebservicesMetaData jbossWebservicesMD = webservicesFactory.load(jbossWebservicesDescriptorURL);
unit.putAttachment(WSAttachmentKeys.JBOSS_WEBSERVICES_METADATA_KEY, jbossWebservicesMD);
}
}
View
7 ...ain/java/org/jboss/as/webservices/deployers/WebservicesDescriptorDeploymentProcessor.java
@@ -26,15 +26,16 @@
import java.io.IOException;
import java.net.URL;
+import org.jboss.as.ee.structure.JBossDescriptorPropertyReplacement;
import org.jboss.as.server.deployment.Attachments;
import org.jboss.as.server.deployment.DeploymentPhaseContext;
import org.jboss.as.server.deployment.DeploymentUnit;
import org.jboss.as.server.deployment.DeploymentUnitProcessingException;
import org.jboss.as.server.deployment.DeploymentUnitProcessor;
import org.jboss.as.server.deployment.module.ResourceRoot;
+import org.jboss.as.webservices.metadata.WebservicesPropertyReplaceFactory;
import org.jboss.as.webservices.util.WSAttachmentKeys;
import org.jboss.vfs.VirtualFile;
-import org.jboss.wsf.spi.metadata.webservices.WebservicesFactory;
import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
/**
@@ -51,7 +52,9 @@ public void deploy(final DeploymentPhaseContext phaseContext) throws DeploymentU
final URL webservicesDescriptorURL = getWebServicesDescriptorURL(deploymentRoot);
if (webservicesDescriptorURL != null) {
- final WebservicesMetaData webservicesMD = WebservicesFactory.load(webservicesDescriptorURL);
+ final WebservicesPropertyReplaceFactory webservicesFactory = new WebservicesPropertyReplaceFactory(
+ webservicesDescriptorURL, JBossDescriptorPropertyReplacement.propertyReplacer(unit));
+ final WebservicesMetaData webservicesMD = webservicesFactory.load(webservicesDescriptorURL);
unit.putAttachment(WSAttachmentKeys.WEBSERVICES_METADATA_KEY, webservicesMD);
}
}
View
56 ...c/main/java/org/jboss/as/webservices/metadata/JBossWebservicesPropertyReplaceFactory.java
@@ -0,0 +1,56 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2013, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.as.webservices.metadata;
+
+import static org.jboss.wsf.spi.util.StAXUtils.elementAsString;
+
+import java.net.URL;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
+import org.jboss.metadata.property.PropertyReplacer;
+import org.jboss.wsf.spi.metadata.webservices.JBossWebservicesFactory;
+
+/**
+ * @author <a href="mailto:ema@redhat.com">Jim Ma</a>
+ */
+public class JBossWebservicesPropertyReplaceFactory extends JBossWebservicesFactory {
+
+ private PropertyReplacer replacer;
+
+
+ public JBossWebservicesPropertyReplaceFactory(final URL descriptorURL, final PropertyReplacer propertyReplacer) {
+ super(descriptorURL);
+ replacer = propertyReplacer;
+ }
+
+ @Override
+ public String getElementText(XMLStreamReader reader) throws XMLStreamException {
+ String res = elementAsString(reader);
+ if (res != null && replacer != null) {
+ res = replacer.replaceProperties(res);
+ }
+ return res;
+ }
+
+}
View
56 ...on/src/main/java/org/jboss/as/webservices/metadata/WebservicesPropertyReplaceFactory.java
@@ -0,0 +1,56 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2013, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.as.webservices.metadata;
+
+import static org.jboss.wsf.spi.util.StAXUtils.elementAsString;
+
+import java.net.URL;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
+import org.jboss.metadata.property.PropertyReplacer;
+import org.jboss.wsf.spi.metadata.webservices.WebservicesFactory;
+
+/**
+ * @author <a href="mailto:ema@redhat.com">Jim Ma</a>
+ */
+public class WebservicesPropertyReplaceFactory extends WebservicesFactory {
+
+ private PropertyReplacer replacer;
+
+
+ public WebservicesPropertyReplaceFactory(final URL descriptorURL, final PropertyReplacer propertyReplacer) {
+ super(descriptorURL);
+ replacer = propertyReplacer;
+ }
+
+ @Override
+ public String getElementText(XMLStreamReader reader) throws XMLStreamException {
+ String res = elementAsString(reader);
+ if (res != null && replacer != null) {
+ res = replacer.replaceProperties(res);
+ }
+ return res;
+ }
+
+}

0 comments on commit 6ed7df1

Please sign in to comment.
Something went wrong with that request. Please try again.