public ResourceAccessGateHandler()

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);
                }
            }
        }

    }