Skip to content

Conversation

kapinuss
Copy link
Contributor

There are two types of dependency injection: Constructor dependency injection and Setter Dependency Injection. Both types have pluses and minuses and wide used (f.e. in Spring Framework). This patch describes second type of DI - Setter Dependency Injection.

Class AdvancedSorceress is constructed by analogy with AdvancedWizard. Difference between them is in the way of dependency injection. Tests attached.

@kapinuss
Copy link
Contributor Author

kapinuss commented May 2, 2017

I have no idea, why Travis has a problem with this code: all tests on my computer pass well.

Copy link
Owner

@iluwatar iluwatar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems to fail because of Checkstyle error.

[INFO] ------------------------------------------------------------------------
[INFO] Building dependency-injection 1.16.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] Downloading: http://repo.maven.apache.org/maven2/com/google/inject/guice/4.0/guice-4.0.pom
[INFO] Downloaded: http://repo.maven.apache.org/maven2/com/google/inject/guice/4.0/guice-4.0.pom (11 KB at 1298.0 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/com/google/inject/guice-parent/4.0/guice-parent-4.0.pom
[INFO] Downloaded: http://repo.maven.apache.org/maven2/com/google/inject/guice-parent/4.0/guice-parent-4.0.pom (16 KB at 657.8 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/com/google/google/5/google-5.pom
[INFO] Downloaded: http://repo.maven.apache.org/maven2/com/google/google/5/google-5.pom (3 KB at 342.9 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/com/google/guava/guava/19.0/guava-19.0.pom
[INFO] Downloaded: http://repo.maven.apache.org/maven2/com/google/guava/guava/19.0/guava-19.0.pom (7 KB at 1105.5 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/com/google/guava/guava-parent/19.0/guava-parent-19.0.pom
[INFO] Downloaded: http://repo.maven.apache.org/maven2/com/google/guava/guava-parent/19.0/guava-parent-19.0.pom (10 KB at 189.1 KB/sec)
[INFO] Downloading: http://repo.maven.apache.org/maven2/com/google/inject/guice/4.0/guice-4.0.jar
[INFO] Downloading: http://repo.maven.apache.org/maven2/com/google/guava/guava/19.0/guava-19.0.jar
[INFO] Downloaded: http://repo.maven.apache.org/maven2/com/google/inject/guice/4.0/guice-4.0.jar (653 KB at 34346.0 KB/sec)
[INFO] Downloaded: http://repo.maven.apache.org/maven2/com/google/guava/guava/19.0/guava-19.0.jar (2255 KB at 37573.5 KB/sec)
[INFO] 
[INFO] --- maven-checkstyle-plugin:2.17:check (validate) @ dependency-injection ---
[INFO] Starting audit...
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/AdvancedSorceress.java:35: error: 'member def modifier' have incorrect indentation level 4, expected level should be 2.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/AdvancedSorceress.java:37: error: 'method def modifier' have incorrect indentation level 4, expected level should be 2.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/AdvancedSorceress.java:38: error: 'method def' child have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/AdvancedSorceress.java:39: error: 'method def rcurly' have incorrect indentation level 4, expected level should be 2.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/AdvancedSorceress.java:41: error: 'method def modifier' have incorrect indentation level 4, expected level should be 2.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/AdvancedSorceress.java:43: error: 'method def' child have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/AdvancedSorceress.java:44: error: 'method def rcurly' have incorrect indentation level 4, expected level should be 2.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/App.java:57: error: 'method def modifier' have incorrect indentation level 4, expected level should be 2.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/App.java:58: error: 'member def type' have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/App.java:58: error: 'method def' child have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/App.java:59: error: 'method def' child have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/App.java:61: error: 'member def type' have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/App.java:61: error: 'method def' child have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/App.java:62: error: 'method def' child have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/App.java:64: error: 'member def type' have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/App.java:64: error: 'method def' child have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/App.java:65: error: 'method def' child have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/App.java:66: error: 'method def' child have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/App.java:68: error: 'member def type' have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/App.java:68: error: 'method def' child have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/App.java:69: error: 'member def type' have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/App.java:69: error: 'method def' child have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/App.java:70: error: 'method def' child have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/main/java/com/iluwatar/dependency/injection/App.java:71: error: 'method def rcurly' have incorrect indentation level 4, expected level should be 2.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/test/java/com/iluwatar/dependency/injection/AdvancedSorceressTest.java:31: error: Missing a Javadoc comment.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/test/java/com/iluwatar/dependency/injection/AdvancedSorceressTest.java:33: error: 'member def modifier' have incorrect indentation level 4, expected level should be 2.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/test/java/com/iluwatar/dependency/injection/AdvancedSorceressTest.java:35: error: 'method def modifier' have incorrect indentation level 4, expected level should be 2.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/test/java/com/iluwatar/dependency/injection/AdvancedSorceressTest.java:37: error: 'method def' child have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/test/java/com/iluwatar/dependency/injection/AdvancedSorceressTest.java:38: error: 'method def rcurly' have incorrect indentation level 4, expected level should be 2.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/test/java/com/iluwatar/dependency/injection/AdvancedSorceressTest.java:40: error: 'method def modifier' have incorrect indentation level 4, expected level should be 2.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/test/java/com/iluwatar/dependency/injection/AdvancedSorceressTest.java:42: error: 'method def' child have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/test/java/com/iluwatar/dependency/injection/AdvancedSorceressTest.java:43: error: 'method def rcurly' have incorrect indentation level 4, expected level should be 2.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/test/java/com/iluwatar/dependency/injection/AdvancedSorceressTest.java:50: error: 'method def modifier' have incorrect indentation level 4, expected level should be 2.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/test/java/com/iluwatar/dependency/injection/AdvancedSorceressTest.java:53: error: 'member def modifier' have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/test/java/com/iluwatar/dependency/injection/AdvancedSorceressTest.java:53: error: 'method def' child have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/test/java/com/iluwatar/dependency/injection/AdvancedSorceressTest.java:54: error: 'array initialization' child have incorrect indentation level 16, expected level should be one of the following: 10, 12.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/test/java/com/iluwatar/dependency/injection/AdvancedSorceressTest.java:57: error: 'for' have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/test/java/com/iluwatar/dependency/injection/AdvancedSorceressTest.java:58: error: 'for' child have incorrect indentation level 12, expected level should be 6.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/test/java/com/iluwatar/dependency/injection/AdvancedSorceressTest.java:58: error: 'member def modifier' have incorrect indentation level 12, expected level should be 6.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/test/java/com/iluwatar/dependency/injection/AdvancedSorceressTest.java:59: error: 'for' child have incorrect indentation level 12, expected level should be 6.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/test/java/com/iluwatar/dependency/injection/AdvancedSorceressTest.java:60: error: 'for' child have incorrect indentation level 12, expected level should be 6.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/test/java/com/iluwatar/dependency/injection/AdvancedSorceressTest.java:62: error: 'for' child have incorrect indentation level 12, expected level should be 6.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/test/java/com/iluwatar/dependency/injection/AdvancedSorceressTest.java:64: error: 'for rcurly' have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/test/java/com/iluwatar/dependency/injection/AdvancedSorceressTest.java:67: error: 'method def' child have incorrect indentation level 8, expected level should be 4.
/home/travis/build/iluwatar/java-design-patterns/dependency-injection/src/test/java/com/iluwatar/dependency/injection/AdvancedSorceressTest.java:68: error: 'method def rcurly' have incorrect indentation level 4, expected level should be 2.
Audit done.

@iluwatar
Copy link
Owner

@kapinuss add Checkstyle plugin to your IDE, configure it with checkstyle.xml and resolve the style errors.

@kapinuss
Copy link
Contributor Author

@iluwatar ok, i'll try)

@kapinuss
Copy link
Contributor Author

@iluwatar, DONE!))) Thank you for your tips)

@iluwatar iluwatar merged commit 4d6467e into iluwatar:master May 21, 2017
@iluwatar
Copy link
Owner

@kapinuss well done! Thank you for the contribution 👍

@iluwatar
Copy link
Owner

@all-contributors please add @kapinuss for code

@allcontributors
Copy link
Contributor

@iluwatar

I've put up a pull request to add @kapinuss! 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants