Sonar issue - Child class fields should not shadow parent class fields
I have Sonar
complaining about code quality issue. I have a class that is extending a Spring
class which in turn extends few other Spring
classes.
Is there any solution for this kind of issue?
Sonar Reported Issue:
"LOGGER" differs only by case from "logger" in "DaoSupport"
AddressDao.java
@Component
public class AddressDao extends PayhubNamedParameterJdbcDaoSupport {
private static final Logger LOGGER = LoggerFactory.getLogger(AddressDao.class);
...
}
Spring class PayhubNamedParameterJdbcDaoSupport extending other classes
PayhubNamedParameterJdbcDaoSupport -> NamedParameterJdbcDaoSupport -> JdbcDaoSupport -> DaoSupport
org.springframework.dao.support.DaoSupport.java
public abstract class DaoSupport implements InitializingBean {
protected final Log logger = LogFactory.getLog(this.getClass());
}
pom.xml
<!-- Spring -->
<spring.version>4.1.7.RELEASE</spring.version>
<!-- Logging -->
<slf4j.version>1.7.6</slf4j.version>
<log4j.slf4j.version>2.0-rc1</log4j.slf4j.version>
<commons.lang3.version>3.3</commons.lang3.version>
<!-- Logging with SLF4J & LogBack -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${log4j.slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.0-rc1</version>
</dependency>
java logging sonarqube log4j
add a comment |
I have Sonar
complaining about code quality issue. I have a class that is extending a Spring
class which in turn extends few other Spring
classes.
Is there any solution for this kind of issue?
Sonar Reported Issue:
"LOGGER" differs only by case from "logger" in "DaoSupport"
AddressDao.java
@Component
public class AddressDao extends PayhubNamedParameterJdbcDaoSupport {
private static final Logger LOGGER = LoggerFactory.getLogger(AddressDao.class);
...
}
Spring class PayhubNamedParameterJdbcDaoSupport extending other classes
PayhubNamedParameterJdbcDaoSupport -> NamedParameterJdbcDaoSupport -> JdbcDaoSupport -> DaoSupport
org.springframework.dao.support.DaoSupport.java
public abstract class DaoSupport implements InitializingBean {
protected final Log logger = LogFactory.getLog(this.getClass());
}
pom.xml
<!-- Spring -->
<spring.version>4.1.7.RELEASE</spring.version>
<!-- Logging -->
<slf4j.version>1.7.6</slf4j.version>
<log4j.slf4j.version>2.0-rc1</log4j.slf4j.version>
<commons.lang3.version>3.3</commons.lang3.version>
<!-- Logging with SLF4J & LogBack -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${log4j.slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.0-rc1</version>
</dependency>
java logging sonarqube log4j
Just removeprivate static final Logger LOGGER = LoggerFactory.getLogger(AddressDao.class);
fromAddressDao
class and use thelogger
fromDaoSupport
class
– Valentin Carnu
Nov 20 '18 at 20:48
Yes, you can rename LOGGER to AddressDaoLogger, or as Valentin says, use the logger of the base class. You could also ignore this issue.
– Perdi Estaquel
Nov 21 '18 at 4:38
Thanks for the update guys
– user2325154
Nov 21 '18 at 14:28
add a comment |
I have Sonar
complaining about code quality issue. I have a class that is extending a Spring
class which in turn extends few other Spring
classes.
Is there any solution for this kind of issue?
Sonar Reported Issue:
"LOGGER" differs only by case from "logger" in "DaoSupport"
AddressDao.java
@Component
public class AddressDao extends PayhubNamedParameterJdbcDaoSupport {
private static final Logger LOGGER = LoggerFactory.getLogger(AddressDao.class);
...
}
Spring class PayhubNamedParameterJdbcDaoSupport extending other classes
PayhubNamedParameterJdbcDaoSupport -> NamedParameterJdbcDaoSupport -> JdbcDaoSupport -> DaoSupport
org.springframework.dao.support.DaoSupport.java
public abstract class DaoSupport implements InitializingBean {
protected final Log logger = LogFactory.getLog(this.getClass());
}
pom.xml
<!-- Spring -->
<spring.version>4.1.7.RELEASE</spring.version>
<!-- Logging -->
<slf4j.version>1.7.6</slf4j.version>
<log4j.slf4j.version>2.0-rc1</log4j.slf4j.version>
<commons.lang3.version>3.3</commons.lang3.version>
<!-- Logging with SLF4J & LogBack -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${log4j.slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.0-rc1</version>
</dependency>
java logging sonarqube log4j
I have Sonar
complaining about code quality issue. I have a class that is extending a Spring
class which in turn extends few other Spring
classes.
Is there any solution for this kind of issue?
Sonar Reported Issue:
"LOGGER" differs only by case from "logger" in "DaoSupport"
AddressDao.java
@Component
public class AddressDao extends PayhubNamedParameterJdbcDaoSupport {
private static final Logger LOGGER = LoggerFactory.getLogger(AddressDao.class);
...
}
Spring class PayhubNamedParameterJdbcDaoSupport extending other classes
PayhubNamedParameterJdbcDaoSupport -> NamedParameterJdbcDaoSupport -> JdbcDaoSupport -> DaoSupport
org.springframework.dao.support.DaoSupport.java
public abstract class DaoSupport implements InitializingBean {
protected final Log logger = LogFactory.getLog(this.getClass());
}
pom.xml
<!-- Spring -->
<spring.version>4.1.7.RELEASE</spring.version>
<!-- Logging -->
<slf4j.version>1.7.6</slf4j.version>
<log4j.slf4j.version>2.0-rc1</log4j.slf4j.version>
<commons.lang3.version>3.3</commons.lang3.version>
<!-- Logging with SLF4J & LogBack -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${log4j.slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.0-rc1</version>
</dependency>
java logging sonarqube log4j
java logging sonarqube log4j
asked Nov 20 '18 at 20:32
user2325154user2325154
1,73493877
1,73493877
Just removeprivate static final Logger LOGGER = LoggerFactory.getLogger(AddressDao.class);
fromAddressDao
class and use thelogger
fromDaoSupport
class
– Valentin Carnu
Nov 20 '18 at 20:48
Yes, you can rename LOGGER to AddressDaoLogger, or as Valentin says, use the logger of the base class. You could also ignore this issue.
– Perdi Estaquel
Nov 21 '18 at 4:38
Thanks for the update guys
– user2325154
Nov 21 '18 at 14:28
add a comment |
Just removeprivate static final Logger LOGGER = LoggerFactory.getLogger(AddressDao.class);
fromAddressDao
class and use thelogger
fromDaoSupport
class
– Valentin Carnu
Nov 20 '18 at 20:48
Yes, you can rename LOGGER to AddressDaoLogger, or as Valentin says, use the logger of the base class. You could also ignore this issue.
– Perdi Estaquel
Nov 21 '18 at 4:38
Thanks for the update guys
– user2325154
Nov 21 '18 at 14:28
Just remove
private static final Logger LOGGER = LoggerFactory.getLogger(AddressDao.class);
from AddressDao
class and use the logger
from DaoSupport
class– Valentin Carnu
Nov 20 '18 at 20:48
Just remove
private static final Logger LOGGER = LoggerFactory.getLogger(AddressDao.class);
from AddressDao
class and use the logger
from DaoSupport
class– Valentin Carnu
Nov 20 '18 at 20:48
Yes, you can rename LOGGER to AddressDaoLogger, or as Valentin says, use the logger of the base class. You could also ignore this issue.
– Perdi Estaquel
Nov 21 '18 at 4:38
Yes, you can rename LOGGER to AddressDaoLogger, or as Valentin says, use the logger of the base class. You could also ignore this issue.
– Perdi Estaquel
Nov 21 '18 at 4:38
Thanks for the update guys
– user2325154
Nov 21 '18 at 14:28
Thanks for the update guys
– user2325154
Nov 21 '18 at 14:28
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53401062%2fsonar-issue-child-class-fields-should-not-shadow-parent-class-fields%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53401062%2fsonar-issue-child-class-fields-should-not-shadow-parent-class-fields%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Just remove
private static final Logger LOGGER = LoggerFactory.getLogger(AddressDao.class);
fromAddressDao
class and use thelogger
fromDaoSupport
class– Valentin Carnu
Nov 20 '18 at 20:48
Yes, you can rename LOGGER to AddressDaoLogger, or as Valentin says, use the logger of the base class. You could also ignore this issue.
– Perdi Estaquel
Nov 21 '18 at 4:38
Thanks for the update guys
– user2325154
Nov 21 '18 at 14:28