X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.impl%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fimpl%2Fquery%2FCodeGen.java;fp=bundles%2Forg.simantics.db.impl%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fimpl%2Fquery%2FCodeGen.java;h=3bceb1272bad3b7f0f9405799e734ce415a5be5c;hb=1cb58fb59cd64891c682a7e7b04e00af9e3be575;hp=0000000000000000000000000000000000000000;hpb=0f268b9157bfa6399692f8aa42f532a0c0d68c1c;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/CodeGen.java b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/CodeGen.java new file mode 100644 index 000000000..3bceb1272 --- /dev/null +++ b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/CodeGen.java @@ -0,0 +1,189 @@ +package org.simantics.db.impl.query; + +import java.io.File; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLDecoder; + +import org.simantics.utils.FileUtils; + +public class CodeGen { + + int indent = 4; + + + + String[] signatureR1RelationInfo = { "int r", "r", "keyR", "long", "InternalProcedure", "entry.id" }; + String[] signatureR1Bytes = { "int r", "r", "keyR", "long", "InternalProcedure", "entry.id" }; + String[] signatureR1IntSet = { "int r", "r", "keyR", "long", "InternalProcedure", "entry.id" }; + String[] signatureR1IP = { "int r", "r", "keyR", "long", "IntProcedure", "entry.id" }; + String[] signatureR2IP = { "int r1, int r2", "r1,r2", "keyR2", "long", "IntProcedure", "entry.id" }; + String[] signatureR2TIP = { "int r1, int r2", "r1,r2", "keyR2", "long", "TripleIntProcedure", "entry.id" }; + String[] signatureID1 = { "String id", "id", "keyID", "String", "InternalProcedure", "entry.id" }; + String[] signatureID2 = { "String id", "id", "keyID", "String", "InternalProcedure>", "entry.id" }; + String[] signatureRead = { "Read r", "r", "id", "long", "AsyncProcedure", "entry.request" }; + String[] signatureAsyncRead = { "AsyncRead r", "r", "id", "long", "AsyncProcedure", "entry.request" }; + String[] signatureMultiRead = { "MultiRead r", "r", "id", "long", "AsyncMultiProcedure", "entry.request" }; + String[] signatureAsyncMultiRead = { "AsyncMultiRead r", "r", "id", "long", "AsyncMultiProcedure", "entry.request" }; + String[] signatureExternalRead = { "ExternalRead r", "r", "id", "long", "AsyncProcedure", "entry.request" }; + + private void line(StringBuilder content, String line) { + for(int i=0;i