Skip to content

Commit

Permalink
[FIXED JENKINS-30552] Fix sonar warnings and errors
Browse files Browse the repository at this point in the history
  • Loading branch information
kinow committed Sep 19, 2015
1 parent 1408f3b commit 5c95815
Show file tree
Hide file tree
Showing 13 changed files with 40 additions and 43 deletions.
Expand Up @@ -49,6 +49,7 @@ public abstract class AbstractCascadableParameter extends AbstractScriptablePara
/**
* Map with parameters in the UI.
*/
// Map is not serializable, but LinkedHashMap is. Ignore static analysis errors
protected final Map<Object, Object> parameters = new LinkedHashMap<Object, Object>();

/**
Expand All @@ -66,6 +67,7 @@ protected AbstractCascadableParameter(String name, String description,
* (non-Javadoc)
* @see org.biouno.unochoice.CascadableParameter#getReferencedParameters()
*/
@Override
public String getReferencedParameters() {
return referencedParameters;
}
Expand All @@ -74,6 +76,7 @@ public String getReferencedParameters() {
* (non-Javadoc)
* @see org.biouno.unochoice.AbstractScriptableParameter#getParameters()
*/
@Override
public Map<Object, Object> getParameters() {
return parameters;
}
Expand All @@ -84,6 +87,7 @@ public Map<Object, Object> getParameters() {
* (non-Javadoc)
* @see org.biouno.unochoice.CascadableParameter#doUpdate(java.lang.String)
*/
@Override
@JavaScriptMethod
public void doUpdate(String parameters) {
getParameters().clear();
Expand All @@ -106,6 +110,7 @@ public void doUpdate(String parameters) {
* (non-Javadoc)
* @see org.biouno.unochoice.CascadableParameter#getChoicesForUI()
*/
@Override
@JavaScriptMethod
public List<Object> getChoicesForUI() {
Map<Object, Object> mapResult = getChoices(getParameters());
Expand Down
Expand Up @@ -99,6 +99,7 @@ public Map<Object, Object> getChoices() {
* (non-Javadoc)
* @see org.biouno.unochoice.ScriptableParameter#getChoices(java.util.Map)
*/
@Override
@SuppressWarnings("unchecked") // due to Web + Java and scripts integration
public Map<Object, Object> getChoices(Map<Object, Object> parameters) {
final Object value = eval(parameters);
Expand All @@ -117,7 +118,7 @@ public Map<Object, Object> getChoices(Map<Object, Object> parameters) {
return map;
}
LOGGER.warning(String.format("Script parameter with name '%s' is not an instance of java.util.Map. The parameter value is %s", getName(), value));
return Collections.EMPTY_MAP;
return Collections.emptyMap();
}

public String getChoicesAsString() {
Expand All @@ -136,9 +137,9 @@ private Object eval(Map<Object, Object> parameters) {
try {
final ScriptCallback<Exception> callback = new ScriptCallback(getName(), script, parameters);
return callback.call();
} catch (Throwable e) {
} catch (Exception e) {
LOGGER.log(Level.SEVERE, "Error executing script for dynamic parameter", e);
return Collections.EMPTY_MAP;
return Collections.emptyMap();
}
}

Expand All @@ -153,7 +154,7 @@ public ParameterValue getDefaultParameterValue() {
}
Object firstElement = "";
final Map<Object, Object> choices = getChoices(Collections.<Object, Object> emptyMap());
if (choices != null && choices.size() > 0) {
if (choices != null && !choices.isEmpty()) {
firstElement = choices.entrySet().iterator().next().getValue();
}
final String name = getName();
Expand Down
Expand Up @@ -154,6 +154,7 @@ public ParameterValue createValue(StaplerRequest request, JSONObject json) {
*/
public abstract String getChoiceType();

@Override
public ParameterDescriptor getDescriptor() {
return (ParameterDescriptor) Jenkins.getInstance().getDescriptor(getClass());
}
Expand Down
Expand Up @@ -170,8 +170,8 @@ public String getDisplayName() {
}

public FormValidation doCheckRequired(@QueryParameter String value) {
value = StringUtils.strip(value);
if (value == null || value.equals("")) {
String strippedValue = StringUtils.strip(value);
if ("".equals(strippedValue)) {
return FormValidation.error("This field is required.");
}
return FormValidation.ok();
Expand Down
Expand Up @@ -24,15 +24,14 @@

package org.biouno.unochoice;

import hudson.model.AbstractProject;
import hudson.model.Descriptor;
import hudson.model.ParameterDefinition.ParameterDescriptor;

import java.util.LinkedList;
import java.util.List;

import org.biouno.unochoice.model.AbstractScript;

import hudson.model.Descriptor;
import hudson.model.ParameterDefinition.ParameterDescriptor;

/**
* Descriptor for Uno Choice parameters.
*
Expand All @@ -41,7 +40,7 @@
*/
public class UnoChoiceParameterDescriptor extends ParameterDescriptor {

public List<Descriptor<? extends AbstractScript>> getApplicableResultSeekers(AbstractProject<?, ?> p) {
public List<Descriptor<? extends AbstractScript>> getApplicableResultSeekers() {
List<Descriptor<? extends AbstractScript>> list = new LinkedList<Descriptor<? extends AbstractScript>>();
for (Descriptor<? extends AbstractScript> rs : AbstractScript.all()) {
list.add(rs);
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/org/biouno/unochoice/model/AbstractScript.java
Expand Up @@ -42,12 +42,13 @@ public abstract class AbstractScript implements Script, Describable<AbstractScri
*/
private static final long serialVersionUID = 4027103576278802323L;

@Override
@SuppressWarnings("unchecked")
public Descriptor<AbstractScript> getDescriptor() {
return Jenkins.getInstance().getDescriptor(getClass());
}

public static <T, P> DescriptorExtensionList<AbstractScript, ScriptDescriptor> all() {
public static DescriptorExtensionList<AbstractScript, ScriptDescriptor> all() {
return Jenkins.getInstance().<AbstractScript, ScriptDescriptor> getDescriptorList(AbstractScript.class);
}

Expand Down
4 changes: 3 additions & 1 deletion src/main/java/org/biouno/unochoice/model/GroovyScript.java
Expand Up @@ -90,6 +90,7 @@ public String getFallbackScript() {
* (non-Javadoc)
* @see org.biouno.unochoice.model.Script#eval()
*/
@Override
public Object eval() {
return eval(Collections.<String, String>emptyMap());
}
Expand All @@ -98,12 +99,13 @@ public Object eval() {
* (non-Javadoc)
* @see org.biouno.unochoice.model.Script#eval(java.util.Map)
*/
@Override
public Object eval(Map<String, String> parameters) throws RuntimeException {
ClassLoader cl = null;
try {
cl = Jenkins.getInstance().getPluginManager().uberClassLoader;
} catch (Exception e) {
LOGGER.finest(e.getMessage());
LOGGER.log(Level.FINEST, e.getMessage(), e);
}
if (cl == null) {
cl = Thread.currentThread().getContextClassLoader();
Expand Down
16 changes: 10 additions & 6 deletions src/main/java/org/biouno/unochoice/model/ScriptlerScript.java
Expand Up @@ -24,10 +24,8 @@

package org.biouno.unochoice.model;

import hudson.Extension;
import hudson.Util;

import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

Expand All @@ -36,6 +34,9 @@
import org.jenkinsci.plugins.scriptler.util.ScriptHelper;
import org.kohsuke.stapler.DataBoundConstructor;

import hudson.Extension;
import hudson.Util;

/**
* A scriptler script.
*
Expand All @@ -47,17 +48,18 @@ public class ScriptlerScript extends AbstractScript {
/*
* Serial UID.
*/
private static final long serialVersionUID = -4833367326600112145L;
private static final long serialVersionUID = -6600327523009436354L;

private final String scriptlerScriptId;

// Map is not serializable, but LinkedHashMap is. Ignore static analysis errors
private final Map<String, String> parameters;

@DataBoundConstructor
public ScriptlerScript(String scriptlerScriptId, List<ScriptlerScriptParameter> parameters) {
super();
this.scriptlerScriptId = scriptlerScriptId;
this.parameters = new HashMap<String, String>();
this.parameters = new LinkedHashMap<String, String>();
if (parameters != null) {
for (ScriptlerScriptParameter parameter : parameters) {
this.parameters.put(parameter.getName(), parameter.getValue());
Expand All @@ -79,6 +81,7 @@ public Map<String, String> getParameters() {
return parameters;
}

@Override
public Object eval() {
return eval(null);
}
Expand All @@ -87,11 +90,12 @@ public Object eval() {
* (non-Javadoc)
* @see org.biouno.unochoice.model.Script#eval(java.util.Map)
*/
@Override
public Object eval(Map<String, String> parameters) {
final Map<String, String> envVars = Utils.getSystemEnv();
Map<String, String> evaledParameters = new HashMap<String, String>(envVars);
// if we have any parameter that came from UI, let's eval and use them
if (parameters != null && parameters.size() > 0) {
if (parameters != null && !parameters.isEmpty()) {
// fill our map with the given parameters
evaledParameters.putAll(parameters);
// and now try to expand env vars
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/org/biouno/unochoice/util/ScriptCallback.java
Expand Up @@ -45,6 +45,7 @@ public class ScriptCallback<T extends Throwable> implements Callable<Object, T>

private final String name;
private final Script script;
// Map is not serializable, but LinkedHashMap is. Ignore static analysis errors
private Map<String, String> parameters;

public ScriptCallback(String name, Script script, Map<String, String> parameters) {
Expand All @@ -65,11 +66,13 @@ public Script getScript() {
return script;
}

@Override
public Object call() throws T {
final Object eval = script.eval(getParameters());
return eval;
}

@Override
public void checkRoles(RoleChecker roleChecker) throws SecurityException {
// FIXME: check script roles and add security
}
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/org/biouno/unochoice/util/Utils.java
Expand Up @@ -39,6 +39,8 @@
*/
public class Utils {

private Utils() {}

/**
* Returns all scriptler scripts available.
*
Expand Down
Expand Up @@ -5,14 +5,7 @@
<f:textbox name="parameter.name" value="${instance.name}" />
</f:entry>
<f:entry title="${%Script}">
<j:choose>
<j:when test="${null != it}">
<f:hetero-radio field="script" descriptors="${descriptor.getApplicableResultSeekers(it)}" />
</j:when>
<j:otherwise>
<f:hetero-radio field="script" descriptors="${descriptor.getApplicableResultSeekers(instance)}" />
</j:otherwise>
</j:choose>
<f:hetero-radio field="script" descriptors="${descriptor.getApplicableResultSeekers()}" />
</f:entry>
<f:entry title="${%Description}" field="description" help="/help/parameter/description.html">
<f:textarea name="parameter.description" value="${instance.description}" />
Expand Down
Expand Up @@ -5,14 +5,7 @@
<f:textbox name="parameter.name" value="${instance.name}" />
</f:entry>
<f:entry title="${%Script}">
<j:choose>
<j:when test="${null != it}">
<f:hetero-radio field="script" descriptors="${descriptor.getApplicableResultSeekers(it)}" />
</j:when>
<j:otherwise>
<f:hetero-radio field="script" descriptors="${descriptor.getApplicableResultSeekers(instance)}" />
</j:otherwise>
</j:choose>
<f:hetero-radio field="script" descriptors="${descriptor.getApplicableResultSeekers()}" />
</f:entry>
<f:entry title="${%Description}" field="description" help="/help/parameter/description.html">
<f:textarea name="parameter.description" value="${instance.description}" />
Expand Down
Expand Up @@ -5,14 +5,7 @@
<f:textbox name="parameter.name" value="${instance.name}" />
</f:entry>
<f:entry title="${%Script}">
<j:choose>
<j:when test="${null != it}">
<f:hetero-radio field="script" descriptors="${descriptor.getApplicableResultSeekers(it)}" />
</j:when>
<j:otherwise>
<f:hetero-radio field="script" descriptors="${descriptor.getApplicableResultSeekers(instance)}" />
</j:otherwise>
</j:choose>
<f:hetero-radio field="script" descriptors="${descriptor.getApplicableResultSeekers()}" />
</f:entry>
<f:entry title="${%Description}" field="description" help="/help/parameter/description.html">
<f:textarea name="parameter.description" value="${instance.description}" />
Expand Down

0 comments on commit 5c95815

Please sign in to comment.