From e41e8f8c3bc9f5edab1d271464364f95620ece8c Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 19 Nov 2015 17:55:38 -0500 Subject: [PATCH] Create filestore directory on startup --- src/main/java/com/gitblit/GitBlit.java | 744 ++------------------------------------------------------ 1 files changed, 31 insertions(+), 713 deletions(-) diff --git a/src/main/java/com/gitblit/GitBlit.java b/src/main/java/com/gitblit/GitBlit.java index d4e89b0..4e25d5c 100644 --- a/src/main/java/com/gitblit/GitBlit.java +++ b/src/main/java/com/gitblit/GitBlit.java @@ -15,740 +15,58 @@ */ package com.gitblit; -import java.io.File; -import java.util.Collection; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.TimeZone; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.eclipse.jgit.lib.Repository; - -import com.gitblit.Constants.FederationRequest; -import com.gitblit.Constants.FederationToken; +import com.gitblit.manager.GitblitManager; import com.gitblit.manager.IAuthenticationManager; import com.gitblit.manager.IFederationManager; -import com.gitblit.manager.IGitblitManager; +import com.gitblit.manager.IFilestoreManager; import com.gitblit.manager.INotificationManager; +import com.gitblit.manager.IPluginManager; import com.gitblit.manager.IProjectManager; import com.gitblit.manager.IRepositoryManager; import com.gitblit.manager.IRuntimeManager; import com.gitblit.manager.IUserManager; -import com.gitblit.models.FederationModel; -import com.gitblit.models.FederationProposal; -import com.gitblit.models.FederationSet; -import com.gitblit.models.ForkModel; -import com.gitblit.models.GitClientApplication; -import com.gitblit.models.Metric; -import com.gitblit.models.ProjectModel; -import com.gitblit.models.RegistrantAccessPermission; -import com.gitblit.models.RepositoryModel; -import com.gitblit.models.RepositoryUrl; -import com.gitblit.models.SearchResult; -import com.gitblit.models.ServerSettings; -import com.gitblit.models.ServerStatus; -import com.gitblit.models.TeamModel; -import com.gitblit.models.UserModel; +import com.gitblit.tickets.ITicketService; +import com.gitblit.transport.ssh.IPublicKeyManager; +import com.google.inject.Inject; +import com.google.inject.Provider; +import com.google.inject.Singleton; /** - * GitBlit is an aggregate interface delegate. It implements all the manager - * interfaces and delegates all methods calls to the actual manager implementations. - * It's primary purpose is to provide complete management control to the git - * upload and receive pack functions. + * GitBlit is the aggregate manager for the Gitblit webapp. The parent class provides all + * functionality. This class exists to not break existing Groovy push hooks. * * @author James Moger * */ -public class GitBlit implements IRuntimeManager, - INotificationManager, - IUserManager, - IAuthenticationManager, - IRepositoryManager, - IProjectManager, - IGitblitManager, - IFederationManager { +@Singleton +@Deprecated +public class GitBlit extends GitblitManager { - private final IRuntimeManager runtimeManager; - - private final INotificationManager notificationManager; - - private final IUserManager userManager; - - private final IAuthenticationManager authenticationManager; - - private final IRepositoryManager repositoryManager; - - private final IProjectManager projectManager; - - private final IGitblitManager gitblitManager; - - private final IFederationManager federationManager; - + @Inject public GitBlit( + Provider<IPublicKeyManager> publicKeyManagerProvider, + Provider<ITicketService> ticketServiceProvider, IRuntimeManager runtimeManager, + IPluginManager pluginManager, INotificationManager notificationManager, IUserManager userManager, IAuthenticationManager authenticationManager, IRepositoryManager repositoryManager, IProjectManager projectManager, - IGitblitManager gitblitManager, - IFederationManager federationManager) { + IFederationManager federationManager, + IFilestoreManager filestoreManager) { - this.runtimeManager = runtimeManager; - this.notificationManager = notificationManager; - this.userManager = userManager; - this.authenticationManager = authenticationManager; - this.repositoryManager = repositoryManager; - this.projectManager = projectManager; - this.gitblitManager = gitblitManager; - this.federationManager = federationManager; - } - - @Override - public GitBlit start() { - return this; - } - - @Override - public GitBlit stop() { - return this; - } - - /* - * ISTOREDSETTINGS - * - * these methods are necessary for (nearly) seamless Groovy hook operation - * after the massive refactor. - */ - - public boolean getBoolean(String key, boolean defaultValue) { - return runtimeManager.getSettings().getBoolean(key, defaultValue); - } - - public String getString(String key, String defaultValue) { - return runtimeManager.getSettings().getString(key, defaultValue); - } - - public int getInteger(String key, int defaultValue) { - return runtimeManager.getSettings().getInteger(key, defaultValue); - } - - public List<String> getStrings(String key) { - return runtimeManager.getSettings().getStrings(key); - } - - /* - * RUNTIME MANAGER - */ - - @Override - public File getBaseFolder() { - return runtimeManager.getBaseFolder(); - } - - @Override - public void setBaseFolder(File folder) { - runtimeManager.setBaseFolder(folder); - } - - @Override - public Date getBootDate() { - return runtimeManager.getBootDate(); - } - - @Override - public ServerSettings getSettingsModel() { - return runtimeManager.getSettingsModel(); - } - - @Override - public boolean isServingRepositories() { - return runtimeManager.isServingRepositories(); - } - - @Override - public TimeZone getTimezone() { - return runtimeManager.getTimezone(); - } - - @Override - public boolean isDebugMode() { - return runtimeManager.isDebugMode(); - } - - @Override - public File getFileOrFolder(String key, String defaultFileOrFolder) { - return runtimeManager.getFileOrFolder(key, defaultFileOrFolder); - } - - @Override - public File getFileOrFolder(String fileOrFolder) { - return runtimeManager.getFileOrFolder(fileOrFolder); - } - - @Override - public IStoredSettings getSettings() { - return runtimeManager.getSettings(); - } - - @Override - public boolean updateSettings(Map<String, String> updatedSettings) { - return runtimeManager.updateSettings(updatedSettings); - } - - @Override - public ServerStatus getStatus() { - return runtimeManager.getStatus(); - } - - /* - * NOTIFICATION MANAGER - */ - - @Override - public void sendMailToAdministrators(String subject, String message) { - notificationManager.sendMailToAdministrators(subject, message); - } - - @Override - public void sendMail(String subject, String message, Collection<String> toAddresses) { - notificationManager.sendMail(subject, message, toAddresses); - } - - @Override - public void sendMail(String subject, String message, String... toAddresses) { - notificationManager.sendMail(subject, message, toAddresses); - } - - @Override - public void sendHtmlMail(String subject, String message, Collection<String> toAddresses) { - notificationManager.sendHtmlMail(subject, message, toAddresses); - } - - @Override - public void sendHtmlMail(String subject, String message, String... toAddresses) { - notificationManager.sendHtmlMail(subject, message, toAddresses); - } - - /* - * SESSION MANAGER - */ - - @Override - public UserModel authenticate(String username, char[] password) { - return authenticationManager.authenticate(username, password); - } - - @Override - public UserModel authenticate(HttpServletRequest httpRequest) { - return authenticationManager.authenticate(httpRequest, false); - } - @Override - public UserModel authenticate(HttpServletRequest httpRequest, boolean requiresCertificate) { - return authenticationManager.authenticate(httpRequest, requiresCertificate); - } - - @Override - public void setCookie(HttpServletResponse response, UserModel user) { - authenticationManager.setCookie(response, user); - } - - @Override - public void logout(HttpServletResponse response, UserModel user) { - authenticationManager.logout(response, user); - } - - @Override - public boolean supportsCredentialChanges(UserModel user) { - return authenticationManager.supportsCredentialChanges(user); - } - - @Override - public boolean supportsDisplayNameChanges(UserModel user) { - return authenticationManager.supportsDisplayNameChanges(user); - } - - @Override - public boolean supportsEmailAddressChanges(UserModel user) { - return authenticationManager.supportsEmailAddressChanges(user); - } - - @Override - public boolean supportsTeamMembershipChanges(UserModel user) { - return authenticationManager.supportsTeamMembershipChanges(user); - } - - @Override - public boolean supportsTeamMembershipChanges(TeamModel team) { - return authenticationManager.supportsTeamMembershipChanges(team); - } - - /* - * USER MANAGER - */ - - @Override - public void setup(IRuntimeManager runtimeManager) { - } - - @Override - public List<String> getAllUsernames() { - return userManager.getAllUsernames(); - } - - @Override - public List<UserModel> getAllUsers() { - return userManager.getAllUsers(); - } - - @Override - public boolean deleteUser(String username) { - return userManager.deleteUser(username); - } - - @Override - public UserModel getUserModel(String username) { - return userManager.getUserModel(username); - } - - @Override - public List<TeamModel> getAllTeams() { - return userManager.getAllTeams(); - } - - @Override - public TeamModel getTeamModel(String teamname) { - return userManager.getTeamModel(teamname); - } - - @Override - public String getCookie(UserModel model) { - return userManager.getCookie(model); - } - - @Override - public UserModel getUserModel(char[] cookie) { - return userManager.getUserModel(cookie); - } - - @Override - public boolean updateUserModel(UserModel model) { - return userManager.updateUserModel(model); - } - - @Override - public boolean updateUserModels(Collection<UserModel> models) { - return userManager.updateUserModels(models); - } - - @Override - public boolean updateUserModel(String username, UserModel model) { - return userManager.updateUserModel(username, model); - } - - @Override - public boolean deleteUserModel(UserModel model) { - return userManager.deleteUserModel(model); - } - - @Override - public List<String> getAllTeamNames() { - return userManager.getAllTeamNames(); - } - - @Override - public List<String> getTeamNamesForRepositoryRole(String role) { - return userManager.getTeamNamesForRepositoryRole(role); - } - - @Override - public boolean updateTeamModel(TeamModel model) { - return userManager.updateTeamModel(model); - } - - @Override - public boolean updateTeamModels(Collection<TeamModel> models) { - return userManager.updateTeamModels(models); - } - - @Override - public boolean updateTeamModel(String teamname, TeamModel model) { - return userManager.updateTeamModel(teamname, model); - } - - @Override - public boolean deleteTeamModel(TeamModel model) { - return userManager.deleteTeamModel(model); - } - - @Override - public List<String> getUsernamesForRepositoryRole(String role) { - return userManager.getUsernamesForRepositoryRole(role); - } - - @Override - public boolean renameRepositoryRole(String oldRole, String newRole) { - return userManager.renameRepositoryRole(oldRole, newRole); - } - - @Override - public boolean deleteRepositoryRole(String role) { - return userManager.deleteRepositoryRole(role); - } - - @Override - public boolean deleteTeam(String teamname) { - return userManager.deleteTeam(teamname); - } - - /* - * REPOSITORY MANAGER - */ - - @Override - public Date getLastActivityDate() { - return repositoryManager.getLastActivityDate(); - } - - @Override - public File getRepositoriesFolder() { - return repositoryManager.getRepositoriesFolder(); - } - - @Override - public File getHooksFolder() { - return repositoryManager.getHooksFolder(); - } - - @Override - public File getGrapesFolder() { - return repositoryManager.getGrapesFolder(); - } - - @Override - public List<RegistrantAccessPermission> getUserAccessPermissions(UserModel user) { - return repositoryManager.getUserAccessPermissions(user); - } - - @Override - public List<RegistrantAccessPermission> getUserAccessPermissions(RepositoryModel repository) { - return repositoryManager.getUserAccessPermissions(repository); - } - - @Override - public boolean setUserAccessPermissions(RepositoryModel repository, Collection<RegistrantAccessPermission> permissions) { - return repositoryManager.setUserAccessPermissions(repository, permissions); - } - - @Override - public List<String> getRepositoryUsers(RepositoryModel repository) { - return repositoryManager.getRepositoryUsers(repository); - } - - @Override - public List<RegistrantAccessPermission> getTeamAccessPermissions(RepositoryModel repository) { - return repositoryManager.getTeamAccessPermissions(repository); - } - - @Override - public boolean setTeamAccessPermissions(RepositoryModel repository, Collection<RegistrantAccessPermission> permissions) { - return repositoryManager.setTeamAccessPermissions(repository, permissions); - } - - @Override - public List<String> getRepositoryTeams(RepositoryModel repository) { - return repositoryManager.getRepositoryTeams(repository); - } - @Override - public void addToCachedRepositoryList(RepositoryModel model) { - repositoryManager.addToCachedRepositoryList(model); - } - - @Override - public void resetRepositoryListCache() { - repositoryManager.resetRepositoryListCache(); - } - - @Override - public List<String> getRepositoryList() { - return repositoryManager.getRepositoryList(); - } - - @Override - public Repository getRepository(String repositoryName) { - return repositoryManager.getRepository(repositoryName); - } - - @Override - public Repository getRepository(String repositoryName, boolean logError) { - return repositoryManager.getRepository(repositoryName, logError); - } - - @Override - public List<RepositoryModel> getRepositoryModels(UserModel user) { - return repositoryManager.getRepositoryModels(user); - } - - @Override - public RepositoryModel getRepositoryModel(UserModel user, String repositoryName) { - return repositoryManager.getRepositoryModel(repositoryName); - } - - @Override - public RepositoryModel getRepositoryModel(String repositoryName) { - return repositoryManager.getRepositoryModel(repositoryName); - } - - @Override - public long getStarCount(RepositoryModel repository) { - return repositoryManager.getStarCount(repository); - } - - @Override - public boolean hasRepository(String repositoryName) { - return repositoryManager.hasRepository(repositoryName); - } - - @Override - public boolean hasRepository(String repositoryName, boolean caseSensitiveCheck) { - return repositoryManager.hasRepository(repositoryName, caseSensitiveCheck); - } - - @Override - public boolean hasFork(String username, String origin) { - return repositoryManager.hasFork(username, origin); - } - - @Override - public String getFork(String username, String origin) { - return repositoryManager.getFork(username, origin); - } - - @Override - public ForkModel getForkNetwork(String repository) { - return repositoryManager.getForkNetwork(repository); - } - - @Override - public long updateLastChangeFields(Repository r, RepositoryModel model) { - return repositoryManager.updateLastChangeFields(r, model); - } - - @Override - public List<Metric> getRepositoryDefaultMetrics(RepositoryModel model, Repository repository) { - return repositoryManager.getRepositoryDefaultMetrics(model, repository); - } - - @Override - public void updateRepositoryModel(String repositoryName, RepositoryModel repository, - boolean isCreate) throws GitBlitException { - repositoryManager.updateRepositoryModel(repositoryName, repository, isCreate); - } - - @Override - public void updateConfiguration(Repository r, RepositoryModel repository) { - repositoryManager.updateConfiguration(r, repository); - } - - @Override - public boolean deleteRepositoryModel(RepositoryModel model) { - return repositoryManager.deleteRepositoryModel(model); - } - - @Override - public boolean deleteRepository(String repositoryName) { - return repositoryManager.deleteRepository(repositoryName); - } - - @Override - public List<String> getAllScripts() { - return repositoryManager.getAllScripts(); - } - - @Override - public List<String> getPreReceiveScriptsInherited(RepositoryModel repository) { - return repositoryManager.getPreReceiveScriptsInherited(repository); - } - - @Override - public List<String> getPreReceiveScriptsUnused(RepositoryModel repository) { - return repositoryManager.getPreReceiveScriptsUnused(repository); - } - - @Override - public List<String> getPostReceiveScriptsInherited(RepositoryModel repository) { - return repositoryManager.getPostReceiveScriptsInherited(repository); - } - - @Override - public List<String> getPostReceiveScriptsUnused(RepositoryModel repository) { - return repositoryManager.getPostReceiveScriptsUnused(repository); - } - - @Override - public List<SearchResult> search(String query, int page, int pageSize, List<String> repositories) { - return repositoryManager.search(query, page, pageSize, repositories); - } - - @Override - public boolean isCollectingGarbage() { - return repositoryManager.isCollectingGarbage(); - } - - @Override - public boolean isCollectingGarbage(String repositoryName) { - return repositoryManager.isCollectingGarbage(repositoryName); - } - - /* - * PROJECT MANAGER - */ - - @Override - public List<ProjectModel> getProjectModels(UserModel user, boolean includeUsers) { - return projectManager.getProjectModels(user, includeUsers); - } - - @Override - public ProjectModel getProjectModel(String name, UserModel user) { - return projectManager.getProjectModel(name, user); - } - - @Override - public ProjectModel getProjectModel(String name) { - return projectManager.getProjectModel(name); - } - - @Override - public List<ProjectModel> getProjectModels(List<RepositoryModel> repositoryModels, boolean includeUsers) { - return projectManager.getProjectModels(repositoryModels, includeUsers); - } - - /* - * FEDERATION MANAGER - */ - - @Override - public File getProposalsFolder() { - return federationManager.getProposalsFolder(); - } - - @Override - public UserModel getFederationUser() { - return federationManager.getFederationUser(); - } - - @Override - public boolean canFederate() { - return federationManager.canFederate(); - } - - @Override - public List<FederationModel> getFederationRegistrations() { - return federationManager.getFederationRegistrations(); - } - - @Override - public FederationModel getFederationRegistration(String url, String name) { - return federationManager.getFederationRegistration(url, name); - } - - @Override - public List<FederationSet> getFederationSets(String gitblitUrl) { - return federationManager.getFederationSets(gitblitUrl); - } - - @Override - public List<String> getFederationTokens() { - return federationManager.getFederationTokens(); - } - - @Override - public String getFederationToken(FederationToken type) { - return federationManager.getFederationToken(type); - } - - @Override - public String getFederationToken(String value) { - return federationManager.getFederationToken(value); - } - - @Override - public boolean validateFederationRequest(FederationRequest req, String token) { - return federationManager.validateFederationRequest(req, token); - } - - @Override - public boolean acknowledgeFederationStatus(String identification, FederationModel registration) { - return federationManager.acknowledgeFederationStatus(identification, registration); - } - - @Override - public List<FederationModel> getFederationResultRegistrations() { - return federationManager.getFederationResultRegistrations(); - } - - @Override - public boolean submitFederationProposal(FederationProposal proposal, String gitblitUrl) { - return federationManager.submitFederationProposal(proposal, gitblitUrl); - } - - @Override - public List<FederationProposal> getPendingFederationProposals() { - return federationManager.getPendingFederationProposals(); - } - - @Override - public Map<String, RepositoryModel> getRepositories(String gitblitUrl, String token) { - return federationManager.getRepositories(gitblitUrl, token); - } - - @Override - public FederationProposal createFederationProposal(String gitblitUrl, String token) { - return federationManager.createFederationProposal(gitblitUrl, token); - } - - @Override - public FederationProposal getPendingFederationProposal(String token) { - return federationManager.getPendingFederationProposal(token); - } - - @Override - public boolean deletePendingFederationProposal(FederationProposal proposal) { - return federationManager.deletePendingFederationProposal(proposal); - } - - /* - * GITBLIT MANAGER - */ - - @Override - public RepositoryModel fork(RepositoryModel repository, UserModel user) throws GitBlitException { - return gitblitManager.fork(repository, user); - } - - @Override - public void updateTeamModel(String teamname, TeamModel team, boolean isCreate) - throws GitBlitException { - gitblitManager.updateTeamModel(teamname, team, isCreate); - } - - @Override - public void updateUserModel(String username, UserModel user, boolean isCreate) - throws GitBlitException { - gitblitManager.updateUserModel(username, user, isCreate); - } - - @Override - public List<RepositoryUrl> getRepositoryUrls(HttpServletRequest request, UserModel user, RepositoryModel repository) { - return gitblitManager.getRepositoryUrls(request, user, repository); - } - - @Override - public Collection<GitClientApplication> getClientApplications() { - return gitblitManager.getClientApplications(); + super( + publicKeyManagerProvider, + ticketServiceProvider, + runtimeManager, + pluginManager, + notificationManager, + userManager, + authenticationManager, + repositoryManager, + projectManager, + federationManager, + filestoreManager); } } -- Gitblit v1.9.1