21
21
*/
22
22
package org .exist .xquery .functions .fn ;
23
23
24
- import java . util . Map ;
25
-
24
+ import io . lacuna . bifurcan . IMap ;
25
+ import io . lacuna . bifurcan . ISet ;
26
26
import org .apache .logging .log4j .LogManager ;
27
27
import org .apache .logging .log4j .Logger ;
28
28
import org .exist .dom .QName ;
@@ -69,7 +69,7 @@ public FunEnvironment(final XQueryContext context, final FunctionSignature signa
69
69
}
70
70
71
71
@ Override
72
- public Sequence eval (Sequence [] args , Sequence contextSequence ) throws XPathException {
72
+ public Sequence eval (final Sequence [] args , final Sequence contextSequence ) throws XPathException {
73
73
74
74
if (!context .getSubject ().hasDbaRole ()) {
75
75
final String txt = "Permission denied, calling user '" + context .getSubject ().getName () + "' must be a DBA to call this function." ;
@@ -81,9 +81,9 @@ public Sequence eval(Sequence[] args, Sequence contextSequence) throws XPathExce
81
81
82
82
final Sequence result = new ValueSequence ();
83
83
84
- final Map <String , String > env = context .getEnvironmentVariables ();
85
- for (final String key : env . keySet ()) {
86
- result .add (new StringValue (this , key ));
84
+ final IMap <String , String > environmentVariables = context .getEnvironmentVariables ();
85
+ for (final String environmentVariableName : environmentVariables . keys ()) {
86
+ result .add (new StringValue (this , environmentVariableName ));
87
87
}
88
88
89
89
return result ;
@@ -96,7 +96,7 @@ public Sequence eval(Sequence[] args, Sequence contextSequence) throws XPathExce
96
96
97
97
final String parameter = args [0 ].itemAt (0 ).getStringValue ();
98
98
99
- final String value = context .getEnvironmentVariables ().get (parameter );
99
+ final String value = context .getEnvironmentVariables ().get (parameter , null );
100
100
if (value == null ) {
101
101
return Sequence .EMPTY_SEQUENCE ;
102
102
}
0 commit comments