Fixed literal string comparison.

This line is in the form of
String str = ...
str.equals("someOtherString");
//or
str.compareTo("someOtherString");

A NullPointerException may occur if the String variable str is null. If instead the code was restructured to
String str = ...
"someOtherString".equals(str);
//or
"someOtherString".compareTo(str);
that is, call equals() or compareTo() on the string literal, passing the variable as an argument, this exception could never happen as both equals() and compareTo() check for null.
revert-70aa11f8
Timo Briddigkeit 8 years ago
parent 0ac4752b2b
commit ed07774552

@ -22,13 +22,13 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.json.simple.JSONObject;
import org.wso2.carbon.apimgt.application.extension.APIManagementProviderService;
import org.wso2.carbon.apimgt.application.extension.api.util.APIUtil;
import org.wso2.carbon.apimgt.application.extension.api.util.RegistrationProfile;
import org.wso2.carbon.apimgt.application.extension.constants.ApiApplicationConstants;
import org.wso2.carbon.apimgt.application.extension.dto.ApiApplicationKey;
import org.wso2.carbon.apimgt.application.extension.exception.APIManagerException;
import org.wso2.carbon.base.MultitenantConstants;
import org.wso2.carbon.context.PrivilegedCarbonContext;
import org.wso2.carbon.apimgt.application.extension.api.util.APIUtil;
import org.wso2.carbon.user.api.UserStoreException;
import javax.ws.rs.DELETE;
@ -46,7 +46,7 @@ public class ApiApplicationRegistrationServiceImpl implements ApiApplicationRegi
public Response register(@QueryParam("tenantDomain") String tenantDomain,
@QueryParam("applicationName") String applicationName) {
String authenticatedTenantDomain = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantDomain();
if (!authenticatedTenantDomain.equals(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME)) {
if (!MultitenantConstants.SUPER_TENANT_DOMAIN_NAME.equals(authenticatedTenantDomain)) {
return Response.status(Response.Status.NOT_ACCEPTABLE).build();
}
try {

@ -23,12 +23,7 @@ import org.apache.commons.logging.LogFactory;
import org.json.simple.JSONObject;
import org.wso2.carbon.apimgt.api.APIConsumer;
import org.wso2.carbon.apimgt.api.APIManagementException;
import org.wso2.carbon.apimgt.api.model.API;
import org.wso2.carbon.apimgt.api.model.APIIdentifier;
import org.wso2.carbon.apimgt.api.model.APIKey;
import org.wso2.carbon.apimgt.api.model.Application;
import org.wso2.carbon.apimgt.api.model.SubscribedAPI;
import org.wso2.carbon.apimgt.api.model.Subscriber;
import org.wso2.carbon.apimgt.api.model.*;
import org.wso2.carbon.apimgt.application.extension.constants.ApiApplicationConstants;
import org.wso2.carbon.apimgt.application.extension.dto.ApiApplicationKey;
import org.wso2.carbon.apimgt.application.extension.exception.APIManagerException;
@ -415,7 +410,7 @@ public class APIManagementProviderServiceImpl implements APIManagementProviderSe
int applicationId = createApplication(apiConsumer, apiApplicationName, username, groupId);
String tenantDomain = MultitenantUtils.getTenantDomain(username);
Set<API> userVisibleAPIs = apiConsumer.getAllPublishedAPIs(tenantDomain);
if (!tenantDomain.equals(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME)) {
if (!MultitenantConstants.SUPER_TENANT_DOMAIN_NAME.equals(tenantDomain)) {
userVisibleAPIs.addAll(apiConsumer.getAllPublishedAPIs(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME));
}
Subscriber subscriber = apiConsumer.getSubscriber(username);
@ -443,7 +438,7 @@ public class APIManagementProviderServiceImpl implements APIManagementProviderSe
try {
APIConsumer apiConsumer = APIManagerFactory.getInstance().getAPIConsumer(username);
loginInfoJsonObj.put("user", username);
if (tenantDomain.equals(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME)) {
if (MultitenantConstants.SUPER_TENANT_DOMAIN_NAME.equals(tenantDomain)) {
loginInfoJsonObj.put("isSuperTenant", true);
} else {
loginInfoJsonObj.put("isSuperTenant", false);

@ -37,7 +37,7 @@ public final class APIManagerUtil {
*/
public static int getTenantId(String tenantDomain) throws APIManagerException {
try {
if (tenantDomain.equals(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME)) {
if (MultitenantConstants.SUPER_TENANT_DOMAIN_NAME.equals(tenantDomain)) {
return MultitenantConstants.SUPER_TENANT_ID;
}
TenantManager tenantManager = APIApplicationManagerExtensionDataHolder.getInstance().getTenantManager();

@ -36,10 +36,10 @@ import java.util.*;
public class APIPublisherUtil {
private static final Log log = LogFactory.getLog(APIPublisherUtil.class);
private static final String DEFAULT_API_VERSION = "1.0.0";
public static final String API_VERSION_PARAM = "{version}";
public static final String API_PUBLISH_ENVIRONMENT = "Production and Sandbox";
private static final Log log = LogFactory.getLog(APIPublisherUtil.class);
private static final String DEFAULT_API_VERSION = "1.0.0";
private static final String API_CONFIG_DEFAULT_VERSION = "1.0.0";
private static final String PARAM_MANAGED_API_ENDPOINT = "managed-api-endpoint";
private static final String PARAM_MANAGED_API_OWNER = "managed-api-owner";
@ -242,7 +242,7 @@ public class APIPublisherUtil {
MultitenantConstants.SUPER_TENANT_DOMAIN_NAME;
apiConfig.setTenantDomain(tenantDomain);
String contextTemplate = context + "/" + APIConstants.VERSION_PLACEHOLDER;
if (!tenantDomain.equals(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME)) {
if (!MultitenantConstants.SUPER_TENANT_DOMAIN_NAME.equals(tenantDomain)) {
contextTemplate = context + "/t/" + tenantDomain + "/" + APIConstants.VERSION_PLACEHOLDER;
}
apiConfig.setContextTemplate(contextTemplate);

@ -63,11 +63,10 @@ public class AnnotationProcessor {
private static final String HTTP_PORT = "httpPort";
private static final String STRING_ARR = "string_arr";
private static final String STRING = "string";
Class<API> apiClazz;
private StandardContext context;
private Method[] pathClazzMethods;
private Class<Path> pathClazz;
Class<API> apiClazz;
private ClassLoader classLoader;
private ServletContext servletContext;
@ -319,7 +318,7 @@ public class AnnotationProcessor {
* @return
*/
private String makeContextURLReady(String context) {
if (context != null && !context.equalsIgnoreCase("")) {
if (context != null && context.length() > 0) {
if (context.startsWith("/")) {
return context;
} else {

@ -60,6 +60,10 @@ public class DeviceDataPublisher {
private static Map<String, DataPublisher> dataPublisherMap;
private static DeviceDataPublisher deviceDataPublisher;
public DeviceDataPublisher() {
dataPublisherMap = new ConcurrentHashMap<>();
}
public static DeviceDataPublisher getInstance() {
if (deviceDataPublisher == null) {
synchronized (DeviceDataPublisher.class) {
@ -71,10 +75,6 @@ public class DeviceDataPublisher {
return deviceDataPublisher;
}
public DeviceDataPublisher() {
dataPublisherMap = new ConcurrentHashMap<>();
}
/**
* this return the data publisher for the tenant.
*
@ -95,7 +95,7 @@ public class DeviceDataPublisher {
String analyticsServerUrlGroups = analyticsConfig.getReceiverServerUrl();
String analyticsServerUsername = analyticsConfig.getAdminUsername();
String analyticsServerPassword = analyticsConfig.getAdminPassword();
if (!tenantDomain.equals(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME)) {
if (!MultitenantConstants.SUPER_TENANT_DOMAIN_NAME.equals(tenantDomain)) {
int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId();
String userInfo[] = getAnalyticsServerUserInfo(tenantId);
if (userInfo != null) {

@ -125,11 +125,11 @@ public class RoleManagementServiceImpl implements RoleManagementService {
UIPermissionNode[] deviceMgtPermissions = new UIPermissionNode[2];
for (UIPermissionNode permissionNode : rolePermissions.getNodeList()) {
if (permissionNode.getResourcePath().equals("/permission/admin")) {
if ("/permission/admin".equals(permissionNode.getResourcePath())) {
for (UIPermissionNode node : permissionNode.getNodeList()) {
if (node.getResourcePath().equals("/permission/admin/device-mgt")) {
if ("/permission/admin/device-mgt".equals(node.getResourcePath())) {
deviceMgtPermissions[0] = node;
} else if (node.getResourcePath().equals("/permission/admin/login")) {
} else if ("/permission/admin/login".equals(node.getResourcePath())) {
deviceMgtPermissions[1] = node;
}
}

@ -47,8 +47,7 @@ public class QueryBuilderImpl implements QueryBuilder {
Condition locCondition = new Condition();
if (conditions.size() == 1) {
if (conditions.get(0).getKey().equalsIgnoreCase(Constants.LOCATION)) {
if (Constants.LOCATION.equalsIgnoreCase(conditions.get(0).getKey())) {
locCondition = conditions.get(0);
} else if (Utils.checkDeviceDetailsColumns(conditions.get(0).getKey()) ||
Utils.checkDeviceLocationColumns(conditions.get(0).getKey())) {
@ -58,7 +57,7 @@ public class QueryBuilderImpl implements QueryBuilder {
}
} else {
for (Condition con : conditions) {
if (con.getKey().equalsIgnoreCase(Constants.LOCATION)) {
if (Constants.LOCATION.equalsIgnoreCase(con.getKey())) {
locCondition = con;
} else if (Utils.checkDeviceDetailsColumns(con.getKey()) ||
Utils.checkDeviceLocationColumns(con.getKey())) {

@ -227,7 +227,7 @@ public final class DeviceManagerUtil {
*/
public static int getTenantId(String tenantDomain) throws DeviceManagementException {
try {
if (tenantDomain.equals(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME)) {
if (MultitenantConstants.SUPER_TENANT_DOMAIN_NAME.equals(tenantDomain)) {
return MultitenantConstants.SUPER_TENANT_ID;
}
TenantManager tenantManager = DeviceManagementDataHolder.getInstance().getTenantManager();

@ -67,25 +67,25 @@ public class FeatureFilterImpl implements FeatureFilter {
for (FeatureRules rule : featureRulesList) {
String ruleName = rule.getEvaluationCriteria();
String featureName = rule.getName();
if (ruleName.equalsIgnoreCase(Constants.DENY_OVERRIDES)) {
if (Constants.DENY_OVERRIDES.equalsIgnoreCase(ruleName)) {
getDenyOverridesFeatures(featureName, featureList, effectiveFeatureList);
}
if (ruleName.equalsIgnoreCase(Constants.PERMIT_OVERRIDES)) {
if (Constants.PERMIT_OVERRIDES.equalsIgnoreCase(ruleName)) {
getPermitOverridesFeatures(featureName, featureList, effectiveFeatureList);
}
if (ruleName.equalsIgnoreCase(Constants.FIRST_APPLICABLE)) {
if (Constants.FIRST_APPLICABLE.equalsIgnoreCase(ruleName)) {
getFirstApplicableFeatures(featureName, featureList, effectiveFeatureList);
}
if (ruleName.equalsIgnoreCase(Constants.LAST_APPLICABLE)) {
if (Constants.LAST_APPLICABLE.equalsIgnoreCase(ruleName)) {
getLastApplicableFeatures(featureName, featureList, effectiveFeatureList);
}
if (ruleName.equalsIgnoreCase(Constants.ALL_APPLICABLE)) {
if (Constants.ALL_APPLICABLE.equalsIgnoreCase(ruleName)) {
getAllApplicableFeatures(featureName, featureList, effectiveFeatureList);
}
if (ruleName.equalsIgnoreCase(Constants.HIGHEST_APPLICABLE)) {
if (Constants.HIGHEST_APPLICABLE.equalsIgnoreCase(ruleName)) {
getHighestApplicableFeatures(featureName, featureList, effectiveFeatureList);
}
if (ruleName.equalsIgnoreCase(Constants.LOWEST_APPLICABLE)) {
if (Constants.LOWEST_APPLICABLE.equalsIgnoreCase(ruleName)) {
getLowestApplicableFeatures(featureName, featureList, effectiveFeatureList);
}
}

@ -253,7 +253,7 @@ public class ComplianceDecisionPointImpl implements ComplianceDecisionPoint {
Policy policy = complianceData.getPolicy();
String compliance = this.getNoneComplianceRule(policy);
if (compliance.equals("")) {
if ("".equals(compliance)) {
String msg = "Compliance rule is empty for the policy " + policy.getPolicyName() + ". Therefore " +
"Monitoring Engine cannot run.";
throw new PolicyComplianceException(msg);

@ -203,7 +203,7 @@ public class PolicyManagerUtil {
if (configuration != null && !configuration.isEmpty()) {
for (ConfigurationEntry cEntry : configuration) {
if (cEntry.getName().equalsIgnoreCase(MONITORING_FREQUENCY)) {
if (MONITORING_FREQUENCY.equalsIgnoreCase(cEntry.getName())) {
if (cEntry.getValue() == null) {
throw new PolicyManagementException("Invalid value, i.e. '" + cEntry.getValue() +
"', is configured as the monitoring frequency");

@ -105,7 +105,7 @@ public class WebappAuthenticationValve extends CarbonTomcatValve {
ctx = tokenizer.nextToken();
}
}
return (ctx.equalsIgnoreCase("carbon") || ctx.equalsIgnoreCase("services"));
return ("carbon".equalsIgnoreCase(ctx) || "services".equalsIgnoreCase(ctx));
}
private boolean isNonSecuredEndPoint(Request request) {
@ -132,10 +132,7 @@ public class WebappAuthenticationValve extends CarbonTomcatValve {
}
}
}
if (nonSecuredEndpoints.containsKey(uri)) {
return true;
}
return false;
return nonSecuredEndpoints.containsKey(uri);
}
private void processRequest(Request request, Response response, CompositeValve compositeValve,

@ -65,6 +65,13 @@ public class JWTAuthenticator implements WebappAuthenticator {
private static final Map<String, PublicKey> publicKeyHolder = new HashMap<>();
private Properties properties;
private static void loadTenantRegistry(int tenantId) throws RegistryException {
TenantRegistryLoader tenantRegistryLoader = AuthenticatorFrameworkDataHolder.getInstance().
getTenantRegistryLoader();
AuthenticatorFrameworkDataHolder.getInstance().getTenantIndexingLoader().loadTenantIndex(tenantId);
tenantRegistryLoader.loadTenantRegistry(tenantId);
}
@Override
public void init() {
@ -73,10 +80,7 @@ public class JWTAuthenticator implements WebappAuthenticator {
@Override
public boolean canHandle(Request request) {
String authorizationHeader = request.getHeader(JWTAuthenticator.JWT_ASSERTION_HEADER);
if ((authorizationHeader != null) && !authorizationHeader.isEmpty()) {
return true;
}
return false;
return (authorizationHeader != null) && !authorizationHeader.isEmpty();
}
@Override
@ -106,7 +110,7 @@ public class JWTAuthenticator implements WebappAuthenticator {
if (publicKey == null) {
loadTenantRegistry(tenantId);
KeyStoreManager keyStoreManager = KeyStoreManager.getInstance(tenantId);
if (tenantDomain.equals(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME)) {
if (MultitenantConstants.SUPER_TENANT_DOMAIN_NAME.equals(tenantDomain)) {
String defaultPublicKey = properties.getProperty("DefaultPublicKey");
if (defaultPublicKey != null && !defaultPublicKey.isEmpty()) {
boolean isDefaultPublicKey = Boolean.parseBoolean(defaultPublicKey);
@ -182,13 +186,13 @@ public class JWTAuthenticator implements WebappAuthenticator {
}
@Override
public void setProperties(Properties properties) {
this.properties = properties;
public Properties getProperties() {
return properties;
}
@Override
public Properties getProperties() {
return properties;
public void setProperties(Properties properties) {
this.properties = properties;
}
@Override
@ -198,11 +202,4 @@ public class JWTAuthenticator implements WebappAuthenticator {
}
return this.properties.getProperty(name);
}
private static void loadTenantRegistry(int tenantId) throws RegistryException {
TenantRegistryLoader tenantRegistryLoader = AuthenticatorFrameworkDataHolder.getInstance().
getTenantRegistryLoader();
AuthenticatorFrameworkDataHolder.getInstance().getTenantIndexingLoader().loadTenantIndex(tenantId);
tenantRegistryLoader.loadTenantRegistry(tenantId);
}
}

Loading…
Cancel
Save