Skip to content

Commit

Permalink
Merge pull request #13 from fbelzunc/JENKINS-27637
Browse files Browse the repository at this point in the history
[FIXED JENKINS-27637] Refactor the plugin to use new model field databinding
  • Loading branch information
cchrysostom committed Jul 6, 2015
2 parents 581db69 + d30b3a9 commit 624eb65
Show file tree
Hide file tree
Showing 56 changed files with 85 additions and 126 deletions.
22 changes: 20 additions & 2 deletions .gitignore
@@ -1,3 +1,21 @@
target/
!.gitignore
target
work

# IntelliJ project files
*.iml
*.iws
*.ipr
.idea
out

# eclipse project file
.settings
.classpath
.project
build

# vim
*~

# OS X
.DS_Store
Expand Up @@ -41,12 +41,6 @@ public String getDisplayName() {
public boolean isApplicable(Class<? extends AbstractProject> jobType) {
return true;
}

@Override
public Publisher newInstance(StaplerRequest req, JSONObject formData) throws FormException {
return new SynergyFolderPublisher(Boolean.parseBoolean(req.getParameter("synergyPublisher.publish")), req
.getParameter("synergy.intFolder"), req.getParameter("synergy.devFolder"));
}
}

/**
Expand Down
17 changes: 9 additions & 8 deletions src/main/java/hudson/plugins/synergy/SynergyPublisher.java
Expand Up @@ -24,6 +24,7 @@
import java.text.SimpleDateFormat;
import java.util.Date;

import hudson.util.ListBoxModel;
import net.sf.json.JSONObject;

import org.kohsuke.stapler.DataBoundConstructor;
Expand All @@ -32,7 +33,7 @@
public class SynergyPublisher extends Notifier {
@Extension
public static class DescriptorImpl extends BuildStepDescriptor<Publisher> {
public DescriptorImpl() {
public DescriptorImpl() {
super(SynergyPublisher.class);
}

Expand All @@ -46,13 +47,13 @@ public boolean isApplicable(Class<? extends AbstractProject> jobType) {
return true;
}

@Override
public Publisher newInstance(StaplerRequest req, JSONObject formData) throws FormException {
return new SynergyPublisher(
req.getParameter("synergyPublisher.time"),
Boolean.parseBoolean(req.getParameter("synergyPublisher.publish"))
);
}
public ListBoxModel doFillTimeItems() {
ListBoxModel listBoxModel = new ListBoxModel();
listBoxModel.add("Before building the project (not working yet)", "before");
listBoxModel.add("After building the project", "after");
listBoxModel.add("If the build is successful", "success");
return listBoxModel;
}

}

Expand Down
33 changes: 0 additions & 33 deletions src/main/java/hudson/plugins/synergy/SynergySCM.java
Expand Up @@ -118,39 +118,6 @@ private DescriptorImpl() {
load();
}

@Override
public boolean configure(StaplerRequest request, JSONObject formData) throws FormException {
ccmExe = request.getParameter("synergy.ccmExe");
ccmUiLog = request.getParameter("synergy.ccmUiLog");
ccmEngLog = request.getParameter("synergy.ccmEngLog");
pathName = request.getParameter("synergy.pathName");
save();
return true;
}

@Override
public SCM newInstance(StaplerRequest req, JSONObject formData) throws FormException {
return new SynergySCM(
req.getParameter("synergy.project"),
req.getParameter("synergy.database"),
req.getParameter("synergy.release"),
req.getParameter("synergy.purpose"),
req.getParameter("synergy.username"),
req.getParameter("synergy.password"),
req.getParameter("synergy.engine"),
req.getParameter("synergy.oldProject"),
req.getParameter("synergy.baseline"),
req.getParameter("synergy.oldBaseline"),
req.getParameter("synergy.ccmHome"),
"true".equals(req.getParameter("synergy.remoteClient")),
"true".equals(req.getParameter("synergy.detectConflict")),
"true".equals(req.getParameter("synergy.replaceSubprojects")),
"true".equals(req.getParameter("synergy.checkForUpdateWarnings")),
"true".equals(req.getParameter("synergy.leaveSessionOpen")),
"true".equals(req.getParameter("synergy.maintainWorkarea")),
"true".equals(req.getParameter("synergy.checkTaskModifiedObjects")));
}

/**
* Checks if ccm executable exists.
*/
Expand Down
@@ -1,11 +1,11 @@
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form">
<f:entry title="Copy folder only if the build is successful">
<f:checkbox name="synergyPublisher.publish" value="true" checked="${instance.isPublish()}"/>
<f:entry field="publish">
<f:checkbox title="Copy folder only if the build is successful"/>
</f:entry>
<f:entry title="int folder" help="/plugin/synergy/intFolder.html">
<f:textbox name="synergy.intFolder" value="${instance.intFolder}" />
<f:entry field="intFolder" title="int folder">
<f:textbox/>
</f:entry>
<f:entry title="dev folder" help="/plugin/synergy/devFolder.html">
<f:textbox name="synergy.devFolder" value="${instance.devFolder}" />
<f:entry field="devFolder" title="dev folder">
<f:textbox/>
</f:entry>
</j:jelly>
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -1,14 +1,8 @@
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form">
<f:entry title="Before building the project (not working yet)">
<f:radio name="synergyPublisher.time" value="before" checked="${instance.time=='before'}"/>
</f:entry>
<f:entry title="After building the project">
<f:radio name="synergyPublisher.time" value="after" checked="${instance.time=='after'}"/>
</f:entry>
<f:entry title="If the build is successful">
<f:radio name="synergyPublisher.time" value="success" checked="${instance.time=='success'}"/>
</f:entry>
<f:entry title="Publish the baseline if the build is successful">
<f:checkbox name="synergyPublisher.publish" value="true" checked="${instance.isPublish()}"/>
</f:entry>
<f:entry field="time">
<f:select/>
</f:entry>
<f:entry field="publish" title="Publish the baseline if the build is successful">
<f:checkbox/>
</f:entry>
</j:jelly>
72 changes: 36 additions & 36 deletions src/main/resources/hudson/plugins/synergy/SynergySCM/config.jelly
@@ -1,56 +1,56 @@
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form">
<f:entry title="Database" help="/plugin/synergy/database.html">
<f:textbox name="synergy.database" value="${scm.database}" />
<f:entry field="database" title="Database">
<f:textbox/>
</f:entry>
<f:entry title="Engine" help="/plugin/synergy/engine.html">
<f:textbox name="synergy.engine" value="${scm.engine}" />
<f:entry field="engine" title="Engine">
<f:textbox/>
</f:entry>
<f:entry title="Username" help="/plugin/synergy/username.html">
<f:textbox name="synergy.username" value="${scm.username}" />
<f:entry field="username" title="Username">
<f:textbox/>
</f:entry>
<f:entry title="Password" help="/plugin/synergy/password.html">
<f:password name="synergy.password" value="${scm.password}" />
<f:entry field="password" title="Password">
<f:password/>
</f:entry>
<f:entry title="Remote client" help="/plugin/synergy/remoteClient.html">
<f:checkbox name="synergy.remoteClient" value="true" checked="${scm.isRemoteClient()}" />
<f:entry field="remoteClient" title="Remote client">
<f:checkbox/>
</f:entry>
<f:entry title="Ccm Home" help="/plugin/synergy/ccmHome.html">
<f:textbox name="synergy.ccmHome" value="${scm.ccmHome}" />
<f:entry field="ccmHome" title="Ccm Home">
<f:textbox/>
</f:entry>
<f:entry title="Project name" help="/plugin/synergy/project.html">
<f:textbox name="synergy.project" value="${scm.project}" />
<f:entry field="project" title="Project name">
<f:textbox/>
</f:entry>
<f:entry title="Maintain workarea" help="/plugin/synergy/maintainWorkarea.html">
<f:checkbox name="synergy.maintainWorkarea" value="true" checked="${scm.shouldMaintainWorkarea()}" />
<f:entry field="maintainWorkarea">
<f:checkbox title="Maintain workarea"/>
</f:entry>
<f:entry title="Detect conflicts" help="/plugin/synergy/conflict.html">
<f:checkbox name="synergy.detectConflict" value="true" checked="${scm.isDetectConflict()}" />
<f:entry field="detectConflict">
<f:checkbox title="Detect conflicts"/>
</f:entry>
<f:entry title="Check for update Warnings" help="/plugin/synergy/checkForUpdateWarnings.html">
<f:checkbox name="synergy.checkForUpdateWarnings" value="true" checked="${scm.isCheckForUpdateWarnings()}" />
<f:entry field="checkForUpdateWarnings">
<f:checkbox title="Check for update Warnings"/>
</f:entry>
<f:entry title="Check for modifications" help="/plugin/synergy/checkTaskModifiedObjects.html">
<f:checkbox name="synergy.checkTaskModifiedObjects" value="true" checked="${scm.isCheckTaskModifiedObjects()}" />
<f:entry field="checkTaskModifiedObjects">
<f:checkbox title="Check for modifications"/>
</f:entry>
<f:entry title="Replace Subprojects" help="/plugin/synergy/replaceSubprojects.html">
<f:checkbox name="synergy.replaceSubprojects" value="true" checked="${scm.isReplaceSubprojects()}" />
<f:entry field="replaceSubprojects">
<f:checkbox title="Replace Subprojects"/>
</f:entry>
<f:entry title="Release" help="/plugin/synergy/release.html">
<f:textbox name="synergy.release" value="${scm.release}" />
<f:entry field="release" title="Release">
<f:textbox/>
</f:entry>
<f:entry title="Purpose" help="/plugin/synergy/purpose.html">
<f:textbox name="synergy.purpose" value="${scm.purpose}" />
<f:entry field="purpose" title="Purpose">
<f:textbox/>
</f:entry>
<f:entry title="Old project name" help="/plugin/synergy/old-project.html">
<f:textbox name="synergy.oldProject" value="${scm.oldProject}" />
<f:entry field="oldProject" title="Old project name">
<f:textbox/>
</f:entry>
<f:entry title="Baseline" help="/plugin/synergy/baseline.html">
<f:textbox name="synergy.baseline" value="${scm.baseline}" />
<f:entry field="baseline" title="Baseline">
<f:textbox/>
</f:entry>
<f:entry title="Old baseline" help="/plugin/synergy/old-baseline.html">
<f:textbox name="synergy.oldBaseline" value="${scm.oldBaseline}" />
<f:entry field="oldBaseline" title="Old baseline">
<f:textbox/>
</f:entry>
<f:entry title="Leave session open after update" help="/plugin/synergy/leaveSessionOpen.html">
<f:checkbox name="synergy.leaveSessionOpen" value="true" checked="${scm.isLeaveSessionOpen()}" />
<f:entry field="leaveSessionOpen">
<f:checkbox title="Leave session open after update"/>
</f:entry>
</j:jelly>
@@ -1,18 +1,17 @@
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define"
xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form">
<f:section title="Synergy">
<f:entry title="ccm executable" help="/plugin/synergy/ccmexe.html">
<f:textbox name="synergy.ccmExe" value="${descriptor.ccmExe}"
checkUrl="'${rootURL}/scm/SynergySCM/ccmExeCheck?value='+escape(this.value)" />
<f:entry title="ccm executable">
<f:textbox/>
</f:entry>
<f:entry title="ccm pathname" help="/plugin/synergy/pathname.html">
<f:textbox name="synergy.pathName" value="${descriptor.pathName}"/>
<f:entry title="ccm pathname">
<f:textbox/>
</f:entry>
<f:entry title="ccm ui log" help="/plugin/synergy/ccmuilog.html">
<f:textbox name="synergy.ccmUiLog" value="${descriptor.ccmUiLog}" />
<f:entry title="ccm ui log">
<f:textbox/>
</f:entry>
<f:entry title="ccm eng log" help="/plugin/synergy/ccmenglog.html">
<f:textbox name="synergy.ccmEngLog" value="${descriptor.ccmEngLog}" />
<f:entry title="ccm eng log">
<f:textbox/>
</f:entry>
</f:section>
</j:jelly>
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
5 changes: 0 additions & 5 deletions src/main/webapp/help-globalConfig.html

This file was deleted.

8 changes: 0 additions & 8 deletions src/main/webapp/help-projectConfig.html

This file was deleted.

1 change: 0 additions & 1 deletion src/main/webapp/version.html

This file was deleted.

0 comments on commit 624eb65

Please sign in to comment.