Apply consistent formatting to the core project

This commit is contained in:
Andy Wilkinson
2015-01-13 12:11:44 +00:00
parent 8b2174cb84
commit bbec60bf8e
9 changed files with 131 additions and 59 deletions

View File

@@ -36,8 +36,8 @@ org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration
org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
org.eclipse.jdt.core.formatter.blank_lines_after_package=1
org.eclipse.jdt.core.formatter.blank_lines_before_field=0
org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
org.eclipse.jdt.core.formatter.blank_lines_before_field=1
org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
org.eclipse.jdt.core.formatter.blank_lines_before_method=1

View File

@@ -36,8 +36,8 @@ org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration
org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
org.eclipse.jdt.core.formatter.blank_lines_after_package=1
org.eclipse.jdt.core.formatter.blank_lines_before_field=0
org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
org.eclipse.jdt.core.formatter.blank_lines_before_field=1
org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
org.eclipse.jdt.core.formatter.blank_lines_before_method=1

View File

@@ -36,8 +36,8 @@ org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration
org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
org.eclipse.jdt.core.formatter.blank_lines_after_package=1
org.eclipse.jdt.core.formatter.blank_lines_before_field=0
org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
org.eclipse.jdt.core.formatter.blank_lines_before_field=1
org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
org.eclipse.jdt.core.formatter.blank_lines_before_method=1

View File

@@ -58,5 +58,64 @@ cleanup.use_type_arguments=false
cleanup_profile=_Spring Rest Docs Cleanup Conventions
cleanup_settings_version=2
eclipse.preferences.version=1
editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
formatter_profile=_Spring Rest Docs Java Conventions
formatter_settings_version=12
sp_cleanup.add_default_serial_version_id=true
sp_cleanup.add_generated_serial_version_id=false
sp_cleanup.add_missing_annotations=true
sp_cleanup.add_missing_deprecated_annotations=true
sp_cleanup.add_missing_methods=false
sp_cleanup.add_missing_nls_tags=false
sp_cleanup.add_missing_override_annotations=true
sp_cleanup.add_missing_override_annotations_interface_methods=true
sp_cleanup.add_serial_version_id=false
sp_cleanup.always_use_blocks=true
sp_cleanup.always_use_parentheses_in_expressions=false
sp_cleanup.always_use_this_for_non_static_field_access=false
sp_cleanup.always_use_this_for_non_static_method_access=false
sp_cleanup.convert_functional_interfaces=false
sp_cleanup.convert_to_enhanced_for_loop=false
sp_cleanup.correct_indentation=false
sp_cleanup.format_source_code=true
sp_cleanup.format_source_code_changes_only=false
sp_cleanup.insert_inferred_type_arguments=false
sp_cleanup.make_local_variable_final=true
sp_cleanup.make_parameters_final=false
sp_cleanup.make_private_fields_final=true
sp_cleanup.make_type_abstract_if_missing_method=false
sp_cleanup.make_variable_declarations_final=false
sp_cleanup.never_use_blocks=false
sp_cleanup.never_use_parentheses_in_expressions=true
sp_cleanup.on_save_use_additional_actions=false
sp_cleanup.organize_imports=true
sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
sp_cleanup.remove_private_constructors=true
sp_cleanup.remove_redundant_type_arguments=true
sp_cleanup.remove_trailing_whitespaces=false
sp_cleanup.remove_trailing_whitespaces_all=true
sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
sp_cleanup.remove_unnecessary_casts=true
sp_cleanup.remove_unnecessary_nls_tags=false
sp_cleanup.remove_unused_imports=false
sp_cleanup.remove_unused_local_variables=false
sp_cleanup.remove_unused_private_fields=true
sp_cleanup.remove_unused_private_members=false
sp_cleanup.remove_unused_private_methods=true
sp_cleanup.remove_unused_private_types=true
sp_cleanup.sort_members=false
sp_cleanup.sort_members_all=false
sp_cleanup.use_anonymous_class_creation=false
sp_cleanup.use_blocks=false
sp_cleanup.use_blocks_only_for_return_and_throw=false
sp_cleanup.use_lambda=true
sp_cleanup.use_parentheses_in_expressions=false
sp_cleanup.use_this_for_non_static_field_access=false
sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
sp_cleanup.use_this_for_non_static_method_access=false
sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
sp_cleanup.use_type_arguments=false

View File

@@ -51,7 +51,8 @@ class DocumentationProperties {
}
File getOutputDir() {
String outputDir = this.properties.getProperty("org.springframework.restdocs.outputDir");
String outputDir = this.properties
.getProperty("org.springframework.restdocs.outputDir");
if (StringUtils.hasText(outputDir)) {
return new File(outputDir).getAbsoluteFile();
}

View File

@@ -38,7 +38,8 @@ public class DocumentationWriter extends PrintWriter {
});
}
public void codeBlock(String language, DocumentationAction... actions) throws Exception {
public void codeBlock(String language, DocumentationAction... actions)
throws Exception {
println();
if (language != null) {
println("[source," + language + "]");
@@ -52,6 +53,7 @@ public class DocumentationWriter extends PrintWriter {
}
public interface DocumentationAction {
void perform() throws Exception;
}

View File

@@ -20,22 +20,23 @@ import java.util.Map;
public class RestDocumentation {
public static RestDocumentationResultHandler document(String outputDir) throws Exception {
return new RestDocumentationResultHandler(outputDir);
}
public static RestDocumentationResultHandler document(String outputDir)
throws Exception {
return new RestDocumentationResultHandler(outputDir);
}
public static LinkDescriptor linkWithRel(String rel) {
return new LinkDescriptor(rel);
}
public static LinkDescriptor linkWithRel(String rel) {
return new LinkDescriptor(rel);
}
public static LinkExtractor halLinks() {
return new LinkExtractor() {
public static LinkExtractor halLinks() {
return new LinkExtractor() {
@SuppressWarnings("unchecked")
@Override
public Map<String, Object> extractLinks(Map<String, Object> responseJson) {
return (Map<String, Object>) responseJson.get("_links");
}
};
}
@SuppressWarnings("unchecked")
@Override
public Map<String, Object> extractLinks(Map<String, Object> responseJson) {
return (Map<String, Object>) responseJson.get("_links");
}
};
}
}

View File

@@ -28,25 +28,28 @@ import org.springframework.test.web.servlet.ResultHandler;
public class RestDocumentationResultHandler implements ResultHandler {
private final String outputDir;
private ResultHandler linkDocumentingResultHandler;
private final String outputDir;
public RestDocumentationResultHandler(String outputDir) {
this.outputDir = outputDir;
}
private ResultHandler linkDocumentingResultHandler;
@Override
public void handle(MvcResult result) throws Exception {
documentCurlRequest(outputDir).includeResponseHeaders().handle(result);
documentCurlResponse(outputDir).includeResponseHeaders().handle(result);
documentCurlRequestAndResponse(outputDir).includeResponseHeaders().handle(result);
if(linkDocumentingResultHandler != null) {
linkDocumentingResultHandler.handle(result);
}
}
public RestDocumentationResultHandler(String outputDir) {
this.outputDir = outputDir;
}
public RestDocumentationResultHandler withLinks(LinkExtractor linkExtractor, LinkDescriptor... descriptors) {
linkDocumentingResultHandler = new LinkDocumentingResultHandler(outputDir, linkExtractor, Arrays.asList(descriptors));
return this;
}
@Override
public void handle(MvcResult result) throws Exception {
documentCurlRequest(outputDir).includeResponseHeaders().handle(result);
documentCurlResponse(outputDir).includeResponseHeaders().handle(result);
documentCurlRequestAndResponse(outputDir).includeResponseHeaders().handle(result);
if (linkDocumentingResultHandler != null) {
linkDocumentingResultHandler.handle(result);
}
}
public RestDocumentationResultHandler withLinks(LinkExtractor linkExtractor,
LinkDescriptor... descriptors) {
linkDocumentingResultHandler = new LinkDocumentingResultHandler(outputDir,
linkExtractor, Arrays.asList(descriptors));
return this;
}
}

View File

@@ -16,8 +16,8 @@
package org.springframework.restdocs.core;
import static org.springframework.restdocs.core.IterableEnumeration.iterable;
import static org.junit.Assert.fail;
import static org.springframework.restdocs.core.IterableEnumeration.iterable;
import java.io.File;
import java.io.FileNotFoundException;
@@ -47,6 +47,7 @@ public abstract class RestDocumentationResultHandlers {
public static CurlResultHandler documentCurlRequest(String outputDir) {
return new CurlResultHandler(outputDir, "request") {
@Override
public void handle(MvcResult result, DocumentationWriter writer)
throws Exception {
@@ -58,24 +59,26 @@ public abstract class RestDocumentationResultHandlers {
public static CurlResultHandler documentCurlResponse(String outputDir) {
return new CurlResultHandler(outputDir, "response") {
@Override
public void handle(MvcResult result, DocumentationWriter writer)
throws Exception {
writer.codeBlock("http", new CurlResponseDocumentationAction(writer, result,
getCurlConfiguration()));
writer.codeBlock("http", new CurlResponseDocumentationAction(writer,
result, getCurlConfiguration()));
}
};
}
public static CurlResultHandler documentCurlRequestAndResponse(String outputDir) {
return new CurlResultHandler(outputDir, "request-response") {
@Override
public void handle(MvcResult result, DocumentationWriter writer)
throws Exception {
writer.shellCommand(new CurlRequestDocumentationAction(writer, result,
getCurlConfiguration()));
writer.codeBlock("http", new CurlResponseDocumentationAction(writer, result,
getCurlConfiguration()));
writer.codeBlock("http", new CurlResponseDocumentationAction(writer,
result, getCurlConfiguration()));
}
};
}
@@ -174,16 +177,16 @@ public abstract class RestDocumentationResultHandlers {
}
public static abstract class RestDocumentationResultHandler implements ResultHandler {
private String outputDir;
private String fileName;
public RestDocumentationResultHandler(String outputDir, String fileName) {
this.outputDir = outputDir;
this.fileName = fileName;
}
abstract void handle(MvcResult result, DocumentationWriter writer)
throws Exception;
@@ -198,19 +201,18 @@ public abstract class RestDocumentationResultHandlers {
}
}
protected PrintStream createPrintStream()
throws FileNotFoundException {
protected PrintStream createPrintStream() throws FileNotFoundException {
File outputFile = new File(this.outputDir, this.fileName + ".asciidoc");
if (!outputFile.isAbsolute()) {
outputFile = makeAbsolute(outputFile);
}
if (outputFile != null) {
outputFile.getParentFile().mkdirs();
return new PrintStream(new FileOutputStream(outputFile));
}
return System.out;
}
@@ -249,10 +251,11 @@ public abstract class RestDocumentationResultHandlers {
private final LinkExtractor extractor;
public LinkDocumentingResultHandler(String outputDir, LinkExtractor linkExtractor, List<LinkDescriptor> descriptors) {
public LinkDocumentingResultHandler(String outputDir,
LinkExtractor linkExtractor, List<LinkDescriptor> descriptors) {
super(outputDir, "links");
this.extractor = linkExtractor;
for (LinkDescriptor descriptor: descriptors) {
for (LinkDescriptor descriptor : descriptors) {
Assert.hasText(descriptor.getRel());
Assert.hasText(descriptor.getDescription());
this.descriptorsByRel.put(descriptor.getRel(), descriptor);
@@ -262,7 +265,8 @@ public abstract class RestDocumentationResultHandlers {
@SuppressWarnings("unchecked")
@Override
void handle(MvcResult result, DocumentationWriter writer) throws Exception {
Map<String, Object> json = this.objectMapper.readValue(result.getResponse().getContentAsString(), Map.class);
Map<String, Object> json = this.objectMapper.readValue(result.getResponse()
.getContentAsString(), Map.class);
Map<String, Object> links = this.extractor.extractLinks(json);
Set<String> actualRels = links.keySet();
@@ -277,10 +281,12 @@ public abstract class RestDocumentationResultHandlers {
if (!undocumentedRels.isEmpty() || !missingRels.isEmpty()) {
String message = "";
if (!undocumentedRels.isEmpty()) {
message += "Links with the following relations were not documented: " + undocumentedRels;
message += "Links with the following relations were not documented: "
+ undocumentedRels;
}
if (!missingRels.isEmpty()) {
message += "Links with the following relations were not found in the response: " + missingRels;
message += "Links with the following relations were not found in the response: "
+ missingRels;
}
fail(message);
}