public abstract class ProjectAccessHandler<T> extends Handler<T>
Modifier and Type | Field and Description |
---|---|
protected org.eclipse.jgit.lib.ObjectId |
base |
protected GroupBackend |
groupBackend |
protected String |
message |
protected Project.NameKey |
projectName |
Modifier | Constructor and Description |
---|---|
protected |
ProjectAccessHandler(ProjectControl.Factory projectControlFactory,
GroupBackend groupBackend,
MetaDataUpdate.User metaDataUpdateFactory,
AllProjectsName allProjects,
com.google.inject.Provider<SetParent> setParent,
Project.NameKey projectName,
org.eclipse.jgit.lib.ObjectId base,
List<AccessSection> sectionList,
Project.NameKey parentProjectName,
String message,
ContributorAgreementsChecker contributorAgreements,
boolean checkIfOwner) |
Modifier and Type | Method and Description |
---|---|
T |
call()
Compute the operation result.
|
protected abstract T |
updateProjectConfig(ProjectControl projectControl,
ProjectConfig config,
MetaDataUpdate md,
boolean parentProjectUpdate) |
protected final GroupBackend groupBackend
protected final Project.NameKey projectName
protected final org.eclipse.jgit.lib.ObjectId base
protected String message
protected ProjectAccessHandler(ProjectControl.Factory projectControlFactory, GroupBackend groupBackend, MetaDataUpdate.User metaDataUpdateFactory, AllProjectsName allProjects, com.google.inject.Provider<SetParent> setParent, Project.NameKey projectName, org.eclipse.jgit.lib.ObjectId base, List<AccessSection> sectionList, Project.NameKey parentProjectName, String message, ContributorAgreementsChecker contributorAgreements, boolean checkIfOwner)
public final T call() throws NoSuchProjectException, IOException, org.eclipse.jgit.errors.ConfigInvalidException, InvalidNameException, NoSuchGroupException, com.google.gwtorm.server.OrmException, UpdateParentFailedException, PermissionDeniedException, PermissionBackendException
Handler
call
in interface Callable<T>
call
in class Handler<T>
VoidResult.INSTANCE
if there is no
meaningful return value for the operation.NoSuchProjectException
IOException
org.eclipse.jgit.errors.ConfigInvalidException
InvalidNameException
NoSuchGroupException
com.google.gwtorm.server.OrmException
UpdateParentFailedException
PermissionDeniedException
PermissionBackendException
protected abstract T updateProjectConfig(ProjectControl projectControl, ProjectConfig config, MetaDataUpdate md, boolean parentProjectUpdate) throws IOException, NoSuchProjectException, org.eclipse.jgit.errors.ConfigInvalidException, com.google.gwtorm.server.OrmException, PermissionDeniedException, PermissionBackendException
IOException
NoSuchProjectException
org.eclipse.jgit.errors.ConfigInvalidException
com.google.gwtorm.server.OrmException
PermissionDeniedException
PermissionBackendException