@Override public AuthorizationViolationException onViolation( String msg ) { return wrapping.onViolation( msg ); }
@Override public boolean allowsPropertyReads( int propertyKey ) { return original.allowsPropertyReads( propertyKey ) && wrapping.allowsPropertyReads( propertyKey ); }
@Override public RawIterator<Object[],ProcedureException> procedureCallRead( int id, Object[] arguments ) throws ProcedureException { AccessMode accessMode = ktx.securityContext().mode(); if ( !accessMode.allowsReads() ) { throw accessMode.onViolation( format( "Read operations are not allowed for %s.", ktx.securityContext().description() ) ); } return callProcedure( id, arguments, new RestrictedAccessMode( ktx.securityContext().mode(), AccessMode.Static.READ ) ); }
@Override public RawIterator<Object[],ProcedureException> procedureCallSchema( int id, Object[] arguments ) throws ProcedureException { AccessMode accessMode = ktx.securityContext().mode(); if ( !accessMode.allowsSchemaWrites() ) { throw accessMode.onViolation( format( "Schema operations are not allowed for %s.", ktx.securityContext().description() ) ); } return callProcedure( id, arguments, new RestrictedAccessMode( ktx.securityContext().mode(), AccessMode.Static.FULL ) ); }
@Override public RawIterator<Object[],ProcedureException> procedureCallWrite( int id, Object[] arguments ) throws ProcedureException { AccessMode accessMode = ktx.securityContext().mode(); if ( !accessMode.allowsWrites() ) { throw accessMode.onViolation( format( "Write operations are not allowed for %s.", ktx.securityContext().description() ) ); } return callProcedure( id, arguments, new RestrictedAccessMode( ktx.securityContext().mode(), AccessMode.Static.TOKEN_WRITE ) ); }
@Override public boolean allowsWrites() { return original.allowsWrites() && wrapping.allowsWrites(); }
@Override public boolean allowsSchemaWrites() { return wrapping.allowsSchemaWrites(); }
@Override public boolean allowsReads() { return original.allowsReads() && wrapping.allowsReads(); }
@Override public boolean allowsTokenCreates() { return original.allowsTokenCreates() && wrapping.allowsTokenCreates(); }
@Override public RawIterator<Object[],ProcedureException> procedureCallRead( QualifiedName name, Object[] arguments ) throws ProcedureException { AccessMode accessMode = ktx.securityContext().mode(); if ( !accessMode.allowsReads() ) { throw accessMode.onViolation( format( "Read operations are not allowed for %s.", ktx.securityContext().description() ) ); } return callProcedure( name, arguments, new RestrictedAccessMode( ktx.securityContext().mode(), AccessMode.Static .READ ) ); }
@Override public RawIterator<Object[],ProcedureException> procedureCallSchema( QualifiedName name, Object[] arguments ) throws ProcedureException { AccessMode accessMode = ktx.securityContext().mode(); if ( !accessMode.allowsSchemaWrites() ) { throw accessMode.onViolation( format( "Schema operations are not allowed for %s.", ktx.securityContext().description() ) ); } return callProcedure( name, arguments, new RestrictedAccessMode( ktx.securityContext().mode(), AccessMode.Static.FULL ) ); }
@Override public RawIterator<Object[],ProcedureException> procedureCallWrite( QualifiedName name, Object[] arguments ) throws ProcedureException { AccessMode accessMode = ktx.securityContext().mode(); if ( !accessMode.allowsWrites() ) { throw accessMode.onViolation( format( "Write operations are not allowed for %s.", ktx.securityContext().description() ) ); } return callProcedure( name, arguments, new RestrictedAccessMode( ktx.securityContext().mode(), AccessMode.Static.TOKEN_WRITE ) ); }
@Override public boolean allowsWrites() { return wrapping.allowsWrites(); }
@Override public boolean allowsSchemaWrites() { return original.allowsSchemaWrites() && wrapping.allowsSchemaWrites(); }
@Override public boolean allowsReads() { return wrapping.allowsReads(); }
@Override public boolean allowsTokenCreates() { return wrapping.allowsTokenCreates(); }
@Override public AnyValue functionCall( int id, AnyValue[] arguments ) throws ProcedureException { if ( !ktx.securityContext().mode().allowsReads() ) { throw ktx.securityContext().mode().onViolation( format( "Read operations are not allowed for %s.", ktx.securityContext().description() ) ); } return callFunction( id, arguments, new RestrictedAccessMode( ktx.securityContext().mode(), AccessMode.Static.READ ) ); }
@Override public RawIterator<Object[],ProcedureException> procedureCallSchema( QualifiedName name, Object[] arguments ) throws ProcedureException { AccessMode accessMode = ktx.securityContext().mode(); if ( !accessMode.allowsSchemaWrites() ) { throw accessMode.onViolation( format( "Schema operations are not allowed for %s.", ktx.securityContext().description() ) ); } return callProcedure( name, arguments, new RestrictedAccessMode( ktx.securityContext().mode(), AccessMode.Static.FULL ) ); }