11package com .styra .opa .wasm ;
22
3- import com .dylibso .chicory .runtime .ByteBufferMemory ;
3+ import com .dylibso .chicory .runtime .ByteArrayMemory ;
44import com .dylibso .chicory .runtime .Memory ;
55import com .dylibso .chicory .wasm .types .MemoryLimits ;
66import com .fasterxml .jackson .core .JsonProcessingException ;
@@ -35,19 +35,19 @@ public class OpaPolicy {
3535 private OpaPolicy (OpaWasm wasm ) {
3636 this .wasm = wasm ;
3737
38- if (!(wasm .opaWasmAbiVersion ().getValue () == 1L
39- && wasm .opaWasmAbiMinorVersion ().getValue () == 3L )) {
38+ if (!(wasm .exports (). opaWasmAbiVersion ().getValue () == 1L
39+ && wasm .exports (). opaWasmAbiMinorVersion ().getValue () == 3L )) {
4040 throw new IllegalArgumentException (
4141 "Invalid version, supported 1.3, detected "
42- + wasm .opaWasmAbiVersion ()
42+ + wasm .exports (). opaWasmAbiVersion ()
4343 + "."
44- + wasm .opaWasmAbiMinorVersion ());
44+ + wasm .exports (). opaWasmAbiMinorVersion ());
4545 }
4646
47- this .baseHeapPtr = wasm .opaHeapPtrGet ();
47+ this .baseHeapPtr = wasm .exports (). opaHeapPtrGet ();
4848 this .dataHeapPtr = this .baseHeapPtr ;
4949 this .dataAddr = -1 ;
50- wasm .opaHeapPtrSet (this .dataHeapPtr );
50+ wasm .exports (). opaHeapPtrSet (this .dataHeapPtr );
5151 }
5252
5353 public OpaPolicy entrypoint (int entrypoint ) {
@@ -61,26 +61,26 @@ public OpaPolicy entrypoint(String entrypoint) {
6161 }
6262
6363 private int loadJson (String data ) {
64- var dataStrAddr = wasm .opaMalloc (data .length ());
64+ var dataStrAddr = wasm .exports (). opaMalloc (data .length ());
6565 wasm .memory ().writeCString (dataStrAddr , data );
66- var dstAddr = wasm .opaJsonParse (dataStrAddr , data .length ());
67- wasm .opaFree (dataStrAddr );
66+ var dstAddr = wasm .exports (). opaJsonParse (dataStrAddr , data .length ());
67+ wasm .exports (). opaFree (dataStrAddr );
6868 return dstAddr ;
6969 }
7070
7171 private String dumpJson (int addr ) {
72- int resultStrAddr = wasm .opaJsonDump (addr );
72+ int resultStrAddr = wasm .exports (). opaJsonDump (addr );
7373 var result = wasm .memory ().readCString (resultStrAddr );
74- wasm .opaFree (resultStrAddr );
74+ wasm .exports (). opaFree (resultStrAddr );
7575 return result ;
7676 }
7777
7878 // data MUST be a serializable object or ArrayBuffer, which assumed to be a well-formed
7979 // stringified JSON
8080 public OpaPolicy data (String data ) {
81- wasm .opaHeapPtrSet (this .baseHeapPtr );
81+ wasm .exports (). opaHeapPtrSet (this .baseHeapPtr );
8282 this .dataAddr = loadJson (data );
83- this .dataHeapPtr = wasm .opaHeapPtrGet ();
83+ this .dataHeapPtr = wasm .exports (). opaHeapPtrGet ();
8484 return this ;
8585 }
8686
@@ -110,7 +110,7 @@ public OpaPolicy input(String input) {
110110
111111 public Map <String , Integer > entrypoints () {
112112 try {
113- var json = dumpJson (wasm .entrypoints ());
113+ var json = dumpJson (wasm .exports (). entrypoints ());
114114 var entrypoints =
115115 wasm .jsonMapper ()
116116 .readValue (json , new TypeReference <HashMap <String , Integer >>() {});
@@ -130,24 +130,24 @@ public int findEntrypoint(String name) {
130130 }
131131
132132 public String evaluate () {
133- var ctxAddr = wasm .opaEvalCtxNew ();
133+ var ctxAddr = wasm .exports (). opaEvalCtxNew ();
134134 if (this .dataAddr == -1 ) {
135135 data ("" );
136136 }
137- wasm .opaEvalCtxSetData (ctxAddr , this .dataAddr );
137+ wasm .exports (). opaEvalCtxSetData (ctxAddr , this .dataAddr );
138138 if (this .inputAddr == -1 ) {
139139 input ("" );
140140 }
141- wasm .opaEvalCtxSetInput (ctxAddr , this .inputAddr );
142- wasm .opaEvalCtxSetEntrypoint (ctxAddr , this .entrypoint );
141+ wasm .exports (). opaEvalCtxSetInput (ctxAddr , this .inputAddr );
142+ wasm .exports (). opaEvalCtxSetEntrypoint (ctxAddr , this .entrypoint );
143143
144- var evalResult = OpaErrorCode .fromValue (wasm .eval (ctxAddr ));
144+ var evalResult = OpaErrorCode .fromValue (wasm .exports (). eval (ctxAddr ));
145145 if (evalResult != OpaErrorCode .OPA_ERR_OK ) {
146146 throw new RuntimeException (
147147 "Error evaluating the Opa Policy, returned code is: " + evalResult );
148148 }
149149
150- this .resultAddr = wasm .opaEvalCtxGetResult (ctxAddr );
150+ this .resultAddr = wasm .exports (). opaEvalCtxGetResult (ctxAddr );
151151 var result = dumpJson (resultAddr );
152152 return result ;
153153 }
@@ -259,8 +259,7 @@ public OpaPolicy build() {
259259 .withJsonMapper (jsonMapper )
260260 .withYamlMapper (yamlMapper )
261261 .withMemory (
262- new ByteBufferMemory (
263- new MemoryLimits (initialMemory , maxMemory )))
262+ new ByteArrayMemory (new MemoryLimits (initialMemory , maxMemory )))
264263 .withDefaultBuiltins (defaultBuiltins )
265264 .addBuiltins (builtins .toArray (OpaBuiltin .Builtin []::new ))
266265 .build ();
0 commit comments