in src/main/java/org/apache/sling/resourceaccesssecurity/impl/ResourceAccessGateHandler.java [45:80]
public ResourceAccessGateHandler( @NotNull final ServiceReference<ResourceAccessGate> resourceAccessGateRef, @NotNull final ResourceAccessGate resourceAccessGate ) {
this.reference = resourceAccessGateRef;
this.resourceAccessGate = resourceAccessGate;
// extract the service property "path"
final String path = (String) resourceAccessGateRef.getProperty(ResourceAccessGate.PATH);
if ( path != null ) {
pathPattern = Pattern.compile(path);
} else {
pathPattern = Pattern.compile(".*");
}
// extract the service property "operations"
final String[] ops = PropertiesUtil.toStringArray( resourceAccessGateRef.getProperty(ResourceAccessGate.OPERATIONS) );
if ( ops != null && ops.length > 0) {
for (final String opAsString : ops) {
final ResourceAccessGate.Operation operation = ResourceAccessGate.Operation.fromString(opAsString);
if ( operation != null ) {
operations.add(operation);
}
}
} else {
Collections.addAll(operations, ResourceAccessGate.Operation.values());
}
// extract the service property "finaloperations"
final String[] finalOps = PropertiesUtil.toStringArray( resourceAccessGateRef.getProperty(ResourceAccessGate.FINALOPERATIONS) );
if ( finalOps != null ) {
for (final String opAsString : finalOps) {
final ResourceAccessGate.Operation operation = ResourceAccessGate.Operation.fromString(opAsString);
if ( operation != null ) {
finalOperations.add(operation);
}
}
}
}