Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
* Holds ACL for {@link ProjectMatrixAuthorizationStrategy}.
*/
public class AuthorizationMatrixProperty extends AbstractFolderProperty<AbstractFolder<?>>
implements AuthorizationProperty {
implements AuthorizationProperty<AbstractFolderProperty<?>> {

private final transient SidACL acl = new AclImpl();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,8 @@
* Once created (and initialized), this object becomes immutable.
*/
// TODO attempt to make this OptionalJobProperty
public class AuthorizationMatrixProperty extends JobProperty<Job<?, ?>> implements AuthorizationProperty {
public class AuthorizationMatrixProperty extends JobProperty<Job<?, ?>>
implements AuthorizationProperty<JobProperty<?>> {

private final transient SidACL acl = new AclImpl();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,8 @@
* Role-based authorization via a matrix.
*/
// TODO: think about the concurrency commitment of this class
public class GlobalMatrixAuthorizationStrategy extends AuthorizationStrategy implements AuthorizationContainer {
public class GlobalMatrixAuthorizationStrategy extends AuthorizationStrategy
implements AuthorizationContainer<AuthorizationStrategy> {
private final transient SidACL acl = new AclImpl();

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ public void onDeleted(Item item) {
}
}

public static boolean hasAmbiguousEntries(final AuthorizationContainer container) {
public static boolean hasAmbiguousEntries(final AuthorizationContainer<?> container) {
if (container == null) {
return false;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
package org.jenkinsci.plugins.matrixauth;

import hudson.init.InitMilestone;
import hudson.model.Descriptor;
import hudson.model.Describable;
import hudson.security.AuthorizationStrategy;
import hudson.security.GlobalMatrixAuthorizationStrategy;
import hudson.security.Permission;
Expand All @@ -48,7 +48,7 @@
import org.kohsuke.accmod.restrictions.NoExternalUse;

@Restricted(NoExternalUse.class)
public interface AuthorizationContainer {
public interface AuthorizationContainer<T extends Describable<T>> extends Describable<T> {

Logger LOGGER = Logger.getLogger(AuthorizationContainer.class.getName());

Expand Down Expand Up @@ -171,9 +171,6 @@ default Map<Permission, Set<String>> getGrantedPermissions() {
*/
void recordGroup(String sid);

@SuppressWarnings("rawtypes")
Descriptor getDescriptor();

/**
* Works like {@link #add(Permission, PermissionEntry)} but takes both parameters
* from a single string of the form <code>PERMISSION_ID:sid</code> (legacy format, implicit 'EITHER' type)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ default boolean showPermission(Permission p) {
}

@Restricted(DoNotUse.class) // Jelly only
default boolean hasAmbiguousEntries(AuthorizationContainer container) {
default boolean hasAmbiguousEntries(AuthorizationContainer<?> container) {
if (container == null) {
return false;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,8 @@
import org.kohsuke.stapler.QueryParameter;
import org.kohsuke.stapler.StaplerRequest2;

public class AuthorizationMatrixNodeProperty extends NodeProperty<Node> implements AuthorizationProperty {
public class AuthorizationMatrixNodeProperty extends NodeProperty<Node>
implements AuthorizationProperty<NodeProperty<?>> {

private final transient SidACL acl = new AclImpl();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
import org.kohsuke.stapler.DataBoundConstructor;

@Restricted(NoExternalUse.class)
public interface AuthorizationProperty extends AuthorizationContainer {
public interface AuthorizationProperty<T extends Describable<T>> extends AuthorizationContainer<T> {

void setInheritanceStrategy(InheritanceStrategy inheritanceStrategy);

Expand Down