You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2018/07/13 05:41:03 UTC
[camel] branch master updated: CAMEL-12464: camel maven plugin for
spring-boot auto configuration polished.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new 198492a CAMEL-12464: camel maven plugin for spring-boot auto configuration polished.
198492a is described below
commit 198492a1d81bf4d7293424f5bf29a92720d9aac3
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Jul 12 15:24:46 2018 +0200
CAMEL-12464: camel maven plugin for spring-boot auto configuration polished.
---
.../packaging/SpringBootAutoConfigurationMojo.java | 99 ----------------------
1 file changed, 99 deletions(-)
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
index f7bcdd6..99c855a 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
@@ -71,24 +71,19 @@ import org.jboss.forge.roaster.model.util.Strings;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
-import org.springframework.boot.autoconfigure.condition.ConditionMessage;
-import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.boot.autoconfigure.condition.SpringBootCondition;
import org.springframework.boot.context.properties.DeprecatedConfigurationProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.context.properties.NestedConfigurationProperty;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ConditionContext;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Lazy;
import org.springframework.context.annotation.Scope;
-import org.springframework.core.type.AnnotatedTypeMetadata;
import static org.apache.camel.maven.packaging.JSonSchemaHelper.getPropertyDefaultValue;
import static org.apache.camel.maven.packaging.JSonSchemaHelper.getPropertyJavaType;
@@ -2174,54 +2169,6 @@ public class SpringBootAutoConfigurationMojo extends AbstractMojo {
}
}
- /*
- private void writeAdditionalSpringMetaData(String prefix, String type, String name) throws MojoFailureException {
- String fullQualifiedName = prefix + "." + type + "." + name + "." + "enabled";
- String fileName = "META-INF/additional-spring-configuration-metadata.json";
- File target = new File(SpringBootHelper.starterResourceDir(baseDir, project.getArtifactId()), fileName);
-
- deleteFileOnMainArtifact(target);
-
- try {
- Gson gson = new GsonBuilder().setPrettyPrinting().create();
- Map<String, Object> map = null;
- List<Map<String, Object>> properties = null;
-
- if (target.exists()) {
- BufferedReader br = new BufferedReader(new FileReader(target));
- map = gson.fromJson(br, Map.class);
-
- properties = (List<Map<String, Object>>)map.get("properties");
- if (properties != null && properties.stream().anyMatch(m -> fullQualifiedName.equals(m.get("name")))) {
- getLog().debug("No changes to existing file: " + target);
- return;
- }
- }
-
- Map<String, Object> meta = new HashMap();
- meta.put("name", fullQualifiedName);
- meta.put("type", "java.lang.Boolean");
- meta.put("defaultValue", true);
- meta.put("description", "Enable " + name + " " + type);
-
- if (properties == null) {
- properties = new ArrayList<>(1);
- }
-
- if (map == null) {
- map = new HashMap();
- }
-
- properties.add(meta);
- map.put("properties", properties);
-
- FileUtils.write(target, gson.toJson(map));
- } catch (Exception e) {
- throw new MojoFailureException("IOError with file " + target, e);
- }
- }
- */
-
private void deleteFileOnMainArtifact(File starterFile) {
if (!DELETE_FILES_ON_MAIN_ARTIFACTS) {
return;
@@ -2237,50 +2184,4 @@ public class SpringBootAutoConfigurationMojo extends AbstractMojo {
}
}
- private JavaClassSource createConditionType(JavaClassSource parentClass, String prefix, String type) {
- parentClass.addImport(ConditionMessage.class);
- parentClass.addImport(ConditionContext.class);
- parentClass.addImport(ConditionOutcome.class);
- parentClass.addImport("org.springframework.boot.context.properties.bind.Bindable");
- parentClass.addImport("org.springframework.boot.context.properties.bind.Binder");
- parentClass.addImport(AnnotatedTypeMetadata.class);
- parentClass.addImport(SpringBootCondition.class);
-
- JavaClassSource condition = Roaster.create(JavaClassSource.class);
- condition.setName("Condition");
- condition.extendSuperType(SpringBootCondition.class);
- condition.setPublic();
- condition.setStatic(true);
-
- condition.addAnnotation(Generated.class).setStringValue("value", SpringBootAutoConfigurationMojo.class.getName());
-
- String fullQualifiedType = prefix.endsWith(".") ? prefix + type : prefix + "." + type;
-
- MethodSource<JavaClassSource> isEnabled = condition.addMethod();
- isEnabled.setName("isEnabled");
- isEnabled.setPrivate();
- isEnabled.addParameter(ConditionContext.class, "context");
- isEnabled.addParameter(String.class, "prefix");
- isEnabled.addParameter(boolean.class, "defaultValue");
- isEnabled.setReturnType(boolean.class);
- isEnabled.setBody(new StringBuilder()
- .append("String property = prefix.endsWith(\".\") ? prefix + \"enabled\" : prefix + \".enabled\";\n")
- .append("return Binder.get(context.getEnvironment()).bind(property, Bindable.of(Boolean.class)).orElse(defaultValue);")
- .toString()
- );
-
- MethodSource<JavaClassSource> matchMethod = condition.getMethod("getMatchOutcome", ConditionContext.class, AnnotatedTypeMetadata.class);
- matchMethod.setBody(new StringBuilder()
- .append("boolean groupEnabled = isEnabled(conditionContext, \"").append(prefix).append(".\", true);\n")
- .append("ConditionMessage.Builder message = ConditionMessage.forCondition(\"").append(fullQualifiedType).append("\");\n")
- .append("if (isEnabled(conditionContext, \"").append(fullQualifiedType).append(".\", groupEnabled)) {\n")
- .append(" return ConditionOutcome.match(message.because(\"enabled\"));\n")
- .append("}\n")
- .append("return ConditionOutcome.noMatch(message.because(\"not enabled\"));\n")
- .toString()
- );
-
- return condition;
- }
-
}