blob: 2890dfe5497119f256ac1feb172e100e519e1266 [file] [log] [blame]
package org.apache.airavata.datalake.orchestrator;
import io.grpc.ManagedChannel;
import io.grpc.ManagedChannelBuilder;
import org.apache.airavata.datalake.data.orchestrator.api.stub.parsing.*;
import org.apache.airavata.datalake.orchestrator.registry.persistance.entity.parser.DataParsingJobInputEntity;
import org.dozer.DozerBeanMapper;
import javax.script.*;
import java.io.File;
import java.util.UUID;
import java.util.function.Predicate;
public class OrchClient {
public static void main(String are[]) throws ScriptException {
/*DozerBeanMapper mapper = new DozerBeanMapper();
DataParsingJobInputEntity dpe = new DataParsingJobInputEntity();
dpe.setId("id");
dpe.setDataParsingJobId("dpj");
dpe.setDataParserInputInterfaceId("dpie");
dpe.setSelectionQuery("query");
DataParsingJobInput.Builder builder = DataParsingJobInput.newBuilder();
mapper.map(dpe, builder);
System.out.println(builder.build());*/
ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 6565).usePlaintext().build();
DataParserServiceGrpc.DataParserServiceBlockingStub parserClient = DataParserServiceGrpc.newBlockingStub(channel);
ParsingJobListResponse parsingJobListResponse = parserClient.listParsingJobs(ParsingJobListRequest.newBuilder().build());
System.out.println(parsingJobListResponse);
/*String parserId = UUID.randomUUID().toString();
ParserRegisterResponse parserRegisterResponse = parserClient.registerParser(ParserRegisterRequest.newBuilder()
.setParser(DataParser.newBuilder()
.setParserId(parserId)
.setParserName("DM3 Parser")
.setDockerImage("dimuthuupe/dm3-parser:1.0")
.setExecCommand("python ./parser.py")
.setInputPath("/opt/inputs")
.setOutputPath("/opt/outputs")
.addInputInterfaces(DataParserInputInterface.newBuilder()
.setParserId(parserId)
.setParserInputInterfaceId(UUID.randomUUID().toString())
.setInputType("FILE")
.setInputName("input.dm3").build())
.addOutputInterfaces(DataParserOutputInterface.newBuilder()
.setParserId(parserId)
.setParserOutputInterfaceId(UUID.randomUUID().toString())
.setOutputType("FILE")
.setOutputName("derrived-metadata.json")
.build())
.addOutputInterfaces(DataParserOutputInterface.newBuilder()
.setParserId(parserId)
.setParserOutputInterfaceId(UUID.randomUUID().toString())
.setOutputType("FILE")
.setOutputName("img.jpeg").build())
.build()).build());
System.out.println(parserRegisterResponse.getParserId());
ParserListResponse parserListResponse = parserClient.listParsers(ParserListRequest.newBuilder().build());
System.out.println(parserListResponse);
String parsingJobId = UUID.randomUUID().toString();
ParsingJobRegisterRequest.Builder parsingJob = ParsingJobRegisterRequest.newBuilder().setParsingJob(DataParsingJob.newBuilder()
.setDataParsingJobId(parsingJobId)
.setParserId("2f48d838-d0e4-4413-8d8e-4579d4a7369d")
.addDataParsingJobInputs(DataParsingJobInput.newBuilder()
.setId(UUID.randomUUID().toString())
.setDataParserInputInterfaceId("dbb221fc-96d1-4aaf-ae85-73d6215a5106")
.setDataParsingJobId(parsingJobId)
.setSelectionQuery("EXTENSION == dm3").build())
.addDataParsingJobOutputs(DataParsingJobOutput.newBuilder()
.setId(UUID.randomUUID().toString())
.setDataParsingJobId(parsingJobId)
.setOutputType("JSON")
.setDataParserOutputInterfaceId("d1ded2cc-ffe6-4e47-a5a2-bdb782b62359").build()).build());
ParsingJobRegisterResponse parsingJobRegisterResponse = parserClient.registerParsingJob(parsingJob.build()); */
/*File f = new File("/tmp/a.dm3");
ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
Bindings bindings = engine.getBindings(ScriptContext.ENGINE_SCOPE);
bindings.put("polyglot.js.allowHostAccess", true);
bindings.put("polyglot.js.allowHostClassLookup", (Predicate<String>) s -> true);
bindings.put("inputFile", f);
System.out.println(engine.eval("inputFile.getName().endsWith(\".dm3\");")); // it will not work without allowHostAccess and allowHostClassLookup*/
}
}