Author: alien11689
Date: Sun Feb 12 12:11:20 2017
New Revision: 1782663
URL: http://svn.apache.org/viewvc?rev=1782663&view=rev
Log:
[ARIES-1683] Fix placeholder-prefix and placeholder-suffix generation from
Config annotation
Modified:
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/config/ConfigAnnotationHandler.java
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/config/ConfigPropertiesHandler.java
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/config/ConfigWriter.java
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/BlueprintFileWriterTest.java
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/BeanWithConfig.java
Modified:
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/config/ConfigAnnotationHandler.java
URL:
http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/config/ConfigAnnotationHandler.java?rev=1782663&r1=1782662&r2=1782663&view=diff
==============================================================================
---
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/config/ConfigAnnotationHandler.java
(original)
+++
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/config/ConfigAnnotationHandler.java
Sun Feb 12 12:11:20 2017
@@ -37,10 +37,7 @@ public class ConfigAnnotationHandler imp
public void handleBeanAnnotation(AnnotatedElement annotatedElement, String
id,
ContextEnricher contextEnricher,
BeanEnricher beanEnricher) {
Config config = annotatedElement.getAnnotation(Config.class);
- XmlWriter writer = new ConfigWriter(config);
- contextEnricher.addBlueprintContentWriter("config", writer);
-
contextEnricher.getBlueprintConfiguration().getNamespaces().add(ConfigWriter.CONFIG_NS);
-
+ contextEnricher.addBlueprintContentWriter("cm/property-placeholder",
new ConfigWriter(config));
}
}
Modified:
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/config/ConfigPropertiesHandler.java
URL:
http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/config/ConfigPropertiesHandler.java?rev=1782663&r1=1782662&r2=1782663&view=diff
==============================================================================
---
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/config/ConfigPropertiesHandler.java
(original)
+++
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/config/ConfigPropertiesHandler.java
Sun Feb 12 12:11:20 2017
@@ -73,16 +73,4 @@ public class ConfigPropertiesHandler imp
return ConfigProperties.class;
}
- private Class<?> getClass(AnnotatedElement annotatedElement) {
- if (annotatedElement instanceof Class<?>) {
- return (Class<?>) annotatedElement;
- }
- if (annotatedElement instanceof Method) {
- return ((Method) annotatedElement).getParameterTypes()[0];
- }
- if (annotatedElement instanceof Field) {
- return ((Field) annotatedElement).getType();
- }
- throw new RuntimeException("Unknown annotated element");
- }
}
Modified:
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/config/ConfigWriter.java
URL:
http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/config/ConfigWriter.java?rev=1782663&r1=1782662&r2=1782663&view=diff
==============================================================================
---
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/config/ConfigWriter.java
(original)
+++
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/handlers/config/ConfigWriter.java
Sun Feb 12 12:11:20 2017
@@ -6,9 +6,9 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -18,19 +18,19 @@
*/
package org.apache.aries.blueprint.plugin.handlers.config;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
-
import org.apache.aries.blueprint.annotation.config.Config;
import org.apache.aries.blueprint.annotation.config.DefaultProperty;
import org.apache.aries.blueprint.plugin.spi.XmlWriter;
-public class ConfigWriter implements XmlWriter {
-
- static final String CONFIG_NS =
"http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0";
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+class ConfigWriter implements XmlWriter {
+
+ private static final String CONFIG_NS =
"http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0";
private Config config;
- public ConfigWriter(Config config) {
+ ConfigWriter(Config config) {
this.config = config;
}
@@ -40,10 +40,10 @@ public class ConfigWriter implements Xml
writer.writeDefaultNamespace(CONFIG_NS);
writer.writeAttribute("persistent-id", config.pid());
if (!"${".equals(config.placeholderPrefix())) {
- writer.writeAttribute("placeholder-prefix", config.updatePolicy());
+ writer.writeAttribute("placeholder-prefix",
config.placeholderPrefix());
}
if (!"}".equals(config.placeholderSuffix())) {
- writer.writeAttribute("placeholder-suffix", config.updatePolicy());
+ writer.writeAttribute("placeholder-suffix",
config.placeholderSuffix());
}
writer.writeAttribute("update-strategy", config.updatePolicy());
Modified:
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/BlueprintFileWriterTest.java
URL:
http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/BlueprintFileWriterTest.java?rev=1782663&r1=1782662&r2=1782663&view=diff
==============================================================================
---
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/BlueprintFileWriterTest.java
(original)
+++
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/BlueprintFileWriterTest.java
Sun Feb 12 12:11:20 2017
@@ -769,6 +769,17 @@ public class BlueprintFileWriterTest {
assertXpathEquals(consumer, "argument[2]/@ref", "testBean2");
}
+ @Test
+ public void shouldGeneratePropertyPlaceholder() throws Exception {
+ Node propertyPlaceholder =
getPropertyPlaceholderByPersistentId("org.apache.aries.my");
+ assertXpathEquals(propertyPlaceholder, "@placeholder-prefix", "$[");
+ assertXpathEquals(propertyPlaceholder, "@placeholder-suffix", "]");
+ assertXpathEquals(propertyPlaceholder, "@update-strategy", "reload");
+ assertXpathEquals(propertyPlaceholder,
"count(default-properties/property)", "2");
+ assertXpathEquals(propertyPlaceholder,
"default-properties/property[@name='title']/@value", "My Title");
+ assertXpathEquals(propertyPlaceholder,
"default-properties/property[@name='test2']/@value", "v2");
+ }
+
private void assertXpathDoesNotExist(Node node, String xpathExpression)
throws XPathExpressionException {
assertXpathEquals(node, "count(" + xpathExpression + ")", "0");
}
@@ -807,4 +818,7 @@ public class BlueprintFileWriterTest {
return (Node) xpath.evaluate("/blueprint/reference-list[@id='" + id +
"']", document, XPathConstants.NODE);
}
+ private static Node getPropertyPlaceholderByPersistentId(String id) throws
XPathExpressionException {
+ return (Node)
xpath.evaluate("/blueprint/property-placeholder[@persistent-id='" + id + "']",
document, XPathConstants.NODE);
+ }
}
Modified:
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/BeanWithConfig.java
URL:
http://svn.apache.org/viewvc/aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/BeanWithConfig.java?rev=1782663&r1=1782662&r2=1782663&view=diff
==============================================================================
---
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/BeanWithConfig.java
(original)
+++
aries/trunk/blueprint/plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/test/BeanWithConfig.java
Sun Feb 12 12:11:20 2017
@@ -18,25 +18,22 @@
*/
package org.apache.aries.blueprint.plugin.test;
-import javax.enterprise.inject.Produces;
-import javax.inject.Named;
-import javax.inject.Singleton;
-
import org.apache.aries.blueprint.annotation.config.Config;
-import org.apache.aries.blueprint.annotation.config.ConfigProperties;
import org.apache.aries.blueprint.annotation.config.ConfigProperty;
import org.apache.aries.blueprint.annotation.config.DefaultProperty;
-import java.util.Properties;
+import javax.enterprise.inject.Produces;
+import javax.inject.Named;
+import javax.inject.Singleton;
-@Config//
-( //
- pid = "org.apache.aries.my", //
- placeholderPrefix = "$[", //
- placeholderSuffix = "]", //
- defaults = {
- @DefaultProperty(key="title", value="My Title")
- }
+@Config(
+ pid = "org.apache.aries.my",
+ placeholderPrefix = "$[",
+ placeholderSuffix = "]",
+ defaults = {
+ @DefaultProperty(key = "title", value = "My Title"),
+ @DefaultProperty(key = "test2", value = "v2")
+ }
)
@Singleton
public class BeanWithConfig {