Skip to content

Commit

Permalink
poc
Browse files Browse the repository at this point in the history
  • Loading branch information
fernau committed Nov 20, 2018
1 parent 119c03e commit a2e9e2f
Show file tree
Hide file tree
Showing 6 changed files with 71 additions and 13 deletions.
32 changes: 26 additions & 6 deletions src/main/java/org/sonatype/nexus/ci/iq/IqApplication.groovy
Expand Up @@ -12,21 +12,35 @@
*/
package org.sonatype.nexus.ci.iq

import javax.annotation.Nullable

import org.sonatype.nexus.ci.util.IqUtil

import com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter
import hudson.model.Describable
import hudson.model.Descriptor
import hudson.model.Job
import hudson.util.FormValidation
import hudson.util.ListBoxModel
import jenkins.model.Jenkins
import org.kohsuke.stapler.AncestorInPath
import org.kohsuke.stapler.DataBoundConstructor
import org.kohsuke.stapler.QueryParameter

@SuppressWarnings('AbstractClassWithoutAbstractMethod')
abstract class IqApplication
class IqApplication
implements Describable<IqApplication>
{
String applicationId
String iqApplicationIdSelected

String iqApplicationIdManual

protected IqApplication(final String applicationId) {
this.applicationId = applicationId
String value

@DataBoundConstructor
IqApplication(final String iqApplicationIdManual, final String iqApplicationIdSelected, final String value) {
this.iqApplicationIdManual = iqApplicationIdManual
this.iqApplicationIdSelected = iqApplicationIdSelected
this.value = value
}

@Override
Expand Down Expand Up @@ -56,8 +70,14 @@ abstract class IqApplication
super(clazz)
}

FormValidation doCheckApplicationId(@QueryParameter String value) {
FormValidation doCheckIqApplicationIdSelected(@QueryParameter String value) {
return FormValidation.validateRequired(value)
}

FormValidation doCheckIqApplicationIdManual(@QueryParameter String value) {
return FormValidation.validateRequired(value)
}


}
}
Expand Up @@ -53,21 +53,45 @@ class IqPolicyEvaluatorBuildStep

String jobCredentialsId

String iqApplicationIdSpecified

String idApplicationIdSelected

String iqApplicationIdType

@DataBoundConstructor
@SuppressWarnings('ParameterCount')
IqPolicyEvaluatorBuildStep(final String iqStage,
final IqApplication iqApplication,
final List<ScanPattern> iqScanPatterns,
final List<ModuleExclude> iqModuleExcludes,
final Boolean failBuildOnNetworkError,
final String jobCredentialsId)
final String jobCredentialsId,
final String iqApplicationIdSpecified,
final String idApplicationIdSelected,
final String iqApplicationIdType)
{
this.jobCredentialsId = jobCredentialsId
this.failBuildOnNetworkError = failBuildOnNetworkError
this.iqScanPatterns = iqScanPatterns
this.iqModuleExcludes = iqModuleExcludes
this.iqStage = iqStage
this.iqApplication = iqApplication
this.iqApplicationIdSpecified = iqApplicationIdSpecified
this.idApplicationIdSelected = idApplicationIdSelected
this.iqApplicationIdType = iqApplicationIdType
//this.iqApplication = new IqApplication(getActiveApplicationId(iqApplicationIdSpecified, iqApplicationIdSelected, iqApplicationIdType), iqApplicationIdType)
}


Boolean applicationIdTypeEquals(Object other) {
def value = iqApplicationIdType == other
return value
}

String getActiveApplicationId(final String applicationIdSpecified,
final String applicationIdSelected,
final String applicationIdType)
{
return applicationIdType == 'select' ? applicationIdSelected : applicationIdSpecified
}

@Override
Expand Down Expand Up @@ -125,6 +149,10 @@ class IqPolicyEvaluatorBuildStep
job)
}

ListBoxModel doFillIqApplicationIdSelectedItems(@QueryParameter String jobCredentialsId, @AncestorInPath Job job) {
IqUtil.doFillIqApplicationItems(jobCredentialsId, job)
}

@Override
FormValidation doVerifyCredentials(@QueryParameter @Nullable String jobCredentialsId, @AncestorInPath Job job)
{
Expand Down
Expand Up @@ -96,6 +96,8 @@ class IqPolicyEvaluatorWorkflowStep
extends AbstractStepDescriptorImpl
implements IqPolicyEvaluatorDescriptor
{
String applicationIdType

DescriptorImpl() {
super(PolicyEvaluatorExecution)
}
Expand Down
Expand Up @@ -21,7 +21,7 @@ public class ManualApplication
{
@DataBoundConstructor
public ManualApplication(final String applicationId) {
super(applicationId);
super(applicationId, null, "manual");
}

@Symbol("manualApplication")
Expand Down
Expand Up @@ -27,7 +27,7 @@ public class SelectedApplication
{
@DataBoundConstructor
public SelectedApplication(final String applicationId) {
super(applicationId);
super(null, applicationId, "select");
}

@Symbol("selectedApplication")
Expand Down
Expand Up @@ -49,8 +49,16 @@ f.section(title: descriptor.displayName) {
f.select()
}

f.entry(title: 'Application') {
f.hetero_radio(field: 'iqApplication', descriptors: Jenkins.instance.getDescriptorList(IqApplication.class))
f.radioBlock(checked: instance?.applicationIdTypeEquals('select'), name: 'iqApplicationIdType', title: 'Select IQ Application', value: 'select', inline: true) {
f.entry(title: _(Messages.IqPolicyEvaluation_Application()), field: 'iqApplicationIdSelected') {
f.select()
}
}

f.radioBlock(checked: instance?.applicationIdTypeEquals('manual'), name: 'iqApplicationIdType', title: 'Specify IQ Application ID', value: 'manual', inline: true) {
f.entry(title: _(Messages.IqPolicyEvaluation_Application()), help: descriptor.getHelpFile('applicationId')) {
f.textbox(field: 'iqApplicationIdManual')
}
}

f.advanced() {
Expand Down

0 comments on commit a2e9e2f

Please sign in to comment.