| | |
| | | import com.gitblit.Constants.FederationPullStatus; |
| | | import com.gitblit.Constants.FederationStrategy; |
| | | import com.gitblit.GitBlitException.ForbiddenException; |
| | | import com.gitblit.Gitblit; |
| | | import com.gitblit.IUserService; |
| | | import com.gitblit.Keys; |
| | | import com.gitblit.manager.IGitblit; |
| | | import com.gitblit.models.FederationModel; |
| | | import com.gitblit.models.RefModel; |
| | | import com.gitblit.models.RepositoryModel; |
| | |
| | | |
| | | public abstract class FederationPullService implements Runnable { |
| | | |
| | | Logger logger = LoggerFactory.getLogger(getClass()); |
| | | final Logger logger = LoggerFactory.getLogger(getClass()); |
| | | |
| | | Gitblit gitblit; |
| | | final IGitblit gitblit; |
| | | |
| | | private final List<FederationModel> registrations; |
| | | |
| | |
| | | * @param provider |
| | | * @param registration |
| | | */ |
| | | public FederationPullService(FederationModel registration) { |
| | | this(Arrays.asList(registration)); |
| | | public FederationPullService(IGitblit gitblit, FederationModel registration) { |
| | | this(gitblit, Arrays.asList(registration)); |
| | | } |
| | | |
| | | /** |
| | |
| | | * if true, registrations are rescheduled in perpetuity. if |
| | | * false, the federation pull operation is executed once. |
| | | */ |
| | | public FederationPullService(List<FederationModel> registrations) { |
| | | public FederationPullService(IGitblit gitblit, List<FederationModel> registrations) { |
| | | this.gitblit = gitblit; |
| | | this.registrations = registrations; |
| | | } |
| | | |
| | |
| | | UserModel localUser = gitblit.getUserModel(user.username); |
| | | if (localUser == null) { |
| | | // create new local user |
| | | gitblit.updateUserModel(user.username, user, true); |
| | | gitblit.addUser(user); |
| | | } else { |
| | | // update repository permissions of local user |
| | | if (user.permissions != null) { |
| | |
| | | } |
| | | localUser.password = user.password; |
| | | localUser.canAdmin = user.canAdmin; |
| | | gitblit.updateUserModel(localUser.username, localUser, false); |
| | | gitblit.reviseUser(localUser.username, localUser); |
| | | } |
| | | |
| | | for (String teamname : gitblit.getAllTeamNames()) { |