You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by al...@apache.org on 2017/02/12 12:11:20 UTC
svn commit: r1782663 - in
/aries/trunk/blueprint/plugin/blueprint-maven-plugin/src:
main/java/org/apache/aries/blueprint/plugin/handlers/config/
test/java/org/apache/aries/blueprint/plugin/
test/java/org/apache/aries/blueprint/plugin/test/
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 {