-
-
Notifications
You must be signed in to change notification settings - Fork 27.3k
Adding Setter Dependency Injection as a second subtype of DI #569
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
I have no idea, why Travis has a problem with this code: all tests on my computer pass well. |
There was a problem hiding this 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.
@kapinuss add Checkstyle plugin to your IDE, configure it with |
@iluwatar ok, i'll try) |
@iluwatar, DONE!))) Thank you for your tips) |
@kapinuss well done! Thank you for the contribution 👍 |
@all-contributors please add @kapinuss for code |
I've put up a pull request to add @kapinuss! 🎉 |
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.