From a502d96a860456ec5e8c96761db70f7cabb74751 Mon Sep 17 00:00:00 2001
From: Paul Martin <paul@paulsputer.com>
Date: Sat, 30 Apr 2016 04:19:14 -0400
Subject: [PATCH] Merge pull request #1073 from gitblit/1062-DocEditorUpdates

---
 src/main/java/com/gitblit/manager/IFederationManager.java |   37 +++++++++++++++++++++++++++++++++++--
 1 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/gitblit/manager/IFederationManager.java b/src/main/java/com/gitblit/manager/IFederationManager.java
index debe362..df27174 100644
--- a/src/main/java/com/gitblit/manager/IFederationManager.java
+++ b/src/main/java/com/gitblit/manager/IFederationManager.java
@@ -19,6 +19,8 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.servlet.http.HttpServletRequest;
+
 import com.gitblit.Constants.FederationRequest;
 import com.gitblit.Constants.FederationToken;
 import com.gitblit.models.FederationModel;
@@ -27,25 +29,42 @@
 import com.gitblit.models.RepositoryModel;
 import com.gitblit.models.UserModel;
 
-public interface IFederationManager {
+public interface IFederationManager extends IManager {
 
 	/**
 	 * Returns the path of the proposals folder. This method checks to see if
 	 * Gitblit is running on a cloud service and may return an adjusted path.
 	 *
 	 * @return the proposals folder path
+	 * @since 1.4.0
 	 */
 	File getProposalsFolder();
 
+	boolean canFederate();
+
+	/**
+	 * Returns the federation user account.
+	 *
+	 * @return the federation user account
+	 * @since 1.4.0
+	 */
 	UserModel getFederationUser();
 
-	boolean canFederate();
+	/**
+	 * Try to authenticate request as the Federation user.
+	 *
+	 * @param httpRequest
+	 * @return the federation user, if authenticated
+	 * @since 1.4.0
+	 */
+	UserModel authenticate(HttpServletRequest httpRequest);
 
 	/**
 	 * Returns the list of federated gitblit instances that this instance will
 	 * try to pull.
 	 *
 	 * @return list of registered gitblit instances
+	 * @since 1.4.0
 	 */
 	List<FederationModel> getFederationRegistrations();
 
@@ -55,6 +74,7 @@
 	 * @param name
 	 *            the name of the registration
 	 * @return a federation registration
+	 * @since 1.4.0
 	 */
 	FederationModel getFederationRegistration(String url, String name);
 
@@ -62,6 +82,7 @@
 	 * Returns the list of federation sets.
 	 *
 	 * @return list of federation sets
+	 * @since 1.4.0
 	 */
 	List<FederationSet> getFederationSets(String gitblitUrl);
 
@@ -69,6 +90,7 @@
 	 * Returns the list of possible federation tokens for this Gitblit instance.
 	 *
 	 * @return list of federation tokens
+	 * @since 1.4.0
 	 */
 	List<String> getFederationTokens();
 
@@ -77,6 +99,7 @@
 	 *
 	 * @param type
 	 * @return a federation token
+	 * @since 1.4.0
 	 */
 	String getFederationToken(FederationToken type);
 
@@ -85,6 +108,7 @@
 	 *
 	 * @param value
 	 * @return a federation token
+	 * @since 1.4.0
 	 */
 	String getFederationToken(String value);
 
@@ -95,6 +119,7 @@
 	 * @param req
 	 * @param token
 	 * @return true if the request can be executed
+	 * @since 1.4.0
 	 */
 	boolean validateFederationRequest(FederationRequest req, String token);
 
@@ -106,6 +131,7 @@
 	 * @param registration
 	 *            the registration from the pulling Gitblit instance
 	 * @return true if acknowledged
+	 * @since 1.4.0
 	 */
 	boolean acknowledgeFederationStatus(String identification, FederationModel registration);
 
@@ -113,6 +139,7 @@
 	 * Returns the list of registration results.
 	 *
 	 * @return the list of registration results
+	 * @since 1.4.0
 	 */
 	List<FederationModel> getFederationResultRegistrations();
 
@@ -126,6 +153,7 @@
 	 *            the url of your gitblit instance to send an email to
 	 *            administrators
 	 * @return true if the proposal was submitted
+	 * @since 1.4.0
 	 */
 	boolean submitFederationProposal(FederationProposal proposal, String gitblitUrl);
 
@@ -133,6 +161,7 @@
 	 * Returns the list of pending federation proposals
 	 *
 	 * @return list of federation proposals
+	 * @since 1.4.0
 	 */
 	List<FederationProposal> getPendingFederationProposals();
 
@@ -144,6 +173,7 @@
 	 * @param token
 	 *            the federation token
 	 * @return a map of <cloneurl, RepositoryModel>
+	 * @since 1.4.0
 	 */
 	Map<String, RepositoryModel> getRepositories(String gitblitUrl, String token);
 
@@ -154,6 +184,7 @@
 	 *            the url of this Gitblit instance
 	 * @param token
 	 * @return a potential proposal
+	 * @since 1.4.0
 	 */
 	FederationProposal createFederationProposal(String gitblitUrl, String token);
 
@@ -162,6 +193,7 @@
 	 *
 	 * @param token
 	 * @return the specified proposal or null
+	 * @since 1.4.0
 	 */
 	FederationProposal getPendingFederationProposal(String token);
 
@@ -171,6 +203,7 @@
 	 * @param a
 	 *            proposal
 	 * @return true if the proposal was deleted
+	 * @since 1.4.0
 	 */
 	boolean deletePendingFederationProposal(FederationProposal proposal);
 

--
Gitblit v1.9.1