Polish
This commit is contained in:
parent
b772f7c2e4
commit
af0d08c998
|
|
@ -35,12 +35,6 @@ import static org.junit.Assert.assertTrue;
|
|||
*/
|
||||
public class AopAutoConfigurationTests {
|
||||
|
||||
public interface TestInterface {
|
||||
|
||||
public abstract void foo();
|
||||
|
||||
}
|
||||
|
||||
private AnnotationConfigApplicationContext context;
|
||||
|
||||
@Test
|
||||
|
|
@ -118,4 +112,10 @@ public class AopAutoConfigurationTests {
|
|||
}
|
||||
}
|
||||
|
||||
public interface TestInterface {
|
||||
|
||||
public abstract void foo();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,9 +27,7 @@ public interface ArtifactCoordinatesResolver {
|
|||
/**
|
||||
* Gets the group id of the artifact identified by the given {@code artifactId}.
|
||||
* Returns {@code null} if the artifact is unknown to the resolver.
|
||||
*
|
||||
* @param artifactId The id of the artifact
|
||||
*
|
||||
* @return The group id of the artifact
|
||||
*/
|
||||
String getGroupId(String artifactId);
|
||||
|
|
@ -37,9 +35,7 @@ public interface ArtifactCoordinatesResolver {
|
|||
/**
|
||||
* Gets the version of the artifact identified by the given {@code artifactId}.
|
||||
* Returns {@code null} if the artifact is unknown to the resolver.
|
||||
*
|
||||
* @param artifactId The id of the artifact
|
||||
*
|
||||
* @return The version of the artifact
|
||||
*/
|
||||
String getVersion(String artifactId);
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ package org.springframework.boot.cli.compiler;
|
|||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.codehaus.groovy.ast.AnnotatedNode;
|
||||
|
|
@ -36,13 +35,29 @@ import org.codehaus.groovy.ast.MethodNode;
|
|||
*/
|
||||
public abstract class AstUtils {
|
||||
|
||||
/**
|
||||
* Determine if a {@link ClassNode} has one or more of the specified annotations on
|
||||
* the class or any of its methods. N.B. the type names are not normally fully
|
||||
* qualified.
|
||||
*/
|
||||
public static boolean hasAtLeastOneAnnotation(ClassNode node, String... annotations) {
|
||||
if (hasAtLeastOneAnnotation((AnnotatedNode) node, annotations)) {
|
||||
return true;
|
||||
}
|
||||
for (MethodNode method : node.getMethods()) {
|
||||
if (hasAtLeastOneAnnotation(method, annotations)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if an {@link AnnotatedNode} has one or more of the specified annotations.
|
||||
* N.B. the annotation type names are not normally fully qualified.
|
||||
*/
|
||||
public static boolean hasAtLeastOneAnnotation(AnnotatedNode node,
|
||||
String... annotations) {
|
||||
|
||||
for (AnnotationNode annotationNode : node.getAnnotations()) {
|
||||
for (String annotation : annotations) {
|
||||
if (annotation.equals(annotationNode.getClassNode().getName())) {
|
||||
|
|
@ -50,35 +65,6 @@ public abstract class AstUtils {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if a {@link ClassNode} has one or more of the specified annotations on the class
|
||||
* or any of its methods.
|
||||
* N.B. the type names are not normally fully qualified.
|
||||
*/
|
||||
public static boolean hasAtLeastOneAnnotation(ClassNode node, String... annotations) {
|
||||
for (AnnotationNode annotationNode : node.getAnnotations()) {
|
||||
for (String annotation : annotations) {
|
||||
if (annotation.equals(annotationNode.getClassNode().getName())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
List<MethodNode> methods = node.getMethods();
|
||||
for (MethodNode method : methods) {
|
||||
for (AnnotationNode annotationNode : method.getAnnotations()) {
|
||||
for (String annotation : annotations) {
|
||||
if (annotation.equals(annotationNode.getClassNode().getName())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -88,28 +74,23 @@ public abstract class AstUtils {
|
|||
* normally fully qualified.
|
||||
*/
|
||||
public static boolean hasAtLeastOneFieldOrMethod(ClassNode node, String... types) {
|
||||
|
||||
Set<String> set = new HashSet<String>(Arrays.asList(types));
|
||||
List<FieldNode> fields = node.getFields();
|
||||
for (FieldNode field : fields) {
|
||||
if (set.contains(field.getType().getName())) {
|
||||
Set<String> typesSet = new HashSet<String>(Arrays.asList(types));
|
||||
for (FieldNode field : node.getFields()) {
|
||||
if (typesSet.contains(field.getType().getName())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
List<MethodNode> methods = node.getMethods();
|
||||
for (MethodNode method : methods) {
|
||||
if (set.contains(method.getReturnType().getName())) {
|
||||
for (MethodNode method : node.getMethods()) {
|
||||
if (typesSet.contains(method.getReturnType().getName())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if a {@link ClassNode} subclasses any of the specified types
|
||||
* N.B. the type names are not normally fully qualified.
|
||||
* Determine if a {@link ClassNode} subclasses any of the specified types N.B. the
|
||||
* type names are not normally fully qualified.
|
||||
*/
|
||||
public static boolean subclasses(ClassNode node, String... types) {
|
||||
for (String type : types) {
|
||||
|
|
@ -117,7 +98,6 @@ public abstract class AstUtils {
|
|||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ import org.codehaus.groovy.transform.ASTTransformationVisitor;
|
|||
*
|
||||
* @author Phillip Webb
|
||||
* @author Dave Syer
|
||||
* @author Andy Wilkinson
|
||||
*/
|
||||
public class GroovyCompiler {
|
||||
|
||||
|
|
@ -73,6 +74,8 @@ public class GroovyCompiler {
|
|||
|
||||
private ArtifactCoordinatesResolver artifactCoordinatesResolver;
|
||||
|
||||
private final ASTTransformation dependencyCoordinatesTransformation = new DefaultDependencyCoordinatesAstTransformation();
|
||||
|
||||
/**
|
||||
* Create a new {@link GroovyCompiler} instance.
|
||||
* @param configuration the compiler configuration
|
||||
|
|
@ -168,7 +171,6 @@ public class GroovyCompiler {
|
|||
try {
|
||||
Field field = CompilationUnit.class.getDeclaredField("phaseOperations");
|
||||
field.setAccessible(true);
|
||||
|
||||
LinkedList[] phaseOperations = (LinkedList[]) field.get(compilationUnit);
|
||||
processConversionOperations(phaseOperations[Phases.CONVERSION]);
|
||||
}
|
||||
|
|
@ -186,13 +188,10 @@ public class GroovyCompiler {
|
|||
if (operation.getClass().getName()
|
||||
.startsWith(ASTTransformationVisitor.class.getName())) {
|
||||
conversionOperations.add(i, new CompilationUnit.SourceUnitOperation() {
|
||||
|
||||
private final ASTTransformation transformation = new DefaultDependencyCoordinatesAstTransformation();
|
||||
|
||||
@Override
|
||||
public void call(SourceUnit source) throws CompilationFailedException {
|
||||
this.transformation.visit(new ASTNode[] { source.getAST() },
|
||||
source);
|
||||
GroovyCompiler.this.dependencyCoordinatesTransformation.visit(
|
||||
new ASTNode[] { source.getAST() }, source);
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
|
@ -312,6 +311,7 @@ public class GroovyCompiler {
|
|||
.getGroupId(module));
|
||||
grabAnnotation.setMember("group", groupIdExpression);
|
||||
}
|
||||
|
||||
if (grabAnnotation.getMember("version") == null) {
|
||||
ConstantExpression versionExpression = new ConstantExpression(
|
||||
GroovyCompiler.this.artifactCoordinatesResolver
|
||||
|
|
|
|||
|
|
@ -24,6 +24,11 @@ import java.net.URL;
|
|||
import java.util.Collections;
|
||||
import java.util.Properties;
|
||||
|
||||
/**
|
||||
* {@link ArtifactCoordinatesResolver} backed by a properties file.
|
||||
*
|
||||
* @author Andy Wilkinson
|
||||
*/
|
||||
final class PropertiesArtifactCoordinatesResolver implements ArtifactCoordinatesResolver {
|
||||
|
||||
private final GroovyClassLoader loader;
|
||||
|
|
@ -60,7 +65,7 @@ final class PropertiesArtifactCoordinatesResolver implements ArtifactCoordinates
|
|||
try {
|
||||
properties.load(inputStream);
|
||||
}
|
||||
catch (IOException ioe) {
|
||||
catch (IOException ex) {
|
||||
// Swallow and continue
|
||||
}
|
||||
finally {
|
||||
|
|
@ -68,7 +73,7 @@ final class PropertiesArtifactCoordinatesResolver implements ArtifactCoordinates
|
|||
}
|
||||
}
|
||||
}
|
||||
catch (IOException e) {
|
||||
catch (IOException ex) {
|
||||
// Swallow and continue
|
||||
}
|
||||
this.properties = properties;
|
||||
|
|
|
|||
|
|
@ -43,10 +43,8 @@ public class JUnitCompilerAutoConfiguration extends CompilerAutoConfiguration {
|
|||
|
||||
@Override
|
||||
public void applyImports(ImportCustomizer imports) throws CompilationFailedException {
|
||||
imports.addStarImports("org.junit")
|
||||
.addStaticStars("org.junit.Assert").addImports()
|
||||
imports.addStarImports("org.junit").addStaticStars("org.junit.Assert")
|
||||
.addStaticStars("org.hamcrest.MatcherAssert")
|
||||
.addStaticStars("org.hamcrest.Matchers");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,7 +49,8 @@ public class SampleAmqpSimpleApplication {
|
|||
|
||||
@Bean
|
||||
public SimpleMessageListenerContainer container() {
|
||||
SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(connectionFactory);
|
||||
SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(
|
||||
this.connectionFactory);
|
||||
Object listener = new Object() {
|
||||
@SuppressWarnings("unused")
|
||||
public void handleMessage(String foo) {
|
||||
|
|
@ -62,7 +63,6 @@ public class SampleAmqpSimpleApplication {
|
|||
return container;
|
||||
}
|
||||
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
SpringApplication.run(SampleAmqpSimpleApplication.class, args);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
* Copyright 2012-2013 the original author or authors.
|
||||
*
|
||||
* Licensed 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
|
||||
*
|
||||
* 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 KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.sample.amqp;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
|
|
@ -18,12 +34,12 @@ public class Sender {
|
|||
|
||||
@PostConstruct
|
||||
public void setUpQueue() {
|
||||
amqpAdmin.declareQueue(new Queue("foo"));
|
||||
this.amqpAdmin.declareQueue(new Queue("foo"));
|
||||
}
|
||||
|
||||
@Scheduled(fixedDelay=1000L)
|
||||
@Scheduled(fixedDelay = 1000L)
|
||||
public void send() {
|
||||
rabbitTemplate.convertAndSend("foo","hello");
|
||||
this.rabbitTemplate.convertAndSend("foo", "hello");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ import org.springframework.boot.gradle.task.RunJar;
|
|||
public class SpringBootPlugin implements Plugin<Project> {
|
||||
|
||||
private static final String REPACKAGE_TASK_NAME = "repackage";
|
||||
|
||||
private static final String RUN_JAR_TASK_NAME = "runJar";
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -644,6 +644,15 @@ public class SpringApplication {
|
|||
this.initializers = new ArrayList<ApplicationContextInitializer<?>>(initializers);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add {@link ApplicationContextInitializer}s to be applied to the Spring
|
||||
* {@link ApplicationContext} .
|
||||
* @param initializers the initializers to add
|
||||
*/
|
||||
public void addInitializers(ApplicationContextInitializer<?>... initializers) {
|
||||
this.initializers.addAll(Arrays.asList(initializers));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a mutable list of the {@link ApplicationContextInitializer}s that will be
|
||||
* applied to the Spring {@link ApplicationContext}.
|
||||
|
|
|
|||
|
|
@ -56,8 +56,8 @@ public class ContextIdApplicationContextInitializer implements
|
|||
private int order = Integer.MAX_VALUE - 10;
|
||||
|
||||
public ContextIdApplicationContextInitializer() {
|
||||
this(
|
||||
"${spring.application.name:${vcap.application.name:${spring.config.name:application}}}");
|
||||
this("${spring.application.name:${vcap.application.name:"
|
||||
+ "${spring.config.name:application}}}");
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -50,7 +50,6 @@ import org.springframework.web.context.support.GenericWebApplicationContext;
|
|||
* create the application context.
|
||||
*
|
||||
* @author Dave Syer
|
||||
*
|
||||
*/
|
||||
public class SpringApplicationContextLoader extends AbstractContextLoader {
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue