Skip to content

Commit

Permalink
Merge pull request #52 from jenkinsci/jenkins-38987-follow-up
Browse files Browse the repository at this point in the history
[JENKINS-38987 Follow-up] Pick up SCMxxx.getPronoun()
  • Loading branch information
stephenc committed Oct 14, 2016
2 parents 4fdf888 + ccbc3e6 commit 637eece
Show file tree
Hide file tree
Showing 5 changed files with 79 additions and 18 deletions.
6 changes: 3 additions & 3 deletions pom.xml
Expand Up @@ -87,12 +87,12 @@
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>scm-api</artifactId>
<version>1.2</version>
<version>1.4-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>cloudbees-folder</artifactId>
<version>5.10</version>
<version>5.14-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
Expand All @@ -116,7 +116,7 @@
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>credentials</artifactId>
<version>1.24</version>
<version>2.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
Expand Down
1 change: 1 addition & 0 deletions src/main/java/jenkins/branch/BranchSource.java
Expand Up @@ -76,6 +76,7 @@ private Object readResolve() {
*
* @return the source.
*/
@NonNull
public SCMSource getSource() {
return source;
}
Expand Down
46 changes: 31 additions & 15 deletions src/main/java/jenkins/branch/MultiBranchProject.java
Expand Up @@ -45,20 +45,6 @@
import hudson.security.ACL;
import hudson.security.Permission;
import hudson.util.PersistedList;
import jenkins.scm.api.SCMHead;
import jenkins.scm.api.SCMHeadObserver;
import jenkins.scm.api.SCMRevision;
import jenkins.scm.api.SCMSource;
import jenkins.scm.api.SCMSourceCriteria;
import jenkins.scm.api.SCMSourceOwner;
import jenkins.scm.impl.NullSCMSource;
import net.sf.json.JSONObject;
import org.acegisecurity.Authentication;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.export.Exported;

import javax.servlet.ServletException;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
Expand All @@ -68,10 +54,25 @@
import java.util.Collections;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import jenkins.model.ParameterizedJobMixIn;
import jenkins.scm.api.SCMHead;
import jenkins.scm.api.SCMHeadObserver;
import jenkins.scm.api.SCMRevision;
import jenkins.scm.api.SCMSource;
import jenkins.scm.api.SCMSourceCriteria;
import jenkins.scm.api.SCMSourceOwner;
import jenkins.scm.impl.NullSCMSource;
import jenkins.triggers.SCMTriggerItem;
import net.sf.json.JSONObject;
import org.acegisecurity.Authentication;
import org.apache.commons.lang.StringUtils;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.export.Exported;

/**
* Abstract base class for multiple-branch based projects.
Expand Down Expand Up @@ -142,6 +143,21 @@ private synchronized void init2() {
factory.setOwner(this);
}

/**
* {@inheritDoc}
*/
@Override
public String getPronoun() {
Set<String> result = new TreeSet<>();
for (BranchSource source: sources) {
String pronoun = Util.fixEmptyAndTrim(source.getSource().getPronoun());
if (pronoun != null) {
result.add(pronoun);
}
}
return result.isEmpty() ? super.getPronoun() : StringUtils.join(result, " / ");
}

/**
* Returns the {@link BranchProjectFactory}. ˜
*
Expand Down Expand Up @@ -617,7 +633,7 @@ public File getLogFile() {
*/
@Override
public String getDisplayName() {
return "Branch Indexing";
return Messages.MultiBranchProject_BranchIndexing_displayName(getParent().getPronoun());
}

/**
Expand Down
42 changes: 42 additions & 0 deletions src/main/java/jenkins/branch/OrganizationFolder.java
Expand Up @@ -28,9 +28,11 @@
import com.cloudbees.hudson.plugins.folder.AbstractFolderDescriptor;
import com.cloudbees.hudson.plugins.folder.computed.ChildObserver;
import com.cloudbees.hudson.plugins.folder.computed.ComputedFolder;
import com.cloudbees.hudson.plugins.folder.computed.FolderComputation;
import com.cloudbees.hudson.plugins.folder.computed.PeriodicFolderTrigger;
import hudson.Extension;
import hudson.ExtensionList;
import hudson.Util;
import hudson.model.Descriptor;
import hudson.model.Item;
import hudson.model.ItemGroup;
Expand All @@ -46,15 +48,19 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
import java.util.WeakHashMap;
import java.util.concurrent.Callable;
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
import javax.servlet.ServletException;
import jenkins.scm.api.SCMNavigator;
import jenkins.scm.api.SCMNavigatorDescriptor;
import jenkins.scm.api.SCMSource;
import jenkins.scm.api.SCMSourceCriteria;
import jenkins.scm.api.SCMSourceObserver;
import jenkins.scm.api.SCMSourceOwner;
import org.apache.commons.lang.StringUtils;
import org.kohsuke.accmod.Restricted;
import org.kohsuke.accmod.restrictions.NoExternalUse;
import org.kohsuke.stapler.StaplerRequest;
Expand Down Expand Up @@ -115,6 +121,13 @@ protected void submit(StaplerRequest req, StaplerResponse rsp) throws IOExceptio
projectFactories.rebuildHetero(req, req.getSubmittedForm(), ExtensionList.lookup(MultiBranchProjectFactoryDescriptor.class), "projectFactories");
}

@Nonnull
@Override
protected FolderComputation<MultiBranchProject<?, ?>> createComputation(
@CheckForNull FolderComputation<MultiBranchProject<?, ?>> previous) {
return new OrganizationScan(OrganizationFolder.this, previous);
}

@Override
protected void computeChildren(final ChildObserver<MultiBranchProject<?,?>> observer, final TaskListener listener) throws IOException, InterruptedException {
for (SCMNavigator navigator : navigators) {
Expand Down Expand Up @@ -210,6 +223,21 @@ public void addAttribute(String key, Object value) throws IllegalArgumentExcepti
}
}

/**
* {@inheritDoc}
*/
@Override
public String getPronoun() {
Set<String> result = new TreeSet<>();
for (SCMNavigator navigator: navigators) {
String pronoun = Util.fixEmptyAndTrim(navigator.getPronoun());
if (pronoun != null) {
result.add(pronoun);
}
}
return result.isEmpty() ? super.getPronoun() : StringUtils.join(result, " / ");
}

@Override
public List<SCMSource> getSCMSources() {
// Probably unused unless onSCMSourceUpdated implemented, but just in case:
Expand Down Expand Up @@ -296,4 +324,18 @@ public TopLevelItem newInstance(ItemGroup parent, String name) {

}

public static class OrganizationScan extends FolderComputation<MultiBranchProject<?, ?>> {
public OrganizationScan(OrganizationFolder folder, FolderComputation<MultiBranchProject<?, ?>> previous) {
super(folder, previous);
}

/**
* {@inheritDoc}
*/
@Override
public String getDisplayName() {
return Messages.OrganizationFolder_OrganizationScan_displayName(getParent().getPronoun());
}

}
}
2 changes: 2 additions & 0 deletions src/main/resources/jenkins/branch/Messages.properties
Expand Up @@ -36,3 +36,5 @@ RateLimitBranchProperty.duration.day=Day
RateLimitBranchProperty.duration.week=Week
RateLimitBranchProperty.duration.month=Month
RateLimitBranchProperty.duration.year=Year
MultiBranchProject.BranchIndexing.displayName=Scan {0}
OrganizationFolder.OrganizationScan.displayName=Scan {0}

0 comments on commit 637eece

Please sign in to comment.